Commit Graph

292 Commits

Author SHA1 Message Date
Paul Holden 7c7024af31 MDL-76971 reportbuilder: switch remaining classes to external_api.
Continues on the work started in a3cc26f8, to remove the last
remnants of usage of previous external API classes.
2023-04-25 08:50:47 +01:00
Paul Holden 5d0f34bde2 MDL-77555 reportbuilder: improve SQL generation within filters.
Use native ANSI SQL syntax for numeric comparisons where possible,
define filter API for the case where filters must re-use the given
field SQL while ensuring uniqueness of any field parameters.

Currently only necessary in the category filter type.
2023-04-05 09:37:37 +01:00
Paul Holden 4146329063 MDL-77555 reportbuilder: method to ensure unique parameters in SQL. 2023-03-27 10:29:25 +01:00
Sara Arjona 8975155060 Merge branch 'MDL-77705' of https://github.com/paulholden/moodle 2023-03-23 18:30:21 +01:00
Paul Holden d834accd90 MDL-77705 reportbuilder: avoid re-using field alias between entities.
Ensure that when the user entity is added multiple times to a report,
when there are custom profile fields, each of those gets a unique table
alias per-entity.
2023-03-21 16:43:00 +00:00
Paul Holden a2a2ea51aa MDL-77692 reportbuilder: format custom field condition/filter names. 2023-03-20 16:09:25 +00:00
Andrew Nicols 9ec46c232d MDL-77186 core: Move all uses of cronlib to new class 2023-03-13 21:21:13 +08:00
Paul Holden 198db552b0 MDL-77056 reportbuilder: relative date filter for before given period. 2023-03-07 22:46:50 +00:00
Andrew Nicols b517dc7c88 Merge branch 'MDL-77150' of https://github.com/roland04/moodle 2023-03-02 10:46:49 +08:00
Andrew Nicols 5c1707e598 Merge branch 'MDL-77321' of https://github.com/paulholden/moodle 2023-03-02 09:24:44 +08:00
Mikel Martín 292925d4c0 MDL-77150 reportbuilder: Fix report attributes classes are ignored
Fix report attributes with key 'class' being ingored when adding them to report classes.
2023-02-28 16:19:26 +01:00
Sumaiya Javed 567504d8fd MDL-77412 reportbuilder: Make groupconcat aggregation method sortable. 2023-02-28 10:39:00 +13:00
Paul Holden 54b135e034 MDL-77321 reportbuilder: cache list of loaded reports per user.
Since 0188af39 we've cached loaded reports, however there was an
edge case in those report sources that relied on the current user
as part of their own initialization (e.g. checking capabilities).

Co-authored-by: Marina Glancy <marina@moodle.com>
2023-02-27 21:13:11 +00:00
Ilya Tregubov 07053e8140 Merge branch 'MDL-76873' of https://github.com/paulholden/moodle 2023-02-23 09:57:45 +08:00
Andrew Nicols 5a896a722c Merge branch 'MDL-76815' of https://github.com/paulholden/moodle 2023-02-23 09:14:03 +08:00
Paul Holden 65c4ae7bda MDL-76873 reportbuilder: correct checks for profile field visibility. 2023-02-20 09:22:00 +00:00
Paul Holden b3a50f4a82 MDL-76815 reportbuilder: avoid duplication getting audience component.
The component the audience belongs to is used by the cards exporter
for rendering the editing interface. Avoid duplication in determining
this value by defining appropriate method in the base class.
2023-02-16 12:15:52 +00:00
Jun Pataleta 98055a3468 Merge branch 'MDL-77223' of https://github.com/roland04/moodle 2023-02-15 11:07:16 +08:00
Paul Holden 650b6caf83 MDL-77201 reportbuilder: pass current aggregation to column callbacks. 2023-02-14 11:03:03 +00:00
Mikel Martín 96215abdc8 MDL-77223 reportbuilder: Fix first report column as integer 2023-02-13 16:15:38 +01:00
Jun Pataleta f9ced0f475 Merge branch 'MDL-76901' of https://github.com/paulholden/moodle 2023-02-07 22:56:20 +08:00
Paul Holden bfb5197738 MDL-76901 reportbuilder: cache custom report element persistents.
During request lifecycle ensure that column, filter and condition
persistents are only loaded a single time to prevent additional
database reads.

Provide invalidation method, used by the report helpers, to ensure
that the persistents are re-loaded appropriately.

Co-authored-by: Marina Glancy <marina@moodle.com>
2023-02-07 13:10:14 +00:00
Andrew Nicols 92d04b9e7b Merge branch 'MDL-77091' of https://github.com/paulholden/moodle 2023-02-06 12:58:56 +08:00
Andrew Nicols ba4adc5321 Merge branch 'MDL-76591' of https://github.com/paulholden/moodle 2023-02-02 11:00:29 +08:00
Paul Holden 147c31800b MDL-75345 reportbuilder: improve course/user custom report tests.
Ensure column and filters provided by each source have sufficient
coverage. Re-factor individual entity/helper class tests to test
their own specific implementation only.

Remove now-defunct test fixtures.
2023-02-01 15:41:32 +00:00
Paul Holden 5b644bfd30 MDL-77091 reportbuilder: set base time in schedule test generator.
The base time allows for the setting of the "current time" for the
purposes of the schedule test against recurrence configuration.

We should ensure the generator method allows this property so that
it can be used when calculating the initial "next send time" of the
schedule upon creation (and avoiding excessive recursion when the
actual current time is used for the calculation).
2023-02-01 14:39:21 +00:00
Paul Holden 648b80c201 MDL-76591 comment: convert existing overview page to system report.
Re-use the entity definitions previously created in fdf2f8f3 for
custom reporting, to create a new system report class.
2023-01-30 15:53:59 +00:00
Andrew Nicols a3cc26f8bb MDL-76583 core: Update uses of external_* classes 2023-01-19 07:34:09 +08:00
Paul Holden 6183ad3c22 MDL-76812 reportbuilder: ensure audience key is incremented correctly. 2023-01-06 09:57:14 +00:00
Paul Holden 5162a7882d MDL-76181 reportbuilder: sort columns during stress testing. 2022-12-29 13:59:31 +00:00
Sara Arjona 2842575f95 Merge branch 'MDL-76479' of https://github.com/paulholden/moodle 2022-12-28 18:37:39 +01:00
Sara Arjona 69ffc40621 Merge branch 'MDL-76304-master-add_pagesize_to_webservice' of https://github.com/alexmorrisnz/moodle 2022-12-28 10:23:42 +01:00
Alex Morris ab03eb210d MDL-76304 reportbuilder: Add pagesize parameter to get webservice 2022-12-19 16:59:27 +13:00
Paul Holden 2d5b6d0e01 MDL-74145 reportbuilder: system report API for adding row checkboxes. 2022-12-16 12:09:28 +00:00
Mikel Martín 91cc98ed3d MDL-75943 reportbuilder: Add custom attributes to reports 2022-12-14 13:50:40 +01:00
Paul Holden aa1970ffa4 MDL-76479 reportbuilder: date filtering by hour. 2022-12-05 06:50:07 +00:00
Marina Glancy a800e7e62f MDL-74853 various: add second parameter to htmlentities functions
Default value of the $flag argument changed in PHP 8.1 from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE
To ensure consistent behavior across different PHP version the second parameter is now required for the functions:
htmlspecialchars(), htmlentities(), htmlspecialchars_decode(), html_entity_decode() and get_html_translation_table()
2022-11-28 16:12:20 +01:00
Marina Glancy 064eccd4fc MDL-75525 reportbuilder: specify initial sorting for datasources 2022-11-07 15:43:45 +01:00
Sara Arjona 7d53813db7 Merge branch 'MDL-75349' of https://github.com/paulholden/moodle 2022-11-04 12:06:36 +03:00
Jun Pataleta 9bdfcc46d3 Merge branch 'MDL-75358-master' of https://github.com/marinaglancy/moodle 2022-10-31 10:10:16 +08:00
Sara Arjona 9000fd3037 Merge branch 'MDL-75449' of https://github.com/paulholden/moodle 2022-10-27 17:24:11 +02:00
Sara Arjona f0e2d12533 Merge branch 'MDL-75165' of https://github.com/paulholden/moodle 2022-10-27 16:50:09 +02:00
Sara Arjona 1ff87d2459 Merge branch 'MDL-75791-master' of https://github.com/marinaglancy/moodle 2022-10-21 09:07:58 +03:00
Sara Arjona e31c9d3f84 Merge branch 'MDL-75931' of https://github.com/paulholden/moodle 2022-10-21 09:07:58 +03:00
Ilya Tregubov 1a89fd6287 Merge branch 'MDL-72058' of https://github.com/paulholden/moodle 2022-10-20 15:43:02 +03:00
Paul Holden b10b89ec74 MDL-75349 group: implement groups datasource for custom reporting.
Create new entities for exposing report data on course groups and
groupings, joining to existing course/user entities to provide data
for the reportbuilder editor.
2022-10-20 12:30:06 +01:00
Paul Holden f1c3aca7ea MDL-75165 reportbuilder: entity method to override multiple aliases. 2022-10-19 14:46:21 +01:00
Víctor Déniz 587deee8f5 Merge branch 'MDL-72722' of https://github.com/paulholden/moodle 2022-10-18 00:26:24 +01:00
Paul Holden fd01461b7a MDL-75449 reportbuilder: add no tags/exclude tags filter operators.
Allow user to filter for elements that either contain no tags, plus
those that don't contain selected tags.
2022-10-14 16:04:37 +01:00
Víctor Déniz b17679e806 Merge branch 'MDL-75733' of https://github.com/paulholden/moodle 2022-10-13 22:52:28 +01:00