Commit graph

3003 commits

Author SHA1 Message Date
Shamim Rezaie
9c11ceac1f MDL-69028 repository: Put a rate limit on draft file uploads 2021-05-04 17:23:11 +02:00
Jun Pataleta
fd8544b37c Merge branch 'MDL-71401-master-3' of git://github.com/mickhawkins/moodle 2021-05-04 12:26:34 +08:00
Michael Hawkins
8e843696a2 MDL-71401 core_completion: Fix completion status caching
When an automatic completion condition may have had its state change,
we now unset the cached value for the user's completion in the relevant
activity, so up-to-date values are re-fetched and available to students.
The previous behaviour was that custom conditions would remain cached
until the activity reached overall completion.
2021-05-04 12:18:36 +08:00
Sara Arjona
b04d1c3041 Merge branch 'MDL-71163-master' of git://github.com/rezaies/moodle 2021-05-03 11:59:58 +02:00
Jake Dallimore
e5e5a06190 Merge branch 'MDL-52724-master' of git://github.com/merrill-oakland/moodle 2021-05-03 13:25:05 +08:00
Víctor Déniz
bd8600e923 Merge branch 'MDL-70753-master' of https://github.com/sharidas/moodle 2021-05-02 19:11:10 +02:00
Shamim Rezaie
7dbd7ee195 MDL-71163 mod_assign: remove duplicate available from and due date info 2021-04-30 17:13:56 +10:00
Sujith Haridasan
686bd2681e MDL-70753 report: Provide a separate page for course report
Provide page for the reports in the course administration.
The page has a drop down to navigate to different reports.
The navigation is remembered just like the grade reports in
the course.

Signed-off-by: Sujith Haridasan <sujith@moodle.com>
2021-04-30 08:37:38 +05:30
Andrew Nicols
72498d5f99 Merge branch 'MDL-56609' of https://github.com/stronk7/moodle 2021-04-29 09:34:18 +08:00
Adrian Greeve
d4673e3047 Merge branch 'MDL-71051-master-2' of git://github.com/marinaglancy/moodle 2021-04-29 09:27:07 +08:00
Ruslan Kabalin
3bf770c801 MDL-71051 core_user: fix issues and address review issues 2021-04-28 11:47:26 +02:00
Marina Glancy
ef3d6a3d70 MDL-71051 core_user: use user profile generator in all tests 2021-04-28 11:47:21 +02:00
Andrew Nicols
c53d6ffdbe Merge branch 'MDL-70909-master' of git://github.com/ferranrecio/moodle 2021-04-28 10:20:03 +08:00
Andrew Nicols
aa6c02a74c Merge branch 'MDL-71389-master' of git://github.com/marinaglancy/moodle 2021-04-28 09:14:48 +08:00
Eloy Lafuente (stronk7)
6f7abc859b MDL-56609 phpunit: Fix bogus expectation on DST changes day
Current test works ok every day of the year but the day of
DST begin changes (last Sunday of March currently).

That day, 01:00 Europe/London simply doesn't exist, because
the time is moved forward by 60 minutes.

Hence the expectation for the next cron execution is not 1 "normal"
day (24h) but 1 less hour.

Note this only happens for the current test on DST begins, the
opposite change (DST ends), happening the last Sunday of October
is not affected, because, at all effects, 01:00 is a perfectly normal
and existing hour.
2021-04-27 18:30:52 +02:00
Ferran Recio
201a37e6aa MDL-70909 behat: context freeze and not freeze steps 2021-04-22 15:50:55 +02:00
Jun Pataleta
e853e6b7db Merge branch 'MDL-71156-master' of git://github.com/lameze/moodle 2021-04-22 11:51:59 +08:00
Simey Lameze
5b0282847e MDL-71156 core: machinery to recover orphaned calendar events
The machinery to fix orphaned calendar events that were broken by MDL-67494.

The solution consists of:

1) Upgrade step that checks if this site has executed the problematic upgrade steps and
   if positive, it will schedule a new run for calendar_fix_orphaned_events adhoc task.

2) Adhoc task that will self-spawn calling the recovery machinery, running until
   all the orphaned calendar events are fixed. It also sets the maximum runtime of
   60 seconds. It is also possible to override that number by specifing the desired
   number setting the ->calendareventsmaxseconds in your config.php

3) CLI script that will look for all the calendar events which userids
   where broken by a wrong upgrade step, affecting to Moodle 3.9.5
   and up.

   It performs checks to both:
     a) Detect if the site was affected (ran the wrong upgrade step).
     b) Look for orphaned calendar events, categorising them as:
       - standard: site / category / course / group / user events
       - subscription: events created via subscriptions.
       - action: normal action events, created to show common important dates.
       - override: user and group override events, particular, that some activities support.
       - custom: other events, not being any of the above, common or particular.

   By specifying it (--fix) try to recover as many broken events (missing userid) as
   possible. Standard, subscription, action, override events in core are fully supported but
   override or custom events should be fixed by each plugin as far as there isn't any standard
   API (plugin-wise) to launch a rebuild of the calendar events.

4) Unit tests and helper functions to generate calendar events. We have decided to
   keep the tests simple, testing only true and false and not using data generators because
   the code is purely to recover the calendar events and won't turn into an API or something
   and also due to the urgency of this issue.
   The helpers have been created in calendar/tests/helpers.php since there are no data generators
   for calendar.
2021-04-22 10:28:52 +08:00
abgreeve
8a53fe7f6b Merge branch 'MDL-28452-master' of git://github.com/bmbrands/moodle 2021-04-22 09:38:50 +08:00
Marina Glancy
263c39ba21 MDL-71389 various: changes to unittests due to php8 changes:
- some engine error messages changed
- some warning levels changed
- the carriage return symbol randomly appears
- one phpunit assertion fails and not really representative of anything
2021-04-21 12:38:46 +02:00
Bas Brands
f9e1c2587a MDL-28452 core_user: migrate social profile fields
Create a new profile field type, move all existing content of the fields
'icq', 'skype', 'aim', 'yahoo', 'msn' and 'url' in the mdl_user table to
theses new profile fields if needed.

AMOS BEGIN
MOV [aimid,core],[aimid,courseimage,profilefield_social]
MOV [yahooid,core],[yahooid,profilefield_social]
MOV [skypeid,core],[skypeid,profilefield_social]
MOV [icqnumber,core],[icqnumber,profilefield_social]
MOV [msnid,core],[msnid,profilefield_social]
MOV [webpage,core],[webpage,profilefield_social]
AMOS END
2021-04-21 11:22:25 +02:00
Jun Pataleta
610b339c6e Merge branch 'MDL-71017-master-2' of git://github.com/marinaglancy/moodle 2021-04-21 14:58:06 +08:00
David Matamoros
5a6f05c605 MDL-71017 tool_oauth2: Small fixes on Oauth 2 services UI and tests 2021-04-20 10:50:44 +02:00
Jun Pataleta
0d92e1bc11 Merge branch 'MDL-71364' of https://github.com/stronk7/moodle 2021-04-20 09:24:52 +08:00
Eloy Lafuente (stronk7)
ea2fd1ace6 Merge branch 'MDL-69256-master' of git://github.com/andrewnicols/moodle 2021-04-20 00:04:48 +02:00
Sara Arjona
545996577e Merge branch 'MDL-66475' of git://github.com/paulholden/moodle 2021-04-19 09:49:09 +02:00
Eloy Lafuente (stronk7)
10a4932e25 MDL-71364 behat: fix randomness causes by "now" advancing
Some recent tests do set a date time element
to ##now## or tomorrow and, immediately after that
the look if, effectively, ##now## and #tomorrow#
have been set (with minutes resolution).

Problem is that, between the field is set and the field
is verified, it can happen that the time advances to
next minute (from H:M:59 to H:M+1:00) and then the
assertion fails.

To avoid this, we could have lowered the resolution to be
hours... but that doesn't solve the problem just makes it
to happen less often.

So, instead of that... we are setting the 2 now and tomorrow
cases to be "today noon" and "tomorrow noon" (12:00:00) so
we ensure they won't be ever in the risk of jumping of minute.
2021-04-17 12:31:23 +02:00
Andrew Nicols
1528661e68 Merge branch 'MDL-71186-master' of https://github.com/clransom/moodle 2021-04-16 07:57:01 +01:00
Katie Ransom
d916cd77ca MDL-71186 core_user: show custom user fields in group management screens 2021-04-15 15:28:17 +01:00
Sara Arjona
39fa45e299 MDL-69331 core_contentbank: Hide disabled H5P content-types
If a H5P content-type is disabled:
- The content bank won't display existing contents having it as a
main library.
- The content bank won't allow to create new contents using it.
2021-04-15 09:16:32 +02:00
Jake Dallimore
195abe8ab1 Merge branch 'MDL-70207-master' of git://github.com/peterRd/moodle 2021-04-14 09:07:21 +08:00
Eric Merrill
59704c659c MDL-52724 editor_atto: Scrub atto html for invalid ol, ul, and li tags
Try to correct broken ul/ol/li tags, as they have an outsized impact
on course layout. Uses basic regex and loops to track open and closed
tags.

Also adds a deep clean option to the HTML cleaner, that runs less
frequent, more intensive cleanings. This is because normally _cleanHTML
gets called after each keystroke, which could cause problems with
large content on weak systems.

Behat changes are a fix for setting multiline strings in Atto, and
creating a multiline match step.
2021-04-08 15:20:24 -04:00
Eloy Lafuente (stronk7)
068430e3ce MDL-71264 behat: New feature covering all day/month/year date changes
Because of the order that dates and datetimes are filled by behat
sometimes there are some intermediate results that are impossible
and then the form (javascript) automatically reacts and fixes the
date, ultimate leading to a different date that the one we wanted
to set with Behat.

This is noticeable when switching between months (with some day
being the last day of the month) and the 2 months have a different
number of days. For example April date => March date (or the opposite).

This test covers all the critical changes (day, month and year),
back and forth. All times are Perth/Australia.
2021-04-06 16:25:46 +02:00
Peter Dias
c8c39e403b MDL-70207 core_navigation: Primary nav unit tests 2021-04-06 11:45:44 +08:00
Paul Holden
2d6cde2c6c MDL-66475 task: fix random timing failures in logger cleanup test. 2021-04-04 23:12:57 +01:00
Eloy Lafuente (stronk7)
870a8de3fb MDL-37655 phpunit: Avoid having multiple testcase classes in 1 file
Note that there wasn't any case of multiple testcase classes in
1 file. All the cases reported in the issue were false positives
caused but other "mock/fixture" files being named _test.

So all this issue does is:

1) rename any _test suffixed class in test files, because we are
   going to start renaming a lot of test classes to _test.

2) ensure that the 2 test case classes modified in this issue,
   are already observing the filename = classname rule that will
   be implemented soon (and verigy it works).
2021-03-30 19:17:54 +02:00
Eloy Lafuente (stronk7)
3ed772f418 Merge branch 'MDL-71099-master' of https://github.com/sammarshallou/moodle 2021-03-27 10:17:43 +01:00
sam marshall
5e72715e4f MDL-71099 Lib: Move new user_fields class from core to core_user
This class would belong more appropriately within the 'user' API
(core_user) instead of within the 'core' API, since it is
directly related to user data.

Since the class has only just been added to Moodle, now is a good
time to move it.
2021-03-25 13:47:23 +00:00
Noel De Martin
d5eb99d02f MDL-71194 behat: Fix app tests 2021-03-25 13:53:30 +01:00
Víctor Déniz
15b00d34e2 Merge branch 'MDL-70727-master' of https://github.com/NashTechOpenUniversity/moodle 2021-03-23 16:52:46 +00:00
Travis CI
fa7c534032 Merge branch 'MDL-71084-master' of git://github.com/peterRd/moodle 2021-03-23 13:57:13 +08:00
Peter Dias
9ee4dd69a9 MDL-71084 core_navigation: Move secondary_test to proper location with namespace 2021-03-23 13:56:29 +08:00
Peter Dias
0c7c677617 MDL-71084 core_navigation: Provide a header title and active node text 2021-03-23 13:56:29 +08:00
Michael Hawkins
fd302dc842 MDL-71104 core_completion: Fix fetching of grade completion status
We should be able to fetch the grade completion status for modules
that do not have custom completion configured. This also improves
unit testing coverage.
2021-03-23 12:25:22 +08:00
Jun Pataleta
6770a2949a MDL-71104 completion: Fix completion_info::get_data() unit tests
* Fixed inverted $sameuser test data.
* Fixed caching expectation check. Caching only relies on whether the
user accessing the completion data is the same user or not.
* Fixed checking for the caching of other modules. Should have been
checking cm ID and not instance ID.
* Additional test case when whole course parameter is passed as
true, but the requesting user is different from the target user.
2021-03-23 11:53:26 +08:00
Andrew Nicols
cbcf9f6cdf MDL-69256 tests: Fix random slow test failures in completion cron 2021-03-23 08:07:49 +08:00
Adrian Greeve
8790de8fcf Merge branch 'MDL-70924' of git://github.com/paulholden/moodle 2021-03-18 11:53:58 +08:00
Jun Pataleta
54cc7804a8 Merge branch 'MDL-70198-master-2' of git://github.com/peterRd/moodle 2021-03-18 11:41:51 +08:00
Adrian Greeve
089afdfceb Merge branch 'MDL-71048' of https://github.com/paulholden/moodle 2021-03-18 11:11:46 +08:00
Eloy Lafuente (stronk7)
3edac87e20 Merge branch 'MDL-70689-master' of git://github.com/sarjona/moodle 2021-03-17 23:20:37 +01:00