1
0
mirror of https://github.com/moodle/moodle.git synced 2025-03-23 17:10:20 +01:00

101543 Commits

Author SHA1 Message Date
David Matamoros
9f814ffec0 MDL-70794 reportbuilder: privacy provider implementation.
Note that although system report persistents store user modified
and created fields, these are not the values of the user who did
either. Merely the user who first viewed the report.
2021-07-28 16:40:50 +01:00
Sara Arjona
7a63ff9f0b MDL-70794 reportbuilder: introduce the concept of report entities.
Entities are re-usable collections of report columns and filters. When
creating system reports, we can re-use those elements from entities
without having to know specific details about their implementation.

They can be joined to reports, or other entities, using standard SQL
query syntax.

Define base classes, and create two example entities: course and user.

Co-Authored-By: David Matamoros <davidmc@moodle.com>
2021-07-28 16:40:50 +01:00
Paul Holden
514caaa4ea MDL-70794 reportbuilder: output components and classes.
This change contains most of the output components required for
reports such as exporters, templates, AMD modules.

Also included are classes within the component table namespace which
are required for extending the dynamic table API.
2021-07-28 16:40:50 +01:00
Paul Holden
93025be2e7 MDL-70794 reportbuilder: management and further utility classes.
We define the base classes and APIs for reports, that can contain
columns and filters instances themselves.
2021-07-28 16:40:50 +01:00
David Matamoros
2a20238924 MDL-70794 reportbuilder: implement report filters and filter types.
Implement base filter classes as well as commonly used filter types
(e.g. text, date, select, etc).

Filters are used in reports to allow users to narrow down the data
that is being displayed.

Co-Authored-By: Paul Holden <paulh@moodle.com>
2021-07-28 16:40:50 +01:00
Paul Holden
907ff8555f MDL-70794 reportbuilder: implement report column and action classes.
The column class encapsulates all data related to a report column. It
allows developers to define the type of data contained within it, in
addition to how that data is retrieved and formatted for users.

Report actions are used to define action elements that are added to
each report row. They define an icon and link, and can be used to
direct users to related pages according to the current row data.
2021-07-28 16:40:50 +01:00
Paul Holden
542f2927f7 MDL-70794 reportbuilder: register new core sub-system.
In addition to housekeeping for the new sub-system, define our
table schema to be used in later persistents.
2021-07-28 16:40:50 +01:00
Ilya Tregubov
dc437b5171 weekly release 4.0dev 2021-07-28 16:48:19 +02:00
Ilya Tregubov
2245735ab1 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2021-07-28 16:48:17 +02:00
Jun Pataleta
9ec6aead50 Merge branch 'MDL-72203-master-2' of git://github.com/mickhawkins/moodle 2021-07-28 11:26:42 +08:00
AMOS bot
aaf64d36f3 Automatically generated installer lang files 2021-07-28 00:07:48 +00:00
Michael Hawkins
1d7c563f79 MDL-72203 curl: Improve redirect unit testing and update upgrade.txt
lib/upgrade.txt was updated to reflect the fact that all cURL redirects
will be emulated.
2021-07-27 22:39:44 +08:00
David Mudrák
6b558e9be8 MDL-72203 curl: Remove duplicate unit tests for emulated redirects
Before, we had each redirect test duplicated: one for the native
redirects via native cURL, second for our emulated implementation. Now
all redirects are always emulated so there is no need to have them
tested twice.
2021-07-27 21:30:16 +08:00
David Mudrák
92b066bdaf MDL-72203 curl: Check each URL in redirect chain to see if it is blocked
The security problem here was that only the first and the last URL in
the redirect chain was checked by the security helper. This patch forces
the curl wrapper to always emulate cURL redirects and check every
redirect URL in the chain before actually visiting it.
2021-07-27 21:30:16 +08:00
David Mudrák
6e5454780d MDL-72203 curl: Warn if someone actually started to use $maxredirects
The new parameter of curl_security_helper::url_is_blocked() introduced
in MDL-71916 became part of the API. Even if we reverted it quickly,
someone can use a released Moodle version that has that parameter in
place. For that reason and also to avoid potential troubles in the
future (e.g. when yet another argument would be added to this method),
we need to make it clear that the second parameter of this method should
never be used again.

Poor $maxredirects, you did not live long with us. Oh well.
2021-07-27 21:30:16 +08:00
David Mudrák
c619cd1425 MDL-72203 curl: Revert original fix of redirects to blocked URLs
This reverts the original fix introduced in MDL-71916. It introduced an
extra native cURL call inside curl_security_helper to check if the given
URL triggers a redirect to a blocked URL or not.

Shortly after the release, a couple of regressions were reported as a
result of the integrated solution. It was agreed to revert the fix and
progress with implementing an alternative approach.
2021-07-27 21:30:16 +08:00
Ilya Tregubov
3d2e6b7932 Merge branch 'MDL-71946-master' of git://github.com/dcai/moodle 2021-07-27 13:41:05 +02:00
Ilya Tregubov
ec50dc2fb7 Merge branch 'MDL-72179-master' of git://github.com/andrewnicols/moodle 2021-07-27 12:36:38 +02:00
Ilya Tregubov
3a55ff2c55 Merge branch 'MDL-71672-master-2' of git://github.com/rezaies/moodle 2021-07-27 11:59:15 +02:00
Andrew Nicols
776f4bd80c MDL-72179 behat: Make use of page resolvers 2021-07-26 15:14:28 +08:00
Andrew Nicols
f14dbe0087 MDL-72179 behat: Add page resolvers for activity roles/perms 2021-07-23 20:44:26 +08:00
Andrew Nicols
950c7adb1c MDL-72179 behat: Add page resolver for activity names 2021-07-23 20:43:48 +08:00
Andrew Nicols
9f428f68c7 MDL-72179 behat: Add activity editing page resolution 2021-07-23 20:43:48 +08:00
Andrew Nicols
f1b41a1a7a MDL-72179 behat: Fix page resolvers to remove ambiguity
The simple pattern matches were conflicting in some situations. To make
this backwards compatable we need to convert it to a Regex pattern match
instead, and provide the quoted and unquoted variants.
2021-07-23 20:43:48 +08:00
Andrew Nicols
ba8e0a4871 MDL-72179 behat: Correct course category page resolving
There were two issues here:
* I am on the [categoryname] category page page (duplicated page)
* the wrong URL was being used

Since an incorrect URL was used I felt it safe to rename the step from
'category page page' to 'category page'.
2021-07-23 20:43:48 +08:00
Andrew Nicols
c204fe3eeb MDL-72179 behat: Lowercase all page instance resolvers 2021-07-23 20:43:48 +08:00
Andrew Nicols
730d6cb94e MDL-72179 behat: Improve core page resolvers
This commit makes the following improvements to core page resolverss:
* allows for mixed case naming (course, Course, etc.)
* allows fields other than the idnumber to be specified:
** course: idnumber, shortname, fullname
** course category: idnumber, name

Whilst some of these fields are not unique, they will typically be
unique in most test scenarios. Where they are not then the idnumber
should be used in preference.
2021-07-23 20:28:10 +08:00
Ilya Tregubov
8c0853d026 weekly release 4.0dev 2021-07-23 11:30:58 +02:00
Ilya Tregubov
152aa5d612 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2021-07-23 11:30:56 +02:00
Jun Pataleta
68fa468885 MDL-71817 calendar: Use root node to find the target elements
Instead of passing querying for the root element again by its ID
which changed in this issue, use the already existing root element
at the beginning of this Mustache JS code. It also makes maintenance
simpler in the future.
2021-07-22 17:39:01 +08:00
Jun Pataleta
68bd3a1158 Merge branch 'MDL-71817-master' of git://github.com/lameze/moodle 2021-07-22 11:27:08 +08:00
Andrew Nicols
4c9f590f18 Merge branch 'MDL-70427' of git://github.com/paulholden/moodle 2021-07-22 11:22:13 +08:00
Jun Pataleta
05db683745 Merge branch 'MDL-72154-master' of git://github.com/mickhawkins/moodle 2021-07-22 11:11:20 +08:00
Jun Pataleta
8a2c797cc0 MDL-71817 calendar: Set the calendar view mode properly for month view
* Store the view mode of the calendar in the calendar_information
   object.
 * Let the month exporter handle the production of context data by
   moving 'viewingmonth', 'showviewselector', and 'viewinginblock'
   inside it.
 * Set the proper calendar view mode in the core_calendar/month_detailed
   template.
 * Pass the calendar view mode to the
   core_calendar_get_calendar_monthly_view WS function.
2021-07-22 09:04:44 +08:00
Simey Lameze
d748c71693 MDL-71817 calendar: change the calendar heading to h4 in the block
This commit adds the logic that change the size of the calendar
header depending if the user is viewing in the block or in the
full view.
2021-07-22 09:04:44 +08:00
Simey Lameze
b0133904bf MDL-71817 calendar: behat changes for calendar block
This commit does few things:

1) Remove unnecessary "I hover over today in the calendar"
steps as it's not necessary to hover onto the day to see the events
any more.

2) Replace "I follow This month" steps to "I follow Full calendar"

3) Update i_create_a_calendar_event_with_form_data() to use the new
fullcalendar lang string.
2021-07-22 09:00:30 +08:00
Jun Pataleta
73a14b1075 MDL-71817 calendar: Fix duplicate IDs for multiple calendar blocks
Done by:
* Designating instance IDs for each month_exporter instances and
assigning these instance IDs in templates.
* Adding the instance ID as an optional parameter for the
core_calendar_renderer::course_filter_selector() to generate
course filters with unique element IDs.
2021-07-22 08:46:01 +08:00
Simey Lameze
f0897dce80 MDL-71817 calendar: clicking on day link should redirect to day view
This patch prevents the full day view to be loaded
in the calendar block as this won't be supported.
When clicking in the day link it will redirect the
user to day view in the full calendar.
2021-07-22 08:46:01 +08:00
Simey Lameze
2e11059734 MDL-71817 calendar: make calendar block look like full calendar
This commit does few things:

1) Removes .path-calendar specificity styles from full view can
work on the Dashboard.

2) The new event button colour has been changed to btn-primary.

3) CSS fix to make the calendar controls inline on small block.
2021-07-22 08:46:01 +08:00
Simey Lameze
47ca6c017a MDL-71817 calendar: remove year from prev/next links 2021-07-22 08:46:01 +08:00
Simey Lameze
98612827b0 MDL-71817 calendar: only update url on full view
This patch prevents the URL from being updated on the calendar
block. It only updates the url if viewing the full calendar.
2021-07-22 08:46:01 +08:00
Simey Lameze
d2f612ab24 MDL-71817 block_calendar_month: load month view in the block 2021-07-22 08:46:01 +08:00
AMOS bot
a86e2213bf Automatically generated installer lang files 2021-07-22 00:07:56 +00:00
Víctor Déniz
a9dfde7543 Merge branch 'MDL-72001-master' of git://github.com/roland04/moodle 2021-07-21 23:04:51 +01:00
Víctor Déniz
73a868c38d Merge branch 'MDL-72108-master' of git://github.com/andrewnicols/moodle 2021-07-21 19:25:54 +01:00
Michael Hawkins
dffe445923 MDL-72154 calendar: Add manage subscription to export page breadcrumbs 2021-07-21 16:41:13 +08:00
Michael Hawkins
45fc997e84 MDL-72154 calendar: Remove unnecessary strings/link from import page 2021-07-21 16:41:13 +08:00
Ilya Tregubov
501bc9e117 Merge branch 'MDL-71604-master' of git://github.com/rezaies/moodle 2021-07-20 14:09:11 +02:00
Ilya Tregubov
494a9bb41f Merge branch 'MDL-72125-master' of git://github.com/andrewnicols/moodle 2021-07-19 13:03:46 +02:00
Andrew Nicols
f29f6a28d1 MDL-72125 mod_assign: Use assign submission data generators 2021-07-19 18:41:32 +08:00