Commit graph

100725 commits

Author SHA1 Message Date
Jun Pataleta
e853e6b7db Merge branch 'MDL-71156-master' of git://github.com/lameze/moodle 2021-04-22 11:51:59 +08:00
Andrew Nicols
81d5ed8184 Merge branch 'MDL-69460' of https://github.com/paulholden/moodle 2021-04-22 11:11:40 +08:00
Jun Pataleta
7af3fa1cdd Merge branch 'MDL-71288-master' of git://github.com/lameze/moodle 2021-04-22 10:29:25 +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
Andrew Nicols
5104159fcc Merge branch 'MDL-70412-master' of git://github.com/aanabit/moodle 2021-04-22 10:10:38 +08:00
Simey Lameze
f518f61757 MDL-71288 completion: add fallback for plugins
This commits adds a fallback for plugins which does not have
custom_completion implementation.

For those cases, it will search for {modulename}_get_completion_state
callback in the plugin and call get_overall_completion() method in
cm_completion_details class to get the overall completion state for
a course module and user.
2021-04-22 09:45:11 +08:00
abgreeve
8a53fe7f6b Merge branch 'MDL-28452-master' of git://github.com/bmbrands/moodle 2021-04-22 09:38:50 +08:00
Sara Arjona
49dbf2c130 Merge branch 'MDL-64336' of https://github.com/NeillM/moodle 2021-04-21 17:13:57 +02:00
Neill Magill
bce4c28577 MDL-64336 assign: Add missing PHP doc 2021-04-21 15:14:15 +01:00
Neill Magill
06a69802d6 MDL-64336 assign: Teachers should be able to see all submissions
Before this change a teacher would be able to see users listed if:

* They have an active enrolment and can submit
* They have an an inactive enrolment for a role that can submit

After this change they will additonally be able to see users listed:

* That have an active enrolment and have submitted
* That have an inactive enrolment and have submitted

This means that if an assignment has it's context frozen all users
that have made some form of submission will still be listed.

It will also apply if the submission capability is removed from a
user.

If a user's enrolment is deleted they will not be listed.

The submission and grading counts have also been updated so
they will reflect the new rules.
2021-04-21 15:14:14 +01:00
Neill Magill
1f55fff393 MDL-64336 assign: Submissions should be visible while frozen
Before this change if a student visited an assignment that is
frozen they would only see the title and description even if
they had made a submission to it.

After the change they will be able to see the status of their
submission and any feedback and grades they have recived.

It will also make the Moodle app recognise that submission
should not happen because the assignment is frozen.

Tests based on ones created by Andrew Nicols
2021-04-21 15:14:14 +01:00
Bas Brands
0fe5d5faa8 MDL-28452 core_user: add custom profilefield capability
Add a setting to show custom profilefields to self or others
with capability moodle/sit:viewuseridentity in the course context only
2021-04-21 11:22:31 +02:00
Bas Brands
2c89b82e17 MDL-28452 core_user: add behat test for duplicate shortname warning 2021-04-21 11:22:31 +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
Sara Arjona
d54a89ad2e Merge branch 'dynreg-upgrade-squash' of https://github.com/cengage/moodle 2021-04-21 09:58:29 +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
abgreeve
d1be6cf1d8 Merge branch 'MDL-71205' of https://github.com/mkassaei/moodle 2021-04-21 13:32:14 +08:00
Jake Dallimore
49c97a866c Merge branch 'MDL-71030-master' of https://github.com/NashTechOpenUniversity/moodle 2021-04-21 12:06:50 +08:00
abgreeve
dac0c020ef Merge branch 'MDL-71174' of git://github.com/danmarsden/moodle 2021-04-21 11:01:05 +08:00
Eloy Lafuente (stronk7)
7c75781518 Merge branch 'MDL-63381_master_v3' of https://github.com/TomoTsuyuki/moodle 2021-04-20 23:56:56 +02:00
Claude Vervoort
ca80d53b38 MDL-70500 lti: dyn reg can be used to update tools 2021-04-20 17:12:28 -04:00
Sara Arjona
d0b3f1d24a Merge branch 'MDL-62244_master_label_view' of https://github.com/sheesania/moodle 2021-04-20 17:44:54 +02:00
Sara Arjona
e29b256438 weekly release 4.0dev 2021-04-20 15:51:10 +02:00
Sara Arjona
92261bbb2a Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2021-04-20 15:51:07 +02:00
Marina Glancy
57a444d31f MDL-71017 oath2: configuration check fix and return types 2021-04-20 12:07:54 +02: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
Marina Glancy
d80f3c5d8a MDL-71017 tool_oauth2: show not configured services 2021-04-20 10:50:44 +02:00
Marina Glancy
0152fdbdff MDL-71017 oauth2: configure some oauth2 services for login only 2021-04-20 10:50:40 +02:00
Thong Bui
a8c868822f MDL-71030 Quiz: Add 'who' made changes in question response history 2021-04-20 09:06:15 +07:00
Jun Pataleta
0d92e1bc11 Merge branch 'MDL-71364' of https://github.com/stronk7/moodle 2021-04-20 09:24:52 +08:00
AMOS bot
3a134a3066 Automatically generated installer lang files 2021-04-20 00:07:51 +00:00
Víctor Déniz
ab6f97292d Merge branch 'MDL-71087-master' of https://github.com/NashTechOpenUniversity/moodle 2021-04-19 23:44:06 +01:00
Eloy Lafuente (stronk7)
ea2fd1ace6 Merge branch 'MDL-69256-master' of git://github.com/andrewnicols/moodle 2021-04-20 00:04:48 +02:00
Víctor Déniz
50fb2248f5 Merge branch 'master_fix_gradeimport_csv' of https://github.com/intrajp/moodle 2021-04-19 22:47:32 +01:00
Víctor Déniz
f7dd6b26b7 Merge branch 'MDL-71118-master' of git://github.com/lucaboesch/moodle 2021-04-19 19:43:32 +01:00
Eloy Lafuente (stronk7)
973a4a2ae1 Merge branch 'MDL-71181-master' of https://github.com/ettolrah/moodle 2021-04-19 18:58:14 +02:00
Eloy Lafuente (stronk7)
ce06891713 Merge branch 'master-MDL-71190-backup-lastaccess' of https://github.com/ScottVerbeek/moodle 2021-04-19 18:52:18 +02:00
Sara Arjona
9ffe994b4c Merge branch 'MDL-71262' of https://github.com/mkassaei/moodle 2021-04-19 17:44:03 +02:00
Sara Arjona
5013604f18 MDL-71225 questions: Remove duplicated empty line 2021-04-19 17:28:19 +02:00
Sara Arjona
ee6eccd7fd Merge branch 'MDL-71225' of https://github.com/mkassaei/moodle 2021-04-19 17:18:33 +02:00
Sara Arjona
4478fcf1ce Merge branch 'MDL-67882-message-config-log' of https://github.com/brendanheywood/moodle 2021-04-19 16:22:48 +02:00
Sara Arjona
754c8f8d74 Merge branch 'MDL-71367' of https://github.com/stronk7/moodle 2021-04-19 11:12:49 +02:00
Sara Arjona
727bb77860 Merge branch 'MDL-71365' of https://github.com/stronk7/moodle 2021-04-19 10:18:25 +02:00
Paul Holden
5163f1e6bd MDL-69460 admin: prevent CLI upgrade when stale files present. 2021-04-19 09:03:39 +01:00
Sara Arjona
545996577e Merge branch 'MDL-66475' of git://github.com/paulholden/moodle 2021-04-19 09:49:09 +02:00
Sara Arjona
d688af7edd Merge branch 'MDL-65553-master' of git://github.com/aanabit/moodle 2021-04-19 08:53:33 +02:00
Jun Pataleta
ba5f069ada Merge branch 'MDL-71324-master' of git://github.com/lucaboesch/moodle 2021-04-19 12:31:18 +08:00
ScottVerbeek
dc1048c301 MDL-71190 backup: Include users last access to course
Backup the table user_lastaccess which holds data for when a user last accessed a course.
And also restore to the table user_lastaccess from the .xml file created in the backup.
2021-04-19 12:03:50 +10:00
Andrew Nicols
d649ec2837 Merge branch 'MDL_71012_master' of https://github.com/jessansell/moodle 2021-04-19 08:47:50 +08:00
Eloy Lafuente (stronk7)
fc530b1837 MDL-71367 unit tests: Add missing ->destroy() call to test backups
As part of the tests preparations, some backups are created, but
the tests aren't calling to their ->destroy() method at the end.

The destroy() method is needed to go cleaning and unsetting various
objects that, only then, will free resources, like memory, open files...

This isn't critical under Unix OSs... but Windows is really sensible
and keeps all open files locked, so any write operation on them fails.
2021-04-19 00:04:10 +02:00