Commit Graph

318 Commits

Author SHA1 Message Date
Sara Arjona 999fbc3bdd Merge branch 'MDL-75855' of https://github.com/paulholden/moodle 2023-08-24 16:49:34 +02:00
Ilya Tregubov 60693cd9b6 Merge branch 'MDL-77067' of https://github.com/paulholden/moodle 2023-08-24 09:59:58 +08:00
Paul Holden b9a5a3626e MDL-77067 reportbuilder: indicate when audiences are used in schedules.
Indicate in each audience card whether it's used as part of a report
schedule, and inform user again upon deletion of said audience.
2023-08-23 16:09:17 +01:00
Paul Holden 8fe1f83fe1 MDL-75855 reportbuilder: don't allow condition/filter duplication.
Custom reports shouldn't allow the same condition and/or filter
instance to exist more that once per report.
2023-08-22 18:47:33 +01:00
Paul Holden 3ca41c77e4 MDL-76902 reportbuilder: entity method for defining table join alias. 2023-08-22 15:16:31 +01:00
Sara Arjona df5d62eac2 Merge branch 'MDL-78844' of https://github.com/paulholden/moodle 2023-08-17 09:10:51 +02:00
Sara Arjona 2bb12d9e2c Merge branch 'MDL-78758' of https://github.com/paulholden/moodle 2023-08-17 09:09:16 +02:00
Paul Holden c9f689ae6c MDL-78844 reportbuilder: external validate system report access method. 2023-08-09 13:49:27 +01:00
Sara Arjona 565d6a45a3 Merge branch 'MDL-78879' of https://github.com/paulholden/moodle 2023-08-08 13:04:30 +02:00
Paul Holden 9c108c8d88 MDL-78758 reportbuilder: stricter checking of source default sorting. 2023-08-07 10:21:51 +01:00
Ilya Tregubov c5bbb46886 Merge branch 'MDL-78807' of https://github.com/paulholden/moodle 2023-08-03 09:33:04 +08:00
Paul Holden e4e7e59d90 MDL-78807 reportbuilder: ensure report base conditions are non-empty. 2023-08-02 13:50:50 +01:00
Paul Holden 501a170cb6 MDL-78879 reportbuilder: allow for negation of category filter.
Add "Equal to" and "Not equal to" operators to the filter class.

AMOS BEGIN
 CPY [subcats,qtype_randomsamatch],[includesubcategories,moodle]
AMOS END
2023-08-02 12:26:54 +01:00
Andrew Nicols 30f7e50770 Merge branch 'MDL-78575-master' of https://github.com/snake/moodle 2023-08-01 09:38:15 +08:00
Paul Holden 36ab5e5d1a MDL-78532 reportbuilder: external method for retrieving system report. 2023-07-18 12:05:07 +01:00
Ilya Tregubov 254fd16dcd Merge branch 'MDL-75359' of https://github.com/paulholden/moodle 2023-07-11 09:29:20 +08:00
Jake Dallimore 348e347f79 MDL-78575 core_reportbuilder: allow reports to override the zerostate
Allow report implementations to control what is shown when no results
are found for the current report+filters. Allow setting to null to
allow calling code to omit this notice entirely.
2023-07-10 15:55:56 +08:00
Andrew Nicols 3d5afd6061 Merge branch 'MDL-75810' of https://github.com/paulholden/moodle 2023-07-09 22:23:29 +08:00
Paul Holden 2ffda63da8 MDL-75359 reportbuilder: fixes for custom/user profile field elements.
Ensures cross-DB compatibility for all types of both custom and user
profile fields, specifically when they're filtered and/or aggregated.

Implement stress testing of both via appropriate report sources.
2023-07-07 14:45:24 +01:00
Paul Holden d3f189d6db MDL-76769 reportbuilder: re-use custom field data table alias/joins.
Ensure that when a column/filter on the same custom field is used,
they each share a single join (see also 8f721652).
2023-06-29 08:11:45 +01:00
Paul Holden e8ae9680bc MDL-75810 reportbuilder: entity method for returning tag SQL joins. 2023-06-16 18:21:24 +01:00
Paul Holden 8ed7c78ecf MDL-78364 reportbuilder: earlier calculation of schedule recipients. 2023-06-05 16:22:28 +01:00
Paul Holden 8f7bff9789 MDL-76900 reportbuilder: allow for deprecation of entity elements.
Don't allow deprecated columns/filters to be added to new custom
reports. Where they already exist, emit deprecation debugging.
2023-05-17 08:02:06 +01:00
Paul Holden 5404200d9d MDL-76900 enrol: new enrolment method and role report entities.
The new entities encapsulate related data for easier re-use across
reports, and are also intended to replace similar columns/filters
from the current enrolment entity.
2023-05-15 14:12:31 +01:00
Sara Arjona 7fc14069ea Merge branch 'MDL-77614' of https://github.com/paulholden/moodle 2023-05-10 12:54:34 +02:00
Paul Holden 6312467346 MDL-77614 reportbuilder: throw exception if entity name already exists. 2023-04-25 12:55:09 +01:00
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