Paul Holden
bf0849d9a4
MDL-80943 reportbuilder: select-type customfields should be text.
...
The column type determines the available aggregation options present
for the column. Custom fields of type "select" should be considered as
text fields for this purpose, because their stored value represents
the index to their available options, rather than having any distinct
meaning of it's own for display.
2024-03-07 09:47:53 +00:00
Sara Arjona
6c1b457252
Merge branch 'MDL-80912-403' of https://github.com/paulholden/moodle into MOODLE_403_STABLE
2024-02-20 15:39:24 +01:00
Paul Holden
30fa519fa0
MDL-80912 reportbuilder: output table caption when rendering reports.
...
Move the `get_name` method to the base report class, so that it can be
implemented by all report types. Provide a default implementation for
system reports based on the name of the class.
Use the name of the report as the caption. Target via Behat selectors.
2024-02-19 11:57:53 +00:00
Paul Holden
7f1caa7c57
MDL-80936 reportbuilder: fix when default customfield values are shown.
...
We should ensure we only show a value for the custom field (default or
otherwise) when it's actually joined to an entity it represents.
2024-02-14 12:22:47 +00:00
Paul Holden
ad4046a5a2
Merge branch 'MDL-80735-403' of https://github.com/marinaglancy/moodle into MOODLE_403_STABLE
2024-02-06 15:26:47 +00:00
Marina Glancy
df7b18b9bc
MDL-80735 reportbuilder: do not render filters form during download
...
this removes unnecessary calculations and also prevents the session mutation
2024-02-06 14:52:38 +00:00
David Mudrák
6142dd41f2
MDL-80725 lang: Use the fixed strings in tests, too
2024-01-31 22:11:01 +01:00
Jun Pataleta
b0c3178932
Merge branch 'MDL-80192-403' of https://github.com/paulholden/moodle into MOODLE_403_STABLE
2024-01-12 17:28:27 +08:00
Paul Holden
d369e3628e
MDL-80192 reportbuilder: ensure filter form group elements have labels.
...
This ensures compliance with the following WCAG criterion:
"H71: Providing a description for groups of form controls using fieldset
and legend elements".
2024-01-12 08:39:40 +00:00
Marina Glancy
5a94a957bc
MDL-80564 reportbuilder: Consistent permission check for user full name
2024-01-11 14:45:28 +00:00
Paul Holden
a432e1767f
MDL-80412 reportbuilder: Behat scenario to view/sort additional names.
...
Related to fixes from 8f32e623 .
2023-12-15 10:55:25 +00:00
Paul Holden
7a0a94b6b2
MDL-80412 reportbuilder: remove duplicate columns from order clause.
...
This works around a problem in SQL Server, which caused it to throw a
DML exception if the same column is duplicated in `ORDER BY` clause.
Backported from MDL-79270.
2023-12-15 10:54:10 +00:00
Paul Holden
46192ca77e
MDL-80254 reportbuilder: better handling of deleted users in schedules.
...
We should verify that schedule and audience users are active accounts,
and that we don't try to send report schedules either from/to them if
they aren't.
2023-12-04 09:48:42 +00:00
Paul Holden
e2049d770c
MDL-79705 reportbuilder: remove checkbox field callback handling.
...
We no longer need special handling of this field type, because it
now returns language strings rather than HTML markup for a checkbox
element on display.
2023-10-17 16:51:29 +01:00
Andrew Nicols
af7719682d
MDL-79064 core: Update all get_strings as uses
2023-08-29 10:57:54 +08:00
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
Jun Pataleta
f8aa9a6504
Merge branch 'MDL-78117' of https://github.com/paulholden/moodle
2023-08-02 16:24:50 +08:00
Paul Holden
d8df4ad675
MDL-78117 reportbuilder: use context entity in report sources.
...
Deprecate existing columns, to be replaced by corresponding elements
from the new entity.
2023-08-02 08:05:50 +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
ecf47ff23b
MDL-78350 reportbuilder: parse javascript before rendering template.
2023-06-21 17:33:40 +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
f500b2d878
MDL-76900 course: add enrolment/role entities to participants source.
...
Deprecate columns/filters from current enrolment entity, to be
replaced by corresponding elements from each of the new entities.
2023-05-17 08:02:44 +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
Shamim Rezaie
b54fbcf532
Merge branch 'MDL-77555' of https://github.com/paulholden/moodle
2023-04-05 11:25:16 +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
Sara Arjona
1a01afbcb3
Merge branch 'MDL-77659' of https://github.com/AnupamaSarjoshi/moodle
2023-03-27 16:50:25 +02:00
Paul Holden
4146329063
MDL-77555 reportbuilder: method to ensure unique parameters in SQL.
2023-03-27 10:29:25 +01:00