Compare commits

...

2374 Commits

Author SHA1 Message Date
Huong Nguyen b5f4e0ce3d Moodle release 4.0.12 2023-12-08 09:21:28 +07:00
Sara Arjona 182db0699f weekly release 4.0.11+ 2023-12-07 16:22:18 +01:00
Paul Holden fd464742ea MDL-79980 mod_survey: remove responses link if user cannot access. 2023-12-07 12:09:39 +01:00
Brendan Heywood ccadbc0893 MDL-80309 tasks: Clean up mtrace logs 2023-12-07 12:07:35 +08:00
Paul Holden 85493f06d2 MDL-79980 mod_survey: respect activity group mode getting report. 2023-12-07 09:31:26 +08:00
Stephan Robotta 3bae360d11 MDL-41465 reports: In separate group mode, limit to same group users 2023-12-06 13:49:02 +07:00
Paul Holden c5f290abb9 MDL-79797 backup: ensure block config is safely unserialized. 2023-12-06 13:24:21 +07:00
Huong Nguyen e5b51a2e4b MDL-79759 repository_url: Remove types properties 2023-12-05 08:45:51 +07:00
David Woloszyn ea8fa7e8ac MDL-79759 repository_url: Limit css imports and remove fragments
There are checks to urls that attempt to limit recurrsion when
parse_file is called. This is problematic for css import urls that
can call an indefinite amount of nested import urls. An import limit
has been introduced to address this. Fragments have also been removed.
2023-12-04 15:08:34 +07:00
Stevani Andolo fae835d215 MDL-80174 tool_log: ensure "other" data is safely unserialized. 2023-12-04 13:41:16 +07:00
Paul Holden e72871579a MDL-80268 badges: require capability to view awarded badges. 2023-12-04 10:15:32 +07:00
Ilya Tregubov 55be12a221 weekly release 4.0.11+ 2023-12-01 13:12:42 +08:00
Sara Arjona d254764656 Merge branch 'MDL-79275-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-11-29 16:44:27 +01:00
Ilya Tregubov 1b9891dff5 Merge branch 'MDL-79603-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-11-28 13:54:42 +08:00
Simey Lameze 0761f9e45d MDL-79275 behat: add one second wait to avoid random 2023-11-28 11:07:30 +08:00
Huong Nguyen d0f1ebd072 weekly release 4.0.11+ 2023-11-24 12:23:44 +07:00
Huong Nguyen 9aba7d704e Merge branch 'MDL-78496-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-11-23 09:24:06 +07:00
Sara Arjona d7685d56d3 weekly release 4.0.11+ 2023-11-16 16:22:54 +01:00
Sara Arjona 0976bde187 Merge branch 'MDL-79981-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-11-15 17:10:36 +01:00
Angelia Dela Cruz 859051c304 MDL-79603 mod_scorm: Behat coverage for Scorm package display options 2023-11-15 11:28:28 +08:00
Andrew Nicols 769cdff139 MDL-78496 environment: Moodle 4.4 requirements
The only changes to requirements since Moodle 4.3 are increases to:

* the minimum PHP version required; and
* the minimum required Moodle version.
2023-11-14 22:48:04 +08:00
Ilya Tregubov 6ffde95a56 weekly release 4.0.11+ 2023-11-10 09:17:29 +08:00
Ilya Tregubov bf167fd4f0 Merge branch 'MDL-80029-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-11-09 09:36:24 +08:00
Andrew Nicols a0acf2b8e5 MDL-79981 core: Add ability to manually run and filter phpunit on GHA 2023-11-08 12:54:12 +08:00
Jun Pataleta 51340445df MDL-80029 grade: Behat test fixes
* Feature: We can use a minimum grade different than zero
  - Use correct minimum input values.
  - Use data generators for faster test execution.
* Scenario: Disable category overriding
  - Use the field name to ensure that the correct field is being tested.

Cherry-picked from MDL-79062.
2023-11-07 20:46:14 +08:00
Jun Pataleta db759e7126 weekly release 4.0.11+ 2023-10-27 09:43:17 +08:00
Jun Pataleta 2728b6d4e4 Merge branch 'MDL-79768-400-fix' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-10-26 23:05:21 +08:00
Angelia Dela Cruz bec4ef8a13 MDL-79768 fix: Fixed random failing Behat due to time difference 2023-10-26 17:39:15 +08:00
Jun Pataleta 285ddabc19 Merge branch 'MDL-79768-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-10-26 10:46:59 +08:00
Angelia Dela Cruz afe29e3665 MDL-79768 mod_data: Test for student can see upcoming data activity 2023-10-23 08:44:52 +08:00
Sara Arjona d0c3bf9897 weekly release 4.0.11+ 2023-10-20 12:16:39 +02:00
Huong Nguyen a6ccf907bc Merge branch 'MDL-79689-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-10-19 10:06:00 +07:00
Angelia Dela Cruz eaad28749f MDL-79689 mod_assign: Behat for enabling anonymous submissions 2023-10-18 11:06:14 +08:00
Ilya Tregubov 53f4d3e1d5 Merge branch 'MDL-79691-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-10-17 10:29:31 +08:00
Angelia Dela Cruz 62d17a7ab3 MDL-79691 mod_h5pactivity: Behat coverage for H5P activity grades reset 2023-10-16 17:18:55 +08:00
Huong Nguyen c2b7d5cfca Merge branch 'MDL-79698-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-10-16 11:40:58 +07:00
Huong Nguyen 2ba7c8797b Merge branch 'MDL-79653-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-10-16 10:55:46 +07:00
Andrew Nicols 86c984c612 MDL-79698 core: Correct duplicate array key in test provider 2023-10-13 15:44:40 +08:00
Ilya Tregubov d5f45b29e3 weekly release 4.0.11+ 2023-10-13 13:39:38 +08:00
Angelia Dela Cruz 44bee8c4cf MDL-79653 gradingform_guide: Behat coverage for deleting marking guide 2023-10-13 11:23:52 +08:00
Huong Nguyen b4d7cc89ba Merge branch 'MDL-79638-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-10-12 11:08:42 +07:00
Andrew Nicols 6ce2eab547 MDL-79638 phpunit: Add unit test for increment resets 2023-10-11 00:10:33 +08:00
Andrew Nicols a941d93de1 MDL-79638 phpunit: Adjust version checks for mysql/mariadb hack
This hack was introduced to work around a bug in MySQL 5.6.14 and
MariaDB at the time.

https://bugs.mysql.com/bug.php?id=69882

It was addressed a few months later in 5.6.16, and 5.7.4.
MariaDB merged version 5.6.16 of MySQL's InnoDB engine in MariaDB
10.0.11 and got the patch from there.

Moodle has required MySQL 5.7, and MariaDB 10.2.29 since Moodle 3.11 and
it is therefore safe to remove these hacks for these versions.
2023-10-11 00:01:27 +08:00
Jun Pataleta b72ce02928 Moodle release 4.0.11 2023-10-07 11:29:58 +08:00
Sara Arjona bec75acf94 weekly release 4.0.10+ 2023-10-06 14:02:34 +02:00
Laurent David a58f091184 MDL-77795 mod_bigbluebuttonbn: Change meetingID on duplicate
* We need to set a different meetingID when duplicating or importing a
BigBlueButtonBN activity to prevent unwanted sharing of recordings between
meetings.
2023-10-06 08:49:29 +08:00
Paul Holden 21cb1ae77a MDL-79310 enrol: restrict searched users to those user can view. 2023-10-04 14:31:52 +08:00
Paul Holden c78948fe55 MDL-79310 forumreport_summary: report only on users who can be viewed. 2023-10-04 14:31:52 +08:00
Paul Holden c64f39d187 MDL-79310 mod_forum: ensure only visible users can be exported. 2023-10-04 14:31:51 +08:00
Mikel Martín 4777e96a28 MDL-79509 mod_wiki: Improve comment editing 2023-10-04 02:05:15 +02:00
Paul Holden ce38fda651 MDL-72249 message: stricter cleaning of processor type parameter. 2023-10-04 02:05:15 +02:00
Paul Holden 42fb4b1a6c MDL-79426 gradeimport_csv: safely preview CSV content during import. 2023-10-04 02:05:15 +02:00
Paul Holden 96223014bd MDL-79455 tool_uploadcourse: clean course data fields individually. 2023-10-04 02:05:15 +02:00
Paul Holden 5975ced7e1 MDL-79455 tool_uploadcourse: safe preview of uploaded course data. 2023-10-04 02:05:15 +02:00
Paul Holden c1663de71e MDL-79409 mod_imscp: appropriate unserialization of package structure. 2023-10-04 02:05:15 +02:00
Paul Holden de05fca77a MDL-79408 mod_lesson: safer unserializing/comparison of properties. 2023-10-04 02:05:15 +02:00
David Woloszyn 42518c7c4a MDL-77846 core: Make endpoint revision number checks stricter
In some places we prevented cache poisoning, in others we did not. We
also did not place any restriction on the minimum value for a revision.

This change introduces a new set of functions for configonly endpoints
which validates the revision numbers passed in. If the revision is
either too old, or too new, it is rejected and the file content is not
cached. The content is still served, but caching headers are not sent,
and any local storage caching is prevented.

The current time is used as the maximum version, with 60 seconds added
to allow for any clock skew between cluster nodes. Previously some
locations used one hour, but there should never be such a large clock
skew on a correctly configured system.

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2023-10-04 02:05:15 +02:00
Huong Nguyen 5316b55716 MDL-66730 core_course: Improve permission check for category moving
Co-authored-by: Erica Bithell <egb10@cam.ac.uk>
2023-10-04 02:05:15 +02:00
Paul Holden 1ae0262730 MDL-78820 h5p: use fullname of current user as the xAPI actor name. 2023-10-04 02:05:15 +02:00
meirzamoodle f0c3a4ae7c MDL-78969 oauth2: remove auto-login after successful confirmation
With the new flow, users can go to the login page from the confirmed page,
and if the user successfully logs in, the user will be directed to the confirmed page.
To avoid that, the confirmed page can only be seen by users who are not logged in.
2023-10-04 02:05:15 +02:00
Paul Holden 1139407107 MDL-78971 quiz_grading: escape user identity fields on display. 2023-10-04 02:05:15 +02:00
Jun Pataleta 92b81af0a0 weekly release 4.0.10+ 2023-10-04 07:49:22 +08:00
Huong Nguyen 3dc44686bc Merge branch 'MDL-79247_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2023-10-03 09:58:25 +07:00
Eloy Lafuente (stronk7) 7db3ed235b MDL-79247 forum: Workaround same-time discussion modified dates bug
Within the forum_get_discussion_neighbours() function of forum
when the discussions timemodified (last post) is the same, there
is a bug that does strange things when calculating the prev and
next discussions.

Note that, in real life, this is really hard to achieve, but in tests,
when multiple discussions and post can be created by generators in the
same second (specially when the test machine is quick), chances of
facing that problem are higher.

By adding 1 second wait, we ensure that the discussions won't have
the same timemodified (last post) and workaround the problem.

No mater of that, the problem deserves an issue to be created
so we guarantee from code that it also works ok when the same
timemodified (last post) situation happens.
2023-10-01 23:47:02 +02:00
Eloy Lafuente (stronk7) c0587ac3a4 MDL-79247 forum: Make discussion list ordering deterministic
Note that normally this doesn't matter much, but there are situations
when we want the discussion list ordering fully consistent /
deterministic.

Specifically, when discussions (or forum posts )are created in the
same second, or when the discussion titles are repeated, or 2
discussions have the same number of votes... (any criteria in general),
in the context of testing, we don't want the order
to be non-consistent, so we need to provide an extra sorting
criterion to make it fully deterministic.

So, in this case, we are adding a sort by discussion.id <<DIRECTION>>
that is an unique value, primary key... so cheap to calculate and,
that way, when the 1st sorting column has repeated values, the id
will decide.
2023-10-01 23:47:02 +02:00
Jun Pataleta 0f8e3e7b88 weekly release 4.0.10+ 2023-09-29 22:07:26 +08:00
Jun Pataleta 43d08df446 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-09-29 22:07:24 +08:00
AMOS bot 32e72da2aa Automatically generated installer lang files 2023-09-29 00:08:01 +00:00
Ilya Tregubov 55430e7995 Merge branch 'MDL-79360/400' of https://github.com/skodak/moodle into MOODLE_400_STABLE 2023-09-28 09:38:59 +08:00
Sara Arjona a55231cec8 weekly release 4.0.10+ 2023-09-26 16:17:09 +02:00
Shamim Rezaie af6368c392 Merge branch 'MDL-75928-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-09-25 17:52:35 +10:00
Simey Lameze 7a9b169ec3 MDL-75928 format_week: improve get_section_dates one week calc 2023-09-22 08:48:47 +08:00
Sara Arjona 168b8d84da weekly release 4.0.10+ 2023-09-15 17:34:16 +02:00
Petr Skoda 25bc96c1c1 MDL-79360 filter: fix nolink tag regression from MDL-77525 2023-09-15 12:45:31 +02:00
Ilya Tregubov 12fc97c1b7 Merge branch 'MDL-79220-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-09-14 17:44:18 +08:00
Ilya Tregubov 660a6b1172 Merge branch 'MDL-79195-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-09-14 09:38:25 +08:00
Ilya Tregubov 46ddf24625 Merge branch 'MDL-78806-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-09-13 10:56:10 +08:00
Eloy Lafuente (stronk7) 548b78ea84 weekly release 4.0.10+ 2023-09-12 18:54:12 +02:00
Angelia Dela Cruz f2eaea0ac3 MDL-79195 core_course: Activity and resource description display behat 2023-09-12 12:38:36 +08:00
Huong Nguyen 6c0eb76077 Merge branch 'MDL-79246-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-09-12 08:51:48 +07:00
Jun Pataleta b82333dfd5 MDL-78806 mod_assign: Use new Behat step for checking page title 2023-09-10 23:33:44 +08:00
Jun Pataleta 21feaf77ba MDL-78806 behat: Create a step that for checking the page title
Create a Behat step "the page title should contain ':title'" to check
the page title.
2023-09-10 23:33:43 +08:00
Jun Pataleta d011da5803 weekly release 4.0.10+ 2023-09-08 22:35:19 +08:00
Jun Pataleta 05b96be8d6 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-09-08 22:35:18 +08:00
Jun Pataleta ade72f1cb2 MDL-78549 multianswer: Prevent default when clicking feedback trigger 2023-09-08 14:50:44 +08:00
Huong Nguyen 0832e78ba9 Merge branch 'MDL-78549-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-09-08 10:59:06 +07:00
AMOS bot ccc82fc95a Automatically generated installer lang files 2023-09-08 00:10:42 +00:00
Angelia Dela Cruz 48c594202a MDL-79220 mod_glossary: Behat for glossary entry with attachment 2023-09-07 10:31:16 +08:00
Ilya Tregubov 0add4b7a6f Merge branch 'MDL-76459_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2023-09-06 10:03:42 +08:00
AMOS bot 1d92692ad4 Automatically generated installer lang files 2023-09-05 14:25:06 +00:00
Jun Pataleta d70101e521 MDL-78549 qtype_multianswer: Configure feedback popover trigger via JS
* For some reason, the `data-trigger="hover focus"` does not work when
rendering the popover via HTML. It just defaults to click, so the
feedback popover for qtype_multianswer questions does not show on hover.
Configuring the feedback popover's trigger via JS seems to work.
2023-09-05 09:36:16 +08:00
AMOS bot b78c185e31 Automatically generated installer lang files 2023-09-05 00:11:46 +00:00
Andrew Nicols 2576867e7a MDL-79246 gradingform_rubric: Use i_click_on for behat clicks 2023-09-04 09:13:09 +08:00
Eloy Lafuente (stronk7) 955a276e6e MDL-76459 xmldb: Add environmental check to verify $CFG->prefix
While, right now, sites using long (> 10 chars) $CFG->prefix
can continue working (because we still don't have any table
> 28 chars), as soon as some new table with long name is added,
it won't work with PostgreSQL anymore (if the 63 limit is raised).

Hence, this environmental check will verify on both install and
upgrade that the $CFG->prefix is always <= 10 chars.

Sites with longer prefixes will need to rename all their tables
(and maybe other objects, depending on the dbtype) to use a shorter
prefix.
2023-09-02 09:22:36 +02:00
Andrew Nicols e2111d83ee weekly release 4.0.10+ 2023-09-02 08:18:38 +08:00
Andrew Nicols c1b33a6caf Merge branch 'MDL-77831-400' of https://github.com/mickhawkins/moodle into MOODLE_400_STABLE 2023-09-01 10:38:44 +08:00
Jun Pataleta c5231e4d28 Merge branch 'MDL-79017-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-08-31 20:31:53 +08:00
Michael Hawkins 573aa1c5bc MDL-77831 core: Updated security.txt expiry and added additional info 2023-08-31 18:29:59 +08:00
Huong Nguyen cae6b09efa Merge branch 'MDL-79207-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-08-31 12:27:27 +07:00
Angelia Dela Cruz 676f899142 MDL-79207 core_course: Behat coverage for activity and resource deletion 2023-08-31 11:01:54 +08:00
Sara Arjona 91c90b6f5d Merge branch 'MDL-78612-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-08-30 17:55:52 +02:00
Andrew Nicols 2e9dbfd2d1 MDL-78612 core: Wrap modal_factory.create in pendingPromise 2023-08-30 13:36:26 +08:00
Jun Pataleta 2ece3b7a84 weekly release 4.0.10+ 2023-08-26 11:03:29 +08:00
Jun Pataleta 57c7642210 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-08-26 11:03:26 +08:00
Jun Pataleta 11f782c4a4 Merge branch 'MDL-79015-400-fix' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-08-25 09:53:54 +08:00
Simey Lameze 57a985b035 MDL-79015 behat: make verification step more specific 2023-08-25 08:59:13 +08:00
AMOS bot 7b63b9ad6c Automatically generated installer lang files 2023-08-25 00:11:54 +00:00
Sara Arjona b6a5b0c5d9 Merge branch 'MDL-78965-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-08-24 16:38:45 +02:00
Jun Pataleta f636d3b8dc Merge branch 'MDL-79015-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-08-24 15:53:20 +08:00
Angelia Dela Cruz f3dbd537a5 MDL-78965 mod_quiz: Behat coverage for quiz with certainty-based marking 2023-08-24 15:13:41 +08:00
Jun Pataleta f77b73fe51 Merge branch 'MDL-78941-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-08-24 13:05:37 +08:00
Angelia Dela Cruz 599cd75fe6 MDL-79015 mod_lesson: Behat coverage for lesson with access restriction 2023-08-24 13:05:31 +08:00
Angelia Dela Cruz b784e61a0f MDL-78941 mod_quiz: Behat coverage for student flagging quiz questions 2023-08-24 11:13:50 +08:00
Huong Nguyen ac35349fcc Merge branch 'MDL-78843-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-08-24 08:58:31 +07:00
Sara Arjona 567bb622b4 weekly release 4.0.10+ 2023-08-22 15:51:07 +02:00
Ilya Tregubov 818ac5cc6c Merge branch 'MDL-79078-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-08-22 09:11:03 +08:00
Paul Holden 5e91f88d4b MDL-79017 core: re-factor method to unserialize array.
We can use the existing helper for object unserialization as the
base for this method, rather than manual string parsing.
2023-08-21 21:02:48 +01:00
Jun Pataleta e9906db076 MDL-79078 grades: Wait for pending JS when navigating gradebook 2023-08-21 17:30:41 +08:00
Ilya Tregubov 456e8d0f73 weekly release 4.0.10+ 2023-08-18 11:24:03 +08:00
Eloy Lafuente (stronk7) 2c6c256c51 Merge branch 'MDL-78684-400-fix-2' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-08-17 19:57:33 +02:00
Simey Lameze e6684a65d7 MDL-78684 behat: fix behat failures 2023-08-17 21:15:45 +08:00
Jun Pataleta 1bae9ad509 Merge branch 'MDL-78938-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-08-17 09:58:16 +08:00
Andrew Nicols d79615711c Merge branch 'MDL-77695-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-08-16 23:23:37 +08:00
Andrew Nicols c9682dfece Merge branch 'MDL-78684-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-08-16 22:45:00 +08:00
Andrew Nicols 72ec24d812 MDL-78938 course: Wrap manual completion toggle in pending
This commit makes two changes to reduce random failures in behat:
- wrap the toggling of manually configured completion in pendingjs
- set the loading spinner content without forcing the completion toggle
  ws to wait for the loading spinner to update.
2023-08-16 20:05:34 +08:00
Andrew Nicols 27efd067f8 MDL-78938 report_progres: Wrap completion status update in pending 2023-08-16 20:05:33 +08:00
Simey Lameze 750da4a57d MDL-77695 behat: use automatic completion to award badges 2023-08-16 11:22:33 +08:00
Shamim Rezaie 358e1793f2 Moodle release 4.0.10 2023-08-11 23:20:17 +10:00
Huong Nguyen 3a794f0e78 weekly release 4.0.9+ 2023-08-10 22:50:58 +07:00
Huong Nguyen 2a724ee1b9 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-08-10 22:50:56 +07:00
meirzamoodle b797c1314f MDL-78685 auth_oauth2: Added logged-in status check 2023-08-10 18:45:15 +07:00
Jun Pataleta 1f8f229ff0 MDL-78620 auth_cas: Pass base service URL for the CAS client
Since phpCAS v1.6.0, a required base service URL parameterneeds to be
passed to phpCAS::client(). This is basically the protocol, hostname,
and port number (optional) of the site connecting to the CAS server
in order for it to perform service URL discovery.
2023-08-10 18:45:15 +07:00
Jun Pataleta 4a3ef2c34d MDL-78620 auth_cas: Bump thirdpartylibs version to 1.6.0 2023-08-10 18:45:15 +07:00
Jun Pataleta 3bef4646fa MDL-78620 auth_cas: Update phpCAS to v1.6.0 2023-08-10 18:45:15 +07:00
David Woloszyn 56557c04a7 MDL-78620 lib: Set Moodle files after phpCAS upgrade 2023-08-10 18:45:15 +07:00
David Woloszyn 79d7685763 MDL-78620 lib: Upgrade phpCAS to 1.5.0 2023-08-10 18:45:14 +07:00
Michael Hawkins 7d120086ae MDL-78763 tool_policy: Initialise returnurl as a moodle_url in viewall 2023-08-10 18:45:14 +07:00
Paul Holden 98078b96c8 MDL-78792 message: access checks in processor fragment callback. 2023-08-10 18:45:14 +07:00
raortegar c1ed3e422d MDL-74289 lib: Improve the proxy bypass matching 2023-08-10 18:45:11 +07:00
Simey Lameze c7e549a46f MDL-78843 behat: update get_forum_id to search for idnumber or name
This commit also converts manual steps to create discussions on the
Annoucements forum to data generator.
2023-08-10 10:05:24 +08:00
AMOS bot 57fa64c768 Automatically generated installer lang files 2023-08-08 00:10:27 +00:00
Paul Holden a524ac4bb3 MDL-78647 files: safer unserializing of file reference data. 2023-08-04 12:55:23 +02:00
Shamim Rezaie cddb24754e MDL-66212 tool_lpimport: properly check capabilities
The moodle/competency:competencymanage capability should be checked
before showing the import and export pages.
2023-08-04 12:55:23 +02:00
Matt Porritt eed4592b7c MDL-78340 Blocks: Dashboards now respect block permission overrides
Patch makes user dashboard respect permission overrides
that have been set on individual blocks on the system
dashboard (indexsys.php). When a user dashboard is created
either when the user visits their dashboard for the first
time or after an admin reset. When blcoks are copied to
the new dashbaord overriden permissions are also copied.
2023-08-04 12:55:23 +02:00
Rajneel Totaram 00569bf0fe MDL-71728 mod_quiz: check if user can access this page 2023-08-04 12:55:23 +02:00
Sara Arjona d2b3068edb weekly release 4.0.9+ 2023-08-04 12:40:15 +02:00
Jun Pataleta af2d5ea945 MDL-78498 mod_forum: Prevent race condition in forum recent activity
* Using the generator to create the forum discussions, the timecreated
of a discussion can be set before the user's last course access which
will prevent forum_print_recent_activity() from including this generated
discussion in the recent activity results. To work around this, generate
the forum discussion 1 second after the current time to make sure that
the user's last course access will always be before the discussion's
creation time.
* This patch also includes some optimisations by:
  - Removing the unnecessary @javascript tag for the
    `Time limit expires` scenario
  - Bringing the discussion generation to each scenario to allow each
    scenario to customise the data passed to the generator like for the
    `Time limit expires` scenario.
  - Navigating directly to the forum instance.
2023-08-03 11:33:38 +08:00
Jun Pataleta cdfb51b114 Merge branch 'MDL-78498-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-08-02 11:22:50 +08:00
Sara Arjona 9077bade59 Merge branch 'MDL-78703-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-08-01 13:45:19 +02:00
Simey Lameze 066ea59ae5 MDL-78498 behat: add support for private replies
This commit adds support for private replies in the
'the following forum replies exist in course' custom step.
2023-08-01 16:08:18 +08:00
Angelia Dela Cruz e24eb760ae MDL-78498 Behat: Use data generators for forum posts and replies
This commit does few things:
* Replace manual forum posts and replies to use data generator.
* It also changes the code to handle social forums.
* Other behat clean-ups and optimization.

Co-authored-by: Simey Lameze <simey@moodle.com>
2023-08-01 16:08:18 +08:00
Angelia Dela Cruz 5017f192ba MDL-78684 Behat: Replace gradebook navigation to use page resolvers
This commit also does other things such as:
- Replace manual steps to setup gradebook by data generators
- Added support for outcomes and scales page resolvers
- Behat clean up
2023-08-01 15:53:59 +08:00
Ilya Tregubov 5ab94239f4 weekly release 4.0.9+ 2023-07-28 10:44:21 +08:00
Ilya Tregubov a42e7c9294 Merge branch 'MDL-78782-400' of https://github.com/ferranrecio/moodle into MOODLE_400_STABLE 2023-07-27 10:00:40 +08:00
Ferran Recio 78d7191ea5 MDL-78782 behat: optimize with editing mode step
The current I am on course homepage with editing mode loads twice the
course page. This patch prevents this from happening by going directly
to editmode.php.
2023-07-26 16:19:48 +02:00
Huong Nguyen 95b25c6049 weekly release 4.0.9+ 2023-07-21 20:56:36 +07:00
AMOS bot 1f18fb7f06 Automatically generated installer lang files 2023-07-19 00:10:57 +00:00
Paul Holden dcc6ad76f1 MDL-78703 behat: fix HTTP GET method capitalization on redirect. 2023-07-15 01:00:09 +01:00
Ilya Tregubov 147c818fb0 weekly release 4.0.9+ 2023-07-14 09:25:45 +08:00
Andrew Nicols bfc7a5e99f Merge branch 'MDL-78157-400' of https://github.com/golenkovm/moodle into MOODLE_400_STABLE 2023-07-13 09:48:31 +08:00
Eloy Lafuente (stronk7) a84a4414da Merge branch 'MDL-78673-400-fix' of https://github.com/sarjona/moodle into MOODLE_400_STABLE 2023-07-12 19:03:31 +02:00
Sara Arjona 90423dac85 MDL-78673 behat: Replace arrow function 2023-07-12 18:46:18 +02:00
Sara Arjona ad99d89bfb Merge branch 'MDL-78673-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-07-12 18:18:27 +02:00
Andrew Nicols 24e0649aa2 Merge branch 'MDL-77450-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-07-13 00:10:32 +08:00
Sara Arjona 66b25cb692 Merge branch 'MDL-78455-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-07-12 17:37:26 +02:00
Angelia Dela Cruz 6fcd9b72ba MDL-77450 Behat: Behat cleanup and optimisation 2023-07-11 14:42:44 +08:00
Andrew Nicols 4136c6b0c9 MDL-78673 grade: Switch test to use generators 2023-07-10 11:31:55 +08:00
Andrew Nicols 64e4988bd6 MDL-78673 grade: Switch to behat navigation steps 2023-07-10 11:31:55 +08:00
Andrew Nicols 7fe6a2d902 MDL-78673 grade: Address random failure due to toast 2023-07-10 11:31:54 +08:00
Andrew Nicols b621be27c7 MDL-78673 behat: Allow plugins to define their expansion of > 2023-07-10 11:31:54 +08:00
Ilya Tregubov 9544616f4c weekly release 4.0.9+ 2023-07-07 11:52:36 +08:00
Ilya Tregubov ef6f73cb66 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-07-07 11:52:33 +08:00
Misha Golenkov 4d1b3728ea MDL-78379 js: Add missing newline character 2023-07-06 16:18:07 +10:00
Jun Pataleta dd7db44ee4 Merge branch 'MDL-78488_400' of https://github.com/t-schroeder/moodle into MOODLE_400_STABLE 2023-07-06 11:18:05 +08:00
Andrew Nicols f3d31d27cf Merge branch 'MDL-78614-400' of https://github.com/noeldemartin/moodle into MOODLE_400_STABLE 2023-07-05 20:31:15 +08:00
Andrew Nicols 256809abf5 Merge branch 'MDL-78158-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-07-05 10:24:19 +08:00
Andrew Nicols 4f39c6e364 Merge branch 'MDL-75324-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-07-04 13:30:26 +08:00
Simey Lameze 7b3360099d MDL-75324 behat: use a proper step to verify completion status 2023-07-04 11:20:32 +08:00
Angelia Dela Cruz 5309a9d11a MDL-78158 behat: Behat cleanup and optimisation 2023-07-04 09:32:31 +08:00
Angelia Dela Cruz 37ec0892ec MDL-78158 Behat: Use data generators to add blocks 2023-07-04 09:11:12 +08:00
AMOS bot 5d1519b3a2 Automatically generated installer lang files 2023-07-04 00:11:34 +00:00
Noel De Martin 498d9ccb4a MDL-78614 behat: Remove trailing quotes 2023-07-03 11:18:56 +02:00
Tim Schroeder 5dbc4d269d MDL-78488 question bank: don't load statistics when they are disabled 2023-06-30 11:45:27 +02:00
AMOS bot 26c2bb411e Automatically generated installer lang files 2023-06-30 00:08:36 +00:00
Huong Nguyen 7a98a43042 weekly release 4.0.9+ 2023-06-29 22:22:26 +07:00
Paul Holden ca3ec4d0b9 Merge branch 'MDL-78521-fix' of https://github.com/sarjona/moodle into MOODLE_400_STABLE 2023-06-29 11:53:29 +01:00
Sara Arjona efc3e28c31 MDL-78521 badges: FixingPHP lint
This patch fixes a PHP lint error introduced in MDL-75552.
As this issue was closed a few weeks ago, I'm adding it to one
random issue integrated this week.

Thanks Eloy and Paul for your help! :-*
2023-06-29 12:39:54 +02:00
Ilya Tregubov 00916e1031 Merge branch 'MDL-77286-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-06-29 09:44:08 +08:00
Ilya Tregubov 0e60bb75f1 Merge branch 'MDL-78521-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-06-29 09:38:49 +08:00
Simey Lameze 52966bf12f MDL-77286 behat: change window size to large to avoid random fails 2023-06-27 17:12:28 +08:00
Jun Pataleta 98823e97ce Merge branch 'MDL-76724_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2023-06-26 19:38:17 +08:00
Simey Lameze 3c143613aa MDL-78521 behat: reload page before asserting content
This commit also reword a Scenario name to make it unique
2023-06-26 11:19:56 +08:00
Eloy Lafuente (stronk7) 1b8b3e9ac8 MDL-76724 environment: Moodle 4.3 requirements
Note that there aren't changes since Moodle 4.2
so this is a complete copy of the information
for that version.
2023-06-24 12:30:08 +02:00
Sara Arjona 5d634426a5 weekly release 4.0.9+ 2023-06-23 09:00:29 +02:00
Sara Arjona ae430b853d Merge branch 'MDL-76635-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-06-21 14:02:33 +02:00
Simey Lameze a135175c9c MDL-76635 comment: render the delete icon in the right place
Special thanks to Andrew Lyons.
2023-06-21 12:45:45 +08:00
Simey Lameze aa0cef5e5b MDL-76635 behat: improve submission comments test 2023-06-21 12:45:45 +08:00
Ilya Tregubov 5371d63c1a Merge branch 'MDL-77525/400' of https://github.com/skodak/moodle into MOODLE_400_STABLE 2023-06-20 13:06:07 +08:00
Jun Pataleta c2e6b8083a Merge branch 'MDL-74021-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-06-20 10:13:13 +08:00
Angelia Dela Cruz 2c8f3c7ed5 MDL-74021 behat: Page behat generators use UI
Replace steps that manually add page instances via the UI and use
Behat generators. This improves the speed of Behat test runs.

Co-authored-by: Simey Lameze <simey@moodle.com>
2023-06-19 17:20:13 +08:00
Petr Skoda abc2201890 MDL-77525 filter: add filtering stages 2023-06-17 16:51:08 +02:00
Andrew Nicols 2c14ed0469 weekly release 4.0.9+ 2023-06-16 12:04:34 +08:00
Andrew Nicols 1650d0a1a8 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-06-16 12:04:30 +08:00
Angelia Dela Cruz e79a71ca41 MDL-78455 Behat: Behat cleanup and optimisation for blog/tests/behat 2023-06-16 09:21:57 +08:00
Angelia Dela Cruz cb0d17f530 MDL-78455 Behat: Add Behat for adding, editing and deleting blog entries 2023-06-16 09:21:22 +08:00
Ilya Tregubov 00fbed085a Merge branch 'MDL-70152-400-fix' of https://github.com/ilyatregubov/moodle into MOODLE_400_STABLE 2023-06-15 12:11:59 +08:00
Simey Lameze 224da4b2b0 MDL-70152 behat: reply to post using data generator 2023-06-15 12:07:11 +08:00
Andrew Nicols 8ff3117478 Merge branch 'MDL-69231-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-06-15 10:55:48 +08:00
Ilya Tregubov 4ce13b411d Merge branch 'MDL-76733-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-06-15 10:24:50 +08:00
Andrew Nicols 220132391e MDL-76733 mod_assign: Remove JS requirement for time-based tests
Converting these tests to use an onlinetext submission and drop the JS
requirement means that they are much less susceptible to runtime issues,
and not susceptible to those caused by JS at all.
2023-06-15 09:34:06 +08:00
Andrew Nicols 75f833524b MDL-76733 mod_assign: Address random failure
This random failure was happening because of the time required to render
and interact with the file picker which sometimes exceeded 2 seconds,
depending on the speed of the machine running the tests.

Converting these tests to use an onlinetext submission and drop the JS
requirement means that they are much less susceptible to runtime issues,
and not susceptible to those caused by JS at all.
2023-06-15 09:33:42 +08:00
AMOS bot afedc33bd5 Automatically generated installer lang files 2023-06-15 00:16:18 +00:00
Sara Arjona f0de6ba61b Merge branch 'MDL-76733-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-06-14 16:22:49 +02:00
Jun Pataleta 2b4e791a66 Merge branch 'MDL-78466-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-06-14 16:00:04 +08:00
Ilya Tregubov cbea4fa598 Merge branch 'MDL-70152-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-06-14 13:25:29 +08:00
Andrew Nicols 01e9d88cef MDL-78466 cache: Add new result_found helper
This helper is intended to prevent recurrences of this issue by moving
the guess-work to something well tested.
2023-06-14 09:35:40 +08:00
Andrew Nicols dbdd331392 MDL-78466 cache: Perform strict test on static cache values
If a statically accelerated cache returns an empty array then the value
was still fetched from the non-static cache store.

The check of the `$result` should be strictly checked against `false`,
which is the value used if no value was found.
2023-06-14 09:28:48 +08:00
Ilya Tregubov 19c271d45e Moodle release 4.0.9 2023-06-10 14:08:16 +08:00
Ilya Tregubov c24ae4c087 weekly release 4.0.8+ 2023-06-09 13:14:32 +08:00
Sara Arjona 3828e7ad80 Merge branch 'MDL-78415-400-enfix' of https://github.com/vmdef/moodle into MOODLE_400_STABLE 2023-06-08 20:33:22 +02:00
Helen Foster 3c37cae46b MDL-78415 lang: Import fixed English strings (en_fix) 2023-06-08 12:07:48 +01:00
Sara Arjona 792c35ac30 Merge branch 'MDL-77946-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-06-08 06:57:02 +02:00
Sara Arjona 87945beba8 Merge branch 'MDL-78308-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-06-08 06:48:46 +02:00
Andrew Nicols bafc80cb04 Merge branch 'MDL-75696_400_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_400_STABLE 2023-06-08 12:31:43 +08:00
Andrew Nicols d253d86307 Merge branch 'MDL-78364-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-06-08 12:20:04 +08:00
Andrew Nicols 3b1205dae8 Merge branch 'MDL-78008_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-06-08 12:10:48 +08:00
Andrew Nicols 382f973727 Merge branch 'MDL-77933-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2023-06-08 12:03:54 +08:00
Andrew Nicols 546baf2d7a MDL-76838 core: Add unit test for invalid unicode sequences 2023-06-08 11:59:28 +08:00
Jake Dallimore 5a423b4e56 MDL-77933 enrol_lti: return site name and logo during registration
Instead of the Moodle icon and the 'moodle' lang string, return the
site fullname and compact logo during dynamic registration.
2023-06-08 11:59:12 +08:00
Andrew Nicols 3801d87036 Merge branch 'MDL-76838-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-06-08 11:54:54 +08:00
Jun Pataleta dbf53a848a Merge branch 'MDL-75898-40' of https://github.com/matthewhilton/moodle into MOODLE_400_STABLE 2023-06-08 11:42:59 +08:00
Andrew Nicols 23376f93b8 Merge branch 'MDL-78026-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-06-08 11:37:17 +08:00
Andrew Nicols eb9c234345 Merge branch 'MDL-77264-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-06-08 11:33:17 +08:00
Andrew Nicols bbe3109992 Merge branch 'MDL-76821-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2023-06-08 11:30:23 +08:00
Andrew Nicols 72e923f90b Merge branch 'MDL-77799-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2023-06-08 11:21:48 +08:00
Jun Pataleta 452d18a8bc Merge branch 'MDL-70833_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2023-06-08 11:12:30 +08:00
Andrew Nicols bc50b73d15 Merge branch 'MDL-78408-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2023-06-08 11:06:14 +08:00
Andrew Nicols 2f42e68b80 Merge branch 'wip_MDL-78400_m40' of https://github.com/gjb2048/moodle into MOODLE_400_STABLE 2023-06-08 10:59:32 +08:00
Andrew Nicols 27249f3681 Merge branch 'MDL-76406-400' of https://github.com/safatshahin/moodle into MOODLE_400_STABLE 2023-06-08 10:41:47 +08:00
Jun Pataleta 68fa6f77d1 Merge branch 'MDL-76842-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2023-06-08 10:34:05 +08:00
Jun Pataleta 0f4f1c60d4 Merge branch 'MDL-78229-400' of https://github.com/lucaboesch/moodle into MOODLE_400_STABLE 2023-06-08 10:30:15 +08:00
Jake Dallimore e76dd382a0 MDL-76842 enrol_lti: fix user record updates in user_repository
Only call user_update_user when the relevant user data has changed,
preventing unnecessary user_updated events. This also removes the
line setting timemodified on the user since user_update_user already
handles this.
2023-06-08 10:29:40 +08:00
Jun Pataleta 5a04d7fc30 Merge branch 'MDL-78431-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-06-08 10:28:12 +08:00
Jake Dallimore ddcb3c7d13 MDL-76842 enrol_lti: test confirming the erroneous user_updated events
This test will fail until the fix - only updating users when data has
changed - is put in place in the following commit.
2023-06-08 09:43:11 +08:00
Jake Dallimore 1946ca5954 MDL-76842 auth_lti: don't update the user unless data has changed
When receiving data from the LTI launch, or service call, only update
the user record when we know something has changed. This prevents the
creation of many \core\event\user_updated events.
2023-06-08 09:43:10 +08:00
Jake Dallimore 2dcd4f8e78 MDL-76842 auth_lti: don't update the user after membership creation
This isn't required and generates excess events. The only thing update
does, other than update the user fields, is to update the picture, but
in this case, that's unset in membership-based auths anyway, so it's
entirely safe to remove this.
2023-06-08 09:42:19 +08:00
Jake Dallimore bc29553eb7 MDL-76842 auth_lti: test confirming the erroneous user_updated events
This test will fail until the fix - only updating users when data has
changed - is put in place in the following commit.
2023-06-08 09:42:19 +08:00
Stevani Andolo 777e72beff MDL-78215 core: Added support unit test 2023-06-08 09:37:21 +08:00
Stevani Andolo 6ae19a6c9a MDL-78215 core: support checking if 0.0.0.0 is in subnet 2023-06-08 09:37:21 +08:00
Jun Pataleta ae685a0809 Merge branch 'MDL-78378-400' of https://github.com/sarjona/moodle into MOODLE_400_STABLE 2023-06-07 23:25:28 +08:00
Andrew Nicols 555622abf2 MDL-78431 core: Abort after config for source maps 2023-06-07 21:08:00 +08:00
Sara Arjona 815f0b338f Merge branch 'MDL-78322-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-06-07 12:43:16 +02:00
Sara Arjona 52ea8ee444 Merge branch 'MDL-78352-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-06-07 12:41:21 +02:00
Sara Arjona f64987f510 Merge branch 'MDL-78047-400' of https://github.com/stevandoMoodle/moodle into MOODLE_400_STABLE 2023-06-07 18:20:27 +08:00
Sara Arjona 12a20b2d7a Merge branch 'MDL-78010-400' of https://github.com/ferranrecio/moodle into MOODLE_400_STABLE 2023-06-07 18:20:27 +08:00
sam marshall 16cb641103 MDL-77799 webservice_rest: unhandled exception should go in server log 2023-06-07 10:05:43 +01:00
Jake Dallimore d293744f08 MDL-78408 core: fix restoration of anchor to wantsurl during login 2023-06-07 14:31:58 +08:00
Stevani Andolo 6b4ae661dc MDL-78047 core_courseformat: Wrapping added to text and media activity 2023-06-07 12:58:27 +08:00
Paul Holden e8cc468184 MDL-77193 mnet: correct sorting of access control table. 2023-06-07 09:53:57 +08:00
Ferran Recio e71f208a90 MDL-78010 mod_label: improve upgrade performance 2023-06-06 21:33:11 +02:00
Petr Skoda 90c23c7543 MDL-76683 core_group: fix template 2023-06-06 09:25:17 +00:00
Sara Arjona 34fbef096e Merge branch 'MDL-76936-400' of https://github.com/HirotoKagotani/moodle into MOODLE_400_STABLE 2023-06-06 11:22:21 +02:00
Paul Holden 403bf57a8c MDL-78364 reportbuilder: earlier calculation of schedule recipients. 2023-06-05 16:22:35 +01:00
Gareth Barnard 4fbc60a455 MDL-78400 JavaScript: Building JS puts build files in src dir on Win. 2023-06-05 14:50:45 +01:00
Luca Bösch bb54ea04ea MDL-78229 quiz: quiz editing page less narrow.
This is a backport of MDL-77872.
2023-06-02 08:34:50 +02:00
Sara Arjona 70f5d8d547 MDL-78378 survey: Display default introduction when description is empty
This is a regression when the activity pages were redessigned in Moodle
4.0. The default introduction should be displayed when the activity
description is empty.
2023-06-02 08:19:43 +02:00
Simey Lameze 78aa80dd5f MDL-69231 behat: remaining work for role capability generator
This commit does few things:
* Unify data generators usage to role short name.
* Replace remaining manual steps to use the new data generator.
* Also replaced other manual steps to set config to use data generators.
* Tidy up of some tests, aligning pipes and splitting one line steps into multiple lines.
* Fixes tests to have one Given/When/Then per scenario.
2023-06-02 12:39:52 +08:00
Andrew Nicols 063e8fb534 MDL-69231 behat: Update tests to use new generator 2023-06-02 12:39:52 +08:00
Andrew Nicols 091aa9b872 MDL-69231 tests: Add role capability setting generator 2023-06-02 12:39:52 +08:00
Andrew Nicols 521e21d842 MDL-69231 tests: Improve existing role generator
Support definition of context levels and permissions.
2023-06-02 12:39:52 +08:00
Safat c2e0c4a533 MDL-76406 core: Add environment check for versions not supporting 8.2 2023-06-02 12:09:41 +10:00
Ilya Tregubov 52a4f2d030 weekly release 4.0.8+ 2023-06-02 09:55:48 +08:00
Ilya Tregubov 0630a13602 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-06-02 09:55:46 +08:00
Andrew Nicols 36ee03c6f2 Merge branch 'MDL-77749-unset-config-duration-MOODLE_400_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_400_STABLE 2023-06-01 12:03:46 +08:00
Andrew Nicols 38e27840b7 Merge branch 'MDL-78327_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-06-01 10:53:22 +08:00
Ilya Tregubov dbbd50c5d2 Merge branch 'MDL-78196-400' of https://github.com/jleyva/moodle into MOODLE_400_STABLE 2023-06-01 10:40:57 +08:00
Ilya Tregubov c7262e9ffb Merge branch 'MDL-77259-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-06-01 09:30:34 +08:00
Ilya Tregubov 57faab092e Merge branch 'MDL-75961-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-06-01 09:08:52 +08:00
AMOS bot 1868ec834e Automatically generated installer lang files 2023-06-01 00:10:59 +00:00
Sara Arjona 7d496dcfda Merge branch 'MDL-76693-400' of https://github.com/roland04/moodle into MOODLE_400_STABLE 2023-05-31 17:09:10 +02:00
Simey Lameze 770cb3107b MDL-77547 behat: run recalculate task before checking values 2023-05-31 15:04:57 +02:00
Tim Hunt 32909a830d MDL-78327 question stats: store same timestamp for all question stats 2023-05-31 12:04:53 +01:00
Sara Arjona 3c93359478 Merge branch 'MDL-77547-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-05-31 12:51:49 +02:00
Sara Arjona 3f70b37d28 Merge branch 'MDL-77907-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-05-31 12:18:18 +02:00
Sara Arjona 3c84e5e76f Merge branch 'MDL-78148-400' of https://github.com/ferranrecio/moodle into MOODLE_400_STABLE 2023-05-31 11:42:22 +02:00
Ilya Tregubov 5ab14b5143 Merge branch 'MDL-73138-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-30 12:54:39 +08:00
Ilya Tregubov 71ff178dd1 Merge branch 'MDL-77723-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-30 12:45:27 +08:00
AMOS bot 6478958c64 Automatically generated installer lang files 2023-05-30 00:10:32 +00:00
Jun Pataleta 14be143e7d Merge branch 'MDL-78314-400' of https://github.com/lucaboesch/moodle into MOODLE_400_STABLE 2023-05-29 17:34:54 +08:00
Mikel Martín 957c2121b3 MDL-76693 core_course: Fix activity chooser summary overlap
In activity chooser modal, there is an overlap issue in the information "sub-page".
Changing some classes in the layout solves the problem.
2023-05-29 09:38:25 +02:00
Ferran Recio a32e4be652 MDL-78148 core_courseformat: reduce the use of uniqid in templates 2023-05-29 08:40:15 +02:00
Angelia Dela Cruz e0e4b2fad2 MDL-70152 behat: Forum behat generators use UI
Behat cleanup and optimisation
2023-05-29 10:24:10 +08:00
Angelia Dela Cruz b6928826e1 MDL-70152 behat: Forum behat generators use UI
Replace steps that manually add forum and forum post instances
via the UI and use Behat generators. This improves the speed of
Behat test runs.
2023-05-29 10:24:02 +08:00
Andrew Nicols 35cea45566 MDL-70152 forum: Create behat data generator
* Convert track_read_posts.feature to use activity and discussion
data generators as exmaple.

Co-authored-by: Jun Pataleta <jun@moodle.com>
2023-05-29 10:24:02 +08:00
Eloy Lafuente (stronk7) f9e4dcba02 MDL-70833 auth_mnet: Fix update_enrolments request
This is a backport of the commit integrated as part
of MDL-76055 where we needed the update_enrolments
working to be able to test them. Summary:

- Fixes a typo in table name preventing it to be updated ever.
- Fix outer join that was missing records.
- Stop playing and mixing ids (local and remote).
- Better control which enrolments have to be kept (previously
  they were being deleted immediately after creating them).
- Improve the coding style of inserts.
- Modernise the deletions to use sql helper and work win 0..n ids.
2023-05-26 18:05:31 +02:00
Luca Bösch d175832b54 MDL-78314 quiz: style button fieldset in "Manually grade question". 2023-05-26 15:11:33 +02:00
Paul Holden 959bb8ba01 MDL-78352 webservice: use default user context page heading. 2023-05-26 12:27:48 +01:00
Paul Holden d9f99faf70 MDL-73138 user: avoid double encoding participant filter values. 2023-05-26 10:25:56 +01:00
Paul Holden 53dad06c2f MDL-73138 group: remove double encoding of group/role names. 2023-05-26 10:25:56 +01:00
Sara Arjona abb8647b62 weekly release 4.0.8+ 2023-05-26 09:29:00 +02:00
Sara Arjona 2f36b9f6b8 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-05-26 09:28:56 +02:00
Jun Pataleta fcf13290e9 Merge branch 'MDL-78346-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-05-25 16:22:28 +08:00
Andrew Nicols fbc7ce063f MDL-78346 tool_langimport: Print any notifications before redirect 2023-05-25 14:55:42 +08:00
Jun Pataleta 723c26a244 Merge branch 'MDL-76065-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-05-25 11:57:17 +08:00
Jun Pataleta 2e7b8495b9 Merge branch 'MDL-78320-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-25 11:49:00 +08:00
Jun Pataleta 403534f4d1 Merge branch 'MDL-78346-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-05-25 11:46:46 +08:00
Andrew Nicols 57e7158352 MDL-78346 tool_langimport: Redirect after action to prevent resubmission 2023-05-25 11:43:41 +08:00
Andrew Nicols 6f3c18b235 MDL-78346 tool_langimport: Prevent uninstallation of invalid targets 2023-05-25 11:43:41 +08:00
Andrew Nicols a110b023da Merge branch 'MDL-77995-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-25 09:50:57 +08:00
Paul Holden 877abfd439 MDL-78320 quiz_overview: format group names in overview report. 2023-05-24 16:19:37 +01:00
Simey Lameze 70d21a7e13 MDL-75961 behat: review and enhance mod_imscp tests
This commit makes the following improvements to mod_imscp tests:
* Removes unnecessary @javascript and @_file_upload tags from non-JS tests.
* Removes user/enrol data generation from tests that can be performed as admin.
* Removes "I log out" and other unnecessary steps.
2023-05-24 10:42:44 +08:00
Angelia Dela Cruz e00ab12485 MDL-75961 behat: IMSCP behat generators use UI
Replace steps that manually add IMSCP instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2023-05-24 10:42:44 +08:00
Sara Arjona 9749d7021b Merge branch 'MDL-78176_400' of https://github.com/AnupamaSarjoshi/moodle into MOODLE_400_STABLE 2023-05-23 17:46:06 +02:00
Sara Arjona 41692c0191 Merge branch 'MDL-78242-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-23 17:37:05 +02:00
Angelia Dela Cruz 3b1625e332 MDL-77547 Behat: Coverage to check for bad multichoice questions 2023-05-23 15:23:46 +08:00
Jun Pataleta 5fa205bc47 Merge branch 'MDL-76688/400' of https://github.com/skodak/moodle into MOODLE_400_STABLE 2023-05-23 15:21:52 +08:00
Simey Lameze 81bb508e7e MDL-76065 behat: Review and enhance mod_lti Behat tests
In this commit, the following improvements were made to the mod_lti Behat tests:

* Replaced manual steps with data generators to set completion.
* Eliminated unnecessary user and course enrolments data generation as some tests can be performed as an admin.
* Removed the @javascript tag from non-JS tests.
* Updated the LTI data generator to generate an internal Moodle URL in the toolurl field, enabling the use of XML files.
2023-05-23 12:28:44 +08:00
Angelia Dela Cruz 6d35e44e17 MDL-76065 behat: LTI behat generators use UI
Replace steps that manually add LTI instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2023-05-23 12:28:32 +08:00
Andrew Nicols 8340d958cd MDL-76733 mod_assign: Tidy up availability behat tests
This feature had lots of small issues and it made sense to fix it whilst
investigating a query:

* most of the steps do not require JavaScript
* it uses the UI to set an admin setting, for every scenario:
** only 3-4 of the scenarios actually test that setting
** it is very slow to do it his way when we have a generator step we can use
* we create two assignments in the Background, but each test only uses one of them
* we create the assignments in the Background with a generator, but
  update them to modify various settings in each Scenario using the UI
  when we should just create one assignment for each test and set it up
  correctly for that Scenario
2023-05-23 10:58:07 +08:00
Andrew Nicols b3d5c50f90 Merge branch 'MDL-78170-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-23 10:28:47 +08:00
AMOS bot 75636cd51d Automatically generated installer lang files 2023-05-23 00:10:24 +00:00
Paul Holden fa042d8849 MDL-76838 backup: remove invalid utf8 code sequences writing XML.
The surrogate blocks FFFE and FFFF are non-characters, specifically
disallowed in the character range for XML documents.
2023-05-22 21:04:17 +01:00
Paul Holden 744a3438d8 MDL-78322 tool_cohortroles: don't assign roles to deleted users. 2023-05-22 20:14:45 +01:00
Tim Hunt d550d1361d MDL-78008 qtype_multianswer: random guess score with missing subqs
Sometimes, due to other bugs, subquestions can get lost, so the code
needs to be robust to this.
2023-05-22 17:02:39 +01:00
Sara Arjona 0d650c383f Merge branch 'MDL-78211-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-22 17:41:53 +02:00
Sara Arjona 127d614364 Merge branch 'MDL-78226-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-22 17:29:32 +02:00
Sara Arjona 5f0c5919c7 Merge branch 'MDL-78225-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-22 12:04:24 +02:00
Jun Pataleta 3cd579649d Merge branch 'MDL-78157-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-05-22 15:29:23 +08:00
Andrew Nicols e4f344282e MDL-78157 js: Be more careful about inserting missing module names
It is perfectly legitimate to create and/or use a method named `define`
in JS outside of RequireJS.

Unfortunately our requirejs.php wrapper is dumb and does not understand
this.

In the long term we need to stop doing this at all. We really should be
able to already, but every time I try to something prevents it.

In the interim, this change adds a secondary check to see if there is an
existing define which _does_ have the right name in it already.
2023-05-22 14:40:41 +08:00
Anupama Sarjoshi dc2d6f879a MDL-78176 Question: Fix D&D onto image and D&D markers theme issue 2023-05-19 16:26:01 +01:00
Jun Pataleta d6707840e0 weekly release 4.0.8+ 2023-05-19 21:14:04 +08:00
Jun Pataleta c94c9f4769 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-05-19 21:14:01 +08:00
Andrew Nicols 2fdf057520 MDL-77733 behat: Remove extraneous no-axe option
There is no need for no-axe if we make axe a boolean value. We already
have automatic support for negated boolean flags.
2023-05-19 11:28:19 +08:00
Mark Johnson 34134cdfc0 MDL-75696 quiz: Fix restoring pre-4.0 quizzes with random questions
Restoring multiple quizzes from a pre-4.0 backup was broken when
the quizzes shared a random question. This is because after the
first quiz created a set reference in place of the random question,
it deleted the question record so it was not there for the second
quiz to use. This change tracks the IDs of random questions so
they can be deleted at the end.
2023-05-18 16:01:03 +01:00
Mark Johnson ad0ea3ea97 MDL-75696 quiz: Set default value for includingsubcategories on restore 2023-05-18 16:01:03 +01:00
Mark Johnson e815a1c376 MDL-75696 backup: Fix backup version checks
Several version checks were incorrectly using
restore_controller::info::moodle_release instead of moodle_version as a
version number. This replaces all of those checks with a common pair of
methods to make the checks clearer and more maintainable.
2023-05-18 16:01:02 +01:00
Paul Holden 01b12e91ac MDL-78308 output: better parsing of custom menu item configuration.
Previously certain values would cause deprecation notices in PHP8.1.
2023-05-18 10:19:16 +01:00
Jun Pataleta 2798d551c5 Merge branch 'MDL-78135-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-18 11:54:40 +08:00
Andrew Nicols 357a23967e Merge branch 'MDL-78260_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-05-18 11:51:58 +08:00
Andrew Nicols 83c9db9e08 Merge branch 'MDL-77733-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-05-18 11:44:47 +08:00
Tim Hunt 0a42c83bce MDL-78260 quiz stats: fix View details for random questions 2023-05-17 09:05:33 +01:00
Ilya Tregubov 2fa03a28ea Merge branch 'MDL-78152-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-17 15:08:04 +08:00
AMOS bot f7200165ec Automatically generated installer lang files 2023-05-17 00:10:54 +00:00
Jun Pataleta df846aca78 Merge branch 'MDL-77439-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-05-16 20:39:22 +08:00
Peter Mayer 11d09e2a4c MDL-77439 lib_filebrowser: Splitup query to speedup get_courses 2023-05-16 20:38:06 +08:00
Paul Holden 41f5254aab MDL-78026 group: format retrieved group names from external methods. 2023-05-16 10:10:12 +01:00
Paul Holden 4acab9aaaf MDL-77264 grade: define fallback name of abstract export event. 2023-05-16 09:54:46 +01:00
Paul Holden aab6b69293 MDL-77259 tool_monitor: use core component API for event list.
The previous method of hardcoded filepaths, specifically for events
belonging to core, meant that any events belongs to core subsystems
were omitted (core_customfield, core_h5p, core_payment, etc).
2023-05-16 09:50:28 +01:00
Angelia Dela Cruz cd4b6f36ab MDL-77907 Behat: Coverage for duplicating competency framework 2023-05-16 16:28:01 +08:00
Jun Pataleta db862f2be8 Merge branch 'MDL-75576_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-05-16 09:58:54 +08:00
Andrew Nicols a18b419ad1 Merge branch 'MDL-77432-400' of https://github.com/lucaboesch/moodle into MOODLE_400_STABLE 2023-05-15 22:12:56 +08:00
Andrew Nicols 6131e8c4a2 Merge branch 'MDL-78140-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-15 22:04:07 +08:00
Paul Holden 4b8c829ea8 MDL-78242 roles: consistently check course contact config. 2023-05-15 13:04:50 +01:00
Tim Hunt 118d3e855a MDL-75576 quiz/question statistics: don't expire by time
Previously, a set of calculated quiz statistics would only 'last' for
15 minutes. Then they would be considered invalid and not used.

Now, computed statistics are kept indefinitely. Instead, when a new
batch of values are computed for a particular set of settings, older numbers
for the same settings are deleted first. Therefore,
question_stats_cleanup_task is no more.
2023-05-15 10:05:45 +01:00
Tim Hunt a3ba4772a5 MDL-75576 quiz statistics: don't time-limit the use of cached values
This should have been done as part of  MDL-74762, but was missed.
2023-05-15 10:05:43 +01:00
Tim Hunt 5f2ce7c383 MDL-75576 quiz statistics: don't compute when a user views the qbank
Previously, when users viewed the question bank, if the quiz statistics
had not already been calculated, we would try to compute them there an then.
This could be very, very slow, leading to session lock problems.

Now, we never try to compute the statistics on the fly. Instead, we rely
on the existing \quiz_statistics\task\recalculate scheduled task to do it.
2023-05-15 10:05:43 +01:00
Tim Hunt a187d7930d MDL-75576 question bank: bulk-load statistics for all questions at once
There is a new method on the column class, for the column to declare any
statistics it requires. The question then efficiently loads all those
statistics in one go, and makes them available as the columns are
rendererd, or do any subsequent processing.
2023-05-15 10:05:43 +01:00
Tim Hunt 9deabf8344 MDL-75576 qbank_statistics: remove copy-pasted PHPdoc comments
These methods are already correctly documented on the base class.
2023-05-15 10:05:43 +01:00
Paul Holden 1a217b5b0e MDL-77995 javascript: more precise path matching building JS. 2023-05-15 09:05:56 +01:00
Paul Holden 236befd139 MDL-77723 user: ensure identity refers to a valid custom profile field. 2023-05-15 09:03:45 +01:00
Jun Pataleta eb836fee86 Merge branch 'MDL-76903-400' of https://github.com/laurentdavid/moodle into MOODLE_400_STABLE 2023-05-15 12:05:56 +08:00
Andrew Nicols a0fe28c1b7 Merge branch 'MDL-78125-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-05-15 11:59:21 +08:00
Jun Pataleta 63ae4b4297 MDL-78125 qtype_multianswer: Convert popover trigger to link
According to Boostrap Popovers documentation for popovers triggered
on focus:
"For proper cross-browser and cross-platform behavior, you must use the
<a> tag, not the <button> tag, and you also must include a tabindex
attribute."
2023-05-12 22:47:28 +08:00
Luca Bösch d7c80d9c14 MDL-77432 mod_assign: Confirm submission page standard and not incourse 2023-05-12 09:42:22 +02:00
Ilya Tregubov 0ec98042d6 weekly release 4.0.8+ 2023-05-12 08:56:56 +08:00
Ilya Tregubov 4a1e0aa084 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-05-12 08:56:54 +08:00
Cameron Ball 89d8c9ec0a MDL-75898 assignfeedback_editpdf: Add randomness to PDF annotations
The behat step "I draw on the pdf" creates the exact same line every
time it is called. This can cause issues in a situation like the following:

- Student uploads PDF
- Teacher annotates page 1
- Student edits submission, adding another PDF
- Teacher annotates page 1 again
- When the student looks at their annotated PDF it appears the same as
  before they added the second PDF (i.e., they don't see extra pages for
  the second PDF)

Exactly why this happens isn't clear, and in practice this probably never
happens because the chances of drawing the exact same line twice are almost
0. However, when testing the functionality added in MDL-45580 it was causing
issues.
2023-05-12 09:18:40 +10:00
Cameron Ball fc66d6cfd9 MDL-75898 assignfeedback_editpdf: Don't poll readonly pages
When requesting the readonly version of pages (which contain
teacher annotations), they should always be available - the
PHP side even throws an exception when they're not. This
means we don't need to worry about polling document converters
from the JS side and can just return the pages immediately.
2023-05-12 09:18:40 +10:00
Cameron Ball 0c2a15738f MDL-75898 assignfeedback_editpdf: Improve page count mismatch logic
MDL-45580 introduced the readonlypages filearea, and when loading
page images for an attempt, the code would check if the pages existed
, creating them if not. The code inside this block also contained
a guard clause for the case where no readonly pages existed - which
is a situation that should not happen. Whenever readonly pages are
requested, they should exist.

MDL-66626 introduced a situation where page counts not matching would
also retrigger page generation. However this led to a situation where
the guard clause could be entered when requesting readonly pages.

This patch refactors the guard clause, and improves the logic to
regenerate pages.
2023-05-12 09:18:40 +10:00
Paul Holden 92547b151a MDL-78226 contentbank: verify presence of bank heading element. 2023-05-11 23:16:35 +01:00
Paul Holden 141afa84b4 MDL-78225 output: add sesskey for post requests only in renderables. 2023-05-11 22:48:57 +01:00
Laurent David 5270236fc4 MDL-76903 mod_book: Fix activity completion
* Check only visibles pages to set completion status.
* Make sure we have consistent completion value in API and on the view page.
2023-05-11 12:09:21 +02:00
Paul Holden 3f05904a07 MDL-78140 analytics: improve context restrictions manager test.
This test apparently fails sporadically on Oracle, without obvious
causes. The failure however was hard to interpret, and the test
itself made a lot of assumptions about the system re. naming of
categories/courses. This could be prone to errors, so improve that.
2023-05-11 09:39:32 +01:00
Paul Holden ad238868ed MDL-77946 access: fix category sort order of capability contexts. 2023-05-11 08:33:37 +01:00
Jun Pataleta 1072a3c9e3 Merge branch 'MDL-76344-400-fix' of https://github.com/stevandoMoodle/moodle into MOODLE_400_STABLE 2023-05-11 14:35:46 +08:00
Stevani Andolo 13c4b9089d MDL-76344 course: Fixed course image 'non image file' layout 2023-05-11 14:16:41 +08:00
Jake Dallimore edda29c185 Merge branch 'MDL-75552-400' of https://github.com/sarjona/moodle into MOODLE_400_STABLE 2023-05-11 11:24:10 +08:00
Sara Arjona 4aecc7b5df Merge branch 'MDL-78040-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-10 19:45:25 +02:00
Paul Holden 38941d0fda MDL-78211 contentbank: fix context option when formatting categories. 2023-05-10 17:42:31 +01:00
Juan Leyva 339244d1b7 MDL-78196 user: Fix files used space check 2023-05-10 17:17:44 +02:00
Andrew Nicols 7371e3562f Merge branch 'MDL-77592-400' of https://github.com/golenkovm/moodle into MOODLE_400_STABLE 2023-05-10 13:04:09 +08:00
Andrew Nicols bdd433354d Merge branch 'MDL-78034-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-10 13:00:45 +08:00
Ilya Tregubov a2665c8778 Merge branch 'MDL-75623-MOODLE_400_STABLE' of https://github.com/sh-csg/moodle into MOODLE_400_STABLE 2023-05-10 11:47:10 +08:00
Paul Holden 1acaa4e4a0 MDL-78170 rating: consistently calculate average rating aggregation.
Ensure it's always cast by the database as a float, to avoid loss of
precision.
2023-05-09 15:57:44 +01:00
Paul Holden a1ea84198c MDL-78152 mod_book: set permissions required for page editing. 2023-05-09 12:11:34 +01:00
Andrew Nicols a2c1c036a9 MDL-75552 badges: move apiBase consumption to backpack
The apiBase in .well-known/badgeconnect.json was ignored and it was
causing some failures when connecting or sending badges to an
external backpack.
For OBv2.1, it has been changed to always use the apiBase defined
in the badgeconnect.json backpack provider.
2023-05-09 08:51:36 +02:00
Petr Skoda bcaa98bb44 MDL-76688 filter_text: prevent LaTeX3 syntax 2023-05-08 10:12:55 +02:00
AMOS bot 50f6d69ea3 Automatically generated installer lang files 2023-05-07 00:07:22 +00:00
Paul Holden 939412bcb7 MDL-78135 completion: include required criteria library in test. 2023-05-05 16:45:50 +01:00
Jake Dallimore 660ea3df56 MDL-76821 enrol_lti: prevent legacy launches via upgraded enrolment
If the enrolment instance (the 'published resource') has been upgraded
from LTI 1.1/2.0 to LTI 1.3 (i.e. a new instance was not created),
prevent legacy launches which may occur from old resource links. Only
LTI Advantage launches should be permitted through the method.
2023-05-05 17:12:03 +08:00
Jake Dallimore ae736cca94 MDL-76821 enrol_lti: fix bug in repo causing return of legacy lti users
If the enrolment method is updated from an LTI 1.1/2.0 tool to an LTI
1.3 tool, it may have associated enrol_lti_users records not having
ltideploymentid values. These are legacy users and must not be returned
by the repository, which deals only with LTI 1.3 LTI users.
2023-05-05 17:12:00 +08:00
Jun Pataleta 36624fee4d Merge branch 'MDL-76344-400' of https://github.com/stevandoMoodle/moodle into MOODLE_400_STABLE 2023-05-05 10:34:48 +08:00
Sara Arjona 9deb29c0d6 weekly release 4.0.8+ 2023-05-04 12:43:00 +02:00
Stevani Andolo 691e7952c8 MDL-76344 course: Fixed course image 'non image file' layout 2023-05-04 10:28:29 +08:00
Paul Holden 685a2dfb73 MDL-78040 block_glossary_random: switch to block test generator.
Random failures after manually adding block instances (specifically
on slow/Oracle systems) can be entirely avoided by using the block
test generator for scenarios that are not specifically concerned with
manually adding blocks.
2023-05-03 17:17:52 +01:00
Jun Pataleta d04c0b5dae Merge branch 'MDL-77398-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-03 20:36:07 +08:00
Jake Dallimore fd643cf459 Merge branch 'MDL-77384-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-03 16:54:16 +08:00
Jake Dallimore 39a94da184 Merge branch 'MDL-78023-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-03 16:16:16 +08:00
Sara Arjona 4b0a13b2ed Merge branch 'MDL-77312-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-03 09:59:27 +02:00
Ilya Tregubov 63d423fc6d Merge branch 'MDL-77320-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-03 15:37:26 +08:00
Ilya Tregubov 4b962ce9c3 Merge branch 'MDL-77987_400' of https://github.com/AnupamaSarjoshi/moodle into MOODLE_400_STABLE 2023-05-03 12:41:02 +08:00
Jun Pataleta 3895d92601 Merge branch 'MDL-77394-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-03 10:30:53 +08:00
Jun Pataleta bc0a1b6166 Merge branch 'MDL-78038-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-03 10:25:24 +08:00
Ilya Tregubov 994d7dd845 Merge branch 'MDL-76835-400' of https://github.com/aya-saad1/moodle into MOODLE_400_STABLE 2023-05-03 09:30:25 +08:00
Sara Arjona 77cd241bdc Merge branch 'MDL-77858-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-05-02 16:49:58 +02:00
Sara Arjona 2720d9a6db Merge branch 'MDL-77791_400' of https://github.com/dvdcastro/moodle into MOODLE_400_STABLE 2023-05-02 12:04:05 +02:00
Jun Pataleta e4134fafc2 Merge branch 'MDL-76857-400' of https://github.com/sarjona/moodle into MOODLE_400_STABLE 2023-05-02 15:44:43 +08:00
Ilya Tregubov 025202b865 Merge branch 'MDL-78025_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-05-02 11:43:49 +08:00
Ilya Tregubov c36636264f weekly release 4.0.8+ 2023-04-27 19:28:42 +08:00
Sara Arjona 149319befe MDL-76857 filter_displayh5p: Improve behat tests
Although the screenshots in the failures for some of the scenarios in
filter/displayh5p/tests/behat/h5p_filter.feature, like "Render a local
H5P file as teacher" were displaying the expected result, there were
some javascript errors (probably due to behat is quicker and the
iframes were not always ready).
I've added one extra step before accessing the iframe to give more
time to the H5P player to load and confirm the page is displayed
properly.
2023-04-27 11:21:47 +02:00
Paul Holden b1f4566f5e MDL-77320 tool_licensemanager: restrict exposure of user sesskey. 2023-04-27 09:32:43 +01:00
Jun Pataleta 6bab38c1b0 Merge branch 'MDL-77883-400' of https://github.com/danghieu1407/moodle into MOODLE_400_STABLE 2023-04-27 11:09:00 +08:00
Jun Pataleta 64d50b27e6 Merge branch 'MDL-77997_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-04-27 10:40:36 +08:00
Paul Holden 726d3324d3 MDL-78038 mod_bigbluebuttonbn: observe course format section config. 2023-04-26 16:10:54 +01:00
Tim Hunt 68cbd1a772 MDL-78025 questions: improve the comment on question_references.version 2023-04-26 15:52:23 +01:00
Tim Hunt 263960469b MDL-78025 questions: fix PHPdoc on question_require_capability_on 2023-04-26 15:52:20 +01:00
Tim Hunt 480699449b MDL-78025 quiz: fix the quiz_questions_in_use logic 2023-04-26 15:52:15 +01:00
Tim Hunt 62fdb2db50 MDL-78025 questions: questions_in_use should check question_references
This avoids the needs for plugins to do separate queries, which is
easier for them, and better performing.
2023-04-26 15:50:37 +01:00
Tim Hunt e98ec3b520 MDL-78025 question generator: make the behaviour less surprising
* The object returned by update_question is alwasy a new clone
  and the $question passed in will not be modified.

* The returned object has the fields like questionbankentryid and
  the ones related to versionning, so it is more like the data
  returned by question_bank::load_question_data.
2023-04-26 15:50:33 +01:00
Tim Hunt ed605e65d9 MDL-78025 question: move hiding logic into question_delete_question
This logic belongs in the API, so it is applied consistently.

Also this avoids calling the expensive function questions_in_use
twice per question.
2023-04-26 15:46:45 +01:00
Paul Holden 13b4cf6a38 MDL-78034 mod_bigbluebuttonbn: format instance group names. 2023-04-26 15:31:46 +01:00
Aya Saad 7f10c075bc MDL-76835 theme: Fix unordered lists indentation 2023-04-26 13:21:01 +02:00
David Castro 38a7817ba6 MDL-77791 data: Fix file attachment to search doc 2023-04-25 19:54:13 -05:00
Paul Holden 6a2c9cfbc7 MDL-78023 tool_policy: cast timemodified column on table download. 2023-04-25 14:51:14 +01:00
Sara Arjona 1ee2a41142 Merge branch 'MDL-77313-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-04-25 15:18:49 +02:00
Paul Holden 41a6048b0b Merge branch 'MDL-73331_400_toolbrickfieldadvancedtab' of https://github.com/brickfield/moodle into MOODLE_400_STABLE 2023-04-25 11:54:18 +01:00
Paul Holden d6362e1bd8 Merge branch 'MDL-77766-400-2' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-04-25 09:38:38 +01:00
Paul Holden 93dfd51516 MDL-77384 check: clarify statistics check name. 2023-04-25 09:04:47 +01:00
Jun Pataleta bd8df1ac79 MDL-77766 qtype_multichoice: Respect showstandardinstruction
* When showstandardinstruction is set to no, replace the standard
instruction with the generic "Answer" text for the answer options
fieldset's legend.
2023-04-24 20:12:44 +08:00
Tim Hunt c5cd5a0a11 MDL-77997 questions: add back Export as XML to the preview screen
The used the exist in Moodle up to 3.11, but then was removed with
insufficient thought in 4.0 (because we had grander long-term plans
which still have not happened). Until those plans happen, this
commit adds the simple link back on the preview screen.
2023-04-24 11:23:27 +01:00
Anupama Sarjoshi 1e8842726c MDL-77987 Backup: add progress tracking to some slow steps 2023-04-24 11:12:30 +01:00
Paul Holden 71cc91a810 MDL-77312 files: exclude drafts when determining license usage. 2023-04-24 11:07:43 +01:00
Paul Holden 8ce75290f2 MDL-77313 restore: re-add field to indicate course/category search.
When the two restore forms for searching courses and categories were
converted to core templates in eb9935c9 they lost the named submit
button, which broke searching.
2023-04-24 11:04:32 +01:00
Paul Holden cb6fd51254 MDL-77858 javascript: correct core/notification exception imports. 2023-04-24 10:44:19 +01:00
Paul Holden d9dbf8f710 MDL-77394 mod_forum: de-couple discussion pinned/starred options. 2023-04-24 10:38:07 +01:00
Paul Holden 6e914f9a4e MDL-77398 mod_assign: disable form submit protection for batch options. 2023-04-24 10:35:21 +01:00
danghieu1407 d3e2835171 MDL-77883 forms: fix display of client-side validation for textareas 2023-04-24 14:02:16 +07:00
Jun Pataleta 2caed2991e Moodle release 4.0.8 2023-04-22 16:22:46 +08:00
Eloy Lafuente (stronk7) 3552ac0622 weekly release 4.0.7+ 2023-04-21 19:19:20 +02:00
Eloy Lafuente (stronk7) b665e63be8 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-04-21 19:19:15 +02:00
Jun Pataleta 8e2239f1a7 Merge branch 'MDL-77927-400' of https://github.com/stevandoMoodle/moodle into MOODLE_400_STABLE 2023-04-21 16:52:09 +08:00
Jun Pataleta 4e9a6ef5be Merge branch 'MDL-77229-patch-400' of https://github.com/ilyatregubov/moodle into MOODLE_400_STABLE 2023-04-21 16:45:01 +08:00
Jun Pataleta c4f58034ab MDL-77927 core: mod_assignment subplugins environment check 2023-04-21 15:55:13 +08:00
Ilya Tregubov 313d3d76eb MDL-77229 mod_lesson: Black list detailed statistics in classic Behat.
The nav element to go to detailed stats page is missing in classic
2023-04-21 15:08:45 +08:00
Ilya Tregubov 881cc1da19 Merge branch 'MDL-77229-400' of https://github.com/ilyatregubov/moodle into MOODLE_400_STABLE 2023-04-21 12:10:28 +08:00
Ilya Tregubov 553ea69c3f MDL-77229 lesson: Add Behat test 2023-04-21 12:05:52 +08:00
AMOS bot 72c5bcc745 Automatically generated installer lang files 2023-04-21 00:07:38 +00:00
Juan Leyva d2a623971c MDL-77229 lesson: Fix error for empty responses (numerical pagetype) 2023-04-20 12:46:38 +02:00
Jun Pataleta b0d5d0ebc5 Merge branch 'MDL-73012-400' of https://github.com/ferranrecio/moodle into MOODLE_400_STABLE 2023-04-20 16:44:46 +08:00
Jun Pataleta 636890e5f6 Merge branch 'MDL-77922-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-04-20 16:10:21 +08:00
Ferran Recio 7fe5196a52 MDL-73012 core_courseformat: add pending to move section modal 2023-04-20 09:53:04 +02:00
Ferran Recio cc46c0158a MDL-77922 core_courseformat: add pending to move activity modal 2023-04-20 14:49:27 +08:00
Ilya Tregubov 1a2ca071eb Merge branch 'MDL-77577-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-04-20 12:33:50 +08:00
Paul Holden b17f5b6337 MDL-77187 mod_wiki: validate external method sort parameters. 2023-04-19 12:55:22 +00:00
Paul Holden 7daac50b35 Merge branch 'MDL-77960-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-04-19 13:41:34 +01:00
Max Larkin addb8f1c03 MDL-73331 tool_brickfield: Update advanced tab display 2023-04-19 13:24:06 +01:00
Paul Holden 1ee4d7da64 Merge branch 'MDL-77944-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-04-19 13:06:42 +01:00
Paul Holden 9540c536d8 Merge branch 'MDL-77898-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-04-19 09:03:24 +01:00
Simey Lameze a96de1c74d MDL-77960 behat: make verification steps more specific 2023-04-19 13:33:36 +08:00
Ilya Tregubov d2790cca27 Merge branch 'MDL-77935-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-04-19 13:33:00 +08:00
Andrew Nicols 69e8820de1 weekly release 4.0.7+ 2023-04-18 22:28:15 +08:00
Andrew Nicols 8d9daa91ba Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-04-18 22:28:12 +08:00
Jun Pataleta 4027721841 MDL-77898 calendar: Add iconclass for upcoming_mini template
The icon's iconclass context data adds additional CSS class(es) to
calendar event icons to better control how the event icon is displayed.
e.g. without filtering for activity events that don't hae monologo
versions of their icons.
2023-04-18 15:58:37 +08:00
Ilya Tregubov 475256b621 Merge branch 'MDL-77916-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-04-18 14:29:07 +08:00
Andrew Nicols ddc8ddb047 Merge branch 'MDL-77829-400' of https://github.com/stevandoMoodle/moodle into MOODLE_400_STABLE 2023-04-18 12:32:46 +08:00
Andrew Nicols 7f349d6552 Merge branch 'MDL-77735-400' of https://github.com/sarjona/moodle into MOODLE_400_STABLE 2023-04-18 12:10:40 +08:00
Andrew Nicols 2bbb3d0eb4 MDL-77944 behat: Rename chrome options for w3c support
From Selenium 4.8.0, support for non-w3c browser control has ended.

We only use W3C browser control these days, and this was missed as part
of the move to W3C. All browser options must be vendor-prefixed.
2023-04-18 09:04:17 +08:00
Ilya Tregubov 68d1a0c1c0 Merge branch 'MDL-77827-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2023-04-18 08:59:41 +08:00
AMOS bot a84fb29fcb Automatically generated installer lang files 2023-04-18 00:07:35 +00:00
Paul Holden 5158c1533c Merge branch 'MDL-77878-400-enfix' of https://github.com/vmdef/moodle into MOODLE_400_STABLE 2023-04-17 19:12:38 +01:00
Shamim Rezaie c8defec8dd Merge branch 'MDL-76998-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2023-04-17 21:28:24 +10:00
Víctor Déniz 532c3eb7b0 MDL-77878 lang: Use fixed strings in tests 2023-04-17 09:29:47 +01:00
Paul Holden f1949fe80c MDL-77935 contentbank: avoid phpunit crashes during isolated tests.
Simplify the test for allowed contexts by removing problematic use of
data provider annotation.

See: https://github.com/sebastianbergmann/phpunit/issues/2739
2023-04-17 09:28:46 +01:00
Andrew Nicols 2ac6d6a7d3 Merge branch 'MDL-76995-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2023-04-17 11:15:25 +08:00
Ilya Tregubov 75226d8c9e MDL-76994 core_course: Fix version for weeks and topics course formats 2023-04-17 11:02:36 +08:00
Ilya Tregubov 6496dd5277 Merge branch 'MDL-76994-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2023-04-17 09:47:30 +08:00
Víctor Déniz 3ef7b399a8 MDL-77878 lang: Import fixed English strings (en_fix) 2023-04-16 22:04:03 +01:00
Sara Arjona 95b427d8fe Merge branch 'MDL-77913-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-04-14 14:02:23 +02:00
Sara Arjona 18886c271f MDL-77735 core: Check $CFG->lang isset
In some cases, $CFG->lang might not be set, and this is causing a
Notice to be displayed when, for instance, database connection fails.
This patch should fix this case.
2023-04-14 13:46:45 +02:00
Sara Arjona 9cae11732f weekly release 4.0.7+ 2023-04-14 10:50:13 +02:00
Sara Arjona 9600731821 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-04-14 10:50:10 +02:00
Huong Nguyen 44a8713267 MDL-77827 events: Changed JSON comparison to be less strict 2023-04-14 12:29:38 +07:00
Paul Holden 75b6190bde MDL-77916 h5p: register autoloader in helper testcase. 2023-04-13 23:17:08 +01:00
Paul Holden 53f5432d89 MDL-77913 qbank_previewquestion: deterministic ordering of versions.
Ensure the ordering of loaded question versions is consistent, avoids
random Oracle failures.
2023-04-13 21:45:30 +01:00
Amaia Anabitarte b456e7aa18 MDL-76995 core_courseindex: Apply indentation in the course index 2023-04-13 16:58:21 +02:00
Amaia Anabitarte 75bf395e47 MDL-76998 admin: Option to reset course indentation 2023-04-13 16:57:03 +02:00
Amaia Anabitarte 029457a0a6 MDL-76994 tool_mobile: Return course format indentation setting 2023-04-13 16:56:09 +02:00
Amaia Anabitarte d23ff0a5b3 MDL-76994 core_course: New course format setting to enable indentation 2023-04-13 16:53:22 +02:00
Sara Arjona a2e0dec53b Merge branch 'MDL-76859-400' of https://github.com/sarjona/moodle into MOODLE_400_STABLE 2023-04-13 16:24:32 +02:00
Sara Arjona 2867735f7e Merge branch 'MDL77833-course-content-chng-notificatn-multilang-m4' of https://github.com/Amrita1991/moodle into MOODLE_400_STABLE 2023-04-13 16:20:11 +02:00
Sara Arjona dbb0410d58 Merge branch 'MDL-77860-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-04-13 13:45:06 +02:00
Sara Arjona 4721df9f4c Merge branch 'MDL-77788-400' of https://github.com/rmady/moodle into MOODLE_400_STABLE 2023-04-13 13:18:27 +02:00
Sara Arjona 243c35b3e8 Merge branch 'MDL-77618-admin-password-autocomplete-MOODLE_400_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_400_STABLE 2023-04-13 12:19:21 +02:00
Amrita1991 4d5ea5e9a9 MDL-77833 course: content change notification multilang processing
changing context parameter
2023-04-13 11:27:00 +02:00
Sara Arjona b47fa670f0 Merge branch 'MDL-77256-400' of https://github.com/rbravod/moodle into MOODLE_400_STABLE 2023-04-13 11:20:38 +02:00
Sara Arjona e196979e09 Merge branch 'MDL-77856-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-04-13 09:43:10 +02:00
Sara Arjona 50a79addb1 Merge branch 'MDL-77468-400' of https://github.com/rmady/moodle into MOODLE_400_STABLE 2023-04-13 09:20:04 +02:00
Juan Leyva 5f7b44fe70 MDL-77468 user: Fix invalid check for group belonging 2023-04-12 20:24:43 -03:00
Juan Leyva a18deeb18b MDL-77468 user: Make user profile visibility consistent web and ws 2023-04-12 20:21:32 -03:00
Sara Arjona 893bdf2603 Merge branch 'MDL-73610_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2023-04-12 18:19:47 +02:00
Petr Skoda c08401f159 MDL-76859 h5p: Fix behat failures
- Only resize if the H5P EmbedCommunicator is defined (otherwise, it was causing a
JS error)
- An unnecessary image has been removed from the greeting-card.h5p fixture package.
That way, the text will always be displayed (even if the iframe is still not
resized). Instead of replacing the original greeting-card-887.h5p file, I've
renamed it to greeting-card.h5p, to remove these ugly and unnecessary numbers
at the end of the file name).
2023-04-12 15:47:19 +02:00
Amaia Anabitarte 26ffef4f6d MDL-76993 core_course: Recover move right/left functionality
This is a backport of MDL-76990
2023-04-12 09:56:26 +02:00
Amaia Anabitarte a066890881 MDL-76993 core_course: Functions need to backport MDL-76990
MDL-76990 will be backported to 4.1 and 4.0. This commit adds the
methods needed to backport it which were not in 4.0.
2023-04-12 09:55:00 +02:00
Sara Arjona 65532b40c9 Merge branch 'MDL-77837-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-04-11 12:12:57 +02:00
Sara Arjona b61400d504 Merge branch 'MDL-77552-400' of https://github.com/ferranrecio/moodle into MOODLE_400_STABLE 2023-04-11 11:13:46 +02:00
Sara Arjona 9079a52348 Merge branch 'MDL-77148_400' of https://github.com/AnupamaSarjoshi/moodle into MOODLE_400_STABLE 2023-04-11 10:17:14 +02:00
Sara Arjona 64038bd1d2 Merge branch 'MDL-77612-400' of https://github.com/laurentdavid/moodle into MOODLE_400_STABLE 2023-04-11 10:04:48 +02:00
Laurent David dad1f86b28 MDL-77612 mod_label: Label name fix
* The @@PLUGINFILE@@ placeholder or URLs should not be displayed in the
course index for labels
2023-04-11 05:25:40 +02:00
Stevani Andolo 8ec461823a MDL-77829 core: Added environment check for mod_assignment
Decided to add an environment check before uninstalling the
mod_assignment plugin to prevent data lost.
2023-04-10 13:55:20 +08:00
AMOS bot 2397eee6cb Automatically generated installer lang files 2023-04-07 00:07:30 +00:00
Andrew Nicols 875c1d9638 MDL-77837 core: Improve usage docs for cron_setup_user 2023-04-06 23:21:29 +08:00
Andrew Nicols 46ea3269fc MDL-77837 phpunit: Ensure that the cron user setter is used
When running an adhoc task in a unit test we should use the cron variant
of the set user method to mimic the behaviour of a real cron run.
2023-04-06 23:21:29 +08:00
Andrew Nicols be8fac6291 MDL-77837 cron: Ensure user is set when running tasks
We should be proactive in ensuring that the environment is clean when
running a task. We already ensure that we have a clean renderer and
other parts of the output chain, but we were not setting a clean user.

This change adds a call to setup the cron user before each task is
actually executed.
2023-04-06 23:21:29 +08:00
Eloy Lafuente (stronk7) 7d9d0f35a0 MDL-73610 nodejs: Small updates to required packages
The main goal of this issue is to avoid scanners (Dependabot
and friends), reporting about security issues with the current
xmldom 0.6.0 package.

Note that this doesn't affect prod at all, because it's a dev
dependency, hardly exploitable. So it's not a security fix, just
a security_benefit, if something.

So here, we are updating from xmldom 0.6.0 to @xmldom/xmldom 0.8.7
(note that the package was renamed in 0.7.0, so it's the very same)

Also, when proceeding with the changes, it was detected that we
are incorrectly declaring @babel/eslint-parser as a normal dependency
instead of a development one, so we are also fixing that little detail.

The commands executed to get the changes above applied have been:

- nvm use
- npm install @xmldom/xmldom@^0.8.7 --save-dev
- npm uninstall xmldom
- npm install @babel/eslint-parser@^7.17.0 --save-dev

(we haven't run a complete re-install because we only want to modify
the minimum possible at this stage).
2023-04-06 14:59:52 +02:00
Anupama Sarjoshi 6bee956ede MDL-77148 core: Fix to export params for templates in correct format
When questions are filtered by tags in the question bank, the qtagids
params are passed in the array format. Though moodle_url handles this,
single_button::export_for_template cannot. Hence changes done in
weblib.php to provide params for export_for_template in the
suitable format.
Thanks Huong. I have added the Behat test you provided in the patch.
2023-04-06 13:57:40 +01:00
Sara Arjona 7d8f31dbe7 weekly release 4.0.7+ 2023-04-06 14:02:24 +02:00
Sara Arjona e4e7902d7c Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-04-06 14:02:19 +02:00
AMOS bot 946ff0171c Automatically generated installer lang files 2023-04-06 00:07:34 +00:00
Paul Holden 9cf38cfd39 MDL-77860 tool_moodlenet: use localised language strings for import. 2023-04-05 23:05:34 +01:00
Jun Pataleta b3eb942301 MDL-77856 qtype_multianswer: Use Bootstrap Popover for subq feedback
The YUI Overlay widget encloses the subquestion feedback in a div
which causes a div element to be enclosed in the subquestion span. This
leads to an accessibility issue in terms of HTML parsing as inline
elements (span) should not contain block elements (div)
The YUI Overlay widget is also not accessible as it does not really hide
the overlay contents via aria-hidden when the overlay is not being
shown. It's better if we stop using this and use Bootstrap's
popover component which is more accessible by default.

This patch also removes module.js for the qtype_multianswer plugin as
it only contains codes related to rendering the feedback contents in the
YUI overlay widget which is no longer necessary.
2023-04-06 05:35:19 +08:00
Sara Arjona fce3ba9b11 Merge branch 'MDL-73642_MOODLE_400_STABLE' of https://github.com/tasosb/moodle into MOODLE_400_STABLE 2023-04-05 17:17:41 +02:00
Sara Arjona 42b6a39808 Merge branch 'MDL-75301_400_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_400_STABLE 2023-04-05 12:49:34 +02:00
Shamim Rezaie df17b180f2 Merge branch 'MDL-77555-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-04-05 20:15:09 +10:00
Mark Johnson 6ff023d292 MDL-75301 quiz: Use "always latest" option for question previews
This will set the "alwayslatest" option when previewing a question from
the quiz according to the version setting used in the quiz slot.
2023-04-05 10:23:26 +01:00
Mark Johnson 8043b7838a MDL-75301 question: Add "always latest" option to previews 2023-04-05 10:23:26 +01:00
Paul Holden 60ecd6cef5 Merge branch 'MDL-69551_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-04-05 08:56:46 +01:00
AMOS bot 558585b1ed Automatically generated installer lang files 2023-04-05 00:07:39 +00:00
Juan Leyva 5292926ebb MDL-77788 mod_assign: Apply format_string to group names in WS 2023-04-04 18:12:13 -03:00
Tim Hunt e19cbda970 MDL-69551 quiz: start quiz password field should be a passwordunmask
This help accessibility and usability
2023-04-04 12:21:26 +01:00
Paul Holden b559b84774 Merge branch 'MDL-77712-400' of https://github.com/laurentdavid/moodle into MOODLE_400_STABLE 2023-04-04 12:06:43 +01:00
Andrew Nicols 4406bcd17a Merge branch 'MDL-77584-400' of https://github.com/ewallah/moodle into MOODLE_400_STABLE 2023-04-04 12:07:33 +08:00
Simey Lameze 56bfaebb70 MDL-77733 behat: enable Axe accessibility tests by default 2023-04-04 09:20:19 +08:00
AMOS bot f8e7a1e24b Automatically generated installer lang files 2023-04-04 00:07:40 +00:00
Paul Holden 0bfa7ee0a7 Merge branch 'MDL-75906-400' of https://github.com/mickhawkins/moodle into MOODLE_400_STABLE 2023-04-03 14:54:06 +01:00
Mark Johnson 6f61f48e20 MDL-75301 question: Add behat generator for updating questions
This adds "core_question > updated question" as an entity for `the
following "X" exist` and calls the existing update_question() generator
which will create a new question version with the supplied data.
2023-04-03 12:35:08 +01:00
Paul Holden dec59bd614 Merge branch 'MDL-77227-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2023-04-03 10:47:38 +01:00
Michael Hawkins f37baf7b59 MDL-75906 core: Updated security.txt expiry 2023-04-03 17:27:48 +08:00
Laurent David 03c1095379 MDL-77712 core_course: Fix exception with inplace editor
* On fresh install, an exception is raised when we try to modify
the name of a newly inserted activity in the front page
2023-04-03 10:44:49 +02:00
Ferran Recio 55139ae744 MDL-77552 core_courseformat: add plugin and module to cm state
Backport of MDL-77386
2023-04-03 09:34:21 +02:00
AMOS bot 6cf8bd9832 Automatically generated installer lang files 2023-04-02 00:07:33 +00:00
Stefan Hanauska 95d8d5316c MDL-75623 backup: Encode pluginfile URLs 2023-04-01 09:09:34 +02:00
AMOS bot ed4e4660db Automatically generated installer lang files 2023-04-01 00:07:42 +00:00
Paul Holden 8400206468 weekly release 4.0.7+ 2023-03-31 18:11:57 +01:00
Paul Holden 32a944bac8 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-03-31 18:11:55 +01:00
Jake Dallimore d7185519c3 Merge branch 'MDL-59175-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-31 11:57:43 +08:00
Jake Dallimore 9daaca2400 Merge branch 'MDL-77794-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-31 11:48:56 +08:00
Mikhail Golenkov 427dff5ce1 MDL-77592 filter_tex: Use request dir instead of temp shared storage 2023-03-31 14:36:07 +11:00
Andrew Nicols dc2b74c749 Merge branch 'MDL-77783-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-03-31 11:31:16 +08:00
Ilya Tregubov db31cd37b2 Merge branch 'MDL-70976-400' of https://github.com/laurentdavid/moodle into MOODLE_400_STABLE 2023-03-31 09:42:34 +08:00
AMOS bot d8d79addc4 Automatically generated installer lang files 2023-03-31 00:07:37 +00:00
Laurent David 178cc61b18 MDL-77456 core_courseformat: Fix highlight in course index
* When navigating to a restricted activity as a student from the course index
the item is not highlighted when refreshing the page.
2023-03-30 18:57:56 +02:00
Sara Arjona 5f87d91315 Merge branch 'MDL-77761-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-03-30 17:53:25 +02:00
Sara Arjona 3cd54831ea Merge branch 'MDL-77764-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-30 16:31:26 +02:00
Paul Holden 166c6cc61e Merge branch 'MDL-76481_400_Brickfield_TCPDF_error' of https://github.com/brickfield/moodle into MOODLE_400_STABLE 2023-03-30 12:50:11 +01:00
Sara Arjona f616930138 Merge branch 'MDL-77762-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-30 13:45:23 +02:00
Jun Pataleta 8420c58e69 Merge branch 'MDL-77333_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2023-03-30 19:03:32 +08:00
Paul Holden 4a603fe534 MDL-77794 contentbank: fix plugin type language strings.
AMOS BEGIN
 CPY [type_contentbank,core_plugin],[type_contenttype,core_plugin]
 CPY [type_contentbank_plural,core_plugin],[type_contenttype_plural,core_plugin]
AMOS END
2023-03-30 09:58:40 +01:00
Max Larkin 7956a8d814 MDL-76481 tool_brickfield: Fix PHP 8 report download 2023-03-30 09:15:28 +01:00
Paul Holden fba11f5c29 Merge branch 'MDL-75017_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-03-30 08:47:56 +01:00
Ilya Tregubov b83db3be01 Merge branch 'MDL-73771_400' of https://github.com/lostrogit/moodle into MOODLE_400_STABLE 2023-03-30 14:23:08 +08:00
AMOS bot b74ee3931c Automatically generated installer lang files 2023-03-30 00:07:41 +00:00
Amaia Anabitarte d9f694bfa8 MDL-77227 roles: Remove extra information for override page 2023-03-29 18:19:26 +02:00
Carlos Castillo bdc55fbffc MDL-73771 theme: Fix scrollbar position 2023-03-29 09:07:51 -05:00
Shamim Rezaie 4b39aecb10 Merge branch 'MDL-74452_400_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_400_STABLE 2023-03-29 15:27:36 +11:00
Jun Pataleta 2834086d07 Merge branch 'MDL-77382-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2023-03-29 09:48:11 +08:00
Jun Pataleta b6604a3a19 Merge branch 'MDL-76941-400-2' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2023-03-29 09:31:43 +08:00
Jun Pataleta 13fec4131e MDL-77783 core: Validate sublugins.json
* Validate the decoded subplugins.json before processing it.
* Log errors if subplugins.json is invalid or if plugintypes is not
defined.
2023-03-29 09:29:51 +08:00
Jun Pataleta 9ebea4011e MDL-77761 core_form: Add label for editor format selector 2023-03-29 08:09:46 +08:00
Eloy Lafuente (stronk7) 87fbf39aae MDL-77333 mod_resource: fixes generator uploading files + tests
MDL-76499 revealed a few problems with resource generators:

1. We were not covering with unit tests the upload of files from disk
   (and here it's where the problem was).
2. There was a little of confusion between disk paths (only needed
   to upload files) and file_area paths (the generator only creates
   or uploads files to the root directory of the file area.
3. It was possible to request the upload of a file to the generator
   without that file effectively existing.

This commit fixes those points  and covers 99% of the generator code.
2023-03-28 19:06:26 +02:00
Paul Holden 6273e6fdf3 weekly release 4.0.7+ 2023-03-28 15:55:22 +01:00
Paul Holden e8be539742 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-03-28 15:55:20 +01:00
Paul Holden 5b94923b7a Merge branch 'MDL-77105-400-4' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-03-28 12:39:05 +01:00
Jun Pataleta e736f80017 MDL-77105 core: Cast custom data to an array when evaluating filtericon
Since other modules may treat custom data as an object, we need to make
cast it to an array before evaluating for the `filtericon` custom data.
2023-03-28 18:54:04 +08:00
Huong Nguyen c7cc232e16 MDL-76941 tool_usertours: Fix accessibility issue when resizing 2023-03-28 12:18:24 +07:00
Jun Pataleta 07a3a15eb7 Merge branch 'MDL-77630-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2023-03-28 12:06:24 +08:00
Jake Dallimore 07f644d2ec Merge branch 'MDL-77105-400-4' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-03-28 11:42:54 +08:00
Meirza aac223ade5 MDL-77630 mod_forum: correct typo in variable names 2023-03-28 09:42:07 +07:00
Jun Pataleta c1a94a7d52 Merge branch 'MDL-77670-400' of https://github.com/juancs/moodle into MOODLE_400_STABLE 2023-03-28 07:05:30 +08:00
Paul Holden beaff418ba MDL-77762 contentbank: always provide exit button when appropriate.
If the current user can access the content bank in the context of the
current item, then provide link back to it.
2023-03-27 18:08:50 +01:00
Paul Holden ff1b86ab60 MDL-77764 contentbank: add field label to context selection element. 2023-03-27 16:55:00 +01:00
Sara Arjona 191ef569b5 Merge branch 'MDL-76376_m40' of https://github.com/jrchamp/moodle into MOODLE_400_STABLE 2023-03-27 16:56:36 +02:00
Sara Arjona 307be1189c Merge branch 'MDL-77659_400' of https://github.com/AnupamaSarjoshi/moodle into MOODLE_400_STABLE 2023-03-27 16:50:37 +02:00
Sara Arjona 3cfe37dd29 Merge branch 'MDL-73226-400' of https://github.com/jleyva/moodle into MOODLE_400_STABLE 2023-03-27 16:08:32 +02:00
Juan Leyva bb4329278b MDL-73226 files: Add quota checks to core_user_add_user_private_files 2023-03-27 13:27:59 +02:00
Sara Arjona f6d297a920 Merge branch 'MDL-76303-400' of https://github.com/ssj365/moodle into MOODLE_400_STABLE 2023-03-27 12:41:50 +02:00
Paul Holden 36edc365ea Merge branch 'MDL-77729_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-03-27 11:09:27 +01:00
Sara Arjona ed55a94fe8 Merge branch 'MDL-77561-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-03-27 11:43:32 +02:00
Paul Holden 551edbb9a6 MDL-77555 reportbuilder: improve SQL generation within filters.
Use native ANSI SQL syntax for numeric comparisons where possible,
define filter API for the case where filters must re-use the given
field SQL while ensuring uniqueness of any field parameters.
2023-03-27 10:29:37 +01:00
Paul Holden 478861b4d1 MDL-77555 reportbuilder: method to ensure unique parameters in SQL. 2023-03-27 10:29:37 +01:00
Jun Pataleta 22768e349a MDL-77105 core: Add upgrade.txt notes 2023-03-27 14:03:48 +08:00
Jun Pataleta 6ad9bb2482 MDL-77105 mod_url: Declare filtericon custom data
* Set a custom data `filtericon` when the icon being rendered for the
URL resource is not equal to the default plugin icon.
2023-03-27 14:03:47 +08:00
Jun Pataleta fd953966d8 MDL-77105 mod_lti: Add 'nofilter' class for custom tool icons
Add a '.nofilter' class when rendering custom tool icons in order
to render them as is and without CSS filter on the activity chooser.
2023-03-27 14:03:34 +08:00
Jun Pataleta 82db828016 MDL-77105 core_course: Add 'nofilter' class for non-monologo icons
When rendering content items, check whether the plugin has monologo
icons. If so, add a 'nofilter' class so the plugin icon can be
rendered as is and without the CSS filter.
2023-03-27 14:03:21 +08:00
Jun Pataleta 6a409c4cd4 MDL-77105 block_timeline: Add 'nofilter' class when necessary
Add the `.nofilter` class for activity icons when the icon URL's
`filtericon` parameter is not set, so they get rendered as they are on
the timeline block.
2023-03-27 14:03:07 +08:00
Jun Pataleta 894a6ab5ad MDL-77105 block_recentlyaccesseditems: Add 'nofilter' class
Add the `.nofilter` class for activity icons when the icon URL's
`filtericon` parameter is not set, so they get rendered as they are on
the recently accessed items block.
2023-03-27 14:02:51 +08:00
Jun Pataleta 5b1daccb92 MDL-77105 theme_boost: Add 'nofilter' class when necessary
Add the `.nofilter` class for activity icons when the icon URL's
`filtericon` parameter is not set, so they get rendered as they are on
the context header on the activity page.
2023-03-27 13:48:47 +08:00
Jun Pataleta f005111165 MDL-77105 course_format: Add 'nofilter' class when necessary
Add the `.nofilter` class for activity icons when the icon URL's
`filtericon` parameter is not set, so they get rendered as they are on
the course homepage.
2023-03-27 13:48:46 +08:00
Jun Pataleta 1e30a80b7f MDL-77105 core: Conditionally apply icon filter
* Apply the filter CSS property only to activity icons
that don't have the ".nofilter" class. This will allow
activities with non-SVG icons to be rendered as they are.
2023-03-27 13:48:44 +08:00
Jun Pataleta 0778d512fe MDL-77105 core: Add a filtericon parameter to course mod icon URLs
* If a plugin defines a `filtericon` custom data or uses its monologo
version of the icon, a `filtericon` parameter is being added to the
icon's URL. This information can help plugins determine whether to
render the activity icon as is or with CSS filtering.
2023-03-27 13:45:35 +08:00
Jun Pataleta 8812990c85 MDL-77105 core: Method to determine whether a plugin has monolog icons 2023-03-27 13:45:32 +08:00
Brendan Heywood 2d651dc665 MDL-77749 admin: Fix code error with unset config duration 2023-03-26 16:14:11 +11:00
AMOS bot 1018c8a4c5 Automatically generated installer lang files 2023-03-26 00:07:38 +00:00
Tim Hunt 60220de680 MDL-77729 qformat_missingword: fix form of help link 2023-03-25 15:40:27 +00:00
Tim Hunt b7d7b84d30 MDL-75017 questions: give a clear error if the context type is invalid 2023-03-24 13:02:30 +00:00
Tim Hunt 8169d1da07 MDL-75017 questions: fix weird setup in qformat_xml_import_export_test 2023-03-24 13:02:28 +00:00
Sara Arjona 8af994f1f0 weekly release 4.0.7+ 2023-03-24 13:59:36 +01:00
Jun Pataleta 8ca6ffa077 Merge branch 'MDL-77669-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-03-24 11:51:25 +08:00
Jun Pataleta 3904547719 Merge branch 'MDL-77626_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-03-24 10:40:30 +08:00
Simey Lameze 74a28bde79 MDL-77561 behat: add step to accept dpa and enable bigbluebutton
The step i_enable_plugin cannot be used as bigbluebuttonbn_default_dpa_accepted
setting needs to be enable in order for the BigBlueButton plugin to be enabled.
2023-03-24 08:23:27 +08:00
Sara Arjona 5fb543fa45 Merge branch 'MDL-77666-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-23 17:53:53 +01:00
Shamiso.Jaravaza f19e245f29 MDL-76303 mod_bigbluebuttonbn: Fix userlimit 2023-03-23 08:22:29 -06:00
Paul Holden 922713d626 Merge branch 'MDL-77392-400' of https://github.com/srobotta/moodle into MOODLE_400_STABLE 2023-03-23 12:25:24 +00:00
Stephan Robotta ac7720b956 MDL-77392 calendar: calendar items are hidden because of settings 2023-03-23 12:52:32 +01:00
Paul Holden 712cdd0fc6 Merge branch 'MDL-77691-400' of https://github.com/roland04/moodle into MOODLE_400_STABLE 2023-03-23 11:43:42 +00:00
Sara Arjona f575d8fc82 Merge branch 'MDL-77380-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-03-22 14:06:14 +01:00
Sara Arjona 03a41fa881 Merge branch 'MDL-77692-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-22 13:50:19 +01:00
Ilya Tregubov 11a1ac8913 weekly release 4.0.7+ 2023-03-22 09:37:13 +08:00
Ilya Tregubov c35fd3566c Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-03-22 09:37:11 +08:00
Mark Johnson 6597f8f7f5 MDL-74452 quiz: Display an error if all versions are in draft status 2023-03-21 15:24:52 +00:00
Mikel Martín e04daa31e4 MDL-77691 behat: Add step to navigate to profile page directly 2023-03-21 08:10:16 +01:00
Simey Lameze bde844c57c MDL-77380 block_myoverview: improve show toggle functionality test 2023-03-21 14:47:33 +08:00
Angelia Dela Cruz 7c007b8f32 MDL-77577 Behat: Replaced the use of "Install selected language pack(s)
Evaluated usage of "Install selected language pack(s)" in Behat and
replaced the steps to use generator to install language packs as part
of test setup.
2023-03-21 12:13:20 +08:00
Jun Pataleta c68493a349 Merge branch 'MDL-75746_400_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_400_STABLE 2023-03-21 12:00:55 +08:00
Meirza 529187a82a MDL-77669 dml: Added extrainfo in the DB options config.
extrainfo is an extra information for the DB driver, e.g. SQL Server,
has additional configuration according to its environment,
which the administrator can specify to alter and override any connection options.

Co-authored-by: LukeCarrier <luke@carrier.im>

This is a backport of MDL-64153.
2023-03-21 08:48:39 +08:00
Ilya Tregubov c38582b409 Merge branch 'mdl-72533-event-table-performance-MOODLE_400_STABLE' of https://github.com/petersistrom/moodle into MOODLE_400_STABLE 2023-03-21 08:24:54 +08:00
Paul Holden b0872b6aa5 Merge branch 'MDL-72124_400_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_400_STABLE 2023-03-20 17:04:56 +00:00
Paul Holden 8f296f6528 MDL-77692 reportbuilder: format custom field condition/filter names. 2023-03-20 16:32:16 +00:00
Sara Arjona 1b7f761528 Merge branch 'MDL-77574-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-03-20 17:06:11 +01:00
Anupama Sarjoshi 2d9536f980 MDL-77659 core_reportbuilder: fix user profile fields phpunit tests 2023-03-20 13:46:36 +00:00
Sara Arjona 9845799ed6 Merge branch 'MDL-77523-400' of https://github.com/juancs/moodle into MOODLE_400_STABLE 2023-03-20 13:42:55 +01:00
Mark Sharp 23e15c1ae2 MDL-72533 core_calendar: improve calendar event table peformance
- Filter searchable courses if set.
- Sites with large groups should now experience better performance.
- Applies and optimises query against a proper date range.

Co-authored-by: Mark Sharp <mark.sharp@solent.ac.uk>
Co-authored-by: Peter Sistrom <petersistrom@catalyst-au.net>
Co-authored-by: Kevin Pham <keevan.pham@gmail.com>
2023-03-20 12:17:31 +11:00
AMOS bot 5bbdf8ab51 Automatically generated installer lang files 2023-03-20 00:07:37 +00:00
Brendan Heywood f42ac85b7e MDL-77618 admin: Passwords should not auto complete 2023-03-18 13:03:38 +11:00
AMOS bot 6a566abcd9 Automatically generated installer lang files 2023-03-18 00:07:38 +00:00
Juan Segarra Montesinos c0a05c9d8a MDL-77670 course: Preserve course summary format 2023-03-17 20:53:08 +01:00
Sara Arjona a971b89389 weekly release 4.0.7+ 2023-03-17 17:58:33 +01:00
Sara Arjona 10a640c25e Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-03-17 17:58:25 +01:00
Jun Pataleta c0373ed7f7 Merge branch 'MDL-76257-400' of https://github.com/juancs/moodle into MOODLE_400_STABLE 2023-03-17 11:01:14 +08:00
Jun Pataleta 6b7b12c790 Merge branch 'MDL-77608-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-17 10:29:40 +08:00
AMOS bot 213935c460 Automatically generated installer lang files 2023-03-17 00:07:40 +00:00
Paul Holden 75a1e8d843 MDL-77666 contentbank: format category names for display. 2023-03-16 23:27:20 +00:00
info@eWallah.net c5bea842a9 MDL-77584 currencies: Fix outdated ISO 4217 code for Zambian Kwacha
On 2013-01-01 the ZMK code got replaced by the new ZMW code.

AMOS BEGIN
 MOV [ZMK,core_currencies],[ZMW,core_currencies]
AMOS END
2023-03-16 19:53:34 +01:00
Paul Holden 4e758d343a MDL-76339 mod_bigbluebuttonbn: correct upgrade note fix versions. 2023-03-15 19:15:53 +00:00
Paul Holden e889cc49c2 Merge branch 'MDL-76339-400' of https://github.com/call-learning/moodle into MOODLE_400_STABLE 2023-03-15 19:06:02 +00:00
Andrew Nicols 06fa0aad49 Merge branch 'MDL-77550-400' of https://github.com/dpalou/moodle into MOODLE_400_STABLE 2023-03-15 14:26:38 +08:00
Jun Pataleta 4a60dd3205 Merge branch 'MDL-77611_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-03-15 10:00:58 +08:00
AMOS bot 7c18bb6833 Automatically generated installer lang files 2023-03-15 00:07:36 +00:00
Paul Holden 5eb255f051 MDL-59175 theme_boost: style inherited permission on overide page. 2023-03-14 20:58:04 +00:00
Tim Hunt 88cedd9f99 MDL-77626 quiz statistics: Divide by zero if a random Q has max mark 0 2023-03-14 16:29:59 +00:00
Mark Johnson d1254b0c8d MDL-75746 mod_quiz: Fix backup and restore of quiz slots 2023-03-14 16:07:35 +00:00
Mark Johnson 962ab85122 MDL-72124 question: Fix system-level URLs in question events 2023-03-14 15:40:51 +00:00
Eloy Lafuente (stronk7) 264f458417 weekly release 4.0.7+ 2023-03-14 16:07:41 +01:00
Eloy Lafuente (stronk7) adc9c66e75 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-03-14 16:07:36 +01:00
Jun Pataleta 6ddeef9cab Merge branch 'MDL-76680/400' of https://github.com/skodak/moodle into MOODLE_400_STABLE 2023-03-14 21:44:14 +08:00
Laurent David 68456ca14f MDL-70976 core_files: Allow for draft files url inserted in content
* The file file_remove_editor_orphaned_files should take into account URL that
have been embedded in a tag content instead of an attribute (like src attribute)
* This will fix issue with inserting H5P content in calendar events.
2023-03-14 08:48:40 +01:00
Juan Segarra Montesinos 45d7645598 MDL-76257 core: Activity intro should honor user preference on creation 2023-03-14 06:06:27 +01:00
AMOS bot 2c2bd9e2af Automatically generated installer lang files 2023-03-14 00:07:38 +00:00
Tim Hunt 9cf379579b MDL-77611 tool_uploaduser: fix phpunit assumptions about profile fields 2023-03-13 13:37:52 +00:00
Paul Holden 2919cf9e1b MDL-77608 mod_h5pactivity: namespace component lib testcase. 2023-03-13 09:44:05 +00:00
Simey Lameze 136e636bf0 MDL-77574 myoverview: wait until next button exists before clicking 2023-03-13 14:12:33 +08:00
Jake Dallimore 622f98e637 MDL-77382 core: fix error handling in oauth2 callback for auth'd users
Pass the errors back to the calling code when the user is authenticated,
otherwise, fall back on the existing redirection to the login page.
2023-03-13 10:50:15 +08:00
AMOS bot aa6bfe07ef Automatically generated installer lang files 2023-03-12 00:07:44 +00:00
Petr Skoda 712391f96b MDL-76680 core: disable $USER->ignoresesskey on next page 2023-03-11 10:37:34 +01:00
Jun Pataleta 0fae900b58 Moodle release 4.0.7 2023-03-11 13:10:44 +08:00
Jun Pataleta 202cd371a1 weekly release 4.0.6+ 2023-03-10 22:09:56 +08:00
Jun Pataleta e60107a0d3 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-03-10 22:09:54 +08:00
Ilya Tregubov 1c6dcd21f9 Merge branch 'MDL-77429-400-fix' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-03-10 14:51:24 +08:00
Andrew Nicols 0be2c46692 MDL-77429 course: Change course date to previous day
When a test runs just after midnight, and the user time zone is not the
same as the server timezone, and the course is created using a generator
(which runs in server time zone) but the UI presented in the user
timezone, the course start time is still in the future.

We need to create the course a day earlier to ensure that the "This
week" indicator is in the correct day.
2023-03-10 14:11:23 +08:00
Andrew Nicols 4027a6f9fb MDL-77037 core_course: Add new courseindex test to classic excludelist 2023-03-10 13:32:15 +08:00
Jun Pataleta 2fc493dd9f Merge branch 'MDL-77458-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-03-10 12:06:03 +08:00
Jake Dallimore 25f8ff2446 Merge branch 'MDL-77517-400' of https://github.com/juancs/moodle into MOODLE_400_STABLE 2023-03-10 11:41:11 +08:00
Andrew Nicols 4287b7acd9 Merge branch 'MDL-77530-tool-task-checks-MOODLE_400_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_400_STABLE 2023-03-10 11:31:10 +08:00
Jake Dallimore a18d42a1bb Merge branch 'MDL-77219-400' of https://github.com/sarjona/moodle into MOODLE_400_STABLE 2023-03-10 10:36:45 +08:00
Jun Pataleta baabc32443 Merge branch 'MDL-76603-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-03-10 10:14:49 +08:00
Shamim Rezaie 05d383cdff MDL-76603 gradingforms: Some A11y fixes on editing form
- Use span instead of dummy input elements because form elements need a
  label
- Sufficient size for target is at least 24px by 24px (Success Criteria
  2.5.8)
2023-03-10 10:11:25 +08:00
Shamim Rezaie d6087552d0 MDL-76603 mod_assign: Move advanced grading grades out of the tables 2023-03-10 10:11:25 +08:00
Shamim Rezaie 27c9eb38a0 MDL-76603 gradingform_rubric: preserve bg colour on hover 2023-03-10 10:11:25 +08:00
Shamim Rezaie ea697ca8a0 MDL-76603 gradingform_rubric: fix roles
- set the role of table to none
- moved aria-label from <table> element (that doesn't has role="none")
  to the element that has the radiogroup role
- if it's not radiogroup/radio, it is list/listitem
- removed aria-label from the rubric table and used caption instead
2023-03-10 10:11:25 +08:00
Andrew Nicols 5ba62ce7ae Merge branch 'MDL-76849-400-5' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-03-10 09:29:56 +08:00
Jun Pataleta e851069e97 Merge branch 'MDL-70613-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-10 09:19:33 +08:00
Sara Arjona c231b4ff1b Merge branch 'MDL-77323-400' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_400_STABLE 2023-03-09 16:49:42 +01:00
Paul Holden 72f985e956 MDL-70613 mod_feedback: cast feedback text values for table sorting.
Specifically avoids Oracle ORA-00932 (inconsistent CLOB datatype).
2023-03-09 14:59:16 +00:00
Andrew Nicols 8284e13413 Merge branch 'MDL-77329-400-clr' of https://github.com/ferranrecio/moodle into MOODLE_400_STABLE 2023-03-09 22:19:25 +08:00
Andrew Nicols 0919443d33 Merge branch 'MDL-77429-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-03-09 22:11:28 +08:00
Andrew Nicols cdca553678 Merge branch 'MDL-77463-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-03-09 22:04:05 +08:00
Andrew Nicols aeef022c1c MDL-77037 core_course: Coding style fix in Behat feature 2023-03-09 22:00:00 +08:00
Andrew Nicols 2d3d946eef Merge branch 'MDL-77037-400' of https://github.com/laurentdavid/moodle into MOODLE_400_STABLE 2023-03-09 21:59:56 +08:00
James C fc4a4e6450 MDL-77329 course: Prevent collapse state loss 2023-03-09 12:01:27 +01:00
Sara Arjona abff12eda1 Merge branch 'MDL-76940-400' of https://github.com/laurentdavid/moodle into MOODLE_400_STABLE 2023-03-09 10:54:57 +01:00
Jun Pataleta 2570c08460 Merge branch 'MDL-77533-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-09 16:35:10 +08:00
Jun Pataleta b19ed507d1 Merge branch 'MDL-77559-400-2' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-03-09 15:53:34 +08:00
Laurent David e5f40a62d4 MDL-77037 core_courseformat: Refresh course index
* Refresh course index when language change
2023-03-09 08:44:28 +01:00
Brendan Heywood e3356e2a5a MDL-77530 tool_task: Fix coding errors in checks 2023-03-09 15:43:28 +11:00
Andrew Nicols 353b25f991 Merge branch 'MDL-77420-400' of https://github.com/ferranrecio/moodle into MOODLE_400_STABLE 2023-03-09 12:01:41 +08:00
Andrew Nicols f91555d94e Merge branch 'MDL-77014-400' of https://github.com/lucaboesch/moodle into MOODLE_400_STABLE 2023-03-09 11:42:16 +08:00
Andrew Nicols 8cba18bd0d Merge branch '76945-bootstrap-dropdowns-400' of https://github.com/DSI-Universite-Rennes2/moodle into MOODLE_400_STABLE 2023-03-09 10:54:17 +08:00
Tim Hunt 5022583eec MDL-77467 retore: add progress tracking to potentially slow steps 2023-03-09 10:47:05 +08:00
Jun Pataleta c6abd93efb Merge branch 'MDL-77225_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-03-09 10:42:53 +08:00
Andrew Nicols 9893e93761 Merge branch 'MDL-77418-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-09 10:37:40 +08:00
Andrew Nicols af4fae4f5b Merge branch 'MOODLE_400_STABLE' of https://github.com/fcbsd/moodle into MOODLE_400_STABLE 2023-03-09 10:29:58 +08:00
Andrew Nicols 1bfc8f2097 MDL-77559 js: Rebuild all JS with Node 16 2023-03-09 09:53:19 +08:00
Jun Pataleta aa7d3faddb MDL-76849 qtype_essay: Allow question number inclusion in answer fields
* Have the following classes extend qtype_essay_format_renderer_base
  as they have been meant to:
  - qtype_essay_format_editor_renderer
  - qtype_essay_format_noinline_renderer
  - qtype_essay_format_plain_renderer
* Add a question_display_options instance variable for
qtype_essay_format_renderer_base so its subclasses can use it to
generate the label for their respective answer fields.
2023-03-09 08:58:52 +08:00
Jun Pataleta 05e3716ffe MDL-76849 qtype_shortanswer: Include question number in answer fields 2023-03-09 08:58:52 +08:00
Jun Pataleta f6c5e15bdf MDL-76849 qtype_numerical: Include question number in answer fields
* Also covers its qtype_calculated and qtype_calculatedsimple
which extend its renderer class
2023-03-09 08:58:52 +08:00
Jun Pataleta 9ba9723826 MDL-76849 qtype_multianswer: Include question number in answer fields
* Add the question number to the answer fields if it's available.
* Improve multiple choice question accessibility:
  - Label the multiple choice question groups appropriately by
    enclosing them in fieldset tags and applying sr-only legend tags to
    label them.
  - Apply Bootstrap form-check classes to the radio buttons, so they
    are rendered better and become responsive as well. This also helps
    avoid the use of the table element for layout purposes when
    rendering horizontal multiple choice sub-questions.
2023-03-09 08:58:52 +08:00
Jun Pataleta 716c223db5 MDL-76849 qtype_match: Include question number in answer fields 2023-03-09 08:58:52 +08:00
Jun Pataleta 8c6dbf8561 MDL-76849 qtype_truefalse: Include question number in answer fields
* Improve accessibility as well by grouping the radio buttons
in a fieldset.
2023-03-09 08:58:52 +08:00
Jun Pataleta fd13110bd4 MDL-76849 qtype_multichoice: Include question number in answer fields
* Improve accessibility as well by grouping the radio buttons/checkboxes
in a fieldset.
2023-03-09 08:58:52 +08:00
Jun Pataleta 2a5c62ab88 MDL-76849 qtype_ddwtos: Include question number in answer fields
* Plus include the item number so users will have an idea which blank
numbers they are currently on.
2023-03-09 08:58:52 +08:00
Jun Pataleta bad9e0a1bc MDL-76849 qtype_gapselect: Include question number in answer fields 2023-03-09 08:58:52 +08:00
Jun Pataleta b71d30097e MDL-76849 qtype: Add a questionidentifier instance variable
* Add an instance variable to question_display_options to store the
identifier associated with the question being rendered.
* This information can be used by question type plugins to improve the
accessibility of the answer fields being rendered by adding the
question identifier to the answer fields' labels.
* Adding the question identifier to the label can be achieved by using
question_display_options::add_question_identifier_to_label().

Co-authored-by: Tim Hunt <t.j.hunt@open.ac.uk>
2023-03-09 08:58:52 +08:00
Andrew Nicols 1852ad42b5 MDL-77559 js: Revert "MDL-75012 core: Bump NodeJS version requirements"
This reverts commit 7dc9c54ff6.
2023-03-09 08:21:36 +08:00
Andrew Nicols 3a0b800be7 MDL-77559 js: Revert "MDL-75012 js: Bump standard dependencies"
This reverts commit 86cc29f021.
2023-03-09 08:21:22 +08:00
Andrew Nicols 9e7a6d1c79 MDL-77559 js: Revert "MDL-75012 js: Remove grunt-contrib-uglify"
This reverts commit 415c9de634.
2023-03-09 08:21:19 +08:00
Andrew Nicols 7553895409 MDL-77559 js: Revert "MDL-75012 js: Bump stylelint and components"
This reverts commit e431f3a4d6.
2023-03-09 08:21:16 +08:00
Andrew Nicols 80a06b2966 MDL-77559 js: Revert "MDL-75012 js: Update browserslist"
This reverts commit a1d646d621.
2023-03-09 08:21:12 +08:00
Andrew Nicols e9e77f32e9 MDL-77559 js: Revert "MDL-75012 js: Bump node-sass"
This reverts commit d418ca209e.
2023-03-09 08:21:07 +08:00
Andrew Nicols c3097aab8c MDL-77559 js: Revert "MDL-75012 js: Audit fix"
This reverts commit 73d25ec0c6.
2023-03-09 08:21:03 +08:00
Andrew Nicols 290a7cffea MDL-77559 js: Revert "MDL-75012 js: Use our own jsdoc wrapper"
This reverts commit b7c2924b68.
2023-03-09 08:20:57 +08:00
Andrew Nicols 92b235d31b MDL-77559 js: Revert "MDL-75012 js: Bump shifter to new version"
This reverts commit 95b47d2432.
2023-03-09 08:20:53 +08:00
Andrew Nicols 9ea97cc350 MDL-77559 js: Revert "MDL-75012 js: Put shifter on a diet"
This reverts commit 77d822898a.
2023-03-09 08:20:49 +08:00
Andrew Nicols 62ed5dfd27 MDL-77559 js: Revert "MDL-75012 js: Remove unused babel-preset-minify dependency"
This reverts commit 8412495f5e.
2023-03-09 08:20:45 +08:00
Andrew Nicols dcabe38876 MDL-77559 js: Revert "MDL-75012 js: Bump Babel dependencies"
This reverts commit c90054e98e.
2023-03-09 08:20:42 +08:00
Andrew Nicols 3c05e673a3 MDL-77559 js: Revert "MDL-75012 js: Remove orphaned source maps"
This reverts commit 181e8f7686.
2023-03-09 08:20:09 +08:00
AMOS bot 1fd4f4b11b Automatically generated installer lang files 2023-03-09 00:07:38 +00:00
Tim Hunt f5645cf4a8 MDL-77225 questions: fix regrade of descriptions in finished attempts
The added logic is similar to the logic in other behaviours, and the new test fails without it.
2023-03-08 19:01:05 +00:00
Sara Arjona 4555270cfc Merge branch 'MDL-77464_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-03-08 16:14:53 +01:00
Laurent David a49c1483aa MDL-76940 core_courseformat: Index refreshing when role switch
* Hidden sections and content should not visible to students when switching role
2023-03-08 11:51:34 +01:00
Ilya Tregubov 7601dd8b7b Merge branch 'MDL-77414-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-03-08 17:05:46 +08:00
Angelia Dela Cruz a50c324721 MDL-77463 Behat: Coverage for assign submission notification to teacher 2023-03-08 17:03:53 +08:00
Angelia Dela Cruz 1885fd9a2f MDL-77429 Behat: Add coverage for changing course format as teacher 2023-03-08 15:49:32 +08:00
Luca Bösch 655cae8cc4 MDL-77014 course: Single activity format course title multilang. 2023-03-08 08:27:36 +01:00
Angelia Dela Cruz aacd3761aa MDL-77414 Behat: Coverage for "Require all group members submit" setting 2023-03-08 14:51:47 +08:00
Dani Palou 778840f1d7 MDL-77550 lesson: Format decimals in feedback page 2023-03-08 07:45:05 +01:00
Sara Arjona ff437575bc Merge branch 'MDL-77440_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-03-08 07:24:35 +01:00
Jun Pataleta c57bb0107c Merge branch 'MDL-77472-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-08 11:53:34 +08:00
Petr Skoda f057226154 MDL-77524 filter_algebra: fix error message 2023-03-08 11:27:13 +08:00
Paul Holden b946c528b0 MDL-75517 report_participation: filter report by viewable roles only. 2023-03-08 10:38:02 +08:00
Michael Hawkins e835233465 MDL-77204 mod_wiki: Clean filename in Moodle1 backup 2023-03-08 10:33:57 +08:00
Paul Holden 724c4fa373 MDL-77046 availability: validate profile field in condition. 2023-03-08 10:24:26 +08:00
Paul Holden 1bb6bd7381 MDL-76809 gradereport_history: pre-filter report userids filter.
Ensure current user is able to access each of the provided userids.
2023-03-08 10:01:08 +08:00
Ilya Tregubov 1cd3788793 Merge branch 'MDL-77446-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-03-08 09:19:27 +08:00
Petr Skoda 1d23929fa9 MDL-76645 filter_data: fix link title attribute 2023-03-08 00:55:19 +00:00
Paul Holden 586168df7c MDL-77129 tool_lp: remove redundant call to set page header. 2023-03-08 00:55:19 +00:00
Lars Bonczek e52133c631 MDL-75659 core: Don't render component argument twice in mustache pix helper 2023-03-08 00:55:19 +00:00
Jun Pataleta baca8dd626 Merge branch 'MDL-77416-400-enfix' of https://github.com/vmdef/moodle into MOODLE_400_STABLE 2023-03-08 08:50:16 +08:00
AMOS bot f0817b2e97 Automatically generated installer lang files 2023-03-08 00:07:40 +00:00
Roberto Bravo 756f56492e MDL-77256 tool_uploaduser: fix get allowed roles for courses
During user upload the permission to assign roles is checked in the wrong context
2023-03-07 18:38:46 +01:00
Tim Hunt 1397ce352a MDL-77464 questions: regrading was losing question_attempt metadata
This is very similar to MDL-77090, but at the time, I missed that this
also needed to be handled. (Question metadata is, I think, only used
by the quiz 'Try another question like this one' feature.)
2023-03-07 13:43:12 +00:00
Tim Hunt 33e98afe3c MDL-77464 questions: update comments in question_attempt_step
The class comment had some inaccuracies which I fixed.
I also replaced all uses of @link with @see.
2023-03-07 13:42:59 +00:00
Sara Arjona c11c5d26cd MDL-77219 behat: Fix issue with headless
Although the error in the "I check that I can import recordings into
the Recording activity and then if I delete them" scenario is unrelated
to this patch, this commit needs to be applied too, in order to avoid
behat failures (because the "Import recording links" button is in the
edge of the window).

This is a backport of MDL-74272.
2023-03-07 11:04:13 +01:00
Sara Arjona 6703d67439 MDL-77219 theme_boost: Remove plugin name on course page
In 4.0, the plugin name was added above their name. Based on the community
feedback and the research done by the UX team, this needs to be removed.
This commit removes the activity name when edit mode is disabled.

This is a backport of MDL-74272.
2023-03-07 11:04:12 +01:00
Angelia Dela Cruz 277c0ffc0d MDL-77446 Behat: Add coverage for changing uploaded file details 2023-03-07 16:13:26 +08:00
Andrew Nicols 6436f1532d Merge branch 'MDL-77094_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-03-07 12:23:24 +08:00
Andrew Nicols 95a95a80b0 Merge branch 'MDL-77336-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2023-03-07 12:02:22 +08:00
AMOS bot ebe39a84db Automatically generated installer lang files 2023-03-07 00:07:38 +00:00
Tim Hunt 5c261335c7 MDL-77440 quiz: fix nav error reviewing after redoing a question 2023-03-06 16:17:30 +00:00
Sara Arjona 6b4edc0068 Merge branch 'MDL-77460-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-03-06 16:34:08 +01:00
Paul Holden 3fc4c17115 MDL-77472 grade: correct URL param type for adding tracking params. 2023-03-06 09:50:03 +00:00
Meirza 4a0793d898 MDL-77336 admin: fix typo in adminpreset data settings. 2023-03-06 16:46:54 +07:00
Paul Holden 91178b70f5 MDL-77533 customfield: fix exception thrown during handler retrieval. 2023-03-06 09:27:21 +00:00
Juan Segarra Montesinos 5fc2612d25 MDL-77523 mod_data: textarea field should honor editor preferred format 2023-03-05 08:53:02 +01:00
Juan Segarra Montesinos 04bb96886d MDL-77517 js: Disable "Edit mode" button when clicked
When clicked, disable the "Edit mode" button just before doing a
redirection. It's been reported that after clicling several times the
button, an inconsistent state between the button and the editing mode is
achieved. The patch mitigates the issue.
2023-03-05 07:06:24 +01:00
Víctor Déniz 1eeb10cf08 MDL-77416 lang: Use fixed strings in tests 2023-03-03 13:21:02 +00:00
Helen Foster 201e5c1103 MDL-77416 lang: Import fixed English strings (en_fix) 2023-03-03 13:21:02 +00:00
Jun Pataleta 1635a0f1b0 Merge branch 'MDL-77428-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-03-03 16:34:58 +08:00
Jun Pataleta 3ca56cb7f1 MDL-76849 question: New lang strings for answer fields 2023-03-03 15:32:45 +08:00
Laurent David 55620756a5 MDL-76339 mod_bigbluebuttonbn: Update dismissed recordings
* When the server is not reachable (or recordings are not reacheable)
the recording is set to RECORDING_STATUS_DISMISSED and is then
not visible in the list.
* Add a CLI script to solve potential issue with DISMISSED recordings
2023-03-03 06:38:26 +01:00
Jake Dallimore 62cfa26cb9 weekly release 4.0.6+ 2023-03-03 11:08:39 +08:00
Jake Dallimore b890f223e4 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-03-03 11:08:36 +08:00
Andrew Nicols e2eb63f1d9 MDL-77458 core: Add supported php version info to phpcs config 2023-03-02 20:37:52 +08:00
Simey Lameze fc5eba83d2 MDL-77460 behat: improve roles.feature test 2023-03-02 18:25:22 +08:00
Angelia Dela Cruz 51a25fac44 MDL-77428 Behat: Add coverage for forum post word count 2023-03-02 13:47:25 +08:00
Jun Pataleta 181e8f7686 MDL-75012 js: Remove orphaned source maps 2023-03-02 13:13:42 +08:00
Jun Pataleta f5f3457173 Merge branch 'MDL-75012-400-5' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-03-02 12:28:05 +08:00
Andrew Nicols 58f411d2f1 MDL-75012 js: Full build of all grunt things 2023-03-02 12:15:25 +08:00
Andrew Nicols c90054e98e MDL-75012 js: Bump Babel dependencies
Please note that whilst some dependencies have higher versions
available, these are not compatible at this time.
2023-03-02 12:15:25 +08:00
Andrew Nicols 8412495f5e MDL-75012 js: Remove unused babel-preset-minify dependency 2023-03-02 12:15:25 +08:00
Jun Pataleta 2382d6188e Merge branch 'MDL-75719-400-4' of https://github.com/ilyatregubov/moodle into MOODLE_400_STABLE 2023-03-02 11:59:19 +08:00
Jake Dallimore 3f5d3f8952 Merge branch 'MDL-77461-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-03-02 11:42:55 +08:00
Paul Holden 7278c5f5b4 MDL-77368 forms: remove console logging of upload DOM element. 2023-03-02 11:20:09 +08:00
Andrew Nicols 0d08af8de6 MDL-77461 behat: Use get_course_id instead of DB fetch 2023-03-02 11:06:53 +08:00
Ilya Tregubov 8585a70700 MDL-75719 completion: Add Behat scenario for completion states. 2023-03-02 11:05:31 +08:00
Ilya Tregubov 62d0d76fe1 MDL-75719 completion: Fix unit tests and Behat tests.
Fix tests since we changed behavior of completions (completion
state an UI).
2023-03-02 11:05:30 +08:00
Ilya Tregubov 710fa8ed7a MDL-75719 completion: Fix viewed criteria.
When we unlock completion criteria and save changes 'viewed' criteria
still should be completed if user has viewed activity before. Seems
that that was broken by recent changes. Fixing here.
2023-03-02 11:05:30 +08:00
Ilya Tregubov 64efaed528 MDL-75719 completion: Fix completion state for hidden grade items.
For hidden grade items we used to mark students as completed if
they have any grade. But this was not working correctly when we
also set pass grade for activity and completion criteria based
on pass grade. So we will have these completion states

Competion criteria 'Receive grade':
No grade - COMPLETION_INCOMPLETE
Grade visible, achieved passing grade - COMPLETION_COMPLETE_PASS
Grade visible, failed passing grade - COMPLETION_COMPLETE_FAIL
Grade hidden - COMPLETION_COMPLETE

Completion criteris 'Receive passing grade'
No grade - COMPLETION_INCOMPLETE
Grade visible, achieved passing grade - COMPLETION_COMPLETE_PASS
Grade visible, failed passing grade - COMPLETION_COMPLETE_FAIL
Grade hidden, achieved passing grade - COMPLETION_COMPLETE_PASS
Grade hidden, failed passing grade - COMPLETION_COMPLETE_FAIL_HIDDEN
2023-03-02 11:05:30 +08:00
Jake Dallimore 9de063d19b Merge branch 'MDL-77318-400' of https://github.com/Utdanningsdirektoratet/moodle into MOODLE_400_STABLE 2023-03-02 10:56:15 +08:00
Andrew Nicols dd651bfe75 Merge branch 'MDL-77150-400' of https://github.com/roland04/moodle into MOODLE_400_STABLE 2023-03-02 10:49:02 +08:00
Andrew Nicols a3984be80b Merge branch 'MDL-75534-400-forum-usermodified-zero' of https://github.com/mudrd8mz/moodle into MOODLE_400_STABLE 2023-03-02 10:39:07 +08:00
Jake Dallimore 926a143dd6 Merge branch 'MDL-76298_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-03-02 10:13:23 +08:00
Jun Pataleta c5a99daa0c Merge branch 'MDL-77413-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-03-02 09:45:48 +08:00
Andrew Nicols 1ceb4e2691 Merge branch 'MDL-77391-m400' of https://github.com/jrchamp/moodle into MOODLE_400_STABLE 2023-03-02 09:27:17 +08:00
Andrew Nicols d46f7f29ce Merge branch 'MDL-77321-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-02 09:25:16 +08:00
Jun Pataleta 8d2296ef33 Merge branch 'MDL-74586-400-sqlrss' of https://github.com/mudrd8mz/moodle into MOODLE_400_STABLE 2023-03-02 08:58:15 +08:00
Jun Pataleta b961e519cf Merge branch 'MDL-76938_restore_comments_400' of https://github.com/davosmith/moodle into MOODLE_400_STABLE 2023-03-02 08:41:37 +08:00
AMOS bot 7995a6a7c9 Automatically generated installer lang files 2023-03-02 00:07:43 +00:00
fcbsd fc1adc914c MDL-77365 count_words: Make span> an inline tag MOODLE_400_STABLE 2023-03-01 16:05:24 +00:00
Jun Pataleta 5003c32dd2 Merge branch 'MDL-77417_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2023-03-01 23:54:09 +08:00
Mikel Martín 3bb68aefc0 MDL-77150 core_table: Fix classes added as columnsattributes are ignored
Fix columnattributes with key 'class' being ingored by adding them to every 'column_class'.
2023-03-01 11:16:23 +01:00
hieuvu 8304ad73a7 MDL-77323 question: Prevent drag item sent into two drop zone 2023-03-01 14:46:40 +07:00
Andrew Nicols 146441bf58 Merge branch 'MDL-58945_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-03-01 10:55:49 +08:00
Andrew Nicols e3264a1ebc Merge branch 'MDL-74585-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-01 10:52:07 +08:00
Andrew Nicols 960a32b2ae Merge branch 'MDL-77322_basicauth_checkbox-400' of https://github.com/leonstr/moodle into MOODLE_400_STABLE 2023-03-01 10:50:02 +08:00
Andrew Nicols 0082649a28 Merge branch 'MDL-72727-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-03-01 10:47:16 +08:00
AMOS bot 6e9ff0e536 Automatically generated installer lang files 2023-03-01 00:07:36 +00:00
Jonathan Champ 0e23d91ec3 MDL-77391 question admin: further improve query peformance in qtypes.php 2023-02-28 10:18:46 -05:00
Andrew Nicols a9cc05c9fd Merge branch 'MDL-77097_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2023-02-28 22:14:03 +08:00
David Mudrák 06d446aec1 MDL-74586 rss: Make rss_get_userid_from_token() use table index
Due to missing `AND k.script = 'rss'` condition, the query did not make
use of the existing script-value compound index defined for the table.
So it had to perform the full sequential scan for all rows when
searching for the token. This had serious performance issues on sites
with many users, especially in case on non-existing token / key.
2023-02-28 13:26:12 +01:00
Angelia Dela Cruz bef92dfbdc MDL-77413 Behat: Minor changes to optimise the existing tests 2023-02-28 17:23:58 +08:00
Angelia Dela Cruz 63a788899f MDL-77413 Behat: Add coverage to verify groups can have a picture 2023-02-28 17:23:40 +08:00
Jun Pataleta f5f57ba477 Merge branch 'MDL-77248-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-02-28 15:46:43 +08:00
Andrew Nicols 13a1d1d661 MDL-77248 mod_bigbluebuttonbn: Remove unused dpa pages 2023-02-28 12:04:51 +08:00
Andrew Nicols 223cdb0ed9 MDL-77248 mod_bigbluebuttonbn: Set dpa accepted when creating activities
This only applies when creating activities using the test data
generator.
2023-02-28 12:04:51 +08:00
Andrew Nicols c3f0e5ddaa MDL-77248 core: Move pre_enable_plugin_actions callback to enable_plugin 2023-02-28 12:04:51 +08:00
Andrew Nicols 77d822898a MDL-75012 js: Put shifter on a diet
This commit switches to a new custom version of Shifter which sees it
put on a massive diet.

Many of the standard Shifter features are totally unused by Moodle, but
they add dependency spaghetti. Some of those dependencies will start to
cause us issues as they have not been updated for a very long time, are
no longer maintained, and are no longer compatible with anything
resembling a recent version of NodeJS.
2023-02-28 10:22:45 +08:00
Andrew Nicols 95b47d2432 MDL-75012 js: Bump shifter to new version
This resolves an issue identified in 77083 which identified that GitHub
hashes shouldn't be treated as repeatable.

Whilst GitHub have reverted this change, it's still worth making this
change.
2023-02-28 10:19:51 +08:00
Andrew Nicols b7c2924b68 MDL-75012 js: Use our own jsdoc wrapper
grunt-jsdoc is abandoned and only works with an older version of jsdoc.

This is a very simple wrapper around jsdoc itself.
2023-02-28 10:19:51 +08:00
Andrew Nicols 73d25ec0c6 MDL-75012 js: Audit fix 2023-02-28 10:19:51 +08:00
Andrew Nicols d418ca209e MDL-75012 js: Bump node-sass 2023-02-28 10:19:51 +08:00
Andrew Nicols a1d646d621 MDL-75012 js: Update browserslist
To avoid build changes we exclude older versions of Android browser
2023-02-28 10:19:51 +08:00
Andrew Nicols e431f3a4d6 MDL-75012 js: Bump stylelint and components 2023-02-28 10:19:50 +08:00
Andrew Nicols 415c9de634 MDL-75012 js: Remove grunt-contrib-uglify
We stopped using this when we updated our processes to support ESMs in
MDL-62497. Removal of the dependency was missed at the time.
2023-02-28 10:19:50 +08:00
Andrew Nicols 86cc29f021 MDL-75012 js: Bump standard dependencies
This change bumps dependencies which have no impact upon the build
process
2023-02-28 10:19:50 +08:00
Andrew Nicols 7dc9c54ff6 MDL-75012 core: Bump NodeJS version requirements 2023-02-28 10:19:50 +08:00
Jun Pataleta 4200e6ee16 Merge branch 'MDL-76956-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2023-02-28 10:07:27 +08:00
Paul Holden 8ce95fe759 MDL-72727 mod_forum: prevent default favourite toggle click event.
Allow the repository call to the web service method to complete before
re-directing, otherwise the call may not complete and/or races against
the page reload causing random Behat errors.
2023-02-27 23:30:40 +00:00
Paul Holden b60518501f MDL-77321 reportbuilder: cache list of loaded reports per user.
Since 0188af39 we've cached loaded reports, however there was an
edge case in those report sources that relied on the current user
as part of their own initialization (e.g. checking capabilities).

Co-authored-by: Marina Glancy <marina@moodle.com>
2023-02-27 21:21:45 +00:00
Paul Holden 3178dd5bb2 MDL-77418 mod_feedback: defensive use of analysis item data. 2023-02-27 19:21:33 +00:00
Ferran Recio e8bbcdae2c MDL-77420 core: fix modal close button on remove on close 2023-02-27 19:11:03 +01:00
Eloy Lafuente (stronk7) 0b6625e736 MDL-77417 behat: behat_error_handler meets deprecation error types
Right now, any E_DEPRECATED, E_USER_DEPRECATED error type leads
to exception in behat runs, because the behat error handled is
not aware of them. See MDL-38041 for the initial implementation.

We don't want that to happen and they must behave like other "low"
error types (notices, warnings...), that will be reported in logs
or output, but won't trigger any exception, so the test can continue.

This commit just adds those 2 "new" error types to the handler,
providing the very same behaviour for them than the rest.
2023-02-27 09:38:08 +01:00
Leon Stringer 079a2e0061 MDL-77322 oauth2: Fix basicauth checkbox
Following MDL-61880 you could turn on "Authenticate token requests via
HTTP headers" but not turn this off again.  This change fixes this and
adds a Behat scenario to test toggling this checkbox is saved
correctly.
2023-02-24 17:28:05 +00:00
Eloy Lafuente (stronk7) c0786c11c0 MDL-77097 store_mongodb: keep compatibility with PHP 7.4
Replaced 4 occurrences of get_debug_type() by gettype() to keep PHP 7.4 compatibility. Note this
has not been applied to 4.2dev and up because, there, it's safe to use get_debug_type().
2023-02-24 12:38:55 +01:00
Jun Pataleta 6458658400 weekly release 4.0.6+ 2023-02-24 15:43:29 +08:00
Jun Pataleta c3c22e7219 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-02-24 15:43:26 +08:00
Matt Porritt d38a0b2100 MDL-77376 Licensing: Update trademark.txt
Update Trademark policy in TRADEMARK.txt to
be in line with advice from the Moodle HQ
legal team
2023-02-24 12:35:35 +08:00
Andrew Nicols 2cde600dd2 Merge branch 'MDL-76611-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-23 12:01:42 +08:00
Andrew Nicols ce4622ec99 Merge branch 'MDL-76843_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-02-23 11:53:26 +08:00
Andrew Nicols 8c455b4ad6 Merge branch 'MDL-77271-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-02-23 11:49:36 +08:00
Ilya Tregubov fd5559e3d4 MDL-74433 mod_assign: Fix version.php 2023-02-23 11:47:35 +08:00
Ilya Tregubov acc02e0631 Merge branch 'MDL-74433_400' of https://github.com/larsbonczek/moodle into MOODLE_400_STABLE 2023-02-23 11:23:00 +08:00
Andrew Nicols e6ff8205f9 Merge branch 'MDL-77352-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-23 11:20:30 +08:00
Andrew Nicols c5c621dfce Merge branch 'MDL-75005_40' of https://github.com/skodak/moodle into MOODLE_400_STABLE 2023-02-23 10:29:41 +08:00
Andrew Nicols 6df8e613be MDL-77230 mod_feedback: Coding style violation fixes 2023-02-23 10:06:19 +08:00
Andrew Nicols 484516b450 Merge branch 'MDL-77230-400' of https://github.com/sarjona/moodle into MOODLE_400_STABLE 2023-02-23 10:06:16 +08:00
Ilya Tregubov 8d68d6c050 Merge branch 'MDL-76873-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-23 09:58:31 +08:00
Andrew Nicols 4a1e1081a5 Merge branch 'MDL-77210_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-02-23 09:23:07 +08:00
Andrew Nicols 72342d4c08 Merge branch 'MDL-77149-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2023-02-23 09:21:32 +08:00
Paul Holden 6f91919237 MDL-74585 core: pass string identifier/component to network keepalive.
Avoid passing potentially large amounts of data in the page AMD call,
allow the `core/network` module to load actual string content itself.
2023-02-22 16:20:41 +00:00
Tim Hunt 467d99b7bb MDL-76843 quiz: add test to verify random essay stats now work 2023-02-22 15:12:03 +00:00
Tim Hunt 2580e7d399 MDL-76843 quiz: fix statistics questions for missing questions 2023-02-22 15:11:56 +00:00
Tim Hunt 89e2da51c9 MDL-76843 questions behat: enhancements requried to test this issue
* New steps to set up certian sorts of broken test data.
* Fix qtype_essay_question::un_summarise_response().
2023-02-22 15:10:23 +00:00
Tim Hunt 7ab289879a MDL-76298 drag-drop questions: validate the questions are complete
Previously, it was possible to create drag-drop markers and onto image
questions without any drag items or drop zones. This was non-sensical,
and broke statistics calculations.

So, missing validation added, and random guess score calculation made
robust.
2023-02-22 12:06:56 +00:00
Tim Hunt a15668409e MDL-58945 qbank: showing q text should give option of plain or full 2023-02-22 11:16:58 +00:00
Paul Holden 8c2b43f133 MDL-77352 javascript: declare debouncer outside the event handler.
It needs to be declared as such, otherwise each time the event is
triggered a new debouncer is created.
2023-02-21 22:47:58 +00:00
Paul Holden cdf532cf84 MDL-76602 mod_lti: array syntax/whitespace cleanup. 2023-02-21 17:10:22 +00:00
Paul Holden 2f794ccb3d Merge branch 'MDL-76602-400-lti13claims' of https://github.com/cengage/moodle into MOODLE_400_STABLE 2023-02-21 16:46:26 +00:00
sam marshall 3130c83f02 MDL-77149 core_files: Network filesystem (Amazon EFS) can warn
If you delete a file with a hash and then create another file with
the same hash, sometimes on EFS filesystems while trying to create
the new file, it returns true to the file_exists check even though
the file doesn't exist, but then fails other calls.

This change makes Moodle tolerate that behaviour.
2023-02-21 10:56:25 +00:00
Simey Lameze fcedef4566 MDL-77271 behat: verify user licence preference is remembered 2023-02-21 15:29:44 +08:00
AMOS bot d13319f328 Automatically generated installer lang files 2023-02-21 00:07:34 +00:00
Paul Holden f244de5a77 Merge branch 'MDL-76545-400' of https://github.com/ferranrecio/moodle into MOODLE_400_STABLE 2023-02-20 10:28:54 +00:00
Paul Holden 98c8165f6a Merge branch 'MDL-77287-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2023-02-20 09:55:09 +00:00
Audun Jørstad Lillekjendlie 4ccd18f6be MDL-77318 core: Add role attribute to user navigation div 2023-02-20 10:54:58 +01:00
Paul Holden e99051aabd MDL-76873 user: method for returning profile field instance of type.
Re-factor implementation of profile field access within user fields
class to use that already provided by the fields themselves.
2023-02-20 09:24:17 +00:00
Paul Holden 0e6bc44970 MDL-76873 reportbuilder: correct checks for profile field visibility. 2023-02-20 09:22:14 +00:00
Andrew Nicols 49af8b6508 Merge branch 'MDL-77020-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-20 09:55:18 +08:00
Ferran Recio e2e6e1407f MDL-76545 core: fix reactive debug panel
The reactive debug panel stops working when a new reactive instance is
created in the fly. This was not detected until the new dragf and drop
files into course uses a second reactive UI component in the same page.
2023-02-17 17:19:16 +01:00
Sara Arjona a47f28ee75 MDL-77230 mod_feedback: Validate feedback access
The get_items() and get_page_items() external methods should return
items only when the user has access. Otherwise, empty array for items
will be returned, with the exact error in the warnings parameter.
2023-02-17 12:43:33 +01:00
Petr Skoda 2f15514fa4 MDL-75005 core: remove invalid addslashes() 2023-02-17 09:49:45 +01:00
Jake Dallimore 831f0cf6ce MDL-77287 tool_oauth2: fix issuer form validation
This ensures validation errors from the issuer persistent are seen.
2023-02-17 15:16:11 +08:00
Ilya Tregubov cb2fa7a92d weekly release 4.0.6+ 2023-02-17 09:12:27 +08:00
Ilya Tregubov 1517a26b7e Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-02-17 09:12:24 +08:00
AMOS bot 41bd934db1 Automatically generated installer lang files 2023-02-17 00:07:47 +00:00
Paul Holden 162dfaaf85 MDL-77020 behat: refer to search input fields by name/role.
Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2023-02-16 10:34:50 +00:00
Audun Jørstad Lillekjendlie e8cc15ecaa MDL-77020 core: Include a unique id in the search input field id 2023-02-16 10:24:45 +00:00
Andrew Nicols 31b6436f90 Merge branch 'MDL-75578-400' of https://github.com/mackensen/moodle into MOODLE_400_STABLE 2023-02-16 12:01:43 +08:00
Jun Pataleta 5a81c72bac Merge branch 'MDL-72182-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-16 11:55:44 +08:00
Jun Pataleta f291f78cab Merge branch 'MDL-76584-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-16 11:48:56 +08:00
Andrew Nicols bfddf75448 Merge branch 'MDL-74698_400' of https://github.com/jonof/moodle into MOODLE_400_STABLE 2023-02-16 11:07:04 +08:00
Ilya Tregubov fce1784938 MDL-76313 forum: code style changes. 2023-02-16 11:01:04 +08:00
Ilya Tregubov 846b0c890c Merge branch '76313-forum-improve-accessibility-400' of https://github.com/DSI-Universite-Rennes2/moodle into MOODLE_400_STABLE 2023-02-16 11:00:43 +08:00
Ilya Tregubov 345c4a6a3c MDL-75379 core: Code style changes. 2023-02-16 10:50:30 +08:00
Ilya Tregubov 6c82a06f49 Merge branch 'MDL-75379_400' of https://github.com/larsbonczek/moodle into MOODLE_400_STABLE 2023-02-16 10:50:07 +08:00
Andrew Nicols f71d5a9b52 Merge branch 'MDL-76878-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-16 10:44:30 +08:00
Ilya Tregubov fe269e1bac Merge branch 'MDL-73519-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2023-02-16 09:34:46 +08:00
Andrew Nicols 31db9d0c57 Merge branch 'MDL-76478-password-unmask-MOODLE_400_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_400_STABLE 2023-02-15 23:26:28 +08:00
Andrew Nicols 20437979e6 Merge branch 'MDL-76948_400' of https://github.com/larsbonczek/moodle into MOODLE_400_STABLE 2023-02-15 23:01:30 +08:00
Paul Holden a9b0d53459 Merge branch 'MDL-77147_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-02-15 11:49:23 +00:00
Ilya Tregubov 8d36719bc3 Merge branch 'MDL-75230-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-02-15 16:13:12 +08:00
Andrew Nicols f6ec6e9dce Merge branch 'MDL-77241-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-15 11:14:44 +08:00
Jun Pataleta cafd97276a Merge branch 'MDL-77223-400' of https://github.com/roland04/moodle into MOODLE_400_STABLE 2023-02-15 11:06:48 +08:00
AMOS bot 8e20336b30 Automatically generated installer lang files 2023-02-15 00:07:47 +00:00
Paul Holden 2c3c32e29e Merge branch 'MDL-75454-400' of https://github.com/davewoloszyn/moodle into MOODLE_400_STABLE 2023-02-14 15:06:05 +00:00
Paul Holden 3fced488b3 MDL-77241 course: optional chaining safety for section toggles. 2023-02-14 13:15:40 +00:00
Paul Holden 44c94ffad4 Merge branch 'MDL-63608_400' of https://github.com/AnupamaSarjoshi/moodle into MOODLE_400_STABLE 2023-02-14 11:59:56 +00:00
Ilya Tregubov b8604c273c Merge branch 'MDL-76947-400' of https://github.com/davewoloszyn/moodle into MOODLE_400_STABLE 2023-02-14 13:53:59 +08:00
David Woloszyn ea5d5ea519 MDL-75454 cache: Reduced exposure of sesskey param 2023-02-14 11:29:01 +11:00
Tim Hunt c7f1203480 MDL-77210 quiz: fix regrade for attempts with redone questions 2023-02-13 16:58:40 +00:00
Mikel Martín d57345bf06 MDL-77223 reportbuilder: Fix first report column as integer 2023-02-13 16:16:11 +01:00
Lars Bonczek 589ca9aec6 MDL-75379 core: Use non-static template cache 2023-02-13 12:37:02 +01:00
Paul Holden ebaec57bb2 MDL-76611 cohort: prevent duplicate idnumber in inplace editable. 2023-02-13 10:33:34 +00:00
Ilya Tregubov 0888a32602 Merge branch 'MDL-77189-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-02-13 13:44:04 +08:00
Simey Lameze 326296c482 MDL-77189 behat: basic coverage for wikimedia repository 2023-02-13 13:23:54 +08:00
Jun Pataleta b93cb20e48 Merge branch '76314-forum-fix-forumtype-and-groupmode-validation-400' of https://github.com/DSI-Universite-Rennes2/moodle into MOODLE_400_STABLE 2023-02-13 11:38:49 +08:00
Anupama Sarjoshi d7d375ed14 MDL-63608 quiz: Fix Access order when manually grading quizzes
Changes done to fix access order of attempts that need manual grading.
Changed button text from 'Save and go to next page' to 'Save and show next' to improve UI.
2023-02-10 17:44:33 +00:00
Paul Holden 44d77d0848 weekly release 4.0.6+ 2023-02-10 13:47:38 +00:00
Paul Holden 5169dd0f8b Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2023-02-10 13:47:36 +00:00
Julien Boulen 002ed2d867 MDL-76314 forum: add form check to prevent combining wrong parameters
Form validation prevents combining the forum type "single discussion" and the group mode "separate groups".
2023-02-10 11:07:38 +01:00
Andrew Nicols 0ebbecff73 Merge branch 'MDL-76904-400' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_400_STABLE 2023-02-09 12:04:49 +08:00
Andrew Nicols 941203b502 Merge branch 'MDL-74755-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-09 11:44:40 +08:00
Jun Pataleta 9f876fe558 Merge branch 'MDL-77052-400' of https://github.com/Utdanningsdirektoratet/moodle into MOODLE_400_STABLE 2023-02-09 11:27:04 +08:00
Andrew Nicols ebeb9a87fc Merge branch 'MDL-76354-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-09 10:59:34 +08:00
Andrew Nicols bac3842abc Merge branch 'MDL-77018_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-02-09 10:51:59 +08:00
Andrew Nicols 4efc9efd9b Merge branch 'MDL-76066-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2023-02-09 10:48:23 +08:00
Andrew Nicols 1278c93a06 Merge branch 'MDL-77057-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-09 10:21:23 +08:00
Andrew Nicols b7334e05db Merge branch 'MDL-76499-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-02-09 10:05:22 +08:00
Andrew Nicols e900f15c57 Merge branch 'MDL-70586-400' of https://github.com/sarjona/moodle into MOODLE_400_STABLE 2023-02-09 09:45:57 +08:00
Paul Holden 2b4711fdcd Merge branch 'MDL-76672-400' of https://github.com/Utdanningsdirektoratet/moodle into MOODLE_400_STABLE 2023-02-08 14:57:38 +00:00
Paul Holden 16d81dabab Merge branch 'MDL-76542-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-02-08 14:22:12 +00:00
Simey Lameze e844d6d366 MDL-76542 behat: add step to go to user edit page directly 2023-02-08 20:55:43 +08:00
Simey Lameze 28c1597e5a MDL-76542 behat: create custom profile fields using data generators
This commit also adds a new test to verify the custom profile fields
works using the user interface.
2023-02-08 20:55:43 +08:00
Paul Holden 8c08aeb863 Merge branch 'MDL-73692-400-Add-support-for-missing-timestamps-to-rss-block' of https://github.com/melanietreitinger/moodle into MOODLE_400_STABLE 2023-02-08 11:22:52 +00:00
Melanie Treitinger 1914fe6604 MDL-73692 blocks: Add support for missing timestamps to rss block. 2023-02-08 11:16:06 +01:00
Jun Pataleta b0cc1c096a Merge branch 'MDL-74905_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2023-02-08 17:19:18 +08:00
Angelia Dela Cruz 61737d06c5 MDL-75230 behat: Lesson Behat tests optimised
Replace steps that manually add Lesson instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2023-02-08 16:59:18 +08:00
Lars Bonczek 45b117f8e7 MDL-74433 mod_assign: Fix logging of submission removal 2023-02-07 12:38:03 +01:00
Andrew Nicols db37e1eb58 Merge branch 'MDL-77023-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-07 12:48:23 +08:00
Andrew Nicols feb10fbea9 Merge branch 'MDL-77123-400' of https://github.com/cameron1729/moodle into MOODLE_400_STABLE 2023-02-07 12:40:48 +08:00
Andrew Nicols d2306d35c6 Merge branch 'mdl-76729_400' of https://github.com/james-cnz/moodle into MOODLE_400_STABLE 2023-02-07 12:37:32 +08:00
Paul Holden ddff113f3b Merge branch 'MDL-77078-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-02-06 13:33:06 +00:00
Audun Jørstad Lillekjendlie b9a36a1562 MDL-76672 block_myoverview: add role attribute for filter div 2023-02-06 14:07:00 +01:00
Tim Hunt 5dd03dc296 MDL-77147 question admin: optimised the query in admin/qtypes.php 2023-02-06 12:48:16 +00:00
Audun Jørstad Lillekjendlie 5563c74c95 MDL-77052 block_recentlyaccesseditems: HTML role attribute
HTML elements with role=list must contain children with role=listitem
2023-02-06 13:47:35 +01:00
Paul Holden 7aacb04321 Merge branch 'MDL-76370-publicpaths-proxying-MOODLE_400_STABLE' of https://github.com/jaydn/moodle into MOODLE_400_STABLE 2023-02-06 11:02:48 +00:00
Marina Glancy 073901d019 MDL-72182 my: tests for resetting dashboard
Co-authored-by: Paul Holden <paulh@moodle.com>
2023-02-06 09:34:32 +00:00
Paul Holden cd7ec775ae MDL-72182 user: cross-DB compatibility for getting user pages/blocks. 2023-02-06 09:34:32 +00:00
Paul Holden 3419329a12 MDL-74755 block_accessreview: stricter checking of enabled config. 2023-02-06 09:31:45 +00:00
David Woloszyn 7821816fdd MDL-76947 css: Fixed layout regression on dropdown menus 2023-02-06 16:05:40 +11:00
Andrew Nicols 93f6ce8bfe Merge branch 'MDL-77091-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-06 12:59:46 +08:00
Angelia Dela Cruz 584c42e14d MDL-77078 Behat: Coverage for assignment submission statement 2023-02-06 11:32:11 +08:00
AMOS bot a252f3ca77 Automatically generated installer lang files 2023-02-06 00:07:37 +00:00
Anastasios Bithas 9079e01d44 MDL-73642 mod_assign: Disable draft option if submission already made 2023-02-04 18:49:21 +02:00
Andrew Nicols fecc3e0fa1 Merge branch 'MDL-76662-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-04 21:52:25 +08:00
Eloy Lafuente (stronk7) 2756ebfc7c MDL-74905 ci: travis and gha, some adjustments
Apply for some of the improvements made for 4.2:
- Use our own moodlehq/mysql-action
- Define the tmpfs size and ensure that binlogs are disabled.
2023-02-03 19:48:10 +01:00
Eloy Lafuente (stronk7) a279eba2f1 MDL-74905 environment: Apply agreed changes:
- PHP 8.0 required.
- Moodle 3.11.8 required (first minor supporting PHP 8.0 officially).
- MySQL 8.0 required.
- MariaDB 10.6.7 required.
- PostgreSQL 13 required.
- php-sodium extension required.
- 64-bit PHP required.
2023-02-03 19:48:10 +01:00
Eloy Lafuente (stronk7) 5160aa199e MDL-74905 environment: 4.2 base information
This is a direct copy of the 4.1 information, to
have all the real changes under control in next commit(s).
2023-02-03 19:48:10 +01:00
Paul Holden f2a4f26708 Merge branch 'MDL-76869-400' of https://github.com/cameron1729/moodle into MOODLE_400_STABLE 2023-02-03 14:58:31 +00:00
Paul Holden 21ebba9e39 Merge branch 'MDL-77090_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-02-03 14:46:54 +00:00
Tim Hunt 23e26675ff MDL-77090 questions: regrade of interactive attempts lose tries count
The behaviour-specific data was getting corrupted when the regrade
recreated the first step, because $oldstep->get_behaviour_data() was
stripping off the leading '-' characters from the names, and they were
not being added back.
2023-02-03 10:53:56 +00:00
Jun Pataleta a2b88160d7 weekly release 4.0.6+ 2023-02-03 15:43:41 +08:00
Angelia Dela Cruz edc5b03aa1 MDL-76499 behat: Resource Behat tests optimised
Replace steps that manually add resource instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.

Co-authored-by: David Woloszyn <david.woloszyn@moodle.com>
2023-02-03 14:09:46 +08:00
Jonathon Fowler 36c92bc955 MDL-74698 backup: correctly restore course format options
Old-version backups (< 3.11.7, < 4.0.1) lose their course-level format
options when restoring into newer versions after the backup structure
was changed.

Also, course-level format options were not accurately restored against
the appropriate format type. And section-level format options were
redundantly stored at course-level and restored without mapping their
sectionids, thus creating lint.
2023-02-03 10:22:09 +10:00
Andrew Nicols 0004ba1d1b Merge branch 'MDL-75345-400-fix' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-02 22:01:04 +08:00
Paul Holden bdb6fb7baf MDL-75345 reportbuilder: remove course summary filter checks. 2023-02-02 13:48:49 +00:00
Cameron Ball d92966f83e MDL-77123 message_airnotifier: Don't test configured providers 2023-02-02 14:50:02 +08:00
Andrew Nicols 70fdaa51aa Merge branch 'MDL-75870-400' of https://github.com/nwp90/moodle into MOODLE_400_STABLE 2023-02-02 12:34:53 +08:00
Andrew Nicols 16e2822e90 Merge branch 'MDL-75085-400-4' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-02-02 12:04:05 +08:00
Andrew Nicols 9842833fc1 Merge branch 'MDL-75830-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-02-02 11:58:31 +08:00
Andrew Nicols 69395127e0 Merge branch 'MDL-77024_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-02-02 11:52:59 +08:00
Andrew Nicols c1bc2d4dd2 Merge branch 'MDL-76675_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2023-02-02 11:04:12 +08:00
Jun Pataleta a4a9984650 Merge branch 'MDL-69690-400' of https://github.com/ilyatregubov/moodle into MOODLE_400_STABLE 2023-02-02 10:31:49 +08:00
Jun Pataleta 0b0874b063 Merge branch 'MDL-77092-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2023-02-02 09:56:59 +08:00
Andrew Nicols 9c3af6a9ae Merge branch 'MDL-75912-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-02-02 09:44:43 +08:00
Ilya Tregubov cf6901bb9c Merge branch 'MDL-77079-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-02-02 09:17:22 +08:00
Jun Pataleta 37da5b7176 MDL-75085 mod: Pass proper $required param value external_format_value 2023-02-02 09:05:27 +08:00
Jun Pataleta f829545013 MDL-75085 external: Pass proper $required param value in tests 2023-02-02 09:05:27 +08:00
Angelia Dela Cruz b79f853484 MDL-75830 behat: Book behat tests optimised
Replace steps that manually add Book instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
Additionally, performed Behat cleanup and optimisation to affected
files.
2023-02-02 09:03:42 +08:00
Andrew Nicols d851bb1ad3 Merge branch 'MDL-77003-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-02 08:21:23 +08:00
Andrew Nicols 720007a54c Merge branch 'MDL-75345-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-02-02 08:18:38 +08:00
Nick Phillips 5d7411d864 MDL-75870 course: only section togglers to toggle sections 2023-02-02 11:32:15 +13:00
Paul Holden 7e4ef00e6d Merge branch 'MDL-76658-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-02-01 16:34:41 +00:00
Paul Holden 6299d39bf2 MDL-75345 reportbuilder: improve course/user custom report tests.
Ensure column and filters provided by each source have sufficient
coverage. Re-factor individual entity/helper class tests to test
their own specific implementation only.

Remove now-defunct test fixtures.
2023-02-01 15:41:24 +00:00
Paul Holden b56a5e0dfb MDL-77091 reportbuilder: set base time in schedule test generator.
The base time allows for the setting of the "current time" for the
purposes of the schedule test against recurrence configuration.

We should ensure the generator method allows this property so that
it can be used when calculating the initial "next send time" of the
schedule upon creation (and avoiding excessive recursion when the
actual current time is used for the calculation).
2023-02-01 14:39:44 +00:00
Paul Holden 6be9700e32 Merge branch 'MDL-76311-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2023-02-01 14:16:19 +00:00
Meirza 4369ac81a7 MDL-76311 user: redirect to proper URL if a new user creation cancelled 2023-02-01 20:13:22 +07:00
Sara Arjona 4f5795037e MDL-70586 mod_feedback: Hide the Preview questions icon for students
The Preview questions icon shouldn't be displayed unless the user can
edit the feedback or access to the reports; otherwise, it's causing
confusion (especially when the feedback is not opened).
2023-02-01 12:36:29 +01:00
Paul Holden b3e9ba1785 Merge branch 'MDL-73847_400' of https://github.com/jonof/moodle into MOODLE_400_STABLE 2023-02-01 10:00:29 +00:00
Jun Pataleta fc88017acf Merge branch 'MDL-76985-MOODLE_400_STABLE' of https://github.com/sh-csg/moodle into MOODLE_400_STABLE 2023-02-01 14:10:36 +08:00
Ilya Tregubov 4f0c9f4f4b Merge branch 'MDL-76587-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-02-01 13:26:19 +08:00
Jun Pataleta 74bde5fb35 MDL-75085 external: Fix external_multiple_structure parameter passing
Some calls to the external_multiple_structure's constructor incorrectly
pass parameters where the value for the $description parameter is not
being passed. This results to invalid values being passed for the
$required parameter.
2023-02-01 12:29:08 +08:00
Jun Pataleta 58bef2f34e MDL-75085 webservice: Fix parameter passed to external_format_value 2023-02-01 12:29:08 +08:00
Angelia Dela Cruz f4965f1c72 MDL-75912 behat: Wiki behat generators use UI
Behat cleanup and optimisation
2023-02-01 11:22:35 +08:00
Angelia Dela Cruz f5666cffda MDL-75912 behat: Wiki Behat tests now use generators
Replace steps that manually add Wiki instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2023-02-01 11:21:36 +08:00
Simey Lameze ebd0c7fe8c MDL-77079 behat: use different step to validate presets table data 2023-02-01 09:04:01 +08:00
Tim Hunt 73a7a74d92 MDL-77094 quiz_statistics: improve efficiency of the recalculate task
quiz_settings::create() requires at least 3 DB queries, so the point is
that we can avoid doing that until after we have worked out if we need
to calculate statistics for this quiz.

Also, we order the list of quizzes to consier, to process the ones with
more recent attempts first.
2023-01-31 17:02:57 +00:00
Julien Boulen ae60dd25f6 MDL-76945 theme: fix the rendering of arrows on dropdown variants 2023-01-31 15:21:53 +01:00
sam marshall 029e6e7d89 MDL-77092 Behat: Expand all fieldsets fails with single fieldset
The Behat step to expand all fieldsets did not work if the page
contains only one fieldset.
2023-01-31 13:59:12 +00:00
Angelia Dela Cruz e8719fd65a MDL-76658 Behat: Coverage for course cohort enrolment groups
Co-authored-by: Simey Lameze <simey@moodle.com>
2023-01-31 19:23:54 +08:00
Ilya Tregubov c499c7079f Merge branch 'MDL-77077-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2023-01-31 18:14:17 +08:00
hieuvu 66c35154b8 MDL-76904 question: Keep question highlight in url 2023-01-31 16:39:56 +07:00
Simey Lameze b11dbf60c0 MDL-76587 behat: make grading page wider to avoid 'out of bounds' fail
This is because on classic theme the navigation block pushes the content
to the right and once behat changes the grades the 'Save changes' button
is no longer visible.
2023-01-31 11:20:13 +08:00
Charles Fulton 4400c34168 MDL-75578 course: require course library to resolve namespace issues 2023-01-30 10:45:48 -05:00
Jake Dallimore 365fff0ff2 MDL-77077 mod_lti: Fix JWT signature verify when alg missing from JWKS
Infer the algorithm, where necessary, using a combination of JWT
headers and known valid LTI algorithms.
2023-01-30 16:45:35 +08:00
Andrew Nicols 0386f27ba1 Merge branch 'MDL-77040-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-01-30 12:28:21 +08:00
Tim Hunt a493821bcc MDL-77018 qbank_statistics: only load stats for contexts that exist
Also, pre-load the contexts for efficiency.
2023-01-27 20:52:33 +00:00
Paul Holden d3d62a087b MDL-77057 group: format group names in module override pages. 2023-01-27 11:50:52 +00:00
Eloy Lafuente (stronk7) 45730b9a07 MDL-76675 date: Only test all TZ names with PHPUNIT_LONGTEST enabled
It happens often that some timezone is renamed, split, added to the
IANAs list of timezones (that, for PHP is kept updated by the
php-timezonedb PECL extension).

When the information coming from the extension changes, all the
PHPUnit jobs in the world start failing (that's when CIs update
their PHP images, when devs update their packages, ...).

So, what we are doing here is to move that test that check for
every single string existing to be run only when PHPUNIT_LONGTEST
is enabled. That way only places running all tests will run that
one. And every other run just will skip it.

This corresponds to point 1 & 2 of the issue, lower impact in general
and, still be able to enable the tests to run.
2023-01-27 08:49:36 +01:00
Andrew Nicols a73cddb9f9 Merge branch 'MDL-75978-400' of https://github.com/JBThong/moodle into MOODLE_400_STABLE 2023-01-27 13:11:22 +08:00
Paul Holden 83bb155b67 MDL-77040 core: assert types of returned Geoplugin data, not values.
The results we get from these tests are beyond our control, and are
unreliable for use in testing.

See also previous change 215cd2d8 in similar tests.
2023-01-26 13:24:11 +00:00
Paul Holden 8f8cea4f03 MDL-76662 tool_log: correct supported reports test assertions. 2023-01-26 13:09:08 +00:00
Davo Smith f95c68c141 MDL-76938 backup: fix restore of comments linked to a course format 2023-01-26 12:33:24 +00:00
Sara Arjona f5ec0df5d5 weekly release 4.0.6+ 2023-01-26 09:59:17 +01:00
Lars Bonczek 539b6b6c85 MDL-76948 mod_assign: Fix description of submission_unlocked event 2023-01-25 19:21:43 +01:00
Tim Hunt 28226981fc MDL-77024 quiz: fix metatdata on log events
Some had the wrong edulevel or crud
2023-01-25 16:13:34 +00:00
Jun Pataleta fa558bdbdc Merge branch 'MDL-76977-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-01-25 16:10:03 +08:00
Jun Pataleta f5babd9a75 Merge branch 'MDL-77036-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-01-25 16:02:11 +08:00
Stefan Hanauska f8a081f660 MDL-76985 course: Redirect to moved section 2023-01-25 09:00:39 +01:00
Simey Lameze a0115a8578 MDL-77036 core_iplookup: update test_ipv4 test expectations 2023-01-25 15:15:22 +08:00
Paul Holden 1d8744377f MDL-77003 javascript: improve string helper JSON detection.
Changes in fbc2732d made the JS template string helper method
too strict in regards to what it considers a valid JSON object.

Co-authored-by: Mike Churchward <mike@brickfieldlabs.ie>
2023-01-24 22:16:26 +00:00
Paul Holden 7d9c52b6bd MDL-77023 javascript: always normalise component of lang strings.
Co-authored-by: David Matamoros <davidmc@moodle.com>
2023-01-24 16:44:13 +00:00
Jun Pataleta 21aba2fb63 Merge branch 'MDL-76639-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-01-24 18:59:21 +08:00
Jun Pataleta d5f6993327 Merge branch 'MDL-76652-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-01-24 18:45:12 +08:00
Jun Pataleta 9f6fcd1e47 Merge branch 'MDL-76655-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2023-01-24 18:26:53 +08:00
Angelia Dela Cruz 9c4637c086 MDL-76655 behat: Coverage for workshop grading strategies 2023-01-24 09:37:59 +08:00
Paul Holden a5fb38a57c MDL-76354 competency: export user privacy data unconditionally.
We should ensure that any past competency data for a user is always
exported, regardless whether competencies are currently enabled.
2023-01-23 22:15:29 +00:00
Amaia Anabitarte 72773d10f6 MDL-76066 mod_data: Trigger field_deleted event when importing 2023-01-23 18:55:13 +01:00
sam marshall e926de79f3 MDL-76956 core_grades: Regrade progress bar should be more granular
This change makes the regrade progress bar send frequent updates to
the web browser, even when processing within the same grade item, to
avoid timeout problems when there are a large number of users.
2023-01-23 11:42:14 +00:00
Paul Holden 1037818475 MDL-76584 question: correct temporary questionid upgrade field.
Pass correct parameter/type in field constructor (`XMLDB_NOTNULL`)
for consistency. This corrects the definition and preserves the
truthyness of the value that was incorrectly passed previously.
2023-01-23 09:16:32 +00:00
Paul Holden 93a6761b9e MDL-76977 phpunit: ensure unique data provider keys in mustache test. 2023-01-20 17:21:36 +00:00
Ilya Tregubov 13bc06e37d weekly release 4.0.6+ 2023-01-20 09:41:46 +08:00
Paul Holden e961a93ee8 MDL-76878 user: amend permission callbacks for preference definitions.
Ensure those preferences that are used for storing state can always be
updated via web service requests for the current user.
2023-01-19 15:28:52 +00:00
Hiroto Kagotani 7b79101032 MDL-76936 course: purge course cache on resetting start date 2023-01-19 20:01:03 +09:00
Jun Pataleta 6cec3844dc Merge branch 'MDL-76725-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-01-19 12:04:57 +08:00
Ilya Tregubov 3c44c156e6 Merge branch 'MDL-76870-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-01-19 11:15:35 +08:00
Ilya Tregubov cd685999fa Merge branch 'MDL-76766-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2023-01-19 11:04:47 +08:00
Ilya Tregubov 56dc60887c Merge branch 'MDL-74756-MOODLE_400_STABLE' of https://github.com/sh-csg/moodle into MOODLE_400_STABLE 2023-01-19 10:31:06 +08:00
Andrew Nicols 76bb28ab0b Merge branch 'MDL-76841-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-01-19 08:55:28 +08:00
Andrew Nicols f28a05b21c Merge branch 'MDL-70070-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-01-19 08:50:58 +08:00
Jun Pataleta c7f189da0f Merge branch 'MDL-76525-MOODLE_400_STABLE' of https://github.com/PhMemmel/moodle into MOODLE_400_STABLE 2023-01-18 22:55:31 +08:00
Philipp Memmel 69d187f94b MDL-76525 mod_data: Add param validation for data fields 2023-01-18 12:12:37 +01:00
Claude Vervoort 644d3a5b3f MDL-76602 mod_lti: move lti13 claim declaration in subplugin 2023-01-17 16:56:58 -05:00
Jake Dallimore 963379d7a8 Merge branch 'MDL-66221-400' of https://github.com/raortegar/moodle into MOODLE_400_STABLE 2023-01-17 11:29:22 +08:00
Stefan Hanauska 366e1fae05 MDL-74756 availability_completion: Prev activity (completion n/enabled) 2023-01-16 22:20:42 +01:00
Paul Holden a8e796311e MDL-76841 tool_mobile: improve potential config issues test.
Avoid certificate checking of the default test site (`example.com`),
and update the assertion so we get clearer failures in the future.
2023-01-16 08:30:36 +00:00
Paul Holden dcb19eebc2 MDL-70070 phpunit: correct data provider method names.
They should not be prefixed `test_` because that's how actual
test methods containing assertions are identified by PHPUnit.
2023-01-16 08:28:25 +00:00
Jaydn Cunningham 5ed130b575 MDL-76370 curl: suppress CONNECT header when using HTTP proxy 2023-01-16 14:17:09 +10:30
Jonathon Fowler 587c9406a3 MDL-73847 lti: fetch keyset URLs using configured proxy settings 2023-01-16 10:00:26 +10:00
Jun Pataleta b864c78a31 Moodle release 4.0.6 2023-01-14 14:17:09 +08:00
raortegar f2a95bf7fa MDL-66221 tool_recyclebin: Fix recycle bin with activity settings
If backup_auto_activities setting from Automated backup is disabled
the activities will not be stored for the recycle bin
2023-01-13 11:31:57 +01:00
Simey Lameze 914e611bd1 MDL-76870 question: change assertion to assertEqualsCanonicalizing
By using that assertion the arrays will be sorted before comparison
preventing any Oracle sorting related failures.

Credits for the solution go to Tim Hunt!
2023-01-13 18:13:19 +08:00
Angelia Dela Cruz e6eb08a448 MDL-76639 behat: Add Behat test coverage for quiz with limited attempts 2023-01-13 16:29:43 +08:00
Jun Pataleta 5b81c07712 weekly release 4.0.5+ 2023-01-13 10:52:19 +08:00
Cameron Ball 4269b654b6 MDL-76869 gradebook: Pass exception to rollback 2023-01-12 16:35:54 +08:00
Ilya Tregubov f52cc16d34 MDL-69690 mod_workshop: Fix fieldname for workshop. 2023-01-12 14:42:24 +07:00
Andrew Nicols 7299eb910d Merge branch 'MDL-76820-400' of https://github.com/cameron1729/moodle into MOODLE_400_STABLE 2023-01-12 12:09:48 +08:00
Jun Pataleta 43bfcc4c77 Merge branch 'MDL-76649_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2023-01-12 12:06:54 +08:00
Michael Hawkins 044e23f691 MDL-76861 blog: Ensure correct escaping applied to search string 2023-01-12 11:43:22 +08:00
Jake Dallimore 8a5563445d MDL-76862 user: Unit test for setting user home page preferences 2023-01-12 11:30:46 +08:00
Paul Holden 8de0b97f7d MDL-76862 user: ensure user can only update own preferred start page. 2023-01-12 11:17:00 +08:00
Cameron Ball 8ee9748839 MDL-76820 core_search: Reset manager::$coursedeleting between tests 2023-01-12 10:54:50 +08:00
Jun Pataleta 2d82b93072 Merge branch 'MDL-76739-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-01-12 10:17:52 +08:00
Jun Pataleta a387d795f7 MDL-76739 mod_data: Replace "Author surname" with "Author last name"
For consistency with the rest of the lang strings
2023-01-12 09:59:50 +08:00
Jun Pataleta 80d8f7f1be MDL-76739 behat: Replace occurrences of "surname" in Behat tests
Replace occurrences of "surname" in Behat tests with "last name".
2023-01-12 09:49:57 +08:00
David Mudrák bb82843548 MDL-76739 lang: Use the fixed strings in the tests, too 2023-01-11 18:54:57 +01:00
Helen Foster 3463f7fa5d MDL-76739 lang: Import fixed English strings (en_fix) 2023-01-11 18:54:57 +01:00
Ilya Tregubov 005814360f Merge branch 'MDL-76607-400' of https://github.com/davewoloszyn/moodle into MOODLE_400_STABLE 2023-01-11 19:18:48 +07:00
Amaia Anabitarte 5aae7cc4aa MDL-76766 mod_quiz: Allow shuffling quizes with no questions 2023-01-11 11:16:36 +01:00
Andrew Nicols 8e9e4ca362 Merge branch '66924-view-own-private-reply-400' of https://github.com/DSI-Universite-Rennes2/moodle into MOODLE_400_STABLE 2023-01-11 15:53:40 +08:00
Tim Hunt 799f7fb18f MDL-76810 redirect handling: ensure return URLs are properly sanitised 2023-01-11 11:43:45 +08:00
Jake Dallimore 978a6bb8ec Merge branch 'MDL-76597-400-2' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-01-11 10:12:33 +08:00
Paul Holden 7405121cd2 Merge branch 'MDL-76811-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-01-10 16:40:06 +00:00
Paul Holden aa40f64f98 Merge branch 'MDL-76803-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-01-10 16:24:04 +00:00
Paul Holden b7baec898a Merge branch 'MDL-76653-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2023-01-10 15:29:16 +00:00
Paul Holden aeabe6324b Merge branch 'MDL-76833-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2023-01-10 12:29:18 +00:00
Julien Boulen ad87801d2d MDL-76313 forum: improve accessibility on subscribers page
- add header on table of subscribers
- remove one redundant header
2023-01-10 11:17:16 +01:00
Jun Pataleta c445846da4 MDL-76803 lang: Update usages of reworded email display options 2023-01-10 16:01:51 +08:00
Jun Pataleta 8376eec99d MDL-76803 lang: Make email display options more concise 2023-01-10 16:01:51 +08:00
Meirza 46cb0bc324 MDL-73519 core_course: re-styling the unordered list.
Currently, the unordered list in the course content follows the original style and
is ordered from the top of the content section, which is not part of the description.
That's why the first occurrence of the list is the 2nd level which uses the circle as the marker/list type
instead of the disc. In contrast, the editor always uses the original style.

so we need to reset the CSS of the unordered list in the description to the original
which the disc as the first marker, a circle for the second marker,
and a square for the following levels.
2023-01-10 12:18:29 +07:00
Andrew Nicols a20c78d894 MDL-76833 core: Bump phpunit/php-code-coverage version
This includes a bug fix for a display issue with code coverage reporting
in phpunit's HTML output report.
2023-01-10 12:09:01 +08:00
Andrew Nicols fe6d102184 MDL-76811 mod_data: Remove duplicate tests 2023-01-10 11:39:40 +08:00
Andrew Nicols e719cbb687 MDL-76811 mod_data: strpos check should be strict 2023-01-10 11:39:40 +08:00
Andrew Nicols b5cce2514d MDL-76811 mod_data: Generator test cleanup 2023-01-10 11:39:40 +08:00
Simey Lameze 81ff190dfb MDL-76653 behat: add coverage for SCORM availability 2023-01-10 10:25:55 +08:00
Jun Pataleta 7268fe0424 Merge branch 'MDL-76061-MOODLE_400_STABLE' of https://github.com/PhMemmel/moodle into MOODLE_400_STABLE 2023-01-10 09:42:10 +08:00
james-cnz 77e664ce4a MDL-76729 filepicker: Restore file picker thumbnails in tree view 2023-01-10 11:49:28 +13:00
Philipp Memmel c2b7e33b5d MDL-76061 core_calendar: Fix changing event type from 'user' 2023-01-09 15:06:09 +01:00
Tim Hunt 0dcd79d2e8 MDL-76649 quiz statistics task: output more useful trace info
At the moment, quiz_statistics\task\recalculate gives no useful
information about what it is doing, which makes it hard to investigate
if the task fails. This commit makes it more usefully verbose.

Also, following this change, one instance of this task will not
run for more than one hour at a time.

As part of this commit, I have added a new helper mtrace_exception.
to consistently log exceptions in scheduled tasks. It is sad to
add a new function to moodlelib.php, but that seemed the logical place.
Looking at other tasks, this method is badly needed. Many are just
logging the ->getMessage() which is normaly insufficient for proper
debugging. However, swiching all existing tasks to use the new function
will need to wait for a future MDL.
2023-01-09 13:46:29 +00:00
Julien Boulen 918b7c9c87 MDL-66924 mod_forum: Allow users to see their own private messages
Allow users to see their own private messages even if they don't have
mod/forum:readprivatereplies capability

Add behat test to avoid MDL-67109 issue.

Co-authored-by: Martin Putzlocher <mputzi@users.noreply.github.com>
2023-01-09 14:43:45 +01:00
Paul Holden 06634f0add Merge branch 'MDL-75532-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2023-01-09 11:51:00 +00:00
Paul Holden d7ba5b5d6f Merge branch 'MDL-76601-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2023-01-09 10:11:07 +00:00
Jun Pataleta a61a86c61d MDL-76597 mod_quiz: Add a default heading name for Behat tests 2023-01-09 15:42:57 +08:00
Jake Dallimore 673faab506 MDL-75532 enrol_lti: fix optional lineitemsurl in grade sync task
As in MDL-74691, we need either or both of these fields, meaning either
one could be omitted. This just supports that as per the fix made in
MDL-74691.
2023-01-09 11:37:14 +08:00
Jake Dallimore 3a8149ccc2 MDL-75532 enrol_lti: add tests for coupled and decoupled line items
This covers the following cases:
1. Where only the 'lineitem' service endpoint is provided
2. Where only the 'lineitems' service endpoint is provided.
Existing tests already cover the case where both are provided.
2023-01-09 11:37:14 +08:00
Simey Lameze ac754da8f2 MDL-76652 behat: use data generator and remove duplicated steps 2023-01-09 10:17:04 +08:00
Simey Lameze 492a8726e2 MDL-76652 behat: add coverage for postwithoutthrottling logic 2023-01-09 10:17:04 +08:00
Jun Pataleta 4d64b0b5fe MDL-76597 mod_quiz: Set presentation role for the question list
Since the <ul> and <li> elements for listing the quiz questions and
elements are mainly used for layout purposes, it is better to set the
role of these elements to presentation only.
The aria-label for the <li> element is inappropriate and can also cause
confusion to screen reader users. Better to remove this. Though this is
being used in the confirmation modal so better to just change it to a
data attribute.
2023-01-06 22:55:13 +08:00
Jun Pataleta 58d350d53d MDL-76597 question: Add question version lang string 2023-01-06 22:55:12 +08:00
Jun Pataleta 7ad4bc126b MDL-76597 mod_quiz: Add label for question checkboxes 2023-01-06 22:55:12 +08:00
Jun Pataleta dac806d47d MDL-76597 mod_quiz: Darken section heading on quiz questions page 2023-01-06 22:55:12 +08:00
Jun Pataleta 5ea303bacb MDL-76597 mod_quiz: Add label for version selector 2023-01-06 22:55:12 +08:00
Jun Pataleta d597211fa6 MDL-76597 mod_quiz: Add a default sr-only section heading
Add a default sr-only section heading in order to prevent having an
empty heading for the quiz section which is not good for accessibility.

Plus:
- There's also an existing issue where filters are never applied to
section headings on load. This has been fixed in this commit as well.
- Button role added for the edit section button which enables it to
take advantage of the theme highlighting when it receives focus.
2023-01-06 22:55:12 +08:00
Paul Holden fcea42b77e Merge branch 'MDL-32114-400' of https://github.com/srobotta/moodle into MOODLE_400_STABLE 2023-01-06 11:20:48 +00:00
Paul Holden 9b7854dbad Merge branch 'MDL-76578-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2023-01-06 10:41:37 +00:00
Ilya Tregubov 500bde134f Merge branch 'MDL-76251-patch-400' of https://github.com/ilyatregubov/moodle into MOODLE_400_STABLE 2023-01-06 16:15:06 +07:00
Ilya Tregubov dc230cf98e MDL-76251 mod_forum: Fix illegal whitespace. 2023-01-06 16:13:37 +07:00
Ilya Tregubov dc516a038e Merge branch 'MDL-76251-400' of https://github.com/aya-saad1/moodle into MOODLE_400_STABLE 2023-01-06 15:38:19 +07:00
Stephan Robotta bd1d89a94a MDL-32114 form: markdown must be preserved on saving post
- Markdown is saved to the DB, no conversion to HTML to keep
  ability to reedit the content without beaking it.
- Blockquote element is styled that it's distingishable from
  normal text.
2023-01-05 18:36:58 +01:00
Andrew Nicols 7d4104a8eb Merge branch 'MDL-76508-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2023-01-05 21:31:14 +08:00
Paul Holden da216a5545 weekly release 4.0.5+ 2023-01-05 10:53:13 +00:00
Aya Saad 08d0ea0aad MDL-76251 mod_forum: fix responsive issues in discussion 2023-01-05 11:35:44 +02:00
David Woloszyn 50c1e2507d MDL-76607 timeline: Reordered message to account for long course name 2023-01-05 12:13:39 +11:00
David Woloszyn ec71e226d4 MDL-76607 css: Fixed various classes where long strings break layout 2023-01-05 12:13:39 +11:00
Sara Arjona 9b11c29932 Merge branch 'MDL-76375-400' of https://github.com/lucaboesch/moodle into MOODLE_400_STABLE 2023-01-04 16:21:51 +01:00
Luca Bösch 2af81f271d MDL-76375 quiz generator: Allow more than one attempt by Behat tests. 2023-01-04 15:16:30 +01:00
Paul Holden a7d6f79bdd MDL-76725 mod_wiki: avoid named arguments in real path callback.
See also f4fb91ae. PHP8 now supports named arguments in calls to
the `call_user_func_array` method, which can result in differing
behaviour compared to PHP7, e.g. in this case it was throwing an
exception due to an unknown named parameter.
2023-01-04 14:08:06 +00:00
Sara Arjona 1fa5b0c03c Merge branch 'MDL-76221-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-01-04 13:09:46 +01:00
Paul Holden 160019f2e3 MDL-76657 grade: load required test libraries for grade helper. 2023-01-04 11:22:51 +00:00
Paul Holden 8412f2adb0 Merge branch 'MDL-76657-400' of https://github.com/rezaies/moodle into MOODLE_400_STABLE 2023-01-04 11:10:43 +00:00
Jun Pataleta 1d3bd4e102 Merge branch 'MDL-74822-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2023-01-04 17:29:11 +08:00
Jun Pataleta 54e2850687 MDL-76601 block_myoverview: Remove hover action before clicking on menu
With the course card menu now always displayed, there's no need to hover
first before clicking on the menus on block_myoverview Behat tests.
2023-01-04 17:22:46 +08:00
Jun Pataleta 1c1f42d5d3 MDL-76601 blocks: Always display course card menus
Displaying the course card menu only on hover is bad in terms of
accessibility as it prevents keyboard-only users from accessing the
menu. So it's better to always display them.
2023-01-04 17:22:46 +08:00
Sara Arjona d070caea1a Merge branch 'MDL-76181-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-01-04 09:20:25 +01:00
Sara Arjona dd6549e0be Merge branch 'MDL-76308-400' of https://github.com/BruceGoodGuy/moodle into MOODLE_400_STABLE 2023-01-03 14:13:05 +01:00
Paul Holden 0b66c7a43a Merge branch 'MDL-53137-400' of https://github.com/lucisgit/moodle into MOODLE_400_STABLE 2023-01-03 12:14:43 +00:00
Sara Arjona 093b2d9eb5 Merge branch 'MDL-71506-400' of https://github.com/lucaboesch/moodle into MOODLE_400_STABLE 2023-01-03 13:10:22 +01:00
Paul Holden 7172bf1f73 Merge branch 'MDL-75346-reset_dashboard_error-400' of https://github.com/leonstr/moodle into MOODLE_400_STABLE 2023-01-03 11:28:33 +00:00
Shamim Rezaie 540ce30050 MDL-76657 gradebook: Remove hard-coded plugin names from unit test 2023-01-03 20:33:17 +11:00
Andrew Nicols 4fb6de6324 MDL-32105 mod_glossary: Improve behat test 2023-01-03 15:32:39 +08:00
Andrew Nicols d9d1cd7c55 Merge branch 'MDL-32105-400' of https://github.com/Chocolate-lightning/moodle into MOODLE_400_STABLE 2023-01-03 15:32:36 +08:00
Peter 6774281d65 MDL-32105 mod_glossary: Restrict glossary aliases by set of keywords 2023-01-03 13:49:09 +08:00
Huong Nguyen e22131aa8f MDL-74822 usertours: Fix accessibility issues with user tours
Including in this commit:
 - Prevent the tour to be displayed if the CSS is disabled by the browser
 - Removed redundant tabindex=0 attribute on the target
 - Created extra code to re-calculate the suitable position of the tour
 - Fixed tour issue in 200% and 400% zoom
 - Fixed tour highlight is not correct in 200% and 400%
2023-01-03 10:35:32 +07:00
Sara Arjona 81ecef2c1b Merge branch 'MDL-60038-400' of https://github.com/aneno-m-e/moodle into MOODLE_400_STABLE 2023-01-02 16:35:30 +01:00
Luca Bösch d0e3eb464a MDL-71506 mod_choice: suppress non respondents in downloads if set so. 2023-01-02 15:52:47 +01:00
Sara Arjona 5e439eefde Merge branch 'MDL-76106-400' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_400_STABLE 2023-01-02 13:07:45 +01:00
Sara Arjona d066f500bf Merge branch 'MDL-76760-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2023-01-02 12:27:46 +01:00
Paul Holden bb898838d6 MDL-76221 reportbuilder: improve report test generator methods.
Test generators for creating report columns, filters and conditions
now allow for setting all persistent properties.
2022-12-29 14:02:32 +00:00
Paul Holden 81cc2e6b41 MDL-76181 reportbuilder: sort columns during stress testing. 2022-12-29 13:57:42 +00:00
Sara Arjona fcfc240a77 weekly release 4.0.5+ 2022-12-29 12:57:50 +01:00
Sara Arjona f3fee9f4d2 Merge branch 'MDL-76399-patch-400' of https://github.com/ilyatregubov/moodle into MOODLE_400_STABLE 2022-12-29 09:13:39 +01:00
Ilya Tregubov 302610302a MDL-76399 behat: switch to appropriate Behat step for selects. 2022-12-29 14:45:00 +07:00
Ilya Tregubov fa417ba8a3 Merge branch 'MDL-76399-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-29 09:44:00 +07:00
Sara Arjona 9d14b80f5b Merge branch 'MDL-76004-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2022-12-28 18:22:40 +01:00
Sara Arjona bdbd1b3af0 Merge branch 'MDL-72523-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-28 13:01:45 +01:00
Paul Holden 2b6ca7e207 MDL-72523 calendar: return original focus from event modals. 2022-12-28 11:14:50 +00:00
Huong Nguyen 023ac9229f MDL-72523 javascript: Introduce setReturnElement for core/modal 2022-12-28 11:14:50 +00:00
Sara Arjona 5f02141a7a Merge branch 'MDL-72563-400' of https://github.com/KepaUrzelai/moodle into MOODLE_400_STABLE 2022-12-28 12:13:21 +01:00
Sara Arjona 54cffd7c2e Merge branch 'MDL-69071-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-28 11:41:18 +01:00
Paul Holden 5e80881587 MDL-76760 tool_behat: defer library loading until service execution.
Ensures that API documentation can be generated without requiring
the presence of the `vendor/` directory.
2022-12-28 10:39:54 +00:00
Ilya Tregubov c6c77554ef Merge branch 'MDL-76731_400' of https://github.com/PhilippImhof/moodle into MOODLE_400_STABLE 2022-12-28 15:14:35 +07:00
Sara Arjona dcfd3b29a9 Merge branch 'MDL-76679-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-27 16:55:31 +01:00
Amaia Anabitarte 293bc2d615 MDL-76578 core_course: One section per page summary information 2022-12-26 16:02:51 +01:00
Meirza eeccbf0ebd MDL-76508 templates: Handling non-JSON string
When the param string contains a left curly bracket as the first character,
the system will assume the string is a JSON string and will be parsed and returned as an object.
But in some cases, the string is not JSON and will return an error if the system parses it.
For example, a user might have used the course name with a left curly bracket as the first character.
Adding a double quote after the left curly bracket to differentiate between string and JSON string,
so it can be safe to parse the string.
2022-12-24 05:24:24 +07:00
Noemie Ariste 8cded7cd9f MDL-60038 moodlelib: ignore site policy if user auth type = 'webservice' 2022-12-23 10:03:41 +13:00
Philipp Imhof 652d8971ec MDL-76731 behat: add steps to check for version
Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2022-12-22 17:12:29 +01:00
Tony Butler 8fbede49ae MDL-53137 qtype_numerical: Swap geo tolerance limits for -ve answers 2022-12-22 15:32:00 +00:00
Ilya Tregubov 37e16d4da2 weekly release 4.0.5+ 2022-12-22 19:16:34 +07:00
Ilya Tregubov 5b325dc2e9 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-12-22 19:16:32 +07:00
Ilya Tregubov 06d3ff9ea2 Merge branch 'MDL-76667-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-22 12:30:08 +07:00
Paul Holden 6aa9d215c8 Merge branch 'MDL-75965-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-12-22 12:30:08 +07:00
Andrew Nicols 0faa70e56a MDL-75105 tool_behat: Coding style fixes 2022-12-22 12:30:08 +07:00
Andrew Nicols 0ab77c7287 Merge branch 'MDL-75105_400_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_400_STABLE 2022-12-22 12:30:07 +07:00
Paul Holden 3d0bbf1a0f Merge branch 'MDL-75914-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2022-12-22 12:30:07 +07:00
Thong Bui 1bde415012 MDL-75978 Quiz\D&D: on mobile, a moving line-wrap can bork the question 2022-12-22 10:08:59 +07:00
AMOS bot 9287e1e0ea Automatically generated installer lang files 2022-12-22 00:07:39 +00:00
Meirza e4bf4cf37e MDL-75914 webservice: Added fake URL to avoid debugging output.
Webservice doesn't need to set the page URL. Hence,
any function that requires a page URL will raise debugging output.
The patch fixes it by adding a fake URL for the webservice.
The patch also removed assertDebuggingCalled because it is no longer needed.
2022-12-21 16:32:54 +07:00
Mark Johnson 4dfb5cf6e7 MDL-75105 tool_behat: List available data generators
This will find all data generators that can be used in behat via the
'the following "something" exist:' step, and display them in a select
list on the step definitions page.

When a generator is selected, it will fetch the required fields for that
generator and display them on the page.
2022-12-21 08:38:20 +00:00
Huong Nguyen 4fc412b538 MDL-75965 question_multichoice: Misalignment of feedback icons 2022-12-21 14:15:50 +07:00
Ilya Tregubov 9e6b6b4925 Merge branch 'MDL-76727-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-12-21 09:50:45 +07:00
Paul Holden 0e52ea009d Merge branch 'MDL-75279-400' of https://github.com/spvickers/moodle into MOODLE_400_STABLE 2022-12-20 10:27:42 +00:00
Andrew Nicols 7a5389f1cc MDL-76727 core: Allow phpcs configuration to be overridden locally
This change reduces the priority of the shipped phpcs configuration to
allow for local overrides.

This is beneficial in several situations:
- when users wish to apply stricter or additional standards
- when the integration team wishes to trial new rules
2022-12-20 09:35:51 +08:00
Stephen Vickers e7a5867a88 MDL-75279 mod_lti: Add username to NRPS response 2022-12-19 17:11:04 +00:00
Paul Holden 741c9e003d Merge branch 'MDL-72906-400' of https://github.com/tdjones/moodle into MOODLE_400_STABLE 2022-12-19 10:23:16 +00:00
Ilya Tregubov f464b00ab8 Merge branch 'MDL-74779-400' of https://github.com/ssj365/moodle into MOODLE_400_STABLE 2022-12-19 09:45:54 +07:00
Leon Stringer 2f4fa118db MDL-75346 core_my: Handle missing blocks on reset
If the default dashboard contained a block that was missing from disk
then "Exception - Call to a member function instance_copy() on bool"
was shown to users.  This change only shows an error with debugging
enabled which now includes the name of the missing block.
2022-12-17 17:40:38 +00:00
Paul Holden 2144007387 MDL-76399 question: switch to appropriate Behat step for selects. 2022-12-16 13:09:54 +00:00
Paul Holden 6176c8fc88 MDL-76399 behat: improvements to "should exist in" thrown exception. 2022-12-16 12:29:19 +00:00
Paul Holden e62f86b983 Merge branch 'MDL-76026_400' of https://github.com/AnupamaSarjoshi/moodle into MOODLE_400_STABLE 2022-12-16 09:54:54 +00:00
Andrew Nicols 089260dae2 weekly release 4.0.5+ 2022-12-16 09:05:57 +08:00
Andrew Nicols 661e595500 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-12-16 09:05:56 +08:00
Paul Holden 1aba16cbea MDL-69071 core: retrieve full result from remote content.
Use the full result from download_file_content within the component
installer to ensure that spurious debugging is not emitted during
operation. Handle validation of the returned data consistently.
2022-12-15 17:19:08 +00:00
Paul Holden c9a5b23d7a MDL-76679 admin: correct password config field template.
The template changes were missed as part of 0795b579, update them
to match so that they continue to work with the unmask JS module.
2022-12-14 19:12:11 +00:00
Sara Arjona 636ad3d3a0 Merge branch 'MDL-76674_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-12-14 18:34:56 +01:00
Amaia Anabitarte 3f39fcf27e MDL-76004 core_h5p: Ensure the browser is serving updated file 2022-12-14 16:22:59 +01:00
Eloy Lafuente (stronk7) 1097414910 MDL-76674 core_lang: Add string for new America/Ciudad_Juarez 2022-12-14 15:51:36 +01:00
Paul Holden 364c3b1fa9 Merge branch 'MDL-76666_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-12-14 13:22:07 +00:00
Eloy Lafuente (stronk7) 27ebb8fa2d MDL-76666 local_langimport: Better handling of long locales
Under some linux versions, and depending of the configured
locale categories, it's possible to get a current locally
which length > 255 when calling to setlocale(LC_ALL, 0).

Later, if that long locale is tried to be restored, there
is a "setlocale(): Specified locale name is too long" warning
error.

When that happens we need to split the long locale into
individual chunks and set all the (six) locale categories
supported one by one.

Covered with tests, note that, in practice, this only
happens with linux because it supports 12 locale categories
@ OS level. Both BSD (6) and Windows (5) hardly can reach the limit.

No matter of that, the tests have been designed to ensure that
they pass on all OSs, just the new code only will be executed
on linux.
2022-12-14 12:25:37 +01:00
Sara Arjona 08c8e9bba2 Merge branch 'MDL-75441-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2022-12-14 09:57:19 +01:00
AMOS bot b4ab42a911 Automatically generated installer lang files 2022-12-14 00:07:39 +00:00
Anupama Sarjoshi a85ff11cba MDL-76026 Question bank: Fix errors related to categories renaming
This part of the code in 'question_category_object.php' 'update_category' method was used before Moodle 4.0 version for renaming
the random questions in an updated category. For Moodle 4.0, it is unnecessary as the details of random questions are no more
stored in 'question' table but in 'question_set_references' table. The method call move_question_set_references handles the same.
2022-12-13 19:21:19 +00:00
Amaia Anabitarte 9d2ddbf7fe MDL-75441 mod_forum: Show add new post button to guest users 2022-12-13 18:48:01 +01:00
Paul Holden 34eee61037 MDL-76667 forms: mark modal form as submitted upon success.
Ensure the form change checker module doesn't warn user about it.
2022-12-13 14:48:16 +00:00
Andrew Nicols ff72ae15f3 Merge branch 'MDL-76509-400' of https://github.com/safatshahin/moodle into MOODLE_400_STABLE 2022-12-13 20:32:01 +08:00
Andrew Nicols 8a4a9fc096 Merge branch 'MDL-76536-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-13 11:42:57 +08:00
Andrew Nicols 4ab2e98a64 MDL-76293 gradebook: Address coding violations
This includes a data provider which had the 'test_' prefix and was
therefore run as a test.
2022-12-13 11:07:37 +08:00
Andrew Nicols e5ed497363 Merge branch 'MDL-76293_400' of https://github.com/mkassaei/moodle into MOODLE_400_STABLE 2022-12-13 11:07:33 +08:00
Safat 26ed26289d MDL-76509 core: Upgrade error resolve for slot tags 2022-12-13 13:40:33 +11:00
Shamiso.Jaravaza fdcc78fee0 MDL-74779 mod_bigbluebuttonbn: Fix recording sort
AMOS BEGIN
 MOV [config_recordings_sortorder,mod_bigbluebuttonbn],[config_recordings_asc_sort,mod_bigbluebuttonbn]
 MOV [config_recordings_sortorder_description,mod_bigbluebuttonbn],[config_recordings_asc_sort_description,mod_bigbluebuttonbn]
AMOS END
2022-12-12 13:32:09 -07:00
Sara Arjona 43e0217956 Merge branch 'MDL-75571-400' of https://github.com/jacdsouza/moodle into MOODLE_400_STABLE 2022-12-12 11:23:24 +01:00
Khoa Nguyen Dang 7ae8b4dbed MDL-76308 Question\D&D: The draggable area is slim characters to select 2022-12-12 13:49:39 +07:00
hieuvu 097b706970 MDL-76106 qtype_ddmarker: fix the missing maker issue.
We will not calculate old maker position again and using old data.
This will make sure the position of makers is correct
when the background image is smaller than dropzone.
2022-12-12 11:10:18 +07:00
Andrew Nicols 2d3acb52df Merge branch 'MDL-76398-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-11 20:21:00 +08:00
Jackson D'souza 118240ef22 MDL-75571 tool_componentlibrary: Custom activity icon 2022-12-09 15:51:33 +00:00
Jackson D'souza d7b3d443aa MDL-75571 theme_boost: Activity icon
* Use Activity get_icon_url helper method to fetch icon.
2022-12-09 15:51:33 +00:00
Jackson D'souza 75247caff8 MDL-75571 block_timeline: Display custom activity icon if available. 2022-12-09 15:51:33 +00:00
Jackson D'souza bb23523870 MDL-75571 calendar: Activity icon
* Use Activity get_icon_url helper method to fetch icon.
2022-12-09 15:51:33 +00:00
Sara Arjona e4b7d8b323 Merge branch 'MDL-76274-400' of https://github.com/cameron1729/moodle into MOODLE_400_STABLE 2022-12-09 16:18:14 +01:00
Paul Holden 93ac861ec5 MDL-76536 enrol: prevent invalid role assignments in course creation.
Upgrade step to fixup existing bad data.
2022-12-09 11:39:51 +00:00
Sara Arjona ce6131e6f7 weekly release 4.0.5+ 2022-12-09 08:57:06 +01:00
Sara Arjona 3e0a29dee5 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-12-09 08:57:01 +01:00
Jun Pataleta c1fb24274e Merge branch 'MDL-76556-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-12-08 10:07:41 +08:00
Andrew Nicols ec6d835341 Merge branch 'MDL-76491-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-08 08:12:55 +08:00
AMOS bot 73d873e752 Automatically generated installer lang files 2022-12-08 00:07:38 +00:00
Andrew Nicols 623ca576bd Merge branch 'MDL-76550_400' of https://github.com/AnupamaSarjoshi/moodle into MOODLE_400_STABLE 2022-12-08 08:07:20 +08:00
Andrew Nicols df2fe09963 Merge branch 'MDL-76074-400' of https://github.com/srobotta/moodle into MOODLE_400_STABLE 2022-12-08 07:29:05 +08:00
Andrew Nicols 4b31bb97f5 Merge branch 'MDL-76116-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2022-12-08 06:17:25 +08:00
Sara Arjona b6355c6490 Merge branch 'MDL-75588-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-12-07 19:31:18 +01:00
Trevor Jones 40c59b5865 MDL-72906 Quiz: Prevent scrollbar on multichoice
Remove negative margin from the "clear my choice" anchor.
With the negative margin, when the containing box height is calculated
the anchor's hidden style overflows beyond the boundary and triggers
the overflow:auto to add a scroll bar.
2022-12-07 11:22:27 -07:00
Sara Arjona 814fc9cbc1 Merge branch 'MDL-76500-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-07 18:27:59 +01:00
Sara Arjona 77ef43cb2e Merge branch 'MDL-76193-400' of https://github.com/JBThong/moodle into MOODLE_400_STABLE 2022-12-07 17:26:30 +01:00
Sara Arjona 0ab8dfd19f Merge branch 'MDL-76571_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2022-12-07 17:17:50 +01:00
Tim Hunt 38bad90a7e MDL-76571 quiz reports: should not show description items
... or anything else with length = 0. This got broken in MDL-71696.

The only way to fix this kind-of involves and API change to
quiz_report_get_significant_questions. However, it is only changing
the external API of this function back to how it was before the 4.0 release,
and the chnages in 4.0 were never documented, nor, I would guess, intended,
since they just broke things.
2022-12-07 14:51:42 +00:00
Jun Pataleta 85ca739855 Merge branch 'MDL-76559-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-12-07 22:40:44 +08:00
Andrew Nicols 57f473425a MDL-76559 core: validate_email does not take false either 2022-12-07 21:40:18 +08:00
Sara Arjona 982427b990 Merge branch 'MDL-76273-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-07 12:51:49 +01:00
Huong Nguyen 15a855e371 MDL-75588 assign: Reset completion status when resetting a submission 2022-12-07 16:16:07 +07:00
Jun Pataleta 72ceec4d94 Merge branch 'MDL-73017-M400_add-environment-check-for-versions-not-supporting-php-8-1' of https://github.com/ziegenberg/moodle into MOODLE_400_STABLE 2022-12-07 13:47:21 +08:00
Meirza fd89171c91 MDL-76116 mnet: styling the delete key confirmation window properly 2022-12-07 11:28:15 +07:00
Jun Pataleta 9e06598722 Merge branch 'MDL-75635-MOODLE_40_STABLE' of https://github.com/catalyst/moodle into MOODLE_400_STABLE 2022-12-07 11:04:00 +08:00
Thong Bui 25ca760ccd MDL-76193 Questions: Backup and Restore with tags fails 2022-12-06 22:32:30 +07:00
Jun Pataleta 8cca821b62 Merge branch 'MDL-76559-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-12-06 23:19:28 +08:00
Andrew Nicols 7c28bd0d36 MDL-76559 core: validate_email should not accept empty values 2022-12-06 20:53:54 +08:00
Jun Pataleta 743fe53e6b Merge branch 'MDL-75381-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-06 19:24:28 +08:00
Ilya Tregubov af51642584 Merge branch 'MDL-76490-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-06 13:10:21 +03:00
Paul Holden 0dc67b9d10 MDL-76500 grade: fix grade form when item cannot be overridden. 2022-12-06 09:19:52 +00:00
Ilya Tregubov 8966d10fd6 Merge branch 'MDL-76446-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-06 12:19:34 +03:00
Mahmoud Kassaei 8ee6c1b4ed MDL-76293 Gradebook: PHPUnit fails when plugins are not expected 2022-12-06 08:39:56 +00:00
Cameron Ball f4dba7ab54 MDL-76274 assignfeedback_editpdf: Fix upgrade step for stale conversions 2022-12-06 16:07:50 +08:00
Ilya Tregubov 42d71d6502 Merge branch 'MDL-75516_400' of https://github.com/larsbonczek/moodle into MOODLE_400_STABLE 2022-12-06 10:38:40 +03:00
Andrew Nicols 34c8e455ea Merge branch 'MDL-75446-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2022-12-06 15:20:01 +08:00
Andrew Nicols e81a91d18f Merge branch 'MDL-75573-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-06 13:56:47 +08:00
Andrew Nicols c877d579e7 Merge branch 'MDL-76145-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2022-12-06 13:36:30 +08:00
Brendan Heywood 940006d39f MDL-76478 formslib: Fix autocomplete bug of existing passwords 2022-12-06 12:34:17 +11:00
Paul Holden ef9310d1e7 MDL-76273 core: multi-byte character filename support for TCPDF.
See: https://github.com/tecnickcom/TCPDF/pull/562
2022-12-05 15:03:09 +00:00
Paul Holden 64439605c6 MDL-76490 behat: use defined step for interaction with autocomplete. 2022-12-05 14:22:27 +00:00
Marina Glancy 7ae00a1542 MDL-76490 behat: correct step for opening autocomplete in container. 2022-12-05 14:22:02 +00:00
Anupama Sarjoshi 8576612fbb MDL-76550 Quiz and qbank: Fix display of Category and question names 2022-12-05 12:09:26 +00:00
Sara Arjona 4fc0a470fb Merge branch 'MDL-75789-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-05 12:53:50 +01:00
Sara Arjona f05f5b909f Merge branch 'MDL-76166-username-logging-MOODLE_400_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_400_STABLE 2022-12-05 12:44:30 +01:00
Ilya Tregubov 90829a7550 Merge branch 'MDL-75788-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-12-05 14:32:22 +03:00
Sara Arjona afafcca723 Merge branch 'MDL-76482-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-12-05 12:04:09 +01:00
Daniel Ziegenberg 02663758fb MDL-73017 env: Moodle 3.9.x, 3.11.x and 4.0.x do not support PHP 8.1
This commit adds an additional environment check for the unsupported
PHP 8.1 version to Moodle 3.9.x, 3.11.x and 4.0.x.

It also updates the lang string for unsupported PHP version.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-12-05 11:39:53 +01:00
Angelia Dela Cruz 1bec71f1b6 MDL-75446 behat: Workshop behat generators use UI
Replace steps that manually add Workshop instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2022-12-05 16:37:06 +08:00
Ilya Tregubov 507d27ba9b Merge branch 'MDL-76330-MOODLE_400_STABLE' of https://github.com/sh-csg/moodle into MOODLE_400_STABLE 2022-12-05 09:22:37 +03:00
Jun Pataleta 65397a0a86 Merge branch 'MDL-76225-400' of https://github.com/ferranrecio/moodle into MOODLE_400_STABLE 2022-12-05 13:47:37 +08:00
AMOS bot a916576147 Automatically generated installer lang files 2022-12-04 00:08:29 +00:00
Andrew Nicols 258c8ca75c MDL-76556 tool_log: Set the store property correctly 2022-12-03 11:49:24 +08:00
Lars Bonczek 3afa59e702 MDL-75516 core: Perform proper JSON encoding in mustache quote helper 2022-12-02 13:37:33 +01:00
Paul Holden b729d36baf MDL-76491 javascript: add missing core/notification imports. 2022-12-02 10:06:27 +00:00
Paul Holden f5bb4eebce MDL-76491 javascript: prevent eslint undefined Notification import. 2022-12-02 10:06:10 +00:00
Paul Holden 91e96925c9 MDL-76398 reportbuilder: use improved action menu steps in Behat.
Improved steps for using actions menus were added in 232ebac3, so
make use of them here for consistency/reliability.
2022-12-02 09:54:58 +00:00
Paul Holden b903d21ea2 MDL-76398 behat: broader action menu partial matching by element.
For action menu elements whose trigger element isn't plain text
(e.g. a pix icon), we should be able to match via the title of
that element.
2022-12-02 09:54:58 +00:00
Stephan Robotta 1ad4c0e91c MDL-76074 completion: fixed filter in reports with custom user fields
When the site uses custom user text fields that would show up in a
user list, the filter for firstname or lastname didnt work anymore.
If a filter was used, no result would show up. Users where shown only
when the course reports where used without filters.
2022-12-02 09:42:29 +01:00
Dani Palou 6aafd5fa61 MDL-75788 behat: Use profile field generators in existing tests 2022-12-02 14:58:38 +08:00
Dani Palou e2d166e526 MDL-75788 testing: Handle new lines in menu profile field generator 2022-12-02 14:58:38 +08:00
hieuvu ae949341cd MDL-76106 qtype_ddmarker: Improve loading consistency.
Wait for the image to load completely before running the js.
2022-12-02 12:34:43 +07:00
Paul Holden ef5112211b MDL-75573 backup: translate async operation type in messages. 2022-12-01 19:48:36 +00:00
Stefan Hanauska ea6c1d65af MDL-76330 enrol: Check permission to show edit icon 2022-12-01 20:07:10 +01:00
Sara Arjona bdba78514f weekly release 4.0.5+ 2022-12-01 16:08:04 +01:00
Andrew Nicols 1d35066ba5 Merge branch 'MDL-75604-400' of https://github.com/ssj365/moodle into MOODLE_400_STABLE 2022-12-01 09:02:48 +03:00
Andrew Nicols cb26fec31f Merge branch 'MDL-75281-400' of https://github.com/call-learning/moodle into MOODLE_400_STABLE 2022-12-01 09:02:48 +03:00
Sara Arjona 1e6be54edd Merge branch 'MDL-76226-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-01 09:02:48 +03:00
Jun Pataleta 1fc5e599c5 Merge branch 'MDL-76250-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-01 09:02:48 +03:00
Jun Pataleta 53c1445753 Merge branch 'MDL-76483-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-12-01 09:02:48 +03:00
Andrew Nicols 53e5b88001 Merge branch 'MDL-75826-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2022-12-01 09:02:48 +03:00
Jun Pataleta 17e976a2a7 Merge branch 'MDL-68981-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-12-01 09:02:48 +03:00
Jun Pataleta 230c3cedc6 Merge branch 'MDL-76284-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-01 09:02:48 +03:00
Jun Pataleta 09d76ce833 Merge branch 'MDL-76429_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-12-01 09:02:48 +03:00
Andrew Nicols 3b504d259b Merge branch 'MDL-76380-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-12-01 09:02:48 +03:00
Andrew Nicols a24b426062 Merge branch 'MDL-76218-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2022-12-01 09:02:47 +03:00
Andrew Nicols e8c58c9a3b Merge branch 'MDL-76127-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2022-12-01 09:02:47 +03:00
Ilya Tregubov f51798f962 Merge branch 'MDL-72019-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2022-12-01 09:02:47 +03:00
Laurent David 46e658d506 MDL-75281 mod_bigbluebuttonbn: Upgrade failure when table exists
* Fix several upgrade script issue when the recording table exists or plugin has been
downgraded prior to 4.x upgrade
2022-11-30 20:15:13 +01:00
Shamiso.Jaravaza c72574f800 MDL-75604 mod_bigbluebuttonbn: Fix welcome section
* Removed welcome message from General settings
* Cleaned settings.php file to remove hardcoded add($item) after adding conditional element
2022-11-30 10:08:37 -07:00
Ferran Recio 70abc44e05 MDL-76225 core_courseformat: fix section title id 2022-11-30 16:47:09 +01:00
Meirza 966b0dd3df MDL-76145 course: Avoid long course names that exceed available space
Co-authored-by: Stephen Sharpe <stephen.sharpe@synergy-learning.com>
2022-11-30 11:36:16 +07:00
Andrew Nicols ad770fe215 MDL-76482 output: The javascript mustache helper should return a string 2022-11-30 12:18:54 +08:00
Huong Nguyen 832d237c94 MDL-68981 tool_recyclebin: Force necessary settings when restoring
Created code to force the necessary settings for restore_item in:
  + course_bin class
  + category_bin class
2022-11-30 10:20:09 +07:00
Huong Nguyen cb8b72034e MDL-68981 tool_recyclebin: Extra PHPUnit with General restore config 2022-11-30 10:20:09 +07:00
Huong Nguyen 31c047d2d3 MDL-68981 tool_recyclebin: Extra Behat test with General restore config
Including in this commit:
 - Convert existing Behat scenario to use Data generators
 - Convert existing Behat scenario to use Provider
 - Add new scenario for Include users setting in General restore page
2022-11-30 10:20:06 +07:00
Brendan Heywood acf152ca8b MDL-76166 calendar: Ensure user is in server access logs 2022-11-30 13:26:11 +11:00
Brendan Heywood 4dc23af4ad MDL-76166 auth: Ensure user is in server access logs 2022-11-30 13:26:11 +11:00
Paul Holden d24c88543d MDL-76446 user: correct logic for multiple keyword search.
When the keyword participant filter was used with multiple values
in conjunction with other participants filters, the boolean logic
was effectively:

 X AND Y OR Z

When what we actually wanted was:

 X AND (Y OR Z)
2022-11-29 16:30:41 +00:00
Andrew Nicols 382f91cf8c Merge branch 'MDL-75960-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2022-11-29 17:05:18 +08:00
Paul Holden 109b772c06 MDL-75381 gradereport_grader: ensure valid paging preference value.
Set type of the report paging setting to integer, to ensure usage
of it is predictable. Unsupported operated type errors were thrown
on PHP8.0 when it's value contained a string or was empty.
2022-11-29 08:41:27 +00:00
Paul Holden 937c47e90e MDL-75789 restore: multi-byte safe substring calculating course names.
Co-authored-by: Leon Stringer <leon.stringer@ntlworld.com>
2022-11-29 08:32:13 +00:00
Andrew Nicols 1735591d32 Merge branch 'MDL-65939-400' of https://github.com/ewallah/moodle into MOODLE_400_STABLE 2022-11-29 15:41:51 +08:00
Andrew Nicols 6846a839f5 Merge branch 'MDL-76058-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-11-29 15:37:24 +08:00
Andrew Nicols 11123d3aba Merge branch 'MDL-74454-MOODLE_400_STABLE' of https://github.com/pabloamayab/moodle into MOODLE_400_STABLE 2022-11-29 14:19:05 +08:00
Andrew Nicols eb61b04180 MDL-76258 mod_lti: Codign style fixes 2022-11-29 12:29:06 +08:00
Andrew Nicols 9fa5637b56 Merge branch 'MDL-76258-MOODLE_400_STABLE' of https://github.com/sh-csg/moodle into MOODLE_400_STABLE 2022-11-29 12:29:03 +08:00
Andrew Nicols ab112ec2b7 MDL-69570 assignfeedback_editpdf: Whitespace fix 2022-11-29 11:52:01 +08:00
Andrew Nicols 801ca38d89 Merge branch 'MDL-69570-400' of https://github.com/abgreeve/moodle into MOODLE_400_STABLE 2022-11-29 11:51:05 +08:00
Adrian Greeve fa0e0b9a39 MDL-69570 assignfeedback_editpdf: Upgrade step to remove files.
This upgrade step removes all orphaned editpdf feedback files and
records.
2022-11-29 09:48:47 +08:00
Adrian Greeve df99098fb6 MDL-69570 assignfeedback_editpdf: Remove temp pdf files
This adds a new method to the assignfeedback edit pdf library
to specify user data file areas that will return just the meaningful
annotated feedback pdf.

get_file_areas has been updated for this plugin to return all
file areas related to assignfeedback_editpdf, and should stop
producing orphaned files and records when a course reset is done.

Thanks to @toniginard who provided a base solution for me to work
off.
2022-11-29 09:47:48 +08:00
Mark Holliday 801e7d9fe4 MDL-76376 scorm: fix PHP8 TypeError (null is not Countable) 2022-11-28 17:52:33 -05:00
Paul Holden a63ddc2ec3 MDL-76380 tool_oauth2: remove double persistent load on update.
The method already loaded the validated persistent model data on the
previous line, there's no need to do it again (while also trying to
load unvalidated properties).
2022-11-28 19:39:00 +00:00
Paul Holden 740d11fb43 MDL-76250 mod_assign: disable form change checker for grading options.
This was previously fixed in 8e9efe60, but seems to have regressed
somewhere along the way.
2022-11-28 16:07:04 +00:00
Paul Holden e4bdc416d8 MDL-76226 admin: account for preset config checkboxes other than bool.
The assumption that the settings checkbox always stores boolean values
(e.g. 0/1) isn't correct. The `perfdebug` configuration instead uses
the values 7/15.
2022-11-28 16:04:14 +00:00
Paul Holden 7030ec9af2 MDL-76284 webservice: early exit if no users for missing capabilities. 2022-11-28 11:52:52 +00:00
Meirza 34f8f8fe90 MDL-75826 profile: Redirect to profile page if returnto is profile. 2022-11-28 16:16:23 +07:00
Angelia Dela Cruz aeebd7a189 MDL-75960 behat: Survey behat generators use UI
Replace steps that manually add Survey instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2022-11-28 10:01:16 +08:00
Eloy Lafuente (stronk7) ffbb559293 MDL-76429 composer: Bump to phpwebdriver 1.2.1 for php81 compat
This fix is really only required for Moodle 4.1 and up, that will
be the one supporting php81, but we always apply composer changes
to all branches (supported and security), so we keep them running
the same stuff.

Note this comes with a bunch of other small updates, all them
pretty minor and should not be problematic. Better we get them
than keeping them apart.
2022-11-25 16:27:24 +01:00
Andrew Nicols 6687efe4d5 MDL-76483 core: Handle default value for get_docs_url() 2022-11-25 22:19:20 +08:00
Ilya Tregubov efdaed1f70 weekly release 4.0.5+ 2022-11-25 15:38:30 +03:00
Jun Pataleta 56143593c4 Merge branch 'MDL-76468-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-11-24 17:51:43 +08:00
Andrew Nicols 1a5322ab4b MDL-76468 output: Correct slasharg URL for theme stylesheet 2022-11-24 16:41:07 +08:00
Andrew Nicols 449104d62a Merge branch 'MDL-76395-400-enfix' of https://github.com/vmdef/moodle into MOODLE_400_STABLE 2022-11-24 16:25:17 +08:00
Ilya Tregubov 437f447816 Merge branch 'MDL-76291-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-24 10:59:47 +03:00
Víctor Déniz ef8fdb4762 Merge branch 'MDL-76324-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-11-23 14:22:40 +00:00
Víctor Déniz 476474da69 MDL-76395 lang: Use fixed strings in tests 2022-11-23 12:45:54 +00:00
Paul Holden 2e534d0c99 MDL-76291 mod_bigbluebuttonbn: tell Behat to wait while polling.
While fetching recording data, and updating room info. Should reduce
random scenario failures.
2022-11-23 10:15:39 +00:00
Jun Pataleta c09e748a9a Merge branch 'MDL-76365-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-11-23 14:51:34 +08:00
Huong Nguyen 8a0f9db07f MDL-76324 webdav: Fix error for PHP 8.0 2022-11-23 09:12:02 +07:00
Helen Foster 0487f8ed9a MDL-76395 lang: Import fixed English strings (en_fix) 2022-11-23 00:14:28 +00:00
Ilya Tregubov bb7e105ca9 weekly release 4.0.5+ 2022-11-22 15:58:21 +03:00
Huong Nguyen cca0bc9ec5 MDL-76365 mod_data: Fix export with empty template
If the template is not created, we need to use the default template for the export
2022-11-22 12:08:45 +07:00
Jun Pataleta 65886c04da Merge branch 'MDL-76390_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-11-22 11:20:05 +08:00
Jun Pataleta 472ea45f92 Merge branch 'MDL-76367-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-11-22 11:08:31 +08:00
Jun Pataleta b62844e26c Merge branch 'MDL-76389_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-11-22 09:49:42 +08:00
Ilya Tregubov e72dd8c3d9 Merge branch 'MDL-76341-400' of https://github.com/stevandoMoodle/moodle into MOODLE_400_STABLE 2022-11-21 16:54:36 +03:00
Meirza 4419deedab MDL-76127 Profiling: Make the breadcrumb of the profiling URL clickable
Boost has the behavior to remove the last item action.
To avoid that, we need to add an action item.
2022-11-21 14:28:14 +07:00
Stevani Andolo 3bd0fd816f MDL-76341 tool_lp: Fixed learning plan's header not containing user name 2022-11-21 14:35:19 +08:00
Eloy Lafuente (stronk7) c5569f2965 MDL-76390 tool_lp: Remove magic getter call
Since Moodle 3.3 (see MDL-57273), the magix getters and setters
for persistent classes are deprecated, instead get() and set()
must be used.
2022-11-20 14:53:17 +01:00
Eloy Lafuente (stronk7) 5d16d55949 MDL-76389 output: Ensure we don't try to iterate over null
Just convert nulls to empty array before trying to iterate it.
2022-11-20 11:42:02 +01:00
Paul Holden 2da8a31849 weekly release 4.0.5+ 2022-11-18 11:43:11 +00:00
Paul Holden f9460201fd Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-11-18 11:43:08 +00:00
Andrew Nicols 5851941cef MDL-76367 core: Apply RTL transformations to editors too 2022-11-18 15:14:42 +08:00
Jun Pataleta 28a2586852 Merge branch 'MDL-76332-400' of https://github.com/call-learning/moodle into MOODLE_400_STABLE 2022-11-18 11:58:12 +08:00
Jun Pataleta 6579bdbdb7 Merge branch 'MDL-75903-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-18 11:29:09 +08:00
AMOS bot 12e4a722bd Automatically generated installer lang files 2022-11-18 00:07:39 +00:00
Sara Arjona 7d2d64a559 Merge branch 'MDL-73620-400_grouperror' of https://github.com/alexmorrisnz/moodle into MOODLE_400_STABLE 2022-11-17 18:00:27 +01:00
Sara Arjona cef970f6d5 Merge branch 'MDL-74780-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-17 17:40:15 +01:00
Paul Holden 7fb8631e3e Merge branch 'MDL-76105-400-enfix' of https://github.com/vmdef/moodle into MOODLE_400_STABLE 2022-11-17 16:30:18 +00:00
Sara Arjona 40d67d22b2 Merge branch 'MDL-70491-400_take2' of https://github.com/lucaboesch/moodle into MOODLE_400_STABLE 2022-11-17 17:25:54 +01:00
Sara Arjona 2700e9b29f Merge branch 'MDL-75627_m400_v1' of https://github.com/sbourget/moodle into MOODLE_400_STABLE 2022-11-17 17:22:30 +01:00
info@eWallah.net 0f6bed1637 MDL-65939 phpunit: Maildigest tests can query a wrong adhoc task 2022-11-17 15:53:41 +01:00
Paul Holden 9c9b10b709 Merge branch 'MDL-75569-400' of https://github.com/justusdieckmann/moodle into MOODLE_400_STABLE 2022-11-17 14:34:55 +00:00
Víctor Déniz 02a066b847 Merge branch 'MDL-76326-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-11-17 13:19:34 +00:00
Sara Arjona 1d8d3ba456 Merge branch 'MDL-75567-400' of https://github.com/justusdieckmann/moodle into MOODLE_400_STABLE 2022-11-17 13:06:33 +01:00
Víctor Déniz 18f6f90021 Merge branch 'MDL-73804-make-category-filter-context-400' of https://github.com/Peterburnett/moodle into MOODLE_400_STABLE 2022-11-17 11:56:33 +00:00
Paul Holden d2215442ac Merge branch 'MDL-75665_MOODLE_400_STABLE' of https://github.com/tasosb/moodle into MOODLE_400_STABLE 2022-11-17 11:42:28 +00:00
Meirza 591305c989 MDL-72019 user: Allows data to be formatted when exporting. 2022-11-17 16:23:58 +07:00
Jun Pataleta 0cc918fbce Merge branch 'MDL-76310-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-17 14:39:40 +08:00
Bas Brands 1085ea44b8 MDL-70491 theme_boost: improve form autocomplete badge styles 2022-11-17 07:04:51 +01:00
Huong Nguyen 424992eeff MDL-76326 oauth2: Update Nextcloud logo to the new one 2022-11-17 11:32:17 +07:00
Andrew Nicols 359d436178 Merge branch 'MDL-75651-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-17 10:07:07 +08:00
Andrew Nicols 222af18607 Merge branch 'MDL-76083-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2022-11-17 10:00:33 +08:00
David Mudrák 37f2404bd0 MDL-76105 lang: Use fixed strings in tests, too. 2022-11-16 17:33:18 +00:00
Laurent David bfedfcbc4a MDL-76332 mod_bigbluebuttonbn: Fix JS exception, recording only room
* The room updater should only run on room that have the join button
2022-11-16 18:16:54 +01:00
Paul Holden 3faffbc882 Merge branch 'MDL-73078-400' of https://github.com/lucaboesch/moodle into MOODLE_400_STABLE 2022-11-16 16:37:03 +00:00
Paul Holden eb0b6e7619 Merge branch 'MDL-76271-400' of https://github.com/davewoloszyn/moodle into MOODLE_400_STABLE 2022-11-16 16:25:01 +00:00
Sara Arjona b8cf30d2e9 Merge branch 'MDL-75380_400' of https://github.com/AnupamaSarjoshi/moodle into MOODLE_400_STABLE 2022-11-16 16:23:46 +01:00
Kepa Urzelai 441afd68b0 MDL-72563 theme_boost: rubric area style fix 2022-11-16 15:31:33 +01:00
Laurent David 09ed58c5a1 MDL-76083 mod_data: Fix preset importer
* We should delete fields that have not been marked as to preserve.
2022-11-16 13:15:28 +01:00
Helen Foster f9022d9fa9 MDL-76105 lang: Import fixed English strings (en_fix) 2022-11-16 10:21:38 +00:00
Jun Pataleta ce4bdc144e Merge branch 'MDL-75415-400' of https://github.com/ssj365/moodle into MOODLE_400_STABLE 2022-11-16 17:51:39 +08:00
Jun Pataleta 2d4fb04857 Merge branch 'MDL-74558-400' of https://github.com/ssj365/moodle into MOODLE_400_STABLE 2022-11-16 17:51:17 +08:00
Jake Dallimore f2b007ee49 Merge branch 'MDL-76220-400' of https://github.com/ferranrecio/moodle into MOODLE_400_STABLE 2022-11-16 16:34:03 +08:00
Jun Pataleta c70361bd9b Merge branch 'MDL-75365-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-11-16 12:38:00 +08:00
David Woloszyn eb9de04a11 MDL-76271 dndupload: Corrected layout when uploading to course via dnd 2022-11-16 11:20:05 +11:00
Víctor Déniz 0c15fe263e Merge branch 'MDL-75781-400' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_400_STABLE 2022-11-15 22:32:02 +00:00
Sara Arjona bd8e040536 Merge branch 'MDL-76039-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-15 17:57:12 +01:00
Ilya Tregubov d652929260 weekly release 4.0.5+ 2022-11-15 18:09:28 +03:00
Paul Holden fc09484ec1 MDL-76310 enrol_lti: fix consumer key upgrade steps for Oracle.
Avoids CLOB comparison exceptions, related to ORA-00932.
2022-11-15 11:50:00 +00:00
Peter Burnett 028dc3ff0a MDL-73804 category: Use system context for category name filtering 2022-11-15 14:48:58 +10:00
Jun Pataleta b1926ad5f2 Merge branch 'MDL-76230-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-11-15 11:48:46 +08:00
Jun Pataleta 882a63d966 Merge branch 'MDL-76196-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-11-15 11:06:34 +08:00
Víctor Déniz 707ff5a4f2 Merge branch 'MDL-76229-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2022-11-14 23:40:59 +00:00
Víctor Déniz a76a02901f Merge branch 'MDL-76192-400' of https://github.com/mihailges/moodle into MOODLE_400_STABLE 2022-11-14 22:35:47 +00:00
Paul Holden bc220f8d72 MDL-75903 output: increase precision of primary active node matching.
Co-authored-by: Mikel Martín <mikel@moodle.com>
2022-11-14 17:31:32 +00:00
Paul Holden 6b412c403b MDL-74780 grade: account for absence of course grade items on import. 2022-11-14 17:30:20 +00:00
Paul Holden cb20f32f46 MDL-75651 mod_feedback: remove duplicated activity heading. 2022-11-14 17:28:56 +00:00
Sara Arjona 7d96732e31 Merge branch '75792-moodle400-fix-grouping-sort-order' of https://github.com/DSI-Universite-Rennes2/moodle into MOODLE_400_STABLE 2022-11-14 16:07:26 +01:00
Sara Arjona 47d6bbcb9e Merge branch 'MDL-75300-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-14 16:04:11 +01:00
sam marshall 7731cb8127 MDL-76218 cachestore_redis: delete_many can fail with no keys
In some cases, we get an error message such as:

Wrong parameter count for Redis::zRem()

Within the delete_many function. This function requires at least one
key to be supplied, but if delete_many is called with an empty array,
we will call it with no keys.
2022-11-14 14:39:12 +00:00
Paul Holden eb80cbd249 MDL-76039 forms: account for null values in serialize util method.
Co-authored-by: Marina Glancy <marina@moodle.com>
2022-11-14 14:20:40 +00:00
Julien Boulen 43f1e99dac MDL-75792 availability: sort groupings list by name 2022-11-14 13:16:58 +01:00
Huong Nguyen 4fca1452d4 MDL-76230 block_tag_flickr: Change User-agent value for API calls 2022-11-14 09:35:29 +07:00
Huong Nguyen e4af35b9b8 MDL-76230 block_tag_flickr: Extra Behat test for a specific tag 2022-11-14 09:35:29 +07:00
Meirza c2f415e57c MDL-76229 core_form: Show frozen text editor in a more accessible way. 2022-11-12 18:46:42 +07:00
Jun Pataleta fdbcfa1b15 Moodle release 4.0.5 2022-11-12 12:55:21 +08:00
Luca Bösch 872f3a03dc MDL-73078 workshop: align 'Edit subm' 'Delete subm' 'Export this page' 2022-11-11 16:43:36 +01:00
Sara Arjona cda2e48134 weekly release 4.0.4+ 2022-11-11 15:01:48 +01:00
Sara Arjona d3b1e4da07 NOBUG: Fixed file access permissions 2022-11-11 15:01:48 +01:00
Jake Dallimore b1bad4dbbc Merge branch 'MDL-76213-400-fix' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-11-11 17:38:27 +08:00
David Woloszyn cac3162bf3 MDL-76196 mod_folder: Display manual completion if inline display set 2022-11-11 15:50:06 +07:00
Jun Pataleta 44883e4f32 MDL-76213 mod_assign: Pass correct parameters to override query 2022-11-11 16:12:19 +08:00
Mathew May 6ade6d6060 MDL-71920 libraries: Migrate LTI lib away from pure curl 2022-11-11 12:54:11 +08:00
Mathew May e3ce8c37bd MDL-71920 core: update filelib opt name definition 2022-11-11 12:54:11 +08:00
Adrian Greeve 56a9861094 Merge branch 'MDL-76099-400' of https://github.com/stevandoMoodle/moodle into MOODLE_400_STABLE 2022-11-11 12:24:43 +08:00
Jake Dallimore 6981b82c41 Merge branch 'MDL-75872-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-11 11:45:39 +08:00
Jun Pataleta f5644a9a79 Merge branch 'MDL-76213-400' of https://github.com/Chocolate-lightning/moodle into MOODLE_400_STABLE 2022-11-11 11:34:01 +08:00
Mathew May c110ef6c79 MDL-76213 mod_assign: Improve group override info for teachers 2022-11-11 11:17:03 +08:00
Jun Pataleta 6904a25eb2 Merge branch 'MDL-63037-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-11-11 10:42:19 +08:00
Sara Arjona dee4c975ae Merge branch 'MDL-76253-400' of https://github.com/justusdieckmann/moodle into MOODLE_400_STABLE 2022-11-10 17:17:51 +01:00
Sara Arjona 1c38f5031b Merge branch 'MDL-76070-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2022-11-10 16:56:50 +01:00
Sara Arjona 188de51d23 Merge branch 'MDL-71951-400' of https://github.com/stevandoMoodle/moodle into MOODLE_400_STABLE 2022-11-10 16:37:30 +01:00
Paul Holden bbdb70f1d2 Merge branch 'MDL-75890-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2022-11-10 15:30:25 +00:00
Sara Arjona c91ebee573 Merge branch 'MOODLE_400_MDL-75874' of https://github.com/matheusot/moodle into MOODLE_400_STABLE 2022-11-10 16:22:15 +01:00
Sara Arjona a529aac615 Merge branch 'MDL-74606-400-support-multilang-group-names-in-mod_assign' of https://github.com/krostas1983/moodle into MOODLE_400_STABLE 2022-11-10 16:04:39 +01:00
Jun Pataleta 0905aae5c6 Merge branch 'master_MDL-75126-allow-multiple-bulk-action-40' of https://github.com/catalyst/moodle-MDL-72752 into MOODLE_400_STABLE 2022-11-10 22:12:07 +08:00
Matheus Rodrigues 5a4a2e9baa MDL-75874 aiken_html: correctly display HTML chars for Aiken questions
Updates the Aiken Format class to process answers correctly, enabling
support for special HTML characteres such as <, >, and &.

Co-authored-by: Leticia Luz <leticia.adrielli.luz@gmail.com>
2022-11-10 09:59:34 -03:00
Safat Shahin 047d341465 MDL-75126 core_question: Allow multiple bulk action from qbank plugins
This commit implements the bulk action api to allow multiple bulk
actions from the qbank plugins instead of one. Any qbank plugin
wants to implement bulk action can now define an array of bulk
actions as a plugin feature.
2022-11-10 23:42:55 +11:00
Sara Arjona 759a87273f Merge branch 'MDL-75448-MOODLE_400' of https://github.com/golenkovm/moodle into MOODLE_400_STABLE 2022-11-10 13:19:42 +01:00
Paul Holden 6c983fda3c Merge branch 'MDL-68550-400' of https://github.com/rezaies/moodle into MOODLE_400_STABLE 2022-11-10 11:59:55 +00:00
Sara Arjona a08e8032c5 Merge branch 'MDL-75974-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-10 12:51:40 +01:00
Paul Holden fbd321ea90 Merge branch 'MDL-76011-400' of https://github.com/abgreeve/moodle into MOODLE_400_STABLE 2022-11-10 11:49:54 +00:00
Sara Arjona fe3ea2fe53 Merge branch 'MDL-75876-MOODLE_400_STABLE' of https://github.com/praxisdigital/moodle into MOODLE_400_STABLE 2022-11-10 12:47:17 +01:00
Sara Arjona 9d1b79c074 Merge branch 'MDL-76167-400' of https://github.com/davewoloszyn/moodle into MOODLE_400_STABLE 2022-11-10 12:42:19 +01:00
Andrew Nicols eab0470f4f MDL-75365 javascript: Support ES6 in all JS except YUI 2022-11-10 17:04:23 +08:00
Paul Holden a7eab36f96 Merge branch 'MDL-76224-400' of https://github.com/justusdieckmann/moodle into MOODLE_400_STABLE 2022-11-10 08:54:09 +00:00
Paul Holden 3fd54014ae MDL-75862 backup: omit sesskey for continue buttons using get method.
It's automatically added by the rendered single_button instance when
using post method, so no need to add it unconditionally.
2022-11-10 10:17:19 +08:00
Andrew Nicols 87002d24be Merge branch 'MDL-75917-400' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_400_STABLE 2022-11-10 08:48:27 +08:00
Shamim Rezaie c3aba13f79 MDL-68550 tablelib: Use aria-role=button
Use the aria-role=button for:
- show/hide links
- sort links
- reset table preferences link
2022-11-10 06:19:31 +11:00
Shamim Rezaie ba32b852e5 MDL-68550 output: Improve accessibility of the initials bar
- The current item should be focusable otherwise the focus will be lost
  as soon as a user clicks on an item in the initials bar
- Modified behat tests to not mistakenly click on the 'All' link
- The currently selected item is specified by aria-current
- Useed aria-current=true rather than =page because the links of each
  item in the initials bar is missing the pagination information
2022-11-10 06:17:58 +11:00
Shamim Rezaie f4039ba2a9 MDL-68550 output: Improve accessibility of the paging bar
The use of aria-current is based on the example at
https://design-system.w3.org/components/pagination.html
2022-11-10 06:17:58 +11:00
Shamim Rezaie c11f5aa005 MDL-68550 theme: Not showing the gap in the initial bar
The gap issue was a regression from MDL-66670.
2022-11-10 06:17:57 +11:00
Paul Holden c3367700c2 MDL-75872 mod_lesson: allow unlimited attempts default value.
Related change in 252e85be added a similar value per activity, we
should also allow it to be chosen as a default for the site.
2022-11-09 18:54:08 +00:00
Stefan Hanauska 229da267a6 MDL-76258 mod_lti: Reset clientid after restore 2022-11-09 19:33:52 +01:00
Mihail Geshoski a616371921 MDL-76192 mod_glossary: Export all entry aliases to the portfolio 2022-11-10 00:33:03 +08:00
Sara Arjona b680dd8894 Merge branch 'MDL-50935-400-2' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-11-09 16:01:24 +01:00
Meirza 3259a19a6a MDL-76131 core_user: encode social profile fields data. 2022-11-09 15:49:39 +01:00
Justus Dieckmann 11f8109d4c MDL-76253 calendar: Use activities monologo pix 2022-11-09 15:22:08 +01:00
Jun Pataleta 2172f91656 Merge branch 'MDL-76185-400' of https://github.com/mihailges/moodle into MOODLE_400_STABLE 2022-11-09 21:51:25 +08:00
Jun Pataleta ed7137f7f1 Merge branch 'MDL-76054_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-11-09 20:09:04 +08:00
Sara Arjona de3a8678cd Merge branch 'MDL-75889-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-09 12:36:48 +01:00
Sara Arjona a0af8ccba9 Merge branch 'MDL-76059-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-09 12:31:38 +01:00
David Woloszyn 7eadd4979c MDL-76091 lib: Add additional check to local URLs params 2022-11-09 19:24:27 +08:00
Sara Arjona 63f9d1edc4 Merge branch 'MDL-75766-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2022-11-09 11:57:32 +01:00
Sara Arjona 5231856a76 Merge branch 'MDL-74201-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2022-11-09 11:49:40 +01:00
Víctor Déniz cf86a03796 Merge branch 'MDL-76000-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-09 10:11:38 +00:00
Jun Pataleta 14c5642fa7 Merge branch 'MDL-76170-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-11-09 15:44:27 +08:00
Jake Dallimore 921e34a607 MDL-76099 core_backup: set selected overflow node in restore and copy
These pages sit under the 'restore' and 'copy' menu items respectively
but the selected menu item isn't correct because the 'restore.php' and
'copyprogress.php' page URLs don't match the node action for their
respective 'restore' and 'copy' nodes. Force set the selected node in
each case to resolve this.
2022-11-09 15:22:51 +08:00
Stevani Andolo 7d9ab768a4 MDL-76099 core_navigation: allow setting selected course overflow node
Allow pages to choose which course reuse overflow node is selected, to
handle cases where the default selection (based on matching PAGE->url
to the node action URL) isn't possible (such as when several pages need
to exist under the same selected node).
2022-11-09 15:22:51 +08:00
Jake Dallimore 4938cb25b1 MDL-76170 enrol_lti: fix missing secret in enrol_lti_users
If member sync runs before the user launches the tool, a partial record
is created, without consumer secret. Subsequent launches of the tool by
that member don't resolve this and this results in grade sync failing
for any affected users. This patch:
- data fixes the existing affected rows
- fixes the launch code, ensuring secret is recorded on launch,
irrespective of whether the user info record has been created already
or not.
2022-11-09 10:03:50 +08:00
Simey Lameze a1df353c67 MDL-76058 behat: send message using data generator 2022-11-09 09:52:07 +08:00
Frédéric Massart bb66f7e425 MDL-74201 backup: Restore reference to content bank files 2022-11-08 20:18:30 +01:00
Eloy Lafuente (stronk7) f1a8f0059c MDL-76054 environment: Remove the php-xmlrpc extension check
For Moodle 4.1 and up, the php-xmlrpc is not needed anymore:
- All the MNet stuff has been moved to use php library (MDL-76055).
- The webservice/xmlrpc has been moved from core to contrib (MDL-76052).

So we just remove the check here. Starting with 4.1, it's not
needed for any core functionality.

No lang string changes in this branch, only in master (4.1dev).
2022-11-08 16:45:44 +01:00
Víctor Déniz 543b0e0055 weekly release 4.0.4+ 2022-11-08 13:44:44 +00:00
Ferran Recio bc794a82a2 MDL-76220 mod_wiki: fix extend_navigation
The wiki_extend_navigation is using $PAGE->url when it is not allowed
to. Extending navigation can be invoked in an Ajax request so it should
not use $PAGE global.
2022-11-08 14:41:35 +01:00
hieuvu 497c7ee517 MDL-75781 javascript: Centering when resize for dialog 2022-11-08 18:10:12 +07:00
Jake Dallimore df8a9bdde7 MDL-63037 mnet: fix hostexists string usage 2022-11-08 17:05:06 +08:00
Jake Dallimore 98d5109d91 Merge branch 'MDL-75941-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-08 12:04:29 +08:00
Jun Pataleta 9508492e28 Merge branch 'MDL-76113-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-11-08 12:01:54 +08:00
Jake Dallimore 590bfd9029 Merge branch 'MDL-76071-400' of https://github.com/laurentdavid/moodle into MOODLE_400_STABLE 2022-11-08 11:44:17 +08:00
Jake Dallimore 475784b2b5 Merge branch 'MDL-72882-400-3' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-11-08 11:32:06 +08:00
Jun Pataleta d77935d8ea Merge branch 'MDL-76207-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-11-08 10:25:35 +08:00
Paul Holden 31889f9b20 MDL-75974 tool_customlang: check out language pack in CLI import. 2022-11-07 22:41:01 +00:00
Paul Holden 7526bfd8b7 MDL-75889 core: compare domain names in a case-insensitive manner.
As per https://www.rfc-editor.org/rfc/rfc1035#section-3.1
2022-11-07 22:37:07 +00:00
Justus Dieckmann f4b822a178 MDL-76224 Resource: Set correct page url in /mod/label/view.php 2022-11-07 18:46:20 +01:00
Andrew Nicols 3886236dae Merge branch 'MDL-75880_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-11-07 21:57:05 +08:00
Andrew Nicols b2b7a091b7 Merge branch 'MDL-73624-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2022-11-07 21:52:11 +08:00
Andrew Nicols 8858280766 Merge branch 'MDL-75519-400' of https://github.com/marinaglancy/moodle into MOODLE_400_STABLE 2022-11-07 21:41:49 +08:00
Víctor Déniz c95c319fad Merge branch 'm40_MDL-74912_Fix_RegExp_Word_Boundaries_On_MySQL8' of https://github.com/scara/moodle into MOODLE_400_STABLE 2022-11-07 10:20:03 +00:00
Jun Pataleta 1a35908e1f MDL-50935 atto_equation: Add upgrade step to fix existing sites 2022-11-07 15:14:17 +08:00
Jun Pataleta d474d4f3cf MDL-50935 atto_equation: Fix display of matrix template
Thanks to Geoffrey Rowland's fix suggestion.
2022-11-07 15:13:06 +08:00
Andrew Nicols cbc0b075b7 MDL-74468 mod_bigbluebuttonbn: Coding style violation fix 2022-11-07 12:14:21 +08:00
Andrew Nicols 3698429d29 Merge branch 'MDL-74468-400' of https://github.com/call-learning/moodle into MOODLE_400_STABLE 2022-11-07 12:14:17 +08:00
Andrew Nicols 7b18e8ad63 MDL-76207 contentbank: Switch to opened window 2022-11-07 10:03:08 +08:00
Matteo Scaramuccia a052c15e6a MDL-74912 dml: Fix PHP coding style problems 2022-11-05 10:08:13 +01:00
Matteo Scaramuccia 1a84f17a20 MDL-74912 dml: Fix missing nullable marker 2022-11-05 10:08:13 +01:00
Matteo Scaramuccia 8c0d6a1869 MDL-74912 mod_forum: Fix regexp word boundaries markers in MySQL 8 2022-11-05 10:08:13 +01:00
anisa kusumadewi ab42a71563 MDL-75766 core_h5p: Added index for pathnamehash to h5p table 2022-11-04 16:54:38 +01:00
Eloy Lafuente (stronk7) 88f2c9bb45 MDL-75880 phpunit: fix all @coversDefaultClass missing @covers
Because @coversDefaultClass doesn't indicate any coverage (it's
just an alias to avoid having to write the class name in @covers),
this commit fixes all the files that were using that annotation
and missing any @covers.

Basically, replacing one by the other and done.
2022-11-04 16:51:24 +01:00
Víctor Déniz d7e367af90 Merge branch 'MDL-76130-400' of https://github.com/meirzamoodle/moodle into MOODLE_400_STABLE 2022-11-04 15:36:56 +00:00
Sara Arjona 28043b9b2e weekly release 4.0.4+ 2022-11-04 14:51:59 +01:00
Sara Arjona 3f30ad9df0 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-11-04 14:51:56 +01:00
hieuvu 001fdb5f29 MDL-75917 moodle_page: add a modname to body tag.
This is a backport of MDL-75844
2022-11-04 16:04:02 +07:00
Laurent David 79153d99cd MDL-74468 mod_bigbluebuttonbn: Fix logger count method
* The logger::count_callback_events was confusing and needs clarification
and small refactoring.
2022-11-04 09:38:11 +01:00
Laurent David f75aed1c54 MDL-74468 mod_bigbluebuttonbn: Remove getallheader
* getallheader is only fully compatible with Apache servers. Replace it
with a polyfill.
2022-11-04 09:38:11 +01:00
Shamiso.Jaravaza 4436dd0fea MDL-74468 mod_bigbluebuttonbn: Fix custom completion for BBB
* BBB has specific completion indicator that need to be taken into account
* Fix mock requests so we can send participant id and then attach events to them
* Refactor slightly the broker to split meeting logic from request (decoding)
* Fix update completion state cron
2022-11-04 09:38:11 +01:00
Meirza 296fa4b83d MDL-76130 install: make the button to the center position 2022-11-04 11:23:21 +07:00
Jun Pataleta bbc586af7e Merge branch 'MDL-76103-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-11-04 11:34:36 +08:00
Marina Glancy 1ec11f0761 MDL-76103 search: skip solr behat tests if solr is not installed 2022-11-04 11:22:13 +08:00
Jun Pataleta 61e0c07247 Merge branch 'MDL-76072-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-11-04 11:13:14 +08:00
Víctor Déniz 8902acf217 Merge branch 'MDL-70071-400' of https://github.com/Chocolate-lightning/moodle into MOODLE_400_STABLE 2022-11-04 11:13:14 +08:00
Sara Arjona 38f0e86110 Merge branch 'MDL-76169-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-11-04 11:13:14 +08:00
Sara Arjona df8978e969 Merge branch 'MDL-75759-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-11-04 11:13:14 +08:00
Andrew Nicols ab6a1b655b Merge branch 'MDL-75904-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-04 11:13:14 +08:00
Andrew Nicols d0c489dab7 Merge branch 'MDL-75784-400' of https://github.com/JBThong/moodle into MOODLE_400_STABLE 2022-11-04 11:13:14 +08:00
AMOS bot 437ce92e1b Automatically generated installer lang files 2022-11-04 00:07:35 +00:00
David Woloszyn 82d7777ca5 MDL-76167 installer: Corrected dockblock param types 2022-11-04 10:46:20 +11:00
Shamiso.Jaravaza 1f2f41a2d9 MDL-75415 mod_bigbluebuttonbn: Fix session times 2022-11-03 11:21:33 -06:00
Mihail Geshoski c37c8fd6fa MDL-76185 mod_glossary: Remove separator in continuous display format 2022-11-03 23:54:09 +08:00
Andrew Nicols 1d8d73c761 MDL-70071 forum: Convert post threshold warnings to info 2022-11-03 15:03:44 +08:00
Jun Pataleta 8ef225eb62 MDL-72882 tool_langimport: Set default language when deleting lang pack
* When the language pack being deleted is
  - the same as the site default language, we must set the site default
    language to 'en'.
  - fix the user's current language to the default site language.
2022-11-03 14:00:11 +08:00
Jun Pataleta 9cca971abc MDL-72882 core: Use default site lang when user lang no longer available
* Check that the lang attribute for the output HTML exists. If not,
use the default site language.
* Also fix the current language for the user.
2022-11-03 14:00:09 +08:00
Andrew Nicols 6509945bcd MDL-76169 question: General behat fixes
Whilst amending these tests I discovered some other minor fixes to be
made.
2022-11-03 13:28:52 +08:00
Andrew Nicols b4a53cba59 MDL-76169 question: Use action menu steps consistently 2022-11-03 13:28:52 +08:00
Andrew Nicols 5e0b235790 MDL-76169 mod_quiz: Add quiz question bank behat resolver 2022-11-03 13:28:52 +08:00
Andrew Nicols e53e25af94 MDL-76169 behat: Normalise exception message in should (not) steps
These steps have accepted a NodeElement instance as an argument for some
time, but were trying to cast it to string when formulating exception
messages, making it harder to debug and, in the case of the 'should see'
step, not work at all.

This patch introduces a new function to produce a consistent naming for
them.
2022-11-03 13:28:52 +08:00
Andrew Nicols 414a99535b MDL-76169 behat: Add improved steps for using action menus
This commit adds new steps related to action menus to support:
* Choosing an item in a named action menu
* Choosing an item in a named action menu within a container
* Confirming that an action menu item does or does not exist in a named
  action menu
* Confirming that an action menu item does or does not exist in a named
  action menu within a container

The existing action menu steps were insufficient as they assume that
there is only one action menu within he container, which is not
necessarily the case.

The existing action menu steps are not non-JS friendly and will error if
JS is disabled, without providing any fallback when one is easily
available.

Unfortunately these steps cannot be used to replace the existing steps
without manual intervention.
2022-11-03 13:28:51 +08:00
Jun Pataleta 1ae08553b7 MDL-75759 courseformat: Link classes in PHPDocs with @see tags
- Linking classes/methods mentioned in PHPDoc with @see tags help devs
checking the PHPDoc to quickly navigate to the class/method mentioned
and also helps us ensure that it points to the correct class/method.
- Some typo/grammar fixes as well in existing PHPDoc descriptions.
- Fixed parameter type in execute()'s PHPDoc block.
2022-11-03 11:58:18 +08:00
Simey Lameze 97c3804ac3 MDL-75759 courseformat: fix documentation of stateupdates tests 2022-11-03 11:58:18 +08:00
Jun Pataleta 55f0f4e0f4 MDL-75759 courseformat: Fix stateactions test
* Require lib/externallib.php in
\core_courseformat\output\local\state\cm::export_for_template()
* Point @coversDefaultClass to the proper class.
2022-11-03 11:58:18 +08:00
Simey Lameze cd642570f1 MDL-76072 tool_lp: only init inlineGrader module if user can grade 2022-11-03 11:42:02 +08:00
Paul Holden 76d6feb23e MDL-75300 mod_h5pactivity: check whether reviewer join matches rows.
Return original capability join if so, to prevent generating invalid
SQL.
2022-11-02 19:25:47 +00:00
Jake Dallimore d7b4dd9a6a MDL-76113 enrol_lti: Fix secret on lti user for LTI 2.0 consumers
Fixes the enrol_lti_users.consumersecret field for LTI 2.0 users.
This field erroneously contained the tool secret and not the consumer
secret needed for service requests when used with LTI 2.0 consumers,
which resulted in complete grade sync failure for LTI 2.0 consumers.
This patch:
- adds an upgrade step to address existing incorrect secrets for LTI
2.0 launched users. It sets these to the correct consumer secret.
- fixes the way the secret is first set during a launch, ensuring
this->consumer->secret is used, which properly captures either the
tool secret (for 1.1 launches) or the consumer secret (for 2.0
launches).
2022-11-02 17:00:49 +08:00
Sara Arjona dc02b1bbb2 Merge branch 'MDL-61880-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-11-02 08:30:14 +01:00
Jun Pataleta 18ce123c4e Merge branch 'MDL-75038-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-02 13:39:21 +08:00
Jun Pataleta 1a61b0bb6c Merge branch 'MDL-75848-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-11-02 13:20:06 +08:00
Jake Dallimore 93318586a5 MDL-61880 tool_oauth2: don't rely on discovery when editing issuers
Adjusts the testing scenarios so that we don't rely on endpoint
discovery being run during an issuer edit, which is no longer the case.
For scenarios that need a userinfo endpoint, set this manually.
2022-11-02 11:12:03 +08:00
Jake Dallimore 177caaa3b5 MDL-61880 core: don't clear issuer fields not present in form data
In cases where we have an id, load the persistent and then set new data
before saving. This ensures we don't delete fields which are missing in
the form data.
2022-11-02 11:12:03 +08:00
Yannick Forget 33b1897e55 MDL-61880 core: Retain OAuth 2.0 user field mappings after issuer update 2022-11-02 11:11:51 +08:00
Paul Holden abebddafc2 MDL-75038 blog: link back to user only when one specified. 2022-11-01 21:26:54 +00:00
Ilya Tregubov dca920d105 weekly release 4.0.4+ 2022-11-01 15:00:01 +03:00
Andrew Nicols 254eb24e80 Merge branch '400-mdl-75010' of https://github.com/danmarsden/moodle into MOODLE_400_STABLE 2022-11-01 11:52:45 +08:00
Jun Pataleta 8552936427 Merge branch 'MDL-76120-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-11-01 09:17:03 +08:00
Sara Arjona f683ec0990 Merge branch 'MDL-75771-MOODLE_400_STABLE' of https://github.com/PhMemmel/moodle into MOODLE_400_STABLE 2022-10-31 13:39:49 +01:00
Jun Pataleta c4b81d09dc Merge branch 'MDL-76108-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2022-10-31 16:49:14 +08:00
Jake Dallimore 8d9ae08d7a Merge branch 'MDL-76041-400' of https://github.com/call-learning/moodle into MOODLE_400_STABLE 2022-10-31 11:44:09 +08:00
Jun Pataleta 889e427df0 Merge branch 'MDL-75358-400' of https://github.com/marinaglancy/moodle into MOODLE_400_STABLE 2022-10-31 10:10:09 +08:00
Dan Marsden 2c99c5fa4d MDL-75010 core: Prevent user last access update on user key login 2022-10-31 14:19:31 +13:00
Víctor Déniz c26e24b613 Merge branch 'MDL-68437-400' of https://github.com/mihailges/moodle into MOODLE_400_STABLE 2022-10-28 18:26:48 +01:00
Amaia Anabitarte 97c52ca3a1 MDL-76108 mod_lesson: improving count call for PHP8.0 2022-10-28 18:17:52 +02:00
Philipp Memmel 42b3b6da8d MDL-75771 core_courseformat: Add behat test for show_editor function 2022-10-28 17:25:52 +02:00
Philipp Memmel 8db30d32f8 MDL-75771 core_courseformat: Fix capability for edit controls
course_format\base:show_editor now by default uses 'moodle/course:manageactivities', but also accepts other capabilities as param
2022-10-28 17:25:29 +02:00
Andrew Nicols b35468292e MDL-76120 behat: Swap click on select option to set field
Recent versions of Marionette do not like to click on the option
element so we must always use the set field option.

Change-Id: I9e1397700db53328d15e049e2f4c565888975079
2022-10-28 21:14:07 +08:00
Sara Arjona 141e369a01 weekly release 4.0.4+ 2022-10-28 14:09:16 +02:00
Meirza 0b8ab0da36 MDL-76070 dataformat_json: Fix data loss in the exported file. 2022-10-28 13:16:04 +07:00
Jake Dallimore 27bbd43730 MDL-68943 assignfeedback_editpdf: fix version numbers 2022-10-28 12:05:21 +08:00
Jake Dallimore 666e68d5dc Merge branch 'MDL-68943-400' of https://github.com/cameron1729/moodle into MOODLE_400_STABLE 2022-10-28 11:49:59 +08:00
Cameron Ball 064b544465 MDL-68943 assignfeedback_editpdf: Upgrade step for stale conversions 2022-10-28 11:25:45 +08:00
Cameron Ball 32094232c7 MDL-68943 assignfeedback_editpdf: Reconvert updated files 2022-10-28 11:25:45 +08:00
Jake Dallimore 27acd15fb4 Merge branch 'MDL-76069-400' of https://github.com/mihailges/moodle into MOODLE_400_STABLE 2022-10-28 09:36:08 +08:00
Sara Arjona a8e813a289 Merge branch 'MDL-76023-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-10-27 17:03:57 +02:00
Víctor Déniz 789e0a41dc Merge branch 'MDL-75969-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-10-27 15:44:59 +01:00
Mihail Geshoski 145a0690da MDL-76069 enrol_manual: Fix missing breadcrumbs 2022-10-27 21:57:04 +08:00
Meirza 10ac386fd2 MDL-73624 lib_spout: encode output file name 2022-10-27 16:50:17 +07:00
Adrian Greeve 91bf85846e MDL-76011 lib: Updated the zip writer to retain the modified date. 2022-10-27 15:06:31 +08:00
Meirza aceac725e6 MDL-75890 block_myoverview: Added new wrapper element
Added a new element to wrap filter control in Course Overview,
so it will display well on desktop and mobile.

Co-authored-by: Huong Nguyen (huongnv13@gmail.com)
2022-10-26 16:21:22 +07:00
Thong Bui 744cd41a4d MDL-75784 Forms: Fix issues multi expand all/collapse buttons on a page 2022-10-26 14:05:50 +07:00
Marina Glancy 281fe1161a MDL-75519 reportbuilder: set default sortorder for Users datasource 2022-10-25 11:19:21 +02:00
Jun Pataleta dbb2deed8c weekly release 4.0.4+ 2022-10-25 17:17:09 +08:00
Jun Pataleta 59bcc16e26 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-10-25 17:17:06 +08:00
Laurent David 9b1a88cbd9 MDL-76071 mod_choice: fix choice display on graphs
* The setting "Display mode" modifies the choices alignment of radio choice button
from horizontally to vertically. It should also display the list of choices in
the graph in the same directions.
2022-10-25 10:42:49 +02:00
Stevani Andolo 1fe377b410 MDL-71951 calendar: Accessbility issue fix 2022-10-25 13:07:16 +08:00
Jake Dallimore 8888b7756f Merge branch 'MDL-75727_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2022-10-25 11:56:24 +08:00
Andrew Nicols 8f2dc4b229 Merge branch 'MDL-76049_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2022-10-25 11:49:46 +08:00
Andrew Nicols f993f02826 Merge branch 'MDL-75763-400' of https://github.com/call-learning/moodle into MOODLE_400_STABLE 2022-10-25 11:11:40 +08:00
Jake Dallimore 84b7fd82b6 Merge branch 'MDL-74315-400' of https://github.com/roland04/moodle into MOODLE_400_STABLE 2022-10-25 11:09:17 +08:00
Víctor Déniz a6448908ed Merge branch 'MDL-75074-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2022-10-24 16:43:19 +01:00
Andrew Nicols 86a3a3d9c0 Merge branch 'MDL-74911-400' of https://github.com/matthewhilton/moodle into MOODLE_400_STABLE 2022-10-24 22:23:03 +08:00
Sara Arjona 2184c2368f Merge branch 'MDL-73030-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-10-24 15:47:27 +02:00
Sara Arjona 023b30e1bb Merge branch 'MDL-75897-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-10-24 15:35:36 +02:00
Jun Pataleta b2e715f33d Merge branch 'MDL-75936-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-10-24 15:58:05 +08:00
Andrew Nicols 34845eaad2 MDL-75936 core_message: Drawer must be ready before firing drawer events
This commit addresses a race condition when showing the message drawer
and opening the settings page from the Message preferences page.

In that situation, the message/edit.php page calls the
message_drawer_helper.showSettings function, which publishes a request
to show the drawer.

In some conditions (notably faster machines, or after MDL-66107) this
event is fired before the message_drawer.init has listened to it.

The solution here is to delay firing of the event until the drawer
announces itself as ready.

This ensures that the event is subscribed to before it is fired.

Change-Id: Id90df6b90f8803e25df0be6260a435c09031cf45
2022-10-24 14:30:32 +08:00
Jun Pataleta 6c8db244c7 Merge branch 'MDL-76018-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2022-10-24 13:16:06 +08:00
Matthew Hilton 1169179385 MDL-74911 assignfeedback_editpdf: unlock session when polling conversion
Polling conversions will run the document conversion immediately if the
conversion has not already been completed.

Releasing the session lock while doing this ensures large conversions
do not unnecessarily hold the users session.
2022-10-24 12:57:33 +10:00
Matthew Hilton c431058d92 MDL-74911 assignfeedback_editpdf: per-assignment conversion poll lock
The lock ensures that multiple conversions do not happen for the same
assignment submission.

Otherwise, subsequent conversions will fail when trying to save the
converted file.
2022-10-24 12:57:31 +10:00
AMOS bot 19c42ef49d Automatically generated installer lang files 2022-10-23 00:08:16 +00:00
Paul Holden ec0c7a2788 MDL-75904 admin: ignore $CFG->allowcategorythemes during installation. 2022-10-21 23:22:28 +01:00
Paul Holden ef34b06efa MDL-76059 forms: graceful early exit for invalid button elements.
Ensure login form tries to capture guest button only if it exists.
2022-10-21 19:36:36 +01:00
Paul Holden 96f8c0a106 MDL-75848 editor_atto: fix console error when clicking toolbar menu. 2022-10-21 19:19:16 +01:00
Sara Arjona bf0bf4be24 Merge branch 'MDL-72828-400' of https://github.com/davewoloszyn/moodle into MOODLE_400_STABLE 2022-10-21 16:24:47 +02:00
Ilya Tregubov 9d7609f39c weekly release 4.0.4+ 2022-10-21 15:33:49 +03:00
David Woloszyn 90553e9f6e MDL-72828 js: get_strings supports jquery objects 2022-10-21 15:02:33 +11:00
Tim Hunt 06f1241f24 MDL-76049 quiz generator: update calendar events for new overrides 2022-10-20 23:45:32 +01:00
Anupama Sarjoshi 432628f3a3 MDL-75380 customfields: Fix incorrect links sent when enrolling users 2022-10-20 18:50:16 +01:00
Sara Arjona 92ef33c4e0 Merge branch 'MDL-75791-400' of https://github.com/marinaglancy/moodle into MOODLE_400_STABLE 2022-10-20 16:36:54 +02:00
Ilya Tregubov 20288fee39 Merge branch 'MDL-72058-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-10-20 15:42:48 +03:00
Paul Holden 50568e9382 MDL-75897 output: safer checking of course reuse action nodes.
Also ensure that if course reuse contains only a single node (e.g.
reset), then it is still accessible from secondary navigation.

Co-authored-by: Meirza Arson <meirza.arson@moodle.com>
2022-10-20 11:08:32 +01:00
Víctor Déniz a8444275b1 Merge branch 'MDL-75907-400' of https://github.com/golenkovm/moodle into MOODLE_400_STABLE 2022-10-20 10:46:35 +01:00
Jun Pataleta 2875fb574a Merge branch 'MDL-75497-400' of https://github.com/raortegar/moodle into MOODLE_400_STABLE 2022-10-20 17:29:04 +08:00
Jun Pataleta e519e93871 Merge branch 'MDL-75599-400' of https://github.com/laurentdavid/moodle into MOODLE_400_STABLE 2022-10-20 17:26:02 +08:00
raortegar f39af49969 MDL-75497 mod_data: Review Check existence of field.class.php 2022-10-20 10:01:14 +02:00
Andrew Nicols 44518ff64d Merge branch 'MDL-75834-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2022-10-20 14:37:49 +08:00
Jun Pataleta 952079533c Merge branch 'MDL-59458-400' of https://github.com/laurentdavid/moodle into MOODLE_400_STABLE 2022-10-20 13:08:50 +08:00
Laurent David 7af2bad4e2 MDL-75599 mod_data: Fix warning message
* Fix warning message when accessing advanced search page with a date field.
2022-10-20 06:53:07 +02:00
Víctor Déniz 9416a1a399 Merge branch 'MDL-75962-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-10-20 00:44:49 +01:00
Paul Holden f006c73a17 MDL-75941 theme_boost: don't auto grow breadcrumb items.
On mobile/small breakpoint, display breadcrumb items without
excess whitespace.
2022-10-19 21:57:00 +01:00
Paul Holden 7d883400d9 MDL-76000 theme_boost: reset form padding when in tertiary navigation. 2022-10-19 21:06:14 +01:00
Laurent David c0d17ca8ba MDL-76041 mod_bigbluebuttonbn: Exception on Recording only page
* This fixes a the parameter provided to the get_recordings method of recording class
2022-10-19 21:18:53 +02:00
David Mudrák fd14e16617 MDL-75534 Fix usermodified in very old forum discussions
Very early Moodle versions used to leave the field empty. Recent Moodle
versions expect that the value always links to an existing user account.
2022-10-19 20:44:50 +02:00
Paul Holden 4d9b3c9839 MDL-76023 course: fix access to custom data in notification task.
The message class `customdata` property is automatically JSON encoded
via magic setter method, so we can't append to it directly.
2022-10-19 18:52:35 +01:00
Jun Pataleta 984057c7cd Merge branch 'MDL-75985-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-10-19 21:27:48 +08:00
Andrew Nicols 825f039968 MDL-75985 behat: Return newline character for \n
Somehow part of this commit was lost during the push and/or squash.
2022-10-19 20:27:13 +08:00
Sara Arjona d1a16f5f4a Merge branch 'MDL-76020-400' of https://github.com/mickhawkins/moodle into MOODLE_400_STABLE 2022-10-19 13:01:04 +02:00
Sara Arjona f00b1a838e Merge branch 'MDL-76010_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-10-19 12:56:25 +02:00
Michael Hawkins baba4d8cc2 MDL-76020 theme: Add missing support links to footer in Classic theme
The "Services and support" and "Contact site support" links were
missing from the footer in the Classic theme (which now has its own
footer template), so there was no way to navigate to the relevant links.
2022-10-19 17:52:54 +08:00
Jun Pataleta eb4b144e13 Merge branch 'MDL-75645_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-10-19 15:37:26 +08:00
Ilya Tregubov d20501ecf2 Merge branch 'MDL-74654-400' of https://github.com/ssj365/moodle into MOODLE_400_STABLE 2022-10-19 09:23:34 +03:00
Jun Pataleta 36afea55eb Merge branch 'MDL-75985-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-10-19 10:55:52 +08:00
Shamiso.Jaravaza afd07d1e42 MDL-74654 mod_bigbluebuttonbn: Add role parameter 2022-10-18 08:23:54 -06:00
Mikel Martín 320d99378c MDL-74315 reportbuilder: Fix report filters hidden under top navbar
- Add scrolling to big filter containers to avoid them to be hidden under header
- Remove custom reportbuilder scrollbar mixin and replace it with 'thin-scrolls'
  standard mixin
2022-10-18 15:34:02 +02:00
Eloy Lafuente (stronk7) 06f4976cab MDL-75645 mnet: Stop caching OpenSSLAsymmetricKey keys
The mnet_environment->keypair array contains the following
elements (and more, just focussing on these):
- keypair_PEM : textual representation of the private key.
- certificate : textual representation of the public key.
- privatekey  : OpenSSLAsymmetricKey representation of the private key,
                generated from keypair_PEM. See get_private_key().
- publickey   : OpenSSLAsymmetricKey representation if the public key,
                generated from certificate. See get_public_key().

The last 2 elements in the array are only used as "caching", to avoid
having to call to openssl_pkey_get_private() and
openssl_pkey_get_public() to convert from the textual representation
to the OpenSSLAsymmetricKey representation that is the one required
by a number of openssl functions.

Problems arrive when, as part of the MNet protocol, the mnet_environment
is serialised, because, since PHP 8.0 those OpenSSLAsymmetricKey objects
aren't serialisable any more.

So, as far as they are only used for internal caching it's perfectly ok
to remove the caching bits and use the openssl_pkey_get_xxx() methods
to calculate them under demand.

The alternative to this would be to implement into the mnet_environment
some custom serialisation, skipping those OpenSSLAsymmetricKey
instances, using __sleep(), the Serializabla interface or __serialize(),
but that seems unnecessary because, as explained above, the uses are
really limited and easily replaceable.

That's what this patch does.
2022-10-18 14:30:56 +02:00
Eloy Lafuente (stronk7) 0bf0f82444 MDL-76010 behat: New scenario to verify that manual attempts work
This is basically the manual background that was removed in the
previous commit, with 4 attempts here. Note it includes the 2
waits that are REQUIRED to make it pass in too-quick environments.

If they are removed, they begin to fail because it seems that
the attempts need a minimum of separation between them.
2022-10-18 14:27:59 +02:00
Eloy Lafuente (stronk7) 7b9adf44bf MDL-76010 behat: Move feature to use attempts generator
This moves away from manual attempts and uses the activity
attempts generator instead. Quicker and not exposed to the
problems with clicks, refreshes and missing attempts.

Note that there is a small change in the attempt generator
so, now, when a new attempt is created, if the activity has
tracking enabled, the final result / grades are recalculated.

That's the real behaviour when the activity settings are
changes in the edition form and it's natural to get them
recalculated without having to visit the form. Specifically,
this allows the 1st scenario to pass, because in that scenario
no changes to the form are being performed.

Also, little detail, amend a dupe scenario name.
2022-10-18 14:27:59 +02:00
Sara Arjona 3d2710653e weekly release 4.0.4+ 2022-10-18 13:09:54 +02:00
Ilya Tregubov 6dba57ee81 Merge branch 'MDL-75173-400-fix' of https://github.com/sarjona/moodle into MOODLE_400_STABLE 2022-10-18 10:18:11 +03:00
Sara Arjona ecc896f4b4 MDL-75173 completion: Remove ordering from PHPUnit
To avoid getting some random errors with Oracle, the order for the
students have been removed from the tests (to check they are there,
regardless the order they are returned, because in that case, the
order is not important).
2022-10-18 08:37:57 +02:00
Jun Pataleta 616e01911e Merge branch 'MDL-75783-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-10-18 10:06:40 +08:00
Andrew Nicols 524d855f6b MDL-75783 javascript: Add optional jsconfig configuration
This commit adds a new Grunt task which generates a jsconfig.json file.

This file is described at
https://code.visualstudio.com/docs/languages/jsconfig and can be used
to configure vscode and other similar editors to understand our module
loading.

This task is an optional task for Grunt and can be run with:

    npx grunt jsconfig

The file is git-ignored and will not affect normal usage.
2022-10-18 09:33:04 +08:00
Víctor Déniz 0d855827c7 Merge branch 'MDL-75983_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-10-18 01:07:54 +01:00
sam marshall 1d9d855172 MDL-76018 core_navigation: Activity header warning if no module intro 2022-10-17 17:28:36 +01:00
Sara Arjona 1cb527de1c Merge branch 'MDL-75711-400' of https://github.com/ssj365/moodle into MOODLE_400_STABLE 2022-10-17 16:55:59 +02:00
Sara Arjona df5626b1a3 Merge branch 'MDL-72836-400' of https://github.com/mickhawkins/moodle into MOODLE_400_STABLE 2022-10-17 16:39:53 +02:00
Sara Arjona 27c2863777 Merge branch 'MDL-75077-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-10-17 16:32:40 +02:00
Sara Arjona b169ba0121 Merge branch 'MDL-74814-400-1' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-10-17 15:30:53 +02:00
Sara Arjona c317ee7de0 Merge branch 'MDL-75173-400' of https://github.com/ilyatregubov/moodle into MOODLE_400_STABLE 2022-10-17 15:18:03 +02:00
Jun Pataleta 3f7c4d65e9 Merge branch 'MDL-74958-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2022-10-17 21:10:45 +08:00
sam marshall e49bd4e798 MDL-74958 core_navigation: Add renamed classes to renamedclasses.php
The renamed secondary navigation classes have been adeed to
renamedclasses.php files.
2022-10-17 10:56:15 +01:00
sam marshall e555d057e9 MDL-74958 core_navigation: Secondary nav in plugins, change namespace
This is a backport of MDL-74733.

Secondary nav previously had to be in my_plugin\local\views\secondary;
this location continues to work but will be deprecated in 4.1. The new
location is my_plugin\navigation\views\secondary.
2022-10-17 10:55:41 +01:00
Huong Nguyen c5c13aa9ae MDL-74814 forms: Fix accessibility issue in edit profile page
- Fixed legend tag issue
 - Modified the passwordunmask Javascript hide/unhide the password field by CSS class
2022-10-17 15:51:54 +07:00
Andrew Nicols b01fee2008 MDL-75969 behat: Allow the editor field to request a save
Some editors do not immediately store their content to the textarea they
represent and only do so when the form is submitted or they are
requested to.

This change adds to the existing API to allow an (optional)
`store_current_value` function to be defined for the editor type so that
it can use the JavaScript API to persist any current content to the
editor.
2022-10-14 23:46:25 +08:00
Andrew Nicols 3418b4d61c MDL-75985 behat: Standardise HTML output when comparing editor content
This commit adds a standardise_html function and updates the matches
function to compare normalised content.

This allows for a wider variety of valid editor output to be handled
using the standard value matching steps in Behat, thus supporting
editors other than Atto better.
2022-10-14 23:44:11 +08:00
Víctor Déniz dfd9b50595 Merge branch 'MDL-75736-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2022-10-14 16:10:43 +01:00
Shamiso.Jaravaza ebc4a00bca MDL-74558 mod_bigbluebuttonbn: Fix deletion error 2022-10-14 08:58:28 -06:00
Eloy Lafuente (stronk7) 5b60a837d1 MDL-75983 gha: Update used actions to be node16 compatible
Node12 is being deprecated in github for actions:

https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/

So we need to ensure we are using node16 actions.
2022-10-14 13:27:26 +02:00
Sara Arjona 00ad2a14da weekly release 4.0.4+ 2022-10-14 12:49:18 +02:00
Sara Arjona 764d2cd510 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-10-14 12:49:15 +02:00
Ilya Tregubov ddb0f7dc92 MDL-75173 core_completion: More unit tests and Behat. 2022-10-14 11:47:50 +03:00
Ilya Tregubov 59303de673 MDL-75173 core_completion: Fixes after review.
Unit tests added. Used new steps in Behat. Code style fix for long line.
2022-10-14 11:47:50 +03:00
Ilya Tregubov 1a7d05eca7 MDL-75173 core_completion: Fix completion for different settings. 2022-10-14 11:47:50 +03:00
Ilya Tregubov 289d5f3faa MDL-75173 core_completion: Inconsistent status check.
There is inconsistent status check for course completion block and
completion details page. Completion block was taking to account
pending statuses for completion criteria while completion details
page was ignoring those.
2022-10-14 11:47:50 +03:00
Ilya Tregubov aa34b109a4 MDL-75173 behat: Fix broken test.
Test was testing failing state when student didn't receive passing
grade. But it was expecting that completion criteria is completed
which was wrong.
2022-10-14 11:47:50 +03:00
Ilya Tregubov c4cd3a61c8 MDL-75173 core_completion: Fix course completion criteria marking.
SQL was fetching activities where completion state was 'completed,
but not passed reqyured grade'. For course completion such states
must be ignored.

Also fixed progress bar on my courses page. Same reasoning as above.
2022-10-14 11:47:49 +03:00
AMOS bot f4e4bfd3da Automatically generated installer lang files 2022-10-14 00:07:36 +00:00
Víctor Déniz 3cd5cbd327 Merge branch 'MDL-74789-400' of https://github.com/lucaboesch/moodle into MOODLE_400_STABLE 2022-10-13 21:32:19 +01:00
Jun Pataleta 6d805b7774 Merge branch 'MDL-74887-MOODLE_400_STABLE' of https://github.com/sh-csg/moodle into MOODLE_400_STABLE 2022-10-14 00:29:24 +08:00
Paul Holden 38c8f8be7d MDL-75811 reportbuilder: concatenate using list seperator lang config. 2022-10-13 16:26:18 +02:00
Sara Arjona 180048ad9e Merge branch 'MDL-75959-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-10-13 16:03:37 +02:00
Simey Lameze df1f4b8178 MDL-75984 admin_presets: split test into smaller ones 2022-10-13 15:55:26 +02:00
Ilya Tregubov d5e6b7e7eb Merge branch 'MDL-75970-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-10-13 14:08:56 +03:00
Stefan Hanauska c9bd3a20b6 MDL-74887 mod_label: Update visibility 2022-10-13 12:42:26 +02:00
Shamim Rezaie a85d347227 Merge branch 'MDL-75642-400' of https://github.com/BruceGoodGuy/moodle into MOODLE_400_STABLE 2022-10-13 16:28:52 +11:00
Tim Hunt b4ed5e95b5 MDL-75727 question regrading: fix each attempt builds on last
This fixes a regression caused by MDL-74752. If you regraded
a subsequent quiz attempt in a quiz using the 'Each attempt
builds on last' option, then the student's response could get lost.
2022-10-12 11:11:18 +01:00
Paul Holden 2700c84d7e MDL-75970 tool_customlang: clarify CLI export target/filename. 2022-10-12 10:16:31 +01:00
Andrew Nicols 24953e5d46 MDL-75962 js: Fix jsdoc violations 2022-10-12 10:07:45 +08:00
Jun Pataleta a2487cbe55 Merge branch 'MDL-75431_400' of https://github.com/AnupamaSarjoshi/moodle into MOODLE_400_STABLE 2022-10-12 09:39:14 +08:00
Jun Pataleta d88a746ec5 Merge branch 'MDL-75887-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-10-12 09:23:01 +08:00
Simey Lameze 8e5396a6b1 MDL-75887 behat: Add ability to set value regardless of the editor
Prior to this commit, the behat_form_editor integration was hard-coded
to use Atto.

This change allows other editors to be used to set editor values, and
breaks that hard bond. Following this change, any editor is able to
define a behat_editor_[name].php file defining a function which meets
the following signature:

  set_editor_value(string $editorid, string $value): void

Each editor is responsible for checking whether its own API is available
and calling any relevant functions to force the editor to set the
content.

Please note: Behat is unable to determine the current editor in use on
the page automatically.
2022-10-12 06:44:30 +08:00
Andrew Nicols e2ea6b2a8a MDL-75959 customfield: Correct inappropriate class import
I suspect this was an incorrect tab completion import by an IDE which
was missed.
2022-10-12 06:40:33 +08:00
sam marshall a7d47d7813 MDL-75736 lib: Course cache can be rebuilt unnecessarily
This change puts back the behaviour that get_fast_modinfo will accept
a cached version of modinfo that is newer than expected (according to
the course cacherev).

Not accepting newer versions can lead to poor performance in cases
where multiple requests take place at once, or using a clustered
database.
2022-10-11 16:59:59 +01:00
Jun Pataleta 3af0824487 weekly release 4.0.4+ 2022-10-11 23:16:36 +08:00
Jun Pataleta 9872e6f74f Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-10-11 23:16:34 +08:00
AMOS bot 5368babac0 Automatically generated installer lang files 2022-10-11 00:07:33 +00:00
Andrew Madden 3a60aec87d MDL-75635 quizaccess_seb: Implement Safe Exam Browser JS API
This is a backport of MDL-72188

* Replaces checking header for SEB config keys to assess quiz access.
* Adds new web service accessible via Ajax
* Forces the use of the new API where available
* Stores access in Moodle SESSION for quiz instead of checking every
page.
2022-10-11 08:33:30 +11:00
Alex Morris 7ee9daa15e MDL-73620 mod_forum: Fix issue with discussion permission check
Users with access to some groups but not all would receive an error
page when creating a discussion topic that was set to send to all
groups
2022-10-11 08:29:42 +13:00
sam marshall d450c5931b MDL-75834 lib: Focus lock JS bug when focus area removed 2022-10-10 16:35:21 +01:00
Sara Arjona 74a5ef1332 Merge branch 'MDL-75656-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-10-10 16:16:26 +02:00
Anupama Sarjoshi 689a57fa74 MDL-75431 qbank: fix tests with CodeRunner installed 2022-10-10 12:57:52 +01:00
Jun Pataleta 3d32032451 Merge branch 'MDL-75923-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-10-10 18:24:29 +08:00
Jun Pataleta eee7623eb8 Merge branch 'MDL-75909-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-10-10 18:08:20 +08:00
Jun Pataleta 30dbafdcdf Merge branch 'MDL-75922-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-10-10 14:55:26 +08:00
Jun Pataleta 169cb76c9e Merge branch 'MDL-75910-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-10-10 11:07:15 +08:00
Simey Lameze 7edd9db682 MDL-75923 tool_usertours: Update tour content to match formatted content
When an HTML content area contains invalid HTML, some editors will clean
and validate the content upon submission.

In this case the content was:

    <b>Test content</b>

But this should be wrapped in some form of container which accepts
phrasing content (such as a <p> tag).

Some editors, such as TinyMCE, will normalise the content and add the
wrapping paragraph tags to it.

Furthermore, the bold tag is purely stylistic and does not have semantic
meaning. As a result, the <strong> tag is favoured and some editors,
again such as TinyMCE, will replace bold tags with strong tags.

We should update the content here to be valid HTML (wrap the bold tag
in a para), and use a strong tag rather than bold. This allows this test
to pass both with Atto, and other stricter editors such as TinyMCE 6.
2022-10-10 09:13:41 +08:00
Simey Lameze 583b3e5b3f MDL-75922 behat: Apply @editor_atto tag to tests requiring Atto
These steps are currently using Atto-specific UI features and must
therefore make use of the @editor_atto tag to ensure that they continue
to run using Atto.

A new issue will be raised to migrate each of these to be
editor-agnostic.
2022-10-09 20:26:58 +08:00
Andrew Nicols 45ea8119c6 Merge branch 'MDL-61395-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-10-09 13:13:16 +08:00
Justus Dieckmann f98da613d6 MDL-75567 core_course: Other hidden badges remain when adding new one 2022-10-08 23:05:38 +02:00
Stefan Hanauska 56cc6bf703 MDL-74887 course: Hide stealth mode without view page 2022-10-08 08:09:38 +02:00
AMOS bot 9cd9153777 Automatically generated installer lang files 2022-10-08 00:07:33 +00:00
Luca Bösch 60c61a832a MDL-74789 course: category full width 2022-10-07 09:25:55 +02:00
Michael Hawkins 8430dc556f MDL-72836 core: Updated security.txt expiry and policy URL 2022-10-07 14:12:05 +08:00
Mikhail Golenkov e9b68a5f13 MDL-75907 core: Add index on temp table to optimise stats cron 2022-10-07 16:18:13 +11:00
Andrew Nicols b4493c2a16 weekly release 4.0.4+ 2022-10-07 13:03:55 +08:00
Andrew Nicols e51085274a Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-10-07 13:03:53 +08:00
Khoa Nguyen Dang 3a886db065 MDL-75642 quiz: Delete multiple (random) questions from quiz 2022-10-07 11:04:02 +07:00
AMOS bot 816e396380 Automatically generated installer lang files 2022-10-07 00:07:39 +00:00
Simey Lameze fc40e74d15 MDL-75910 core_form: Allow editor field to set a hidden label
When an editor is used in a form as part of a group, it is missing its
label element.

This happens because there is no inline template for the editor, and
therefore it reverts to using the old `toHtml` function. The legacy
function does not cater to the editor being in a group, and therefore
does not add the hidden label.

In addition, the hiddenLabel attribute was missing from the editor
element. This is a semi-standard element but must be added to each
supporting element.

Both the missing inline template for the editor, and the hidden label
attribute must be present:
- If the hidden label attribute is not present, then the standard inline
  template will add a visible label within the group.
- If the inline editor template is missing, then the label is not shown
  at all.
2022-10-06 22:54:05 +08:00
Andrew Nicols dc27423087 MDL-75909 mod_data: Make template editor use html editor
When the template editor is configured to use the HTML Editor, it should
indicate this to Behat by setting the `data-fieldtype` to "editor".

This indicates to the behat field manager that the editor is in use,
which ensures that the correct value setting can take place.

This is important in the context of MDL-75887.
2022-10-06 21:48:25 +08:00
Andrew Nicols d62139e86b MDL-71686 core_form: Include missing build 2022-10-06 14:44:17 +08:00
Andrew Nicols fa0dd0abab MDL-71686 core_form: Move form serializer to shared function 2022-10-06 10:21:24 +08:00
Andrew Nicols 5d6424de33 Merge branch 'MDL-71686-400' of https://github.com/marinaglancy/moodle into MOODLE_400_STABLE 2022-10-06 10:21:20 +08:00
Shamim Rezaie 3a70d7e816 Merge branch 'MDL-75886-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-10-06 12:24:24 +11:00
Andrew Nicols b3f611a14e MDL-75752 question: Bind contextid param in comment backup
In source_sql, unmapped values must be bound using the
backup_helper::is_sql_param() function.
2022-10-06 09:07:42 +08:00
Andrew Nicols e3b8864cc4 Merge branch 'MDL-75752_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2022-10-06 09:07:31 +08:00
Víctor Déniz 7c46149ec5 Merge branch 'MDL-74569-400' of https://github.com/lucaboesch/moodle into MOODLE_400_STABLE 2022-10-06 01:44:07 +01:00
Víctor Déniz 3276137f1a Merge branch 'MDL-75192-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-10-06 01:08:57 +01:00
Víctor Déniz 1eaf570ea7 Merge branch 'MDL-75729-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-10-05 22:07:56 +01:00
Paul Holden 3afbd2a0ad MDL-75077 output: prevent duplicate ID errors in custom menus.
Following on from 8e4a7c6b, we should apply a similar change to
custom menus to account for being collapsed into the "More" menu.
2022-10-05 18:30:08 +01:00
Thorsten Siegmund Bartel 02e99e4a4d MDL-74606 mod_assign: Support multilanguage strings in group names. 2022-10-05 12:54:09 +02:00
Pablo Amaya 0c2b15935c MDL-74454 mod_scorm: Fixed problems in lateral navigation.
Fixed problems in lateral navigation and grading when
a SCORM has more than three levels

The SCORM module has problems with full screen display,
completion tracking and grading in SCORM.

Also resolves issues MDL-74992, MDL-73249, MDL-75407
2022-10-05 12:44:14 +02:00
Andrew Nicols 80799bfec1 MDL-75886 atto: Always use Atto for @atto tests
This change, which should be easy to mimic for other editors.

This will ensure that the correct editor is used for tests relating to
that editor, or its subplugins.
2022-10-05 09:54:48 +08:00
Jun Pataleta 4d9a42c7d8 Merge branch 'MDL-75351_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2022-10-04 20:36:10 +08:00
Jun Pataleta 3eba3dc263 Merge branch 'MDL-66955-m400' of https://github.com/NeillM/moodle into MOODLE_400_STABLE 2022-10-04 16:36:34 +08:00
AMOS bot 95c0628b61 Automatically generated installer lang files 2022-10-04 00:07:36 +00:00
Shamiso.Jaravaza 5ee9422b3d MDL-75711 mod_bigbluebuttonbn: Fix recent activity 2022-10-03 11:03:42 -06:00
Frederik Milling Pytlick df530a7012 MDL-75876 core_calendar: Add raise_memory_limit call to export_execute
Added a call to raise_memory_limit in /calendar/export_execute.php as it can be very memory intensive.
2022-10-03 12:47:14 +02:00
sam marshall 0a5b0201b4 MDL-75074 core_courseformat: Output classes are not inherited
If you have one course format that extends another one, any course
format output classes that are not defined in the child format will
now inherit from the parent (instead of from the base class as
before).
2022-10-03 11:22:05 +01:00
Paul Holden 320d38bb49 MDL-73030 backup: case-insensitive detection of Moodle backups. 2022-10-03 09:32:11 +01:00
Paul Holden 21478a1e5e MDL-72058 reportbuilder: replace custom dataformat export format.
The formatting of exported dataformat content is now always dependent
on whether the format supports HTML or not, so we no longer need our
custom export class for providing the same.
2022-10-03 09:15:58 +01:00
Paul Holden e69c09d756 MDL-72058 dataformat: remove HTML when export format lacks support. 2022-10-03 09:15:58 +01:00
Andrew Nicols aba165140b Merge branch 'MDL-75836_400' of https://github.com/jrchamp/moodle into MOODLE_400_STABLE 2022-10-02 21:44:21 +08:00
Tim Hunt 9cd481431b MDL-75351 question comments: don't hard-code system context id 2022-09-30 18:46:43 +02:00
Andrew Nicols 5de4468345 MDL-75614 dml: Unit tests must test something 2022-09-30 16:38:12 +08:00
Andrew Nicols 632bbfafe1 Merge branch 'MDL-75614-debugsqltrace-MOODLE_400_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_400_STABLE 2022-09-30 16:38:08 +08:00
Neill Magill 152d919261 MDL-66955 messages: Improve speed of message search
The OR conditions in the WHERE clause prevented the query from
effectively filtering the messages related to the user quickly, this
change helps gets around this by allowing the database to limit
the rows in the messages table it needs to scan significantly.
2022-09-30 08:30:05 +01:00
Luca Bösch 81f390069d MDL-74569 theme_boost: remove unit from top: 0; 2022-09-30 08:38:47 +02:00
Mihail Geshoski ca77344ead MDL-68437 forum: Support to show only active course users in grader
The following change adds support to show only active course users
in the forum grader and generally replicates the behaviour from the
assignment grader which relies on certain config settings, user
permissions and capabilities.
2022-09-30 12:02:08 +08:00
Mihail Geshoski 7e0b0bc14b MDL-68437 course: ws support to optionally fetch only active users
Modifies the 'core_course_get_enrolled_users_by_cmid' webservice and
the generic js methods that call this webservice and enables defining
whether the ws should only return the active users or all enrolled
users in the course.
2022-09-30 12:02:08 +08:00
Jake Dallimore cdd954430f weekly release 4.0.4+ 2022-09-30 10:17:34 +08:00
Tim Hunt 6ddf63486d MDL-75752 question comments: fix backup query so it uses the index
This should greatly improve the performance.
2022-09-29 11:38:36 +02:00
Andrew Nicols 21e1d60833 Merge branch 'MDL-74922_MOODLE_400_STABLE_fix_storage_wrapper_validate_cache' of https://github.com/gthomas2/moodle into MOODLE_400_STABLE 2022-09-29 12:06:28 +08:00
Andrew Nicols d7f8f844bd Merge branch 'MDL-75721-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-09-29 11:57:27 +08:00
Jun Pataleta 643d5ec406 Merge branch 'MDL-75782-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-09-29 11:54:04 +08:00
Andrew Nicols 5ce0f28de8 Merge branch 'MDL-75738-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2022-09-29 11:40:06 +08:00
Jun Pataleta 3304dec7c5 Merge branch 'MDL-75559-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-09-29 10:54:11 +08:00
Jun Pataleta f1e67ccfa3 Merge branch 'MDL-66902_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-09-28 23:15:42 +08:00
Andrew Nicols 9ff194ffba Merge branch 'MDL-75459-400' of https://github.com/davewoloszyn/moodle into MOODLE_400_STABLE 2022-09-28 22:47:51 +08:00
Paul Holden 6f5fc5f1ee MDL-75192 reportbuilder: observe start day in current week filter.
Ensure we observe the site configuration/preference for calendar
first day of the week, in the current week date filter.
2022-09-28 13:37:01 +01:00
Jun Pataleta df56d5659d Merge branch 'MDL-75827-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-09-28 20:36:05 +08:00
Jake Dallimore 4938cbd0af Merge branch '40_mdl75668' of https://github.com/danmarsden/moodle into MOODLE_400_STABLE 2022-09-28 16:35:54 +08:00
Andrew Nicols e6983a7a09 Merge branch 'MDL-75447-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-09-28 12:43:27 +08:00
Jun Pataleta ffac7011b3 Merge branch 'MDL-72490-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2022-09-28 11:55:16 +08:00
Jun Pataleta d59e83c423 Merge branch 'MDL-75726_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-09-28 08:12:03 +08:00
Jun Pataleta 2d337c94eb Merge branch 'MDL-75776_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-09-28 08:06:50 +08:00
Jonathan Champ 1dc488e333 MDL-75836 activities: preserve moodleform validation errors 2022-09-27 14:24:05 -04:00
Andrew Nicols 54f90e39a1 Merge branch 'MDL-75168-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-09-27 23:42:25 +08:00
Paul Holden e46420e57e MDL-75168 tag: cleanup module tag instances upon course deletion. 2022-09-27 14:10:57 +01:00
Jun Pataleta 409fb784db Merge branch 'MDL-75800-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-09-27 20:20:00 +08:00
Andrew Nicols 00d62550c6 Merge branch 'MDL-27570_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2022-09-27 17:02:13 +08:00
Jun Pataleta 3d08e501fe Merge branch 'MDL-71531-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-09-27 16:29:10 +08:00
Andrew Nicols f215a8b9cc Merge branch 'MDL-75460-400' of https://github.com/ssj365/moodle into MOODLE_400_STABLE 2022-09-27 13:03:43 +08:00
Andrew Nicols acc1354295 MDL-75744 qtype_gapselect: Remove unnecessary javascript tag 2022-09-27 12:45:57 +08:00
Andrew Nicols 9af9a0da85 Merge branch 'MDL-75744-400' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_400_STABLE 2022-09-27 12:37:55 +08:00
Paul Holden 789e3f42c0 MDL-75827 theme_boost: append table elements to popover whitelist.
This allows for their use within popover tooltips, such as those
used for showing help icon dialogues.
2022-09-26 16:00:10 +01:00
Eloy Lafuente (stronk7) d24f96a248 MDL-66902 tests: Fix all incorrect namespaces
This issue just goes over all the currently incorrect
namespaces in test cases and:

1. Change the namespace to the correct one.
2. Move/rename it to correct location if needed (level 2 and down).
3. Remove not needed MOODLE_INTERNAL check when possible.
4. Remove file phpdoc when the file only has one class.
5. Make small adjustments in case the change of namespace requires it.
2022-09-26 14:30:41 +02:00
sam marshall 76c7206927 MDL-75738 tool_moodlenet: Upgrade clean user profile slow, pointless
There is an upgrade to clean the moodlenetprofile field which
performs very poorly, but it is also not needed because an upgrade
further down sets this field to empty string anyway.
2022-09-26 11:25:50 +01:00
Hien Dinh b82b0f6ce5 MDL-72490 availability: Show error if conflict in date restriction 2022-09-26 11:20:51 +01:00
Paul Holden 9a68b6ea7e MDL-61395 forms: style frozen tag element values. 2022-09-26 11:16:04 +01:00
Paul Holden bd048774dd MDL-75656 tag: decode entities in tags element values. 2022-09-26 10:56:33 +01:00
Eloy Lafuente (stronk7) a67daf6b24 MDL-75726 ci: Bump GHA to Ubuntu 22.04
Have tried to also bump Travis to 22.04 (jammy) but it
was not working ok, with problems trying to find both
PHP and PostgreSQL versions.

Surely that's because 22.04 support is really new (Sep 9, 2022):

https://blog.travis-ci.com/22-9-9-ubuntujammy

So we'll have to wait a little more before being able to, also,
bump Travis to use 22.04
2022-09-22 17:45:10 +02:00
Eloy Lafuente (stronk7) da4772d234 MDL-75776 composer: minor updates
In stables, just minors updates to components.

Generated using the instructions @ https://docs.moodle.org/dev/Composer
and using PHP 7.3 (always the min version supported) to generate the
lock file.
2022-09-22 17:44:38 +02:00
Eloy Lafuente (stronk7) d708740c3f weekly release 4.0.4+ 2022-09-22 17:05:44 +02:00
Tim Hunt b20f6471b6 MDL-27570 quiz timing: add unit test and simplify top of process_attempt 2022-09-22 11:12:23 +01:00
Eloy Lafuente (stronk7) 84f03ab16d Merge branch 'MDL-74762_400' of https://github.com/catalyst/moodle-MDL-72752 into MOODLE_400_STABLE 2022-09-21 14:26:40 +02:00
Philipp Imhof bebdb51753 MDL-27570 quiz: check if time is really up 2022-09-21 11:38:24 +01:00
David Woloszyn 4f14495420 MDL-75459 Collapsable Form Sections: Default state bug fix
In circumstances where all collapsible form sections were expanded on
page load, a check is now made to ensure the expand all/collapse all
button behaves as intended.
2022-09-21 12:30:10 +10:00
Nathan Nguyen 1c843805eb MDL-74762 qbank_statistics: fix unit test failure with Oracle DB 2022-09-21 12:10:12 +10:00
Paul Holden d08559b8ae MDL-75800 enrol: correct instance deleted event name. 2022-09-20 14:09:34 +01:00
Justus Dieckmann 8763bba518 MDL-75569 course: fix non-functional search bar in course index page
For users who are not allowed to access course/management.php, the
normal course search is used instead.
2022-09-20 12:34:45 +02:00
Jun Pataleta 1febfbebcd Merge branch 'MDL-75777_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-09-20 15:12:15 +08:00
Víctor Déniz ae317e6527 Merge branch 'MDL-74941-400' of https://github.com/lucaboesch/moodle into MOODLE_400_STABLE 2022-09-20 08:09:06 +01:00
Laurent David d74f805126 MDL-75763 mod_bigbluebuttonbn: Fix get_server_not_available_url
* The redirection should go to xxx?section=modsettingbigbluebuttonbn in case of error
2022-09-20 08:39:10 +02:00
Steve Bader 30cc7e5c1e MDL-74941 qtype_calculated: Copy dataset from previous question version 2022-09-20 08:09:13 +02:00
Luca Bösch 0acbe6914d MDL-74941 qtype_calculated: Fix for usage calculation
The patch for the helper functions is by Nathan Nguyen
<nathannguyen@catalyst-au.net> whom I wish to thank.
2022-09-20 08:09:02 +02:00
Stephen Bourget 3bb3afdcab MDL-75627 Calendar: Fix calendar imports from Office 365 2022-09-19 15:51:03 -04:00
Marina Glancy 9ddc556300 MDL-75791 reportbuilder: set persistent for active conditions 2022-09-19 16:54:21 +02:00
Marina Glancy be60921e14 MDL-75358 reportbuilder: display nulls as empty cells in aggregation 2022-09-19 14:44:01 +02:00
Marina Glancy 4e8013e418 MDL-75358 reportbuilder: display nulls as empty cells for numeric/bool 2022-09-19 14:43:56 +02:00
Ilya Tregubov 236b14a90f Merge branch 'MDL-75065-401' of https://github.com/devlionco/moodle into MOODLE_400_STABLE 2022-09-19 14:01:36 +04:00
Eloy Lafuente (stronk7) be02cc3687 MDL-75777 phpunit: Move tests to use correct names and ns (take#6)
Applied the following changes to various testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.
2022-09-19 11:02:50 +02:00
Jun Pataleta 5bd5f5b4c9 Merge branch 'MDL-75757_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-09-19 13:01:57 +08:00
Andrew Nicols 493ef64d13 MDL-75782 mod_quiz: Make TinyMCE autosave less fragile
This commit amends the quiz autosave feature to not assume the
components of the Tiny API as much, and add support for newer versions
of TinyMCE.
2022-09-19 12:55:41 +08:00
Eloy Lafuente (stronk7) dff5793807 MDL-75757 phpunit: Add some tolerance to a few failing assertions
Recently, PHPUnit (all versions) did some changes about how the
comparators worked and this has caused some float comparisons
to stop working.

We need to move them to assertEqualsWithDelta(), allowing a small
tolerance to workaround the floats comparison problem.

0.00001 has been decided. And applied to all the similar assertions
within the unittest function, so if more cases are added to them
better be copied with the agreed tolerance.
2022-09-18 15:57:01 +02:00
Víctor Déniz 3657cfa88c Merge branch 'MDL-74762_400' of https://github.com/catalyst/moodle-MDL-72752 into MOODLE_400_STABLE 2022-09-16 14:24:53 +01:00
Nathan Nguyen 92f979948f MDL-74762 qbank_statistics: improve performance loading the data
This issue greatly improves the performance of displaying statistics in
the question bank.

1. The required quiz statistics are now pre-computed by a scheduled task.

2. Cached statistics in the database are now never cleaned up, so the
   pre-computed stats are always available.

3. The way the cached statistics are loaded for each question
   that is being displayed is now a bit more efficient.

4. Related to that, there is a new callback which activities can implement,
   if they want their question statistics to be included in the ones shown
   in the question bank.

Note, there is still further improvement possible to load the statistics
for all questions being displayed in bulk. However, that must wait for a
future issue, MDL-75576. The other improvements in this issue are
significant and we did not want to delay releasing them.

Co-authored-by: Jonathan Champ <jrchamp@ncsu.edu>
Co-authored-by: Tim Hunt <t.j.hunt@open.ac.uk>
2022-09-16 21:15:27 +10:00
Sara Arjona 5b90f71153 Merge branch 'MDL-75108-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2022-09-16 11:23:21 +02:00
Paul Holden 3e97c3ee83 MDL-75721 reportbuilder: select from main table in absence of columns.
Ensure any joins added to the report itself are also present.
2022-09-15 17:07:20 +01:00
Sara Arjona 844abeaf5d weekly release 4.0.4+ 2022-09-15 16:11:51 +02:00
Sara Arjona e7e0609857 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-09-15 16:11:49 +02:00
hieuvu 3b1ef88cb4 MDL-75744 gapselect: remove empty choices option. 2022-09-15 15:45:35 +07:00
Andrew Nicols 049288a65d MDL-71531 cachestore_file: Stop locking cache files to read
The cache file is only ever written to in the `write_file` function,
where it does so by writing to a temp file and performing an atomic
rename of that file. When writing, the target file is never locked.

The cache file is only ever read in the `get` function, and there is no
need for an exclusive lock in that situation.

There is therefore no need to obtain any lock, shared or exclusive, to
read the cache file. Doing so only affects performance of the file sytem
as file locks must be needlessly obtained and written to disk for a read
operation which does not benefit from them.
2022-09-15 10:14:00 +08:00
Jun Pataleta f5f40abd28 Merge branch 'MDL-75716_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-09-15 09:55:48 +08:00
Jun Pataleta 24a00a0d97 Merge branch 'MDL-75714_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-09-15 09:26:13 +08:00
Eloy Lafuente (stronk7) 6e672c0a82 MDL-75714 navigation: Cover a couple of situations with behat
- Guest user attempting to access to single-activity course.
- Not enrolled user attempt to access to single-activity course.

Both should, by default, land to the "cannot access/enrol" page.
2022-09-14 23:41:25 +02:00
Stefan Hanauska ed369e32ef MDL-75714 navigation: Check if node is false 2022-09-14 23:41:25 +02:00
Víctor Déniz fb049600c3 Merge branch 'MDL-75558-400' of https://github.com/ssj365/moodle into MOODLE_400_STABLE 2022-09-14 22:33:57 +01:00
Víctor Déniz a19e234dd3 Merge branch 'MDL-74965-400' of https://github.com/ssj365/moodle into MOODLE_400_STABLE 2022-09-14 20:23:01 +01:00
Ferran Recio 5d6d91b706 MDL-75625 core_courseformat: fix MDL-71979 comments 2022-09-14 20:05:32 +01:00
Marina Glancy bf896b01dc MDL-71686 forms: allow arrays in dynamic forms args 2022-09-14 17:59:10 +02:00
Shamiso.Jaravaza 8f090ac85d MDL-74965 mod_bigbluebuttonbn: Fix error in role 2022-09-14 09:06:00 -06:00
Sara Arjona 49705b1f40 Merge branch 'MDL-74010-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-09-14 11:41:47 +02:00
Paul Holden 4bd6777cfb MDL-75729 reportbuilder: improve handling of card toggle button. 2022-09-14 10:18:55 +01:00
Jun Pataleta 497e9da529 Merge branch 'MDL-75308-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-09-14 05:32:57 +08:00
Eloy Lafuente (stronk7) ad01614e9c MDL-75716 phpunit: Move tests to use correct names and ns (take#5)
Applied the following changes to various testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- In lib/tests/blocklib_test.php 2 helper classes have been
  moved to tests/fixtures, because they needed to be namespace-free.
2022-09-12 19:29:11 +02:00
Sara Arjona 152bdb1aa1 Merge branch 'MDL-75051_400' of https://github.com/mkassaei/moodle into MOODLE_400_STABLE 2022-09-12 12:30:31 +02:00
Andrew Nicols 0a63b5c08d MDL-75559 behat: Sort behat_hooks to top of context list 2022-09-12 12:33:31 +08:00
AMOS bot 0693f196e7 Automatically generated installer lang files 2022-09-11 00:07:58 +00:00
Eloy Lafuente (stronk7) 8febbe3973 Moodle release 4.0.4 2022-09-10 12:15:57 +02:00
Jun Pataleta f4172c491c Merge branch 'MDL-75708-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-09-09 20:49:04 +08:00
Paul Holden 190558640e MDL-75708 reportbuilder: consider stress tests as requiring longtest.
We should respect the value of the PHPUNIT_LONGTEST constant in the
report source stress tests, as it was discovered after 165e26fa that
the default configuration of some CIs (GHA) was not sufficient to run
them.

Hence, use the PHPUNIT_LONGTEST to determine whether to execute said
tests. Note this constant is enabled on internal CI.
2022-09-09 11:18:55 +01:00
Mahmoud Kassaei 7c7505e428 MDL-75051 Questions: Selecting idnumber in the question bank,
the copy/pasting, includes extraneous text in Chrome
2022-09-09 10:35:55 +01:00
Jun Pataleta 5b90938614 weekly release 4.0.3+ 2022-09-09 08:36:47 +08:00
Jun Pataleta 306fe2e5d8 Merge branch 'MDL-75227-400' of https://github.com/call-learning/moodle into MOODLE_400_STABLE 2022-09-08 09:39:45 +08:00
Jun Pataleta 02425dd8d6 Merge branch 'MDL-74081-400' of https://github.com/call-learning/moodle into MOODLE_400_STABLE 2022-09-08 09:04:54 +08:00
Michael Hawkins 4b434b3264 MDL-68066 output: Apply disable lambda rendering to Mustache renderer 2022-09-07 23:56:29 +08:00
Lars Bonczek ec77ff8474 MDL-68066 output: Mustache - Add option to disable lambda rendering
This commit is based on an outstanding pull request to the Mustache repo
2022-09-07 23:56:29 +08:00
Laurent David 52ae580ad6 MDL-75227 mod_bigbluebuttonbn: Optimize User logs retrieval
* When loading a course with the Recent Activity block the bigbluebuttonbn_print_recent_activity
takes too much time to load the logs. Using the courseid (index of log table) improves the
time taken by the query.
2022-09-07 17:38:06 +02:00
Laurent David 4519964111 MDL-74081 mod_bigbluebuttonbn: Fix codechecker related issues
* Opening braces should be on the same line
* Unwanted MOODLE_INTERNAL
* Behat edit_instance.feature should use "activity editing" page locator
* Coverage indication
2022-09-07 17:27:58 +02:00
Paul Holden f0d5a81699 MDL-72012 mod_h5pactivity: respect user access when getting report. 2022-09-07 22:10:41 +08:00
Jun Pataleta 92c332f491 MDL-75283 core: Fetch proper column mapping for sort
Calling \core_user\fields::get_sql() incerements a static uniqueid
variable. This should be called only once and not make a separate call
for the sort mapping data as it doing so will result to an incorrect
table alias for the sort mapping data.
2022-09-07 17:11:53 +04:00
Ilya Tregubov 49b55a357a Merge branch 'MDL-75555-400' of https://github.com/justusdieckmann/moodle into MOODLE_400_STABLE 2022-09-07 16:37:18 +04:00
Ilya Tregubov ffc2b63cd1 Merge branch 'MDL-74782-400' of https://github.com/ssj365/moodle into MOODLE_400_STABLE 2022-09-07 15:49:35 +04:00
Sara Arjona e20149a2b4 Merge branch 'MDL-74866-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-09-07 13:10:17 +02:00
Anastasios Bithas 098cf7b38d MDL-75665 gradereport_overview: Format strings in grade report overview 2022-09-07 12:36:59 +03:00
stevando b3041d3a0f MDL-75283 admin: Update admin user fetching to use sort helper 2022-09-07 13:18:29 +08:00
Jun Pataleta 2190e59647 Merge branch 'MDL-75553-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-09-07 12:59:34 +08:00
Jun Pataleta 74b24ddc5f MDL-75553 mod_data: Fix wording of data fields in Behat tests 2022-09-07 12:57:18 +08:00
Huong Nguyen c4b1115e8c MDL-74866 bennu: Fix parameter parsing
Some parameter values are wrapped by DQUOTE character.
We need to go through and get the actual value inside the quoted string.
2022-09-07 11:15:52 +07:00
Dan Marsden 4603578b43 MDL-75668 backup: Save context mapping of duplicate blocks. 2022-09-07 12:40:20 +12:00
Paul Holden ab69d5373f MDL-75405 block_html: safer unserialize during old block conversion. 2022-09-07 00:45:20 +02:00
Jun Pataleta 89ee7a5fb7 Merge branch 'MDL-74749-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-09-07 06:40:21 +08:00
Jun Pataleta bd211c77e6 MDL-74749 mod_bigbluebuttonbn: Run import button check scenario in nonJS 2022-09-07 06:39:45 +08:00
Shamiso.Jaravaza a49411b80c MDL-74749 mod_bigbluebuttonbn: Fix import button 2022-09-07 06:39:45 +08:00
David Mudrák a920cd70e3 MDL-75553 lang: Fix Behat regressions in scenario files 2022-09-06 21:48:14 +02:00
Jun Pataleta f47c75b8ae Merge branch 'MDL-75311_400' of https://github.com/lostrogit/moodle into MOODLE_400_STABLE 2022-09-07 00:19:12 +08:00
Jun Pataleta 796962c848 Merge branch 'MDL-75231-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-09-06 23:49:20 +08:00
Jun Pataleta 53a7ba2c5a Merge branch 'MDL-75040-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-09-06 21:49:30 +08:00
Ilya Tregubov 383581d276 Merge branch 'MDL-73938-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-09-06 14:29:11 +04:00
Sara Arjona d8f9c2f2a3 Merge branch 'MDL-75548_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2022-09-05 13:09:45 +02:00
Paul Holden bded9dee9d MDL-73938 reportbuilder: better Oracle support of long text columns.
Specifically during column grouping/aggregation, we need to avoid CLOB
datatype inconsistencies (ORA-00932).
2022-09-05 12:08:57 +01:00
Paul Holden c507f660f7 MDL-73938 reportbuilder: helper methods for automating report tests.
Implement stress tester methods for iterating over report columns,
aggregation and conditions. Assert that each works correctly in
isolation, and when used in conjunction with other columns.
2022-09-05 12:07:13 +01:00
Ilya Tregubov c04f9ad6b3 Merge branch 'MDL-60666-400' of https://github.com/ilyatregubov/moodle into MOODLE_400_STABLE 2022-09-05 14:37:36 +04:00
Sara Arjona 0b319d563b Merge branch 'MDL-75608-m400' of https://github.com/sammarshallou/moodle into MOODLE_400_STABLE 2022-09-05 12:25:04 +02:00
Peter Sistrom 03f4fb4c74 MDL-60666 auth_ldap: One transaction per user 2022-09-05 14:22:43 +04:00
Paul Holden 459334249b MDL-73938 reportbuilder: add filters API to support stress testing.
Filter types can now define sample values, to be used in forthcoming
stress test helpers, in order for them to become active in a report.
2022-09-05 11:15:30 +01:00
Sara Arjona 6846949785 Merge branch 'MDL-75550-400' of https://github.com/mickhawkins/moodle into MOODLE_400_STABLE 2022-09-05 08:57:31 +02:00
Sara Arjona 26af1b6723 Merge branch 'MDL-75199-400' of https://github.com/call-learning/moodle into MOODLE_400_STABLE 2022-09-05 08:43:53 +02:00
Jun Pataleta 651bf5711d Merge branch 'MDL-75641_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-09-05 14:37:21 +08:00
Helen Foster 132dba3ed2 MDL-75553 lang: Import fixed English strings (en_fix) 2022-09-04 20:49:22 +02:00
Eloy Lafuente (stronk7) 8b0fa0dc75 MDL-75641 core_lang: Add string for new Europe/Kyiv timezone
With IANA TZDB (timezone database) release 2022b, Europe/Kiev
has been renamed to Europe/Kyiv. So we need to add this string
to our list to keep tests passing.

Note that the old Europe/Kiev continues working (is an alias) and,
also, there are places in core where we are using it. Just we cannot
remove/replace those uses in core until we ensure that everybody is
using PHP 8.0.23 (TZDB 2022b) or more recent versions. Hence,
not changing those uses now.
2022-09-04 10:11:39 +02:00
Paul Holden 2ae6bde9dc MDL-75447 reportbuilder: return only valid audience instances. 2022-09-02 12:33:59 +01:00
Ilya Tregubov b2e9ca957a weekly release 4.0.3+ 2022-09-02 08:49:16 +04:00
Brendan Heywood 65d259ef55 MDL-75614 dml: Fixed debugsqltrace with anon classes bug 2022-09-02 11:42:31 +10:00
Jun Pataleta abca7c9ba0 Merge branch 'MDL-74770-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-09-01 11:32:08 +08:00
Jun Pataleta d50f0c1af6 Merge branch 'MDL-75092-MOODLE_400_STABLE' of https://github.com/PhMemmel/moodle into MOODLE_400_STABLE 2022-09-01 11:05:09 +08:00
Laurent David 5f396bff51 MDL-75199 mod_bigbluebuttonbn: Add CLI command to migrate recordings
* Sometimes recordings are not migrated when upgrating from pre-4.0 release
version. The additional script will allow to launch the migration once again
either for specific courses or activities.
2022-08-31 17:42:16 +02:00
Jun Pataleta aa9ee6b727 Merge branch 'MDL-75111_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-08-31 23:05:53 +08:00
Sara Arjona 347054c624 Merge branch 'MDL-73076-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-08-31 15:45:35 +02:00
Jun Pataleta 842db17331 Merge branch 'MDL-75019-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2022-08-31 20:25:17 +08:00
Ilya Tregubov 9b2a17d6cb Merge branch 'MDL-74901-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-08-31 16:01:13 +04:00
Marina Glancy 1d926fabd4 MDL-74969 core_form: same style for headers without shortforms 2022-08-31 12:29:37 +02:00
Paul Holden c2083cdfc1 MDL-75040 block_completionstatus: correct current course navigation. 2022-08-31 09:56:32 +01:00
Ilya Tregubov b3b2fb4681 Merge branch 'MDL-74861-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2022-08-31 11:52:51 +04:00
Michael Hawkins f238d324af MDL-75550 lib: Update Mustache const to reflect correct version
Mustache version 2.14.1 is already included, but the VERSION const
incorrectly listed 2.14.0 in the tagged Mustache release. A later
upstream commit corrected this in the library, which this now matches.
2022-08-31 15:29:44 +08:00
Sara Arjona 96d1fbcaa5 Merge branch 'MDL-74873-m400' of https://github.com/dthies/moodle into MOODLE_400_STABLE 2022-08-30 16:10:14 +02:00
Sara Arjona 401c26aa38 Merge branch 'MDL-68717-400' of https://github.com/laurentdavid/moodle into MOODLE_400_STABLE 2022-08-30 16:05:04 +02:00
Paul Holden fc0bd43f9d MDL-75308 task: explicit check for tasks of disabled plugins.
The enabled state of a plugin is a tri-state value (boolean or
null). We should be consistent with elsewhere by only considering
boolean false as an actually disabled plugin.

See also cdcb53a1 for similar change in task management.
2022-08-30 13:03:52 +01:00
Víctor Déniz 76102e0f11 Merge branch 'MDL-75360-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-08-30 11:43:10 +01:00
sam marshall 630ccf76e3 MDL-75608 Behat: Expand all fieldsets step fails with single fieldset 2022-08-30 11:18:36 +01:00
Jun Pataleta 6f01131eeb MDL-70480 mod_assign: Apply proper upgrade savepoint version 2022-08-30 17:20:22 +08:00
Jun Pataleta 231a77fb58 MDL-70480 mod_assign: Bump version.php properly 2022-08-30 17:02:35 +08:00
Víctor Déniz e61ec8f0a8 Merge branch 'MDL-70480-400' of https://github.com/chanqihui/moodle into MOODLE_400_STABLE 2022-08-30 09:16:15 +01:00
Ilya Tregubov 0022f54de5 Merge branch 'MDL-71662-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-08-30 08:00:08 +04:00
Jun Pataleta e198efde5a Merge branch 'MDL-73685-admin-role-bug-MOODLE_400_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_400_STABLE 2022-08-29 15:47:49 +08:00
Eloy Lafuente (stronk7) 5c884e835e MDL-75111 phpunit: Move tests to use correct names and ns (take#4)
Applied the following changes to various testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- The following task tests have been moved within the level2 directory:
  - \core\adhoc_task_test => \core\task\adhoc_task_test
  - \core\scheduled_task_test => \core\task\scheduled_task_test
  - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test
  - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test
  - \core\task_database_logger_test => \core\task\database_logger_test
  - \core\task_logging_test => \core\task\logging_test

- The following event tests have been moved within level2 directory:
  - \core\event_context_locked_test => \core\event\context_locked_test
  - \core\event_deprecated_test => \core\event\deprecated_test
  - \core\event_grade_deleted_test => \core\event\grade_deleted_test
  - \core\event_profile_field_test => \core\event\profile_field_test
  - \core\event_unknown_logged_test => \core\event\unknown_logged_test
  - \core\event_user_graded_test => \core\event\user_graded_test
  - \core\event_user_password_updated_test => \core\event\user_password_updated_test

- The following output tests have been moved within level2 directory:
  - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test
  - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test
  - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test

- The following tests have been moved to their correct tests directories:
  - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php

- All the classes and tests under lib/filebrowser and lib/filestorage
  belong to core, not to core_files. Some day we should move
  them to their correct subsystem.
- All the classes and tests under lib/grade belong to core, not
  to core_grades. Some day we should move them to their correct
  subsystem.
- The core_grades_external class and its \core\grades_external_test
  unit test should belong to the grades subsystem or, alternatively,
  to \core\external, they both should be moved together.
- The core_grading_external class and its \core\grading_external_test
  unit test should belong to the grading subsystem or, alternatively,
  to \core\external, they both should be moved together.
- The \core\message\message and \core\message\inbound (may be others)
  classes, and their associated tests should go to the core_message
  subsystem.
- The core_user class, and its associated tests should go to the
  core_user subsystem.
- The \core\update namespace is plain wrong (update is not valid API)
  and needs action 1) create it or 2) move elsewhere.
2022-08-26 16:34:24 +02:00
Shamim Rezaie cd11b40558 weekly release 4.0.3+ 2022-08-26 21:07:38 +10:00
Justus Dieckmann d6ff7db956 MDL-75555 core_courseformat: Remove duplicate section collapse requests
Previously, by simulating a click, the section toggle listener
was invoked again. Instead, it now uses the bootstrap collapse
function directly.
2022-08-25 23:19:27 +02:00
Shamiso.Jaravaza d30eabf344 MDL-75558 mod_bigbluebuttonbn: Fix alert banner 2022-08-23 17:19:06 -06:00
Tim Hunt 9a0c490680 MDL-75548 misc: final Required parameter follows optional notices 2022-08-22 15:19:34 +01:00
Simey Lameze 0a3c2be3a7 MDL-75231 files: make bucket calculations more precise
This commit changes changes the unit test calculations to
keep track of the time the bucket starts/finishes bursting
and use milliseconds instead of seconds to have a precise
time to sleep.
2022-08-22 13:54:03 +08:00
Philipp Memmel e066c613c7 MDL-75092 backup: Fix selector for adding select all/none link 2022-08-19 17:23:13 +02:00
Sara Arjona 78f0557607 Moodle release 4.0.3 2022-08-19 09:50:23 +02:00
Mikhail Golenkov 02cca91bfe MDL-75448 assignfeedback_editpdf: Fix conversion for rotated images 2022-08-19 15:38:03 +10:00
Mikhail Golenkov c3474f0fb7 MDL-75448 stored_file: Cover rotate_image() method with unit tests 2022-08-19 15:38:03 +10:00
Paul Holden ae8059d346 MDL-74770 gradereport_grader: allow sorting by all user fields. 2022-08-18 15:58:17 +01:00
Sara Arjona dd1a805bae weekly release 4.0.2+ 2022-08-18 14:54:15 +02:00
Laurent David 00e3145a61 MDL-75210 mod_quiz: fix sequential quiz access
* As a student I should only be able to access the next question or the current question
* The API should not show more than the current question
* Once the quiz is previewed we can see the question in any order (existing behaviour)
* Related to ticket MDL-71728

Co-authored-by: Rajneel Totaram <rjnlfj@yahoo.com>
Co-authored-by: Tim Hunt <t.j.hunt@open.ac.uk>
2022-08-18 08:08:00 +04:00
Brendan Heywood 9b77e1974c MDL-73685 admin: Fix regression from MDL-69498 2022-08-18 13:57:40 +10:00
Andrew Nicols dfb8817998 Merge branch 'MDL-75029-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-08-18 11:17:43 +08:00
Sara Arjona 76e2b6ef9f Merge branch 'MDL-75063-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2022-08-17 16:53:10 +02:00
Sara Arjona d5c66fa1a4 Merge branch 'MDL-75312-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-08-17 12:26:44 +02:00
Shamim Rezaie e9a7520a17 Merge branch 'MDL-75386-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-08-17 13:29:28 +10:00
Shamim Rezaie c13b24dcaa Merge branch 'MDL-73876-400' of https://github.com/ilyatregubov/moodle into MOODLE_400_STABLE 2022-08-17 02:32:27 +10:00
Sara Arjona db67f81aa6 Merge branch 'MDL-72178-400' of https://github.com/NoelDeMartin/moodle into MOODLE_400_STABLE 2022-08-16 16:58:35 +02:00
Shamiso.Jaravaza 0e27c5f7a5 MDL-75460 mod_bigbluebuttonbn: Fix lock on start 2022-08-15 23:51:21 -06:00
Laurent David c84606f5a7 MDL-59458 mod_data: Fix sorting data query
* When activating sorting on a different field than the original field
the list of records is empty
2022-08-15 17:13:28 +02:00
Simey Lameze 547a925d39 MDL-73076 completion: split criteria duration test into two tests 2022-08-12 17:13:11 +08:00
Mark Johnson e851106c8f MDL-75388 lib: Update mustache to 2.14.1
MDL-67114 and MDL-73586 local changes removed as they are now available
upstream.
2022-08-12 04:15:20 +02:00
Petr Skoda 754b7af680 MDL-75237 core: improve PARAM_SAFEPATH docs 2022-08-12 04:15:20 +02:00
Petr Skoda d0fd8c6ff4 MDL-75237 qformat_blackboard_six: sanitise blackboard import file paths 2022-08-12 04:15:20 +02:00
Petr Skoda b0388fdc49 MDL-75237 core: Revert MDL-72029
This reverts commit a212b1ec3e.
2022-08-12 04:15:20 +02:00
Petr Skoda 3cbcba14ca MDL-75237 qformat_blackboard_six: Revert MDL-72029
This reverts commit f38397544a.
2022-08-12 04:15:19 +02:00
Paul Holden cdbdc89b32 MDL-75326 h5p: require sesskey to toggle library enabled state. 2022-08-12 04:15:19 +02:00
Shamim Rezaie bcd0bdaf51 weekly release 4.0.2+ 2022-08-12 11:52:51 +10:00
Daniel Thies 1b5c8d3be1 MDL-74873 core_message: Disable notification preferences controls 2022-08-11 12:36:33 -05:00
Noel De Martin d53fbbdd5c MDL-72178 feedback: Implement behat generators
Based on Andrew's WIP from https://github.com/andrewnicols/moodle/commit/b3d40cb20d1f0edf0bf21077c8f94bce5dec56db

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2022-08-11 10:49:41 +02:00
Anton b674666081 MDL-75065 qbank_editquestion: fix creating simple calculated question 2022-08-10 09:43:33 +03:00
Jun Pataleta cb0ab077ff Merge branch 'MDL-75375-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-08-10 00:25:55 +08:00
Brendan Heywood 4e3b6edaaf MDL-75375 cache: Fix file store path cleaning 2022-08-09 23:53:55 +08:00
Jun Pataleta 66401fdedb Merge branch 'MDL-74636_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2022-08-09 11:11:11 +08:00
Jun Pataleta a3d771cdca Merge branch 'MDL-74800-400' of https://github.com/ferranrecio/moodle into MOODLE_400_STABLE 2022-08-08 22:34:12 +08:00
Jun Pataleta a034c10238 MDL-74800 core: block actions fix suggestion 2022-08-08 14:51:28 +02:00
Jun Pataleta 1a7939778b MDL-74800 core: action menu role fix
The action menu could have a role button or menubar depending on the
number of options available.
2022-08-08 14:51:28 +02:00
Ferran Recio 68b3f1e4a7 MDL-74800 core_courseformat: fix accessibility checks 2022-08-08 14:51:23 +02:00
Ferran Recio 357960c02f MDL-74800 output: fix edit button accessibility 2022-08-08 14:49:01 +02:00
Ferran Recio 798edb457c MDL-74800 message: fix invalid aria-label attributes 2022-08-08 14:49:01 +02:00
Laurent David ce372c1185 MDL-68717 core_calendar: Hide completed event
* "expectcompletionon" type of event should be hidden if the related
activity is completed
2022-08-08 07:18:57 +02:00
Jun Pataleta 4e0aa8af6c Merge branch 'MDL-74211-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-08-08 11:14:52 +08:00
Shamiso.Jaravaza 013378277a MDL-74782 mod_bigbluebuttonbn: Fix only imported
* When Show imported links only is enabled in activity or config, only imported recordings will appear
* Logic for activity/default overrides implemented
2022-08-05 09:58:53 -06:00
Paul Holden 59ce247b72 MDL-74010 core: check defined MDL_PERF* values in conditionals. 2022-08-05 11:03:02 +01:00
Angelia Dela Cruz 9dca9da48c MDL-75063 behat: BigBlueButton behat generators use UI
Replace steps that manually add BigBlueButton instances via the UI
and use Behat generators. This improves the speed of the Behat test
runs.

Co-authored-by: Simey Lameze <simey@moodle.com>
2022-08-05 17:29:51 +08:00
Ilya Tregubov ee48012f9c Merge branch 'MDL-74475-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2022-08-05 12:26:37 +04:00
Andrew Nicols a9a1791fe7 MDL-75386 theme: Include CSS from editor subplugins in editor style
Editor stylesheets are kept separately to standard plugin stylesheets so
that they can be provided to style individual iframes where loading the
standard Moodle stylesheets would be incorrect.

Unfortunately the editor stylesheet system does not consider that
subplugins may want to add small individual styling to the editor but
this is required in some situations.
2022-08-05 14:18:42 +08:00
Angelia Dela Cruz 1f464b4045 MDL-75019 behat: Folder behat generators use UI
Replace steps that manually add Folder instances via the UI and
use Behat generators. This improves the speed of the Behat test
runs.
2022-08-05 14:06:06 +08:00
Ilya Tregubov 8eb4217a49 weekly release 4.0.2+ 2022-08-05 08:29:17 +04:00
Andrew Lyons eb1ea16009 MDL-73876 behat: Show exceptions stack trace 2022-08-04 16:51:44 +04:00
Paul Holden b9277ef5e2 MDL-75029 block_news_items: indicate posts made by deleted users. 2022-08-04 09:43:23 +01:00
Qihui Chan 57d91f1f2a MDL-70480 mod_assign: fix user and group submission and update database 2022-08-04 18:06:01 +10:00
Jun Pataleta 61421c7930 Merge branch 'MDL-74895-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-08-04 11:35:39 +08:00
Jun Pataleta 287d2a5e12 Merge branch 'MDL-69251-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-08-04 11:16:13 +08:00
Andrew Nicols ff60bfb0bf Merge branch 'MDL-56923-400' of https://github.com/rezaies/moodle into MOODLE_400_STABLE 2022-08-04 11:12:56 +08:00
Andrew Nicols 8a79df8f2a Merge branch 'MDL-74502-400' of https://github.com/marinaglancy/moodle into MOODLE_400_STABLE 2022-08-04 11:08:58 +08:00
Jake Dallimore f5342a222d Merge branch 'MDL-74766-400' of https://github.com/JBThong/moodle into MOODLE_400_STABLE 2022-08-04 10:59:37 +08:00
Andrew Nicols 1cc0b4832d Merge branch 'MDL-75080-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2022-08-04 10:44:51 +08:00
Andrew Nicols 3363d697f6 Merge branch 'MDL-74655-400' of https://github.com/NoelDeMartin/moodle into MOODLE_400_STABLE 2022-08-04 10:08:46 +08:00
Andrew Nicols b1837e6cf9 MDL-74492 editor_atto: Comment the regex change 2022-08-04 10:04:59 +08:00
Philipp Imhof 4fecc12ea1 MDL-74492 editor_atto: <line> tags should not be confused with <li> tags 2022-08-04 10:04:59 +08:00
Simey Lameze 2937e76650 MDL-74211 behat: convert few more steps to use new data generators 2022-08-04 09:47:08 +08:00
Simey Lameze b1f8463bc1 MDL-74211 behat: replace steps to use new categories page type 2022-08-04 09:47:08 +08:00
Simey Lameze 1947886e0e MDL-74211 behat: add course question categories page type 2022-08-04 09:47:08 +08:00
Simey Lameze 38d68b8f3e MDL-74211 quiz: make use of question data generators 2022-08-04 09:47:08 +08:00
Paul Holden 1a225bc908 MDL-71662 mod_h5pactivity: add group filter to attempts report. 2022-08-03 15:30:42 +01:00
Ilya Tregubov c4b3e06f8a Merge branch 'MDL-75185-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-08-03 16:27:46 +04:00
Jun Pataleta 9ff2f0d7de Merge branch 'MDL-75285-400' of https://github.com/marinaglancy/moodle into MOODLE_400_STABLE 2022-08-03 18:04:05 +08:00
Jun Pataleta e9ae523134 Merge branch 'MDL-74740-400-1' of https://github.com/mihailges/moodle into MOODLE_400_STABLE 2022-08-03 17:03:50 +08:00
Jun Pataleta 16c5a3a0dd Merge branch 'MDL-62959-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-08-03 16:52:04 +08:00
Noel De Martin 8dae0dec69 MDL-74655 competency: Implement behat generators 2022-08-03 10:48:36 +02:00
Amaia Anabitarte e839fe812d MDL-74475 core_badges: Behat test using new step 2022-08-03 10:36:08 +02:00
Amaia Anabitarte f164065979 MDL-74475 behat: Option to jump to course edit page 2022-08-03 10:36:08 +02:00
Andrew Nicols 58dd489eae Merge branch 'MDL-72430-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-08-03 12:49:35 +08:00
Paul Holden ba1c2e8d86 MDL-75360 user: relax initial parameter types of external method.
Defer cleaning of supplied text to inside the method, so we don't
throw confusing exceptions if a user enters "unsafe" characters in
the form input.
2022-08-02 21:04:34 +01:00
Jun Pataleta 05875057c6 Merge branch 'MDL-75205-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-08-02 23:18:21 +08:00
Paul Holden 8ee995dfad MDL-75205 reportbuilder: include report parameters on filters reset.
When resetting report filters, we need to include the original report
parameters in the external method call to ensure all those that are
required during validation are present (e.g. when determining if user
can view the current system report).
2022-08-02 12:43:55 +01:00
Jun Pataleta f313b73822 Merge branch 'MDL-74947-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-08-02 10:00:44 +08:00
Marina Glancy 492bac151d MDL-75285 core_reportbuilder: allow left joins on category entity 2022-07-29 12:48:20 +02:00
Tim Hunt 241b6628f5 MDL-74636 behat: step to skip this scenario if a plugin isn't installed 2022-07-29 09:49:09 +01:00
Jun Pataleta 5f68f288a0 Merge branch 'MDL-75244-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-07-29 15:29:50 +08:00
Andrew Nicols 1c47240630 Merge branch 'MDL-72349_M400_update_strip_double_headers_function' of https://github.com/christina-roperto/moodle into MOODLE_400_STABLE 2022-07-29 12:11:56 +08:00
Jun Pataleta a866652ea4 weekly release 4.0.2+ 2022-07-29 10:56:42 +08:00
Angelia Dela Cruz 80b9cafca8 MDL-75080 behat: Chat behat generators use UI
Replace steps that manually add Chat instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2022-07-29 10:25:54 +08:00
Andrew Nicols b81c83e461 MDL-75244 form: Change checker should check existence of tinyMCE API
The window.tinyMCE.editors API was present in version 3 of TinyMCE, but
is not present in later versions. As a result, this check tries to loop
over a variable which does not exist and throws an error in the process.

We should check that window.tinyMCE *and* window.tinyMCE.editors both
exist before attempting to loop over them.
2022-07-28 16:09:21 +08:00
Carlos Castillo 8eee29fb93 MDL-75311 reportbuilder: Fix error when send report schedule 2022-07-27 08:52:44 -05:00
Jun Pataleta b360784c5b Merge branch 'MDL-74964-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-07-27 17:12:56 +08:00
Jun Pataleta 306a4e04aa Merge branch 'MDL-74656-400-fix' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-07-27 16:37:38 +08:00
Simey Lameze 092213c80d MDL-62959 calendar: add behat to test event type changing 2022-07-27 15:45:11 +08:00
Paul Holden 321a8cb0ca MDL-74656 reportbuilder: cast fields to char on mssql during concat. 2022-07-27 08:22:10 +01:00
Jun Pataleta 0f62627d13 Merge branch 'MDL-74808-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-07-27 13:22:03 +08:00
Simey Lameze 319a50649e MDL-62959 calendar: fix event data mapping for group id 2022-07-27 11:46:14 +08:00
Marina Glancy 5715b74d3a MDL-74964 core_enrol: enrolment page UI fixes 2022-07-27 08:18:10 +08:00
Paul Holden c83345aa11 MDL-75312 question: predictable ordering of available questions.
This solves sporadic test failure that tried to assert their order.
2022-07-26 17:12:51 +01:00
Jun Pataleta 9d03236862 Merge branch 'MDL-74656-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-07-26 20:03:17 +08:00
Huong Nguyen 1b40599fbf MDL-72430 Calendar: Fix admin cannot edit course event 2022-07-26 11:49:26 +07:00
Andrew Nicols 7cd2e70ec9 Merge branch 'MDL-73788-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2022-07-26 11:38:21 +08:00
Jun Pataleta 15d70438bc Merge branch 'MDL-74057-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2022-07-26 11:02:17 +08:00
Paul Holden eb5cce9b4e MDL-74895 h5p: more resilient error handling during content fetching.
On new installs, the task for downloading new H5P content types would
throw exceptions and exit when encountering unexpected and/or missing
data.
2022-07-25 20:05:38 +01:00
Ilya Tregubov c096179b1c Merge branch 'MDL-75083-MOODLE_400_STABLE' of https://github.com/rzhtwberlin/moodle into MOODLE_400_STABLE 2022-07-25 14:56:08 +04:00
Angelia Dela Cruz 1a6985d6e2 MDL-74057 behat: SCORM behat generators use UI
Replace steps that manually add SCORM instances via the UI and use
Behat generators. This improves the speed of Behat test runs.
2022-07-25 18:33:18 +08:00
Jake Dallimore ed09a5ace4 MDL-74901 core_navigation: support callbacks in frontpage secondary nav
Fixes the site home secondary nav, so that nodes added by plugins
implementing the PLUGIN_extend_navigation_frontpage callback can be
displayed for users who don't have the 'course:update' capability.
This change comprises:
- Removed course:update capability checks from site home (index.php)
and from the secondary nav view. This isn't needed since the nav is
capability aware.
- Fixed the initialisation of the secondary nav for the frontpage
course, removing erroneous duplicate 'home' nodes. The nav is now only
shown if there are nodes to display.
2022-07-25 15:06:54 +08:00
Thong Bui abb6bc93a6 MDL-74766 html_editor: Fix form is submitted as an empty string 2022-07-22 10:14:05 +07:00
Ilya Tregubov 2ccd0743fb weekly release 4.0.2+ 2022-07-21 21:29:51 +04:00
Ilya Tregubov 80f90252b9 NOBUG: Fixed SVG browser compatibility 2022-07-21 21:29:49 +04:00
Ilya Tregubov b5d567068c Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-07-21 21:29:49 +04:00
Jun Pataleta bfcaab9a0f Merge branch 'MDL-75181-400' of https://github.com/call-learning/moodle into MOODLE_400_STABLE 2022-07-21 11:59:31 +08:00
Jun Pataleta 350d1df507 Merge branch 'MDL-75208_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-07-21 11:27:01 +08:00
Víctor Déniz 0de2f98aaa Merge branch 'MDL-73332-400' of https://github.com/martygilbert/moodle into MOODLE_400_STABLE 2022-07-20 19:55:51 +01:00
Laurent David e658f9f04a MDL-75181 mod_bigbluebuttonbn: Fix activity completion exception
* Fix exception raised in core completion module due to the absence of
completionview in get_sort_order
2022-07-20 13:55:51 -04:00
Jun Pataleta 017833a2ab Merge branch 'MDL-75182-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-07-19 22:47:00 +08:00
Christina Thee Roperto 8c9179174d MDL-72349 filelib: update strip_double_headers function 2022-07-19 19:18:35 +10:00
Eloy Lafuente (stronk7) 8cb6079b4f MDL-75208 oracle: Amend a couple of queries to make Oracle happy
The changes introduced here are completely safe, just we stop
binding SITEID and, instead, embed it in the SQL.

Why? Because Oracle 21 has started to return non-sense results
when SITEID is bound.

After lots of tests, attempts, debugging... we have been unable
to find any logic to the need of this change and also, have been
unable to reproduce the problem with a standalone script that
pretty much runs the same queries that the ones changed here.

I'm sure that there is something, somewhere, but have failed
to find it, grrr.

Please read MDL-75208 and linked issues to find more information
about this problem, that is one of the biggest mysteries I've
seen recently. Maybe at the end there is a tiny detail that
explains it all, but it's really well hidden.
2022-07-19 09:52:31 +02:00
Paul Holden 39d606ec27 MDL-74656 reportbuilder: ensure nulls preserved in column callbacks.
When concatenating column fields in order to perform aggregation on
them (e.g. group concatenation), we need to preserve all null values
in the data passed to each column callback.

Co-authored-by: Carlos Castillo <carlos.castillo@moodle.com>
2022-07-19 08:42:30 +01:00
Ilya Tregubov d6cf61731e Merge branch 'MDL-68843-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-07-18 14:16:26 +04:00
Angelia Dela Cruz 9294b6a37f MDL-73788 behat: URL behat generators use UI
Replace steps that manually add URL instances via the UI and use
Behat generators. This improves the speed of Behat test runs.
2022-07-18 17:58:14 +08:00
Jun Pataleta 4525bada77 Merge branch 'MDL-74925-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-07-18 16:25:43 +08:00
Jake Dallimore 993cc8ff8a MDL-68843 enrol_lti: add tests covering disabled instances in tasks
Verify the expected behaviour of the sync_members and sync_grades tasks
when enrolment instances are disabled, whether as a byproduct of module
deletion, or as status change made by the user.
2022-07-18 16:25:30 +08:00
Jake Dallimore 5ac9ff15a0 MDL-68843 enrol_lti: auto disable orphaned enrolment instances
- pre_course_module_deletion hook to disable on mod delete
- upgrade step dealing with legacy orphaned records
2022-07-18 16:25:30 +08:00
Jake Dallimore 15eec33f91 MDL-68843 enrol_lti: add deleted activity warning to published tools
Adds a warning to the 'name' column of the tables, letting teachers know
that the activity exposed by the method has been deleted and what their
options are.
2022-07-18 16:25:30 +08:00
Simey Lameze 437db87b3e MDL-74925 course: use the correct 'remove' action 2022-07-18 14:50:43 +08:00
Simey Lameze 73d5d4d51f MDL-74925 phpunit: add missing course/format test suite 2022-07-18 14:50:43 +08:00
Jun Pataleta 7d36cf9b34 Merge branch 'MDL-74768-bulkmove-question-after-affects' of https://github.com/catalyst/moodle-MDL-72752 into MOODLE_400_STABLE 2022-07-18 13:49:58 +08:00
Shamim Rezaie 0483366b23 Merge branch 'MDL-74826-400' of https://github.com/rmady/moodle into MOODLE_400_STABLE 2022-07-18 12:19:42 +10:00
AMOS bot f374651109 Automatically generated installer lang files 2022-07-16 00:08:07 +00:00
Denis Brat fef4736613 MDL-69251 enrol_lti: fix sync_members task inconsistent internal state 2022-07-15 12:20:34 +08:00
Marty 4a27fe0a25 MDL-73332 mustache: Fix shortentext helper
In the docs, it claims you can provide length to
the shortentext template helper as a context variable.
In reality, that is not the case.
2022-07-14 09:36:13 -04:00
Víctor Déniz c1910fc822 weekly release 4.0.2+ 2022-07-14 12:06:06 +01:00
Víctor Déniz daf6a7c39e Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-07-14 12:06:03 +01:00
Safat Shahin fd82af2f5e MDL-74768 core_question: Fix for question category movement 2022-07-14 11:12:19 +10:00
Víctor Déniz 0fa050c328 Merge branch 'MDL-74671-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-07-14 01:46:25 +01:00
Víctor Déniz 890828d9b4 Merge branch 'MDL-74681-written_time_in_query_end_400' of https://github.com/catalyst/moodle into MOODLE_400_STABLE 2022-07-12 11:54:20 +01:00
Srdjan ffbea7e4fc MDL-74681 lib/dml: moodle_read_slave_trait: written table timestamping
Moved written table timestamping from query_start() to query_end():
We are adjusting table last written times at the end of transaction.
That does not apply to immediate database writes that are not performed
within transaction. This change is to set last written time after the query
has finished for such writes, rather than before it started. That way
long write operations cannot spill over the latency parameter.
2022-07-12 14:42:15 +10:00
Jun Pataleta de0773cb42 Merge branch 'MDL-74595-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-07-12 11:44:08 +08:00
Jun Pataleta b5fc4139c8 Merge branch 'MDL-71747_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-07-12 10:50:34 +08:00
AMOS bot 1dab36ae65 Automatically generated installer lang files 2022-07-12 00:08:03 +00:00
Jun Pataleta 60af848bb3 Merge branch 'MDL-74282-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-07-11 20:35:31 +08:00
Jun Pataleta cf7274f36e Merge branch 'MDL-73215-undef-plagiarismlinks-400' of https://github.com/leonstr/moodle into MOODLE_400_STABLE 2022-07-11 17:02:02 +08:00
Jun Pataleta 0476854339 Merge branch 'MDL-74784-400' of https://github.com/sarjona/moodle into MOODLE_400_STABLE 2022-07-11 16:53:58 +08:00
Jake Dallimore 25a9d276e1 MDL-74947 mod_lti: remove text validation from password field
This is a password field so should not be cleaned.
2022-07-11 13:38:52 +08:00
Johannes Burk cb5943094d MDL-75083 login: prevent double submission
Apply core_form/submit JavaScript code to prevent double submission of login form and guest login button.
Add ID to guest login button to make it addressable.
2022-07-08 16:28:46 +02:00
Paul Holden af0e9fd216 MDL-74282 grade: omit outcomes report if outcomes aren't enabled. 2022-07-08 10:43:34 +01:00
Paul Holden fdca502808 MDL-75185 reportbuilder: order report source listing alphabetically. 2022-07-08 10:07:18 +01:00
Simey Lameze 6f9a0826d7 MDL-74808 lib: replace type summary span by a div 2022-07-08 14:38:04 +08:00
Simey Lameze 8dc41648e3 MDL-74808 question: remove span element from label 2022-07-08 14:38:04 +08:00
Simey Lameze f62ae260f4 MDL-74808 question: only add title attr if tooltip is set 2022-07-08 14:38:04 +08:00
Simey Lameze fe7c20d157 MDL-74808 question: use the correct attr for checked checkboxes 2022-07-08 14:38:04 +08:00
Jake Dallimore d069cb9337 Moodle release 4.0.2 2022-07-08 11:28:34 +08:00
Jake Dallimore 30533452cf MDL-75182 enrol_lti: remove installed lang assumptions from unit tests
Don't assume 'fr' isn't installed, or that 'en' is. Use known
non-existent languages and known installed languages for the relevant
test cases.
2022-07-08 10:11:27 +08:00
Eloy Lafuente (stronk7) ee2e8890f8 MDL-71747 environment: Ensure that check_xmlrpc_usage is in >=39
This is a partial backport of MDL-73270 to ensure that the
check_xmlrpc_usage custom check is present in all the supported
branches and it's applied to all branches able to run php80:

- MOODLE_311_STABLE
- MOODLE_400_STABLE
- master (aka, 4.1 and up)

Note that the whole patch has not been backported, only the
environmental check (xml file and check implementation).
2022-07-07 23:45:39 +02:00
Eloy Lafuente (stronk7) 140f43198d MDL-71747 environment: Apply agreed changes
- PHP 7.4 required.
- Moodle 3.9 required.
- MariaDB 10.4 required.
- PostgreSQL 12 required.
- Oracle 19c required.
2022-07-07 19:19:49 +02:00
Eloy Lafuente (stronk7) ef8eeba26c MDL-71747 environment: 4.1 base information
This is a direct copy of the 4.0 information, to
have the changes under control in the next commit.
2022-07-07 19:19:49 +02:00
Jun Pataleta 93b132bbd1 weekly release 4.0.1+ 2022-07-07 21:33:04 +08:00
Jun Pataleta 27b19d4daa Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-07-07 21:33:03 +08:00
Shamim Rezaie 31ad2a3e0e MDL-56923 gradingform_guide: Fix icon positioning in RTL 2022-07-07 16:03:22 +10:00
Jun Pataleta 4d5fab8cf2 Merge branch 'MDL-75058-400' of https://github.com/jleyva/moodle into MOODLE_400_STABLE 2022-07-07 12:07:41 +08:00
Jake Dallimore d4af150760 Merge branch 'MDL-69400-400' of https://github.com/abgreeve/moodle into MOODLE_400_STABLE 2022-07-07 11:48:49 +08:00
Jun Pataleta 0ba63f8913 Merge branch 'MDL-74885-400' of https://github.com/dravek/moodle into MOODLE_400_STABLE 2022-07-07 11:01:31 +08:00
Jun Pataleta 4969af736f Merge branch 'MDL-75028-400' of https://github.com/rezaies/moodle into MOODLE_400_STABLE 2022-07-07 10:59:03 +08:00
Jun Pataleta 839740a522 Merge branch 'MDL-75116_400' of https://github.com/aolley/moodle into MOODLE_400_STABLE 2022-07-07 10:47:38 +08:00
Víctor Déniz ac87f038e2 Merge branch 'MDL-74981-400' of https://github.com/stevandoMoodle/moodle into MOODLE_400_STABLE 2022-07-07 00:50:07 +01:00
Víctor Déniz 0a6c734fab Merge branch 'MDL-74835-M400_update-nodejs-version-in-travis-integration-to-lts-gallium' of https://github.com/ziegenberg/moodle into MOODLE_400_STABLE 2022-07-06 12:17:36 +01:00
Jun Pataleta 62f71f1c81 Merge branch 'MDL-74741-400' of https://github.com/rezaies/moodle into MOODLE_400_STABLE 2022-07-06 16:45:59 +08:00
stevando 2cc78b27de MDL-72171 tool_mobile: Ensure auto login URL is always local 2022-07-06 14:27:10 +08:00
David Matamoros cca619f966 MDL-74885 reportbuilder: format value using percents from lang pack 2022-07-06 08:25:10 +02:00
Adrian Greeve 1bd32a28e8 MDL-69400 mod_forum: Added calender event refreshing. 2022-07-06 12:37:56 +08:00
Mihail Geshoski 7be2023401 MDL-71921 scorm: Sanitize element names before outputting track details 2022-07-06 05:25:29 +02:00
Alex Morris 0397ea7e59 MDL-75044 assignfeedback_editpdf: Add SAFER option to GS command
Adds the SAFER option to the Ghostscript command to limit interaction
with IO and OS commands
2022-07-06 05:25:29 +02:00
Huong Nguyen f38397544a MDL-72029 Lesson: Prevent arbitrary file read when importing lesson questions in blackboard format 2022-07-06 05:25:29 +02:00
Huong Nguyen a212b1ec3e MDL-72029 lib: Prevent path traversal for clean_param with PARAM_SAFEPATH 2022-07-06 05:25:29 +02:00
Laurent David 945e79573f MDL-74473 core_analytics: Upgrade ML Backend to 3.0.5 2022-07-06 05:25:29 +02:00
Jake Dallimore b327defe5d MDL-72299 mod_lti: fix html escaping when reposting cross site posts 2022-07-06 05:25:29 +02:00
Andrew Nicols 2f0c3f4f7d Merge branch 'MDL-73305_MOODLE_400_STABLE' of https://github.com/tasosb/moodle into MOODLE_400_STABLE 2022-07-06 11:16:10 +08:00
Andrew Nicols 7ff7ca5c6e Merge branch 'MDL-74408-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-07-06 11:02:41 +08:00
Andrew Nicols a5f36b8de2 Merge branch 'MDL-74972-400' of https://github.com/marinaglancy/moodle into MOODLE_400_STABLE 2022-07-06 10:58:16 +08:00
Jun Pataleta f99c21b543 Merge branch 'MDL-74813-400' of https://github.com/mihailges/moodle into MOODLE_400_STABLE 2022-07-06 10:53:34 +08:00
Mihail Geshoski 004ceed0c1 MDL-74813 filepicker: Replace the dnd gif animation with a static icon 2022-07-06 10:24:37 +08:00
Jun Pataleta 10b6240719 Merge branch 'MDL-74821-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-07-05 22:13:49 +08:00
Laurent David e475728710 MDL-74821 mod_feedback: Fix HTML validator error
* Remove align attribute on table elements
* Fix dangling tr/td on multichoice rated
* Remove colspan as it is not used
2022-07-05 21:46:53 +08:00
Jun Pataleta 634115240a Merge branch 'MDL-74505-400' of https://github.com/JBThong/moodle into MOODLE_400_STABLE 2022-07-05 21:15:28 +08:00
Jake Dallimore 5040b9b579 Merge branch 'MDL-74815-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-07-05 14:53:01 +08:00
Thong Bui 3d2ad7d76a MDL-74505 Question bank: Improve behat steps 2022-07-05 13:26:09 +07:00
Thong Bui 0b31712cf4 MDL-74505 Question bank: Update validation editing question form. 2022-07-05 13:26:08 +07:00
Jake Dallimore 573ee63a0e Merge branch '400_mdl-73498' of https://github.com/daniil-berg/moodle into MOODLE_400_STABLE 2022-07-05 12:01:04 +08:00
AMOS bot 580dfbaeaa Automatically generated installer lang files 2022-07-05 00:08:23 +00:00
Adam Olley e088975109 MDL-75116 mod_feedback: Check array values exist before using them
Without this, the @list will emit a PHP warning under php8.0+ when the array
doesn't have a second element to assign.
2022-07-05 09:17:47 +09:30
Jun Pataleta 63fa452f51 Merge branch 'MDL-74516_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-07-04 23:17:32 +08:00
Jun Pataleta 09e0ba70ec Merge branch 'MDL-75008-400-enfix' of https://github.com/mudrd8mz/moodle into MOODLE_400_STABLE 2022-07-04 22:18:29 +08:00
Jun Pataleta 56ae87b4d2 MDL-74815 pix: Convert PNG version of darkened SVG icons
* Conversion was done using rsvg-convert from librsvg
2022-07-04 14:04:01 +08:00
Jun Pataleta 4572bf9827 MDL-74815 pix: Darken colour of grey icons
* Change the fill colour of grey icons from #999 to #888.
2022-07-04 14:04:01 +08:00
sam marshall 3c82c11f72 MDL-75108 block_html: Search tries to index directory entries
Search attach_files function should only attach indexable files,
not directory entries which are 0 bytes and cannot be indexed.
2022-07-01 14:09:51 +01:00
Eloy Lafuente (stronk7) 41f365d633 MDL-74516 workshop: Better handling of floats for gradepass fields
This re-applies the same fix that was used for the central mod form
to the workshop activity. This is needed because the completion
support for this module is custom (there are 2 grade items), hence
the validations are also custom.

For more information, read the previous commit and MDL-74516

Unfortunately, because of a related bug with assessment completion
(see MDL-69690) we cannot provide automated testing for this
activity. Manual instructions will be provided instead.
2022-07-01 13:55:53 +02:00
Eloy Lafuente (stronk7) feeac598b1 MDL-74516 activities: Better handling of floats for gradepass fields
Current code was relying on grade_floatval() that is not a validation
function. Instead, the gradepass field must be defined as proper float
and then perform the needed validations using unformat_float().

Note that the float element form has some particularities, see
MDL-73994 for more information and that makes us to have to check
for some values (null, zero) manually. Once that form element type
gets its behaviour fixed, the code will need to be revisited, hence
we have annotated it as comments for easier finding it in the future
(the same changes already were applied to other gradebook forms).

Also, remove an unreachable line of code (comparing with empty string)
within the grade_floatval() function because it's not possible anymore
to pass any string to it, as far as it's "?float" typed.

Covered as many cases with quiz completion as have been able to imagine.
2022-07-01 13:55:53 +02:00
Víctor Déniz bab7bdc53e weekly release 4.0.1+ 2022-07-01 11:28:41 +01:00
Marina Glancy 3c3090b6f9 MDL-74502 behat: when setting a field value it may not be visible
for example in case of editor field, the textarea element is hidden by wysiwyg widget but we still need to be able to set it
2022-07-01 10:31:21 +02:00
Andrew Nicols de95714ae0 Merge branch 'MDL-74841-400-fix' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2022-07-01 11:57:36 +08:00
Angelia Dela Cruz da07dbda3f MDL-74841 behat: Label behat generators use UI
Replace steps that manually add Label instances via the UI and use
Behat generators. This improves the speed of Behat test runs. Fix
for failing test.
2022-07-01 10:43:48 +08:00
David Mudrák 54c4cf6ac1 MDL-75008 lang: Use the fixed strings in Behat scenario files 2022-06-30 20:54:50 +02:00
Helen Foster 1e7d038247 MDL-75008 lang: Import fixed English strings (en_fix) 2022-06-30 20:54:50 +02:00
Mihail Geshoski 1a1684a6fc MDL-74740 boost: Display the skip links from the blocks drawer
Due to fixed positioning of the block drawer and the navbar, the
z-index css property on the skip link elements from the drawer
is not respected. This ultimately results in the skip links being
stacked behind the navbar. As a workaround, an absolute positioning
will be temporary applied to the block drawer once the current
focus is on an element within the drawer which will stack the
skip links infront of the navbar.
2022-07-01 01:22:45 +08:00
Shamim Rezaie 63c3c3f76e Merge branch 'MDL-74812-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-06-30 13:34:35 +10:00
Jun Pataleta 57d86b6a69 Merge branch 'MDL-75048-400' of https://github.com/jleyva/moodle into MOODLE_400_STABLE 2022-06-30 11:30:22 +08:00
Shamim Rezaie c47a4021df Merge branch 'MDL-75055-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-06-30 13:20:19 +10:00
Andrew Nicols 1294e283ad Merge branch 'MDL-75084-400' of https://github.com/NoelDeMartin/moodle into MOODLE_400_STABLE 2022-06-30 11:13:06 +08:00
Andrew Nicols 787fee79c8 Merge branch 'MDL-74613-400' of https://github.com/NoelDeMartin/moodle into MOODLE_400_STABLE 2022-06-30 11:04:35 +08:00
Andrew Nicols 64fa2930e5 Merge branch 'MDL-74220-400' of https://github.com/NoelDeMartin/moodle into MOODLE_400_STABLE 2022-06-30 10:59:32 +08:00
Andrew Nicols 60a5ecfe46 Merge branch 'MDL-74744-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2022-06-30 10:54:11 +08:00
Andrew Nicols b59920cce3 Merge branch 'MDL-74522-400' of https://github.com/devlionco/moodle into MOODLE_400_STABLE 2022-06-30 10:47:57 +08:00
Andrew Nicols db9a86ff42 Merge branch 'MDL-74841-400' of https://github.com/andelacruz/moodle into MOODLE_400_STABLE 2022-06-30 10:44:26 +08:00
Andrew Nicols 5463c97506 Merge branch 'MDL-72292-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-06-30 10:40:22 +08:00
Andrew Nicols 4fd50e8cd9 MDL-74379 core: Update date_format_string to use x-os functions 2022-06-30 10:35:41 +08:00
Andrew Nicols fe88f321a2 Merge branch 'MDL-74379_400' of https://github.com/aya-saad1/moodle into MOODLE_400_STABLE 2022-06-30 10:35:38 +08:00
Andrew Nicols 6f78835258 Merge branch 'MDL-74287-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-30 10:02:11 +08:00
Víctor Déniz 191c8452d3 Merge branch 'MDL-72885-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-06-29 18:23:00 +01:00
Jun Pataleta 2e1636bb52 Merge branch 'MDL74387_MOODLE_400_STABLE' of https://github.com/Amrita1991/moodle into MOODLE_400_STABLE 2022-06-29 23:20:49 +08:00
Jun Pataleta ebb328750a MDL-75055 templates: Apply .alert-dismissible class
- Apply the .alert-dismissible class for notification alerts with
close button to fix its positioning. As an added bonus, the
.alert-dismissible class also enlarges the clickable area of the
close button which is great for accessibility.
- Improve example context for the notification alerts templates.
2022-06-29 22:07:11 +08:00
Jun Pataleta 5523816c38 MDL-75055 theme_boost: Darken close button colour in notification alerts
This is in order for the close button to have a good contrast against
the alert background and meet the minimum Level AA contrast ratio of 3:1
2022-06-29 22:07:11 +08:00
Ilya Tregubov e3fe0299a1 Merge branch 'MDL-74548-400' of https://github.com/cameron1729/moodle into MOODLE_400_STABLE 2022-06-29 16:17:07 +04:00
Jun Pataleta ab2a97b33d Merge branch 'MDL-74632-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-06-29 18:06:50 +08:00
Anastasios Bithas 1bb9eb8467 MDL-73305 mod_folder: Download Folder in a mlang formated folder 2022-06-29 12:49:23 +03:00
Jun Pataleta 42a0b73dc1 Merge branch 'MDL-74886-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-06-29 17:47:02 +08:00
Jake Dallimore ced2e3aca6 Merge branch 'MDL-74674-400' of https://github.com/alfonso-salces/moodle into MOODLE_400_STABLE 2022-06-29 16:44:47 +08:00
Víctor Déniz 805bb41d5b Merge branch 'MDL-74742-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-06-29 09:32:51 +01:00
Alfonso Salces 50a2df69c3 MDL-74674 core: create notification generators 2022-06-29 10:31:24 +02:00
Noel De Martin 066459d375 MDL-75084 blog: Implement behat generators 2022-06-29 09:39:58 +02:00
Jake Dallimore 0551129c39 Merge branch 'MDL-74864-400' of https://github.com/dpalou/moodle into MOODLE_400_STABLE 2022-06-29 13:40:54 +08:00
Cameron Ball 59b6d343bf MDL-74548 backup: Deprecate get/set copy from base controller 2022-06-29 09:41:12 +08:00
Cameron Ball 2f22088b38 MDL-74548 backup: Deprecate core_backup\copy\copy 2022-06-29 09:41:12 +08:00
Cameron Ball 8516a494b6 MDL-74548 backup: Unit tests for course copy refactor 2022-06-29 09:35:58 +08:00
Cameron Ball 53dd76348c MDL-74548 backup: Refactor course copies
This patch modifies the way copy data is shared in order to mitigate potential race conditions
and ensure that the serialised controller stored in the DB is always in a valid state.

The restore controller is now considered the "source of truth" for all information about the
copy operation. Backup controllers can no longer contain information about course copies.

As copy creation is not atomic, it is still possible for copy controllers to become orphaned or
exist in an invalid state. To mitigate this the backup cleanup task has been modified to call
a new helper method copy_helper::cleanup_orphaned_copy_controllers.

Summary of changes in this patch:

    - Copy data must now be passed through the restore controller's constructor
    - base_controller::get_copy has been deprecated in favour of restore_controller::get_copy
    - base_controller::set_copy has been deprecated without replacement
    - core_backup\copy\copy has been deprecated, use copy_helper.class.php's copy_helper instead
    - backup_cleanup_task will now clean up orphaned controllers from copy operations that went awry

Thanks to Peter Burnett for assiting with testing this patch.
2022-06-29 09:35:58 +08:00
Jun Pataleta def51280c2 Merge branch 'MDL-74701-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-06-28 23:52:55 +08:00
Jun Pataleta 230e8d8485 Merge branch 'MDL-74906-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-06-28 23:33:13 +08:00
Shamim Rezaie 91b88a51a5 Merge branch 'MDL-73121-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-28 16:08:56 +10:00
Dani Palou cdcfa083ff MDL-74864 forum: Allow specifying group in discussions generator 2022-06-28 07:00:05 +02:00
Jun Pataleta 8a5e4412d9 Merge branch 'MDL-68867-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-06-28 11:24:04 +08:00
Jun Pataleta deae2cf2fd Merge branch 'MDL-74929-400' of https://github.com/bmbrands/moodle into MOODLE_400_STABLE 2022-06-28 11:07:39 +08:00
Jun Pataleta 5666c34237 Merge branch 'MDL-74781_400' of https://github.com/aya-saad1/moodle into MOODLE_400_STABLE 2022-06-28 10:44:59 +08:00
Juan Leyva 4535493590 MDL-75058 course: Fix support for dates on WebServices 2022-06-27 19:58:30 +02:00
Paul Holden c4ed6da1c5 MDL-74671 phpunit: remove file/directory coverage duplicates. 2022-06-27 10:16:22 +01:00
Ilya Tregubov 991056f698 Merge branch 'MDL-74691-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-06-27 08:30:49 +04:00
Aya Saad 937eab02f6 MDL-74781 search: Fix heading repetition in global search page 2022-06-26 10:37:59 +02:00
Aya Saad e6441d7fdb MDL-74379 language: injecting am/pm in date string
patching the date_format_string() function in moodlelib to add am/pm for languages that don't suuport it.
2022-06-26 10:36:29 +02:00
Paul Holden a12fbfae35 MDL-74595 calendar: consistent breadcrumbs navigating site calendar.
Take #3, see also 7a529cc8 and 81b0d053.
2022-06-24 10:14:56 +01:00
Shamim Rezaie 0074e485cd MDL-74741 javascript: Set the role of d&d links to button 2022-06-24 14:24:58 +10:00
Shamim Rezaie aa168505a9 MDL-74741 javascript: A11y fix for dialogues visible from beginning 2022-06-24 14:24:58 +10:00
Jun Pataleta bbff432ffa weekly release 4.0.1+ 2022-06-24 11:59:05 +08:00
Jun Pataleta 9c81a8e93f Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-06-24 11:59:04 +08:00
stevando 6dfe557c7e MDL-74981 mod_quiz: set limited width on overrides pages 2022-06-24 11:46:16 +08:00
stevando cb53c504d3 MDL-74981 mod_assign: set limited width on overrides pages 2022-06-24 11:46:16 +08:00
Juan Leyva 41445fa1bf MDL-75048 mod_quiz: Use new way to check if subcats are included 2022-06-23 10:02:33 +02:00
Jun Pataleta 0be775af96 Merge branch 'MDL-69939-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-23 09:53:37 +08:00
Jun Pataleta 979fd06b47 Merge branch 'MDL-74713-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-23 09:51:40 +08:00
Jun Pataleta 0198546f6e Merge branch 'MDL-73156-M400' of https://github.com/michael-milette/moodle into MOODLE_400_STABLE 2022-06-23 09:50:29 +08:00
Simey Lameze 12fc4c5e7a MDL-68867 calendar: remove dependency on USER->groupmember hack 2022-06-22 07:57:15 +08:00
Jun Pataleta 5b993c63c7 Merge branch 'MDL-73212_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-06-21 23:53:29 +08:00
Shamim Rezaie 5673f75524 MDL-75028 theme_boost: fix the inline edit tooltip for RTL 2022-06-22 01:18:59 +10:00
Eloy Lafuente (stronk7) efa7b639d0 MDL-73212 gha: Allow parameters to be passed via secret
We are disabling the -v (verbose) option, used by default. Still,
now we support a secret (that can be added to everyone's repository)
to accept any PHPUnit's command line options and run the tests with
them.

Some examples:

phpunit_options = -v (to keep the verbose option enabled)
phpunit_options = --testdox (to print information about every test...)

... (basically anything supported by the CLI)

Also, we are raising here the environment from Ubuntu 18.04 to 20.04

(self tested by GHA, heh)
2022-06-21 16:52:03 +02:00
Rodrigo Mady da Silva 948616f4a0 MDL-74826 tool_mobile: Add reportbuilder option in disabledfeatures 2022-06-21 11:29:50 -03:00
Jun Pataleta 221b7618a1 MDL-74812 gradingform_rubric: Add radiogroup role properly
Do not add the radiogroup role to the rubric criterion when the rubric
table is being displayed on edit or preview modes.
2022-06-21 12:28:18 +08:00
Jun Pataleta 5ceafdc943 MDL-74812 gradingform_rubric: Fix text overlap in rubric levels 2022-06-21 12:28:18 +08:00
Jun Pataleta 40e58f8e3a MDL-74812 gradingform_rubric: Do not use deprecated width attribute
Use inline CSS style to define level width instead.
2022-06-21 12:28:18 +08:00
Jun Pataleta 2b84963424 MDL-74812 mod_assign: Remove duplicate ID intro 2022-06-21 12:28:18 +08:00
Jun Pataleta f35f522991 MDL-74812 gradingform_rubric: Fix contrast issues in rubric table
* Darken the score value using the green theme colour
* Use a light green theme colour for selection backgrounds
* Unify rubric styles related to background and text colour within the
  criteria.
2022-06-21 12:28:18 +08:00
Jun Pataleta bd26046264 Merge branch 'MDL-74630-400' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2022-06-21 10:12:11 +08:00
AMOS bot e2de61b74b Automatically generated installer lang files 2022-06-21 00:09:42 +00:00
Jun Pataleta c2996f9301 Merge branch 'MDL-74715-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-20 21:57:28 +08:00
Daniil Fajnberg 9f26a1a312 MDL-73498 mod_lti: iframe allowed domain fixed 2022-06-20 15:52:29 +02:00
Paul Holden 2e7ca2f071 MDL-74715 reportbuilder: switch event for adding filters/conditions.
Switch the select element event listener to that provided by custom
events helper, for adding report filters and conditions. This improves
cross-platform support.
2022-06-20 09:09:06 +01:00
Jun Pataleta 4cd34267b6 Merge branch 'MDL-74358_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-06-20 14:36:05 +08:00
Ilya Tregubov f02b730069 Merge branch 'MDL-74694-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-17 15:07:48 +04:00
Paul Holden ceb4b0e0b4 MDL-69939 webservice: correct AJAX bool value in services definition. 2022-06-17 11:03:40 +01:00
Eloy Lafuente (stronk7) feb621d4de MDL-74358 availability: Avoid php8 problem with array_values(null) 2022-06-17 11:09:48 +02:00
Ilya Tregubov 490929b3ba Merge branch 'MDL-74296-400' of https://github.com/call-learning/moodle into MOODLE_400_STABLE 2022-06-17 12:55:02 +04:00
Angelia Dela Cruz d324358906 MDL-74861 behat: H5Pactivity behat generators use UI
Replace steps that manually add H5Pactivity instances via the UI
and use Behat generators. This improves the speed of the Behat test
runs.
2022-06-17 16:28:09 +08:00
Angelia Dela Cruz f8c9d93455 MDL-74861 behat: H5P behat generators use UI
Fixed H5P file upload error by adding root directory to detect
the file path and upload package file successfully.
2022-06-17 16:27:38 +08:00
Jun Pataleta 14d4bfdd2a weekly release 4.0.1+ 2022-06-17 15:30:30 +08:00
Eloy Lafuente (stronk7) 837e0cdce3 Merge branch 'MDL-72324-400-fix' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-06-17 08:38:45 +02:00
Jun Pataleta 211419a9c6 MDL-72324 core: Add upgrade.txt note about $plugin->incompatible 2022-06-17 10:37:59 +08:00
Jun Pataleta 92a2ccff5e Merge branch 'MDL-74529-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-17 10:19:12 +08:00
Jun Pataleta dce7206e8a Merge branch 'MDL-74533-400' of https://github.com/BruceGoodGuy/moodle into MOODLE_400_STABLE 2022-06-17 10:19:11 +08:00
Jun Pataleta 65cc1b695a Merge branch 'MDL-72555-400' of https://github.com/laurentdavid/moodle into MOODLE_400_STABLE 2022-06-17 10:19:11 +08:00
Simey Lameze b8602beb62 MDL-72292 core: add param type and polishing 2022-06-17 09:54:30 +08:00
Alexander Bias e8ef35b7c9 MDL-72292 core: Check if fulldir is set when loading renamed classes 2022-06-17 09:54:30 +08:00
Marina Glancy 9fb4b68799 MDL-74972 core_form: frozen autocomplete element does not display values 2022-06-16 10:25:00 +02:00
Paul Holden 8ed775e45f MDL-74287 forms: request changesmade string as required.
Unconditionally requesting the string was triggering exceptions
during installation, before the required external functions had
been populated.
2022-06-16 08:07:48 +01:00
Paul Holden fafa45112a MDL-74287 media_videojs: skip dynamic loader during install/upgrade. 2022-06-16 08:07:48 +01:00
Jake Dallimore 9b8ce4d82b MDL-74691 enrol_lti: add coverage of lti-ags claim variations to service
This test verifies how the service handles changes in the lti-ags claim
sent over several launches - ensuring the claim data is updated each
time.
2022-06-16 14:59:12 +08:00
Jake Dallimore 006b32290c MDL-74691 enrol_lti: allow omission of lineitems property in ags claim
The claim is valid with either or both of the URLs, so long as there's
at least one.
2022-06-16 14:59:05 +08:00
Jun Pataleta ba7c038739 MDL-74742 course: Use primary colour for Add button labels
Use the primary colour for the text inside the "Add a block" and
"Add an activity or resource" buttons.
2022-06-16 14:43:30 +08:00
Michael Milette 4b2efd494e MDL-73156 user: Custom user profile field names now filtered. 2022-06-15 11:45:45 -04:00
Jun Pataleta 8e58b0bace Merge branch 'MDL-74565-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-15 23:21:06 +08:00
Jun Pataleta 7bca8a175f Merge branch 'MDL-72324-incompatible-check-400' of https://github.com/Peterburnett/moodle into MOODLE_400_STABLE 2022-06-15 23:04:10 +08:00
Paul Holden 24d82b3e4a MDL-74694 reportbuilder: unit test coverage of external exporters. 2022-06-15 13:07:45 +01:00
Jun Pataleta eab32b304a Merge branch 'MDL-73966-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-15 18:06:15 +08:00
Jun Pataleta 86d0e4f7d7 Merge branch 'MDL-74871-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-15 17:17:07 +08:00
Bas Brands b9d50fc8fe MDL-74929 mod_assign: remove incorrect closing </div> 2022-06-15 09:11:34 +02:00
Paul Holden 8781ef341c MDL-74713 admin: format custom profile fields in identify config. 2022-06-14 17:19:36 +01:00
Jun Pataleta 4dfd7a290b Merge branch 'MDL-74790-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-14 22:53:44 +08:00
Jun Pataleta f3bfa720ad Merge branch 'MDL-74573_400' of https://github.com/aya-saad1/moodle into MOODLE_400_STABLE 2022-06-14 22:35:45 +08:00
Jun Pataleta 867cce4152 Merge branch 'MDL-74649-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-14 22:27:04 +08:00
Víctor Déniz 17bb38c307 Merge branch 'MDL-74526-400' of https://github.com/devlionco/moodle into MOODLE_400_STABLE 2022-06-14 10:11:37 +01:00
Víctor Déniz 47a4ef1e5e Merge branch 'MDL-74449_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-06-14 10:02:49 +01:00
Laurent David b8bf53eb4b MDL-72555 block_site_main_menu: Fix activity chooser issue
* When adding the block_site_main_menu on every page, the activity chooser generated
for this entire page is set with courseid = 1. So any activity is then added to the
home page instead of a course.
2022-06-14 10:04:17 +02:00
Jun Pataleta eab8c74464 Merge branch 'MDL-74816-400' of https://github.com/dpalou/moodle into MOODLE_400_STABLE 2022-06-14 14:03:37 +08:00
Jun Pataleta 2d9c3446e9 Merge branch 'MDL-74597-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-14 12:57:13 +08:00
Paul Holden 79651c7d22 MDL-74597 themes: remove pix icon references from custom menu items.
Support for them was removed in 8c336899, however existing config
remained that would lead to bogus URLs in custom user menu items.
2022-06-13 21:43:33 +01:00
Ilya Tregubov fb5e0c453b Merge branch 'MDL-74628-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-13 10:58:28 +04:00
Jake Dallimore 6228f13bdd Merge branch 'MDL_74310_400' of https://github.com/cengage/moodle into MOODLE_400_STABLE 2022-06-13 11:46:08 +08:00
Jake Dallimore 5bb2452ace Merge branch 'MDL69756_MOODLE_400_STABLE' of https://github.com/Amrita1991/moodle into MOODLE_400_STABLE 2022-06-13 11:12:37 +08:00
Jake Dallimore 8275662ed3 Merge branch 'MDL-74718-400' of https://github.com/sharidas/moodle into MOODLE_400_STABLE 2022-06-13 10:53:25 +08:00
Huong Nguyen f4eb5cb554 MDL-74632 atto_link: Fix cannot create a link for an image 2022-06-13 09:46:16 +07:00
Huong Nguyen f2fc73c674 MDL-74701 core: Fix popover elements are focusable even when hidden 2022-06-13 09:45:28 +07:00
Paul Holden 9fc49012bd MDL-74565 gradereport_grader: define capability required for editing. 2022-06-12 20:03:31 +01:00
Ilya Dymshits 86f4f6864d MDL-74526 theme: remove icon from empty categories in RTL languages 2022-06-12 10:41:54 +03:00
Eloy Lafuente (stronk7) ca8715654b MDL-74449 gradebook: Protect flatten_dependencies_array() a little bit
It has been detected that the flatten_dependencies_array() was fragile
and leading to wrong results when some incorrect data was passed to it.

This includes:

- Missing elements.
- Null dependencies.
- Non array dependencies.

While the existing behaviour (testing-wise) has been preserved, now the
situations above are better controlled and the function ignores all
those incorrect cases that shouldn't happen ever.

That implies that a good number of notices/warnings/errors aren't
happening anymore. That was impacting both results (when the problems
were  only notices and warnings) and execution (when the problems
were errors).

Covered with tests.
2022-06-10 18:17:56 +02:00
Laurent David d9a62c9fac MDL-74296 mod_bigbluebuttonbn: Fix completion indicator
* Completion view should work out of the box
* Patch the _user_outline and _user_complete so it works with completion view, while
implementing something better in MDL-74468
2022-06-10 18:05:07 +02:00
Sara Arjona 4a9fa426bc weekly release 4.0.1+ 2022-06-10 17:08:19 +02:00
Sara Arjona f1d4fd0db7 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-06-10 17:08:16 +02:00
Amrita 129d445908 MDL-69756 nextcloud: copy-overwrite handling 2022-06-10 16:35:05 +02:00
Amrita c6ad71859c MDL-74387 url: exception for php to correct icon 2022-06-10 16:07:25 +02:00
Jun Pataleta 2c58871a74 MDL-74802 core: Remove tooltip on the notification close button
Reverting the addition of a Boostrap tooltip on the alert notification's
close button. It introduced a bug where the tooltip remains after
dismissing the notification alert. We can manually toggle the state of
the tooltip via JS, but I don't think it's worth the effort. The tooltip
is meant as an added bonus for sighted users to see what the close
button is about.
2022-06-10 13:15:32 +02:00
Jun Pataleta 42d214d0cc MDL-74802 core_user: Use button label to close notification alert
With the notification alert's close button now properly labelled, it is
better for Behat to interact on it using its label.
2022-06-10 13:15:32 +02:00
Andrew Nicols fb4a9db65e MDL-73013 filelib: Fix code lint 2022-06-10 13:15:32 +02:00
Andrew Nicols f5e1074653 MDL-73013 filelib: Address coding style violations 2022-06-10 13:15:32 +02:00
Andrew Nicols 3ec081f2de Merge branch 'MDL-73013-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-10 13:15:32 +02:00
Jake Dallimore c374c271b1 Merge branch 'MDL-72377-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-10 13:15:32 +02:00
Andrew Nicols 09bdf8c905 Merge branch 'MDL-73466-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-10 13:15:32 +02:00
Andrew Nicols be3348d85e Merge branch 'MDL-74553-400' of https://github.com/marinaglancy/moodle into MOODLE_400_STABLE 2022-06-10 13:15:32 +02:00
Andrew Nicols cb9d48373b Merge branch 'MDL-74764-400' of https://github.com/BruceGoodGuy/moodle into MOODLE_400_STABLE 2022-06-10 13:15:31 +02:00
Víctor Déniz 98018a490f Merge branch 'MDL-69970_400' of https://github.com/aya-saad1/moodle into MOODLE_400_STABLE 2022-06-10 13:15:31 +02:00
Sara Arjona 1e1cd2fa6b Merge branch 'MDL-74802-400-2' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-06-10 13:15:31 +02:00
Sara Arjona 603486e1f7 Merge branch 'MDL-74577-400' of https://github.com/sharidas/moodle into MOODLE_400_STABLE 2022-06-10 13:15:31 +02:00
Angelia Dela Cruz 2409c05065 MDL-74841 behat: Label behat generators use UI
Replace steps that manually add Label instances via the UI and use
Behat generators. This improves the speed of Behat test runs.
2022-06-10 13:11:00 +08:00
Paul Holden df98fb57ee MDL-74649 course: render scale information using page popup layout. 2022-06-09 12:18:50 +01:00
Jake Dallimore 28e2f8bc2a MDL-74906 mod_lti: fix form selector in multi-item content item post
Use #region-main-box and not .mform in the selector, otherwise it may
return the wrong mform, such as global search, if enabled. This is the
same way the form is selected in showMultipleSummaryAndHideForm().
2022-06-09 16:53:32 +08:00
Paul Holden 2408bd007b MDL-74408 core: exclude empty patterns in divert email config. 2022-06-09 09:39:24 +01:00
Sujith Haridasan a22898e2af MDL-74718 webdav: correct the loop when reading chunks
Adjusted the condition while reading the streams
in chunks. Read till the end to make sure we have got all
the data. Else we might not get all the data to show
in file picker.
2022-06-09 12:03:38 +05:30
Paul Holden d29cdb623e MDL-73466 forumreport_summary: use formatted course module name. 2022-06-08 21:36:52 +01:00
Víctor Déniz eb4a12f1f0 Merge branch 'MDL-73774-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-06-08 10:15:16 +01:00
Víctor Déniz aee5fc1223 Merge branch 'MDL-74726-400' of https://github.com/ssj365/moodle into MOODLE_400_STABLE 2022-06-08 10:07:10 +01:00
Eric Merrill 26a8d1fd81 MDL-74182 core_task: Obey CFG debug settings 2022-06-08 10:42:17 +02:00
gthomas2 137cfc18ee MDL-74922 javascript: storragewrapper validateCache fix 2022-06-08 09:34:20 +01:00
Adam Olley 25212b83c3 MDL-74886 core_admin: Add unit test
Simple unit test to verify we don't get the TypeError anymore.
2022-06-08 10:08:10 +08:00
Simey Lameze c6cc60cb79 MDL-74886 core_admin: cast value and unit to integer 2022-06-08 10:08:10 +08:00
Peter Burnett eaf62826c3 MDL-72324 upgrade: Fix incompatible check in upgrade to match docs 2022-06-08 10:54:00 +10:00
AMOS bot 90f855220d Automatically generated installer lang files 2022-06-08 00:08:18 +00:00
Sara Arjona d0cedfa840 Merge branch 'MDL-74605-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-07 17:20:47 +02:00
Sara Arjona c4920eab6d Merge branch 'MDL-74678_400' of https://github.com/lostrogit/moodle into MOODLE_400_STABLE 2022-06-07 17:01:30 +02:00
Sara Arjona 48f59ff4e6 Merge branch 'MDL-74344-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-07 16:51:51 +02:00
Sara Arjona 264d4289da Merge branch 'MDL-74710-400' of https://github.com/ilyatregubov/moodle into MOODLE_400_STABLE 2022-06-07 16:25:32 +02:00
Sara Arjona a91c937935 Merge branch 'MDL-72983-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-07 16:10:38 +02:00
Alexey b5f4e35746 MDL-74522 lib/classes/navigation fix Navbar My courses data-key value 2022-06-07 16:30:30 +03:00
Paul Holden 1201a5fad5 MDL-74628 forumreport_summary: remove left margin of filter popover. 2022-06-07 11:08:33 +01:00
Paul Holden 1d6529f5ea MDL-74529 theme_boost: accessible autolink styles from filters.
The `autolink` class is used by various filter types to create
hyperlinks within text. Extend existing `aalink` class so they
behave in the same way.
2022-06-07 10:57:57 +01:00
Huong Nguyen 6cce66dcf7 MDL-73774 timeline: Prevent ID duplication 2022-06-07 11:48:25 +07:00
Jun Pataleta ead2f17b57 Merge branch 'MDL-70223_400' of https://github.com/aya-saad1/moodle into MOODLE_400_STABLE 2022-06-07 10:29:43 +08:00
AMOS bot 99935628cf Automatically generated installer lang files 2022-06-07 00:08:13 +00:00
Paul Holden 825766216d MDL-74871 user: account for absense of identity fields during export. 2022-06-06 21:12:40 +01:00
Paul Holden e17c20a424 MDL-72983 tool_dataprivacy: respect capability to export own data. 2022-06-06 20:50:24 +01:00
Paul Holden 76f327d195 MDL-72377 grade: fix category form hidden/until fields.
Ensure the saved values for the hidden and hidden until fields are
populated when editing a grade category. Fix behaviour on enabling
the hidden until field.

Re-enable tests commented out in eba1d32c.
2022-06-06 15:28:26 +01:00
Paul Holden ffb62740c0 MDL-72377 grade: increase size of category hidden fields.
As well as storing 1/0 to indicate hidden state, they are also used
to store a timestamp indicating hidden until date. Increasing field
size allows these values to be stored without triggering exceptions.
2022-06-06 15:28:26 +01:00
Paul Holden 59c9a5f46b MDL-73121 atto_managefiles: match used files enclosed by quotes. 2022-06-06 15:17:23 +01:00
Ilya Tregubov 9009e1bd30 Merge branch 'MDL-74599-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-06 16:12:06 +06:00
Ilya Tregubov dfb3226883 Merge branch 'MDL-69951-remove_drop-font-tags-400' of https://github.com/leonstr/moodle into MOODLE_400_STABLE 2022-06-06 11:12:35 +06:00
aya.saad e84729de92 MDL-74573 mod_assign: convert view other attempt link to a button 2022-06-05 09:21:52 +02:00
aya.saad 7262d95895 MDL-70223 h5p: fix invalid id when adding h5p activity 2022-06-05 09:19:45 +02:00
aya.saad d4f34b0904 MDL-69970 icons: flip help icon direction in RTL languages 2022-06-05 09:17:57 +02:00
Shamim Rezaie 59bfaeda37 Merge branch 'MDL-74250-400' of https://github.com/adpe/moodle into MOODLE_400_STABLE 2022-06-03 18:42:33 +10:00
Andrew Nicols 887e106a6c Merge branch 'MDL-73898-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-03 13:31:14 +08:00
Shamim Rezaie be06a75a36 Merge branch 'MDL-74699-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-06-03 14:45:11 +10:00
Andrew Nicols ac39bac81b weekly release 4.0.1+ 2022-06-03 11:04:01 +08:00
Andrew Nicols 8a5e048594 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-06-03 11:03:58 +08:00
AMOS bot f91db6c35e Automatically generated installer lang files 2022-06-03 00:08:10 +00:00
Jun Pataleta 66a3d9edba Merge branch 'MDL-74631-invalid-tag-400' of https://github.com/leonstr/moodle into MOODLE_400_STABLE 2022-06-02 12:20:27 +08:00
Jun Pataleta f843322982 Merge branch 'MDL-57065-400' of https://github.com/ferranrecio/moodle into MOODLE_400_STABLE 2022-06-02 12:03:18 +08:00
Jun Pataleta 17e1d23c3f Merge branch 'MDL-71301-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-06-02 11:23:15 +08:00
Issam Taboubi fd2c90c29a MDL-71301 qtype_gapselect: Make blank answer box labels more meaningful 2022-06-02 10:51:33 +08:00
Jun Pataleta d2a6a5b164 Merge branch 'MDL-67966-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-06-02 10:29:56 +08:00
Joshua Ebarvia 7a5dabe6aa MDL-67966 mod_workshop: Use condition to verify form is using editor
This adds a condition to check if Online text is used
for the submission. The functions file_postupdate_standard_editor
and file_postupdate_standard_filemanager needs the property
content_editor of the formdata.
2022-06-02 10:28:33 +08:00
Sara Arjona de6d21497d Merge branch 'MDL-71276-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-06-01 18:37:52 +02:00
Sara Arjona 0921c43e2c Merge branch 'MDL-74752_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2022-06-01 17:05:18 +02:00
Tim Hunt 38db48744d MDL-74752 qtype_match: fix regrading logic - take 2 2022-06-01 14:24:30 +01:00
Noel De Martin 582f1bc1fe MDL-74613 grade: Add missing generators 2022-05-31 18:11:50 +02:00
Sara Arjona c496c5b819 Merge branch 'MDL-74752_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2022-05-31 17:39:12 +02:00
Tim Hunt 9d40a13eb6 MDL-74752 qtype_multianswer: implement regrading hooks 2022-05-31 09:22:51 +01:00
Tim Hunt 5990158a6f MDL-74752 qtypes gapselect & ddwtos: implement regrading hooks 2022-05-31 09:22:51 +01:00
Tim Hunt cc262124db MDL-74752 qtype_match: implement regrading hooks
As much as they can be before MDL-5560 is addressed.
2022-05-31 09:22:51 +01:00
Tim Hunt 5ad18a4070 MDL-74752 qtype_multichoice: fix regrading logic
The implements the new regrade-related hooks, and also has
tests for the changes to the core system, now that we have a question
type we can use for them.
2022-05-31 09:22:50 +01:00
Tim Hunt ca4ac3e8b6 MDL-74752 question regrading: implement the required hooks
This commit implements the necessary core hooks to ensure we only
allow a regrade of a quetion attempt to take place if the new and old
versions of the question are sufficiently similar.

It will be followed by commits to each question type where the
new method needs to be implemented.

Automated tests will be included in the first of those (mulitple choice)
becuse we need a question type that implements the hooks to test
the core changes.
2022-05-31 09:22:50 +01:00
Amaia Anabitarte c06e1de52d MDL-74630 core_contenbank: Add contextid to URL parameters 2022-05-31 09:48:45 +02:00
AMOS bot daf1199956 Automatically generated installer lang files 2022-05-31 00:08:11 +00:00
AMOS bot 5451d79a8c Automatically generated installer lang files 2022-05-30 00:08:06 +00:00
AMOS bot 763a4a3dac Automatically generated installer lang files 2022-05-28 00:08:15 +00:00
Jun Pataleta c9b5f15fb3 MDL-72885 output: Add lang attribute for language menu items 2022-05-27 23:39:56 +08:00
Jun Pataleta 88667463ac MDL-72885 output: Add lang attribute for language custom menu items 2022-05-27 19:42:21 +08:00
Jun Pataleta af1936faf4 MDL-72885 output: Allow additional attributes for custom menu items
* Plus don't render the link title if it's the same as the link text.
2022-05-27 19:42:21 +08:00
Leon Stringer 2ea21b9ccf MDL-73215 assign: Undefined var: plagiarismlinks
Fix: $plagiarismlinks is concatenated in return but may not have been
initialised.
2022-05-27 08:55:45 +01:00
Adrian Perez 275c174cbf MDL-74250 core: Improve indicator that link opens in new window 2022-05-27 07:21:51 +02:00
Khoa Nguyen Dang 04757718b1 MDL-74764 core_course: Activity is not in alphabetical order. 2022-05-27 10:23:03 +07:00
Jake Dallimore b81a2f80f7 weekly release 4.0.1+ 2022-05-27 10:02:09 +08:00
Claude Vervoort 86cd6040f1 MDL-74310 mod_lti: fix ltilinkid on lineitems import 2022-05-26 10:34:48 -04:00
Noel De Martin c5ce22a2e6 MDL-74220 data: Implement behat generators 2022-05-26 10:38:37 +02:00
Jake Dallimore c18cf220a2 Merge branch 'MDL-73801-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-05-26 12:11:52 +08:00
Jake Dallimore 6bd67f0a5f Merge branch 'MDL-73386-400' of https://github.com/junpataleta/moodle into MOODLE_400_STABLE 2022-05-26 11:47:27 +08:00
Dani Palou 8beef3f70b MDL-74816 mod_resource: Allow specify default file name in generator 2022-05-25 10:41:30 +02:00
Paul Holden b4c081fa08 MDL-74790 mod_resource: better detection of empty module intro. 2022-05-24 21:18:57 +01:00
Angelia Dela Cruz 7ee27356af MDL-74744 behat: Quiz behat generators use UI
Replace steps that manually add Quiz instances via the UI and use
Behat generators. This improves the speed of Behat test runs.
2022-05-24 10:53:02 +08:00
hieuvu 1ecfc86f97 MDL-74533 core_completion: Update using new grade pass for completion 2022-05-23 15:15:36 +07:00
Jun Pataleta 252dbc9605 MDL-74802 core: Improve the accessibility of alert notifications
* Make the ordering of the message and the close button logical on
  the DOM.
* Hide the times HTML entity
* Add sr-only label on the close button for non-sighted users
* Add tooltip on the close button sighted users
2022-05-23 13:00:22 +08:00
Daniel Ziegenberg 9b9823a56a MDL-74835 ci: Update nodejs version in travis integration to lts/gallium
In MDL-73915 the nodejs version was switched to lts/gallium but the
travis integration was not updated.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-05-22 23:49:04 +02:00
Jun Pataleta 77134d5bb4 MDL-73386 mod_quiz: Use plain text for quiz navigation fake block title
* No need to enclose the title of the quiz navigation fake block in
a span tag. The block title also gets appended to the skip link which
means that a block title with a span tag assigned with an identifier
can cause duplicate ID errors on the DOM.
2022-05-21 00:33:32 +08:00
Ilya Tregubov e9aa483add Merge branch 'MDL-73225-400' of https://github.com/call-learning/moodle into MOODLE_400_STABLE 2022-05-20 18:00:04 +06:00
Laurent David 95742edc54 MDL-73225 mod_bigbluebuttonbn: Improve error message when joining
Display more friendly messages when:
    * When displaying activity and the server is not available
    * When we join a meeting and the server is not available or an error is detected
2022-05-20 13:06:27 +02:00
Sujith Haridasan f3150d4a26 MDL-74577 core: Reset login_failed_count_since_success after login
When the user is logged in successfully then reset the value
of login_failed_count_since_success to zero, if the value of
login_failed_count_since_success is greater than zero.
2022-05-20 10:14:40 +05:30
Ilya Tregubov d237a6312f weekly release 4.0.1+ 2022-05-19 19:24:28 +06:00
Ilya Tregubov c36a037c20 Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-05-19 19:24:27 +06:00
Paul Holden 3373632225 MDL-73801 backup: set predictably ordered backup next start time.
Prior to this change, the testcase would assert ordering based on
identical fields which could lead to random failures. Set distinct
next start time of course backup, and also remove random ordering
by sorting on defined course order (all other fields being equal).
2022-05-19 08:19:19 +01:00
Jun Pataleta c885df9202 Merge branch 'MDL-73163-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-05-19 10:11:15 +08:00
Jun Pataleta 1818370854 Merge branch 'MDL-74416-400' of https://github.com/lameze/moodle into MOODLE_400_STABLE 2022-05-19 09:59:45 +08:00
Jun Pataleta 8ff3de4299 Merge branch 'MDL-74377-400' of https://github.com/roland04/moodle into MOODLE_400_STABLE 2022-05-18 21:47:46 +08:00
Mikel Martín 86899b14cb MDL-74377 reportbuilder: Fix dimmed text for dropdown items
To show inactive/unavailable rows '.dimmed_text' class usages have been replaced with '.text-muted'.
2022-05-18 15:43:44 +02:00
Sara Arjona b259811d7a MDL-74784 core_badges: Fix exception with related badges
System badges with related badges were displaying an error before this patch,
because the is_guest($context) function expects a context_course.
2022-05-18 09:16:08 +02:00
Paul Holden 7edd6995e5 MDL-73966 grade: fetch required user name fields of unenrolled users. 2022-05-17 16:03:06 +01:00
AMOS bot 35f7c54107 Automatically generated installer lang files 2022-05-17 00:07:40 +00:00
Paul Holden 70d17adc0a MDL-71276 message_email: include alternate email in privacy export. 2022-05-16 09:42:23 +01:00
Carlos Castillo c05e07923f MDL-74678 reportbuilder: Allow null in category description callback
Since category description is a nullable column, we need to allow null
value in category description column callback in category entity
2022-05-13 08:09:23 -05:00
Paul Holden f81b1125f5 MDL-74344 comment: consistent capability check for accessing report.
Co-authored-by: David Wipperfurth <dwipperfurth@webcourseworks.com>
2022-05-13 10:32:03 +01:00
AMOS bot 454ec455bf Automatically generated installer lang files 2022-05-13 00:07:40 +00:00
Paul Holden 5a1f0fd327 MDL-73013 calendar: fix serving of files added to category events. 2022-05-12 16:13:03 +01:00
Jun Pataleta 0a3eedbebf weekly release 4.0.1+ 2022-05-12 22:16:04 +08:00
Leon Stringer 02bc67f6c5 MDL-69951 filter_tidy: Replace drop-font-tags
The option drop-font-tags was removed in HTML Tidy version 5.5.14.  It
had been deprecated since 5.1.25, the docs said "Use the clean option
instead" which is what this commit does (see
https://api.html-tidy.org/tidy/quickref_5.1.25.html#drop-font-tags).
2022-05-12 11:44:29 +01:00
Jun Pataleta 7d4c2fb5f2 Merge branch 'MDL-74413_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-05-12 12:08:55 +08:00
Jun Pataleta f0066123a3 Merge branch 'MDL-73971_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-05-12 11:54:38 +08:00
Kordan b65077c4c0 MDL-73163 behat: Changed most to must 2022-05-12 10:11:36 +08:00
Petr Skoda d58770969c MDL-74416 phpunit: fix generator counters reset 2022-05-12 10:10:11 +08:00
Jake Dallimore f7922dbe1d MDL-74699 enrol_lti: fix clientid retrieval from aud during launches 2022-05-12 09:20:35 +08:00
Marina Glancy 53f6f1ce05 MDL-74553 blocks: do not refer to form fields by id
This is not compatible with the dynamic forms and random ids
2022-05-11 16:23:35 +02:00
Shamiso.Jaravaza b4829f2475 MDL-74726 mod_bigbluebuttonbn: Fix muteonstart
Added missing muteonstart_editable in mod_form  block condition
2022-05-11 08:11:54 -06:00
Paul Holden e8f9288606 MDL-73898 user: exclude guest user from participants table. 2022-05-10 17:22:54 +01:00
Ilya Tregubov 72bdc3766e MDL-74710 mod_bigbluebuttonbn: Fix settings url. 2022-05-10 11:17:36 +06:00
Eloy Lafuente (stronk7) d8ea630f24 MDL-74413 phpunit: Move more tests to use correct names and namespaces
Applied the following changes to various testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- Moved to the level2 "privacy" namespace:
  - \mod_assign\privacy\feedback_legacy_polyfill_test
  - \mod_assign\privacy\submission_legacy_polyfill_test

- Moved to the level2 "task" namespace:
  - \core_message\task\migrate_message_data_test
  - \ltiservice_gradebookservices\task\cleanup_test
  - \message_email\task\send_email_test
  - \mod_lti\task\clean_access_tokens_test
  - \mod_workshop\task\cron_task_test

- Moved to the level2 "event" namespace:
  - \core_h5p\event\deleted_test
  - \core_h5p\event\viewed_test

- Renamed to a better name:
  - backup_forum_activity_task_test.php (missing "task")
2022-05-07 20:33:10 +02:00
Jun Pataleta ac9e395ed6 Moodle release 4.0.1 2022-05-07 19:34:54 +08:00
Eloy Lafuente (stronk7) 8bdba9bdca MDL-73971 phpunit: Move more tests to use correct names and namespaces
Applied the following changes to various testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- Some fixtures, initially defined in the test files have been
  moved to new files in fixtures subdirectory, leaving the unit
  test files clearer:
  - moodle2_course_format_test.php
- Rename wrong named test:
  - baseoptiogroup_test = baseoptigroup_test
2022-05-06 18:29:16 +02:00
Eloy Lafuente (stronk7) 99fc164199 weekly release 4.0+ 2022-05-06 15:58:28 +02:00
Ferran Recio 64a7e06f61 MDL-57065 theme_boost: fix debug messages
The first debug message is covered by the top navbar header. This patch
will move the body's first debug message down below the navbar.
2022-05-06 12:26:40 +02:00
Jake Dallimore 9ec2c12f3d MDL-74602 mod_assign: fix js error with assign grader on classic 2022-05-06 16:48:29 +08:00
Jun Pataleta 6ec89f6374 Merge branch 'MDL-74584-400-v1' of https://github.com/mihailges/moodle into MOODLE_400_STABLE 2022-05-06 14:17:37 +08:00
Mihail Geshoski 834c80849c MDL-74584 mod_bigbluebuttonbn: Update behat tests 2022-05-06 13:32:14 +08:00
Mihail Geshoski 674198a799 MDL-74584 mod_bigbluebuttonbn: Update unit tests 2022-05-06 13:32:14 +08:00
Mihail Geshoski 66c32a3687 MDL-74584 course: New optional parameter in get_module_types_names()
Adds new parameter in get_module_types_names() to optionally reset
the $modnames static cache.
2022-05-06 13:32:13 +08:00
Mihail Geshoski 0118227509 MDL-74584 mod_bigbluebuttonbn: Add install script and new upgrade step
Adds a new install script for the BBB module and a new upgrade step.
The BBB module now will be disabled by default for new installations
and also it will be disabled for the existing sites that use the
default BBB server configuration. Admistrators will be required to
confirm the acceptance of the related DPA prior to (re)enabling the
plugin once again.
2022-05-06 12:19:56 +08:00
Mihail Geshoski 2e1478b094 MDL-74584 mod_bigbluebuttonbn: Add DPA info in the general setting page
Adds a note in the BBB general settings page to raise awareness about
the legal obligations related to the data processing agreement with the
service provider which is currently configured.
2022-05-06 12:19:56 +08:00
Mihail Geshoski 6961258bc2 MDL-74584 mod_bigbluebuttonbn: Implement 'pre_enable_plugin_actions'
Implements a function for the 'pre_enable_plugin_actions' callback.
When the default BBB server settings are used while the administrator
attempts to enable the BBB plugin, the function will prevent this
action and trigger a dynamic form requesting the admin to conifrm
their acceptance of the related data processing agreement. The process
of enabling the plugin will continue as usual in cases where the
admin has already confirmed the acceptance of the dpa or a different
BBB server configuration is used other than the default.
2022-05-06 12:19:56 +08:00
Mihail Geshoski b4f6816952 MDL-74584 admin: Add callback executed prior to enabling a module
Adds a callback xxx_pre_enable_plugin_actions in admin/modules.php
which plugins can use to force additional actions before enabling the
plugin. The return value (bool) from the plugin callback method
specifies whether the process of enabling the plugin should continue
after the added actions or not.
2022-05-06 12:19:56 +08:00
Andrew Nicols 16b30d920b MDL-74511 core: Add phpcs default config 2022-05-06 12:01:32 +08:00
Ilya Tregubov 61d140e99f Merge branch 'MDL-41498-400' of https://github.com/ilyatregubov/moodle into MOODLE_400_STABLE 2022-05-06 08:26:59 +06:00
Robert Schrenk cc5eb38cea MDL-41498 course: courses participant page 2022-05-06 08:26:08 +06:00
Víctor Déniz 3b7bba9e75 Merge branch 'MDL-74612-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-05-05 13:25:37 +01:00
Víctor Déniz 2e020b506a Merge branch 'MDL-74128-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-05-05 12:09:59 +01:00
Víctor Déniz 74cdb7c4c8 Merge branch 'MDL-74567-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-05-05 09:39:39 +01:00
Paul Holden ef8d381a2f MDL-74567 core: re-factor flickr libraries to use shared user-agent. 2022-05-05 09:21:22 +01:00
Jun Pataleta 39717b72b1 MDL-74317 blocks: Revert checking of block usage against page format 2022-05-05 10:04:01 +08:00
Jun Pataleta e7ff99758e Merge branch 'MDL-74576-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-05-05 09:55:45 +08:00
Jun Pataleta 26492d4979 Merge branch 'MDL-73981-400' of https://github.com/ilyatregubov/moodle into MOODLE_400_STABLE 2022-05-05 09:49:06 +08:00
Ilya Tregubov 3abbcd9976 Merge branch 'MDL-74602-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-05-05 07:46:55 +06:00
Jun Pataleta 1456551ba6 Merge branch 'MDL-74546-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-05-05 09:41:34 +08:00
Ilya Tregubov c1ebec7cbc MDL-73981 tool_uploadcourse: Validate enrolment role from csv. 2022-05-05 07:39:50 +06:00
Jun Pataleta 812c8b37e5 Merge branch 'MDL-74511-400' of https://github.com/andrewnicols/moodle into MOODLE_400_STABLE 2022-05-05 09:37:31 +08:00
Paul Holden 8b2b7f97ee MDL-74599 reportbuilder: use context of current report when present. 2022-05-04 14:30:11 +01:00
Jake Dallimore f2ab11aa5b MDL-73736 core_auth: Fix concurrency issue in login_attempt_failed()
This patch wraps the login_failed_count logic in a resource lock and
forces a user preferences cache reload. Each thread must wait for the
lock and must fetch the current count before incrementing it. This
ensures that login_failed_count is correct across threads and that the
lockout threshold is correctly honoured.

Co-Authored-By: Sujith Haridasan <sujith@moodle.com>
2022-05-04 14:45:00 +06:00
Michael Hawkins 240b402523 MDL-74333 badges: Check profile criteria valid when reviewing 2022-05-04 12:58:02 +08:00
Ilya Tregubov 34c4b3ce0c Merge branch 'MDL-74563-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-05-04 09:26:06 +06:00
Ferran Recio 8b098b4a4e MDL-71623 core_search: fix user document visibility 2022-05-04 03:55:18 +02:00
Amaia Anabitarte 38a40c5e4b MDL-74318 core_user: Description field as hidden on profile 2022-05-04 03:55:18 +02:00
Paul Holden 72580a5413 MDL-74204 mod_assign: escape identity fields in allocate marker form. 2022-05-04 03:55:18 +02:00
Jun Pataleta 6253ab0170 Merge branch 'MDL-73878-40' of https://github.com/aanabit/moodle into MOODLE_400_STABLE 2022-05-04 09:44:28 +08:00
Leon Stringer d25f2eeee6 MDL-74631 mod_lti: Remove </img>
Remove illegal HTML tag.

Added example context to pass CI checks.
2022-05-03 17:29:38 +01:00
Amaia Anabitarte ff89abc311 MDL-73878 core_user: Creating a new category for social fields 2022-05-03 17:46:18 +02:00
Amaia Anabitarte 7878d79359 MDL-73878 core_user: Fixing social fields upgrading issue 2022-05-03 17:43:22 +02:00
Jun Pataleta 93319747b2 Merge branch 'MDL-74543_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2022-05-03 22:22:45 +08:00
Tim Hunt f46c1b4fa9 MDL-74543 quiz attemptlib: covert string comparison to ===
Where obviously safe.
2022-05-03 13:48:04 +01:00
Tim Hunt a0297df86e MDL-74543 quiz: correctly record time when overdue attempt submitted 2022-05-03 13:48:04 +01:00
Víctor Déniz da9ab8a2f9 Merge branch 'MDL-74611_400' of https://github.com/timhunt/moodle into MOODLE_400_STABLE 2022-05-03 13:00:59 +01:00
Ilya Tregubov 33829b8b68 Merge branch 'mdl65478-fix-400' of https://github.com/matthewhilton/moodle into MOODLE_400_STABLE 2022-05-03 15:43:59 +06:00
Tim Hunt f5f468f6e1 MDL-74611 course settigns: re-order Common module settings
All the group-related settings should be next to each other.
2022-05-03 10:36:01 +01:00
Jake Dallimore 6b4f55c91b Merge branch 'MDL-74441-400' of https://github.com/cameron1729/moodle into MOODLE_400_STABLE 2022-05-03 16:54:50 +08:00
Cameron Ball 63ed56bc7c MDL-74441 mod_forum: Fix overflow in unified grader 2022-05-03 15:52:26 +08:00
Ilya Tregubov 841214dab2 Merge branch 'MDL-74598-400' of https://github.com/roland04/moodle into MOODLE_400_STABLE 2022-05-03 11:57:07 +06:00
Jason den Dulk 43cbc05a2d MDL-65478 backup, course format: Handle editor elements in course format
Modified course format options reading and writing to be able to handle Editor elements by enabling them to split array values into
multiple values before inserting into database, and combining multiple values into an array when reading from the database.
Modified backup and restore code to use backup_nested_elements, and to interact directly with the database.

Co-authored-by: Jason den Dulk <jasondendulk@catalyst-au.net>
Co-authored-by: Matthew Hilton <matthewhilton@catalyst-au.net>
2022-05-03 14:23:15 +10:00
Ilya Tregubov 973ea46697 Merge branch 'MDL-74450-400' of https://github.com/mihailges/moodle into MOODLE_400_STABLE 2022-05-03 09:52:26 +06:00
Jake Dallimore 98dbb93589 MDL-74602 mod_wiki: disable activity header in wiki print view 2022-05-03 11:09:00 +08:00
Jake Dallimore 5fa19e43b3 MDL-74602 mod_chat: disable activity header in ajax chat interface 2022-05-03 11:09:00 +08:00
Jake Dallimore 0d3a2c9181 MDL-74602 mod_book: disable activity header on book print page 2022-05-03 11:09:00 +08:00
Jake Dallimore 4f7bd72f72 MDL-74602 mod_assign: disable activity header on embedded grader page 2022-05-03 11:09:00 +08:00
Jake Dallimore cc182408aa MDL-74602 theme_boost: fix missing activity header in embedded layout
The activity header, which includes things like dates and completion
information, was moved out of the page $OUTPUT and into a separate
template context variable in 4.0, meaning it was missing from any layout
which didn't actively add it back to the page output. This fixes this
problem for the embedded layout only by adding support for the activity
header in the embedded template.
2022-05-03 11:09:00 +08:00
Jun Pataleta 8b3913605a Merge branch 'MDL-74317-400' of https://github.com/dravek/moodle into MOODLE_400_STABLE 2022-05-02 17:24:23 +08:00
Jun Pataleta 8ff67c91de Merge branch 'MDL-74436-400' of https://github.com/paulholden/moodle into MOODLE_400_STABLE 2022-05-02 16:30:06 +08:00
Jake Dallimore 4cbd6a0c6a MDL-74576 enrol_lti: allow unsupported scopes in ags_info
Instead of hard blocking launches with extension scopes, just ignore
the unsupported scopes and continue.
2022-05-02 15:39:20 +08:00
Paul Holden 203a55f57a MDL-74128 reportbuilder: Behat helper for navigating to view page. 2022-04-29 17:18:06 +01:00
Paul Holden 5b05a9378c MDL-74612 cohort: use data generator for populating cohort members. 2022-04-29 16:23:32 +01:00
Paul Holden b51257df71 MDL-74605 media_videojs: move player options to data setup.
Fixes the `playbackRates` functionality that was lost in library
upgrade (9ea8fa37).
2022-04-29 12:15:30 +01:00
Ilya Tregubov 81e5d425c4 weekly release 4.0+ 2022-04-29 07:55:31 +06:00
Ilya Tregubov 6362d7b51c Merge branch 'install_400_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_400_STABLE 2022-04-29 07:55:27 +06:00
Mikel Martín 51d3df8d30 MDL-74598 reportbuilder: Fix action menus alignment to the right 2022-04-28 16:46:00 +02:00
Paul Holden a60a6d41a3 MDL-74567 repository_flickr: replace user-agent value for API calls.
Flickr doesn't like user agent that looks like a bot. Effectively the
same reasoning/fix as b8ee31a0.
2022-04-28 14:45:37 +01:00
Mihail Geshoski d6ba7724ae MDL-74450 admin: Use the context from admin_settingpage as page context
The defined context in admin_settingpage does not always relate to the
system context. One example is the 'frontpagesettings' admin setting
page which specifies front page as it's default context. Therefore, the
page context in admin/settings.php should be consisent with the defined
context in the related admin_settingpage object to make sure that the
expected navigation menus are being displayed and properly highlighted.
Additionally, the code in admin/settings.php related to the breadcrumb
structure specific to 'frontpagesettings' has been removed as it is no
longer relevant.
2022-04-28 13:23:57 +08:00
Jun Pataleta 4f1be71581 Merge branch 'MDL-74478-400' of https://github.com/mihailges/moodle into MOODLE_400_STABLE 2022-04-28 12:54:26 +08:00
Peter Dias 58ddfe84c2 MDL-74478 badges: Check completion_fail when awarding badge
Bring the award_criteria_activity checks in line with the observer checks
2022-04-28 12:16:19 +08:00
Jun Pataleta dd156a4160 Merge branch 'MDL-74461-400' of https://github.com/HuongNV13/moodle into MOODLE_400_STABLE 2022-04-28 11:39:59 +08:00
Huong Nguyen 3bc8fa20bf MDL-74461 Navigation: Add section anchor to activity breadcrumb 2022-04-28 10:05:17 +07:00
Ilya Tregubov 954ae33aa9 Merge branch 'MOODLE_400-MDL-74427-v4' of https://github.com/golenkovm/moodle into MOODLE_400_STABLE 2022-04-28 08:10:29 +06:00
Jun Pataleta 24dbcc0008 Merge branch 'MDL-74537-400-enfix' of https://github.com/vmdef/moodle into MOODLE_400_STABLE 2022-04-27 15:47:30 +06:00
Ilya Tregubov ebb96c2850 Merge branch 'MDL-74510_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-04-27 15:47:30 +06:00
Paul Holden 870c5ffbde MDL-74479 reportbuilder: account for custom field context in output. 2022-04-27 15:47:29 +06:00
Eloy Lafuente (stronk7) 049e27a805 MDL-74320 lesson: Remove tested elsewhere parts of the scenario
The scenario has not only grades related completion conditions
but also timing conditions or reach the end conditions that
shouldn't be tested by a grades feature.

More yet, those completion conditions are already tested by
other feature files, namely:
- reach the end: completion_condition_end_reached.feature
- visit and timing: lesson_activity_completion.feature

So we have removed all those parts that are being tested
by other features.

Specially the visit and timing ones, because they lead to
random failures in slow environments and they have been
fixed in the lesson_activity_completion.feature scenarios
by MDL-72698.
2022-04-27 15:47:29 +06:00
Laurent David 6c7fa91d59 MDL-74514 mod_bigbluebuttonbn: BBB server is polled too often
* Fix issue with the roomupdater that should not force the updatecache flag
for get_meeting_info API
* Fix issue when meeting is not started (and does not exist) and bigbluebutton_proxy::get_meeting_info
throws an exception, skipping the cache and then polling the server every second.
2022-04-27 15:47:29 +06:00
Claude Vervoort 7c84b92be3 MDL-74481 mod_lti: fix role lookup for LTI 1.3 2022-04-27 15:47:29 +06:00
Mikhail Golenkov bb36c3a1bb MDL-74427 question: Re-use get_real_question_ids_in_category() 2022-04-27 12:35:08 +10:00
Mikhail Golenkov 990bfee024 MDL-74427 question: Implement get_real_question_ids_in_category() 2022-04-27 12:34:55 +10:00
David Matamoros 17584f9c92 MDL-74317 blocks: Blocks can be added to profile pages
- Fixed method user_can_addto to take into account that
blocks can also be added to user profile pages
2022-04-26 14:34:45 +02:00
David Matamoros f551072f9e MDL-74317 output: Remove capability checks in edit mode WS
- Removed validation on the change edit mode WS. Permission should
be handled where the edit button is rendered in order to show or not
the button.
2022-04-26 14:33:34 +02:00
Helen Foster 3447ab640c MDL-74537 lang: Import fixed English strings (en_fix) 2022-04-26 11:24:27 +01:00
Paul Holden 3dbad11471 MDL-74563 reportbuilder: cast operator parameter in number filter.
Add missing form labels, too.
2022-04-25 21:44:48 +01:00
Paul Holden 43b4b87fbf MDL-74436 calendar: validate course/category field during import. 2022-04-25 18:02:00 +01:00
Paul Holden 7d33385a1d MDL-74477 reportbuilder: sortable custom user profile field columns. 2022-04-25 13:40:12 +06:00
AMOS bot 657617ac21 Automatically generated installer lang files 2022-04-23 00:07:39 +00:00
Eloy Lafuente (stronk7) 205e4152cc MDL-74510 upgrade: add the 4.0.0 separation line to all upgrade scripts 2022-04-22 18:45:16 +02:00
Eloy Lafuente (stronk7) e36fb751e5 weekly release 4.0+ 2022-04-22 18:03:47 +02:00
Jake Dallimore a0c1acd7fd MDL-74546 enrol_lti: add missing d-flex to table to fix safari layout 2022-04-22 10:19:08 +08:00
Ilya Tregubov 2184ea5b64 Merge branch 'MDL-74394_400' of https://github.com/aolley/moodle into MOODLE_400_STABLE 2022-04-22 08:01:09 +06:00
Víctor Déniz c81b3dc384 Merge branch 'MDL-74312-400' of https://github.com/snake/moodle into MOODLE_400_STABLE 2022-04-21 16:39:51 +01:00
Adam Olley ca6a4b1953 MDL-74394 mnet: Better check for openssl_get_publickey() failure
In PHP8, this func now returns an object of type OpenSSLAsymmetricKey, not a
resource.

Reference:
https://www.php.net/manual/en/function.openssl-pkey-get-public.php
2022-04-21 22:08:20 +09:30
Jake Dallimore 20cefd70e2 MDL-74312 enrol_lti: fix copytoclipboard trigger element
This should be a button given it's an action, and making it a button
means it can be activated using either the space or enter keys, instead
of just enter.
2022-04-20 09:49:35 +08:00
Sara Arjona bc87d55a1f Merge branch 'MDL-74512_400' of https://github.com/stronk7/moodle into MOODLE_400_STABLE 2022-04-19 12:55:29 +02:00
Andrew Nicols 51c376cfca MDL-74511 core: Add phpcs config generator 2022-04-19 11:15:27 +08:00
Eloy Lafuente (stronk7) e0034b0566 MDL-74512 behat: Skip tests requiring lang install/upgrade
By adding the step:

Given remote langimport tests are enabled

We make the execution of scenarios requiring to install /
upgrade lang packs optional, based in the existence of the constant:

TOOL_LANGIMPORT_REMOTE_TESTS

That way, when we are skipping language upgrades with the CFG var:

$CFG->skiplangupgrade = true

We can decide not not execute those tests.

With other words, putting something like this in the config.php
file we will be controlling when to execute or no the behat tests:

    // Disable lang updates on upgrade.
    $CFG->skiplangupgrade = true;
    if (empty($CFG->skiplangupgrade)) {
        // Define it only if we aren't skipping lang upgrades.
        define('TOOL_LANGIMPORT_REMOTE_TESTS', true);
    }
2022-04-17 20:35:02 +02:00
3722 changed files with 54823 additions and 27172 deletions
+9 -5
View File
@@ -6,6 +6,10 @@
],
'env': {
'browser': true,
// Enable ES6+ features by default.
// See http://eslint.org/docs/user-guide/configuring#specifying-environments
// Note: The YUI override must exactly match this when disabling the ES6+ version because those features are not supported by Shifter.
'es2020': true,
'amd': true
},
'globals': {
@@ -83,6 +87,7 @@
'no-octal-escape': 'error',
'no-proto': 'error',
'no-redeclare': 'warn',
'no-restricted-globals': ['error', { 'name': 'Notification' }],
'no-return-assign': 'error',
'no-script-url': 'error',
'no-self-assign': 'error',
@@ -196,6 +201,10 @@
overrides: [
{
files: ["**/yui/src/**/*.js"],
'env': {
// Disable ES6+ for YUI files.
'es2020': false,
},
// Disable some rules which we can't safely define for YUI rollups.
rules: {
'no-undef': 'off',
@@ -221,10 +230,6 @@
},
{
files: ["**/amd/src/*.js", "**/amd/src/**/*.js", "Gruntfile.js", ".grunt/*.js", ".grunt/tasks/*.js", "jsdoc.conf.js"],
// We support es6 now. Woot!
env: {
es6: true
},
// We're using babel transpiling so use their parser
// for linting.
parser: '@babel/eslint-parser',
@@ -299,7 +304,6 @@
],
},
parserOptions: {
'ecmaVersion': 9,
'sourceType': 'module',
'requireConfigFile': false,
}
+18 -9
View File
@@ -7,20 +7,26 @@ on:
- MOODLE_[0-9]+_STABLE
tags-ignore:
- v[0-9]+.[0-9]+.[0-9]+*
workflow_dispatch:
inputs:
phpunit_extra_options:
description: Additional options to apply to PHPUnit
required: false
default: ''
env:
php: 8.0
jobs:
Grunt:
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
steps:
- name: Checking out code
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Configuring node & npm
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
@@ -54,11 +60,11 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-18.04
- os: ubuntu-22.04
php: 7.3
extensions:
db: mysqli
- os: ubuntu-18.04
- os: ubuntu-22.04
php: 8.0
db: pgsql
extensions: xmlrpc-beta
@@ -66,7 +72,7 @@ jobs:
steps:
- name: Setting up DB mysql
if: ${{ matrix.db == 'mysqli' }}
uses: johanmeiring/mysql-action@tmpfs-patch
uses: moodlehq/mysql-action@v1
with:
collation server: utf8mb4_bin
mysql version: 5.7
@@ -74,6 +80,8 @@ jobs:
mysql user: test
mysql password: test
use tmpfs: true
tmpfs size: '1024M'
extra conf: --skip-log-bin
- name: Setting up DB pgsql
if: ${{ matrix.db == 'pgsql' }}
@@ -85,7 +93,7 @@ jobs:
postgresql password: test
- name: Configuring git vars
uses: rlespinasse/github-slug-action@v3.x
uses: rlespinasse/github-slug-action@v4
- name: Setting up PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
@@ -96,7 +104,7 @@ jobs:
coverage: none
- name: Checking out code from ${{ env.GITHUB_REF_SLUG }}
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Setting up PHPUnit
env:
@@ -111,4 +119,5 @@ jobs:
- name: Running PHPUnit tests
env:
dbtype: ${{ matrix.db }}
run: vendor/bin/phpunit -v
phpunit_options: ${{ secrets.phpunit_options }}
run: vendor/bin/phpunit $phpunit_options ${{ inputs.phpunit_extra_options }}
+2
View File
@@ -54,3 +54,5 @@ moodle-plugin-ci.phar
/admin/tool/componentlibrary/docs
/admin/tool/componentlibrary/hugo/site/data/my-index.json
.hugo_build.lock
phpcs.xml
jsconfig.json
+2 -1
View File
@@ -156,7 +156,7 @@ const getThirdPartyLibsList = relativeTo => {
* @returns {array}
*/
const getThirdPartyPaths = () => {
const DOMParser = require('xmldom').DOMParser;
const DOMParser = require('@xmldom/xmldom').DOMParser;
const fs = require('fs');
const path = require('path');
const xpath = require('xpath');
@@ -233,6 +233,7 @@ const getOwningComponentDirectory = checkPath => {
};
module.exports = {
fetchComponentData,
getAmdSrcGlobList,
getComponentFromPath,
getComponentPaths,
+39
View File
@@ -21,6 +21,43 @@
*/
module.exports = grunt => {
/**
* Generate the PHPCS configuration.
*
* @param {Object} thirdPartyPaths
*/
const phpcsIgnore = (thirdPartyPaths) => {
const {toXML} = require('jstoxml');
const config = {
_name: 'ruleset',
_attrs: {
name: "MoodleCore",
},
_content: [
{
rule: {
_attrs: {
ref: './phpcs.xml.dist',
},
},
},
],
};
thirdPartyPaths.forEach(library => {
config._content.push({
'exclude-pattern': library,
});
});
grunt.file.write('phpcs.xml', toXML(config, {
header: true,
indent: ' ',
}) + "\n");
};
/**
* Generate ignore files (utilising thirdpartylibs.xml data)
*/
@@ -53,6 +90,8 @@ module.exports = grunt => {
'admin/tool/componentlibrary/hugo/dist/css/docs.css',
].concat(thirdPartyPaths);
grunt.file.write('.stylelintignore', stylelintIgnores.join('\n') + '\n');
phpcsIgnore(thirdPartyPaths);
};
grunt.registerTask('ignorefiles', 'Generate ignore files for linters', handler);
+5 -3
View File
@@ -30,10 +30,9 @@
* @param {String} srcPath the matched src path
* @return {String} The rewritten destination path.
*/
const babelRename = function(destPath, srcPath) {
destPath = srcPath.replace('src', 'build');
destPath = destPath.replace('.js', '.min.js');
destPath = srcPath.replace(`amd/src`, `amd/build`);
destPath = destPath.replace(/\.js$/, '.min.js');
return destPath;
};
@@ -47,6 +46,9 @@ module.exports = grunt => {
// Load ESLint.
require('./eslint')(grunt);
// Load jsconfig.
require('./jsconfig')(grunt);
// Load JSDoc.
require('./jsdoc')(grunt);
+53
View File
@@ -0,0 +1,53 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/* jshint node: true, browser: false */
/* eslint-env node */
/**
* @copyright 2022 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
const configuration = {
compilerOptions: {
baseUrl: ".",
paths: {
},
target: "es2015",
allowSyntheticDefaultImports: false,
},
exclude: [
"node_modules",
],
include: [],
};
module.exports = (grunt) => {
const handler = () => {
const jsconfigData = Object.assign({}, configuration);
const path = require('path');
const {fetchComponentData} = require(path.join(process.cwd(), '.grunt', 'components.js'));
const componentData = fetchComponentData().components;
for (const [thisPath, component] of Object.entries(componentData)) {
jsconfigData.compilerOptions.paths[`${component}/*`] = [`${thisPath}/amd/src/*`];
jsconfigData.include.push(`${thisPath}/amd/src/**/*`);
}
grunt.file.write('jsconfig.json', JSON.stringify(jsconfigData, null, " ") + "\n");
};
grunt.registerTask('jsconfig', 'Generate a jsconfig configuration compatible with the LSP', handler);
};
+5 -3
View File
@@ -36,7 +36,7 @@ jobs:
- php: 7.3
env: DB=none TASK=CITEST
- php: 7.3
env: DB=none TASK=GRUNT NVM_VERSION='lts/carbon'
env: DB=none TASK=GRUNT NVM_VERSION='lts/gallium'
- if: env(MOODLE_DATABASE) = "pgsql" OR env(MOODLE_DATABASE) = "all" OR env(MOODLE_DATABASE) IS NOT present
php: 7.3
@@ -52,7 +52,7 @@ jobs:
env: DB=none TASK=CITEST
- if: env(MOODLE_PHP) = "all"
php: 8.0
env: DB=none TASK=GRUNT NVM_VERSION='lts/carbon'
env: DB=none TASK=GRUNT NVM_VERSION='lts/gallium'
- if: env(MOODLE_PHP) = "all" AND (env(MOODLE_DATABASE) = "pgsql" OR env(MOODLE_DATABASE) = "all" OR env(MOODLE_DATABASE) IS NOT present)
php: 8.0
@@ -81,7 +81,8 @@ install:
sudo service mysql stop
sudo mv /var/lib/mysql /mnt/ramdisk
sudo ln -s /mnt/ramdisk/mysql /var/lib/mysql
sudo service mysql restart
echo -e "[mysqld]\nskip-log-bin" | sudo tee -a /etc/mysql/my.cnf
sudo service mysql start
fi
- >
if [ "$DB" = 'pgsql' ];
@@ -92,6 +93,7 @@ install:
sudo mv /var/lib/postgresql /mnt/ramdisk
sudo ln -s /mnt/ramdisk/postgresql /var/lib/postgresql
sudo service postgresql start 9.6
sh -c 'until pg_isready -p 5432; do echo "Waiting for the DB to be up..."; sleep 2; done'
fi
- >
if [ "$TASK" = 'PHPUNIT' ];
+53 -35
View File
@@ -1,48 +1,66 @@
MOODLE TRADEMARKS POLICY
========================
The word "Moodle" is trademarked in many countries around the world. The word
was originally coined as an acronym: Modular Object-Oriented Dynamic Learning
Environment. The trademark is owned by Martin Dougiamas, Founder and Director
of Moodle.
The Moodle Trademark
--------------------
The law obligates trademark owners to police their marks and prevent the use of
confusingly similar names by third parties. Through this policy wed like to
make it clear how Moodle-related projects, organisations, and people can use
the Moodle trademark. Wed also like to be clear about how use of the word is
restricted when used to promote commercial Moodle services. We do this to
protect the very business model that allows us to continue developing Moodle
for you.
The brand and word "Moodle" has trade mark protection in many countries around
the world. Various Moodle™ trade marks are owned by either Moodle Pty Ltd or
one of its associated entities. The law obligates trade mark owners to police
their trade marks and prevent the use of confusingly similar names by
third parties.
Allowed uses
------------
We have created a more concise and thorough set of Trademark Guidelines
(https://moodle.com/wp-content/uploads/2023/02/Moodle-Trademark-Guidelines-2023-4.pdf)
to help you understand how to comply with Moodle's trade mark requirements.
The Trademark Guidelines will also assist our Moodle Certified Partners and the
community to understand some of the principles that inform Moodle's stance
whenever potential infringement has been detected by us or our community.
The following uses dont require any permission at all:
We need to be clear about use of the word "Moodle" and how we restrict its use
when promoting commercial Moodle™ branded services. The proper use of
trade marks reliably assures consumers about the quality of the associated
products or services and where they have been derived from. Because the
Moodle LMS is made available under the open source GNU General Public License'
that permits you to modify the copyrighted software, the distribution of such
modified software in combination with Moodle trade marks can potentially
mislead others in the community. To be clear, the GNU GPL does not include an
implied right or licence to use Moodle's trade marks.
* Referring to the software or the Moodle project.
* Describing your own Moodle implementation (including within corporate
settings).
We do all this to protect the very business model that allows us to continue
developing various Moodle software solutions for you.
Allowed uses of "Moodle"
------------------------
The following uses don't require any permission at all:
* Referring to the software or the Moodle project as the "Moodle™ software"
or the "Moodle™ project"
* Describing your own implementation of the Moodle™ software platform
(including within corporate settings).
* Describing a Moodle-based community hub.
* Describing some software youve made that integrates with Moodle
(eg a Moodle integration feature on another system).
* Describing certain software you've made that integrates with Moodle
branded software (e.g. a Moodle integration feature on another system).
Restricted uses
---------------
Restricted uses of "Moodle"
---------------------------
The following uses are generally prohibited without explicit and direct
permission being granted to you by Moodle Pty Ltd. We do this to protect the
Moodle project from software and sites which could confuse people. Please
contact us to ask for permission in writing.
Moodle project from software and sites which could confuse people. If in
doubt, reach out for clarification at <trademarks@moodle.com>
* You cant use "Moodle" in the name of your software (including Mobile apps)
* You cant use "Moodle" in your company name
* You cant use "Moodle" in your domain name
* You cant use "Moodle" in advertising-related keywords (such as Adsense)
* You cant use "Moodle" to describe services around Moodle (such as hosting,
training, support, consulting, course creation services, theme development,
customisation, installation, integration and certification). This applies
even if you do not charge for the services. Note that usually only Moodle
Partners have this permission.
For information about the Moodle Partner Certification Mark as well as for how
to contact us, please see <https://moodle.com/trademarks/>.
* You can't use the word "Moodle" or any Moodle logos for commercial purposes
without prior written permission from Moodle HQ.
* You can't use "Moodle" in the name of your software (including Mobile apps).
* You can't use "Moodle" in your company name.
* You can't use "Moodle" in your domain name.
* You can't use "Moodle" in advertising-related keywords (such as Adsense).
* You can't use "Moodle" to describe services around Moodle
(such as hosting, training, support, consulting, course creation services,
theme development, customisation, installation, integration, analytics
and certification) that cause consumers to be confused that you are
associated with Moodle HQ if you are not.
This applies even if you do not charge for the services.
Note that usually only Moodle Partners have this permission.
+2 -2
View File
@@ -69,11 +69,11 @@ if ($options['help'] or (!$options['list'] and !$options['execute'])) {
die;
}
if ($options['showdebugging']) {
if ($options['showdebugging'] || !empty($CFG->showcrondebugging)) {
set_debugging(DEBUG_DEVELOPER, true);
}
if ($options['showsql']) {
if ($options['showsql'] || !empty($CFG->showcronsql)) {
$DB->set_debug(true);
}
if ($options['list']) {
+78
View File
@@ -0,0 +1,78 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Reset course indentation
*
* @copyright 2023 Amaia Anabitarte <amaia@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once('../../config.php');
require_admin();
$format = required_param('format', PARAM_PLUGIN);
$confirm = optional_param('confirm', false, PARAM_BOOL);
$backurl = new moodle_url('/admin/settings.php', ['section' => 'formatsetting'.$format]);
$PAGE->set_url('/admin/course/resetindentation.php', ['format' => $format]);
$PAGE->set_context(context_system::instance());
if ($confirm) {
require_sesskey();
$courses = $DB->get_records('course', ['format' => $format], 'id', 'id');
if (!empty($courses)) {
$courseids = array_keys($courses);
list($courseinsql, $courseparams) = $DB->get_in_or_equal($courseids, SQL_PARAMS_NAMED, 'course');
$DB->set_field_select('course_modules', 'indent', '0', "course $courseinsql AND indent <> 0", $courseparams);
rebuild_course_cache(0, true);
}
redirect(
$backurl,
get_string('resetindentationsuccess', 'admin'),
null,
\core\output\notification::NOTIFY_SUCCESS
);
}
$strtitle = get_string('resetindentation', 'admin');
$PAGE->set_title($strtitle);
$PAGE->set_heading($strtitle);
navigation_node::override_active_url(new moodle_url(
'/admin/course/resetindentation.php',
['action' => 'confirm', 'format' => $format]
));
echo $OUTPUT->header();
$displayoptions = ['confirmtitle' => get_string('resetindentation_title', 'admin')];
$confirmbutton = new single_button(
new moodle_url('/admin/course/resetindentation.php', ['confirm' => 1, 'format' => $format, 'sesskey' => sesskey()]),
get_string('resetindentation', 'admin'),
'post'
);
$cancelbutton = new single_button($backurl, get_string('cancel'));
echo $OUTPUT->confirm(
get_string('resetindentation_help', 'admin', ['format' => get_string('pluginname', 'format_'.$format)]),
$confirmbutton,
$cancelbutton,
$displayoptions
);
echo $OUTPUT->footer();
+763
View File
@@ -3371,6 +3371,7 @@
<VENDOR name="oracle" version="11.2" />
</DATABASE>
<PHP version="7.3.0" level="required">
<RESTRICT function="restrict_php_version_81" message="unsupportedphpversion81" />
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
@@ -3539,6 +3540,8 @@
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="4.0" requires="3.6">
@@ -3555,6 +3558,7 @@
<VENDOR name="oracle" version="11.2" />
</DATABASE>
<PHP version="7.3.0" level="required">
<RESTRICT function="restrict_php_version_81" message="unsupportedphpversion81" />
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
@@ -3733,4 +3737,763 @@
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="4.1" requires="3.9">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="10.4" />
<VENDOR name="mysql" version="5.7" />
<VENDOR name="postgres" version="12" />
<VENDOR name="mssql" version="14.0" />
<VENDOR name="oracle" version="19" />
</DATABASE>
<PHP version="7.4.0" level="required">
<RESTRICT function="restrict_php_version_82" message="unsupportedphpversion82" />
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="required">
<FEEDBACK>
<ON_ERROR message="mbstringrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="optional"/>
<PHP_EXTENSION name="exif" level="optional"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
<FEEDBACK>
<ON_CHECK message="sixtyfourbitswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="4.2" requires="3.11.8">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="10.6.7" />
<VENDOR name="mysql" version="8.0" />
<VENDOR name="postgres" version="13" />
<VENDOR name="mssql" version="14.0" />
<VENDOR name="oracle" version="19" />
</DATABASE>
<PHP version="8.0.0" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="required">
<FEEDBACK>
<ON_ERROR message="mbstringrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="required"/>
<PHP_EXTENSION name="exif" level="optional"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="required">
<FEEDBACK>
<ON_ERROR message="sixtyfourbitsrequired" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mod_assignment" level="required">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="4.3" requires="3.11.8">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="10.6.7" />
<VENDOR name="mysql" version="8.0" />
<VENDOR name="postgres" version="13" />
<VENDOR name="mssql" version="14.0" />
<VENDOR name="oracle" version="19" />
</DATABASE>
<PHP version="8.0.0" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="required">
<FEEDBACK>
<ON_ERROR message="mbstringrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="required"/>
<PHP_EXTENSION name="exif" level="optional"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="required">
<FEEDBACK>
<ON_ERROR message="sixtyfourbitsrequired" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mod_assignment" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_db_prefix_length" level="required">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="4.4" requires="4.1.2">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="10.6.7" />
<VENDOR name="mysql" version="8.0" />
<VENDOR name="postgres" version="13" />
<VENDOR name="mssql" version="14.0" />
<VENDOR name="oracle" version="19" />
</DATABASE>
<PHP version="8.1.0" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="required">
<FEEDBACK>
<ON_ERROR message="mbstringrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="required"/>
<PHP_EXTENSION name="exif" level="optional"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="required">
<FEEDBACK>
<ON_ERROR message="sixtyfourbitsrequired" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mod_assignment" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_db_prefix_length" level="required">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
</COMPATIBILITY_MATRIX>
+10 -2
View File
@@ -6,7 +6,7 @@ require_once(__DIR__ . '/../../config.php');
require_once($CFG->libdir.'/adminlib.php');
include_once($CFG->dirroot.'/mnet/lib.php');
$sort = optional_param('sort', 'username', PARAM_ALPHA);
$sort = optional_param('sort', 'username', PARAM_ALPHAEXT);
$dir = optional_param('dir', 'ASC', PARAM_ALPHA);
$page = optional_param('page', 0, PARAM_INT);
$perpage = optional_param('perpage', 30, PARAM_INT);
@@ -154,7 +154,15 @@ foreach ($columns as $column) {
$headings[$column] = "<a href=\"?sort=$column&amp;dir=$columndir&amp;\">".$string[$column]."</a>$columnicon";
}
$headings['delete'] = '';
$acl = $DB->get_records('mnet_sso_access_control', null, "$sort $dir", '*'); //, $page * $perpage, $perpage);
$sortorder = get_safe_orderby([
'username' => 'username',
'mnet_host_id' => 'mnet_host_id',
'access' => 'accessctrl',
'default' => 'username',
], $sort, $dir, false);
$acl = $DB->get_records('mnet_sso_access_control', null, $sortorder);
$aclcount = $DB->count_records('mnet_sso_access_control');
if (!$acl) {
+18 -3
View File
@@ -46,11 +46,23 @@
$formcontinue = new single_button(new moodle_url('index.php', array('confirm' => md5($mnet->public_key))), get_string('yes'));
$formcancel = new single_button(new moodle_url('index.php', array()), get_string('no'));
echo $OUTPUT->header();
echo $OUTPUT->confirm(get_string("deletekeycheck", "mnet"), $formcontinue, $formcancel);
echo $OUTPUT->footer();
exit;
} else {
// We're deleting
// If no/cancel then redirect back to the network setting page.
if (!isset($form->confirm)) {
redirect(
new moodle_url('/admin/mnet/index.php'),
get_string('keydeletedcancelled', 'mnet'),
null,
\core\output\notification::NOTIFY_SUCCESS
);
}
if (!isset($SESSION->mnet_confirm_delete_key)) {
// fail - you're being attacked?
@@ -63,8 +75,12 @@
if($time < time() - 60) {
// fail - you're out of time.
print_error ('deleteoutoftime', 'mnet', 'index.php');
exit;
redirect(
new moodle_url('/admin/mnet/index.php'),
get_string('deleteoutoftime', 'mnet'),
null,
\core\output\notification::NOTIFY_WARNING
);
}
if ($key != md5(sha1($mnet->keypair['keypair_PEM']))) {
@@ -75,7 +91,6 @@
$mnet->replace_keys();
redirect('index.php', get_string('keydeleted','mnet'));
exit;
}
}
$hosts = $DB->get_records_select('mnet_host', "id <> ? AND deleted = 0", array($CFG->mnet_localhost_id), 'wwwroot ASC');
+2 -3
View File
@@ -59,9 +59,8 @@ class mnet_simple_host_form extends moodleform {
$wwwroot = 'http://'.$wwwroot;
}
if ($host = $DB->get_record('mnet_host', array('wwwroot' => $wwwroot))) {
global $CFG;
return array('wwwroot' => get_string('hostexists', 'mnet',
new moodle_url('/admin/mnet/peers.php', array('hostid' => $host->id))));
$str = get_string('hostexists', 'mnet', (new moodle_url('/admin/mnet/peers.php', ['hostid' => $host->id]))->out());
return array('wwwroot' => $str);
}
return array();
}
+9 -7
View File
@@ -31,17 +31,19 @@
if (!empty($hide) and confirm_sesskey()) {
$class = \core_plugin_manager::resolve_plugininfo_class('mod');
$class::enable_plugin($hide, false);
admin_get_root(true, false); // settings not required - only pages
if ($class::enable_plugin($hide, false)) {
// Settings not required - only pages.
admin_get_root(true, false);
}
redirect(new moodle_url('/admin/modules.php'));
}
if (!empty($show) and confirm_sesskey()) {
if (!empty($show) && confirm_sesskey()) {
$class = \core_plugin_manager::resolve_plugininfo_class('mod');
$class::enable_plugin($show, true);
admin_get_root(true, false); // settings not required - only pages
if ($class::enable_plugin($show, true)) {
// Settings not required - only pages.
admin_get_root(true, false);
}
redirect(new moodle_url('/admin/modules.php'));
}
+23 -12
View File
@@ -30,25 +30,36 @@
require_once(__DIR__ . '/../config.php');
// The state parameter we've given (used in moodle as a redirect url).
// Per https://www.rfc-editor.org/rfc/rfc6749#section-4.1.2.1, state is required, even during error responses.
$state = required_param('state', PARAM_LOCALURL);
$redirecturl = new moodle_url($state);
$params = $redirecturl->params();
$error = optional_param('error', '', PARAM_RAW);
if ($error) {
$message = optional_param('error_description', '', PARAM_RAW);
if ($message) {
$SESSION->loginerrormsg = $message;
redirect(new moodle_url(get_login_url()));
} else {
$SESSION->loginerrormsg = $error;
redirect(new moodle_url(get_login_url()));
$message = optional_param('error_description', null, PARAM_RAW);
// Errors can occur for authenticated users, such as when a user denies authorization for some internal service call.
// In such cases, propagate the error to the component redirect URI.
if (isloggedin()) {
if (isset($params['sesskey']) && confirm_sesskey($params['sesskey'])) {
$redirecturl->param('error', $error);
if ($message) {
$redirecturl->param('error_description', $message);
}
redirect($redirecturl);
}
}
// Not logged in or the sesskey verification failed, redirect to login + show errors.
$SESSION->loginerrormsg = $message ?? $error;
redirect(new moodle_url(get_login_url()));
}
// The authorization code generated by the authorization server.
$code = required_param('code', PARAM_RAW);
// The state parameter we've given (used in moodle as a redirect url).
$state = required_param('state', PARAM_LOCALURL);
$redirecturl = new moodle_url($state);
$params = $redirecturl->params();
if (isset($params['sesskey']) and confirm_sesskey($params['sesskey'])) {
$redirecturl->param('oauth2code', $code);
@@ -16,6 +16,8 @@
namespace core_adminpresets\local\setting;
use admin_setting_configcheckbox;
/**
* Checkbox setting.
*
@@ -26,15 +28,15 @@ namespace core_adminpresets\local\setting;
*/
class adminpresets_admin_setting_configcheckbox extends adminpresets_setting {
protected function set_value($value) {
$this->value = clean_param($value, PARAM_BOOL);
$this->set_visiblevalue();
return true;
}
/**
* Sets the visible name for the setting selected value
*/
protected function set_visiblevalue() {
if ($this->value) {
/** @var admin_setting_configcheckbox $settingdata */
$settingdata = $this->get_settingdata();
// We need to compare the "yes" value of the inner checkbox, which isn't necessarily boolean.
if ($this->value == $settingdata->yes) {
$str = get_string('yes');
} else {
$str = get_string('no');
@@ -34,7 +34,7 @@ class adminpresets_admin_setting_configselect extends adminpresets_setting {
*/
protected function set_value($value) {
// When we intantiate the class we need the choices.
if (empty($this->settindata->choices) && method_exists($this->settingdata, 'load_choices')) {
if (empty($this->settingdata->choices) && method_exists($this->settingdata, 'load_choices')) {
$this->settingdata->load_choices();
}
+17 -29
View File
@@ -24,6 +24,7 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
use core_question\local\bank\question_version_status;
require_once(__DIR__ . '/../config.php');
require_once($CFG->libdir . '/questionlib.php');
@@ -42,36 +43,23 @@ $qtypes = question_bank::get_all_qtypes();
$pluginmanager = core_plugin_manager::instance();
// Get some data we will need - question counts and which types are needed.
$hiddenstatus = \core_question\local\bank\question_version_status::QUESTION_STATUS_HIDDEN;
$draftstatus = \core_question\local\bank\question_version_status::QUESTION_STATUS_DRAFT;
// The second JOIN on question_versions (qv2) is to get the latest version of each question. 
// (Using this sort of JOIN is a known trick for doing this in the fastest possible way.)
$counts = $DB->get_records_sql("
SELECT q.qtype,
COUNT(qv.id) AS numquestions,
SUM(CASE WHEN qv.status = :hiddenstatus THEN 1 ELSE 0 END) AS numhidden,
SUM(CASE WHEN qv.status = :draftstatus THEN 1 ELSE 0 END) AS numdraft
FROM {question} q
JOIN {question_versions} qv ON q.id = qv.questionid
LEFT JOIN {question_versions} qv2 ON qv.questionbankentryid = qv2.questionbankentryid AND qv.version < qv2.version
WHERE qv2.questionbankentryid IS NULL
GROUP BY q.qtype
", [
'hiddenstatus' => question_version_status::QUESTION_STATUS_HIDDEN,
'draftstatus' => question_version_status::QUESTION_STATUS_DRAFT,
]);
$sql = "SELECT result.qtype,
SUM(result.numquestions) AS numquestions,
SUM(result.numhidden) AS numhidden,
SUM(result.numdraft) AS numdraft
FROM (SELECT data.qtype,
data.versionid,
COUNT(data.numquestions) AS numquestions,
(SELECT COUNT(qv.id)
FROM {question_versions} qv
WHERE qv.id = data.versionid
AND qv.status = :hiddenstatus) AS numhidden,
(SELECT COUNT(qv.id)
FROM {question_versions} qv
WHERE qv.id = data.versionid
AND qv.status = :draftstatus) AS numdraft
FROM (SELECT q.qtype, qv.id AS versionid, 1 AS numquestions
FROM {question} q
JOIN {question_versions} qv ON qv.questionid = q.id
JOIN {question_bank_entries} qbe ON qbe.id = qv.questionbankentryid
AND qv.version = (SELECT MAX(v.version)
FROM {question_versions} v
JOIN {question_bank_entries} be ON be.id = v.questionbankentryid
WHERE be.id = qbe.id)) data
GROUP BY data.qtype, data.versionid) result
GROUP BY result.qtype";
$counts = $DB->get_records_sql($sql, ['hiddenstatus' => $hiddenstatus, 'draftstatus' => $draftstatus]);
$needed = [];
foreach ($qtypes as $qtypename => $qtype) {
if (!isset($counts[$qtypename])) {
@@ -87,8 +87,12 @@ class core_role_admins_existing_selector extends user_selector_base {
} else {
$groupnameprefix = get_string('extusers', 'core_role');
foreach ($availableusers as $user) {
$domain = substr($user->email, strpos($user->email, '@'));
$groupname = "$groupnameprefix $domain";
if (isset($user->email)) {
$domain = substr($user->email, strpos($user->email, '@'));
$groupname = "$groupnameprefix $domain";
} else {
$groupname = $groupnameprefix;
}
$result[$groupname][] = $user;
}
}
+1
View File
@@ -90,6 +90,7 @@ $title = get_string('overridepermissionsforrole', 'core_role', $a);
$currenttab = 'permissions';
$PAGE->set_title($title);
$PAGE->activityheader->disable();
$PAGE->navbar->add($straction);
switch ($context->contextlevel) {
case CONTEXT_SYSTEM:
+7 -7
View File
@@ -14,19 +14,19 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_role;
use core_role_preset;
/**
* Role XML presets test case.
*
* @package core_role
* @category phpunit
* @category test
* @copyright 2013 Petr Skoda {@link http://skodak.org}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
class core_role_preset_testcase extends advanced_testcase {
class preset_test extends \advanced_testcase {
public function test_xml() {
global $DB;
@@ -61,7 +61,7 @@ class core_role_preset_testcase extends advanced_testcase {
FROM {role_capabilities}
WHERE contextid = :syscontext AND roleid = :roleid
ORDER BY capability ASC",
array('syscontext'=>context_system::instance()->id, 'roleid'=>$role->id));
array('syscontext' => \context_system::instance()->id, 'roleid' => $role->id));
foreach ($capabilities as $cap) {
$this->assertEquals($cap->permission, $info['permissions'][$cap->capability]);
+10 -9
View File
@@ -33,8 +33,16 @@ if (!($settingspage->check_access())) {
die;
}
$hassiteconfig = has_capability('moodle/site:config', $PAGE->context);
if ($hassiteconfig) {
// If the context in the admin_settingpage object is explicitly defined and it is not system, reset the current
// page context and use that one instead. This ensures that the proper navigation is displayed and highlighted.
if ($settingspage->context && !$settingspage->context instanceof \context_system) {
$PAGE->set_context($settingspage->context);
}
$hassiteconfig = has_capability('moodle/site:config', context_system::instance());
// Display the admin search input element in the page header if the user has the capability to change the site
// configuration and the current page context is system.
if ($hassiteconfig && $PAGE->context instanceof \context_system) {
$PAGE->add_header_action($OUTPUT->render_from_template('core_admin/header_search_input', [
'action' => new moodle_url('/admin/search.php'),
]));
@@ -125,13 +133,6 @@ if (empty($SITE->fullname)) {
$PAGE->set_title("$SITE->shortname: " . implode(": ",$visiblepathtosection));
$PAGE->set_heading($SITE->fullname);
if ($section === 'frontpagesettings') {
$frontpagenode = $PAGE->settingsnav->find('frontpage', navigation_node::TYPE_SETTING);
$frontpagenode->make_active();
$PAGE->navbar->add(get_string('frontpage', 'admin'),
new moodle_url('/admin/category.php', ['category' => 'frontpage']));
$PAGE->navbar->add(get_string('frontpagesettings', 'admin'), $PAGE->url);
}
echo $OUTPUT->header();
if ($errormsg !== '') {
+11 -1
View File
@@ -88,6 +88,15 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
$downloadcontentsitedefault->add_dependent_on('downloadcoursecontentallowed');
$temp->add($downloadcontentsitedefault);
$temp->add(
new admin_setting_configtext(
'moodlecourse/participantsperpage',
new lang_string('participants:perpage', 'course'),
new lang_string('participants:perpage_help', 'course'),
20
)
);
// Course format.
$temp->add(new admin_setting_heading('courseformathdr', new lang_string('type_format', 'plugin'), ''));
@@ -468,7 +477,8 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
$temp->add(new admin_setting_heading('automatedsettings', new lang_string('automatedsettings','backup'), new lang_string('recyclebin_desc', 'backup')));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_users', new lang_string('generalusers', 'backup'), new lang_string('configgeneralusers', 'backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_role_assignments', new lang_string('generalroleassignments','backup'), new lang_string('configgeneralroleassignments','backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_activities', new lang_string('generalactivities','backup'), new lang_string('configgeneralactivities','backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_activities', new lang_string('generalactivities', 'backup'),
new lang_string('backupautoactivitiesdescription', 'backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_blocks', new lang_string('generalblocks','backup'), new lang_string('configgeneralblocks','backup'), 1));
$temp->add(new admin_setting_configcheckbox(
'backup/backup_auto_files',
+4 -1
View File
@@ -527,7 +527,10 @@ if ($hassiteconfig && !empty($CFG->enableplagiarism)) {
$plugin->load_settings($ADMIN, 'plagiarism', $hassiteconfig);
}
}
$ADMIN->add('reports', new admin_externalpage('comments', new lang_string('comments'), $CFG->wwwroot.'/comment/', 'moodle/site:viewreports'));
// Comments report, note this page is really just a means to delete comments so check that.
$ADMIN->add('reports', new admin_externalpage('comments', new lang_string('comments'), $CFG->wwwroot . '/comment/index.php',
'moodle/comment:delete'));
// Course reports settings
if ($hassiteconfig) {
+2 -1
View File
@@ -240,7 +240,8 @@ if ($hassiteconfig
if ($field->param2 > 255 || $field->datatype != 'text') {
continue;
}
$fields['profile_field_' . $field->shortname] = $field->name . ' *';
$fields['profile_field_' . $field->shortname] = format_string($field->name, true,
['context' => context_system::instance()]) . ' *';
}
return $fields;
@@ -51,12 +51,13 @@
<div class="form-password">
<span data-passwordunmask="wrapper" data-passwordunmaskid="{{ id }}">
<span data-passwordunmask="editor">
<input type="hidden"
<input type="password"
autocomplete="new-password"
name="{{ name }}"
id="{{ id }}"
value="{{ value }}"
data-size="{{ size }}"
class="form-control d-inline-block"
class="form-control d-none"
>
</span>
<a href="#" data-passwordunmask="edit" title="{{ edithint }}">
+3 -3
View File
@@ -18,7 +18,7 @@ Feature: An administrator can browse user accounts
When I navigate to "Users > Accounts > Browse list of users" in site administration
# Name field always present, email field is default for showidentity.
Then the following should exist in the "users" table:
| First name / Surname | Email address |
| First name / Last name | Email address |
| User One | one@example.com |
| User Two | two@example.com |
# Should not see other identity fields or non-default name fields.
@@ -34,7 +34,7 @@ Feature: An administrator can browse user accounts
| alternativefullnameformat | firstnamephonetic lastname |
When I navigate to "Users > Accounts > Browse list of users" in site administration
Then the following should exist in the "users" table:
| First name - phonetic / Surname | Email address |
| First name - phonetic / Last name | Email address |
| Yewzer One | one@example.com |
| Yoozare Two | two@example.com |
@@ -43,7 +43,7 @@ Feature: An administrator can browse user accounts
| showuseridentity | department,profile_field_frog |
When I navigate to "Users > Accounts > Browse list of users" in site administration
Then the following should exist in the "users" table:
| First name / Surname | Favourite frog | Department |
| First name / Last name | Favourite frog | Department |
| User One | Kermit | Attack |
| User Two | Tree | Defence |
And I should not see "Email address" in the "table" "css_element"
@@ -15,7 +15,7 @@ Feature: Allowing multiple accounts to have the same email address
And I set the following fields to these values:
| Username | s2 |
| First name | Jane |
| Surname | Doe |
| Last name | Doe |
| Email address | <email> |
| New password | test |
And I press "Create user"
@@ -35,9 +35,7 @@ Feature: Allowing multiple accounts to have the same email address
| username | firstname | lastname | email |
| s1 | John | Doe | s1@example.com |
| s2 | Jane | Doe | s2@example.com |
When I log in as "admin"
And I navigate to "Users > Accounts > Browse list of users" in site administration
And I click on "Edit" "link" in the "Jane Doe" "table_row"
When I am on the "s2" "user > editing" page logged in as "admin"
And I set the field "Email address" to "<email>"
And I press "Update profile"
Then I should <expect> "This email address is already registered."
+4 -2
View File
@@ -18,6 +18,10 @@ Feature: An administrator can filter user accounts by role, cohort and other pro
And the following "cohorts" exist:
| name | idnumber |
| Cohort 1 | CH1 |
And the following "cohort members" exist:
| user | cohort |
| user2 | CH1 |
| user3 | CH1 |
And the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
@@ -27,8 +31,6 @@ Feature: An administrator can filter user accounts by role, cohort and other pro
| user2 | C1 | student |
| user3 | C1 | student |
And I log in as "admin"
And I add "User Two (two@example.com)" user to "CH1" cohort members
And I add "User Three (three@example.com)" user to "CH1" cohort members
And I navigate to "Users > Accounts > Browse list of users" in site administration
Scenario: Filter user accounts by role and cohort
@@ -8,7 +8,7 @@ Feature: An administrator can configure the available user list filters
When I log in as "admin"
And I navigate to "Users > Accounts > Browse list of users" in site administration
Then I should see "User full name"
And I should not see "Surname" in the "New filter" "fieldset"
And I should not see "Last name" in the "New filter" "fieldset"
And I should not see "Firstname" in the "New filter" "fieldset"
And I should not see "Username" in the "New filter" "fieldset"
And I should not see "Email address" in the "New filter" "fieldset"
@@ -30,7 +30,7 @@ Feature: An administrator can configure the available user list filters
And I should not see "MNet ID provider" in the "New filter" "fieldset"
And I navigate to "Users > Accounts > Bulk user actions" in site administration
Then I should see "User full name"
And I should not see "Surname" in the "New filter" "fieldset"
And I should not see "Last name" in the "New filter" "fieldset"
And I should not see "Firstname" in the "New filter" "fieldset"
And I should not see "Username" in the "New filter" "fieldset"
And I should not see "Email address" in the "New filter" "fieldset"
@@ -57,7 +57,7 @@ Feature: An administrator can configure the available user list filters
And I log in as "admin"
And I navigate to "Users > Accounts > Browse list of users" in site administration
Then I should see "User full name"
And I should not see "Surname" in the "New filter" "fieldset"
And I should not see "Last name" in the "New filter" "fieldset"
And I should not see "Firstname" in the "New filter" "fieldset"
And I should see "Username" in the "New filter" "fieldset"
And I should see "Email address" in the "New filter" "fieldset"
@@ -79,7 +79,7 @@ Feature: An administrator can configure the available user list filters
And I should not see "MNet ID provider" in the "New filter" "fieldset"
And I navigate to "Users > Accounts > Bulk user actions" in site administration
Then I should see "User full name"
And I should not see "Surname" in the "New filter" "fieldset"
And I should not see "Last name" in the "New filter" "fieldset"
And I should not see "Firstname" in the "New filter" "fieldset"
And I should see "Username" in the "New filter" "fieldset"
And I should see "Email address" in the "New filter" "fieldset"
@@ -106,7 +106,7 @@ Feature: An administrator can configure the available user list filters
And I log in as "admin"
And I navigate to "Users > Accounts > Browse list of users" in site administration
Then I should see "User full name"
And I should not see "Surname" in the "New filter" "fieldset"
And I should not see "Last name" in the "New filter" "fieldset"
And I should not see "Firstname" in the "New filter" "fieldset"
And I should not see "Username" in the "New filter" "fieldset"
And I should not see "Email address" in the "New filter" "fieldset"
@@ -128,7 +128,7 @@ Feature: An administrator can configure the available user list filters
And I should not see "MNet ID provider" in the "New filter" "fieldset"
And I navigate to "Users > Accounts > Bulk user actions" in site administration
Then I should see "User full name"
And I should not see "Surname" in the "New filter" "fieldset"
And I should not see "Last name" in the "New filter" "fieldset"
And I should not see "Firstname" in the "New filter" "fieldset"
And I should not see "Username" in the "New filter" "fieldset"
And I should not see "Email address" in the "New filter" "fieldset"
+113
View File
@@ -0,0 +1,113 @@
@core @core_admin @core_course @javascript
Feature: Reset course indentation
In order to reset indentation in course modules
As a admin
I want change indent value for all the modules of a course format courses in one go
Background:
Given the following "courses" exist:
| fullname | shortname | format |
| Topics Course 1 | T1 | topics |
| Topics Course 2 | T2 | topics |
| Weekly Course 1 | W1 | weeks |
| Weekly Course 2 | W2 | weeks |
And the following "activities" exist:
| activity | name | intro | course | idnumber |
| forum | Topics forum name | Topics forum description | T1 | forum1 |
| data | Topics database name | Topics database description | T1 | data1 |
| wiki | Topics wiki name | Topics wiki description | T2 | wiki1 |
| forum | Weekly forum name | Weekly forum description | W1 | forum2 |
| data | Weekly database name | Weekly database description | W1 | data2 |
| wiki | Weekly wiki name | Weekly wiki description | W2 | wiki2 |
And I log in as "admin"
And I am on "Topics Course 1" course homepage with editing mode on
And I open "Topics forum name" actions menu
And I click on "Move right" "link" in the "Topics forum name" activity
And I open "Topics forum name" actions menu
And "Move right" "link" in the "Topics forum name" "activity" should not be visible
And "Move left" "link" in the "Topics forum name" "activity" should be visible
And I press the escape key
And I open "Topics database name" actions menu
And "Move right" "link" in the "Topics database name" "activity" should be visible
And "Move left" "link" in the "Topics database name" "activity" should not be visible
And I am on "Topics Course 2" course homepage with editing mode on
And I open "Topics wiki name" actions menu
And I click on "Move right" "link" in the "Topics wiki name" activity
And I open "Topics wiki name" actions menu
And "Move right" "link" in the "Topics wiki name" "activity" should not be visible
And "Move left" "link" in the "Topics wiki name" "activity" should be visible
And I am on "Weekly Course 1" course homepage with editing mode on
And I open "Weekly forum name" actions menu
And I click on "Move right" "link" in the "Weekly forum name" activity
And I open "Weekly forum name" actions menu
And "Move right" "link" in the "Weekly forum name" "activity" should not be visible
And "Move left" "link" in the "Weekly forum name" "activity" should be visible
And I press the escape key
And I open "Weekly database name" actions menu
And "Move right" "link" in the "Weekly database name" "activity" should be visible
And "Move left" "link" in the "Weekly database name" "activity" should not be visible
And I am on "Weekly Course 2" course homepage with editing mode on
And I open "Weekly wiki name" actions menu
And I click on "Move right" "link" in the "Weekly wiki name" activity
And I open "Weekly wiki name" actions menu
And "Move right" "link" in the "Weekly wiki name" "activity" should not be visible
And "Move left" "link" in the "Weekly wiki name" "activity" should be visible
Scenario Outline: Apply course indentation reset
Given I navigate to "Plugins > Course formats > <format> format" in site administration
And I wait "5" seconds
And "Reset indentation" "link" should exist
When I click on "Reset indentation" "link"
And I should see "Reset indentation on course page"
And "Reset indentation" "button" should exist
And I click on "Reset indentation" "button"
Then I should see "Indentation reset"
And I am on "<format> Course 1" course homepage with editing mode on
And I open "<format> forum name" actions menu
And "Move right" "link" in the "<format> forum name" "activity" should be visible
And "Move left" "link" in the "<format> forum name" "activity" should not be visible
And I press the escape key
And I open "<format> database name" actions menu
And "Move right" "link" in the "<format> database name" "activity" should be visible
And "Move left" "link" in the "<format> database name" "activity" should not be visible
And I am on "<format> Course 2" course homepage with editing mode on
And I open "<format> wiki name" actions menu
And "Move right" "link" in the "<format> wiki name" "activity" should be visible
And "Move left" "link" in the "<format> wiki name" "activity" should not be visible
# Check other course formats had not been reset
And I am on "<other> Course 1" course homepage with editing mode on
And I open "<other> forum name" actions menu
And "Move right" "link" in the "<other> forum name" "activity" should not be visible
And "Move left" "link" in the "<other> forum name" "activity" should be visible
Examples:
| format | other |
| Topics | Weekly |
| Weekly | Topics |
Scenario Outline: Cancel course indentation reset
Given I navigate to "Plugins > Course formats > <format> format" in site administration
And "Reset indentation" "link" should exist
When I click on "Reset indentation" "link"
And I should see "Reset indentation on course page"
And "Reset indentation" "button" should exist
And "Cancel" "button" should exist
And I click on "Cancel" "button"
Then I should not see "Indentation reset"
And I am on "<format> Course 1" course homepage with editing mode on
And I open "<format> forum name" actions menu
And "Move right" "link" in the "<format> forum name" "activity" should not be visible
And "Move left" "link" in the "<format> forum name" "activity" should be visible
And I press the escape key
And I open "<format> database name" actions menu
And "Move right" "link" in the "<format> database name" "activity" should be visible
And "Move left" "link" in the "<format> database name" "activity" should not be visible
And I am on "<format> Course 2" course homepage with editing mode on
And I open "<format> wiki name" actions menu
And "Move right" "link" in the "<format> wiki name" "activity" should not be visible
And "Move left" "link" in the "<format> wiki name" "activity" should be visible
Examples:
| format |
| Topics |
| Weekly |
+1 -1
View File
@@ -63,7 +63,7 @@ Feature: View task logs report and use its filters
Then I should see "Filters applied"
And I should see "Filters (1)" in the "#dropdownFiltersButton" "css_element"
And I should see "Nothing to display"
And I click on "Reset" "button" in the "[data-region='report-filters']" "css_element"
And I click on "Reset all" "button" in the "[data-region='report-filters']" "css_element"
And I should see "Filters reset"
And I should not see "Filters (1)" in the "#dropdownFiltersButton" "css_element"
And I should see "Filters" in the "#dropdownFiltersButton" "css_element"
@@ -1,18 +1,20 @@
@tool @tool_admin_presets
Feature: I can download a preset
Background:
Given I log in as "admin"
And the following "tool_admin_presets > preset" exist:
Given the following "tool_admin_presets > preset" exist:
| name |
| Custom preset |
And I navigate to "Site admin presets" in site administration
@javascript
Scenario: Core and custom preset settings can be downloaded
Scenario: Custom preset settings can be downloaded
Given I log in as "admin"
And I navigate to "Site admin presets" in site administration
When I open the action menu in "Custom preset" "table_row"
Then following "Download" "link" in the "Custom preset" "table_row" should download between "0" and "5000" bytes
And I open the action menu in "Starter" "table_row"
And following "Download" "link" in the "Starter" "table_row" should download between "0" and "5000" bytes
@javascript
Scenario: Core preset settings can be downloaded
Given I log in as "admin"
And I navigate to "Site admin presets" in site administration
When I open the action menu in "Starter" "table_row"
Then following "Download" "link" in the "Starter" "table_row" should download between "0" and "5000" bytes
@@ -11,8 +11,11 @@ Feature: I can add a new preset with current settings
And I set the field "Name" to "Starter"
And I set the field "Description" to "Non-core starter preset"
When I click on "Create preset" "button"
Then I should see "Moodle with all of the most popular features" in the "Starter" "table_row"
And I should see "Starter" in the "Non-core starter preset" "table_row"
Then the following should exist in the "Site admin presets table" table:
| Name | Description |
| Starter | Moodle with all of the most popular features, including Assignment, Feedback, Forum, H5P, Quiz and Completion tracking. |
| Full | All the Starter features plus External (LTI) tool, SCORM, Workshop, Analytics, Badges, Competencies, Learning plans and lots more. |
| Starter | Non-core starter preset |
Scenario: Export current settings
Given I click on "Create preset" "button"
@@ -23,7 +23,7 @@ namespace tool_admin_presets\event;
* @category test
* @copyright 2021 Sara Arjona (sara@moodle.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\event\preset_deleted
* @covers \tool_admin_presets\event\preset_deleted
*/
class preset_deleted_test extends \advanced_testcase {
@@ -23,7 +23,7 @@ namespace tool_admin_presets\event;
* @category test
* @copyright 2021 Sara Arjona (sara@moodle.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\event\preset_downloaded
* @covers \tool_admin_presets\event\preset_downloaded
*/
class preset_downloaded_test extends \advanced_testcase {
@@ -23,7 +23,7 @@ namespace tool_admin_presets\event;
* @category test
* @copyright 2021 Sara Arjona (sara@moodle.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\event\preset_exported
* @covers \tool_admin_presets\event\preset_exported
*/
class preset_exported_test extends \advanced_testcase {
@@ -23,7 +23,7 @@ namespace tool_admin_presets\event;
* @category test
* @copyright 2021 Sara Arjona (sara@moodle.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\event\preset_imported
* @covers \tool_admin_presets\event\preset_imported
*/
class preset_imported_test extends \advanced_testcase {
@@ -23,7 +23,7 @@ namespace tool_admin_presets\event;
* @category test
* @copyright 2021 Sara Arjona (sara@moodle.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\event\preset_loaded
* @covers \tool_admin_presets\event\preset_loaded
*/
class preset_loaded_test extends \advanced_testcase {
@@ -23,7 +23,7 @@ namespace tool_admin_presets\event;
* @category test
* @copyright 2021 Sara Arjona (sara@moodle.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\event\preset_previewed
* @covers \tool_admin_presets\event\preset_previewed
*/
class preset_previewed_test extends \advanced_testcase {
@@ -23,7 +23,7 @@ namespace tool_admin_presets\event;
* @category test
* @copyright 2021 Sara Arjona (sara@moodle.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\event\preset_reverted
* @covers \tool_admin_presets\event\preset_reverted
*/
class preset_reverted_test extends \advanced_testcase {
@@ -23,7 +23,7 @@ namespace tool_admin_presets\event;
* @category test
* @copyright 2021 Sara Arjona (sara@moodle.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\event\presets_listed
* @covers \tool_admin_presets\event\presets_listed
*/
class presets_listed_test extends \advanced_testcase {
@@ -34,8 +34,11 @@ Feature: Manage availability conditions
Given the following "courses" exist:
| fullname | shortname | format |
| Course 1 | C1 | topics |
And the following "activity" exists:
| activity | page |
| course | C1 |
| name | P1 |
And I log in as "admin"
And I am on site homepage
When I navigate to "Plugins > Availability restrictions > Manage restrictions" in site administration
# Check the icon is there (it should be a Hide icon, meaning is currently visible).
@@ -51,8 +54,7 @@ Feature: Manage availability conditions
# OK, toggling works. Set the grade one to Hide and we'll go see if it actually worked.
And I click on "Hide" "icon" in the "Restriction by grade" "table_row"
And I am on "Course 1" course homepage with editing mode on
And I add a "Page" to section "1"
And I am on the "P1" "page activity editing" page
And I expand all fieldsets
And I click on "Add restriction..." "button"
And "Add restriction..." "dialogue" should be visible
+11
View File
@@ -0,0 +1,11 @@
define("tool_behat/steps",["exports","core/ajax","core/templates","core/pending"],(function(_exports,_ajax,_templates,_pending){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}
/**
* Enhancements for the step definitions page.
*
* @module tool_behat/steps
* @copyright 2022 Catalyst IT EU
* @author Mark Johnson <mark.johnson@catalyst-eu.net>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,_ajax=_interopRequireDefault(_ajax),_templates=_interopRequireDefault(_templates),_pending=_interopRequireDefault(_pending);_exports.init=()=>{document.addEventListener("change",(async e=>{const entityElement=e.target.closest(".entities"),stepElement=e.target.closest(".stepcontent");if(!entityElement||!stepElement)return;const pendingPromise=new _pending.default("tool_behat/steps:change"),entityData=await(entityType=e.target.value,_ajax.default.call([{methodname:"tool_behat_get_entity_generator",args:{entitytype:entityType}}])[0]);var entityType;const{html:html,js:js}=await(entityData=>{var _entityData$required;return null!==(_entityData$required=entityData.required)&&void 0!==_entityData$required&&_entityData$required.length?_templates.default.renderForPromise("tool_behat/steprequiredfields",{fields:entityData.required}):Promise.resolve({html:"",js:""})})(entityData),stepRequiredFields=stepElement.querySelector(".steprequiredfields");stepRequiredFields?await _templates.default.replaceNode(stepRequiredFields,html,js):await _templates.default.appendNodeContents(stepElement,html,js),pendingPromise.resolve()}))}}));
//# sourceMappingURL=steps.min.js.map
@@ -0,0 +1 @@
{"version":3,"file":"steps.min.js","sources":["../src/steps.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\nimport Ajax from 'core/ajax';\nimport Templates from 'core/templates';\nimport PendingJS from 'core/pending';\n\n/**\n * Enhancements for the step definitions page.\n *\n * @module tool_behat/steps\n * @copyright 2022 Catalyst IT EU\n * @author Mark Johnson <mark.johnson@catalyst-eu.net>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\n/**\n * Call the get_entity_generator web service function\n *\n * Takes the name of an entity generator and returns an object containing a list of the required fields.\n *\n * @param {String} entityType\n * @returns {Promise}\n */\nconst getGeneratorEntities = (entityType) => Ajax.call([{\n methodname: 'tool_behat_get_entity_generator',\n args: {entitytype: entityType}\n}])[0];\n\n/**\n * Render HTML for required fields\n *\n * Takes the entity data returned from getGeneratorEntities and renders the HTML to display the required fields.\n *\n * @param {String} entityData\n * @return {Promise}\n */\nconst getRequiredFieldsContent = (entityData) => {\n if (!entityData.required?.length) {\n return Promise.resolve({\n html: '',\n js: ''\n });\n }\n return Templates.renderForPromise('tool_behat/steprequiredfields', {fields: entityData.required});\n};\n\nexport const init = () => {\n // When an entity is selected in the \"the following exist\" step, fetch and display the required fields.\n document.addEventListener('change', async(e) => {\n const entityElement = e.target.closest('.entities');\n const stepElement = e.target.closest('.stepcontent');\n if (!entityElement || !stepElement) {\n return;\n }\n\n const pendingPromise = new PendingJS('tool_behat/steps:change');\n\n const entityData = await getGeneratorEntities(e.target.value);\n const {html, js} = await getRequiredFieldsContent(entityData);\n\n const stepRequiredFields = stepElement.querySelector('.steprequiredfields');\n if (stepRequiredFields) {\n await Templates.replaceNode(stepRequiredFields, html, js);\n } else {\n await Templates.appendNodeContents(stepElement, html, js);\n }\n pendingPromise.resolve();\n });\n};\n"],"names":["document","addEventListener","async","entityElement","e","target","closest","stepElement","pendingPromise","PendingJS","entityData","entityType","value","Ajax","call","methodname","args","entitytype","html","js","required","_entityData$required","length","Templates","renderForPromise","fields","Promise","resolve","getRequiredFieldsContent","stepRequiredFields","querySelector","replaceNode","appendNodeContents"],"mappings":";;;;;;;;4NA2DoB,KAEhBA,SAASC,iBAAiB,UAAUC,MAAAA,UAC1BC,cAAgBC,EAAEC,OAAOC,QAAQ,aACjCC,YAAcH,EAAEC,OAAOC,QAAQ,oBAChCH,gBAAkBI,yBAIjBC,eAAiB,IAAIC,iBAAU,2BAE/BC,iBAlCgBC,WAkCwBP,EAAEC,OAAOO,MAlClBC,cAAKC,KAAK,CAAC,CACpDC,WAAY,kCACZC,KAAM,CAACC,WAAYN,eACnB,IAH0BA,IAAAA,iBAmChBO,KAACA,KAADC,GAAOA,SAtBaT,CAAAA,0EACzBA,WAAWU,0CAAXC,qBAAqBC,OAMnBC,mBAAUC,iBAAiB,gCAAiC,CAACC,OAAQf,WAAWU,WAL5EM,QAAQC,QAAQ,CACnBT,KAAM,GACNC,GAAI,MAkBiBS,CAAyBlB,YAE5CmB,mBAAqBtB,YAAYuB,cAAc,uBACjDD,yBACMN,mBAAUQ,YAAYF,mBAAoBX,KAAMC,UAEhDI,mBAAUS,mBAAmBzB,YAAaW,KAAMC,IAE1DX,eAAemB"}
+82
View File
@@ -0,0 +1,82 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import Ajax from 'core/ajax';
import Templates from 'core/templates';
import PendingJS from 'core/pending';
/**
* Enhancements for the step definitions page.
*
* @module tool_behat/steps
* @copyright 2022 Catalyst IT EU
* @author Mark Johnson <mark.johnson@catalyst-eu.net>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
/**
* Call the get_entity_generator web service function
*
* Takes the name of an entity generator and returns an object containing a list of the required fields.
*
* @param {String} entityType
* @returns {Promise}
*/
const getGeneratorEntities = (entityType) => Ajax.call([{
methodname: 'tool_behat_get_entity_generator',
args: {entitytype: entityType}
}])[0];
/**
* Render HTML for required fields
*
* Takes the entity data returned from getGeneratorEntities and renders the HTML to display the required fields.
*
* @param {String} entityData
* @return {Promise}
*/
const getRequiredFieldsContent = (entityData) => {
if (!entityData.required?.length) {
return Promise.resolve({
html: '',
js: ''
});
}
return Templates.renderForPromise('tool_behat/steprequiredfields', {fields: entityData.required});
};
export const init = () => {
// When an entity is selected in the "the following exist" step, fetch and display the required fields.
document.addEventListener('change', async(e) => {
const entityElement = e.target.closest('.entities');
const stepElement = e.target.closest('.stepcontent');
if (!entityElement || !stepElement) {
return;
}
const pendingPromise = new PendingJS('tool_behat/steps:change');
const entityData = await getGeneratorEntities(e.target.value);
const {html, js} = await getRequiredFieldsContent(entityData);
const stepRequiredFields = stepElement.querySelector('.steprequiredfields');
if (stepRequiredFields) {
await Templates.replaceNode(stepRequiredFields, html, js);
} else {
await Templates.appendNodeContents(stepElement, html, js);
}
pendingPromise.resolve();
});
};
@@ -0,0 +1,92 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Return data about an entity generator.
*
* @package tool_behat
* @copyright 2022 onwards Catalyst IT EU {@link https://catalyst-eu.net}
* @author Mark Johnson <mark.johnson@catalyst-eu.net>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_behat\external;
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir . '/externallib.php');
/**
* External function for getting properties of entity generators.
*/
class get_entity_generator extends \external_api {
/**
* Define parameters for external function.
*
* The parameter is either in the format 'entity' or 'component_name > entity'. There is no appropriate param type for a
* string like this containing angle brackets, so we will do PARAM_RAW. The value will be parsed by
* behat_data_generators::parse_entity_type, which validates the format of the parameter and throws an exception if it is not
* correct.
*
* @return \external_function_parameters
*/
public static function execute_parameters(): \external_function_parameters {
return new \external_function_parameters([
'entitytype' => new \external_value(PARAM_RAW, 'Entity type that can be created by a generator.'),
]);
}
/**
* Return a list of the required fields for a given entity type.
*
* @param string $entitytype
* @return array
*/
public static function execute(string $entitytype): array {
global $CFG;
// Ensure we can load Behat and Facebook namespaces in behat libraries.
require_once("{$CFG->dirroot}/vendor/autoload.php");
require_once("{$CFG->libdir}/tests/behat/behat_data_generators.php");
$params = self::validate_parameters(self::execute_parameters(), ['entitytype' => $entitytype]);
$context = \context_system::instance();
self::validate_context($context);
require_capability('moodle/site:config', $context);
$generators = new \behat_data_generators();
$entity = $generators->get_entity($params['entitytype']);
return ['required' => $entity['required']];
}
/**
* Define return values.
*
* Return required fields
*
* @return \external_single_structure
*/
public static function execute_returns(): \external_single_structure {
return new \external_single_structure([
'required' => new \external_multiple_structure(
new \external_value(PARAM_TEXT, 'Required field'),
'Required fields',
VALUE_OPTIONAL
),
]);
}
}
+11 -9
View File
@@ -49,7 +49,7 @@ list($options, $unrecognized) = cli_get_params(
'torun' => 0,
'optimize-runs' => '',
'add-core-features-to-theme' => false,
'axe' => false,
'axe' => null,
'disable-composer' => false,
'composer-upgrade' => true,
'composer-self-update' => true,
@@ -69,7 +69,7 @@ Behat utilities to initialise behat tests
Usage:
php init.php [--parallel=value [--maxruns=value] [--fromrun=value --torun=value]]
[--axe] [-o | --optimize-runs] [-a | --add-core-features-to-theme]
[--no-axe] [-o | --optimize-runs] [-a | --add-core-features-to-theme]
[--no-composer-self-update] [--no-composer-upgrade]
[--disable-composer]
[--help]
@@ -79,7 +79,7 @@ Options:
-m, --maxruns Max parallel processes to be executed at one time
--fromrun Execute run starting from (Used for parallel runs on different vms)
--torun Execute run till (Used for parallel runs on different vms)
--axe Include axe accessibility tests
--no-axe Disable axe accessibility tests.
-o, --optimize-runs
Split features with specified tags in all parallel runs.
@@ -110,6 +110,12 @@ if (!empty($options['help'])) {
exit(0);
}
if ($options['axe']) {
echo "Axe accessibility tests are enabled by default, to disable them, use the --no-axe option.\n";
} else if ($options['axe'] === false) {
echo "Axe accessibility tests have been disabled.\n";
}
// Check which util file to call.
$utilfile = 'util_single_run.php';
$commandoptions = "";
@@ -118,9 +124,7 @@ if ($options['parallel'] && $options['parallel'] > 1) {
$utilfile = 'util.php';
// Sanitize all input options, so they can be passed to util.
foreach ($options as $option => $value) {
if ($value) {
$commandoptions .= " --$option=\"$value\"";
}
$commandoptions .= behat_get_command_flags($option, $value);
}
} else {
// Only sanitize options for single run.
@@ -130,9 +134,7 @@ if ($options['parallel'] && $options['parallel'] > 1) {
];
foreach ($cmdoptionsforsinglerun as $option) {
if (!empty($options[$option])) {
$commandoptions .= " --$option='$options[$option]'";
}
$commandoptions .= behat_get_command_flags($option, $options[$option]);
}
}
+4 -9
View File
@@ -57,7 +57,7 @@ list($options, $unrecognized) = cli_get_params(
'torun' => 0,
'optimize-runs' => '',
'add-core-features-to-theme' => false,
'axe' => false,
'axe' => true,
),
array(
'h' => 'help',
@@ -73,7 +73,7 @@ $help = "
Behat utilities to manage the test environment
Usage:
php util.php [--install|--drop|--enable|--disable|--diag|--updatesteps|--axe|--help] [--parallel=value [--maxruns=value]]
php util.php [--install|--drop|--enable|--disable|--diag|--updatesteps|--no-axe|--help] [--parallel=value [--maxruns=value]]
Options:
--install Installs the test environment for acceptance tests
@@ -82,7 +82,7 @@ Options:
--disable Disables test environment
--diag Get behat test environment status code
--updatesteps Update feature step file.
--axe Include axe accessibility tests
--no-axe Disable axe accessibility tests.
-j, --parallel Number of parallel behat run operation
-m, --maxruns Max parallel processes to be executed at one time.
@@ -320,12 +320,7 @@ function commands_to_execute($options) {
}
foreach ($extraoptions as $option => $value) {
if ($options[$option]) {
$extra .= " --$option";
if ($value) {
$extra .= "=\"$value\"";
}
}
$extra .= behat_get_command_flags($option, $value);
}
if (empty($options['parallel'])) {
+3 -3
View File
@@ -52,7 +52,7 @@ list($options, $unrecognized) = cli_get_params(
'updatesteps' => false,
'optimize-runs' => '',
'add-core-features-to-theme' => false,
'axe' => false,
'axe' => true,
),
array(
'h' => 'help',
@@ -79,7 +79,7 @@ Options:
--disable Disables test environment
--diag Get behat test environment status code
--updatesteps Update feature step file.
--axe Include axe accessibility tests
--no-axe Disable axe accessibility tests.
-o, --optimize-runs Split features with specified tags in all parallel runs.
-a, --add-core-features-to-theme Add all core features to specified theme's
@@ -186,7 +186,7 @@ if ($options['install']) {
behat_config_manager::set_behat_run_config_value('behatsiteenabled', 1);
}
// Define whether to run Behat with axe tests.
// Configure axe according to option.
behat_config_manager::set_behat_run_config_value('axe', $options['axe']);
// Enable test mode.
+37
View File
@@ -0,0 +1,37 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Define web service functions for tool_behat
*
* @package tool_behat
* @copyright 2022 onwards Catalyst IT EU {@link https://catalyst-eu.net}
* @author Mark Johnson <mark.johnson@catalyst-eu.net>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$functions = [
'tool_behat_get_entity_generator' => [
'classname' => 'tool_behat\\external\\get_entity_generator',
'methodname' => 'execute',
'description' => 'Get the generator details for an entity',
'type' => 'read',
'ajax' => true,
'capabilities' => 'moodle/site:config'
]
];
+1
View File
@@ -56,6 +56,7 @@ if ($components) {
$form = new steps_definitions_form(null, array('components' => $componentswithsteps));
// Output contents.
$PAGE->requires->js_call_amd('tool_behat/steps', 'init');
$renderer = $PAGE->get_renderer('tool_behat');
echo $renderer->render_stepsdefinitions($steps, $form);
+28
View File
@@ -24,6 +24,8 @@
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir . '/behat/classes/behat_generator_base.php');
/**
* Renderer for behat tool web features
*
@@ -106,6 +108,32 @@ class tool_behat_renderer extends plugin_renderer_base {
},
$stepsdefinitions
);
$elementstrings = [];
$count = 1;
$stepsdefinitions = preg_replace_callback('/(the following ")ELEMENT\d?_STRING(" exist:)/',
function($matches) use (&$elementstrings, &$count) {
// Replace element type arguments with a user-friendly select.
if (empty($elementstrings)) {
$behatgenerators = new behat_data_generators();
$componententities = $behatgenerators->get_all_entities();
ksort($componententities);
$elementstrings = [];
foreach ($componententities as $component => $entities) {
asort($entities);
foreach ($entities as $entity) {
$string = ($component === 'core') ? $entity : $component . ' > ' . $entity;
$elementstrings[$string] = $string;
}
}
}
$select = html_writer::select($elementstrings, 'entities' . $count, '', ['' => 'choosedots'],
['class' => 'entities']);
$count++;
return $matches[1] . $select . $matches[2];
},
$stepsdefinitions
);
}
// Steps definitions.
+6
View File
@@ -29,3 +29,9 @@
#page-admin-tool-behat-index .steps-definitions .stepregex {
color: #060;
}
#page-admin-tool-behat-index .steprequiredfields {
font-weight: bold;
font-size: 1em;
margin-top: 1em;
}
@@ -0,0 +1,33 @@
{{!
This file is part of Moodle - https://moodle.org/
Moodle is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Moodle is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
}}
{{!
@template tool_behat/steprequiredfields
Display a Gherkin-style table row showing required columns for a step.
Example context (json):
{
"fields": [
"user",
"role",
"context"
]
}
}}
<pre class="steprequiredfields">
|{{#fields}} {{{.}}} |{{/fields}}
</pre>
@@ -103,8 +103,7 @@ Feature: Set up contextual data for tests
And the following "course enrolments" exist:
| user | course | role |
| student1 | C1 | student |
When I log in as "student1"
And I am on "Course 1" course homepage
When I am on the "Course 1" course page logged in as student1
Then I should see "Topic 1"
Scenario: Add role assigns
@@ -138,17 +137,11 @@ Feature: Set up contextual data for tests
When I log in as "user1"
And I am on site homepage
Then edit mode should be available on the current page
And I log out
And I log in as "user2"
And I am on "Course 1" course homepage
And I am on the "Course 1" course page logged in as user2
Then edit mode should be available on the current page
And I log out
And I log in as "user3"
And I am on "Course 1" course homepage
And I am on the "Course 1" course page logged in as user3
Then edit mode should be available on the current page
And I log out
And I log in as "user4"
And I am on "Course 1" course homepage
And I am on the "Course 1" course page logged in as user4
Then edit mode should be available on the current page
And I log out
And I log in as "user5"
@@ -190,8 +183,7 @@ Feature: Set up contextual data for tests
And the following "activities" exist:
| activity | name | intro | course | idnumber | grade |
| assign | Test assignment name with scale | Test assignment description | C1 | assign1 | Test Scale 1 |
When I log in as "admin"
And I am on "Course 1" course homepage
When I am on the "Course 1" course page logged in as admin
Then I should see "Test assignment name"
# Assignment 2.2 module type is disabled by default
# And I should see "Test assignment22 name"
@@ -308,9 +300,7 @@ Feature: Set up contextual data for tests
And the following "grade categories" exist:
| fullname | course | gradecategory |
| Grade sub category 2 | C1 | Grade category 1 |
When I log in as "admin"
And I am on "Course 1" course homepage
And I navigate to "View > Grader report" in the course gradebook
When I am on the "Course 1" "grades > Grader report > View" page logged in as "admin"
Then I should see "Grade category 1"
And I should see "Grade sub category 2"
@@ -331,9 +321,7 @@ Feature: Set up contextual data for tests
| itemname | course | gradecategory |
| Test Grade Item 2 | C1 | Grade category 1 |
| Test Grade Item 3 | C1 | Grade sub category 2 |
When I log in as "admin"
And I am on "Course 1" course homepage
And I navigate to "Setup > Gradebook setup" in the course gradebook
When I am on the "Course 1" "grades > gradebook setup" page logged in as "admin"
Then I should see "Test Grade Item 1"
And I follow "Edit Test Grade Item 1"
And I expand all fieldsets
@@ -359,9 +347,7 @@ Feature: Set up contextual data for tests
And the following "scales" exist:
| name | scale |
| Test Scale 1 | Disappointing, Good, Very good, Excellent |
When I log in as "admin"
And I am on "Course 1" course homepage
And I navigate to "Scales" in the course gradebook
When I am on the "Course 1" "grades > scales" page logged in as admin
Then I should see "Test Scale 1"
And I should see "Disappointing, Good, Very good, Excellent"
@@ -380,9 +366,7 @@ Feature: Set up contextual data for tests
| Grade outcome 2 | OT2 | C1 | Test Scale 1 |
And the following config values are set as admin:
| enableoutcomes | 1 |
When I log in as "admin"
And I am on "Course 1" course homepage
And I navigate to "More > Outcomes" in the course gradebook
When I am on the "Course 1" "grades > outcomes" page logged in as admin
Then I should see "Grade outcome 1" in the "#addoutcomes" "css_element"
And I should see "Grade outcome 2" in the "#removeoutcomes" "css_element"
And I press "Manage outcomes"
@@ -408,9 +392,7 @@ Feature: Set up contextual data for tests
| Test Outcome Grade Item 1 | C1 | OT1 | Grade category 1 |
And the following config values are set as admin:
| enableoutcomes | 1 |
When I log in as "admin"
And I am on "Course 1" course homepage
And I navigate to "Setup > Gradebook setup" in the course gradebook
When I am on the "Course 1" "grades > gradebook setup" page logged in as "admin"
Then I should see "Test Outcome Grade Item 1"
And I follow "Edit Test Outcome Grade Item 1"
And the field "Outcome" matches value "Grade outcome 1"
@@ -425,6 +407,5 @@ Feature: Set up contextual data for tests
And the following "blocks" exist:
| blockname | contextlevel | reference | pagetypepattern | defaultregion |
| online_users | Course | C1 | course-view-* | site-pre |
When I log in as "admin"
And I am on "Course 1" course homepage
When I am on the "Course 1" course page logged in as admin
Then I should see "Online users"
@@ -21,12 +21,15 @@ Feature: Edit capabilities
Scenario: Default system capabilities modification
Given I log in as "admin"
And I set the following system permissions of "Teacher" role:
And I navigate to "Users > Permissions > Define roles" in site administration
And I click on "Edit Teacher role" "link"
And I fill the capabilities form with the following permissions:
| capability | permission |
| block/mnet_hosts:myaddinstance | Allow |
| moodle/site:messageanyuser | Inherit |
| moodle/grade:managesharedforms | Prevent |
| moodle/course:request | Prohibit |
And I press "Save changes"
When I follow "Edit Teacher role"
Then "block/mnet_hosts:myaddinstance" capability has "Allow" permission
And "moodle/site:messageanyuser" capability has "Not set" permission
@@ -48,16 +51,12 @@ Feature: Edit capabilities
And "mod/forum:addquestion" capability has "Allow" permission
Scenario: Module capabilities overrides
Given I log in as "teacher1"
And the following "activity" exists:
Given the following "activity" exists:
| activity | forum |
| course | C1 |
| idnumber | 00001 |
| name | I'm the name |
| intro | I'm the introduction |
| section | 1 |
And I am on "Course 1" course homepage with editing mode on
And I follow "I'm the name"
And I am on the "I'm the name" "forum activity" page logged in as teacher1
And I navigate to "Permissions" in current page administration
And I override the system permissions of "Student" role with:
| mod/forum:deleteanypost | Prohibit |
@@ -30,10 +30,9 @@ Feature: Verify that all form fields values can be get and set
| student2 | G2 |
| student3 | G2 |
And the following "activities" exist:
| activity | course | idnumber | name | intro | firstpagetitle | wikimode | visible |
| wiki | C1 | wiki1 | Test this one | Test this one | Test this one | collaborative | 0 |
And I log in as "admin"
And I am on the "Course 1" "reset" page
| activity | course | idnumber | name | firstpagetitle | wikimode | visible |
| wiki | C1 | wiki1 | Test this one | Test this one | collaborative | 0 |
And I am on the "Course 1" "reset" page logged in as admin
# Select (multi-select) - Checking "the select box should contain".
And I expand all fieldsets
And the "Unenrol users" select box should contain "No roles"
@@ -60,16 +59,14 @@ Feature: Verify that all form fields values can be get and set
# Checkbox - Checking "I set the field" and "The field matches value" ticked.
And I set the field "Force format" to "1"
And I press "Save and return to course"
And I am on the "Test this one" "wiki activity" page
And I navigate to "Settings" in current page administration
And I am on the "Test this one" "wiki activity editing" page
And I expand all fieldsets
And the field "Force format" matches value "1"
And the field "Force format" does not match value ""
# Checkbox - Checking "I set the field" and "The field matches value" unticked.
And I set the field "Force format" to ""
And I press "Save and return to course"
And I am on the "Test this one" "wiki activity" page
And I navigate to "Settings" in current page administration
And I am on the "Test this one" "wiki activity editing" page
And I expand all fieldsets
And the field "Force format" matches value ""
And the field "Force format" does not match value "1"
@@ -77,8 +74,7 @@ Feature: Verify that all form fields values can be get and set
And I set the following fields to these values:
| Force format | 1 |
And I press "Save and return to course"
And I am on the "Test this one" "wiki activity" page
And I navigate to "Settings" in current page administration
And I am on the "Test this one" "wiki activity editing" page
And I expand all fieldsets
And the following fields match these values:
| Force format | 1 |
@@ -88,8 +84,7 @@ Feature: Verify that all form fields values can be get and set
And I set the following fields to these values:
| Force format | |
And I press "Save and return to course"
And I am on the "Test this one" "wiki activity" page
And I navigate to "Settings" in current page administration
And I am on the "Test this one" "wiki activity editing" page
And I expand all fieldsets
And the following fields match these values:
| Force format | |
@@ -142,10 +137,11 @@ Feature: Verify that all form fields values can be get and set
And I navigate to "Settings" in current page administration
And the field "Course ID number" matches value "Course id number"
Scenario: with JS disabled all form fields getters and setters works as expected
@javascript
Scenario: with JS enabled all form fields getters and setters works as expected
Given the following "activities" exist:
| activity | course | name |
| lesson | C1 | Test lesson |
Then I am on the "Course 1" "groups" page
# Select (multi-select & AJAX) - Checking "I set the field" and "select box should contain".
And I set the field "groups" to "Group 2"
@@ -157,11 +153,8 @@ Feature: Verify that all form fields values can be get and set
And the "members" select box should contain "Student 2 (s2@example.com)"
And the "members" select box should not contain "Student 3 (s3@example.com)"
# Checkbox (AJAX) - Checking "I set the field" and "I set the following fields to these values".
And I am on "Course 1" course homepage
And I add a "Lesson" to section "1"
And I am on the "Test lesson" "lesson activity editing" page
And I set the following fields to these values:
| Name | Test lesson |
| Description | Test lesson description |
| available[enabled] | 1 |
And I set the field "deadline[enabled]" to "1"
# Checkbox (AJAX) - Checking "the field matches value" before saving.
@@ -7,8 +7,8 @@ Feature: Behat steps for interacting with form work
@javascript
Scenario: Test fields in containers
Given the following "courses" exist:
| fullname | shortname |
| Course 1 | C1 |
| fullname | shortname | summary | summaryformat |
| Course 1 | C1 | Red | 1 |
When I log in as "admin"
And I am on "Course 1" course homepage
# Just get to any form.
@@ -17,11 +17,15 @@ Feature: Behat steps for interacting with form work
And I set the following fields in the "Appearance" "fieldset" to these values:
| Show activity reports | Yes |
| Number of announcements | 1 |
And I set the following fields in the "Description" "fieldset" to these values:
| Course summary | Green |
Then the field "Show activity reports" in the "Appearance" "fieldset" matches value "Yes"
And the field "Show activity reports" in the "Appearance" "fieldset" does not match value "No"
And the following fields in the "region-main" "region" match these values:
| Course full name | Frog |
| Number of announcements | 1 |
| Course summary | Green |
And the following fields in the "region-main" "region" do not match these values:
| Course full name | Course 1 |
| Number of announcements | 5 |
| Course summary | Red |
@@ -13,6 +13,10 @@ Feature: List the system steps definitions
Scenario: Accessing the list
Then I should see "Step definitions"
And I should not see "There aren't steps definitions matching this filter"
And I should not see "the following \"ELEMENT_STRING\" exist:"
And "entities1" "select" should exist
And the "entities1" select box should contain "users"
And the "entities1" select box should contain "mod_assign > submissions"
@javascript
Scenario: Filtering by type
@@ -34,3 +38,11 @@ Feature: List the system steps definitions
Then I should not see "There aren't steps definitions matching this filter"
And I should see "Checks the provided element and selector type exists in the current page."
And I should see "Checks that an element and selector type exists in another element and selector type on the current page."
@javascript
Scenario: Get required fields
Given I set the field "entities1" to "users"
And I should see "| username |"
When I set the field "entities1" to "mod_quiz > user overrides"
Then I should not see "| username |"
And I should see "| quiz | user |"
@@ -20,9 +20,10 @@ Feature: Forms manipulation
Given the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And I log in as "admin"
And I am on "Course 1" course homepage with editing mode on
And I add a "Quiz" to section "1"
And the following "activities" exist:
| activity | course | section | name |
| quiz | C1 | 1 | Quiz 1 |
And I am on the "Quiz 1" "quiz activity editing" page logged in as admin
When I expand all fieldsets
Then I should see "Close the quiz"
And I should see "Group mode"
@@ -13,24 +13,24 @@ Feature: Transform steps arguments
And I open my profile in edit mode
Scenario: Use nasty strings on steps arguments
When I set the field "Surname" to "$NASTYSTRING1"
When I set the field "Last name" to "$NASTYSTRING1"
And I set the field "Description" to "$NASTYSTRING2"
And I set the field "City/town" to "$NASTYSTRING3"
And I press "Update profile"
And I click on "Edit profile" "link" in the "region-main" "region"
Then I should not see "NASTYSTRING"
And the field "Surname" matches value "$NASTYSTRING1"
And the field "Last name" matches value "$NASTYSTRING1"
And the field "City/town" matches value "$NASTYSTRING3"
Scenario: Use nasty strings on table nodes
When I set the following fields to these values:
| Surname | $NASTYSTRING1 |
| Last name | $NASTYSTRING1 |
| Description | $NASTYSTRING2 |
| City/town | $NASTYSTRING3 |
And I press "Update profile"
And I click on "Edit profile" "link" in the "region-main" "region"
Then I should not see "NASTYSTRING"
And the field "Surname" matches value "$NASTYSTRING1"
And the field "Last name" matches value "$NASTYSTRING1"
And the field "City/town" matches value "$NASTYSTRING3"
Scenario: Use double quotes
@@ -48,11 +48,11 @@ Feature: Transform steps arguments
Scenario: Nasty strings with other contents
When I set the field "First name" to "My Firstname $NASTYSTRING1"
And I set the following fields to these values:
| Surname | My Surname $NASTYSTRING2 |
| Last name | My Last name $NASTYSTRING2 |
And I press "Update profile"
And I click on "Edit profile" "link" in the "region-main" "region"
Then I should not see "NASTYSTRING"
And I should see "My Firstname"
And I should see "My Surname"
And I should see "My Last name"
And the field "First name" matches value "My Firstname $NASTYSTRING1"
And the field "Surname" matches value "My Surname $NASTYSTRING2"
And the field "Last name" matches value "My Last name $NASTYSTRING2"
@@ -0,0 +1,104 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Unit tests for get_entity_generator web service
*
* @package tool_behat
* @copyright 2022 onwards Catalyst IT EU {@link https://catalyst-eu.net}
* @author Mark Johnson <mark.johnson@catalyst-eu.net>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_behat\external;
/**
* Tests for get_entity_generator web service
*
* @covers \tool_behat\external\get_entity_generator
*/
class get_entity_generator_test extends \advanced_testcase {
/**
* Log in as admin
*
* @return void
*/
public function setUp(): void {
$this->resetAfterTest();
$this->setAdminUser();
}
/**
* Get the generator for a core entity.
*
* @return void
*/
public function test_execute_core_entity(): void {
$generator = get_entity_generator::execute('users');
$this->assertEquals(['required' => ['username']], $generator);
}
/**
* Get the generator for the plugin entity.
*
* @return void
*/
public function test_execute_plugin_entity(): void {
$generator = get_entity_generator::execute('mod_book > chapters');
$this->assertEquals(['required' => ['book', 'title', 'content']], $generator);
}
/**
* Get the generator for an entity with no required fields.
*
* @return void
*/
public function test_execute_no_requried(): void {
$generator = get_entity_generator::execute('mod_forum > posts');
$this->assertEquals(['required' => []], $generator);
}
/**
* Attempt to get the generator for a core entity that does not exist.
*
* @return void
*/
public function test_execute_invalid_entity(): void {
$this->expectException('coding_exception');
get_entity_generator::execute('foo');
}
/**
* Attempt to get a generator form a plugin that does not exist.
*
* @return void
*/
public function test_execute_invalid_plugin(): void {
$this->expectException('coding_exception');
get_entity_generator::execute('foo > bar');
}
/**
* Attempt to get a generator for an entity that does not exist, from a plugin that does.
*
* @return void
*/
public function test_execute_invalid_plugin_entity(): void {
$this->expectException('coding_exception');
get_entity_generator::execute('mod_book > bar');
}
}
+2
View File
@@ -1,5 +1,7 @@
This files describes API changes in the tool_behat code.
=== 4.0.9 ===
* Behat is initialised with Axe accessibility tests enabled by default, if you want to disable them please use the --no-axe option.
=== 3.7 ===
* Behat will now look for behat step definitions in the current
theme and any parents the theme may have.
+1 -1
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2022041900; // The current plugin version (Date: YYYYMMDDXX).
$plugin->version = 2022041901; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2022041200; // Requires this Moodle version.
$plugin->component = 'tool_behat'; // Full name of the plugin (used for diagnostics)
@@ -48,12 +48,7 @@ class accessibility {
public static function is_accessibility_enabled(): bool {
global $CFG;
if (isset($CFG->enableaccessibilitytools)) {
return $CFG->enableaccessibilitytools;
}
// Enabled by default.
return true;
return !empty($CFG->enableaccessibilitytools);
}
/**
@@ -323,7 +318,7 @@ class accessibility {
/**
* This function runs one specified check on the html item
*
* @param string $html The html string to be analysed; might be NULL.
* @param string|null $html The html string to be analysed; might be NULL.
* @param int $contentid The content area ID
* @param int $errid The error ID
* @param string $check The check name to run
@@ -333,7 +328,7 @@ class accessibility {
* @throws \dml_exception
*/
public static function run_one_check(
string $html = null,
?string $html,
int $contentid,
int $errid,
string $check,
@@ -16,6 +16,8 @@
namespace tool_brickfield\local\tool;
use tool_brickfield\manager;
/**
* Class advanced.
*
@@ -51,12 +53,36 @@ class advanced extends tool {
return 'advanced';
}
/**
* Builds context data used to render a single grid item on the advanced page.
* @param string $icon
* @param string $heading
* @param string $content
* @return array
*/
protected function get_grid_item_context(string $icon, string $heading, string $content): array {
return [
"icon" => "pix/i/$icon.png",
"iconalt" => get_string("icon:$icon", manager::PLUGINNAME),
"heading" => get_string($heading, manager::PLUGINNAME),
"content" => get_string($content, manager::PLUGINNAME)
];
}
/**
* Return the data for renderer / template display.
* @return \stdClass
*/
protected function fetch_data(): \stdClass {
$data = (object)[
'griditems' => [
$this->get_grid_item_context("analytics-custom", "headingone", "contentone"),
$this->get_grid_item_context("tools-custom", "headingtwo", "contenttwo"),
$this->get_grid_item_context("file-edit-custom", "headingthree", "contentthree"),
$this->get_grid_item_context("search-plus-custom", "headingfour", "contentfour"),
$this->get_grid_item_context("wand-magic-custom", "headingfive", "contentfive"),
$this->get_grid_item_context("hands-helping-custom", "headingsix", "contentsix"),
],
'valid' => true,
'error' => '',
];
@@ -254,19 +254,16 @@ class renderer extends \tool_brickfield\output\renderer {
<tr>
<td>
<img src="' . $this->image_path() . 'tachometer-alt-solid.svg" width="15" height="15">' .
' <td style="line-height: 10px;"> ' .
get_string('totalactivitiescount', manager::PLUGINNAME, $data->combodata['total']) .
'</td></td>
'</td>
<td>
<img src="' . $this->image_path() . 'check-square-regular.svg" width="15" height="15">' .
' <td style="line-height: 10px;"> ' .
get_string('passedcount', manager::PLUGINNAME, $data->combodata['passed']) .
'</td></td>
'</td>
<td>
<img src="' . $this->image_path() . 'times-circle-regular.svg" width="15" height="15">' .
' <td style="line-height: 10px;"> ' .
get_string('failedcount', manager::PLUGINNAME, $data->combodata['failed']) .
'</td></td>
'</td>
</tr>
</table>';
@@ -396,8 +393,8 @@ class renderer extends \tool_brickfield\output\renderer {
foreach ($data->groupdata as $key => $group) {
$checkgroup = area_base::checkgroup_name($key);
$icon = $icons[$key];
$tabledata[] = ['<img src="'.$icon.'" width="15" height="15">' . ' ' .' <td style="line-height: 10px;"> '.
get_string('checktype:' . $checkgroup, manager::PLUGINNAME).'</td>', $group->errorinstances];
$tabledata[] = ['<img src="'.$icon.'" width="15" height="15">' . ' ' .
get_string('checktype:' . $checkgroup, manager::PLUGINNAME), $group->errorinstances];
}
return $this->render_table(
@@ -248,7 +248,7 @@ $string['printable:toolname'] = 'Summary report';
$string['printable:toolshortname'] = 'Summary report';
$string['printable:downloadpdf'] = 'Download PDF';
$string['printable:printreport'] = 'Printable report';
$string['error:nocoursespecified'] = 'This summary report requires a valid course id. Please access the accessibility toolkit from within a course, via the actions menu, which will then supply this required course id.';
$string['error:nocoursespecified'] = 'The summary report requires a valid course ID. Please access the accessibility toolkit from within a course.';
$string['pdf:filename'] = 'Brickfield_Summaryreport_CourseID-{$a}';
// Advanced page.
@@ -270,3 +270,9 @@ $string['headingthree'] = 'Accessible file formats';
$string['headingfour'] = 'Focus effort';
$string['headingfive'] = 'HTML fixes';
$string['headingsix'] = 'Performance support';
$string['icon:analytics-custom'] = 'Analytics icon';
$string['icon:tools-custom'] = 'Tools icon';
$string['icon:file-edit-custom'] = 'Edit file icon';
$string['icon:search-plus-custom'] = 'Search icon';
$string['icon:wand-magic-custom'] = 'Magic wand icon';
$string['icon:hands-helping-custom'] = 'Helping hands icon';
+48 -71
View File
@@ -10,49 +10,22 @@
/* Advanced Page CSS */
@media only screen and (min-width: 768px) {
.tool_brickfield_grid_item {
width: 33.333333333333336%;
}
#tool_brickifeld_advanced_page {
margin: 20px 20px 20px 10px;
}
@media only screen and (max-width: 767px) {
.tool_brickfield_grid_item {
width: 100%;
}
}
.tool_brickfield_grid {
max-width: 1140px;
margin-right: auto;
margin-left: auto;
}
.tool_brickfield_grid_inner {
width: 100%;
.tool_brickfield_banner_heading {
display: flex;
flex-wrap: wrap;
}
.tool_brickfield_grid_item_shape {
height: 96%;
background-color: #fff;
padding: 10% 10% 10% 10%;
box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
margin: 1% 1% 1% 1%;
border-radius: 15px 15px 15px 70px;
}
.tool_brickfield_grid_display {
display: grid;
grid-template-columns: 0.6fr 1.4fr 1fr;
grid-template-rows: 1fr 1fr;
}
.tool_brickfield_grid_spacing {
justify-content: space-between;
margin-bottom: 20px;
margin-left: auto;
margin-right: 1em;
}
.tool_brickfield_banner_heading > img {
height: 50px;
}
.tool_brickfield_banner > p {
text-align: center;
}
.tool_brickfield_grid_heading {
@@ -60,59 +33,63 @@
font-size: 20px;
font-weight: 400;
color: #040d29;
padding-bottom: 4px;
}
.tool_brickfield_grid_content {
color: #040d29;
font-size: 16px;
line-height: 1.4em;
margin: 0;
padding: 0;
}
.tool_brickfield_logo_height {
height: 3em;
}
.tool_brickfield_logo_position {
padding-bottom: 2em;
}
.tool_brickfield_icon_position {
line-height: 1;
font-size: 50px;
}
.tool_brickfield_icon_height {
.tool_brickfield_grid_heading > img {
height: 30px;
padding-right: 16px;
}
.tool_brickfield_center_button {
text-align: center;
.tool_brickfield_grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: 20px 20px 30px;
}
.tool_brickfield_advanced_button {
.tool_brickfield_grid > div {
margin: 10px;
padding: 20px;
flex-basis: 30%;
border: 1px solid grey;
max-width: 500px;
min-width: 250px;
flex-grow: 4;
border-radius: 15px 15px 15px 50px;
}
.tool_brickfield_grid_heading {
display: flex;
}
.tool_brickfield_footer > a {
font-size: 18px;
letter-spacing: 1px;
color: #fff;
background-color: #4054b2;
border-style: solid;
border-color: #fff;
border-radius: 5px 5px 5px 5px;
padding: 15px 50px 15px 50px;
border-radius: 5px;
padding: 15px 50px;
transition: 0.3s;
margin-bottom: 20px;
}
.tool_brickfield_advanced_button:hover {
.tool_brickfield_footer {
text-align: center;
}
.tool_brickfield_footer > a:hover {
color: #fff;
background-color: #253687;
text-decoration: none;
}
.tool_brickfield_banner_heading {
margin-bottom: 1.5em;
}
.tool_brickfield_banner {
height: 10em;
padding: 2.5em;
margin-bottom: 2em;
.tool_brickfield_footer > p {
margin-bottom: 25px;
}
+31 -173
View File
@@ -21,184 +21,42 @@
Example context (json):
{
"pagetitle": "Advanced"
"griditems": [
{
"icon": "some-icon-name",
"iconalt": "some-icon-alt",
"heading": "some-heading",
"content": "some-content"
}
]
}
}}
<link rel="stylesheet" href="styles.css">
<h3>{{{pagetitle}}}</h3>
<section class="tool_brickfield_banner">
<div class="tool_brickfield_banner_heading">
<img src="pix/i/Brickfield-logo-black.png" alt="Brickfield Logo" class="pull-right tool_brickfield_logo_height">
<h2>{{# str }}bannerheadingone, tool_brickfield{{/ str }}</h2>
<div id="tool_brickifeld_advanced_page">
<div class="tool_brickfield_banner">
<div class="tool_brickfield_banner_heading">
<h2>{{#str}} bannerheadingone, tool_brickfield{{/str}}</h2>
<img src="pix/i/Brickfield-logo-black.png" alt="Brickfield Logo">
</div>
<p>{{#str}} bannercontentone, tool_brickfield, https://www.brickfield.ie/moodle_talk_to_sales/{{/str}}</p>
</div>
<p>
{{# str }}bannercontentone, tool_brickfield, https://www.brickfield.ie/moodle_talk_to_sales/{{/ str }}
</p>
</section>
<div class="tool_brickfield_grid">
<div class="tool_brickfield_grid_inner">
<div class="tool_brickfield_grid">
{{#griditems}}
<div class="tool_brickfield_grid_item">
<div class="tool_brickfield_grid_item_shape">
<div class="tool_brickfield_grid_display" style="grid-template-areas: 'al ar ar' 'al ar ar'; grid-area: a;">
<div style="grid-area: al;">
<div class="tool_brickfield_grid_spacing">
<span class="tool_brickfield_icon_position">
<img src="pix/i/analytics-custom.png" alt="Analytics icon" class="tool_brickfield_icon_height">
</span>
</div>
</div>
<div style="grid-area: ar;">
<h3>
<span class="tool_brickfield_grid_heading">
{{# str }}headingone, tool_brickfield{{/ str }}
</span>
</h3>
<p class="tool_brickfield_grid_content">
{{# str }}contentone, tool_brickfield{{/ str }}
</p>
</div>
</div>
<div class="tool_brickfield_grid_heading">
<img src={{icon}} alt={{iconalt}}>
<h3>{{heading}}</h3>
</div>
<div class="tool_brickfield_grid_content">
<p>{{content}}</p>
</div>
</div>
<div class="tool_brickfield_grid_item">
<div class="tool_brickfield_grid_item_shape">
<div class="tool_brickfield_grid_display" style="grid-template-areas: 'bl br br' 'bl br br'; grid-area: b;">
<div style="grid-area: bl;">
<div class="tool_brickfield_grid_spacing">
<span class="tool_brickfield_icon_position">
<img src="pix/i/tools-custom.png" alt="Tools icon" class="tool_brickfield_icon_height">
</span>
</div>
</div>
<div style="grid-area: br;">
<h3>
<span class="tool_brickfield_grid_heading">
{{# str }}headingtwo, tool_brickfield{{/ str }}
</span>
</h3>
<p class="tool_brickfield_grid_content">
{{# str }}contenttwo, tool_brickfield{{/ str }}
</p>
</div>
</div>
</div>
</div>
<div class="tool_brickfield_grid_item">
<div class="tool_brickfield_grid_item_shape">
<div class="tool_brickfield_grid_display" style="grid-template-areas: 'cl cr cr' 'cl cr cr'; grid-area: c;">
<div style="grid-area: cl;">
<div class="tool_brickfield_grid_spacing">
<span class="tool_brickfield_icon_position">
<img src="pix/i/file-edit-custom.png" alt="Edit file icon" class="tool_brickfield_icon_height">
</span>
</div>
</div>
<div style="grid-area: cr;">
<h3>
<span class="tool_brickfield_grid_heading">
{{# str }}headingthree, tool_brickfield{{/ str }}
</span>
</h3>
<p class="tool_brickfield_grid_content">
{{# str }}contentthree, tool_brickfield{{/ str }}
</p>
</div>
</div>
</div>
</div>
<div class="tool_brickfield_grid_item">
<div class="tool_brickfield_grid_item_shape">
<div class="tool_brickfield_grid_display" style="grid-template-areas: 'dl dr dr' 'dl dr dr'; grid-area: d;">
<div style="grid-area: dl;">
<div class="tool_brickfield_grid_spacing">
<span class="tool_brickfield_icon_position">
<img src="pix/i/search-plus-custom.png" alt="Search icon" class="tool_brickfield_icon_height">
</span>
</div>
</div>
<div style="grid-area: dr;">
<h3>
<span class="tool_brickfield_grid_heading">
{{# str }}headingfour, tool_brickfield{{/ str }}
</span>
</h3>
<p class="tool_brickfield_grid_content">
{{# str }}contentfour, tool_brickfield{{/ str }}
</p>
</div>
</div>
</div>
</div>
<div class="tool_brickfield_grid_item">
<div class="tool_brickfield_grid_item_shape">
<div class="tool_brickfield_grid_display" style="grid-template-areas: 'el er er' 'el er er'; grid-area: e;">
<div style="grid-area: el;">
<div class="tool_brickfield_grid_spacing">
<span class="tool_brickfield_icon_position">
<img src="pix/i/wand-magic-custom.png" alt="Magic wand icon" class="tool_brickfield_icon_height">
</span>
</div>
</div>
<div style="grid-area: er;">
<h3>
<span class="tool_brickfield_grid_heading">
{{# str }}headingfive, tool_brickfield{{/ str }}
</span>
</h3>
<p class="tool_brickfield_grid_content">
{{# str }}contentfive, tool_brickfield{{/ str }}
</p>
</div>
</div>
</div>
</div>
<div class="tool_brickfield_grid_item">
<div class="tool_brickfield_grid_item_shape">
<div class="tool_brickfield_grid_display" style="grid-template-areas: 'fl fr fr' 'fl fr fr'; grid-area: f;">
<div style="grid-area: fl;">
<div class="tool_brickfield_grid_spacing">
<span class="tool_brickfield_icon_position">
<img src="pix/i/hands-helping-custom.png" alt="Helping hands icon" class="tool_brickfield_icon_height">
</span>
</div>
</div>
<div style="grid-area: fr;">
<h3>
<span class="tool_brickfield_grid_heading">
{{# str }}headingsix, tool_brickfield{{/ str }}
</span>
</h3>
<p class="tool_brickfield_grid_content">
{{# str }}contentsix, tool_brickfield{{/ str }}
</p>
</div>
</div>
</div>
</div>
{{/griditems}}
</div>
<div class="tool_brickfield_footer">
<h2 class="accesshide">{{#str}} footerheading, tool_brickfield {{/str}}</h2>
<p>{{#str}}bannercontenttwo, tool_brickfield{{/str}}</p>
<a href="https://www.brickfield.ie/moodle_free_demo/">
{{#str}}buttonone, tool_brickfield{{/str}}
</a>
</div>
</div>
<section class="tool_brickfield_banner">
<h2 class="accesshide">{{# str }}footerheading, tool_brickfield{{/ str }}</h2>
<p>
{{# str }}bannercontenttwo, tool_brickfield{{/ str }}
</p>
<div class="tool_brickfield_center_button">
<form action="https://www.brickfield.ie/moodle_free_demo/">
<button class="tool_brickfield_advanced_button">
{{# str }}buttonone, tool_brickfield{{/ str }}
</button>
</form>
</div>
</section>
+1
View File
@@ -179,6 +179,7 @@ class api {
AND ra.roleid = :roleid
AND ra.userid = :userid
WHERE cm.cohortid ' . $cohortsql . '
AND u.deleted = 0
AND ra.id IS NULL';
$toadd = $DB->get_records_sql($sql, $params);
@@ -0,0 +1,43 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
declare(strict_types=1);
namespace tool_cohortroles;
use core\event\user_deleted;
/**
* Plugin event observer callbacks
*
* @package tool_cohortroles
* @copyright 2023 Paul Holden <paulh@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class observers {
/**
* User deleted event, remove cohort role assignments specific to them
*
* @param user_deleted $event
*/
public static function user_deleted(user_deleted $event): void {
$cohortroleassignments = cohort_role_assignment::get_records(['userid' => $event->objectid]);
foreach ($cohortroleassignments as $cohortroleassignment) {
$cohortroleassignment->delete();
}
}
}
+32
View File
@@ -0,0 +1,32 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Plugin event observers
*
* @package tool_cohortroles
* @copyright 2023 Paul Holden <paulh@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$observers = [
[
'eventname' => '\core\event\user_deleted',
'callback' => '\tool_cohortroles\observers::user_deleted',
],
];
+11
View File
@@ -44,5 +44,16 @@ function xmldb_tool_cohortroles_upgrade($oldversion) {
// Automatically generated Moodle v3.9.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v4.0.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2022041901) {
// Delete any tool_cohortroles mappings for users who no longer exist.
$DB->delete_records_select('tool_cohortroles', 'userid NOT IN (SELECT id FROM {user} WHERE deleted = 0)');
// Cohortroles savepoint reached.
upgrade_plugin_savepoint(true, 2022041901, 'tool', 'cohortroles');
}
return true;
}
+1 -2
View File
@@ -24,8 +24,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2022041900; // The current plugin version (Date: YYYYMMDDXX).
$plugin->version = 2022041901; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2022041200; // Requires this Moodle version.
$plugin->component = 'tool_cohortroles'; // Full name of the plugin (used for diagnostics).
@@ -81,6 +81,30 @@ $activity-icon-colors: (
);
{{</ highlight >}}
### Custom activity icons
Some activities allow icons to be customised. This can be done by implementing callback XXX_get_coursemodule_info() returning instance of object e.g. mod/lti/lib.php
{{< php >}}
$info = new cached_cm_info();
$info->iconurl = new moodle_url('https://moodle.org/theme/moodleorg/pix/moodle_logo_small.svg');
{{< /php >}}
To get this customised icon, use:
{{< php >}}
$iconurl = get_fast_modinfo($courseid)->get_cm($cmid)->get_icon_url()->out(false);
{{< /php >}}
<div class="media mb-3">
<div class="activityiconcontainer lti mr-3">
<img alt="lti icon" title="lti icon" src="https://moodle.org/theme/moodleorg/pix/moodle_logo_small.svg" class="activityicon "> </div>
<div class="media-body align-self-center">
<div class="text-uppercase small">external</div>
<div class="activityname"><a href="#">External tool module</a></div>
</div>
</div>
## Examples
<div class="media mb-3">
+6 -5
View File
@@ -36,7 +36,7 @@ Useful for uploading custom langstrings to AMOS or importing or syncing them to
Options:
-l, --lang Comma seperated language ids to export, default: all
-c, --components Comma seperated components to export, default: all
-t, --target Target to copy the zip files to, default: $CFG->tempdir/customlang
-t, --target Target directory to copy the zip files to, default: $CFG->tempdir/customlang
-o, --overwrite Overwrite existing files in the target folder.
Note: If the target is not set, the files are always overwritten!
-h, --help Print out this help
@@ -73,9 +73,10 @@ if ($options['help']) {
echo $usage;
die;
}
if (!file_exists($options['target'])) {
mkdir($options['target'], 0777, true);
}
// Ensure target directory exists.
$options['target'] = rtrim($options['target'], '/') . '/';
check_dir_exists($options['target']);
cli_writeln(get_string('cliexportheading', 'tool_customlang'));
$langs = [];
@@ -90,7 +91,7 @@ foreach ($langs as $lang) {
$filename = $options['target'] . get_string('exportzipfilename', 'tool_customlang', ['lang' => $lang]);
// If the file exists and we are not using the temp folder it requires an ovewrite.
if ($options['target'] != $dafaulttarget && file_exists($filename) && !$options['overwrite']) {
cli_problem(get_string('cliexportfileexists', 'tool_customlang', $lang));
cli_problem(get_string('cliexportfileexists', 'tool_customlang', ['lang' => $lang]));
continue;
}
cli_heading(get_string('cliexportstartexport', 'tool_customlang', $lang));
+10
View File
@@ -160,6 +160,16 @@ foreach ($langfiles as $lng => $files) {
cli_heading(get_string('clifiles', 'tool_customlang', $lng));
// If we intend to check in any changes, we must first check them out.
if ($checkin) {
cli_writeln(get_string('checkout', 'tool_customlang'));
$progressbar = new progress_bar();
$progressbar->create();
tool_customlang_utils::checkout($lng, $progressbar);
}
foreach ($files as $file) {
// Generate a valid stored_file from this file.
$record = (object)[
+3
View File
@@ -41,5 +41,8 @@ function xmldb_tool_customlang_upgrade($oldversion) {
// Automatically generated Moodle v3.9.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v4.0.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
@@ -50,6 +50,7 @@ $string['customlang:export'] = 'Export local translation';
$string['customlang:view'] = 'View local translation';
$string['export'] = 'Export custom strings';
$string['exportfilter'] = 'Select component(s) to export';
$string['exportzipfilename'] = 'customlang-export-{$a->lang}.zip';
$string['editlangpack'] = 'Edit language pack';
$string['filter'] = 'Filter strings';
$string['filtercomponent'] = 'Show strings of these components';
+3 -1
View File
@@ -89,7 +89,9 @@ class tool_customlang_utils {
* @param progress_bar $progressbar optionally, the given progress bar can be updated
*/
public static function checkout($lang, progress_bar $progressbar = null) {
global $DB;
global $DB, $CFG;
require_once("{$CFG->libdir}/adminlib.php");
// For behat executions we are going to load only a few components in the
// language customisation structures. Using the whole "en" langpack is
+1 -1
View File
@@ -5,6 +5,6 @@
* @copyright 2018 Adrian Greeve
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define("tool_dataprivacy/expand_contract",["jquery","core/url","core/str"],(function($,url,str){var expandedImage=$('<img alt="" src="'+url.imageUrl("t/expanded")+'"/>'),collapsedImage=$('<img alt="" src="'+url.imageUrl("t/collapsed")+'"/>'),CLASSES_EXPAND="fa-caret-right",CLASSES_COLLAPSE="fa-caret-down";return{expandCollapse:function(targetnode,thisnode){targetnode.hasClass("hide")?(targetnode.removeClass("hide"),targetnode.addClass("visible"),targetnode.attr("aria-expanded",!0),thisnode.find(":header i.fa").removeClass(CLASSES_EXPAND),thisnode.find(":header i.fa").addClass(CLASSES_COLLAPSE),thisnode.find(":header img.icon").attr("src",expandedImage.attr("src"))):(targetnode.removeClass("visible"),targetnode.addClass("hide"),targetnode.attr("aria-expanded",!1),thisnode.find(":header i.fa").removeClass(CLASSES_COLLAPSE),thisnode.find(":header i.fa").addClass(CLASSES_EXPAND),thisnode.find(":header img.icon").attr("src",collapsedImage.attr("src")))},expandCollapseAll:function(nextstate){var currentstate="visible"==nextstate?"hide":"visible",ariaexpandedstate="visible"==nextstate,iconclassnow="visible"==nextstate?CLASSES_EXPAND:CLASSES_COLLAPSE,iconclassnext="visible"==nextstate?CLASSES_COLLAPSE:CLASSES_EXPAND,imagenow="visible"==nextstate?expandedImage.attr("src"):collapsedImage.attr("src");$("."+currentstate).each((function(){$(this).removeClass(currentstate),$(this).addClass(nextstate),$(this).attr("aria-expanded",ariaexpandedstate)})),$(".tool_dataprivacy-expand-all").data("visibilityState",currentstate),str.get_string(currentstate,"tool_dataprivacy").then((function(langString){$(".tool_dataprivacy-expand-all").html(langString)})).catch(Notification.exception),$(":header i.fa").each((function(){$(this).removeClass(iconclassnow),$(this).addClass(iconclassnext)})),$(":header img.icon").each((function(){$(this).attr("src",imagenow)}))}}}));
define("tool_dataprivacy/expand_contract",["jquery","core/url","core/str","core/notification"],(function($,url,str,Notification){var expandedImage=$('<img alt="" src="'+url.imageUrl("t/expanded")+'"/>'),collapsedImage=$('<img alt="" src="'+url.imageUrl("t/collapsed")+'"/>'),CLASSES_EXPAND="fa-caret-right",CLASSES_COLLAPSE="fa-caret-down";return{expandCollapse:function(targetnode,thisnode){targetnode.hasClass("hide")?(targetnode.removeClass("hide"),targetnode.addClass("visible"),targetnode.attr("aria-expanded",!0),thisnode.find(":header i.fa").removeClass(CLASSES_EXPAND),thisnode.find(":header i.fa").addClass(CLASSES_COLLAPSE),thisnode.find(":header img.icon").attr("src",expandedImage.attr("src"))):(targetnode.removeClass("visible"),targetnode.addClass("hide"),targetnode.attr("aria-expanded",!1),thisnode.find(":header i.fa").removeClass(CLASSES_COLLAPSE),thisnode.find(":header i.fa").addClass(CLASSES_EXPAND),thisnode.find(":header img.icon").attr("src",collapsedImage.attr("src")))},expandCollapseAll:function(nextstate){var currentstate="visible"==nextstate?"hide":"visible",ariaexpandedstate="visible"==nextstate,iconclassnow="visible"==nextstate?CLASSES_EXPAND:CLASSES_COLLAPSE,iconclassnext="visible"==nextstate?CLASSES_COLLAPSE:CLASSES_EXPAND,imagenow="visible"==nextstate?expandedImage.attr("src"):collapsedImage.attr("src");$("."+currentstate).each((function(){$(this).removeClass(currentstate),$(this).addClass(nextstate),$(this).attr("aria-expanded",ariaexpandedstate)})),$(".tool_dataprivacy-expand-all").data("visibilityState",currentstate),str.get_string(currentstate,"tool_dataprivacy").then((function(langString){$(".tool_dataprivacy-expand-all").html(langString)})).catch(Notification.exception),$(":header i.fa").each((function(){$(this).removeClass(iconclassnow),$(this).addClass(iconclassnext)})),$(":header img.icon").each((function(){$(this).attr("src",imagenow)}))}}}));
//# sourceMappingURL=expand_contract.min.js.map
File diff suppressed because one or more lines are too long
@@ -21,7 +21,7 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define(['jquery', 'core/url', 'core/str'], function($, url, str) {
define(['jquery', 'core/url', 'core/str', 'core/notification'], function($, url, str, Notification) {
var expandedImage = $('<img alt="" src="' + url.imageUrl('t/expanded') + '"/>');
var collapsedImage = $('<img alt="" src="' + url.imageUrl('t/collapsed') + '"/>');
+13 -1
View File
@@ -786,6 +786,18 @@ class api {
return true;
}
/**
* Check if user has permission to create data download request for themselves
*
* @param int|null $userid
* @return bool
*/
public static function can_create_data_download_request_for_self(int $userid = null): bool {
global $USER;
$userid = $userid ?: $USER->id;
return has_capability('tool/dataprivacy:downloadownrequest', \context_user::instance($userid), $userid);
}
/**
* Check if user has permisson to create data deletion request for themselves.
*
@@ -847,7 +859,7 @@ class api {
$usercontext = \context_user::instance($userid);
// If it's your own and you have the right capability, you can download it.
if ($userid == $downloaderid && has_capability('tool/dataprivacy:downloadownrequest', $usercontext, $downloaderid)) {
if ($userid == $downloaderid && self::can_create_data_download_request_for_self($downloaderid)) {
return true;
}
// If you can download anyone's in that context, you can download it.
@@ -96,6 +96,11 @@ if ($data = $mform->get_data()) {
throw new moodle_exception('nopermissions', 'error', '',
get_string('errorcannotrequestdeleteforother', 'tool_dataprivacy'));
}
} else if ($data->type == \tool_dataprivacy\api::DATAREQUEST_TYPE_EXPORT) {
if ($data->userid == $USER->id && !\tool_dataprivacy\api::can_create_data_download_request_for_self()) {
throw new moodle_exception('nopermissions', 'error', '',
get_string('errorcannotrequestexportforself', 'tool_dataprivacy'));
}
}
\tool_dataprivacy\api::create_data_request($data->userid, $data->type, $data->comments);
@@ -97,10 +97,11 @@ class tool_dataprivacy_data_request_form extends \core\form\persistent {
$mform->setType('userid', PARAM_INT);
// Subject access request type.
$options = [
api::DATAREQUEST_TYPE_EXPORT => get_string('requesttypeexport', 'tool_dataprivacy'),
api::DATAREQUEST_TYPE_DELETE => get_string('requesttypedelete', 'tool_dataprivacy')
];
$options = [];
if ($this->manage || api::can_create_data_download_request_for_self()) {
$options[api::DATAREQUEST_TYPE_EXPORT] = get_string('requesttypeexport', 'tool_dataprivacy');
}
$options[api::DATAREQUEST_TYPE_DELETE] = get_string('requesttypedelete', 'tool_dataprivacy');
$mform->addElement('select', 'type', get_string('requesttype', 'tool_dataprivacy'), $options);
$mform->addHelpButton('type', 'requesttype', 'tool_dataprivacy');
@@ -174,7 +175,7 @@ class tool_dataprivacy_data_request_form extends \core\form\persistent {
$errors['type'] = get_string('errorrequestalreadyexists', 'tool_dataprivacy');
}
// Check if current user can create data deletion request.
// Check if current user can create data requests.
if ($data->type == api::DATAREQUEST_TYPE_DELETE) {
if ($userid == $USER->id) {
if (!api::can_create_data_deletion_request_for_self()) {
@@ -184,6 +185,10 @@ class tool_dataprivacy_data_request_form extends \core\form\persistent {
&& !api::can_create_data_deletion_request_for_children($userid)) {
$errors['type'] = get_string('errorcannotrequestdeleteforother', 'tool_dataprivacy');
}
} else if ($data->type == api::DATAREQUEST_TYPE_EXPORT) {
if ($userid == $USER->id && !api::can_create_data_download_request_for_self()) {
$errors['type'] = get_string('errorcannotrequestexportforself', 'tool_dataprivacy');
}
}
return $errors;
+3
View File
@@ -78,5 +78,8 @@ function xmldb_tool_dataprivacy_upgrade($oldversion) {
upgrade_plugin_savepoint(true, 2020061501, 'tool', 'dataprivacy');
}
// Automatically generated Moodle v4.0.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
@@ -135,6 +135,7 @@ $string['effectiveretentionperioduser'] = '{$a} (since the last time the user ac
$string['emailsalutation'] = 'Dear {$a},';
$string['errorcannotrequestdeleteforself'] = 'You don\'t have permission to create deletion request for yourself.';
$string['errorcannotrequestdeleteforother'] = 'You don\'t have permission to create deletion request for this user.';
$string['errorcannotrequestexportforself'] = 'You don\'t have permission to create export request for yourself.';
$string['errorcontactdpodisabled'] = 'The option to contact the privacy officer is disabled.';
$string['errorinvalidrequestcomments'] = 'The comments field may contain plain text only.';
$string['errorinvalidrequestcreationmethod'] = 'Invalid request creation method!';
@@ -273,7 +274,7 @@ $string['requesttypedelete'] = 'Delete all of my personal data';
$string['requesttypedeleteshort'] = 'Delete';
$string['requesttypeexport'] = 'Export all of my personal data';
$string['requesttypeexportshort'] = 'Export';
$string['requesttypeothers'] = 'General inquiry';
$string['requesttypeothers'] = 'General enquiry';
$string['requesttypeothersshort'] = 'Message';
$string['requireallenddatesforuserdeletion'] = 'Consider courses without end date as active';
$string['requireallenddatesforuserdeletion_desc'] = 'When calculating user expiry, several factors are considered:
+3 -2
View File
@@ -68,8 +68,9 @@ function tool_dataprivacy_myprofile_navigation(tree $tree, $user, $iscurrentuser
// Check if the user has an ongoing data export request.
$hasexportrequest = \tool_dataprivacy\api::has_ongoing_request($user->id, \tool_dataprivacy\api::DATAREQUEST_TYPE_EXPORT);
// Show data export link only if the user doesn't have an ongoing data export request.
if (!$hasexportrequest) {
// Show data export link only if the user doesn't have an ongoing data export request and has permission
// to download own data.
if (!$hasexportrequest && \tool_dataprivacy\api::can_create_data_download_request_for_self()) {
$exportparams = ['type' => \tool_dataprivacy\api::DATAREQUEST_TYPE_EXPORT];
$exporturl = new moodle_url('/admin/tool/dataprivacy/createdatarequest.php', $exportparams);
$exportnode = new core_user\output\myprofile\node('privacyandpolicies', 'requestdataexport',
+22
View File
@@ -26,6 +26,7 @@ use tool_dataprivacy\task\process_data_request_task;
* API tests.
*
* @package tool_dataprivacy
* @covers \tool_dataprivacy\api
* @copyright 2018 Jun Pataleta
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
@@ -2174,6 +2175,27 @@ class api_test extends \advanced_testcase {
return $request;
}
/**
* Test whether user can create data download request for themselves
*/
public function test_can_create_data_download_request_for_self(): void {
global $DB;
$this->resetAfterTest();
$user = $this->getDataGenerator()->create_user();
$this->setUser($user);
// The default user role allows for the creation of download data requests.
$this->assertTrue(api::can_create_data_download_request_for_self());
// Prohibit that capability.
$userrole = $DB->get_field('role', 'id', ['shortname' => 'user'], MUST_EXIST);
assign_capability('tool/dataprivacy:downloadownrequest', CAP_PROHIBIT, $userrole, \context_user::instance($user->id));
$this->assertFalse(api::can_create_data_download_request_for_self());
}
/**
* Test user cannot create data deletion request for themselves if they don't have
* "tool/dataprivacy:requestdelete" capability.
@@ -20,7 +20,7 @@ Feature: Contact the privacy officer
And I click on "Send" "button" in the "Contact the privacy officer" "dialogue"
Then I should see "Your request has been submitted to the privacy officer"
And I click on "Data requests" "link"
And I should see "Hello DPO!" in the "General inquiry" "table_row"
And I should see "Hello DPO!" in the "General enquiry" "table_row"
Scenario: Contacting the privacy officer when not enabled
When I log in as "student1"
@@ -30,6 +30,12 @@ Feature: Protected data should not be deleted
| Site purpose | PT1H | 0 |
| prot | P1D | 1 |
| unprot | P1D | 0 |
And the following "mod_forum > discussions" exist:
| user | forum | name | message |
| u1 | forump1 | Discussion subject | Test post in forump1 |
| u1 | forumu1 | Discussion subject | Test post in forumu1 |
| u1 | forump2 | Discussion subject | Test post in forump2 |
| u1 | forumu2 | Discussion subject | Test post in forumu2 |
And I set the category and purpose for the "forump1" "forum" in course "C1" to "CAT" and "prot"
And I set the category and purpose for the "forump2" "forum" in course "C2" to "CAT" and "prot"
And I set the category and purpose for the "forumu1" "forum" in course "C1" to "CAT" and "unprot"
@@ -38,47 +44,25 @@ Feature: Protected data should not be deleted
@javascripta
Scenario: Unexpired and protected data is not removed
Given I log in as "u1"
And I am on "C1" course homepage
And I add a new discussion to "forump1" forum with:
| Subject | Discussion subject |
| Message | Test post in forump1 |
And I am on "C1" course homepage
And I add a new discussion to "forumu1" forum with:
| Subject | Discussion subject |
| Message | Test post in forumu1 |
And I am on "C2" course homepage
And I add a new discussion to "forump2" forum with:
| Subject | Discussion subject |
| Message | Test post in forump2 |
And I am on "C2" course homepage
And I add a new discussion to "forumu2" forum with:
| Subject | Discussion subject |
| Message | Test post in forumu2 |
And I log out
And I log in as "admin"
Given I log in as "admin"
And I create a dataprivacy "delete" request for "u1"
And I approve a dataprivacy "delete" request for "u1"
And I run all adhoc tasks
And I navigate to "Users > Privacy and policies > Data requests" in site administration
And I should see "Deleted" in the "u1" "table_row"
And I am on "C1" course homepage
And I follow "forump1"
And I am on the "forump1" "forum activity" page
And I follow "Discussion subject"
Then I should not see "Test post in forump1"
When I am on "C1" course homepage
And I follow "forumu1"
When I am on the "forumu1" "forum activity" page
And I follow "Discussion subject"
Then I should not see "Test post in forumu1"
And I am on "C2" course homepage
And I follow "forump2"
And I am on the "forump2" "forum activity" page
And I follow "Discussion subject"
Then I should see "Test post in forump2"
When I am on "C2" course homepage
And I follow "forumu2"
When I am on the "forumu2" "forum activity" page
And I follow "Discussion subject"
Then I should not see "Test post in forumu2"

Some files were not shown because too many files have changed in this diff Show More