Commit Graph

488 Commits

Author SHA1 Message Date
Jun Pataleta e8dd16f7fd MDL-86488 output: Make the icon in action menu triggers decorative
* Set the action label properly.
* Set the kebab icon as a decorative icon.
* Move the title attribute to the menu button itself instead of the
kebab icon.
2025-09-17 15:16:34 +08:00
Paul Holden 7d11f4350d MDL-86343 reportbuilder: fix course groupmode column type value.
Per a3c386af, this column does not produce numeric output. Also cleanup
redundancy in the default branch of corresponding switch statement.
2025-08-18 17:05:34 +01:00
Andrew Nicols bf18273a08 MDL-85897 core: Move all deprecations to emit_deprecation 2025-07-30 13:53:27 +08:00
Paul Holden 373bc98921 MDL-85223 reportbuilder: initialize user entity filters just once. 2025-05-29 15:32:09 +01:00
Paul Holden 5a28a54627 MDL-82132 user: re-factor code for generating dummy user fullname. 2025-04-15 16:05:28 +01:00
Mikel Martín ad14d58dc5 MDL-85077 theme_boost: Fix responsive tables after BS5 upgrade
- Replace class 'no-overflow' with 'table-responsive' for responsive tables.
- Fix dropdown positioning inside responsive tables.
- Fix visually-hidden elements inside tables generating incorrect page scrolling.
2025-04-10 10:28:23 +02:00
Paul Holden 337e69545d MDL-84985 reportbuilder: export report action attributes correctly.
When included as part of external response data, extra validation
was performed on the returned structure.
2025-03-24 08:31:52 +00:00
Carlos Castillo b90456e62e MDL-84955 reportbuilder: Fix return type of deprecated functions 2025-03-20 17:38:59 +01:00
Sara Arjona 74fb6ec9d6 Merge branch 'MDL-83552' of https://github.com/dravek/moodle 2025-03-12 17:41:33 +01:00
Andrew Nicols b85b7a61ad Merge branch 'MDL-84789' of https://github.com/paulholden/moodle 2025-03-11 22:32:15 +08:00
Paul Holden b445a4ee1e MDL-84789 reportbuilder: consistent user name sort by aliased field.
More work built upon e76d99f2, we need to perform the alias processing
earlier to ensure that it works for system reports where user sorting
isn't the default.
2025-03-10 13:31:33 +00:00
Paul Holden 89738625b4 MDL-84537 reportbuilder: define optional 'separator' aggregation value.
For the group concatenation types, allow callers to define the text to
display between aggregated items. Use this to change the separator for
formatted tag names to be a space character.
2025-03-10 09:55:32 +00:00
David Carrillo c03f47abfd MDL-83552 reportbuilder: Add custom fields to Report builder 2025-03-10 08:21:10 +01:00
Paul Holden bfabec2b65 MDL-84537 reportbuilder: pass options to aggregation type constructor.
Amendments to the column class allow reports/entities to specify these
options for column instances, which are then passed to the aggregation
type when it is applied.
2025-03-09 20:18:54 +00:00
Andrew Nicols e7dd68201b Merge branch 'MDL-80173' of https://github.com/paulholden/moodle 2025-03-07 09:03:55 +08:00
Andrew Nicols 0f4cf18554 Merge branch 'MDL-82936' of https://github.com/paulholden/moodle 2025-03-07 09:01:41 +08:00
Paul Holden e44c23c982 MDL-82936 reportbuilder: implement report actions for existing reports.
Applied to the admin user listing page, and the report/schedule pages
to align the "New X" buttons.
2025-03-06 14:22:53 +00:00
Paul Holden c439e2d3c1 MDL-82936 reportbuilder: new APIs for enhancing report rendering.
We're introducing two new sets of APIs for both custom and system
reports:

* Report actions allow for the definition of an action to belong
  to the report and be rendered alongside the filters button;
* Report info container allows for the definition of content to
  render between the aforementioned action buttons and the table
  content itself
2025-03-06 14:22:53 +00:00
Sara Arjona 25a0af5c20 Merge branch 'MDL-84720' of https://github.com/paulholden/moodle 2025-03-06 15:02:01 +01:00
Andrew Nicols 035a92fa2c Merge branch 'MDL-84135' of https://github.com/paulholden/moodle 2025-03-06 09:09:06 +08:00
Mikel Martín 11657fe082 MDL-84692 theme_boost: Update .btn-icon class
- Update and improve styles for .btn-icon helper class for consistency.
- Added new $btn-icon-border-radius SCSS variable to cuztomize the btn-icon
border radius.
- Fix and simplify current .btn-icon usages
2025-03-04 10:23:00 +01:00
Paul Holden 19a9c8b70f MDL-84720 reportbuilder: note change of column sort field behaviour. 2025-03-03 16:10:25 +00:00
Huong Nguyen dec75083e0 Merge branch 'MDL-84527' of https://github.com/paulholden/moodle 2025-02-27 09:32:44 +07:00
Huong Nguyen ffc3c4116b Merge branch 'MDL-84213' of https://github.com/paulholden/moodle 2025-02-24 10:09:15 +07:00
Paul Holden b45d17ca30 MDL-80173 reportbuilder: remove various Oracle support/workarounds.
"True happiness is to rejoice in the
        <removal of Oracle compatibility>."

Reference: ba1f9cb2, 892b68d5, c63af985, 208adcf3, 9a244403, 3894fa94,
62d22c66, 628541b5, 429508a7.
2025-02-18 13:43:34 +00:00
Paul Holden 72421b1ed9 MDL-80173 reportbuilder: improve performance of date aggregation.
Due to Oracle re-factoring, we can improve the performance of date
aggregation by only executing the column supplied query once. We
can also improve the generated GROUP BY query to re-use the column
alias on supported DBs, rather than executing the aggregation again.
2025-02-18 13:43:34 +00:00
Paul Holden 5e5ee3397d MDL-84527 tag: add formatted tag name column to report entity. 2025-02-18 13:41:38 +00:00
Mikel Martín 5416483611 MDL-75669 theme_boost: Refactor BS5 data attributes
Data attributes for all Bootstrap5 JavaScript plugins are now namespaced
to help distinguish Bootstrap functionality from third parties and your own code.
For example, data-bs-toggle instead of data-toggle.
This commit refactor all old Bootstrap data-attributes to the new syntax.

Co-authored-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-02-14 09:10:33 +01:00
Jun Pataleta 6b9e75f685 Merge branch 'MDL-84016' of https://github.com/paulholden/moodle 2025-02-06 09:36:07 +08:00
Paul Holden dd3af70440 MDL-74488 reportbuilder: method for retrieving report row counts. 2025-02-05 17:38:21 +00:00
Paul Holden acc654e8ce MDL-84213 reportbuilder: add course "do not force" field options.
Where course entity select elements theme, language and calendar are
defined we should prepend with "Do not force" in order to match the
interface when editing the same fields.

The select filter has been updated to ensure it supports empty values
when switched to simplified version (a0ef4bb8) as well as improving
validation to ensure only present options can be used for filtering.
2025-01-31 09:45:16 +00:00
Sara Arjona 39a5efeace Merge branch 'MDL-84226' of https://github.com/paulholden/moodle 2025-01-29 16:22:11 +01:00
Paul Holden 0c090789f9 MDL-84016 reportbuilder: column methods for setting help icons.
This change exposes the underlying table library API for setting
help icon for table headers, via column instance getter/setter.

Support added for rendering said icons in system reports.
2025-01-29 11:50:10 +00:00
Paul Holden a743f4cf83 MDL-84226 user: add report entity filter for user picture presence. 2025-01-16 08:11:49 +00:00
Paul Holden d24b3b0049 MDL-84129 reportbuilder: improve handling of alternate name fields.
It's possible the first returned field contains a null value, while
subsequent fields may be non-null - in this case we should still
populate the fullname in column callback.
2025-01-13 16:03:23 +00:00
Paul Holden 3947e72ea6 MDL-84135 reportbuilder: support deprecated entity table replacement.
This expands upon original work in d73a827a and allows for an entity
to define replacements for deprecated table names. The previous format
defining only the deprecated table names themselves is also supported.
2025-01-09 10:49:43 +00:00
Paul Holden 952747912c MDL-83738 reportbuilder: allow aggregations to define calculated type.
This allows each class to define the type of data that they return,
regardless of the type of column to which they are applied. This is the
pre-cursor to work on graphing and filtering of aggregated data.

E.g. a text field that is aggregated with "count" is returning numeric
data rather than text.
2024-12-17 08:28:31 +00:00
Paul Holden 812975e218 MDL-83361 reportbuilder: date aggregation for timestamp columns.
This change introduces updates to the existing aggregation API, to
allow types to define whether to group by fields of a column to which
the aggregation is applied.

The new date aggregation utilises this, to allow for creation of time
series reports, e.g. report data grouped by dates.

Co-authored-by: Daniel Neis Araujo <danielneis@gmail.com>
2024-12-13 12:36:22 +00:00
Mikel Martín f9abc562f5 MDL-81825 theme_boost: Refactor .sr-only usages for BS5
- Add .visually-hidden to the Boostratp 5 bridge SCSS file
- Replace .sr-only occurrences with .visually-hidden
- Replace .dropzone-sr-only-focusable  with .dropzone-visually-hidden-focusable
  for consistency
2024-12-10 14:02:32 +01:00
Huong Nguyen 376a4b5f76 Merge branch 'MDL-83345' of https://github.com/paulholden/moodle 2024-12-05 12:05:12 +07:00
Paul Holden f7e0e8cd96 MDL-83345 reportbuilder: migrate filter storage from user preferences.
Use a dedicated persistent table/model for storage of a users' report
filter configuration.
2024-12-03 16:42:35 +00:00
Paul Holden e76d99f29d MDL-83718 reportbuilder: use aliased user fullname sort fields.
This is extending work started in 8f32e623 that removed duplicate
fields when sorting user fullname columns (to ensure compatibility
across supported DBs).

We must now refer to these sorted fields by their alias in order to
ensure they continue working when processed from the report table.

Co-authored-by: David Carrillo <davidmc@moodle.com>
2024-12-03 13:17:41 +00:00
Huong Nguyen c0f349c034 Merge branch 'MDL-83718' of https://github.com/paulholden/moodle 2024-12-03 10:05:33 +07:00
Huong Nguyen bc89603638 Merge branch 'MDL-82913' of https://github.com/paulholden/moodle 2024-12-03 09:45:32 +07:00
Jun Pataleta 5d5cedc8ff Merge branch 'MDL-82475' of https://github.com/paulholden/moodle 2024-11-28 13:23:55 +08:00
Paul Holden a0ef4bb8fe MDL-82913 reportbuilder: simplify select filter for limited options.
Where the select filter contains upto two items (making it a binary
choice), then we can simplify the filter form elements to always
assume: "Equal to [ Option 1 | Option 2 ]".
2024-11-22 15:38:11 +00:00
Huong Nguyen 443871d320 Merge branch 'MDL-80430' of https://github.com/paulholden/moodle 2024-11-22 10:50:47 +07:00
Paul Holden 02186de904 MDL-83718 reportbuilder: use window count method to get table data.
Use the new "counted recordset" DML API from 42664ee49a to obtain
the raw table data for reports. For those databases with defined
support for count window functions, this should give a performance
benefit by combining the count and main query into one request.
2024-11-19 18:07:04 +00:00
Paul Holden 1317aee9e1 MDL-77065 reportbuilder: audience filter for the report access list. 2024-11-15 15:00:11 +00:00
Paul Holden f3cd1df6e1 MDL-80430 reportbuilder: final removal of default table aliases.
They've been auto-generated for some time now, and we can make the
newer `get_default_tables` method abstract to ensure it's always
implemented.
2024-11-15 10:21:45 +00:00