55 Commits

Author SHA1 Message Date
Carlos Castillo
ac7713b7b0 MDL-74721 reportbuilder: Disabling live editing in custom reports 2022-07-10 16:52:25 -05:00
Helen Foster
e73756abdd MDL-75008 lang: Import fixed English strings (en_fix) 2022-06-30 20:31:27 +02:00
Carlos Castillo
04f0152a91 MDL-74720 reportbuilder: Limiting the number of custom reports 2022-06-06 08:57:13 -05:00
Helen Foster
3719878cbf MDL-74330 lang: Import fixed English strings (en_fix) 2022-04-01 13:17:08 +01:00
Mikel Martín
d2acd08934 MDL-74030 navigation: Add reports link
Add report builder 'Reports' link to the user menu

AMOS BEGIN
 CPY [reports,moodle],[reports,core_reportbuilder]
AMOS END
2022-03-10 15:46:44 +01:00
Helen Foster
7ff6b2daef MDL-73812 lang: Import fixed English strings (en_fix) 2022-02-18 15:50:26 +00:00
Ilya Tregubov
2708e7ef60 Merge branch 'MDL-72756' of git://github.com/paulholden/moodle 2022-01-31 15:12:21 +02:00
Jun Pataleta
fd452f2fa2 Merge branch 'MDL-73470' of https://github.com/roland04/moodle 2022-01-28 11:02:01 +08:00
David Matamoros
ed55c7ecd6 MDL-72756 reportbuilder: Implement privacy provider
Co-authored-by: Paul Holden <paulh@moodle.com>
2022-01-27 12:04:03 +00:00
Mikel Martín
795087462f MDL-73470 core: Move toggle template to core 2022-01-25 18:04:58 +01:00
Andrew Nicols
6bec1964cc Merge branch 'MDL-73598' of https://github.com/paulholden/moodle 2022-01-24 11:29:48 +08:00
Paul Holden
335012580b MDL-73598 reportbuilder: feature switch for custom reports. 2022-01-19 23:20:52 +00:00
Paul Holden
a844d885b2 MDL-73180 reportbuilder: improve relative date filter definitions.
Changes since the original implementation in e55abd71 mean that
relative date filtering (by last/next day/week, etc) is now based
on the actual current time, rather than the start or end of the
current time unit.
2022-01-19 08:22:03 +00:00
David Matamoros
39b90208e1 MDL-72757 reportbuilder: Events for CRUD operations on report models 2022-01-05 09:55:36 +01:00
Paul Holden
335f608abb MDL-72598 reportbuilder: tasks and API for report schedule delivery. 2021-12-21 09:44:43 +00:00
Paul Holden
a05683d027 MDL-72598 reportbuilder: interface elements for creating schedules.
Add new tab to the report editor, with system report, external API
and Javascript modules for managing report schedules.
2021-12-21 08:57:17 +00:00
Paul Holden
d064a93d29 MDL-72598 reportbuilder: elements to allow audiences to be renamed.
This allows the user to give the audience more context, particularly
when they are used for selection on the forthcoming schedule form
editing.
2021-12-17 14:33:27 +00:00
Paul Holden
eb460d93aa MDL-72598 reportbuilder: schema and model updates for schedules. 2021-12-17 14:33:27 +00:00
Helen Foster
558b4c826d MDL-73201 lang: Import fixed English strings (en_fix) 2021-12-09 19:53:10 +01:00
Mikel Martín
6a6ebbac63 MDL-72770 reportbuilder: Display editor in full screen layout
- use 'popup' layout in editor page and create a custom navbar
- remove 'Settings' toggle button and show settings right sidebar with fixed position
- add 'Edit details' button on navbar that opens a modal to modify report basic settings
2021-12-01 17:12:45 +01:00
Eloy Lafuente (stronk7)
cee0949109 Merge branch 'MDL-73074' of https://github.com/paulholden/moodle 2021-11-29 23:14:48 +01:00
Paul Holden
faeecd79ea MDL-73074 reportbuilder: consistent lang strings in course filter. 2021-11-22 09:20:04 +00:00
Paul Holden
881dccaa7d MDL-73069 reportbuilder: filter/condition for selecting user.
This allows a report creator to create personalised reports
according to the user who is viewing the report.
2021-11-22 09:17:52 +00:00
Jun Pataleta
357ddcaff6 Merge branch 'MDL-72826' of git://github.com/paulholden/moodle 2021-11-19 11:07:03 +08:00
Paul Holden
80dd297a62 MDL-73090 reportbuilder: confirmation before resetting conditions.
Also prefetch all lang strings used by conditions editor.
2021-11-17 16:27:50 +00:00
Paul Holden
be11216d30 MDL-72826 reportbuilder: per-report option to show only unique rows.
This option allows report creators to avoid duplicate data being
displayed in their report. It is applied only when no columns in the
report currently have aggregation methods applied.
2021-11-16 13:59:16 +00:00
Mikel Martín
aaa7a5a445 MDL-72565 reportbuilder: Add 'Card view' settings to custom reports
- Create a new 'settings' column in reportbuilder_report table and provide an API to manage it
- Add new card view settings to custom reports
2021-11-11 13:55:29 +01:00
Shamim Rezaie
d038fd822d Merge branch 'MDL-72952' of https://github.com/roland04/moodle 2021-11-11 10:38:26 +11:00
Mikel Martín
5a2624c472 MDL-72952 reportbuilder: UX behaviour improvements in audiences
- Show a toast notification when saving an audience
- Add form change checker when adding a new audience to prevent user from navigating away if it is not saved
- Remove expand/collapse animation in audience sidebar to be consistent with editor

Co-authored-By: Paul Holden <paulh@moodle.com>
2021-11-10 17:22:00 +01:00
Eloy Lafuente (stronk7)
37fa747b30 Merge branch 'MDL-72968' of https://github.com/paulholden/moodle 2021-11-04 17:33:38 +01:00
Paul Holden
d7e10c3dd1 MDL-72968 reportbuilder: breadcrumb navigation for edit/view report. 2021-11-01 16:00:16 +00:00
Jun Pataleta
6f7defeeb6 Merge branch 'MDL-72588' of git://github.com/dravek/moodle 2021-11-01 11:22:48 +08:00
David Matamoros
8a1e7d913f MDL-72588 reportbuilder: add report access tab.
This tab includes a system report that provides a listing of all
users who can access the report, taking into account all audiences
that have been created for it. Update page of users available
reports to obey audience configuration.

Fix filters JS form to ensure it is only loaded once.

Co-authored-by: Mikel Martín <mikel@moodle.com>
2021-10-29 12:50:20 +02:00
Mikel Martín
144084a2ac MDL-72588 reportbuilder: interface for managing report audiences.
Add new tab to editor, allowing user to select from available audience
types in order to grant access to their reports.

Co-authored-by: David Matamoros <davidmc@moodle.com>
2021-10-29 12:50:15 +02:00
David Matamoros
70085ef7ac MDL-72588 reportbuilder: implement audience helpers and classes.
Create the base audience class, to be extended by all audience types
across the site. Implement types allowing audiences to be created per
user, cohort or system role assignment.

The helper class is used for interrogating report audience instances
and retrieving access lists of those users able to view specific
reports.

Co-authored-by: Paul Holden <paulh@moodle.com>
2021-10-29 12:28:24 +02:00
Mikel Martín
9113f9d2f9 MDL-72588 reportbuilder: convert editing interface into a tab.
In preparation for further tabs in this interface, convert the report
editor to use the Dynamic tabs API.

At the same time, update the editor JS and it's modules to add listeners
on `document` instead of the report element itself, which will move in
and out of the current DOM in the future as tabs are switched.

Co-authored-by: Paul Holden <paulh@moodle.com>
2021-10-27 10:05:53 +02:00
David Matamoros
b2dd94ab8b MDL-72588 reportbuilder: define schema/models for report audiences. 2021-10-27 10:05:44 +02:00
Helen Foster
07b7482063 MDL-72879 lang: Import fixed English strings (en_fix) 2021-10-26 21:05:10 +02:00
David Matamoros
0457fb6675 MDL-70795 reportbuilder: allow user to view custom reports.
Reports can be viewed via two methods. Non-editing users can
access them via their report listing page, and report editors
can switch between editing and preview mode while working on
their reports.

Clean up remaining string definitions.

Co-authored-by: Mikel Martín <mikel@moodle.com>
2021-10-19 13:57:30 +01:00
Paul Holden
f47e89a9bd MDL-70795 reportbuilder: editor elements to set column aggregation.
Aggregation of report columns allows the report editor to perform
common types of data aggregation (concatenation, sum, count, etc)
on given columns.
2021-10-19 13:56:05 +01:00
David Matamoros
db7102eba5 MDL-70795 reportbuilder: report configuration for default sorting.
Co-authored-By: Mikel Martín <mikel@moodle.com>
2021-10-19 13:56:05 +01:00
David Matamoros
09b69d04e3 MDL-70795 reportbuilder: custom report filters editor.
Implement module for filters editing, allowing the report
editor to define which filters are available when users
are viewing the report.

These filters allow those users viewing the report to further
limit the data being displayed (after conditions have been
applied), by selecting their own values for each filter.

Co-authored-by: Paul Holden <paulh@moodle.com>
2021-10-19 13:56:04 +01:00
Paul Holden
ab596ec11a MDL-70795 reportbuilder: custom report condition editor.
Report conditions allow report creators to limit which data
is displayed when the report is viewed. Users viewing the
report cannot override these condition values.
2021-10-19 13:56:04 +01:00
Paul Holden
8ca9e04f9a MDL-70795 reportbuilder: beginnings of the report editor.
Implement UI elements for editing columns of a report, taking their
definitions from the selected datasource.

Co-authored-By: David Matamoros <davidmc@moodle.com>
Co-authored-By: Mikel Martín <mikel@moodle.com>
2021-10-19 13:56:02 +01:00
David Matamoros
22d896e063 MDL-70795 reportbuilder: add interface for creating reports.
Implement elements for creating/editing reports, along with
new system report for listing and accompanying JS modules for
user interaction.

Create "Users" datasource as proof-of-concept.

Co-authored-By: Paul Holden <paulh@moodle.com>
2021-10-19 13:55:30 +01:00
Paul Holden
95967d62d5 MDL-70795 reportbuilder: define updated schema for custom reports.
Define new filter/column models, and updated database schema to
match.
2021-10-19 13:48:27 +01:00
Paul Holden
15d5f7a919 MDL-72774 reportbuilder: consistent layout of date/duration filters. 2021-10-13 13:33:49 +01:00
Jun Pataleta
34b2639c70 Merge branch 'MDL-72682' of git://github.com/paulholden/moodle 2021-10-07 14:33:38 +08:00
Paul Holden
3aecdf42ec MDL-72682 reportbuilder: indicate count of applied report filters. 2021-10-06 01:29:58 +01:00
Paul Holden
e55abd713e MDL-72662 reportbuilder: add relative date options to date filter.
Allow user to filter dates relative to the current date, e.g dates
within the previous year, the current week or next month.
2021-10-03 11:53:11 +01:00