Compare commits

...

2327 Commits

Author SHA1 Message Date
Jun Pataleta 4b69c11978 Moodle release 4.1.1 2023-01-14 14:17:03 +08:00
Jun Pataleta 2d628ba8d6 weekly release 4.1+ 2023-01-13 10:52:14 +08:00
Andrew Nicols 3528887bb6 Merge branch 'MDL-76820-401' of https://github.com/cameron1729/moodle into MOODLE_401_STABLE 2023-01-12 12:09:35 +08:00
Jun Pataleta 217a32f033 Merge branch 'MDL-76649_401' of https://github.com/timhunt/moodle into MOODLE_401_STABLE 2023-01-12 12:06:45 +08:00
Jun Pataleta d24c201b6d Merge branch 'MDL-76474-401-2' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2023-01-12 11:55:41 +08:00
Huong Nguyen 4d9960ace2 MDL-76474 tiny_h5p: Prevent H5P Formatter placeholder to be assessed 2023-01-12 10:53:06 +07:00
Huong Nguyen 4e1c4f4483 MDL-76474 tiny_accessibilitychecker: Prevent placeholders to be assessed 2023-01-12 10:53:04 +07:00
Huong Nguyen b4e7d5300a MDL-76474 editor_tiny: Implement placeholder selector list
We created a list of placeholder selectors in placeholderSelectors option.
The purpose of this list is to indicate the contents that are only shown
in the editor and not to the users, by that way, we can decide to apply or
not to apply rules, styles, etc... to these contents
2023-01-12 10:52:39 +07:00
Michael Hawkins 313d44f83a MDL-76861 blog: Ensure correct escaping applied to search string 2023-01-12 11:43:11 +08:00
Jake Dallimore 6a6f5b79dd MDL-76862 user: Unit test for setting user home page preferences 2023-01-12 11:35:26 +08:00
Paul Holden f3c335b376 MDL-76862 user: ensure user can only update own preferred start page. 2023-01-12 11:35:26 +08:00
Andrew Nicols 5eb91a54c3 Merge branch 'MDL-76839-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2023-01-12 10:57:01 +08:00
Cameron Ball 1e72ef978a MDL-76820 core_search: Reset manager::$coursedeleting between tests 2023-01-12 10:54:44 +08:00
Jun Pataleta 28ccae3b7a Merge branch 'MDL-76739-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2023-01-12 10:17:37 +08:00
Jun Pataleta f06b222aa8 MDL-76739 behat: Replace occurrences of "surname" in Behat tests
Replace occurrences of "surname" in Behat tests with "last name"
2023-01-12 09:52:48 +08:00
Ilya Tregubov a4aeb20a30 Merge branch 'MDL-76607-401' of https://github.com/davewoloszyn/moodle into MOODLE_401_STABLE 2023-01-11 19:16:29 +07:00
Andrew Nicols b50964d2e2 Merge branch '66924-view-own-private-reply-401' of https://github.com/DSI-Universite-Rennes2/moodle into MOODLE_401_STABLE 2023-01-11 15:53:27 +08:00
Tim Hunt 2ea89b98a7 MDL-76810 redirect handling: ensure return URLs are properly sanitised 2023-01-11 11:43:12 +08:00
Andrew Nicols 833bc53bbb Merge branch 'MDL-76356_401' of https://github.com/stronk7/moodle into MOODLE_401_STABLE 2023-01-11 10:30:25 +08:00
Jake Dallimore 5123d2bf53 Merge branch 'MDL-76597-401-2' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2023-01-11 10:12:08 +08:00
David Mudrák acd82d3a86 MDL-76739 lang: Use the fixed strings in the tests, too 2023-01-10 21:15:06 +01:00
Helen Foster 152bbd76c5 MDL-76739 lang: Import fixed English strings (en_fix) 2023-01-10 21:13:14 +01:00
Paul Holden 02df248fbd Merge branch 'MDL-76811-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2023-01-10 16:40:06 +00:00
Paul Holden f5844e80fd Merge branch 'MDL-76803-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2023-01-10 16:24:16 +00:00
Paul Holden a789bf5b24 Merge branch 'MDL-76653-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2023-01-10 15:29:16 +00:00
Marina Glancy ff5fc3820a MDL-76356 various: avoid implicit conversion to int
PHP before version 8.1 automatically converted to int if the function
parameter (or array key) is expected to be int. PHP 8.1 shows notice in
this case
2023-01-10 15:25:57 +01:00
Marina Glancy 66dcb1683b MDL-76356 various: avoid implicit conversion to arrays
PHP before version 8.1 automatically converted stdClass or 'false' to arrays if
function parameter expects array (for example, "reset").
PHP 8.1 shows notices in these situations
2023-01-10 15:03:40 +01:00
Paul Holden 9cdafb6cad MDL-76839 mod_data: correct external test class coverage notation. 2023-01-10 13:02:29 +00:00
Paul Holden 89c59f32cf Merge branch 'MDL-76833-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2023-01-10 12:29:14 +00:00
Jun Pataleta 8280476728 MDL-76803 lang: Update usages of reworded email display options 2023-01-10 16:01:44 +08:00
Jun Pataleta 4fc9c3bba1 MDL-76803 lang: Make email display options more concise 2023-01-10 16:01:44 +08:00
Andrew Nicols 74f1a285a1 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 d9ae9e51cd MDL-76811 mod_data: Remove duplicate tests 2023-01-10 11:39:40 +08:00
Andrew Nicols cd42aa554f MDL-76811 mod_data: Stop testing template creation on field creation
The default template is no longer created when creating the fields with
the generator, so we should stop testing that it is.
2023-01-10 11:39:40 +08:00
Andrew Nicols e8ea4916e9 MDL-76811 mod_data: Generator test cleanup 2023-01-10 11:39:40 +08:00
Simey Lameze d1f75e4dce MDL-76653 behat: add coverage for SCORM availability 2023-01-10 10:26:04 +08:00
Jun Pataleta 1b54b120ad Merge branch 'MDL-76061-MOODLE_401_STABLE' of https://github.com/PhMemmel/moodle into MOODLE_401_STABLE 2023-01-10 09:41:46 +08:00
Philipp Memmel 3c5413f02a MDL-76061 core_calendar: Fix changing event type from 'user' 2023-01-09 15:03:15 +01:00
Julien Boulen 4ea254faf2 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:51 +01:00
Tim Hunt d71ada1952 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:34:14 +00:00
Paul Holden 29efbedc8b Merge branch 'MDL-75532-401' of https://github.com/snake/moodle into MOODLE_401_STABLE 2023-01-09 11:50:59 +00:00
Jun Pataleta 8ea2421cd4 Merge branch 'MDL-76785-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2023-01-09 19:38:42 +08:00
Jun Pataleta 1361e6ad92 Merge branch 'MDL-76506_m41' of https://github.com/jrchamp/moodle into MOODLE_401_STABLE 2023-01-09 19:33:59 +08:00
Paul Holden 3387060fe1 MDL-76785 tiny_media: define video width/height language strings.
AMOS BEGIN
 CPY [videoheight,atto_media],[videoheight,tiny_media]
 CPY [videowidth,atto_media],[videowidth,tiny_media]
AMOS END
2023-01-09 10:52:18 +00:00
Jun Pataleta 5d27f595d7 Merge branch 'MDL-76787-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2023-01-09 18:38:55 +08:00
Paul Holden 6f2d09dc5a Merge branch 'MDL-76601-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2023-01-09 10:11:10 +00:00
Jun Pataleta e101b6f195 Merge branch 'MDL-76812-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2023-01-09 17:46:13 +08:00
Jun Pataleta 934d8a2866 MDL-76597 mod_quiz: Add a default heading name for Behat tests 2023-01-09 15:41:59 +08:00
Jun Pataleta 6a7668e350 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-09 15:41:59 +08:00
Jun Pataleta d2bacb04ff 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.
2023-01-09 15:41:59 +08:00
Jun Pataleta 77a0f1b129 MDL-76597 mod_quiz: Add label for question checkboxes 2023-01-09 15:41:59 +08:00
Jun Pataleta ca841d1489 MDL-76597 mod_quiz: Darken section heading on quiz questions page 2023-01-09 15:41:59 +08:00
Jun Pataleta c2216eefa6 MDL-76597 mod_quiz: Add label for version selector 2023-01-09 15:41:59 +08:00
Jun Pataleta 241da816db 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-09 15:41:59 +08:00
Jake Dallimore 18302e1244 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:39:17 +08:00
Jake Dallimore 2080ba7c83 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:39:09 +08:00
Paul Holden b99d68087d Merge branch 'MDL-32114-401' of https://github.com/srobotta/moodle into MOODLE_401_STABLE 2023-01-06 11:20:47 +00:00
Paul Holden 93d95cf1fe Merge branch 'MDL-76578-401' of https://github.com/aanabit/moodle into MOODLE_401_STABLE 2023-01-06 10:41:36 +00:00
Paul Holden 13a6018b6d Merge branch 'MDL-76781-401' of https://github.com/lucaboesch/moodle into MOODLE_401_STABLE 2023-01-06 10:23:55 +00:00
Paul Holden ee507d22ec MDL-76812 reportbuilder: ensure audience key is incremented correctly. 2023-01-06 09:58:05 +00:00
Ilya Tregubov 145317b2b3 MDL-76251 mod_forum: Fix illegal whitespace. Another try. 2023-01-06 16:41:25 +07:00
Ilya Tregubov c3fdfc996c Merge branch 'MDL-76251-patch-401' of https://github.com/ilyatregubov/moodle into MOODLE_401_STABLE 2023-01-06 16:14:38 +07:00
Ilya Tregubov 6ee2865fcc MDL-76251 mod_forum: Fix illegal whitespace. 2023-01-06 16:11:51 +07:00
Ilya Tregubov 4943d24d50 Merge branch 'MDL-76251-401' of https://github.com/aya-saad1/moodle into MOODLE_401_STABLE 2023-01-06 15:37:55 +07:00
Stephan Robotta 64b8061180 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:16 +01:00
Andrew Nicols b24414554f Merge branch 'MDL-76508-401' of https://github.com/meirzamoodle/moodle into MOODLE_401_STABLE 2023-01-05 21:30:22 +08:00
Luca Bösch 325ca6568b MDL-76781 gradebook: support multilingual group names. 2023-01-05 13:27:02 +01:00
Paul Holden cd072308e5 weekly release 4.1+ 2023-01-05 10:53:10 +00:00
Aya Saad 3e0ad5831a MDL-76251 mod_forum: fix responsive issues in discussion 2023-01-05 11:41:19 +02:00
David Woloszyn a5430f1022 MDL-76607 timeline: Reordered message to account for long course name 2023-01-05 12:13:50 +11:00
David Woloszyn 46fca91bc4 MDL-76607 css: Fixed various classes where long strings break layout 2023-01-05 12:13:49 +11:00
Paul Holden f8b463e394 MDL-76787 tiny_h5p: correct capability for plugin enabled state. 2023-01-04 16:07:47 +00:00
Sara Arjona 717e049627 Merge branch 'MDL-76375-401' of https://github.com/lucaboesch/moodle into MOODLE_401_STABLE 2023-01-04 16:21:42 +01:00
Luca Bösch 6e286481e0 MDL-76375 quiz generator: Allow more than one attempt by Behat tests. 2023-01-04 15:15:46 +01:00
Sara Arjona 1cf0f78b9a Merge branch 'MDL-76221-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2023-01-04 13:09:18 +01:00
Paul Holden d95ab775ac MDL-76657 grade: load required test libraries for grade helper. 2023-01-04 11:22:42 +00:00
Paul Holden 56a3828cf7 Merge branch 'MDL-76657-401' of https://github.com/rezaies/moodle into MOODLE_401_STABLE 2023-01-04 11:10:39 +00:00
Paul Holden 4ecd652189 MDL-76221 reportbuilder: improve report test generator methods.
Test generators for creating report columns, filters and conditions
now allow for setting all persistent properties.
2023-01-04 10:56:23 +00:00
Jun Pataleta 9c4b8bf7e8 Merge branch 'MDL-74822-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2023-01-04 17:29:21 +08:00
Jun Pataleta c380811bb2 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:38 +08:00
Jun Pataleta 3e175706ff 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:38 +08:00
Sara Arjona db3bc708c4 Merge branch 'MDL-76181-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2023-01-04 09:20:19 +01:00
Sara Arjona 87b3be343e Merge branch 'MDL-76308-401' of https://github.com/BruceGoodGuy/moodle into MOODLE_401_STABLE 2023-01-03 14:13:00 +01:00
Paul Holden a25f2d0d7e Merge branch 'MDL-53137-401' of https://github.com/lucisgit/moodle into MOODLE_401_STABLE 2023-01-03 12:14:36 +00:00
Sara Arjona 0eb65f27ba Merge branch 'MDL-71506-401' of https://github.com/lucaboesch/moodle into MOODLE_401_STABLE 2023-01-03 13:10:17 +01:00
Paul Holden a4dfd67aed Merge branch 'MDL-75346-reset_dashboard_error-401' of https://github.com/leonstr/moodle into MOODLE_401_STABLE 2023-01-03 11:28:28 +00:00
Shamim Rezaie 3a5820f3c4 MDL-76657 gradebook: Remove hard-coded plugin names from unit test 2023-01-03 20:23:48 +11:00
Andrew Nicols a9abcf1af7 MDL-32105 mod_glossary: Improve behat test 2023-01-03 15:32:12 +08:00
Andrew Nicols 72f4f8ec7c Merge branch 'MDL-32105-401' of https://github.com/Chocolate-lightning/moodle into MOODLE_401_STABLE 2023-01-03 15:32:04 +08:00
Peter 9fd77db89a MDL-32105 mod_glossary: Restrict glossary aliases by set of keywords 2023-01-03 13:50:19 +08:00
Huong Nguyen c6a1770682 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:24 +07:00
Sara Arjona 3e4ba8af5c Merge branch 'MDL-60038-401' of https://github.com/aneno-m-e/moodle into MOODLE_401_STABLE 2023-01-02 16:35:23 +01:00
Luca Bösch dcb0de7c92 MDL-71506 mod_choice: suppress non respondents in downloads if set so. 2023-01-02 15:53:20 +01:00
Sara Arjona e2c8f3db7c Merge branch 'MDL-76106-401' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_401_STABLE 2023-01-02 13:07:39 +01:00
Sara Arjona b7b2097f50 Merge branch 'MDL-76760-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2023-01-02 12:27:40 +01:00
Paul Holden 0dbc7187ff MDL-76181 reportbuilder: sort columns during stress testing. 2022-12-29 13:57:37 +00:00
Sara Arjona 7e1aa845c7 weekly release 4.1+ 2022-12-29 12:57:44 +01:00
Sara Arjona 810cffb702 Merge branch 'MDL-76399-patch-401' of https://github.com/ilyatregubov/moodle into MOODLE_401_STABLE 2022-12-29 09:13:32 +01:00
Ilya Tregubov 5271bd9237 MDL-76399 behat: switch to appropriate Behat step for selects. 2022-12-29 14:53:16 +07:00
Ilya Tregubov f84d8e3c37 Merge branch 'MDL-76399-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-29 09:43:28 +07:00
Sara Arjona a3a3fd451c Merge branch 'MDL-76004-401' of https://github.com/aanabit/moodle into MOODLE_401_STABLE 2022-12-28 18:22:35 +01:00
Sara Arjona 52d5ebbb21 Merge branch 'MDL-72523-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-28 13:01:39 +01:00
Sara Arjona c72b7b7edc Merge branch 'MDL-76617_401' of https://github.com/stronk7/moodle into MOODLE_401_STABLE 2022-12-28 12:42:21 +01:00
Paul Holden c4960a2adf MDL-72523 calendar: return original focus from event modals. 2022-12-28 11:14:44 +00:00
Huong Nguyen 510bf00643 MDL-72523 javascript: Introduce setReturnElement for core/modal 2022-12-28 11:14:44 +00:00
Sara Arjona d3fca5e689 Merge branch 'MDL-72563-401' of https://github.com/KepaUrzelai/moodle into MOODLE_401_STABLE 2022-12-28 12:13:16 +01:00
Sara Arjona 1be732e913 Merge branch 'MDL-69071-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-28 11:41:11 +01:00
Paul Holden d2f55155a8 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:48 +00:00
Sara Arjona 430c7ff4e7 Merge branch 'MDL-76734-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2022-12-28 10:04:31 +01:00
Ilya Tregubov 181cab2fbd Merge branch 'MDL-76731_401' of https://github.com/PhilippImhof/moodle into MOODLE_401_STABLE 2022-12-28 15:14:07 +07:00
Sara Arjona f4f0207693 Merge branch 'MDL-76679-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-27 16:55:25 +01:00
Amaia Anabitarte ad8a10e7b6 MDL-76578 core_course: One section per page summary information 2022-12-26 16:03:34 +01:00
Meirza 9d822d41d8 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:50:56 +07:00
Noemie Ariste e89ed4b463 MDL-60038 moodlelib: ignore site policy if user auth type = 'webservice' 2022-12-23 10:09:09 +13:00
Eloy Lafuente (stronk7) 5db1ac4e98 MDL-76617 store_mongodb: Adjust moodle to mongo-php-library to v1.15.0
The new library version should work without problems with older
php-mongodb extension versions:
- v1.15.0 (paired version, tested).
- v1.14.1 (tested)

So, here, in 401_STABLE, we aren't raising the requirements. We have
done that in master, in order to get php82 support, but not here. For
more details about compatibilities, see:

https://www.mongodb.com/docs/drivers/php/#compatibility
2022-12-22 19:36:40 +01:00
Eloy Lafuente (stronk7) c22b39a650 MDL-76617 store_mongodb: Update mongo-php-library to v1.15.0
This updates the library from v1.13.1. Fixes some php81 warnings
leading to failed/risky tests.

The new library version should work without problems with older
php-mongodb extension versions:
- v1.15.0 (paired version, tested).
- v1.14.1 (tested)
2022-12-22 19:36:40 +01:00
Philipp Imhof 9d64ad1416 MDL-76731 behat: add steps to check for version
Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2022-12-22 17:12:47 +01:00
Tony Butler 11816b9e41 MDL-53137 qtype_numerical: Swap geo tolerance limits for -ve answers 2022-12-22 15:32:39 +00:00
Ilya Tregubov 178aa05227 weekly release 4.1+ 2022-12-22 19:16:29 +07:00
Ilya Tregubov 9f2e81004c Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2022-12-22 19:16:26 +07:00
Ilya Tregubov 0b7102abcc Merge branch 'MDL-76667-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-22 12:27:51 +07:00
Paul Holden fe16fea153 Merge branch 'MDL-75965-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2022-12-22 12:27:51 +07:00
Andrew Nicols 86f9ffc274 MDL-75105 tool_behat: Correct version number 2022-12-22 12:27:51 +07:00
Andrew Nicols a439461f03 MDL-75105 tool_behat: Coding style fixes 2022-12-22 12:27:51 +07:00
Andrew Nicols 5c15c1f211 Merge branch 'MDL-75105_401_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_401_STABLE 2022-12-22 12:27:51 +07:00
Paul Holden 86d02a9239 Merge branch 'MDL-75914-401' of https://github.com/meirzamoodle/moodle into MOODLE_401_STABLE 2022-12-22 12:27:51 +07:00
AMOS bot 68706da86a Automatically generated installer lang files 2022-12-22 00:07:43 +00:00
Meirza 296fd70a2c 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:33:00 +07:00
Mark Johnson 0c448af668 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:28 +00:00
Huong Nguyen 1f7bb3a50d MDL-75965 question_multichoice: Misalignment of feedback icons 2022-12-21 14:15:42 +07:00
Andrew Nicols 744e1dbaea MDL-76734 editor_tiny: Listen to TinyMCE submit events
jQuery submit events do not trigger the native submit event, and
therefore the TinyMCE submit listener is not called. This means that the
tinymce.triggerSave() function is not called, and the editor content is
not saved.

To work around this, if there is a form for the Node that the editor is
attached to, the jQuery submit event is listened to and the save event
called.

Unfortunately it is not possible to use a global jQuery submit listener
added to the document to save all editors on the page.
In some cases, this is too late because the bubbling process means that
a child node consumer may attempt to consume the data before the
delegated handler is called for the document.
2022-12-21 13:03:14 +08:00
Ilya Tregubov 5b47024f13 Merge branch 'MDL-76727-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2022-12-21 09:50:18 +07:00
Paul Holden dcf4a4629b Merge branch 'MDL-75279-401' of https://github.com/spvickers/moodle into MOODLE_401_STABLE 2022-12-20 10:27:38 +00:00
Andrew Nicols bb7cce1e56 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:45 +08:00
Stephen Vickers 27cc23ca7a MDL-75279 mod_lti: Add username to NRPS response 2022-12-19 18:09:27 +00:00
Paul Holden e8123832fb Merge branch 'MDL-72906-401' of https://github.com/tdjones/moodle into MOODLE_401_STABLE 2022-12-19 10:23:10 +00:00
Ilya Tregubov 6b47dc3b29 Merge branch 'MDL-74779-401' of https://github.com/ssj365/moodle into MOODLE_401_STABLE 2022-12-19 09:44:48 +07:00
Leon Stringer a77b23cdb7 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:39:44 +00:00
Paul Holden 7708594e89 MDL-76399 question: switch to appropriate Behat step for selects. 2022-12-16 13:09:46 +00:00
Paul Holden 1dda343f05 MDL-76399 behat: improvements to "should exist in" thrown exception. 2022-12-16 12:29:57 +00:00
Paul Holden 4f19d454ea Merge branch 'MDL-76026_401' of https://github.com/AnupamaSarjoshi/moodle into MOODLE_401_STABLE 2022-12-16 09:54:15 +00:00
Andrew Nicols 24c009f222 weekly release 4.1+ 2022-12-16 09:05:52 +08:00
Andrew Nicols 5556693437 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2022-12-16 09:05:50 +08:00
Paul Holden b874e20b55 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:17 +00:00
Paul Holden 06383b0b8a 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:05 +00:00
Sara Arjona 4979a5e988 Merge branch 'MDL-76674_401' of https://github.com/stronk7/moodle into MOODLE_401_STABLE 2022-12-14 18:34:50 +01:00
Amaia Anabitarte 76ce30ca98 MDL-76004 core_h5p: Ensure the browser is serving updated file 2022-12-14 16:22:46 +01:00
Eloy Lafuente (stronk7) 1e54868139 MDL-76674 core_lang: Add string for new America/Ciudad_Juarez 2022-12-14 15:51:10 +01:00
Paul Holden a33d1c8903 Merge branch 'MDL-76666_401' of https://github.com/stronk7/moodle into MOODLE_401_STABLE 2022-12-14 13:22:03 +00:00
Eloy Lafuente (stronk7) c5213c103b 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:17 +01:00
Sara Arjona 4ce5c57547 Merge branch 'MDL-75441-401' of https://github.com/aanabit/moodle into MOODLE_401_STABLE 2022-12-14 09:57:12 +01:00
AMOS bot 7496e9df75 Automatically generated installer lang files 2022-12-14 00:07:43 +00:00
Anupama Sarjoshi fe094a3705 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.1, 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 18:01:24 +00:00
Amaia Anabitarte 93bd773ee9 MDL-75441 mod_forum: Show add new post button to guest users 2022-12-13 17:38:30 +01:00
Paul Holden 0d20d1e8aa 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:10 +00:00
Andrew Nicols 361ebe960b Merge branch 'MDL-76509-401' of https://github.com/safatshahin/moodle into MOODLE_401_STABLE 2022-12-13 20:31:35 +08:00
Andrew Nicols 0d5d3a0c49 Merge branch 'MDL-76536-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-13 11:42:35 +08:00
Andrew Nicols 4d94f7e677 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:02 +08:00
Andrew Nicols 6f68abf715 Merge branch 'MDL-76293_401' of https://github.com/mkassaei/moodle into MOODLE_401_STABLE 2022-12-13 11:06:59 +08:00
Safat ac21fa9a1c MDL-76509 core: Upgrade error resolve for slot tags 2022-12-13 13:39:02 +11:00
Shamiso.Jaravaza f954848667 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:33:22 -07:00
hieuvu a42c52bf4e 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 20:31:24 +07:00
Sara Arjona 987542f609 Merge branch 'MDL-75571-401' of https://github.com/jacdsouza/moodle into MOODLE_401_STABLE 2022-12-12 11:23:18 +01:00
Khoa Nguyen Dang 959b58e132 MDL-76308 Question\D&D: The draggable area is slim characters to select 2022-12-12 13:53:57 +07:00
Andrew Nicols be5cf43aa4 Merge branch 'MDL-76398-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-11 20:20:19 +08:00
Jackson D'souza de182b9a22 MDL-75571 tool_componentlibrary: Custom activity icon 2022-12-09 15:56:07 +00:00
Jackson D'souza c48f443c32 MDL-75571 theme_boost: Activity icon
* Use Activity get_icon_url helper method to fetch icon.
2022-12-09 15:56:07 +00:00
Jackson D'souza fc67298a27 MDL-75571 block_timeline: Display custom activity icon if available. 2022-12-09 15:56:07 +00:00
Jackson D'souza c3db3298dd MDL-75571 calendar: Activity icon
* Use Activity get_icon_url helper method to fetch icon.
2022-12-09 15:56:07 +00:00
Sara Arjona 6bb2b9aa69 Merge branch 'MDL-76274-401' of https://github.com/cameron1729/moodle into MOODLE_401_STABLE 2022-12-09 16:18:08 +01:00
Paul Holden 187a7f7ac5 MDL-76536 enrol: prevent invalid role assignments in course creation.
Upgrade step to fixup existing bad data.
2022-12-09 11:39:19 +00:00
Sara Arjona 6b24f59302 weekly release 4.1+ 2022-12-09 08:56:58 +01:00
Sara Arjona 797a20a597 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2022-12-09 08:56:55 +01:00
Jun Pataleta 7a1e9ad82c Merge branch 'MDL-76556-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2022-12-08 10:07:47 +08:00
Andrew Nicols bd40bc0341 Merge branch 'MDL-76491-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-08 08:10:44 +08:00
AMOS bot 398fc9b0d3 Automatically generated installer lang files 2022-12-08 00:07:41 +00:00
Andrew Nicols 2a69a46a71 Merge branch 'MDL-76550_401' of https://github.com/AnupamaSarjoshi/moodle into MOODLE_401_STABLE 2022-12-08 08:06:49 +08:00
Andrew Nicols 41b48aeea5 Merge branch 'MDL-76074-401' of https://github.com/srobotta/moodle into MOODLE_401_STABLE 2022-12-08 07:28:45 +08:00
Andrew Nicols 3a544f384b Merge branch 'MDL-76116-401' of https://github.com/meirzamoodle/moodle into MOODLE_401_STABLE 2022-12-08 06:17:10 +08:00
Sara Arjona d8f2ead786 Merge branch 'MDL-75588-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2022-12-07 19:31:11 +01:00
Trevor Jones 50f06cb2be 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:23:35 -07:00
Mahmoud Kassaei d4abc697b8 MDL-76293 Gradebook: PHPUnit fails when plugins are not expected 2022-12-07 17:41:19 +00:00
Sara Arjona 10c1a7de42 Merge branch 'MDL-76575-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2022-12-07 18:32:19 +01:00
Sara Arjona dc444f4634 Merge branch 'MDL-76500-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-07 18:27:53 +01:00
Sara Arjona 151de4586d Merge branch 'MDL-76193-401' of https://github.com/JBThong/moodle into MOODLE_401_STABLE 2022-12-07 17:26:22 +01:00
Sara Arjona 52890694bf Merge branch 'MDL-76571_401' of https://github.com/timhunt/moodle into MOODLE_401_STABLE 2022-12-07 17:17:41 +01:00
Tim Hunt 95f073453b 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:53:41 +00:00
Jun Pataleta 6661a3eb45 Merge branch 'MDL-76559-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2022-12-07 22:41:07 +08:00
Andrew Nicols 0f8f164a07 MDL-76559 core: validate_email does not take false either 2022-12-07 21:40:18 +08:00
Sara Arjona 4cc96c42fa Merge branch 'MDL-76273-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-07 12:51:37 +01:00
Huong Nguyen 208c9fb5af MDL-75588 assign: Reset completion status when resetting a submission 2022-12-07 16:16:01 +07:00
Huong Nguyen 8884da3d8b MDL-76575 tiny_media: Remove unnecessary console log 2022-12-07 15:50:40 +07:00
Jun Pataleta e0f34d5049 Merge branch 'MDL-73017-M401_add-environment-check-for-versions-not-supporting-php-8-1' of https://github.com/ziegenberg/moodle into MOODLE_401_STABLE 2022-12-07 13:47:12 +08:00
Meirza 09e171c522 MDL-76116 mnet: styling the delete key confirmation window properly 2022-12-07 11:26:26 +07:00
Jun Pataleta 4426e21204 Merge branch 'MDL-76559-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2022-12-06 23:19:37 +08:00
Andrew Nicols fb7d1b34ef MDL-76559 core: validate_email should not accept empty values 2022-12-06 20:53:47 +08:00
Jun Pataleta 32bb535cb6 Merge branch 'MDL-76476-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-06 19:41:17 +08:00
Jun Pataleta dd3b92545e Merge branch 'MDL-75381-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-06 19:24:34 +08:00
Ilya Tregubov e572943d21 Merge branch 'MDL-76490-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-06 13:09:38 +03:00
Paul Holden 2d2b2e3244 MDL-76500 grade: fix grade form when item cannot be overridden. 2022-12-06 09:20:01 +00:00
Ilya Tregubov e03c52acbe Merge branch 'MDL-76446-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-06 12:19:09 +03:00
Cameron Ball c503238978 MDL-76274 assignfeedback_editpdf: Fix upgrade step for stale conversions 2022-12-06 16:05:44 +08:00
Ilya Tregubov bc5c812db3 Merge branch 'MDL-75516_401' of https://github.com/larsbonczek/moodle into MOODLE_401_STABLE 2022-12-06 10:38:12 +03:00
Stephan Robotta d7734740b2 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-06 08:24:46 +01:00
Andrew Nicols ba38d916be Merge branch 'MDL-75446-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2022-12-06 15:19:47 +08:00
Andrew Nicols e7c70fd2c0 Merge branch 'MDL-75573-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-06 13:55:58 +08:00
Andrew Nicols fa309d0650 Merge branch 'MDL-76145-401' of https://github.com/meirzamoodle/moodle into MOODLE_401_STABLE 2022-12-06 13:36:16 +08:00
Paul Holden 1efd88b2c8 MDL-76273 core: multi-byte character filename support for TCPDF.
See: https://github.com/tecnickcom/TCPDF/pull/562
2022-12-05 15:04:23 +00:00
Paul Holden 20ac0d1626 MDL-76490 behat: use defined step for interaction with autocomplete. 2022-12-05 14:22:19 +00:00
Marina Glancy 40ee69ea8b MDL-76490 behat: correct step for opening autocomplete in container. 2022-12-05 14:21:53 +00:00
Anupama Sarjoshi 87d5f8eb0f MDL-76550 Quiz and qbank: Fix display of Category and question names 2022-12-05 12:19:14 +00:00
Sara Arjona 05c53f2c44 Merge branch 'MDL-75789-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-05 12:53:43 +01:00
Sara Arjona 1b9bcbf19d Merge branch 'MDL-76166-username-logging-MOODLE_401_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_401_STABLE 2022-12-05 12:44:23 +01:00
Ilya Tregubov a3ed6cea5f Merge branch 'MDL-75788-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2022-12-05 14:31:44 +03:00
Sara Arjona f2dd9867ab Merge branch 'MDL-76482-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2022-12-05 12:04:02 +01:00
Daniel Ziegenberg bbd49c9533 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:29:09 +01:00
Angelia Dela Cruz bc82295f6a 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:05:07 +08:00
Ilya Tregubov 2e1118fa62 Merge branch 'MDL-76330-MOODLE_401_STABLE' of https://github.com/sh-csg/moodle into MOODLE_401_STABLE 2022-12-05 09:22:05 +03:00
Ferran Recio 272a458099 MDL-76225 core_courseformat: fix section title id 2022-12-05 13:48:05 +08:00
Thong Bui 2370255e4c MDL-76193 Questions: Backup and Restore with tags fails 2022-12-05 10:01:48 +07:00
AMOS bot 9cf6e7128e Automatically generated installer lang files 2022-12-04 00:08:32 +00:00
Andrew Nicols ed29852851 MDL-76556 tool_log: Set the store property correctly 2022-12-03 11:48:26 +08:00
Ilya Tregubov a7e9836173 Merge branch 'MDL-76495-401' of https://github.com/marinaglancy/moodle into MOODLE_401_STABLE 2022-12-02 13:49:13 +03:00
Lars Bonczek add1d29339 MDL-75516 core: Perform proper JSON encoding in mustache quote helper 2022-12-02 11:22:23 +01:00
Paul Holden 68dc955abe MDL-76491 javascript: add missing core/notification imports. 2022-12-02 10:06:21 +00:00
Paul Holden 258fe36e10 MDL-76491 javascript: prevent eslint undefined Notification import. 2022-12-02 10:06:04 +00:00
Paul Holden 76fde950c1 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:55:55 +00:00
Paul Holden d4681259bc 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:55:45 +00:00
Ilya Tregubov e6dec9c0fb Merge branch 'MDL-75951-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2022-12-02 11:55:54 +03:00
Dani Palou 8b153fb67d MDL-75788 behat: Use profile field generators in existing tests 2022-12-02 14:58:28 +08:00
Dani Palou 1145b8f597 MDL-75788 testing: Handle new lines in menu profile field generator 2022-12-02 14:58:28 +08:00
Andrew Nicols 743fc68b4f MDL-75951 core: Update box/spout to address PHP 8.1 deprecation
This change is a direct pull from an upstream fix:
https://github.com/openspout/openspout/commit/64a09a748d04992d63b38712599a9d8742bd77f7

This addresses the deprecation of auto_detect_line_endings in PHP 8.1.
2022-12-02 13:58:39 +08:00
Ilya Tregubov 9d801ab8a0 Merge branch 'MDL-76494-401' of https://github.com/marinaglancy/moodle into MOODLE_401_STABLE 2022-12-02 08:41:34 +03:00
hieuvu b7f08d7ecc MDL-76106 qtype_ddmarker: Improve loading consistency.
Wait for the image to load completely before running the js.
2022-12-02 12:39:23 +07:00
Andrew Nicols 715ec40ad6 Merge branch 'MDL-76493-401' of https://github.com/marinaglancy/moodle into MOODLE_401_STABLE 2022-12-02 12:15:30 +08:00
Paul Holden 1d98d162a1 MDL-75573 backup: translate async operation type in messages. 2022-12-01 19:48:58 +00:00
Stefan Hanauska d42189d71a MDL-76330 enrol: Check permission to show edit icon 2022-12-01 20:07:13 +01:00
Sara Arjona 7f5f04dbc2 weekly release 4.1+ 2022-12-01 16:07:58 +01:00
Sara Arjona 82d90a8950 NOBUG: Fixed file access permissions 2022-12-01 16:07:57 +01:00
Simey Lameze e581bd6cde MDL-76507 behat: change step to use 'Recent and next 60 days' option
It was detected that 'This month' option may cause failures in builds in between months
so using the 'Recent and next 60 days' still fixes the weekend scenario and also the
in between months issue.
2022-12-01 08:51:26 +01:00
Andrew Nicols 68cd224ef3 Merge branch 'MDL-75604-401' of https://github.com/ssj365/moodle into MOODLE_401_STABLE 2022-12-01 08:59:07 +03:00
Andrew Nicols afef05b07c Merge branch 'MDL-75281-401' of https://github.com/call-learning/moodle into MOODLE_401_STABLE 2022-12-01 08:59:07 +03:00
Jun Pataleta d9cd25c2fb MDL-76497 upgrade: add the 4.1.0 separation line to all upgrade scripts 2022-12-01 08:59:07 +03:00
Sara Arjona 960bc4e3c5 Merge branch 'MDL-76226-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-01 08:59:07 +03:00
Sara Arjona cf06e4207f Merge branch 'MDL-76507-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2022-12-01 08:59:07 +03:00
Jun Pataleta 9f06111278 Merge branch 'MDL-76250-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-01 08:59:06 +03:00
Andrew Nicols a8bcb23134 MDL-76483 core: Handle default value for get_docs_url() 2022-12-01 08:59:06 +03:00
Ilya Tregubov 5c96f74a06 Merge branch 'MDL-74853-401' of https://github.com/marinaglancy/moodle into MOODLE_401_STABLE 2022-12-01 08:59:06 +03:00
Ilya Tregubov 7cc3d06276 Merge branch 'MDL-76487-401' of https://github.com/ilyatregubov/moodle into MOODLE_401_STABLE 2022-12-01 08:59:06 +03:00
Andrew Nicols b00f1464a8 Merge branch 'MDL-75826-401' of https://github.com/meirzamoodle/moodle into MOODLE_401_STABLE 2022-12-01 08:59:06 +03:00
Andrew Nicols 88393518f5 MDL-76487 tiny_autosave: Clarify autosave store rejection message 2022-12-01 08:59:06 +03:00
Jun Pataleta 57e5cc1588 Merge branch 'MDL-68981-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2022-12-01 08:59:06 +03:00
Andrew Nicols a0efc27d31 MDL-76487 tiny_autosave: Use navigator.sendBeacon instead of fetch
Firefox does not support the keepalive flag for fetch, despite every
other browser except IE supporting it.
2022-12-01 08:59:06 +03:00
David Woloszyn 0be376fdc0 MDL-76183 lib: Update Github URLs 2022-12-01 08:59:05 +03:00
Jun Pataleta 8bf788a1bd Merge branch 'MDL-76284-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-01 08:59:05 +03:00
Eloy Lafuente (stronk7) 864a2ea990 MDL-76429 composer: Bump to phpwebdriver 1.2.1 for php81 compat
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-12-01 08:59:05 +03:00
Andrew Nicols 73f10723b3 Merge branch 'MDL-76380-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2022-12-01 08:59:05 +03:00
sam marshall be11ee3383 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-12-01 08:59:05 +03:00
Eloy Lafuente (stronk7) fbb0fd952d MDL-75977 xmldb: Avoid using null params on built-in DB functions
This changes a couple of cases, in postgres and oracle where we
were trying to calculate strlen() on null values (that causes a
PHP 8.1 warning).

Also, at the same time, fixing another case in xmldb_field, it
was detected that it had a bug around precision (being set to the
value of type), being used as object property, when it's not, so
it was also fixed by moving the code logic a little bit.

Note that the bug has been there since inception because there
isn't any code in Moodle using that ->precision property. It
was just detected thanks to PHP 8.2, but that's another story. :-)

Verified that with the patch:
- All DBs can be installed (phpunit install)
- Both DDL and DML pass without any ddl/dml warning (in all DBs).
2022-12-01 08:59:05 +03:00
Meirza 0cc4492303 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-12-01 08:59:05 +03:00
Ilya Tregubov dcc2d22a74 Merge branch 'MDL-72019-401' of https://github.com/ilyatregubov/moodle into MOODLE_401_STABLE 2022-12-01 08:59:05 +03:00
Meirza 1c2503a6de MDL-72019 user: Allows data to be formatted when exporting. 2022-12-01 08:59:05 +03:00
Laurent David c86d6510ce 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:18:27 +01:00
Shamiso.Jaravaza a8f889acbf 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 12:10:07 -07:00
Kepa Urzelai 5a07bcf871 MDL-72563 theme_boost: rubric area style fix 2022-11-30 15:13:50 +01:00
Simey Lameze 4be0e3541e MDL-76507 behat: use 'This month' option when exporting
This is necessary because 'This week' option is conditionally
hidden on weekends making behat builds to fail on those days.

Also, the last two steps had to be split because Bennu library
adds days with leading zero and moodle removes it by default.
2022-11-30 19:57:35 +08:00
Marina Glancy 12ac6ce86b MDL-76494 libs: patch Box::Spout for PHP 8.1 - calling basename on null 2022-11-30 10:45:58 +01:00
Meirza 2db281b197 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:24 +07:00
Andrew Nicols 805559cb48 MDL-76482 output: The javascript mustache helper should return a string 2022-11-30 12:18:47 +08:00
Huong Nguyen 19ed64f2d9 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:18:54 +07:00
Huong Nguyen dcc115786d MDL-68981 tool_recyclebin: Extra PHPUnit with General restore config 2022-11-30 10:18:54 +07:00
Huong Nguyen 2ef01c0fdf 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:18:54 +07:00
Brendan Heywood 2696f446ac MDL-76166 calendar: Ensure user is in server access logs 2022-11-30 13:26:27 +11:00
Brendan Heywood c45c98f6f2 MDL-76166 auth: Ensure user is in server access logs 2022-11-30 13:26:27 +11:00
Jonathan Champ 181ecedb11 MDL-76506 cache_application: Fix MDL_PERF and perfdebug checks 2022-11-29 13:28:05 -05:00
Paul Holden 7e8efa870d 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:31:05 +00:00
Paul Holden b363723f9a MDL-76476 tiny_media: don't load image preview if none exists. 2022-11-29 16:28:15 +00:00
Ilya Tregubov e0ef5d0638 Merge branch 'MDL-75463-401' of https://github.com/ilyatregubov/moodle into MOODLE_401_STABLE 2022-11-29 13:32:16 +03:00
Kevin Percy 38250aec8e MDL-75463 lib: Update Bennu version number to 0.2 2022-11-29 13:31:25 +03:00
Andrew Nicols 5475fb8a15 Merge branch 'MDL-76355-401' of https://github.com/marinaglancy/moodle into MOODLE_401_STABLE 2022-11-29 17:30:02 +08:00
Angelia Dela Cruz 5384f872bb 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-29 17:06:42 +08:00
Paul Holden eb3ee12852 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:42:02 +00:00
Daniel Ziegenberg dded69ad15 MDL-74823 lib: HTMLPurifier upgrade to 4.16.0
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-11-29 16:39:48 +08:00
Daniel Ziegenberg 2cfaa895aa MDL-74823 lib: normalize line endings for HTMLPurifier
Prior to this change, all the line endings in the imported HTMLPurifier
library were using CRLF (\r\n aka Windows style), but the HTMLPurifier
source and also the downloadable artefacts use LF (\n aka Linux style)
as line endings. This has been the case since
510d190382 when with the commit
"MDL-38672 import HTML Purifier 4.5.0" all line endings were changed
from LF to CRLF. There was no comment in the commit on why this change
was done.

As the original source uses LF, this commit partly reverts
510d190382 and goes back to LF as line
endings.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-11-29 16:39:35 +08:00
Daniel Ziegenberg 60e176b50d MDL-74823 lib: HTMLPurifier upgrade to 4.14.0
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-11-29 16:39:22 +08:00
Paul Holden 530e06da6d MDL-75789 restore: multi-byte safe substring calculating course names.
Co-authored-by: Leon Stringer <leon.stringer@ntlworld.com>
2022-11-29 08:36:00 +00:00
info@eWallah.net 4d9c6785ff MDL-65939 phpunit: Maildigest tests can query a wrong adhoc task 2022-11-29 15:41:31 +08:00
Simey Lameze 1b8456dbb1 MDL-76058 behat: send message using data generator 2022-11-29 15:37:15 +08:00
Andrew Nicols 3e26150eae Merge branch 'MDL-76088-401' of https://github.com/marinaglancy/moodle into MOODLE_401_STABLE 2022-11-29 15:09:46 +08:00
Pablo Amaya 5cf31d7445 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-11-29 14:18:30 +08:00
Andrew Nicols 62238568a2 MDL-76258 mod_lti: Codign style fixes 2022-11-29 12:28:46 +08:00
Stefan Hanauska 6e9e2be8f4 MDL-76258 mod_lti: Reset clientid after restore 2022-11-29 12:28:46 +08:00
Andrew Nicols 34f8f82288 MDL-69570 assignfeedback_editpdf: Whitespace fix 2022-11-29 11:50:41 +08:00
Adrian Greeve ac8b7e9f0a MDL-69570 assignfeedback_editpdf: Upgrade step to remove files.
This upgrade step removes all orphaned editpdf feedback files and
records.
2022-11-29 11:50:41 +08:00
Adrian Greeve b50c240ab5 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 11:50:41 +08:00
Jonathan Champ 189c4ce4de MDL-76506 core\lock: Fix MDL_PERF and perfdebug checks 2022-11-28 18:54:13 -05:00
Paul Holden e3840909f5 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:38:52 +00:00
Paul Holden 523b590711 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:29 +00:00
Paul Holden b391ed9941 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:43 +00:00
Marina Glancy a5f92c041e MDL-74853 various: add second parameter to htmlentities functions
Default value of the $flag argument changed in PHP 8.1 from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE
To ensure consistent behavior across different PHP version the second parameter is now required for the functions:
htmlspecialchars(), htmlentities(), htmlspecialchars_decode(), html_entity_decode() and get_html_translation_table()
2022-11-28 16:12:32 +01:00
Marina Glancy cfe0945ffb MDL-76495 libs: patch TCPDF for PHP 8.1 compatibility 2022-11-28 16:02:03 +01:00
Marina Glancy 6989097a3c MDL-76495 lib: test for qrcode in TCPDF 2022-11-28 16:02:03 +01:00
Marina Glancy 847f08dcd4 MDL-76494 libs: patch Box::Spout for PHP 8.1 compatibility 2022-11-28 15:56:54 +01:00
Marina Glancy 02430ee562 MDL-76494 core_reportbuilder: behat test for downloading report 2022-11-28 15:56:54 +01:00
Marina Glancy a8e90aaae1 MDL-76494 dataformat: tests for Excel and ODS writers 2022-11-28 15:56:53 +01:00
Paul Holden fac0c27efb MDL-76284 webservice: early exit if no users for missing capabilities. 2022-11-28 11:53:23 +00:00
Marina Glancy a7e7cd71cb MDL-76355 lib: apply a patch to googleapi for php 8.1 compatibility 2022-11-28 12:01:05 +01:00
Marina Glancy 37be6bfa4d MDL-76088 blocks: fixed incorrect use of static cache 2022-11-28 11:59:46 +01:00
Marina Glancy d311cab0c0 MDL-76493 core: make sure format_string(null) works on PHP 8.1 2022-11-28 11:55:50 +01:00
Meirza fb5a3dd643 MDL-75826 profile: Redirect to profile page if returnto is profile. 2022-11-28 16:39:11 +07:00
Jun Pataleta 0ea3d45e04 Moodle release 4.1 2022-11-26 17:23:04 +08:00
Jun Pataleta a3cee9a0ea NOBUG: Change travis.yml to MOODLE_401_STABLE 2022-11-26 17:23:04 +08:00
Ilya Tregubov 15d4ea81e0 Moodle release 4.1rc3 2022-11-25 15:39:02 +03:00
Jun Pataleta 004f658e60 Merge branch 'MDL-75982-master-fix' of https://github.com/andrewnicols/moodle 2022-11-25 08:42:36 +08:00
Andrew Nicols b38e0e9db4 Merge branch 'MDL-76470-master' of https://github.com/marinaglancy/moodle 2022-11-25 08:06:11 +08:00
Andrew Nicols bd55e6a077 MDL-75982 tiny_h5p: Hold behat until the content is inserted 2022-11-25 07:43:37 +08:00
Marina Glancy 6fb9209405 MDL-76470 core: normalise locale for strftime substitution
Huge thanks to Eloy Lafuente for investigation
2022-11-24 16:21:43 +01:00
Víctor Déniz 4e95640030 Merge branch 'MDL-76467-master' of https://github.com/davewoloszyn/moodle 2022-11-24 15:08:13 +00:00
Víctor Déniz 1b92faceb6 Merge branch 'MDL-76466-master' of https://github.com/davewoloszyn/moodle 2022-11-24 12:10:27 +00:00
Ilya Tregubov b54f76f391 Merge branch 'MDL-75982-master-behat-fix' of https://github.com/lameze/moodle 2022-11-24 13:06:19 +03:00
Jun Pataleta 2dcb36153d Merge branch 'MDL-76468-master' of https://github.com/andrewnicols/moodle 2022-11-24 17:51:56 +08:00
Simey Lameze 3d0129ffc7 MDL-75982 editor_tiny: fix accessibility behat failures 2022-11-24 17:48:57 +08:00
David Woloszyn 0255bc7254 MDL-76467 gradereport: Next and previous arrows use language direction 2022-11-24 20:41:35 +11:00
David Woloszyn 177b1f5066 MDL-76466 gradereport_user: Accordion icon uses language direction 2022-11-24 20:38:59 +11:00
Ilya Tregubov ab606a00ec Merge branch 'MDL-76327-master' of https://github.com/andrewnicols/moodle 2022-11-24 12:24:59 +03:00
Andrew Nicols c3c3a1fe0f MDL-76468 output: Correct slasharg URL for theme stylesheet 2022-11-24 16:40:46 +08:00
Ilya Tregubov 3c36928805 Merge branch 'MDL-76291' of https://github.com/paulholden/moodle 2022-11-24 10:59:29 +03:00
Andrew Nicols 15eedeac4e MDL-76327 tiny_autosave: Use fetch + keepalive to reset autosave session
The autosave is reset on form submission, but if that form submission
happens at the same time as a page reload, the connection and/or server
is slow, then the connection may be aborted before the session is
removed.

This commit changes the autosave reset to use the fetch() API with a
keepalive flag.

Unfortunately we do not have a formal endpoint for this in Moodle JS so
this is a hackier approach than I would like. MDL-76463 has been opened
to investigate this.

This commit also fixes a situation where the autosave content is re-sent
when the user has typed in the editor and their next action is to click
on the submit button. This is now blocked for that editor instance.
2022-11-24 12:35:47 +08:00
Jun Pataleta 7c1761564e Merge branch 'MDL-76460-master' of https://github.com/andrewnicols/moodle 2022-11-24 12:18:39 +08:00
Shamim Rezaie 07ab2c0cfb Merge branch 'MDL-75982-master-latest' of https://github.com/andrewnicols/moodle 2022-11-24 13:36:11 +11:00
Andrew Nicols 08a19dbed8 Merge branch 'MDL-76403-master' of https://github.com/junpataleta/moodle 2022-11-24 10:18:22 +08:00
Andrew Nicols 688873c84b Merge branch 'MDL-76395-master-enfix' of https://github.com/vmdef/moodle 2022-11-24 10:16:39 +08:00
Simey Lameze cc93388082 MDL-75982 tiny_equation: add behat for equation editor 2022-11-24 09:05:46 +08:00
Simey Lameze a3bf958cc5 MDL-75982 tiny_autosave: add tests for autosave plugin 2022-11-24 09:05:46 +08:00
Simey Lameze 7e41864faa MDL-75982 tiny_media: add tests for media video plugin 2022-11-24 09:05:46 +08:00
Simey Lameze 63f9ec9b40 MDL-75982 tiny_accessibilitychecker: tests for accessibility checker 2022-11-24 09:05:46 +08:00
Andrew Nicols e82229eea6 MDL-75982 tiny_accessibilitychecker: Fall back to opaque white as top background 2022-11-24 09:05:46 +08:00
Simey Lameze 4024127ee0 MDL-75982 tiny_h5p: add tests for h5p plugin 2022-11-24 09:05:46 +08:00
Andrew Nicols c77f79d0ce MDL-75982 editor_tiny: Add behat tests
This commit starts to add Behat tests for the various features of
TinyMCE.

Please note that not all features are testable with Behat.
2022-11-24 09:05:46 +08:00
Andrew Nicols 305975a3e5 MDL-76460 tiny_recordrtc: Respect audio/video capabilities in editor 2022-11-24 08:26:08 +08:00
Víctor Déniz 39b7c4faf4 Merge branch 'MDL-76440-master' of https://github.com/andrewnicols/moodle 2022-11-23 17:55:10 +00:00
Víctor Déniz d4de7b630e MDL-76395 lang: Use fixed strings in tests 2022-11-23 17:03:58 +00:00
Helen Foster 74828e8149 MDL-76395 lang: Import fixed English strings (en_fix) 2022-11-23 17:03:58 +00:00
Víctor Déniz f7aebbcec5 Merge branch 'MDL-76324-master' of https://github.com/HuongNV13/moodle 2022-11-23 14:22:25 +00:00
Ilya Tregubov 00f66fad8f Merge branch 'MDL-73964-master' of https://github.com/mickhawkins/moodle 2022-11-23 14:35:02 +03:00
Paul Holden 3d5af37615 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:32 +00:00
Paul Holden 9ff0f5cc85 Merge branch 'MDL-76302-master' of https://github.com/meirzamoodle/moodle 2022-11-23 09:13:59 +00:00
Jun Pataleta 0a01aa9d41 Merge branch 'MDL-76365-master' of https://github.com/HuongNV13/moodle 2022-11-23 14:51:56 +08:00
Andrew Nicols c99636e0a6 MDL-76440 editor_tiny: Reset text-align to initial
Bootstrap core's "reboot" sets a default text-align which is
incompatible with RTL languages.

Arguably this should be set in the Boost theme, but this is a fairly
large change which has potential to break things so I'm making it here
where we experience the issue for now.
2022-11-23 12:32:09 +08:00
Stevani Andolo e4da62b5f1 MDL-73964 core: Update support site/email usage to use supportemail
This ensures the correct link is provided (and not email address
itself), and honours the supportavailability setting.
2022-11-23 11:44:19 +08:00
Andrew Nicols 898e67ecb3 MDL-76440 editor_tiny: Add directionality plugins to toolbar 2022-11-23 11:11:47 +08:00
Huong Nguyen 24e7bff1b9 MDL-76324 webdav: Fix error for PHP 8.0 2022-11-23 09:11:42 +07:00
Jun Pataleta 6099cf161d MDL-76403 versions: main version bump 2022-11-23 09:47:32 +08:00
Jun Pataleta 00bae8b8a4 MDL-76403 versions: bump all versions and requires near release 2022-11-23 09:45:23 +08:00
Ilya Tregubov 422da2ed45 Moodle release 4.1rc2 2022-11-22 15:58:44 +03:00
Huong Nguyen 9e259e5399 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:07:57 +07:00
Meirza 6f829cd2ff MDL-76302 theme: handling TinyMCE menu overlapping with the top navbar 2022-11-22 10:42:45 +07:00
Jun Pataleta 86e159fae2 Merge branch 'MDL-76390' of https://github.com/stronk7/moodle 2022-11-22 11:20:12 +08:00
Jun Pataleta 60e275183a Merge branch 'MDL-76367-master' of https://github.com/andrewnicols/moodle 2022-11-22 11:08:37 +08:00
Jun Pataleta 18dda191fb Merge branch 'MDL-76388' of https://github.com/stronk7/moodle 2022-11-22 10:50:14 +08:00
Jun Pataleta 5fd3111f95 Merge branch 'MDL-76389' of https://github.com/stronk7/moodle 2022-11-22 09:49:53 +08:00
Jun Pataleta c92cb70346 MDL-75100 core: Add upgrade.txt note for core_date::strftime() 2022-11-22 09:42:19 +08:00
Jun Pataleta a1ed676d15 Merge branch 'MDL-75100-master' of https://github.com/marinaglancy/moodle 2022-11-22 09:14:04 +08:00
Ilya Tregubov c1de3c0cbc Merge branch 'MDL-76341-master' of https://github.com/stevandoMoodle/moodle 2022-11-21 16:53:11 +03:00
Marina Glancy 7bbb5434bf MDL-75100 core: replace function strftime deprecated in PHP 8.1 2022-11-21 11:41:12 +01:00
Ilya Tregubov 1273c295ac Merge branch 'MDL-76306-master' of https://github.com/andrewnicols/moodle 2022-11-21 11:14:55 +03:00
Stevani Andolo a2578defa8 MDL-76341 tool_lp: Fixed learning plan's header not containing user name 2022-11-21 14:33:46 +08:00
Eloy Lafuente (stronk7) ec75faf46c 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:50:46 +01:00
Eloy Lafuente (stronk7) 79a17a56bb 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:33:37 +01:00
Eloy Lafuente (stronk7) d3ee90b158 MDL-76388 user: Switch from deprecated string in core_user to core one
This case was left not changed @ MDL-72509, and detected by the
Moodle 4.1 apache logs review @ MDL-76064.

Not much to say, just switch to the core lang string, the other
is deprecated for 4.1 and up.
2022-11-20 10:46:41 +01:00
Paul Holden 7c14a2239a Moodle release 4.1rc1 2022-11-18 11:45:35 +00:00
Paul Holden 6b0f7ab996 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-11-18 11:45:32 +00:00
Andrew Nicols 44d6b24d28 MDL-76367 core: Apply RTL transformations to editors too 2022-11-18 15:13:12 +08:00
Andrew Nicols 899397c0af MDL-76367 editor_tiny: Add missing lang direction string
TinyMCE uses a magic langstring only present in RTL languages which
makes it hard to automatically fetch from their strings.

Since it's the only magic string I can find a reference to (after
searching their codebase), I've elected to add this in the lang.php
serving layer. This allows us to use our own langstring instead of
re-declaring something that should be stored once across Moodle.
2022-11-18 14:31:35 +08:00
Jun Pataleta e9326dfcfb Merge branch 'MDL-76332-master' of https://github.com/call-learning/moodle 2022-11-18 11:58:18 +08:00
Andrew Nicols 2259edc6e2 Merge branch 'MDL-76102-master' of https://github.com/marinaglancy/moodle 2022-11-18 11:43:51 +08:00
Jun Pataleta a482fb4488 Merge branch 'MDL-75903' of https://github.com/paulholden/moodle 2022-11-18 11:28:31 +08:00
AMOS bot 9b539d4894 Automatically generated installer lang files 2022-11-18 00:07:42 +00:00
Sara Arjona 2322d783dc Merge branch 'MDL-73620-master_grouperror' of https://github.com/alexmorrisnz/moodle 2022-11-17 18:00:21 +01:00
Sara Arjona 275162dd7a Merge branch 'MDL-74780' of https://github.com/paulholden/moodle 2022-11-17 17:40:09 +01:00
Paul Holden 1ad023bba6 Merge branch 'MDL-76105-master-enfix' of https://github.com/vmdef/moodle 2022-11-17 16:29:51 +00:00
Sara Arjona b47e0f8009 Merge branch 'MDL-70491-master_take2' of https://github.com/lucaboesch/moodle 2022-11-17 17:25:48 +01:00
Sara Arjona ae18f35f27 Merge branch 'MDL-75627_master_v2' of https://github.com/sbourget/moodle 2022-11-17 17:22:23 +01:00
Sara Arjona d52edc5c0d Merge branch 'MDL-75479-master' of https://github.com/junpataleta/moodle 2022-11-17 17:14:34 +01:00
Paul Holden 7c79ff41b0 Merge branch 'MDL-75569-master' of https://github.com/justusdieckmann/moodle 2022-11-17 14:35:01 +00:00
Paul Holden d47129d4a9 Merge branch 'MDL-76331-master' of https://github.com/andrewnicols/moodle 2022-11-17 14:19:39 +00:00
Jun Pataleta 9cf92be84d MDL-75479 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.
2022-11-17 22:10:35 +08:00
Andrew Nicols 6ee0d6a979 MDL-76331 editor_tiny: Generate all langstrings
This change renames the generator and has it generate the language
strings for all available languages for easier import into AMOS.
2022-11-17 22:09:42 +08:00
Víctor Déniz b2e8646ee2 Merge branch 'MDL-76326-master' of https://github.com/HuongNV13/moodle 2022-11-17 13:19:58 +00:00
Sara Arjona 78a1791e24 Merge branch 'MDL-75567-master' of https://github.com/justusdieckmann/moodle 2022-11-17 13:06:28 +01:00
Víctor Déniz dd1c227c8d Merge branch 'MDL-73804-make-category-filter-context' of https://github.com/Peterburnett/moodle 2022-11-17 11:54:26 +00:00
Paul Holden 9f2e508ccb Merge branch 'MDL-75665_master' of https://github.com/tasosb/moodle 2022-11-17 11:41:54 +00:00
David Mudrák 5e2e7562b6 MDL-76105 lang: Use fixed strings in tests, too. 2022-11-17 10:37:45 +00:00
Helen Foster ae2f8cfa67 MDL-76105 lang: Import fixed English strings (en_fix) 2022-11-17 09:44:35 +00:00
Jun Pataleta 0cdfceb0f7 MDL-75479 auth_cas: Bump thirdpartylibs version to 1.6.0 2022-11-17 17:16:55 +08:00
Jun Pataleta d2bcdfea0e MDL-75479 auth_cas: Update phpCAS to v1.6.0 2022-11-17 17:16:55 +08:00
David Woloszyn f1b39db4f0 MDL-75479 lib: Set Moodle files after phpCAS upgrade 2022-11-17 16:13:35 +08:00
David Woloszyn 86a3735220 MDL-75479 lib: Upgrade phpCAS to 1.5.0 2022-11-17 16:13:35 +08:00
Ilya Tregubov c5da3db0ae Merge branch 'MDL-76305-master' of https://github.com/junpataleta/moodle 2022-11-17 10:34:13 +03:00
Jun Pataleta 57aa434dd0 Merge branch 'MDL-76328' of https://github.com/paulholden/moodle 2022-11-17 15:32:10 +08:00
Jun Pataleta 8628484363 Merge branch 'MDL-76310' of https://github.com/paulholden/moodle 2022-11-17 14:39:51 +08:00
Bas Brands 1c56ccd89b MDL-70491 theme_boost: improve form autocomplete badge styles 2022-11-17 07:03:22 +01:00
Huong Nguyen ea4a582b3d MDL-76326 oauth2: Update Nextcloud logo to the new one 2022-11-17 11:31:16 +07:00
Andrew Nicols 205a6c157c MDL-76331 editor_tiny: Update language strings to use shorter ident
AMOS can only cope with string identifiers with a length < 100
characters. Our tooling for Tiny automatically generates string idents
based on the language string and these can end up longer.

This change modifies our generated idents to be capped at 90 characters.
2022-11-17 11:38:48 +08:00
Andrew Nicols 5a677592af Merge branch 'MDL-76333-master' of https://github.com/marinaglancy/moodle 2022-11-17 10:41:22 +08:00
Andrew Nicols a9d0a1d254 Merge branch 'MDL-76334-master' of https://github.com/marinaglancy/moodle 2022-11-17 10:08:49 +08:00
Andrew Nicols c2b1f446a1 Merge branch 'MDL-75651' of https://github.com/paulholden/moodle 2022-11-17 10:06:41 +08:00
Andrew Nicols 496ab5db7d Merge branch 'MDL-76083-master' of https://github.com/aanabit/moodle 2022-11-17 09:59:16 +08:00
Laurent David c233f2e2fa 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:09:04 +01:00
Paul Holden e7bec29c95 Merge branch 'MDL-73078-master' of https://github.com/lucaboesch/moodle 2022-11-16 16:36:56 +00:00
Paul Holden 5ef2063330 Merge branch 'MDL-76271-master' of https://github.com/davewoloszyn/moodle 2022-11-16 16:25:02 +00:00
Marina Glancy 0fc4914e40 MDL-76334 libraries: upgraded phpxmlrpc to 4.8.1 2022-11-16 17:02:42 +01:00
Marina Glancy 55b9fa4b32 MDL-76333 calendar: add test for calendar export 2022-11-16 16:51:19 +01:00
Marina Glancy 47d3e4217b MDL-76333 libraries: patch Bennu library for PHP 8.1 compatibility 2022-11-16 16:51:00 +01:00
Amaia Anabitarte 5f6d35e471 MDL-76083 mod_data: Fix preset importer to remove existing fields.
* We should delete fields that have not been marked as to preserve.

Co-authored by: Laurent David <laurent.david@moodle.com>
2022-11-16 16:23:42 +01:00
Sara Arjona 273e9a4447 Merge branch 'MDL-75380' of https://github.com/AnupamaSarjoshi/moodle 2022-11-16 16:23:39 +01:00
Sara Arjona 767cee2fd5 Merge branch 'MDL-76277-master' of https://github.com/andrewnicols/moodle 2022-11-16 15:53:30 +01:00
Andrew Nicols a68d9d5410 MDL-76277 tiny_media: Limit image alignment to vertical align
Atto mixed vertical and horizontal alignment into a single selection,
which does not make any sense. It also used CSS classes in such a way
that those styles will break if/when Atto is removed.

This commit:
* removes the horizontal alignment from the dropdown - these are easily
  achieved using the existing Tiny UI
* addresses a bug where existing styles (like horizontal alignment) were
  not preserved when editing the image
* fixes a bug where the CSS selector was used instead of a CSS class
  name
* recognises legacy TinyMCE class names and replaces these
* switches from using random class names to using Bootstrap class
  utility classes for vertical alignment.
2022-11-16 21:54:33 +08:00
Paul Holden bf96c78a43 MDL-76328 course: ensure activity chooser search takes full height. 2022-11-16 11:33:55 +00:00
Víctor Déniz 7577776565 Merge branch 'MDL-76307-master' of https://github.com/HuongNV13/moodle 2022-11-16 11:00:12 +00:00
Paul Holden 3a20b1f91c Merge branch 'MDL-76276-master' of https://github.com/HuongNV13/moodle 2022-11-16 10:22:27 +00:00
Jun Pataleta 38fcf6acff Merge branch 'MDL-75415-master' of https://github.com/ssj365/moodle 2022-11-16 17:51:45 +08:00
Jun Pataleta 8db40f9d0d Merge branch 'MDL-74558-master' of https://github.com/ssj365/moodle 2022-11-16 17:51:24 +08:00
Sara Arjona 8e535a2346 Merge branch 'MDL-75492-master' of https://github.com/aanabit/moodle 2022-11-16 10:30:47 +01:00
Shamim Rezaie 8c4cf28dd4 Merge branch 'MDL-76322' of https://github.com/paulholden/moodle 2022-11-16 20:17:45 +11:00
Jake Dallimore 432b98c478 Merge branch 'MDL-76220-master' of https://github.com/ferranrecio/moodle 2022-11-16 16:33:38 +08:00
Amaia Anabitarte 1c968103b7 MDL-75492 mod_data: Remove redirection messages on preset apply process 2022-11-16 09:08:26 +01:00
Amaia Anabitarte 9b343752e2 MDL-75492 mod_data: Cosmetic changes on mapping page 2022-11-16 09:08:26 +01:00
Amaia Anabitarte 81b761bab0 MDL-75492 mod_data: Show mapping dialog 2022-11-16 09:08:26 +01:00
Amaia Anabitarte b755cfa544 MDL-75492 mod_data: Refactor code to get available importing information 2022-11-16 09:08:26 +01:00
Jake Dallimore b3e159b8bd Merge branch 'MDL-76280-master' of https://github.com/andrewnicols/moodle 2022-11-16 13:29:14 +08:00
Jun Pataleta 9a6df89f7c Merge branch 'MDL-75365-master' of https://github.com/andrewnicols/moodle 2022-11-16 12:38:14 +08:00
Paul Holden 6c5d2f0e54 MDL-76267 qbank_viewquestionname: access check for inplace editable. 2022-11-16 11:54:42 +08:00
Huong Nguyen 3ff6aec217 MDL-76307 tiny_equation: Fix console error when using Tiny editor 2022-11-16 09:45:26 +07:00
Andrew Nicols 7e6d32d7c2 Merge branch 'MDL-76112-master' of https://github.com/marinaglancy/moodle 2022-11-16 10:07:49 +08:00
David Woloszyn dfa476e5a5 MDL-76271 dndupload: Corrected layout when uploading to course via dnd 2022-11-16 11:16:45 +11:00
Víctor Déniz 6a0c6a19ca Merge branch 'MDL-75781-master' of https://github.com/NashTechOpenUniversity/moodle 2022-11-15 22:30:31 +00:00
Paul Holden 104cc446d2 MDL-76322 mod_bigbluebuttonbn: fix template/JS logic around guests.
Only render template partials, and attempt to interact with the guest
access button if the feature is enabled.
2022-11-15 20:53:31 +00:00
Paul Holden 0ea04360ce Merge branch 'MDL-76279-master' of https://github.com/HuongNV13/moodle 2022-11-15 17:05:03 +00:00
Sara Arjona 91e66dbaed Merge branch 'MDL-76039' of https://github.com/paulholden/moodle 2022-11-15 17:57:07 +01:00
Paul Holden ff5ae53e9f Merge branch 'MDL-75410-master' of https://github.com/ferranrecio/moodle 2022-11-15 16:53:00 +00:00
Ilya Tregubov e45f7f691a on-demand release 4.1beta+ 2022-11-15 18:09:51 +03:00
Ilya Tregubov 101bf20c8b NOBUG: Fixed SVG browser compatibility 2022-11-15 18:09:49 +03:00
Andrew Nicols 3e3d9e0bab MDL-76280 editor_tiny: Disable tiny preview plugin
The Atto preview plugin does not support Moodle filters. This commit
disables it for now with the intent that in a future release we may
replace it with a Moodle version which applies our filters correctly.
2022-11-15 21:36:51 +08:00
Paul Holden bec6f3d8a5 MDL-76310 enrol_lti: fix consumer key upgrade steps for Oracle.
Avoids CLOB comparison exceptions, related to ORA-00932.
2022-11-15 11:48:16 +00:00
Paul Holden 53bc61b3e7 Merge branch 'MDL-75490-fix' of https://github.com/sarjona/moodle 2022-11-15 10:32:03 +00:00
Paul Holden 9509cb1442 Merge branch 'MDL-76261-master' of https://github.com/HuongNV13/moodle 2022-11-15 10:19:09 +00:00
Sara Arjona 71947fb012 MDL-75490 theme_classic: Update footer to pass accessibility tests 2022-11-15 11:12:29 +01:00
Jun Pataleta 2c098a7ec7 MDL-76305 core: Use dir separator when assigning $CFG->tempdir 2022-11-15 16:24:52 +08:00
Andrew Nicols a307f2d429 MDL-76306 editor_tiny: Enable Tiny by default on install 2022-11-15 13:15:09 +08:00
Peter Burnett ebd8e07cbc MDL-73804 category: Use system context for category name filtering 2022-11-15 14:49:30 +10:00
Jun Pataleta d76991321d Merge branch 'MDL-76290-master' of https://github.com/ilyatregubov/moodle 2022-11-15 11:58:19 +08:00
Jun Pataleta 3eec73963b Merge branch 'MDL-76230-master' of https://github.com/HuongNV13/moodle 2022-11-15 11:48:39 +08:00
Jun Pataleta c4ad566bbc Merge branch 'MDL-76196-master' of https://github.com/HuongNV13/moodle 2022-11-15 11:06:27 +08:00
Huong Nguyen eb33f57a76 MDL-76261 tiny_equation: Use the correct icon 2022-11-15 09:34:57 +07:00
Víctor Déniz 897d4233ac Merge branch 'MDL-76268-master' of https://github.com/aanabit/moodle 2022-11-15 00:11:19 +00:00
Víctor Déniz e31b25c82c Merge branch 'MDL-76297' of https://github.com/paulholden/moodle 2022-11-14 23:57:14 +00:00
Víctor Déniz 32fd6e60a4 Merge branch 'MDL-76229-master' of https://github.com/meirzamoodle/moodle 2022-11-14 22:56:13 +00:00
Víctor Déniz 46c1e2f910 Merge branch 'MDL-76192-master' of https://github.com/mihailges/moodle 2022-11-14 22:34:04 +00:00
Paul Holden 94818dd23f MDL-75903 output: increase precision of primary active node matching.
Co-authored-by: Mikel Martín <mikel@moodle.com>
2022-11-14 17:31:26 +00:00
Paul Holden 1d0fa45056 MDL-74780 grade: account for absence of course grade items on import. 2022-11-14 17:30:15 +00:00
Paul Holden f22c602436 MDL-75651 mod_feedback: remove duplicated activity heading. 2022-11-14 17:29:03 +00:00
Amaia Anabitarte 5a880405bf MDL-75492 mod_data: Removing duplicated behats 2022-11-14 17:23:30 +01:00
Sara Arjona 09f03e63ad Merge branch 'MDL-75490-master-axe_upgrade' of https://github.com/kevpercy/moodle 2022-11-14 16:37:01 +01:00
Sara Arjona c99a1c2dda Merge branch '75792-master-fix-grouping-sort-order' of https://github.com/DSI-Universite-Rennes2/moodle 2022-11-14 16:07:19 +01:00
Sara Arjona 5fd5650838 Merge branch 'MDL-75300' of https://github.com/paulholden/moodle 2022-11-14 16:04:06 +01:00
Ilya Tregubov ddfb080786 MDL-76290 upgradelib: Set title ealier in upgrade_noncore.
Fixing regression by MDL-75751 where title was set
when body already existed
2022-11-14 17:36:55 +03:00
Paul Holden 7012900d08 MDL-76039 forms: account for null values in serialize util method.
Co-authored-by: Marina Glancy <marina@moodle.com>
2022-11-14 14:20:52 +00:00
Paul Holden 04fda4e848 MDL-76297 tiny_media: clarify wording of "Insert media" button. 2022-11-14 12:36:14 +00:00
Paul Holden bc7ce934b3 Merge branch 'MDL-76278-master' of https://github.com/andrewnicols/moodle 2022-11-14 12:12:38 +00:00
Julien Boulen 7321b16ecb MDL-75792 availability: sort groupings list by name 2022-11-14 13:08:04 +01:00
Jake Dallimore 8f221dd902 Merge branch 'MDL-75837-master-4' of https://github.com/mihailges/moodle 2022-11-14 17:15:31 +08:00
Huong Nguyen 5248111735 MDL-76276 tiny_h5p: Disable validation for Internal URL 2022-11-14 13:37:45 +07:00
Huong Nguyen 43718f7f7a MDL-76279 tiny_equation: Fix issue with multiple equations 2022-11-14 13:18:33 +07:00
Andrew Nicols 1a0c3290c7 MDL-76278 tiny_media: Correct template context 2022-11-14 13:34:41 +08:00
Jun Pataleta dc44a1b4f4 Merge branch 'MDL-76179-master' of https://github.com/aanabit/moodle 2022-11-14 13:22:25 +08:00
Mihail Geshoski f439a3fa9a MDL-75837 gradereport_user: Update zero state strings 2022-11-14 10:36:18 +08:00
Huong Nguyen 0bfa6e4fc1 MDL-76230 block_tag_flickr: Change User-agent value for API calls 2022-11-14 09:35:19 +07:00
Huong Nguyen 40c641eceb MDL-76230 block_tag_flickr: Extra Behat test for a specific tag 2022-11-14 09:35:19 +07:00
Mathew May 57e65480a3 MDL-75837 gradebook: accessibility improvements 2022-11-14 10:19:45 +08:00
Mihail Geshoski f589d592c9 MDL-75837 core_grades: Move the user selector template under core_grades 2022-11-14 10:11:43 +08:00
Mihail Geshoski 77a5f1aa11 MDL-75837 core_grades: Selector module for the search widget 2022-11-14 10:11:43 +08:00
Mihail Geshoski 8d3724c91e MDL-75837 behat: Update behat tests 2022-11-14 10:11:43 +08:00
Mihail Geshoski c501d1ac97 MDL-75837 core_grades: Modify the search widget behat step definitions 2022-11-14 10:11:43 +08:00
Mihail Geshoski 24d0beacc7 MDL-75837 gradereport_singleview: Grade item search within a dropdown
Modifications that will enable the grade item search widget to be
rendered within a dropdown element.
2022-11-14 10:11:43 +08:00
Mihail Geshoski 94b0fac776 MDL-75837 gradereport_singleview: User search widget within a dropdown
Modifications that will enable the user search widget to be rendered
within a dropdown element.
2022-11-14 10:11:42 +08:00
Mihail Geshoski 23640e81e8 MDL-75837 core_grades: Clear search support in the base search widget 2022-11-14 10:11:42 +08:00
Mihail Geshoski d272dcab1d MDL-75837 core_grades: Group search widget within a dropdown
Modifications that will enable the group search widget to be rendered
within a dropdown element.
2022-11-14 10:11:42 +08:00
Mihail Geshoski 64d746ec13 MDL-75837 gradereport_user: User search widget within a dropdown
Modifications that will enable the user search widget to be rendered
within a dropdown element.
2022-11-14 10:11:42 +08:00
Mihail Geshoski 09d0a20d45 MDL-75837 core_grades: Adapt the base search widget to support dropdowns 2022-11-14 10:11:42 +08:00
Meirza 82d491cafa MDL-76229 core_form: Show frozen text editor in a more accessible way. 2022-11-12 18:27:09 +07:00
Luca Bösch 235c7c361c MDL-73078 workshop: align 'Edit subm' 'Delete subm' 'Export this page' 2022-11-11 16:41:41 +01:00
Sara Arjona 7c3188b2ca Moodle release 4.1beta 2022-11-11 15:06:02 +01:00
Sara Arjona 3b7d1a2f23 NOBUG: Fixed SVG browser compatibility 2022-11-11 15:05:55 +01:00
Amaia Anabitarte f85521737a MDL-76179 mod_data: Don't use import value for action parameter 2022-11-11 13:30:49 +01:00
Paul Holden e1cf6fd82e Merge branch 'MDL-74638-master-fix' of https://github.com/junpataleta/moodle 2022-11-11 11:20:57 +00:00
Jun Pataleta 8228b800d9 MDL-74638 mod_bigbluebuttonbn: Fix unit tests
* Guest URL and passwords are not supposed to be included in the backup
file so they should be excluded in assert_bbb_activities_same.
* Removed redundant entry 'course' in the filter list as well.
2022-11-11 19:09:55 +08:00
Ferran Recio 151b0ba350 MDL-75410 mod_data: reset all templates feature 2022-11-11 10:48:42 +01:00
Jake Dallimore 06c1038cb2 Merge branch 'MDL-76213-master-fix' of https://github.com/junpataleta/moodle 2022-11-11 17:38:00 +08:00
David Woloszyn b0f872a528 MDL-76196 mod_folder: Display manual completion if inline display set 2022-11-11 15:49:14 +07:00
Jun Pataleta 9b85d7db7c MDL-76213 mod_assign: Pass correct parameters to override query 2022-11-11 16:09:02 +08:00
Jun Pataleta 934a72d138 Merge branch 'MDL-74996-behat' of https://github.com/HuongNV13/moodle 2022-11-11 15:26:04 +08:00
Huong Nguyen a5a80952de MDL-74996 tool_recyclebin: Fix Behat failure 2022-11-11 14:12:50 +07:00
Michael Hawkins 46a81cc8fc MDL-68550 mod_workshop: Update behat test to avoid incorrect selector 2022-11-11 07:25:50 +01:00
Jake Dallimore 96e9f7c03e Merge branch 'MDL-74638-master-test' of https://github.com/rezaies/moodle 2022-11-11 13:02:52 +08:00
Mathew May b867309051 MDL-71920 libraries: Migrate LTI lib away from pure curl 2022-11-11 12:53:24 +08:00
Mathew May fbe1ac8e13 MDL-71920 core: update filelib opt name definition 2022-11-11 12:53:24 +08:00
Shamim Rezaie 6225af4106 MDL-74638 mod_bigbluebuttonbn: Allow logged-in users to join as guest
Logged in users should also be able to join as guest. They may not
normally have access to the meeting maybe because not enrolled to the
course.
2022-11-11 15:27:26 +11:00
Adrian Greeve f865b326ca Merge branch 'MDL-76099-master' of https://github.com/stevandoMoodle/moodle 2022-11-11 12:26:12 +08:00
Mihail Geshoski 48d5d9e07f MDL-76192 mod_glossary: Export all entry aliases to the portfolio 2022-11-11 12:03:05 +08:00
Shamim Rezaie dcbf1deb20 MDL-74638 mod_bigbluebuttonbn: document ws change in upgrade.txt 2022-11-11 15:02:25 +11:00
Laurent David 315f4f2bd4 MDL-74638 mod_bigbluebuttonbn: Guest access for meetings
* Provide a way for external participants to be invited to a meeting by giving them an url/password
  for external users (not registered in Moodle)
* Add guest access page with username and password prompt
* Add form and modify API calls to take into account guest login
* Add a form modal to add guest users emails
* Allow copy of link and password in both popup form and module form
* The guest should be approved by default. It should be intentional to let them
in without checks.
* Guest access URL and password should not be copied when duplicating or backing
up the activity.
* The mod_bigbluebuttonbn_meeting_info web service function now
returns guestjoinurl and guestpassword only for moderators.
* Redirect if user already logged in

Note: this will allow guest to connect to an existing and running meeting. The moderator will then
be able to adjust the guest user's right. For security reasons we do not yet allow moderators
to join the meeting directly (or start a meeting)
2022-11-11 14:56:24 +11:00
Jake Dallimore db5b2d6ab0 Merge branch 'MDL-75423-master' of https://github.com/mihailges/moodle 2022-11-11 11:55:06 +08:00
Jake Dallimore e10ecfc434 Merge branch 'MDL-75872' of https://github.com/paulholden/moodle 2022-11-11 11:45:26 +08:00
Jun Pataleta 0b2cff48ed Merge branch 'master_MDL-72957-modifiedby-41' of https://github.com/catalyst/moodle-MDL-72752 2022-11-11 11:39:58 +08:00
Jun Pataleta f6e75e952d Merge branch 'MDL-76213' of https://github.com/Chocolate-lightning/moodle 2022-11-11 11:34:07 +08:00
Jake Dallimore c5c85cce43 Merge branch 'MDL-73853-master' of https://github.com/sarjona/moodle 2022-11-11 11:29:08 +08:00
Mathew May 1d23a15069 MDL-76213 mod_assign: Improve group override info for teachers 2022-11-11 11:18:50 +08:00
Kevin Percy d2266a491e MDL-75490 lib: Update footer to pass accessibility tests with axe 2022-11-11 11:02:51 +08:00
Kevin Percy 7f4ca89a79 MDL-75490 lib: Upgrade axe to v4.5.1 2022-11-11 11:02:32 +08:00
Mihail Geshoski cdb71d805b MDL-75423 gradereport_singleview: Styling fixes 2022-11-11 10:54:06 +08:00
Mihail Geshoski fc8d34865f MDL-75423 gradereport_singleview: Update zero state strings 2022-11-11 10:54:06 +08:00
Ilya Tregubov a08282a872 MDL-75455 gradereport_singleview: PR review fixes.
Part of: MDL-75423
2022-11-11 10:52:26 +08:00
Safat Shahin 8940b3ee65 MDL-72957 qbank_viewcreator: modified by column
This commit will implement modified by column for
the question bank instance.
2022-11-11 13:52:21 +11:00
Jun Pataleta da21308a7b Merge branch 'MDL-63037-master' of https://github.com/snake/moodle 2022-11-11 10:42:27 +08:00
Shamim Rezaie 535e997ac3 Merge branch 'MDL-75525-master-2' of https://github.com/marinaglancy/moodle 2022-11-11 12:48:22 +11:00
Amaia Anabitarte e1c14b251c MDL-76268 mod_data: Fix the border differences on Fields table 2022-11-11 00:22:43 +01:00
Sara Arjona e4789c87db Merge branch 'MDL-76253-master' of https://github.com/justusdieckmann/moodle 2022-11-10 17:17:45 +01:00
Sara Arjona 505cedef25 Merge branch 'MDL-76070-master' of https://github.com/meirzamoodle/moodle 2022-11-10 16:56:45 +01:00
Sara Arjona 5e73ae6f44 Merge branch 'MDL-71951-master' of https://github.com/stevandoMoodle/moodle 2022-11-10 16:37:23 +01:00
Paul Holden e0dfd947c7 Merge branch 'MDL-75890-master' of https://github.com/meirzamoodle/moodle 2022-11-10 15:30:08 +00:00
Sara Arjona 1aba368aa9 Merge branch 'master_MDL-75874' of https://github.com/matheusot/moodle 2022-11-10 16:22:11 +01:00
Jun Pataleta 76a942e8b0 Merge branch 'MDL-74996-master-1' of https://github.com/HuongNV13/moodle 2022-11-10 23:18:32 +08:00
Sara Arjona 0e7103dc6c Merge branch 'MDL-74606-master-support-multilang-group-names-in-mod_assign' of https://github.com/krostas1983/moodle 2022-11-10 16:04:33 +01:00
Ilya Tregubov 1022863674 MDL-75455 gradereport_singleview: CSS changes for edit fields.
Part of: MDL-75423
2022-11-10 22:43:14 +08:00
Ilya Tregubov afd45fd90e MDL-75455 gradereport_singleview: Readd Behat tests for bulk insert.
Part of: MDL-75423
2022-11-10 22:43:14 +08:00
Ilya Tregubov b837be1e3e MDL-75455 gradereport_singleview: Add Bulk actions menu.
Part of: MDL-75423
2022-11-10 22:43:14 +08:00
Ilya Tregubov 21c956273f MDL-75423 gradereport_singleview: Update zero state images. 2022-11-10 22:43:14 +08:00
Mihail Geshoski 04b13a0605 MDL-75423 gradereport_singleview: Fix attribution of 'reporttable' class
Fixes the inapropriate attribution of the 'reporttable' css class.
This class should be only attributed to the html output related to the
the report table.
2022-11-10 22:43:14 +08:00
Mihail Geshoski 90be074b72 MDL-75423 gradereport_singleview: Styling modifications to the table 2022-11-10 22:43:14 +08:00
Ilya Tregubov 8d81f8c0d7 MDL-75423 gradereport_singleview: Fix group navigation for grade mode
When we change a group page should redirect to a user selection.
2022-11-10 22:43:14 +08:00
Ilya Tregubov 6ae4e00d72 MDL-75423 gradereport_singleview: Next/previous user/item links
Added navigation links similar to user report page.
Removed top paging bar. Bottom paging bar and select per page
are moved on same level with next/previous links.
2022-11-10 22:43:14 +08:00
Ilya Tregubov 678a2bc29b MDL-75423 gradereport_singleview: Styling fixes. 2022-11-10 22:43:14 +08:00
Ilya Tregubov aa747024fc MDL-75423 gradereport_singleview: Remove Save button from view mode 2022-11-10 22:43:14 +08:00
Ilya Tregubov 102e39d26d MDL-75423 gradereport_singleview: Add back bulk insert menu.
This menu will be used in edit mode. So rather than removing
it, we make it hidden.
2022-11-10 22:43:14 +08:00
Shamim Rezaie fba91abe5e MDL-75423 core_grades: prevent multiple initialising of the group widget 2022-11-10 22:43:14 +08:00
Shamim Rezaie 3cfb7cf918 MDL-75423 gradereport_singleview: show edit mode button in classic 2022-11-10 22:43:14 +08:00
Shamim Rezaie 5a9bf7fbaf MDL-75423 gradereport_singleview: Temporary remove behat scenarios
These scenarios should be added back as part of MDL-75455
2022-11-10 22:43:14 +08:00
Shamim Rezaie c39cbf876d MDL-75423 gradereport_singleview: Update behat scenarios 2022-11-10 22:43:13 +08:00
Shamim Rezaie 219b3db5f6 MDL-75423 gradereport_singleview: dividers & bottom border in action bar 2022-11-10 22:43:13 +08:00
Ilya Tregubov d73ba4386a MDL-75423 gradereport_singleview: Remove override and exlude links
The override and exlude links are removed form the table header because
a new bulk actions menu will be used (see MDL-75455).

Co-authored-by: Shamim Rezaie <shamim@moodle.com>
2022-11-10 22:43:13 +08:00
Mihail Geshoski e21c415fa9 MDL-75423 gradereport_singleview: Styling fix for page toggle element 2022-11-10 22:43:13 +08:00
Mihail Geshoski 1c93256488 MDL-75423 gradereport_singleview: Zero state cleanup
Removes unnecessary components from the zero state pages.
2022-11-10 22:43:13 +08:00
Mihail Geshoski b16067d8f0 MDL-75423 gradereport_singleview: Update the actions bar
Creates a single action bar class to output the action elements in
the single view report. Also, enables the singleview report class
to set and return the appropriate item selector (in raw HTML)
based on the currently selected single view item type.
2022-11-10 22:43:13 +08:00
Mihail Geshoski e7e18d066a MDL-75423 gradereport_singleview: Trigger for the grade item selector
Creates a renderer method and a template for the element that would
trigger the grade item selector.
2022-11-10 22:43:13 +08:00
Mihail Geshoski b184296316 MDL-75423 gradereport_singleview: Trigger element for the user selector
Creates a renderer method and a template for the element that would
trigger the user selector.
2022-11-10 22:43:13 +08:00
Shamim Rezaie 809781c0cc MDL-75423 gradereport_singleview: Move show all grades into a menu 2022-11-10 22:43:13 +08:00
Shamim Rezaie 56a454149b MDL-75423 gradereport_singleview: switch to the new group selector 2022-11-10 22:43:13 +08:00
Shamim Rezaie e2d389c37e MDL-75423 gradereport_singleview: Show custom user header 2022-11-10 22:43:13 +08:00
Shamim Rezaie 36f6390692 MDL-75423 gradereport_singleview: Replace grade analysis icon with menu 2022-11-10 22:43:13 +08:00
Shamim Rezaie 2890172ee5 MDL-75423 gradereport_singleview: remove some redundant ui components 2022-11-10 22:43:13 +08:00
Shamim Rezaie 4e15e03404 MDL-75423 gradereport_singleview: Custom action bar for user view 2022-11-10 22:43:13 +08:00
Shamim Rezaie 3fd9af82b9 MDL-75423 gradereport_singleview: Custom action bar for gradeitem view 2022-11-10 22:43:13 +08:00
Shamim Rezaie 6d3872d06f MDL-75423 gradereport_singleview: Move action col to the right 2022-11-10 22:43:13 +08:00
Shamim Rezaie bdb16eee5a MDL-75423 gradereport_singleview: swap position of grade and range cols 2022-11-10 22:43:13 +08:00
Shamim Rezaie 3daabd6840 MDL-75423 gradereport_singleview: show editing mode if can edit grades
Users should be able to turn editing mode on on the single view report
if they have the capability to edit grades.
2022-11-10 22:43:13 +08:00
Shamim Rezaie 9dd8749ebd MDL-75423 gradereport_singleview: Add read-only support 2022-11-10 22:43:13 +08:00
Shamim Rezaie 49595ffa2f MDL-75423 output: select_menu label bug fix
- click on the label were not always focusing on the element
2022-11-10 22:43:13 +08:00
Jun Pataleta 8013961452 Merge branch 'master_MDL-75126-allow-multiple-bulk-action-41' of https://github.com/catalyst/moodle-MDL-72752 2022-11-10 22:09:12 +08:00
Matheus Rodrigues caf6b655e6 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:56:52 -03:00
Paul Holden 2dd0329ef1 Merge branch 'MDL-75966-master-fix' of https://github.com/junpataleta/moodle 2022-11-10 12:56:39 +00:00
Jun Pataleta 4f65a72ae7 MDL-75966 editor_tiny: Bump version to current date 2022-11-10 20:48:26 +08:00
Safat Shahin cf7d6131ad MDL-75126 core_question: Deprecate get_bulk_action_key
This commit will deprecate get_bulk_action_key and move
the implementation in the get_key method entirely by
making this an absract method.
2022-11-10 23:41:03 +11:00
Jun Pataleta c404193823 Merge branch 'MDL-75966-master' of https://github.com/andrewnicols/moodle 2022-11-10 20:28:14 +08:00
Sara Arjona 2ada61c243 Merge branch 'MDL-75448-master' of https://github.com/golenkovm/moodle 2022-11-10 13:19:38 +01:00
Paul Holden 76c68e2146 Merge branch 'MDL-68550-master' of https://github.com/rezaies/moodle 2022-11-10 11:59:35 +00:00
Andrew Nicols 126db9165c MDL-76025 editor_tiny: Adjust initial toolbar layout
Part of MDL-75966
2022-11-10 19:55:15 +08:00
Huong Nguyen 01d710bd88 MDL-76012 tiny_h5p: Improve URL validation
Part of MDL-75966
2022-11-10 19:54:33 +08:00
Simey Lameze a512ba0b3c MDL-75282 behat: Use more precise step definitions
Note: This should possibly be broken out into its own issue and applied
to stables.

Part of MDL-75966.
2022-11-10 19:54:31 +08:00
Andrew Nicols 66d1651023 MDL-75282 assign_onlineoption: Use correct step for checking editor content
Note: This should possibly be broken out into its own issue applied to
stables.

Part of MDL-75966.
2022-11-10 19:54:28 +08:00
Huong Nguyen bf54db8bac MDL-75269 tiny_equation: Create TinyMCE Equation editor plugin
AMOS BEGIN
 CPY [librarygroup1,atto_equation],[librarygroup1,tiny_equation]
 CPY [librarygroup1_desc,atto_equation],[librarygroup1_desc,tiny_equation]
 CPY [librarygroup2,atto_equation],[librarygroup2,tiny_equation]
 CPY [librarygroup2_desc,atto_equation],[librarygroup2_desc,tiny_equation]
 CPY [librarygroup3,atto_equation],[librarygroup3,tiny_equation]
 CPY [librarygroup3_desc,atto_equation],[librarygroup3_desc,tiny_equation]
 CPY [librarygroup4,atto_equation],[librarygroup4,tiny_equation]
 CPY [librarygroup4_desc,atto_equation],[librarygroup4_desc,tiny_equation]
AMOS END

Part of MDL-75966
2022-11-10 19:54:01 +08:00
Stevani Andolo b7f2bbb080 MDL-75262 tiny_accessibility: Implement Accessibility Checker
Co-authored by Andrew Lyons <andrew@nicols.co.uk>

Part of MDL-75966
2022-11-10 19:53:58 +08:00
Stevani Andolo 0cd3b75164 MDL-75259 tiny_recordrtc: Implement Record RTC plugin for TinyMCE
Part of MDL-75966

Co-authored by Andrew Lyons <andrew@nicols.co.uk>

AMOS BEGIN
  CPY [audioandvideo,atto_recordrtc],[audioandvideo,tiny_recordrtc]
  CPY [audiobitrate,atto_recordrtc],[audiobitrate,tiny_recordrtc]
  CPY [attachrecording,atto_recordrtc],[attachrecording,tiny_recordrtc]
  CPY [allowedtypes,atto_recordrtc],[allowedtypes,tiny_recordrtc]
  CPY [allowedtypes_desc,atto_recordrtc],[allowedtypes_desc,tiny_recordrtc]
  CPY [audiobitrate,atto_recordrtc],[audiobitrate,tiny_recordrtc]
  CPY [audiobitrate_desc,atto_recordrtc],[audiobitrate_desc,tiny_recordrtc]
  CPY [audiotimelimit,atto_recordrtc],[audiotimelimit,tiny_recordrtc]
  CPY [audiotimelimit_desc,atto_recordrtc],[audiotimelimit_desc,tiny_recordrtc]
  CPY [confirm_yes,atto_recordrtc],[yes,core]
  CPY [gumabort,atto_recordrtc],[gumabort,tiny_recordrtc]
  CPY [gumabort_title,atto_recordrtc],[gumabort_title,tiny_recordrtc]
  CPY [gumnotallowed,atto_recordrtc],[gumnotallowed,tiny_recordrtc]
  CPY [gumnotallowed_title,atto_recordrtc],[gumnotallowed_title,tiny_recordrtc]
  CPY [gumnotfound,atto_recordrtc],[gumnotfound,tiny_recordrtc]
  CPY [gumnotfound_title,atto_recordrtc],[gumnotfound_title,tiny_recordrtc]
  CPY [gumnotreadable,atto_recordrtc],[gumnotreadable,tiny_recordrtc]
  CPY [gumnotreadable_title,atto_recordrtc],[gumnotreadable_title,tiny_recordrtc]
  CPY [gumnotsupported,atto_recordrtc],[gumnotsupported,tiny_recordrtc]
  CPY [gumnotsupported_title,atto_recordrtc],[gumnotsupported_title,tiny_recordrtc]
  CPY [gumoverconstrained,atto_recordrtc],[gumoverconstrained,tiny_recordrtc]
  CPY [gumoverconstrained_title,atto_recordrtc],[gumoverconstrained_title,tiny_recordrtc]
  CPY [gumsecurity,atto_recordrtc],[gumsecurity,tiny_recordrtc]
  CPY [gumsecurity_title,atto_recordrtc],[gumsecurity_title,tiny_recordrtc]
  CPY [gumtype,atto_recordrtc],[gumtype,tiny_recordrtc]
  CPY [gumtype_title,atto_recordrtc],[gumtype_title,tiny_recordrtc]
  CPY [insecurealert,atto_recordrtc],[insecurealert,tiny_recordrtc]
  CPY [insecurealert_title,atto_recordrtc],[insecurealert_title,tiny_recordrtc]
  CPY [insecurealerttitle,atto_recordrtc],[insecurealerttitle,tiny_recordrtc]
  CPY [insecurealert,atto_recordrtc],[insecurealert,tiny_recordrtc]
  CPY [nearingmaxsize,atto_recordrtc],[maxfilesizehit,tiny_recordrtc]
  CPY [nearingmaxsize_title,atto_recordrtc],[maxfilesizehit_title,tiny_recordrtc]
  CPY [norecordingfound,atto_recordrtc],[norecordingfound,tiny_recordrtc]
  CPY [norecordingfound_title,atto_recordrtc],[norecordingfound_title,tiny_recordrtc]
  CPY [nowebrtc,atto_recordrtc],[nowebrtc,tiny_recordrtc]
  CPY [nowebrtc_title,atto_recordrtc],[nowebrtc_title,tiny_recordrtc]
  CPY [onlyaudio,atto_recordrtc],[onlyaudio,tiny_recordrtc]
  CPY [onlyvideo,atto_recordrtc],[onlyvideo,tiny_recordrtc]
  CPY [recordagain,atto_recordrtc],[recordagain,tiny_recordrtc]
  CPY [recordinguploaded,atto_recordrtc],[recordinguploaded,tiny_recordrtc]
  CPY [recordingfailed,atto_recordrtc],[recordingfailed,tiny_recordrtc]
  CPY [recordrtc:recordaudio,atto_recordrtc],[recordrtc:recordaudio,tiny_recordrtc]
  CPY [recordrtc:recordvideo,atto_recordrtc],[recordrtc:recordvideo,tiny_recordrtc]
  CPY [startrecording,atto_recordrtc],[startrecording,tiny_recordrtc]
  CPY [stoprecording,atto_recordrtc],[stoprecording,tiny_recordrtc]
  CPY [timelimitwarning,atto_recordrtc],[timelimitwarning,tiny_recordrtc]
  CPY [uploadaborted,atto_recordrtc],[uploadaborted,tiny_recordrtc]
  CPY [uploadprogress,atto_recordrtc],[uploadprogress,tiny_recordrtc]
  CPY [videobitrate,atto_recordrtc],[videobitrate,tiny_recordrtc]
  CPY [videobitrate_desc,atto_recordrtc],[videobitrate_desc,tiny_recordrtc]
  CPY [videobuttontitle,atto_recordrtc],[videobuttontitle,tiny_recordrtc]
  CPY [videotimelimit,atto_recordrtc],[videotimelimit,tiny_recordrtc]
  CPY [videotimelimit_desc,atto_recordrtc],[videotimelimit_desc,tiny_recordrtc]
AMOS END
2022-11-10 19:53:56 +08:00
Andrew Nicols 71046558b1 MDL-75260 tiny_media: Move uploader to editor_tiny
Part of MDL-75966
2022-11-10 19:53:54 +08:00
Andrew Nicols 92765e996b MDL-75260 tiny_media: Adjust Menu configuration
Part of MDL-75966
2022-11-10 19:53:52 +08:00
Andrew Nicols 75ebfb703b MDL-75259 tiny_media: Tidy up strings
Part of MDL-75966
2022-11-10 19:53:48 +08:00
Stevani Andolo 519e10e939 MDL-75260 tiny_media: Implement Media Manager plugin for TinyMCE
Part of MDL-75966
2022-11-10 19:53:46 +08:00
Andrew Nicols 3728eb2cb9 MDL-75260 tiny_media: Refactor media commands
Part of MDL-75966
2022-11-10 19:53:44 +08:00
Huong Nguyen e07acba336 MDL-75328 tiny_media: Implement Media Video/Audio for TinyMCE
Part of MDL-75966
2022-11-10 19:53:42 +08:00
Huong Nguyen 723b2f4129 MDL-75258 tiny_media: Implement Media Image for TinyMCE
Part of MDL-75966

AMOS BEGIN
 CPY [alignment,atto_image],[alignment,tiny_media]
 CPY [alignment_bottom,atto_image],[alignment_bottom,tiny_media]
 CPY [alignment_left,atto_image],[alignment_left,tiny_media]
 CPY [alignment_middle,atto_image],[alignment_middle,tiny_media]
 CPY [alignment_right,atto_image],[alignment_right,tiny_media]
 CPY [alignment_top,atto_image],[alignment_top,tiny_media]
 CPY [browserepositories,atto_image],[browserepositories,tiny_media]
 CPY [constrain,atto_image],[constrain,tiny_media]
 CPY [enteralt,atto_image],[enteralt,tiny_media]
 CPY [enterurl,atto_image],[enterurl,tiny_media]
 CPY [height,atto_image],[height,tiny_media]
 CPY [imageproperties,atto_image],[imageproperties,tiny_media]
 CPY [presentation,atto_image],[presentation,tiny_media]
 CPY [presentationoraltrequired,atto_image],[presentationoraltrequired,tiny_media]
 CPY [saveimage,atto_image],[saveimage,tiny_media]
 CPY [size,atto_image],[size,tiny_media]
 CPY [width,atto_image],[width,tiny_media]
AMOS END
2022-11-10 19:53:40 +08:00
Andrew Nicols cdbabe8ef8 MDL-75263 tiny_autosave: Implement Autosave for TinyMCE
Part of MDL-75966
2022-11-10 19:53:39 +08:00
Andrew Nicols a6032854bf MDL-75261 tiny_h5p: Add the Tiny H5P plugin
Part of MDL-75966

AMOS BEGIN
 CPY [browserepositories,atto_h5p],[browserepositories,tiny_h5p]
 CPY [copyrightbutton,atto_h5p],[bcopyrightbutton,tiny_h5p]
 CPY [downloadbutton,atto_h5p],[downloadbutton,tiny_h5p]
 CPY [embedbutton,atto_h5p],[embedbutton,tiny_h5p]
 CPY [h5p:addembed,atto_h5p],[h5p:addembed,tiny_h5p]
 CPY [h5pfile,atto_h5p],[h5pfile,tiny_h5p]
 CPY [h5pfileorurl,atto_h5p],[h5pfileorurl,tiny_h5p]
 CPY [h5poptions,atto_h5p],[h5poptions,tiny_h5p]
 CPY [h5purl,atto_h5p],[h5purl,tiny_h5p]
 CPY [invalidh5purl,atto_h5p],[invalidh5purl,tiny_h5p]
 CPY [instructions,atto_h5p],[instructions,tiny_h5p]
 CPY [noh5pcontent,atto_h5p],[noh5pcontent,tiny_h5p]
AMOS END
2022-11-10 19:53:36 +08:00
Andrew Nicols c4a0896134 MDL-75966 editor_tiny: Tidy up toolbar management 2022-11-10 19:53:31 +08:00
Andrew Nicols 9dd2921d7c MDL-75331 editor_tiny: Limit formatting options
This commit removes several contentious formatting options for now,
pending further consideration, in particular it removes:
- forecolor
- backcolor
- fontfamily
- styles

The two color plugins are written in such a way that the chosen colour
is embedded into a style tag in the generated content. This is not
ideal as it removes these decisions away from theme developers and upon
theme changes to a site, is likely to lead to inaccessible and/or broken
content.

We feel that a new colour plugin will be required which links to known
colour style classes within the theme to allow a subset of colours which
are guaranteed to work with the theme.

The fontfamily plugin is removed pending further administrator
configuration in a future release.

In the case of the 'styles' plugin, this duplicates large parts of the
Format menu into which it is placed but does so in a way that does
respect the configuration of other areas - for example the block_formats
tag is ignored in this menu.

Part of MDL-75966
2022-11-10 19:53:27 +08:00
Andrew Nicols 769cc95f92 MDL-75078 editor_tiny: Tidy up TinyMCE configuration
This change does not include any functional change, but
compartmentalises the existing configuration to make it easier to read.

Part of MDL-75966
2022-11-10 19:53:23 +08:00
Huong Nguyen 68b882e196 MDL-75269 editor_tiny: Create Administration setting page for Tiny MCE editor
Part of MDL-75966
2022-11-10 19:53:18 +08:00
Andrew Nicols 07b9f384a2 MDL-75940 editor_tiny: Allow administrators to disable Tiny branding
Part of MDL-75966
2022-11-10 19:53:13 +08:00
Andrew Nicols a809f82862 MDL-75078 editor_tiny: Disable Tiny template plugin
The template plugin is a part of Tiny, and requires us to create an
administrator UI to configure the templates.

This requires much more thought on workflows, intent, and so on so we'll
park it for later.

Part of MDL-75966.
2022-11-10 19:53:11 +08:00
Simey Lameze 1bd0ad6fa3 MDL-75282 editor_tiny: Add ability to set value regardless of the editor
This is a follow-on part to MDL-75887.

Part of MDL-75966.
2022-11-10 19:53:08 +08:00
Andrew Nicols ebc7d31232 MDL-75282 editor_tiny: Always use Tiny for @tiny tests
This is a subsequent part of MDL-75886 relating to the introduction of
TinyMCE.

Part of MDL-75966
2022-11-10 19:53:05 +08:00
Andrew Nicols b7ffcdb6ce MDL-75078 editor_tiny: Remove styles from standard modal
Part of MDL-75966
2022-11-10 19:53:03 +08:00
Andrew Nicols d9c1be6aa3 MDL-75078 editor_tiny: Add list plugins
Part of MDL-75966
2022-11-10 19:53:01 +08:00
Andrew Nicols 41952a03b6 MDL-75078 editor_tiny: Fix undestroyed editors
Part of MDL-75966
2022-11-10 19:52:58 +08:00
Andrew Nicols 417dee3a65 MDL-75078 editor_tiny: Add help link helper
Part of MDL-75966
2022-11-10 19:52:57 +08:00
Andrew Nicols c2428e2018 MDL-75078 editor_tiny: Disable quickbars entirely
Part of MDL-75966
2022-11-10 19:52:55 +08:00
Andrew Nicols 603c50e1be MDL-75078 editor_tiny: Improve configuration specification
Part of MDL-75966
2022-11-10 19:52:52 +08:00
Andrew Nicols 05000e3e8b MDL-75078 editor_tiny: Reduce z-index of fullscreen tiny to not cover Moodle dialogues
Part of MDL-75966
2022-11-10 19:52:33 +08:00
Andrew Nicols 90c40fba5d MDL-75271 editor_tiny: Add a cache-busting loader for TinyMCE
Part of MDL-75966

This commit adds a cache-busting loader API for use in the TinyMCE
plugin.

This is not for use in any TinyMCE subplugins at this time as we have no
use-case outside of AMD modules.

This loader ensures that only files within the js/tiny directory are
loaded, and it only supports either .js or .css files at this time.

The client-side of the loader makes use of the jsrevision as a
cache-buster, including for CSS files included with TinyMCE.

If the revision is negative, then files are not cached.
If the revision is positive, then the requested file is cached in a
candidate file and served using aggressive cache headers.
2022-11-10 19:52:15 +08:00
Andrew Nicols d8cf77a127 MDL-75246 editor_tiny: Add initial translation support
Part of MDL-75966

Add support for translation of the TinyMCE interface.

TinyMCE translates English language strings rather than keys, and a tool
to perform this translation is included.
2022-11-10 19:52:13 +08:00
Andrew Nicols 7e5c81e5a5 MDL-75078 editor_tinymce: Rename legacy tinymce pluginname
This commit renames the legacy editor to make it easier for users to
differentiate the two in the UI.

Part of MDL-75966
2022-11-10 19:52:10 +08:00
Andrew Nicols 71d30542ae MDL-75078 editor_tiny: Hola TinyMCE 6
Part of MDL-75966

This commit adds TinyMCE version 6.1 into Moodle core.

A basic editor implementation is included, along with Moodle loader, and
basic Plugin API for Moodle. The Plugin API will be extended and
improved in future changes.

A new subplugin is defined for this plugin.
2022-11-10 19:51:45 +08:00
Sara Arjona ac11386831 Merge branch 'MDL-75974' of https://github.com/paulholden/moodle 2022-11-10 12:51:24 +01:00
Paul Holden 8176a6c690 Merge branch 'MDL-76011-master' of https://github.com/abgreeve/moodle 2022-11-10 11:49:30 +00:00
Sara Arjona 0b9df38302 Merge branch 'MDL-75876-master' of https://github.com/praxisdigital/moodle 2022-11-10 12:47:10 +01:00
Sara Arjona 42c48c1103 Merge branch 'MDL-76167-master' of https://github.com/davewoloszyn/moodle 2022-11-10 12:42:14 +01:00
Paul Holden 38c83b53ee Merge branch 'MDL-76224-master' of https://github.com/justusdieckmann/moodle 2022-11-10 08:52:17 +00:00
Andrew Nicols 54181de5a3 MDL-75365 javascript: Support ES6 in all JS except YUI 2022-11-10 13:56:58 +08:00
Jun Pataleta 1c9856b527 Merge branch 'MDL-76252-master' of https://github.com/sarjona/moodle 2022-11-10 13:49:12 +08:00
Jake Dallimore 062b7f025a Merge branch 'MDL-72979' of https://github.com/stronk7/moodle 2022-11-10 10:54:31 +08:00
Paul Holden 8aaede0e7d 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:04 +08:00
Shamim Rezaie 178c51786c 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:14:01 +11:00
Shamim Rezaie 8e31a72c05 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
- Use the nav tag because each item in the initials bar is a
  navigation link within the current document
- 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:06:02 +11:00
Shamim Rezaie e29007d679 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:06:02 +11:00
Shamim Rezaie 155ee75905 MDL-68550 theme: Not showing the gap in the initial bar
The gap issue was a regression from MDL-66670.
2022-11-10 06:06:02 +11:00
Paul Holden a7425a2255 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:53:54 +00:00
Laurent David 7de01c97c2 MDL-74638 mod_bigbluebutton: Multiple fixes to room layout
* In preparation for the guest access trigger button, move the join session
button to the right
* Fix id in the templates to be more consistent
* Fix issue with room refreshing process so it replaces the node instead of node content.
2022-11-09 16:31:00 +01:00
Sara Arjona 2d91d4bf9c Merge branch 'MDL-76239-master' of https://github.com/mihailges/moodle 2022-11-09 16:23:18 +01:00
Sara Arjona 1ba4e0100e Merge branch 'MDL-50935-master-2' of https://github.com/junpataleta/moodle 2022-11-09 16:01:12 +01:00
Meirza 8a4d06bcaa MDL-76131 core_user: encode social profile fields data. 2022-11-09 15:49:26 +01:00
Justus Dieckmann 31ef87de8c MDL-76253 calendar: Use activities monologo pix 2022-11-09 15:23:29 +01:00
Jun Pataleta 5548743ece Merge branch 'MDL-76185-master' of https://github.com/mihailges/moodle 2022-11-09 21:51:17 +08:00
Safat Shahin c3245f6f52 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 00:34:48 +11:00
Jun Pataleta 9555637d64 Merge branch 'MDL-76053' of https://github.com/stronk7/moodle 2022-11-09 21:28:30 +08:00
Sara Arjona f23fe5195a MDL-73853 core_h5p: Improve behat tests, to avoid random errors
An improvement has been added to the H5P tests to avoid random errors
due to the fact that H5P content needs a while to be displayed.

Co-author: Ferran Recio <ferran@moodle.com>
2022-11-09 14:04:41 +01:00
Jun Pataleta b24902fcc7 Merge branch 'MDL-76054' of https://github.com/stronk7/moodle 2022-11-09 20:09:15 +08:00
Sara Arjona c04f0e298d MDL-76252 mod_data: Remove space at the end of datemodified 2022-11-09 12:56:59 +01:00
Sara Arjona a74782dcc3 Merge branch 'MDL-75889' of https://github.com/paulholden/moodle 2022-11-09 12:36:39 +01:00
Sara Arjona d1a0ee011f Merge branch 'MDL-76059' of https://github.com/paulholden/moodle 2022-11-09 12:31:31 +01:00
David Woloszyn 7bb44ef712 MDL-76091 lib: Add additional check to local URLs params 2022-11-09 19:28:49 +08:00
Sara Arjona a8019c43bf Merge branch 'MDL-76015' of https://github.com/stronk7/moodle 2022-11-09 12:23:59 +01:00
Paul Holden 8d90674cd4 Merge branch 'MDL-76084-master' of https://github.com/ferranrecio/moodle 2022-11-09 11:04:47 +00:00
Sara Arjona 89d7a73c2c Merge branch 'MDL-74201-master' of https://github.com/aanabit/moodle 2022-11-09 11:49:28 +01:00
Víctor Déniz db2b0edb6a Merge branch 'MDL-76000' of https://github.com/paulholden/moodle 2022-11-09 10:11:15 +00:00
Jun Pataleta 613fe49a7d Merge branch 'MDL-76170-master' of https://github.com/snake/moodle 2022-11-09 15:44:19 +08:00
Jake Dallimore 36a0c85187 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:15:50 +08:00
Stevani Andolo b554773b0a 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:15:50 +08:00
Jake Dallimore 3e17cf68a4 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:02:22 +08:00
Frédéric Massart 3345519b48 MDL-74201 backup: Restore reference to content bank files 2022-11-08 20:13:14 +01:00
Sara Arjona 288963e526 MDL-73853 core_h5p: Add core lib changes after upgrading it 2022-11-08 17:09:00 +01:00
Sara Arjona 7ea2b6bfa1 MDL-73853 core_h5p: Upgrade core lib to moodle-1.22.4 2022-11-08 17:09:00 +01:00
Sara Arjona d611cdff9d MDL-73853 core_h5p: Disable H5P hub
Although we're not currently supporting the H5P Hub, the hubIsEnabled
setting was set to true (probably by mistake).
It has been changed to false by default because the new version of
the H5P editor library is causing some errors otherwise.
2022-11-08 17:09:00 +01:00
Sara Arjona 7c4ede9280 MDL-73853 core_h5p: Add editor lib changes after upgrading it 2022-11-08 17:09:00 +01:00
Sara Arjona b9ed63b470 MDL-73853 core_h5p: Upgrade editor lib to moodle-1.22.4 2022-11-08 17:09:00 +01:00
Mihail Geshoski 1815bb3b3e MDL-76239 gradereport_user: Fix the styling of the the user report
Applies the appropriate styling to the user report generated by the
profile report callback.
2022-11-09 00:06:34 +08:00
Eloy Lafuente (stronk7) 56e5b69930 MDL-72979 general: Remove any reference to the git:// protocol
Trivial change, only point is that, for the h5p library it was
agreed that it's better to just remove the "sample" directory
completely when importing the library.
2022-11-08 16:49:26 +01:00
Eloy Lafuente (stronk7) 621d75dbce MDL-76053 admin: Remove various warnings related to MNet
This partially reverts MDL-73270, where some useful environmental
checks and notifications in the admin UI were added to inform
about different parts of Moodle relying on the "unsupported"
php-xmlrpc extension.

Since then, some changes have happened in core, only available
for Moodle 4.1 and up (see the MDL-70889 mini-epic). Namely:

  - MNet (SSO, roaming, auth, enrol and Mahara portfolio) are not
    using the php-xmlrpc extension anymore, but a pure php library.
  - The xmlrpc webservices protocol, has been move from core to
    the plugins directory, although it continues using the php-xmlrpc
    extension.

Because of that here we are removing all the checks and notifications
related with MNet (not using the extension anymore), but keeping the
webservice plugin ones (still using the extension). Surely if some day the
protocol stops using the extension, we'll be able to remove the
corresponding checks too. But that's future.

Note the associated lang strings have been also removed (not deprecated)
because they were highly specific and hardly reusable:
  - xmlrpcmaharaenabled
  - xmlrpcmnetauthenticationenabled
  - xmlrpcmnetenabled

And very same applies, because MNet doesn't contain anything deprecated
or not supported anymore, hence, straight deletion, to the function:
  - mnet_get_deprecation_notice()

Also, related tests using any of the removed stuff above have been deleted.

In the other side, the "check_xmlrpc_usage" continues existing and
being used both by environment checks and admin notifications but,
as commented above, now it only looks for the xmlrpc webservice
protocol now.
2022-11-08 16:49:18 +01:00
Eloy Lafuente (stronk7) c763d40704 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.

Note that the string has been removed, and not deprecated, because it's
a non-generic string, not belonging to core/moodle main lang file, and
hardly reused ever. That fits with the allowed deletions, not requiring
any deprecation.

Of course, the lang removal only has been applied to master (4.1dev).
Older branches still keep it and will be used when checking < 4.1
upgradability.
2022-11-08 16:45:12 +01:00
Eloy Lafuente (stronk7) 50144cf589 MDL-76015 install: update the list of stale files for 4.1
Note that there aren't too many available this time, because
basically all correspond to plugins. So just 3 this time.
2022-11-08 16:41:10 +01:00
Víctor Déniz 5877ae306e on-demand release 4.1dev+ 2022-11-08 13:45:16 +00:00
Ferran Recio c8e73da314 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:37:54 +01:00
hieuvu 8d5e430461 MDL-75781 javascript: Centering when resize for dialog 2022-11-08 18:05:51 +07:00
Jake Dallimore d2dd970b19 MDL-63037 mnet: fix hostexists string usage 2022-11-08 17:01:40 +08:00
Jake Dallimore 30100103b3 Merge branch 'MDL-75941' of https://github.com/paulholden/moodle 2022-11-08 12:04:16 +08:00
Jun Pataleta cede2b1420 Merge branch 'MDL-76113-master' of https://github.com/snake/moodle 2022-11-08 12:02:00 +08:00
Jake Dallimore ad666b7b15 Merge branch 'MDL-76071-master' of https://github.com/laurentdavid/moodle 2022-11-08 11:44:01 +08:00
Jake Dallimore dd21b9971c Merge branch 'MDL-72882-master-3' of https://github.com/junpataleta/moodle 2022-11-08 11:31:30 +08:00
Paul Holden 4f3e8c9b39 MDL-75974 tool_customlang: check out language pack in CLI import. 2022-11-07 22:40:53 +00:00
Paul Holden c4c823c20e 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:15 +00:00
Justus Dieckmann d0abf88ccd MDL-76224 Resource: Set correct page url in /mod/label/view.php 2022-11-07 18:45:27 +01:00
Marina Glancy 064eccd4fc MDL-75525 reportbuilder: specify initial sorting for datasources 2022-11-07 15:43:45 +01:00
Andrew Nicols 6fae54c10e Merge branch 'MDL-75880' of https://github.com/stronk7/moodle 2022-11-07 21:56:06 +08:00
Andrew Nicols 65ed414b60 Merge branch 'MDL-73624-master' of https://github.com/meirzamoodle/moodle 2022-11-07 21:51:58 +08:00
Andrew Nicols 3576fb2659 Merge branch 'MDL-75519-master' of https://github.com/marinaglancy/moodle 2022-11-07 21:41:02 +08:00
Víctor Déniz f23ed07e52 Merge branch 'm41_MDL-74912_Fix_RegExp_Word_Boundaries_On_MySQL8' of https://github.com/scara/moodle 2022-11-07 10:19:56 +00:00
Jun Pataleta 3f9a93b522 MDL-50935 atto_equation: Add upgrade step to fix existing sites 2022-11-07 15:12:23 +08:00
Jun Pataleta 3cb02787cf MDL-50935 atto_equation: Fix display of matrix template
Thanks to Geoffrey Rowland's fix suggestion.
2022-11-07 14:30:44 +08:00
Andrew Nicols a1cb96719a Merge branch 'MDL-75466_upgrade-php-mailer-to-6-6-4' of https://github.com/ziegenberg/moodle 2022-11-07 12:21:45 +08:00
Andrew Nicols 2f74405d6c MDL-74468 mod_bigbluebuttonbn: Coding style violation fix 2022-11-07 12:14:04 +08:00
Andrew Nicols dc2a6ea8f8 Merge branch 'MDL-74468-master' of https://github.com/call-learning/moodle 2022-11-07 12:14:00 +08:00
Jun Pataleta 15ac130ba8 Merge branch 'MDL-76052' of https://github.com/stronk7/moodle 2022-11-07 12:04:46 +08:00
Huong Nguyen 2a74b873d7 MDL-74996 Quiz: Convert submission confirmation to saveCancelPromise 2022-11-07 09:40:06 +07:00
Huong Nguyen c55d8aca6a MDL-74996 Quiz: Unanswered question warning for submission confirmations
Including in this commit:
 - New method called get_number_of_unanswered_questions() for getting the unanswered questions
 - PHPUnit and Behat tests for the new dialogue
2022-11-07 09:40:06 +07:00
Huong Nguyen d4d666cdf4 MDL-74996 Quiz: Change the submission confirmation dialogue content
- Changed the title from "Confirm" to "Submit all your answers and finish?"
 - Changed the content from "Once you submit, you will no longer be able to change your answers for this attempt."
   to "You will no longer be able to change your answers for this attempt."
 - Changed some Behat scenarios to match with the new dialogue content
2022-11-07 09:40:04 +07:00
Huong Nguyen 783a5c8ce7 MDL-74996 Quiz: Convert submission confirmation to core/modal_factory 2022-11-07 09:37:56 +07:00
Shamim Rezaie a803fa8ee4 Merge branch 'MDL-74545-master' of https://github.com/call-learning/moodle 2022-11-07 12:42:22 +11:00
Matteo Scaramuccia a4c3f4749d MDL-74912 dml: Fix PHP coding style problems 2022-11-05 10:07:27 +01:00
Matteo Scaramuccia 75123ed7fd MDL-74912 dml: Fix missing nullable marker 2022-11-05 10:07:26 +01:00
Matteo Scaramuccia b82c95a075 MDL-74912 mod_forum: Fix regexp word boundaries markers in MySQL 8 2022-11-05 10:07:26 +01:00
Eloy Lafuente (stronk7) d590b08dfa 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:20 +01:00
Eloy Lafuente (stronk7) e7d3e042fc MDL-76052 webservice_xmlrpc: Annotate some wrong plugin uses
It has been detected that there are various uses of the plugins
breaking the inter-communication principles, with core_webservice
implementing functionality plugin-dependent that should belong
to the plugins.

Because of that, https://tracker.moodle.org/browse/MDL-76078 has
been created and we have added some TODO/@todo comments in core
pointing to that issue, for further analysis and fixes there.
2022-11-04 16:49:57 +01:00
Eloy Lafuente (stronk7) df227f3819 MDL-76052 webservice_xmlrpc: Remove it completely from core
Normal removal procedure:
  - Remove the plugin completely from core.
  - Document it in the webservices upgrade.txt file.
  - Add a core upgrade step to proceed to remove any configuration
    if the plugin has not been re-installed manually.

Plus:
  - Remove a few remaining uses in the hub/sites registration scripts,
    that were moved from xmlrpc to hand.made rest calls by MDL-31436
    (Moodle 3.4.1 and up) and never removed then.
  - Remove the php-xmlrpc extension as a recommendation in composer.
  - Remove "xmlrpc" from various comments, trivial cleanup.

Note:
  - While working on this MDL-76078 has been created about to
    fix a serious design problem detected (it does not affect
    functionality). That's out from this issue scope.
2022-11-04 16:49:52 +01:00
Víctor Déniz 077a5587d0 Merge branch 'MDL-76130-master' of https://github.com/meirzamoodle/moodle 2022-11-04 15:37:10 +00:00
Sara Arjona fee1b8ce5f on-demand release 4.1dev+ 2022-11-04 14:52:52 +01:00
Sara Arjona 0c762c7af5 NOBUG: Fixed SVG browser compatibility 2022-11-04 14:52:48 +01:00
Sara Arjona ce1e6a9961 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-11-04 14:52:47 +01:00
Daniel Ziegenberg ccda718623 MDL-75466 core: Upgrade PHPmailer to 6.6.5
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-11-04 13:38:23 +01:00
Sara Arjona 15ea80e12d Merge branch 'MDL-76169-master' of https://github.com/andrewnicols/moodle 2022-11-04 12:06:38 +03:00
Jun Pataleta 5339a96f45 Merge branch 'MDL-75481-master' of https://github.com/kevpercy/moodle 2022-11-04 12:06:38 +03:00
Andrew Nicols 723f33031b Merge branch 'MDL-74035-master' of https://github.com/andrewnicols/moodle 2022-11-04 12:06:38 +03:00
Jun Pataleta c603293f7a Merge branch 'MDL-76103-master' of https://github.com/junpataleta/moodle 2022-11-04 12:06:38 +03:00
Jake Dallimore 446a9e64f0 Merge branch 'MDL-76055' of https://github.com/stronk7/moodle 2022-11-04 12:06:38 +03:00
Jun Pataleta 05c5dc7f9c Merge branch 'MDL-76072-master' of https://github.com/lameze/moodle 2022-11-04 12:06:37 +03:00
Víctor Déniz 6cee9752b8 Merge branch 'MDL-70071-master' of https://github.com/Chocolate-lightning/moodle 2022-11-04 12:06:37 +03:00
Víctor Déniz d3e26c1a2a Merge branch 'MDL-76172-master' of https://github.com/sarjona/moodle 2022-11-04 12:06:37 +03:00
Eloy Lafuente (stronk7) c5f85eec0e Merge branch 'MDL-75289-int-fix' of https://github.com/sarjona/moodle 2022-11-04 12:06:37 +03:00
Sara Arjona add46e3112 Merge branch 'MDL-76169-master' of https://github.com/andrewnicols/moodle 2022-11-04 12:06:36 +03:00
Sara Arjona 34f43bce81 MDL-75289 mod_data: Fix JS error when importing 2022-11-04 12:06:36 +03:00
Sara Arjona 7d53813db7 Merge branch 'MDL-75349' of https://github.com/paulholden/moodle 2022-11-04 12:06:36 +03:00
Laurent David c4b37ea393 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:03:58 +01:00
Andrew Nicols 92d17a73b5 MDL-76169 question: Use correct action menu step 2022-11-04 15:51:22 +08:00
Meirza 4641b84e58 MDL-76130 install: make the button to the center position 2022-11-04 11:22:26 +07:00
Safat Shahin 8c13965658 MDL-74035 qbank_viewquestionname: In place editing
This commit will implement in place editing for the
qbank view where users with permission can edit the
title of the questions from the quesion bank view.
2022-11-04 12:03:42 +08:00
Marina Glancy 635e852564 MDL-76103 search: skip solr behat tests if solr is not installed 2022-11-04 11:21:35 +08:00
Sara Arjona caf139a47d Merge branch 'MDL-76177-master' of https://github.com/aanabit/moodle 2022-11-04 11:01:42 +08:00
Sara Arjona e9596c1fca Merge branch 'MDL-75759-master' of https://github.com/junpataleta/moodle 2022-11-04 11:01:41 +08:00
Sara Arjona b8ae747056 Merge branch 'MDL-75535' of https://github.com/paulholden/moodle 2022-11-04 11:01:41 +08:00
Andrew Nicols 6deafa7336 Merge branch 'MDL-75904' of https://github.com/paulholden/moodle 2022-11-04 11:01:41 +08:00
Andrew Nicols eb7a2efbf7 Merge branch 'MDL-75784-master' of https://github.com/JBThong/moodle 2022-11-04 11:01:41 +08:00
AMOS bot e3b2c21d3b Automatically generated installer lang files 2022-11-04 00:07:38 +00:00
David Woloszyn 2987bfab5f MDL-76167 installer: Corrected dockblock param types 2022-11-04 10:42:21 +11:00
Laurent David 0dcc799d8f MDL-74468 mod_bigbluebuttonbn: Remove getallheader
* getallheader is only fully compatible with Apache servers. Replace it
with a polyfill.
2022-11-03 22:16:15 +01:00
Shamiso.Jaravaza 16656917a7 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-03 22:16:15 +01:00
Shamiso.Jaravaza 3bd76aea67 MDL-75415 mod_bigbluebuttonbn: Fix session times 2022-11-03 11:25:02 -06:00
Mihail Geshoski 7acc7cd0cc MDL-76185 mod_glossary: Remove separator in continuous display format 2022-11-03 23:53:36 +08:00
Andrew Nicols bcbdb8764a MDL-76169 question: General behat fixes
Whilst amending these tests I discovered some other minor fixes to be
made.
2022-11-03 21:39:15 +08:00
Andrew Nicols 8ffbaad330 MDL-76169 question: Use action menu steps consistently 2022-11-03 21:39:15 +08:00
Andrew Nicols 3d70f457cb MDL-76169 mod_quiz: Add quiz question bank behat resolver 2022-11-03 21:39:15 +08:00
Andrew Nicols 426ea50861 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 21:39:15 +08:00
Andrew Nicols 232ebac338 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 21:39:15 +08:00
Jun Pataleta 8b12ca7d1b Merge branch 'MDL-75289-master' of https://github.com/andrewnicols/moodle 2022-11-03 12:44:40 +03:00
Jun Pataleta 486645f487 Merge branch 'MDL-75513-master-3' of https://github.com/mihailges/moodle 2022-11-03 12:44:40 +03:00
Ilya Tregubov 8874e05b82 Merge branch 'MDL-75751-master' of https://github.com/sammarshallou/moodle 2022-11-03 12:44:39 +03:00
Sara Arjona 35d2061018 Merge branch 'MDL-61880-master' of https://github.com/snake/moodle 2022-11-03 12:44:39 +03:00
Jun Pataleta f91261c9fa 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 13:27:11 +08:00
Jun Pataleta 03f298a71c 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 13:27:11 +08:00
Andrew Nicols eecbc3ce15 MDL-70071 forum: Convert post threshold warnings to info 2022-11-03 13:10:22 +08:00
Jun Pataleta a343faaa7d 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:57:25 +08:00
Simey Lameze e43fef8fc9 MDL-75759 courseformat: fix documentation of stateupdates tests 2022-11-03 11:37:10 +08:00
Jun Pataleta dbf67c06bb 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:35:42 +08:00
Simey Lameze ac8dcf13da MDL-76072 tool_lp: only init inlineGrader module if user can grade 2022-11-03 10:51:27 +08:00
Andrew Nicols 8f37e6ecff MDL-75289 mod_data: Make JS more resilient
This change makes the JS in for preset management more resilient.

Previously, if the button was not on the page then an error was thrown.

Instead this code changes the listener to listen to the document and
filters the clicked element based on the same selector. This is a much
safer approach as it will not error if the selector was not found on the
page.

In this case the behat test introduced elsewhere in this issue is
testing a scenario where the Save as preset button is not present
because there are no fields to store as a preset.
2022-11-03 10:02:23 +08:00
Laurent David 1077d473c4 MDL-74545 mod_bigbluebuttonbn: Allow changing the polling value
* The polling time on the BBB room page can be changed via the poll_interval
settings (general settings)
2022-11-02 20:30:07 +01:00
Paul Holden 6813fd4094 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:53 +00:00
Amaia Anabitarte 565aafccc6 MDL-76177 mod_data: Don't close a div that has not been opened 2022-11-02 18:39:54 +01:00
Eloy Lafuente (stronk7) 73bc677346 MDL-76055 mnet: Switch the keyswap to use the library
This service is different from the rest because it
doesn't run encrypted, but plain xmlrpc. Hence, we
cannot use the normal mnet_xmlrpc_client (that provides
on-the-fly encryption and signing).

So, instead, let's instantiate a custom client here
and use it for this pure xmlrpc request and response.

PS: It's curious that this exact sevice has support
for proxies but the mnet_xmlrpc_client one has not. I'm not
going to modify that here, but have left a comment
in the code about that.

PS: Some small style changes have been applied around
the modified code (spacing, &&, comments...)
2022-11-02 15:56:38 +01:00
Eloy Lafuente (stronk7) 478f423e2d MDL-76055 auth_mnet: Fix update_enrolments request
Basically this fixes MDL-70833 that was reproduced while
testing the update_enrolments requests. 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 to work with 0..n ids.
2022-11-02 15:56:38 +01:00
Eloy Lafuente (stronk7) 29873206b9 MDL-76055 mnet: Switch the mnet server to use the library 2022-11-02 15:56:38 +01:00
Eloy Lafuente (stronk7) 8c64ab98ee MDL-76055 mnet: Switch the mnet client to use library
Completely remove all uses if the xmlrpc php extension in
the client and replace them by the phpxmlrpc library.

Very noticeably, remove all the uses of the curl extension
and use phpxmlrpc own curl support.

Working ok for moodle-moodle/mahara sso and mahara portfolio export.
2022-11-02 15:56:38 +01:00
Eloy Lafuente (stronk7) a0d916bc86 MDL-76055 libraries: Autoload phpxmlrpc and verify it works
Also, we can now safely remove Autoloader.php, because
Moodle PSR-4 autoloader has taken control, so document
and test it too.
2022-11-02 15:56:38 +01:00
Eloy Lafuente (stronk7) c958bd7305 MDL-76055 libraries: Import phpxmlrpc 4.8.0 release 2022-11-02 15:56:38 +01:00
Sara Arjona ae63a2d16b MDL-76172 core: Fix error when userinfo is false
This patch should fix a regression introduced in MDL-75171, raised
while running the OBv2.1 certification.
The new method get_raw_userinfo() can return stdClass or false but
the second one was not taken into account from get_userid() (so an
error was thrown: "Argument 1 passed to
core\oauth2\client::map_userinfo_to_fields() must be an instance
of stdClass, bool given").
2022-11-02 12:28:19 +01:00
Mihail Geshoski 458c1c771b MDL-75513 core_grades: New method that returns the grade item string
Introduces a new method get_element_type_string() in grade/lib.php
which returns the appropriate string that describes the type of the
grade item element.
2022-11-02 17:47:02 +08:00
Mihail Geshoski 3d1bb8e863 MDL-75513 behat: Update existing behat tests 2022-11-02 17:45:52 +08:00
Mihail Geshoski e8caeb85e3 MDL-75513 gradereport_user: Add behat tests 2022-11-02 17:45:52 +08:00
Mihail Geshoski 3414a93268 MDL-75513 gradereport_user: Output the tertiary nav action in index.php
Outputs the relevant tertiary navigation actions based in index.php,
the prev/next user navigation and removes the old trigger buttons for
the group and user selector from the zero state page.
2022-11-02 17:45:52 +08:00
Mihail Geshoski 42c5109652 MDL-75513 gradereport_user: Create tertiary navigation actions 2022-11-02 17:45:52 +08:00
Mihail Geshoski be366c5b7c MDL-75513 core_grades: Renderer for the custom user header 2022-11-02 17:45:52 +08:00
Mihail Geshoski ee2d1f806d MDL-75513 message: Enable optional text display in the contact toggle 2022-11-02 17:45:52 +08:00
Mihail Geshoski df5e5c0f88 MDL-75513 gradereport_user: Trigger element for the view mode selector
Creates a renderer method and a template for the element that would
trigger the view mode selector in the grade user report.
2022-11-02 17:45:52 +08:00
Mihail Geshoski ba80b78119 MDL-75513 core_grades: Renderer for the prev/next user navigation 2022-11-02 17:45:52 +08:00
Mihail Geshoski 1046e06e83 MDL-75513 gradereport_user: Create trigger element for the user selector
Creates a renderer method and a template for the element that would
trigger the user selector.
2022-11-02 17:45:52 +08:00
Mihail Geshoski 8b2f9b0386 MDL-75513 core_grades: Create trigger element for the group selector
Creates a renderer method and a template for the element that would
trigger the group selector.
2022-11-02 17:45:52 +08:00
Mihail Geshoski c2851ed141 MDL-75513 gradereport_user: Update the grade user report
Updates the styling of the grade user reports and introduces
functionality which enables expanding and collapsing grade
categories.
2022-11-02 17:45:52 +08:00
Jake Dallimore 1b9ebba57b 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 16:48:33 +08:00
Ferran Recio 4b32662da7 MDL-76084 theme_boost: add shadow to the sticky footer 2022-11-02 09:25:28 +01:00
Jun Pataleta 714f944a3e Merge branch 'MDL-75038' of https://github.com/paulholden/moodle 2022-11-02 13:39:27 +08:00
Jun Pataleta b2368a421b Merge branch 'MDL-75848' of https://github.com/paulholden/moodle 2022-11-02 13:20:12 +08:00
Jake Dallimore c48e83db0e 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:11:00 +08:00
Jake Dallimore b76ac53c9d 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:11:00 +08:00
Yannick Forget 52d523fa9c MDL-61880 core: Retain OAuth 2.0 user field mappings after issuer update 2022-11-02 11:10:36 +08:00
Shamim Rezaie d18a89fb0b Merge branch 'MDL-76142' of https://github.com/paulholden/moodle 2022-11-02 14:02:33 +11:00
Shamim Rezaie 8ddc2a5fed Merge branch 'master_MDL-75306-lastused-41' of https://github.com/catalyst/moodle-MDL-72752 2022-11-02 12:57:09 +11:00
Paul Holden 4b007efda5 MDL-75038 blog: link back to user only when one specified. 2022-11-01 21:27:03 +00:00
Paul Holden 429508a7b4 MDL-76142 cohort: cross DB support for description filter.
Specifically avoids Oracle exception ORA-00932.
2022-11-01 14:05:39 +00:00
Ilya Tregubov ea58a656c1 Merge branch 'MDL-75289-master' of https://github.com/sarjona/moodle 2022-11-01 15:38:56 +03:00
Ilya Tregubov 720bd60fc6 on-demand release 4.1dev+ 2022-11-01 15:00:21 +03:00
Jun Pataleta bd702e14a2 Merge branch 'MDL-74643-patch' of https://github.com/ilyatregubov/moodle 2022-11-01 14:06:13 +08:00
Ilya Tregubov 080e11e35a MDL-74643 core_user: Fix Behat test.
Stop using deprecated steps.
2022-11-01 08:59:51 +03:00
Andrew Nicols f50b622319 Merge branch 'mdl-75010' of https://github.com/danmarsden/moodle 2022-11-01 11:51:33 +08:00
Andrew Nicols 60bc475925 Merge branch 'MDL-75468' of https://github.com/paulholden/moodle 2022-11-01 11:17:27 +08:00
Andrew Nicols 624f68be78 Merge branch 'MDL-76076_master' of https://github.com/marxjohnson/moodle 2022-11-01 10:47:14 +08:00
Jun Pataleta 5e84f00acb Merge branch 'MDL-73141-master' of https://github.com/dravek/moodle 2022-11-01 09:25:34 +08:00
Jun Pataleta c0580bc013 Merge branch 'MDL-76120-master' of https://github.com/andrewnicols/moodle 2022-11-01 09:17:19 +08:00
Sara Arjona 217819a0de Merge branch 'MDL-75358-master' of https://github.com/junpataleta/moodle 2022-10-31 18:18:29 +01:00
Jun Pataleta 4caae7c835 MDL-75358 blog: Make attachment callback parameter nullable 2022-10-31 22:58:40 +08:00
Sara Arjona 61e8b806ec MDL-75289 mod_data: Implement prototyped tertiary nav
On the Database page:
- The List/single view is displayed in the right.
- The buttons Import entries, export entries and Export to portfolio
have been moved to the Actions menu.
- The List/Single view headings have been removed.
- The "Save settings" secondary button is hidden when advanced search
is enabled.
- The result (Found X out of Y entries, No records found) are not
displayed as notifications anymore.

On the Presets page:
- The buttons (Import, Export and Save as preset) have been moved to an
actions menu to the tertiary navigation. Some of these options have been
renamed.
- Remove the Action column heading from the table.

On the Presets preview page:
- Move the preset name to the heading in the tertiary navigation (Preview
of xxxxx), and remove the current preset name from the page.
- Align the List/single template to the right in the tertiary navigation.
- Make primary the "Use this preset" button.

On the Fields page:
- Remove the "Manage fields" menu.
- Remove the Export and Save as preset from the tertiary navigation.
- Align Create a field to the right in the tertiary navigation.
- Add a description at the top of the page.
- Remove the Action column heading from the table.
- Move field actions (Edit and Delete) to ellipsis.

On the Templates page:
- Move Export and Save as preset to the Actions menu.
- Move the templates list to a tertiary navigation selector and remove
the template heading.
- Reorder the templates list (Add entry template should be displayed
at the begining, instead of List template).
- Rename "Enable editor" to "Enable code editor".
2022-10-31 15:24:13 +01:00
Mark Johnson 67c7ed25e3 MDL-76076 cache: Add locking before write for parent caches 2022-10-31 13:55:54 +00:00
Sara Arjona aaca32f7e1 Merge branch 'MDL-75771-master' of https://github.com/PhMemmel/moodle 2022-10-31 13:39:43 +01:00
Ilya Tregubov 9a723c0e15 Merge branch 'MDL-74643-master' of https://github.com/mickhawkins/moodle 2022-10-31 14:52:47 +03:00
Michael Hawkins 336d8c5fab MDL-74643 tool_mobile: Update API to support supportavailability config
Co-authored-by: Juan Leyva <juanleyvadelgado@gmail.com>
2022-10-31 18:58:10 +08:00
Michael Hawkins e3b3ba90c8 MDL-74643 core_user: New admin setting for site support availability
This allows admins to configure whether contact site support is
available to everyone, authenticated users, or nobody.

The behat testing checks linked and direct access for each setting,
as well as adding testing that the support page override works as
expected.
2022-10-31 18:58:06 +08:00
Michael Hawkins ddc9a30fa1 MDL-74643 core_user: Added behat page resolver
Currently this supports resolving the Contact Site Support page.
2022-10-31 18:55:29 +08:00
Jun Pataleta fb302fe40f Merge branch 'MDL-75469-master' of https://github.com/kevpercy/moodle 2022-10-31 17:10:23 +08:00
Jun Pataleta 61146c9088 Merge branch 'MDL-76108-master' of https://github.com/aanabit/moodle 2022-10-31 16:49:25 +08:00
Jun Pataleta d54abc4079 Merge branch 'MDL-75487' of https://github.com/paulholden/moodle 2022-10-31 13:33:56 +08:00
Jake Dallimore 77a1212d41 Merge branch 'MDL-76041-master' of https://github.com/call-learning/moodle 2022-10-31 11:43:49 +08:00
Jun Pataleta 9bdfcc46d3 Merge branch 'MDL-75358-master' of https://github.com/marinaglancy/moodle 2022-10-31 10:10:16 +08:00
Dan Marsden a81c5593a5 MDL-75010 core: Prevent user last access update on user key login 2022-10-31 14:18:31 +13:00
David Matamoros b0802f49a6 MDL-73141 core_cohort: Convert cohort listing to Report Builder 2022-10-29 12:45:50 +02:00
Víctor Déniz 04d8fc6070 Merge branch 'MDL-68437-master' of https://github.com/mihailges/moodle 2022-10-28 17:44:50 +01:00
Amaia Anabitarte 3e96f16688 MDL-76108 mod_lesson: improving count call for PHP8.0 2022-10-28 18:16:32 +02:00
Philipp Memmel b4c292166a MDL-75771 core_courseformat: Add behat test for show_editor function 2022-10-28 17:24:37 +02:00
Philipp Memmel 4294acc5ab 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:24:37 +02:00
Sara Arjona 53c4fc9af0 MDL-75289 mod_data: Reorder secondary nav tabs
The Presets tab should be displayed before Fields and Templates.
2022-10-28 15:30:26 +02:00
Andrew Nicols d396af9393 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.
2022-10-28 20:53:22 +08:00
Sara Arjona fa7a55aa5d on-demand release 4.1dev+ 2022-10-28 14:09:39 +02:00
Sara Arjona fbfd60fef2 NOBUG: Fixed file access permissions 2022-10-28 14:09:38 +02:00
Sara Arjona 88622bf25b NOBUG: Fixed SVG browser compatibility 2022-10-28 14:09:34 +02:00
Marina Glancy a34b4ebdc3 MDL-76112 various: can not pss null as 3rd param to preg_split
This produces notices in PHP 8.1
2022-10-28 10:51:20 +02:00
Meirza 2b5bf7dbc0 MDL-76070 dataformat_json: Fix data loss in the exported file. 2022-10-28 13:08:15 +07:00
Jake Dallimore df90988239 Merge branch 'MDL-68943-master' of https://github.com/cameron1729/moodle 2022-10-28 11:49:42 +08:00
Jake Dallimore eba92e07de Merge branch 'MDL-76073-master' of https://github.com/marinaglancy/moodle 2022-10-28 11:05:41 +08:00
Cameron Ball 01074798e1 MDL-68943 assignfeedback_editpdf: Upgrade step for stale conversions 2022-10-28 11:03:29 +08:00
Cameron Ball 1e98c4ad27 MDL-68943 assignfeedback_editpdf: Reconvert updated files 2022-10-28 11:03:29 +08:00
Jake Dallimore fdef0eec44 Merge branch 'MDL-76069-master' of https://github.com/mihailges/moodle 2022-10-28 09:35:39 +08:00
Safat Shahin 9c89fba92a MDL-75306 qbank_usage: Last used column
This commit will implement Last used column
and filterable object.
2022-10-28 10:21:09 +11:00
Sara Arjona af17803658 Merge branch 'MDL-75188-master' of https://github.com/laurentdavid/moodle 2022-10-27 21:45:21 +02:00
Laurent David cf12af7519 MDL-75188 mod_data: Use cmid instead of id
* Based on previous changes, fix ids so they are consistent with other modules (in preparation for MDL-75255)
2022-10-27 18:34:45 +02:00
Laurent David d67fbbb80d MDL-75188 mod_data: Move import preset for to a modal
* Use a modal instead of a standard page to select the preset file
   and import it.
 * Change the zero state import button to a modal dialog so it uses the same
   workflow as on the preset page
2022-10-27 18:32:23 +02:00
Sara Arjona 4dc0505b2a Merge branch 'MDL-75471' of https://github.com/paulholden/moodle 2022-10-27 17:35:04 +02:00
Sara Arjona 9000fd3037 Merge branch 'MDL-75449' of https://github.com/paulholden/moodle 2022-10-27 17:24:11 +02:00
Víctor Déniz 8e57940fe7 Merge branch 'MDL-75467' of https://github.com/paulholden/moodle 2022-10-27 16:09:05 +01:00
Sara Arjona 8c12bc9ba7 Merge branch 'MDL-76023' of https://github.com/paulholden/moodle 2022-10-27 17:03:51 +02:00
Sara Arjona 0b03a3d41a Merge branch 'MDL-64231-master' of https://github.com/ferranrecio/moodle 2022-10-27 16:56:21 +02:00
Sara Arjona f0e2d12533 Merge branch 'MDL-75165' of https://github.com/paulholden/moodle 2022-10-27 16:50:09 +02:00
Víctor Déniz d76550da83 Merge branch 'MDL-75969-master' of https://github.com/andrewnicols/moodle 2022-10-27 15:29:40 +01:00
Mihail Geshoski 1057a1a625 MDL-76069 enrol_manual: Fix missing breadcrumbs 2022-10-27 21:56:18 +08:00
Meirza d49b78706e MDL-73624 lib_spout: encode output file name 2022-10-27 16:46:51 +07:00
Ferran Recio b9900c2b45 MDL-64231 mod_assign: download submissions with group folder 2022-10-27 11:11:12 +02:00
Jake Dallimore 5a9a6dd090 Merge branch 'MDL-75868-master' of https://github.com/ferranrecio/moodle 2022-10-27 16:41:08 +08:00
Sara Arjona e29d9fe89c Merge branch 'MDL-75166' of https://github.com/paulholden/moodle 2022-10-27 09:32:50 +02:00
Sara Arjona c122d3a7f5 Merge branch 'MDL-69275-submissionreview-resquashed' of https://github.com/cengage/moodle 2022-10-27 08:48:08 +02:00
Adrian Greeve 2b2b4e63a2 MDL-76011 lib: Updated the zip writer to retain the modified date. 2022-10-27 14:46:31 +08:00
Marina Glancy 4b99c6a795 MDL-76102 lib: PEAR - passing null to str functions is deprecated 2022-10-27 07:36:26 +02:00
Jun Pataleta de4566644f Merge branch 'MDL-75597-master' of https://github.com/ferranrecio/moodle 2022-10-27 11:56:35 +08:00
Andrew Nicols 6bc92b7f99 Merge branch 'MDL-76002-master' of https://github.com/snake/moodle 2022-10-27 11:31:57 +08:00
Claude Vervoort 12e207de9d MDL-69275 mod_lti: submission review (gradebook launch) 2022-10-26 15:03:41 -04:00
Jun Pataleta 9846fb83cc Merge branch 'MDL-75957-master-1' of https://github.com/mihailges/moodle 2022-10-26 21:13:25 +08:00
Frederik Milling Pytlick 08e71c5fd6 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-26 11:27:27 +02:00
Meirza 1574a39baf 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:18:34 +07:00
Thong Bui 5151cd6bd0 MDL-75784 Forms: Fix issues multi expand all/collapse buttons on a page 2022-10-26 14:06:54 +07:00
Jun Pataleta c6b1d79238 Merge branch 'MDL-75478-master' of https://github.com/stevandoMoodle/moodle 2022-10-26 14:15:05 +08:00
Jun Pataleta c76a2a05ba Merge branch 'MDL-72558' of https://github.com/NoelDeMartin/moodle 2022-10-26 13:37:45 +08:00
Amaia Anabitarte c1d6de60c4 MDL-76006 mod_data: Change zero state images 2022-10-25 17:50:27 +02:00
Sara Arjona fa655bb3a7 Merge branch 'MDL-75335-master' of https://github.com/aanabit/moodle 2022-10-25 17:47:44 +02:00
Amaia Anabitarte ab97d41644 MDL-75335 mod_data: Zero state for Fields and Templates 2022-10-25 16:35:58 +02:00
Amaia Anabitarte 32c8f75c0d MDL-75335 mod_data: Change Use a preset string 2022-10-25 16:05:24 +02:00
Marina Glancy c5fd214ccd MDL-75519 reportbuilder: set default sortorder for Users datasource 2022-10-25 11:19:36 +02:00
Jun Pataleta 35f39c45b7 on-demand release 4.1dev+ 2022-10-25 17:17:48 +08:00
Jun Pataleta ebda10c4e1 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-10-25 17:17:45 +08:00
Marina Glancy 5a9590dfad MDL-76073 badges: badge RB entity should have nullable callbacks 2022-10-25 10:49:06 +02:00
Laurent David 5a1e8156d7 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:41:49 +02:00
Jake Dallimore 08f2f2dc72 Merge branch 'MDL-75727' of https://github.com/timhunt/moodle 2022-10-25 11:55:45 +08:00
Andrew Nicols 79952f5084 Merge branch 'MDL-76049' of https://github.com/timhunt/moodle 2022-10-25 11:49:25 +08:00
Jun Pataleta 6c0631b2d3 Merge branch 'MDL-75099-master' of https://github.com/rmady/moodle 2022-10-25 11:46:25 +08:00
Stevani Andolo ed71d74077 MDL-71951 calendar: Accessbility issue fix 2022-10-25 11:44:00 +08:00
Andrew Nicols 6d5c70a286 Merge branch 'master-MDL-74991' of https://github.com/golenkovm/moodle 2022-10-25 11:14:06 +08:00
Andrew Nicols d07cbb7641 Merge branch 'MDL-75763-master' of https://github.com/call-learning/moodle 2022-10-25 11:10:32 +08:00
Jake Dallimore c4d779fbb0 Merge branch 'MDL-74315-master' of https://github.com/roland04/moodle 2022-10-25 11:08:47 +08:00
Andrew Nicols 89b9f20229 Merge branch 'MDL-75760' of https://github.com/stronk7/moodle 2022-10-25 10:48:21 +08:00
Mihail Geshoski fce11bf6aa MDL-75957 core: Prevent repositioning dropdowns along the y-axis
Disables filipping the dropdowns up or dynamically repositioning
them along the y-axis to prevent them getting hidden behind the
navbar or them covering the trigger element.
2022-10-25 00:26:39 +08:00
Víctor Déniz f531f46d9e Merge branch 'MDL-75074-master' of https://github.com/sammarshallou/moodle 2022-10-24 16:43:08 +01:00
Víctor Déniz 9235ed5296 Merge branch 'MDL-75482-master' of https://github.com/stevandoMoodle/moodle 2022-10-24 16:36:26 +01:00
Sara Arjona 636e39e98b Merge branch 'MDL-75465-master' of https://github.com/stevandoMoodle/moodle 2022-10-24 17:30:12 +02:00
Víctor Déniz 3b4023122a Merge branch 'MDL-75483-master' of https://github.com/davewoloszyn/moodle 2022-10-24 16:00:46 +01:00
Sara Arjona 83aa6c2a13 Merge branch 'MDL-75474-master' of https://github.com/davewoloszyn/moodle 2022-10-24 16:54:40 +02:00
Víctor Déniz ed9d3ae84c Merge branch 'MDL-75352' of https://github.com/paulholden/moodle 2022-10-24 15:44:09 +01:00
Andrew Nicols f0be30af14 Merge branch 'MDL-74911-master' of https://github.com/matthewhilton/moodle 2022-10-24 22:22:28 +08:00
Sara Arjona 85385cd09f Merge branch 'MDL-75470-master' of https://github.com/davewoloszyn/moodle 2022-10-24 16:10:11 +02:00
Andrew Nicols bc5252d8bf Merge branch 'MDL-75684-master' of https://github.com/sarjona/moodle 2022-10-24 21:50:45 +08:00
Sara Arjona 4cf81fd3c2 Merge branch 'MDL-73030' of https://github.com/paulholden/moodle 2022-10-24 15:47:21 +02:00
Sara Arjona b0110cbed3 Merge branch 'MDL-75897' of https://github.com/paulholden/moodle 2022-10-24 15:35:12 +02:00
Sara Arjona b2816b93bf MDL-75684 mod_data: Display pending approval in resources
In MDL-75664, the approval status badge was re-added. However,
the resources list template was missing so this commit is for
fixing this.
2022-10-24 13:01:39 +02:00
Sara Arjona 16ba7cbe96 MDL-75684 mod_data: Add metadata to templates
Each template should display at the top the information about the
user who has created the entry, when it was created and modified.

Apart from that, this commit also includes:
- For the Journal preset, a link on each card entry title has been
added, to open the Single view.
- For the Resources preset, the Author field has been renamed to
"Author of resource" and the Description to "Content".
- For the Resources preset, the Author and Type fields will be
hidden in the List view for small devices.
2022-10-24 13:01:39 +02:00
Sara Arjona e80ec13230 MDL-75684 mod_data: Remove duplicated label 2022-10-24 13:01:39 +02:00
Sara Arjona 09a2c6a0e8 MDL-75684 mod_data: Add author name/lastname to adv search
Add the "First name" and "Last name" fields at the beginning of the
advanced search template for all the presets.
2022-10-24 13:01:39 +02:00
Sara Arjona a8452c9d25 MDL-75684 mod_data: Remove List/Single view headings
Apart from removing the "List view" and "Single view" h2 headings,
the presets and templates must be also reviewed to confirm no
heading is skipped (so h2 > h3 > h4 ...).

For the Journal preset, the "Reflections" heading has been removed
here too.
2022-10-24 13:01:39 +02:00
Sara Arjona 9fbc24898b MDL-75684 mod_data: Update action icons
The edit icon has been replaced from a cog to a pencil.
Besides, the actions icons will be displayed using black colour.
2022-10-24 13:01:39 +02:00
Jun Pataleta 10de18ce0c Merge branch 'MDL-75936-master' of https://github.com/andrewnicols/moodle 2022-10-24 15:58:14 +08:00
Andrew Nicols dc50ea7d3a MDL-75936 core_message: Migrate message_drawer_helper to ESM 2022-10-24 14:29:32 +08:00
Andrew Nicols 723d450c8c 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.
2022-10-24 14:29:32 +08:00
Jun Pataleta 5ca124e7a2 Merge branch 'MDL-76018-master' of https://github.com/sammarshallou/moodle 2022-10-24 13:16:24 +08:00
Matthew Hilton e02aa3ad9a 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:54:53 +10:00
Matthew Hilton 617a32f3f0 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:54:53 +10:00
AMOS bot 6366946547 Automatically generated installer lang files 2022-10-23 00:08:19 +00:00
Paul Holden 91c49cb836 MDL-75904 admin: ignore $CFG->allowcategorythemes during installation. 2022-10-21 22:32:12 +01:00
Paul Holden 3be5954500 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:24 +01:00
Paul Holden 3bf355e37a MDL-75848 editor_atto: fix console error when clicking toolbar menu. 2022-10-21 18:46:07 +01:00
Eloy Lafuente (stronk7) 83eb19338e MDL-75760 database: Keep mysql driver working over all PHP versions
Before PHP 8.1, the mysqli extension had MYSQLI_REPORT_OFF as default setting.
With PHP 8.1, it has been changed to MYSQLI_REPORT_ERROR|MYSQLI_REPORT_STRICT
The native driver is not ready to work with this new reporting level,
see MDL-75761 about to considering to improve it.

So this change just ensures that we continue using MYSQLI_REPORT_OFF
with any PHP version.
2022-10-21 16:33:22 +02:00
Sara Arjona 963b7a4423 Merge branch 'MDL-72828-master' of https://github.com/davewoloszyn/moodle 2022-10-21 16:24:41 +02:00
Sara Arjona 5e9d99eeaf Merge branch 'MDL-61921-master' of https://github.com/HuongNV13/moodle 2022-10-21 16:22:44 +02:00
Ilya Tregubov 046e48c49c on-demand release 4.1dev+ 2022-10-21 15:34:10 +03:00
Ilya Tregubov 660b56eb50 Merge branch 'MDL-75362-refactor' of https://github.com/Chocolate-lightning/moodle 2022-10-21 09:56:19 +03:00
Jun Pataleta c809da03fd Merge branch 'MDL-68868-master' of https://github.com/davewoloszyn/moodle 2022-10-21 09:07:58 +03:00
Jun Pataleta 58a92364ed Merge branch 'MDL-70368-cache-image-metadata' of https://github.com/brendanheywood/moodle 2022-10-21 09:07:58 +03:00
Jun Pataleta 492662a333 Merge branch 'MDL-75157-master-1' of https://github.com/mihailges/moodle 2022-10-21 09:07:58 +03:00
Sara Arjona 31419c1f28 Merge branch 'MDL-75211-master' of https://github.com/ferranrecio/moodle 2022-10-21 09:07:58 +03:00
Sara Arjona ef3c37dd4c Merge branch 'MDL-75484-master' of https://github.com/davewoloszyn/moodle 2022-10-21 09:07:58 +03:00
Víctor Déniz c209719811 Merge branch 'MDL-67020_master' of https://github.com/marxjohnson/moodle 2022-10-21 09:07:58 +03:00
Sara Arjona 1ff87d2459 Merge branch 'MDL-75791-master' of https://github.com/marinaglancy/moodle 2022-10-21 09:07:58 +03:00
Sara Arjona e31c9d3f84 Merge branch 'MDL-75931' of https://github.com/paulholden/moodle 2022-10-21 09:07:58 +03:00
David Woloszyn bbe528c1ad MDL-72828 js: get_strings supports jquery objects 2022-10-21 13:47:34 +11:00
Huong Nguyen 986910d6ff MDL-61921 admin: Support XOAUTH2 for incoming mail 2022-10-21 09:34:53 +07:00
Huong Nguyen bc80531188 MDL-61921 admin: Support XOAUTH2 for outgoing mail 2022-10-21 09:33:48 +07:00
Tim Hunt 1944c03e7e MDL-76049 quiz generator: update calendar events for new overrides 2022-10-20 23:44:23 +01:00
Paul Holden 6cccd22567 MDL-75487 libraries: upgrade to version 2.0.3 of CFPropertyList. 2022-10-20 22:01:15 +01:00
Paul Holden 492a1c1624 MDL-75471 libraries: upgrade to version 1.8.0 of loglevel. 2022-10-20 22:00:13 +01:00
Anupama Sarjoshi 9df84d2ff8 MDL-75380 customfields: Fix incorrect links sent when enrolling users 2022-10-20 17:20:30 +01:00
Mathew May ee71eae12a MDL-75362 gradebook: add group selector into reports 2022-10-20 21:24:51 +08:00
Mathew May e84948c4a7 MDL-75362 gradereport_singleview: Roll in zero state 2022-10-20 21:24:51 +08:00
Mathew May e7c1c2841d MDL-75362 gradereport_user: Roll in zero state work for user report 2022-10-20 21:24:51 +08:00
Mathew May 7973d6b11c MDL-75362 gradereport_singleview: CiBot complaints 2022-10-20 21:24:51 +08:00
Mathew May 84d8c98d04 MDL-75362 gradereport_singleview: Typehinting and arrays 2022-10-20 21:24:51 +08:00
Mathew May 0b6d841806 MDL-75362 gradereport_singleview: Move classes 2022-10-20 21:24:51 +08:00
Mathew May 547bf73ea7 MDL-75362 gradereport_user: CiBot 2022-10-20 21:24:51 +08:00
Mathew May fdeda7f222 MDL-75362 gradereport_user: Comments and type hinting 2022-10-20 21:24:51 +08:00
Víctor Déniz 5f98e20a95 Merge branch 'MDL-76016' of https://github.com/stronk7/moodle 2022-10-20 13:54:57 +01:00
Ilya Tregubov 1a89fd6287 Merge branch 'MDL-72058' of https://github.com/paulholden/moodle 2022-10-20 15:43:02 +03:00
Paul Holden fdf2f8f31b MDL-75352 comment: implement comments datasource for custom reporting.
Create entity definition for a comment, join with user entity in new
report source to provide data for reportbuilder editor.
2022-10-20 13:37:56 +01:00
Paul Holden 6c9b4d1e24 MDL-75349 course: include groups entity data in participants report. 2022-10-20 12:33:17 +01:00
Paul Holden b10b89ec74 MDL-75349 group: implement groups datasource for custom reporting.
Create new entities for exposing report data on course groups and
groupings, joining to existing course/user entities to provide data
for the reportbuilder editor.
2022-10-20 12:30:06 +01:00
Mark Johnson 2f1e7982df MDL-67020 Cache: Refactor build_course_cache 2022-10-20 11:31:33 +01:00
Mark Johnson ea01fb2427 MDL-67020 Cache: Make local caching work for coursemodinfo 2022-10-20 11:31:33 +01:00
Mark Johnson 045ee091da MDL-67020 Cache: Make locking work for local file caches
* Add new requirelockingbeforewrite flag for cache definitions
* Implement native locking in cachestore_file (leveraging
file_lock_factory).
2022-10-20 11:31:33 +01:00
Jun Pataleta 80d4981d8d Merge branch 'MDL-75401-master-integration' of https://github.com/ferranrecio/moodle 2022-10-20 18:31:00 +08:00
Paul Holden d53b5879ca 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:22 +01:00
Jun Pataleta de11a92ed0 Merge branch 'MDL-75497-master4' of https://github.com/raortegar/moodle 2022-10-20 17:29:11 +08:00
Jun Pataleta b720790aec Merge branch 'MDL-75599-master' of https://github.com/laurentdavid/moodle 2022-10-20 17:26:08 +08:00
raortegar bf5cd9cf98 MDL-75497 mod_data: Review Check existence of field.class.php 2022-10-20 09:14:48 +02:00
Jun Pataleta d98380b272 Merge branch 'MDL-75894-master' of https://github.com/jleyva/moodle 2022-10-20 14:40:22 +08:00
Andrew Nicols 8f6835c6e8 Merge branch 'MDL-75834-master' of https://github.com/sammarshallou/moodle 2022-10-20 14:35:15 +08:00
Sara Arjona 2739a25ffb Merge branch 'MDL-75475-master' of https://github.com/davewoloszyn/moodle 2022-10-20 08:16:26 +02:00
Jun Pataleta 6875318513 Merge branch 'MDL-59458-master' of https://github.com/laurentdavid/moodle 2022-10-20 13:57:40 +08:00
Jun Pataleta a0e33d87ac Merge branch 'MDL-74910-master' of https://github.com/cameron1729/moodle 2022-10-20 13:57:40 +08:00
Cameron Ball 38c89c5343 MDL-74910 core_files: Remove unused query param 2022-10-20 13:57:39 +08:00
Kateryna Degtyariova 70bd5a2161 MDL-74910 core_files: Additional unit tests for get_conversions_for_file 2022-10-20 13:57:39 +08:00
Cameron Ball c9da36d731 MDL-74910 core_files: Return SQL to initial state
MDL-73727 aimed to improve the performance of the
get_conversions_for_file SQL. Unfortunately it also
changed the behvaiour of the SQL.

On further investigation, there is nothing wrong with
the SQL. This patch returns it back to its initial state.
2022-10-20 13:57:39 +08:00
Huong Nguyen 44ca802d4e MDL-61921 lib: Bring back OAuth for PHPMailer 2022-10-20 09:59:14 +07:00
Víctor Déniz 4b09e1bff4 Merge branch 'MDL-75962-master' of https://github.com/andrewnicols/moodle 2022-10-20 00:37:38 +01:00
Víctor Déniz 402066dac3 Merge branch 'MDL-75907-master' of https://github.com/golenkovm/moodle 2022-10-20 00:20:59 +01:00
Víctor Déniz fb74611571 Merge branch 'MDL-76033-master' of https://github.com/ilyatregubov/moodle 2022-10-20 00:07:53 +01:00
David Woloszyn 650694f18f MDL-75475 lib: Applied PHP CSS Parser patches 2022-10-20 09:32:47 +11:00
David Woloszyn c8ee3c9051 MDL-75475 lib: Upgraded PHP CSS Parser to 8.4.0 2022-10-20 09:32:47 +11:00
Paul Holden 27200f2c6e MDL-75941 theme_boost: don't auto grow breadcrumb items.
On mobile/small breakpoint, display breadcrumb items without
excess whitespace.
2022-10-19 21:49:06 +01:00
Paul Holden 225aab8f65 MDL-76000 theme_boost: reset form padding when in tertiary navigation. 2022-10-19 20:29:37 +01:00
Paul Holden 06f013eec6 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:49:04 +01:00
Laurent David 07735e1165 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 19:47:41 +02:00
Ferran Recio f002af96b6 MDL-75597 mod_data: content max width 2022-10-19 17:07:14 +02:00
Ferran Recio ed4dcf6dff MDL-75211 mod_data: show batch select only if delcheck is present 2022-10-19 17:05:29 +02:00
Paul Holden 5d385d4bcb MDL-75535 files: implement files datasource for custom reporting.
Create file entity, joining to existing user entity to provide data
for the reportbuilder editor.
2022-10-19 15:04:09 +01:00
Paul Holden 8debad96ac MDL-75535 reportbuilder: reset cache upon generating default report.
This ensures any properties set during creation (e.g. condition values)
are immediately present in unit tests.
2022-10-19 15:04:09 +01:00
Paul Holden a82b83c2fb MDL-75166 blog: implement blogs datasource for custom reporting.
Create entity definition containing report elements for blog posts.
Add new report source joining the entity to existing user, course
and tag entities to provide data for the reportbuilder editor.
2022-10-19 14:53:08 +01:00
Paul Holden a641a8dfa2 MDL-75165 notes: implement notes datasource for custom reporting.
Create entity definition containing report elements for notes. Add
new report source joining the entity to the user/course entities to
provide data for the reportbuilder editor.
2022-10-19 14:46:21 +01:00
Paul Holden f1c3aca7ea MDL-75165 reportbuilder: entity method to override multiple aliases. 2022-10-19 14:46:21 +01:00
Jun Pataleta 3a5205dd0a Merge branch 'MDL-75985-master' of https://github.com/andrewnicols/moodle 2022-10-19 21:27:29 +08:00
Ilya Tregubov 85e0a299f3 Merge branch 'MDL-72606-master' of https://github.com/lucaboesch/moodle 2022-10-19 16:04:37 +03:00
Ferran Recio 8305c1c74d MDL-75401 mod_data: add sticky footers 2022-10-19 14:51:10 +02:00
Luca Bösch b56bdb094b MDL-72606 mod_feedback: Change "Answer the questions" button to primary. 2022-10-19 14:51:05 +02:00
Andrew Nicols 0ba4fa53c1 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:26:14 +08:00
Ilya Tregubov 79c81ab577 Merge branch 'MDL-75014-before-session' of https://github.com/brendanheywood/moodle 2022-10-19 15:20:52 +03:00
Ilya Tregubov 3f568024a1 MDL-76033 core: bump version in is_major_upgrade_required
MDL-58266 changes db structure. So upgrade must happen before
accessing any page.
2022-10-19 15:08:44 +03:00
Ferran Recio 3d483ac2ef MDL-75401 core: sticky footer component 2022-10-19 13:06:54 +02:00
Sara Arjona 2e48556e99 Merge branch 'MDL-76020-master' of https://github.com/mickhawkins/moodle 2022-10-19 13:00:54 +02:00
Sara Arjona 44dfaee450 Merge branch 'MDL-76010' of https://github.com/stronk7/moodle 2022-10-19 12:56:21 +02:00
Michael Hawkins 3df326695e 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:13 +08:00
Mark Johnson dcc7d7b8df MDL-67020 Cache: Increment cacherev when purging course cache 2022-10-19 09:04:33 +01:00
Mark Johnson c06fc0648d MDL-67020 Cache: Release locks in cache_application::get_many() 2022-10-19 09:04:33 +01:00
Mark Johnson 9e7d9a0e9b MDL-67020 Cache: Prevent unnecessary coursemodinfo rebuild 2022-10-19 09:04:30 +01:00
Jun Pataleta 6ef7513b62 Merge branch 'MDL-75645' of https://github.com/stronk7/moodle 2022-10-19 15:36:42 +08:00
Ilya Tregubov 4f88b1bee7 Merge branch 'MDL-74654-master' of https://github.com/ssj365/moodle 2022-10-19 09:19:31 +03:00
Jun Pataleta e591f9da66 Merge branch 'MDL-75985-master' of https://github.com/andrewnicols/moodle 2022-10-19 10:56:14 +08:00
Shamiso.Jaravaza 74b2989f13 MDL-74654 mod_bigbluebuttonbn: Add role parameter 2022-10-18 08:27:15 -06:00
Mikel Martín a116529bb5 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:32:33 +02:00
Eloy Lafuente (stronk7) 856b593796 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:50 +02:00
Eloy Lafuente (stronk7) 7af4f8b200 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:53 +02:00
Eloy Lafuente (stronk7) e349441130 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:53 +02:00
Eloy Lafuente (stronk7) 8f606d9299 MDL-76016 behat: Bump to goutte-driver 2.x
This automatically comes with Goutte client 4.x that is
the one we want to, also, update.

It should work 100% the same and comes with some php81
warnings cleaned.
2022-10-18 14:27:42 +02:00
Sara Arjona f8d28e4ca6 on-demand release 4.1dev+ 2022-10-18 13:10:13 +02:00
Ilya Tregubov 6237c41397 Merge branch 'MDL-75173-fix' of https://github.com/sarjona/moodle 2022-10-18 10:17:35 +03:00
Sara Arjona 552d687909 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:26:47 +02:00
Laurent David c85c8ebc6a MDL-75599 mod_data: Fix warning message
* Fix warning message when accessing advanced search page with a date field.
2022-10-18 07:45:32 +02:00
Jun Pataleta 7de314084c Merge branch 'MDL-75783-master' of https://github.com/andrewnicols/moodle 2022-10-18 10:06:29 +08:00
Andrew Nicols ffac002f0d 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 9ee852a67e Merge branch 'MDL-75983' of https://github.com/stronk7/moodle 2022-10-18 01:07:23 +01:00
Víctor Déniz 587deee8f5 Merge branch 'MDL-72722' of https://github.com/paulholden/moodle 2022-10-18 00:26:24 +01:00
Víctor Déniz 2d80945eba Merge branch 'master_MDL-73122' of https://github.com/marcghaly/moodle 2022-10-17 21:18:57 +01:00
Mihail Geshoski 48f39b09f8 MDL-75157 grade: Add divider and bottom border in gradebook tertiary nav 2022-10-18 00:42:45 +08:00
Mihail Geshoski c9af6ad02f MDL-75157 theme: Divider and custom bottom border in tertiary navigation 2022-10-18 00:42:45 +08:00
sam marshall c38eeae34e MDL-76018 core_navigation: Activity header warning if no module intro 2022-10-17 17:27:39 +01:00
Sara Arjona 2ee1ad4eb7 Merge branch 'MDL-75711-master' of https://github.com/ssj365/moodle 2022-10-17 16:55:52 +02:00
Sara Arjona 771c748a9e Merge branch 'MDL-72836-master' of https://github.com/mickhawkins/moodle 2022-10-17 16:39:49 +02:00
Sara Arjona 3c49d97f1c Merge branch 'MDL-75077' of https://github.com/paulholden/moodle 2022-10-17 16:32:29 +02:00
Sara Arjona b7ad4d8636 Merge branch 'MDL-74986-master' of https://github.com/call-learning/moodle 2022-10-17 16:16:48 +02:00
Sara Arjona 4aeb22cd26 Merge branch 'MDL-58266-patch2' of https://github.com/ilyatregubov/moodle 2022-10-17 15:45:26 +02:00
Ilya Tregubov 4272ccd65f MDL-58266 core_completion: Fix upgrade script.
Remove 0 default value for timecreated
in course_module_viewed table
2022-10-17 16:40:07 +03:00
Sara Arjona 8d6a2d68e6 Merge branch 'MDL-74814-master-1' of https://github.com/HuongNV13/moodle 2022-10-17 15:30:45 +02:00
Sara Arjona d66a4ffeb9 Merge branch 'MDL-75173-master' of https://github.com/ilyatregubov/moodle 2022-10-17 15:17:45 +02:00
Sara Arjona 481630e747 Merge branch 'MDL-75664-master' of https://github.com/laurentdavid/moodle 2022-10-17 15:14:32 +02:00
Jun Pataleta e7bf930aa1 Merge branch 'MDL-74958-master' of https://github.com/sammarshallou/moodle 2022-10-17 21:10:51 +08:00
Ilya Tregubov d5e9b5ba2b MDL-58266 core_completion: Fix incorrect version bump.
Version was bumped in previously merged issue
2022-10-17 14:49:22 +03:00
Ilya Tregubov 09de114dd2 MDL-58266 core_completion: fix db structure.
Make coursemoduleid, userid fields in new course_modules_viewed
to match those in course_modules_completion table.
2022-10-17 14:49:17 +03:00
sam marshall b5e805071a 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:54:24 +01:00
Ilya Tregubov 057f732bf1 Merge branch 'MDL-58266-master' of https://github.com/JBThong/moodle 2022-10-17 12:51:59 +03:00
Shamim Rezaie 9708ad500b Merge branch 'MDL-55580_master' of https://github.com/marxjohnson/moodle 2022-10-17 19:19:36 +11:00
Laurent David e861d7b0ad MDL-75664 mod_data: Approval status in database entries
* Add approval status in the default template.
* Change the language string for unapproved entries.
2022-10-17 09:55:11 +02:00
Ilya Tregubov b1ebbfe3ac Merge branch 'MDL-56567-master' of https://github.com/matthewhilton/moodle 2022-10-17 09:04:48 +03:00
Mathew May 8539da6af7 MDL-75362 gradereport_user: Class movement 2022-10-17 12:00:40 +08:00
Kevin Percy 25ad0a2cba MDL-75481 lib: Update MongoDB library references to 1.13.1 2022-10-17 11:58:05 +08:00
Huong Nguyen 0795b579fa 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 09:31:53 +07:00
Matthew Hilton cfb643293c MDL-56567 competency: Course module competency option to override grade
Previously, if a course module had already been graded, course module
completion linked to the course module would not update. This
commit adds the option to enable overriding the grade at the course
module competency level.

This ensures that if enabled and a user completes a module associated
with a competency, that competency will be graded appropriately.
2022-10-17 08:00:20 +10:00
Claude Vervoort d48873536b MDL-69275 mod_lti: do not skip new win code lti 1.3 2022-10-14 12:35:30 -04:00
Andrew Nicols 872eef9c9a 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 febd5d944c 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:56 +08:00
Víctor Déniz ab764c0062 Merge branch 'MDL-75736-master' of https://github.com/sammarshallou/moodle 2022-10-14 16:09:01 +01:00
Paul Holden fd01461b7a MDL-75449 reportbuilder: add no tags/exclude tags filter operators.
Allow user to filter for elements that either contain no tags, plus
those that don't contain selected tags.
2022-10-14 16:04:37 +01:00
Shamiso.Jaravaza b047174996 MDL-74558 mod_bigbluebuttonbn: Fix deletion error 2022-10-14 08:59:09 -06:00
Eloy Lafuente (stronk7) 41a6551dfe 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:20 +02:00
Sara Arjona 3bc792b9b8 on-demand release 4.1dev+ 2022-10-14 12:50:19 +02:00
Sara Arjona 8523faeabc NOBUG: Fixed SVG browser compatibility 2022-10-14 12:50:16 +02:00
Sara Arjona 10e4bd87d4 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-10-14 12:50:16 +02:00
Ilya Tregubov 7365000fce MDL-75173 core_completion: More unit tests and Behat. 2022-10-14 11:49:29 +03:00
Ilya Tregubov effd848744 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:49:29 +03:00
Ilya Tregubov 43f98f6336 MDL-75173 core_completion: Fix completion for different settings. 2022-10-14 11:49:29 +03:00
Ilya Tregubov 90b1e2cbab 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:49:29 +03:00
Ilya Tregubov d6fa50d175 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:49:28 +03:00
Ilya Tregubov def5d29730 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:49:28 +03:00
Jake Dallimore 552f31dc37 MDL-76002 enrol_lti: let http_client handle form_params option
The lib/lti1p3 library now passes $options['form_params'] instead of
$options['body'] when making access token requests. To maintain the
'application/x-www-form-urlencoded' content-type required by OAuth 2.0
(https://www.rfc-editor.org/rfc/rfc6749#section-4.1.3), the client has
been changed to convert these array params into a body query string,
which matches the behaviour prior to the library upgrade and makes
the tool can continue to call tool platform services. Support for
$options['body'] remains, as this is still used during service calls.
2022-10-14 16:35:29 +08:00
David Woloszyn f2835a9850 MDL-75484 lib: Set Moodle files after PHPSpreadSheet upgrade 2022-10-14 17:22:38 +11:00
David Woloszyn efc63be039 MDL-75484 lib: PHPSpreadSheet upgraded to 1.25.2 2022-10-14 17:22:25 +11:00
Jake Dallimore 9a21b3772e MDL-76002 libraries: upgrade patched packback lti1p3 lib to 5.2.1 2022-10-14 13:33:41 +08:00
Jun Pataleta 4f3d774918 Merge branch 'MDL-75955' of https://github.com/paulholden/moodle 2022-10-14 11:55:29 +08:00
AMOS bot bfe4ea745a Automatically generated installer lang files 2022-10-14 00:07:39 +00:00
Víctor Déniz b17679e806 Merge branch 'MDL-75733' of https://github.com/paulholden/moodle 2022-10-13 22:52:28 +01:00
Víctor Déniz 2573bddc20 Merge branch 'MDL-72531-master' of https://github.com/sarjona/moodle 2022-10-13 22:17:38 +01:00
Víctor Déniz 5bfc28a5a0 Merge branch 'MDL-75734' of https://github.com/paulholden/moodle 2022-10-13 22:06:47 +01:00
Víctor Déniz 3637aa7ddb Merge branch 'MDL-74789-master' of https://github.com/lucaboesch/moodle 2022-10-13 21:11:07 +01:00
hieuvu c6e018e04e MDL-58266 core_completion: Add new view table. 2022-10-14 00:30:28 +07:00
Jun Pataleta 80b20781f0 Merge branch 'MDL-74887-master' of https://github.com/sh-csg/moodle 2022-10-14 00:28:27 +08:00
Sara Arjona 6eb67954f3 Merge branch 'MDL-75811' of https://github.com/paulholden/moodle 2022-10-13 16:25:40 +02:00
Sara Arjona c8cd544f21 Merge branch 'MDL-75883-master' of https://github.com/dravek/moodle 2022-10-13 16:14:41 +02:00
Sara Arjona 25f3d7da5d Merge branch 'MDL-75959-master' of https://github.com/andrewnicols/moodle 2022-10-13 16:03:28 +02:00
Sara Arjona 0b4de0c41f Merge branch 'MDL-75984-master-v1' of https://github.com/lameze/moodle 2022-10-13 15:55:09 +02:00
Laurent David 76e77b6385 MDL-74986 mod_bigbluebuttonbn: Outline display is a bit verbose
* Change language string to shorten the user outline display
2022-10-13 15:04:52 +02:00
Ilya Tregubov 3f6a102704 Merge branch 'MDL-75970' of https://github.com/paulholden/moodle 2022-10-13 14:08:35 +03:00
Stefan Hanauska 1a772e6906 MDL-74887 mod_label: Update visibility 2022-10-13 12:34:38 +02:00
Sara Arjona 613ed0880a MDL-72531 mod_label: Rename Label module to Text and media
Apart from renanimg the resource, the icon has been changed too.
2022-10-13 10:02:06 +02:00
Kevin Percy 8ab37cea82 MDL-75481 lib: Updated MongoDB files to 1.13.1 2022-10-13 15:22:01 +08:00
Simey Lameze e654b6dbd6 MDL-75984 admin_presets: split test into smaller ones 2022-10-13 15:20:35 +08:00
Noel De Martin 594a64348a MDL-72558 behat: Remove legacy mobile app code 2022-10-13 09:18:40 +02:00
Stevani Andolo 84ea6552f7 MDL-75465 lib: Set Moodle files after minify upgrade 2022-10-13 15:17:52 +08:00
Stevani Andolo 495516dbf1 MDL-75465 lib: Add custom Moodle patch to minify 2022-10-13 14:57:22 +08:00
Stevani Andolo 34a74ada7b MDL-75482 lib: Set Moodle files after codemirror upgrade 2022-10-13 14:15:00 +08:00
Stevani Andolo 5f12bcdc81 MDL-75482 lib: Upgrade codemirror to 5.65.9 2022-10-13 13:57:38 +08:00
Shamim Rezaie 3fa533a2de Merge branch 'MDL-75642-master' of https://github.com/BruceGoodGuy/moodle 2022-10-13 16:28:10 +11:00
Jun Pataleta f8cfc005a9 Merge branch 'MDL-69655_final-deprecation-of-admin_setting_managelicenses' of https://github.com/ziegenberg/moodle 2022-10-13 13:17:32 +08:00
Stevani Andolo 3339bdb8d4 MDL-75478 lib: Set Moodle files after PHP-JWT upgrade 2022-10-13 12:46:14 +08:00
Jun Pataleta 1b8583082f Merge branch 'MDL-75820-master' of https://github.com/lameze/moodle 2022-10-13 08:34:05 +08:00
Tim Hunt 06c63f7aa1 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:10:55 +01:00
Paul Holden abeedec596 MDL-75970 tool_customlang: clarify CLI export target/filename. 2022-10-12 10:13:48 +01:00
Ilya Tregubov c3d7241ea3 Merge branch 'MDL-74956' of https://github.com/paulholden/moodle 2022-10-12 11:42:04 +03:00
Paul Holden 8822089877 MDL-74956 reportbuilder: external method for retrieving custom report. 2022-10-12 09:36:23 +01:00
Jun Pataleta 36e4ca71c6 Merge branch 'MDL-75034' of https://github.com/paulholden/moodle 2022-10-12 14:24:35 +08:00
David Woloszyn 8f5799109e MDL-75483 atto_html: Upgrade JS Beautify to 1.14.6 2022-10-12 16:29:44 +11:00
Jake Dallimore 9d9a825efe Merge branch 'MDL-75383-master' of https://github.com/call-learning/moodle 2022-10-12 13:14:30 +08:00
Jake Dallimore 8ead046ac3 Merge branch 'MDL-75176' of https://github.com/call-learning/moodle 2022-10-12 12:56:40 +08:00
Jake Dallimore 4576a34bec Merge branch 'MDL-73424-master' of https://github.com/marinaglancy/moodle 2022-10-12 11:51:40 +08:00
Stevani Andolo b2c095b16b MDL-75478 lib: Upgrade PHP-JWT to 6.3.0 2022-10-12 11:27:12 +08:00
Andrew Nicols 18a4241fee MDL-75962 js: Fix jsdoc violations 2022-10-12 10:06:40 +08:00
Jun Pataleta 8167e6e327 Merge branch 'MDL-75431' of https://github.com/AnupamaSarjoshi/moodle 2022-10-12 09:39:21 +08:00
Jun Pataleta de5cd36e92 Merge branch 'MDL-75140-master' of https://github.com/aanabit/moodle 2022-10-12 09:38:21 +08:00
Jun Pataleta be9a0c8f35 Merge branch 'MDL-75887-master' of https://github.com/andrewnicols/moodle 2022-10-12 09:23:32 +08:00
Simey Lameze baa1e52530 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:09 +08:00
Andrew Nicols 3286f9ba71 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:39:38 +08:00
Paul Holden ffea18688c MDL-75955 gradereport_summary: ensure page context is always set.
Remove global course object, and pass via entity constructor.
2022-10-11 21:50:16 +01:00
sam marshall 18dc2a50ab 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:56:21 +01:00
Jun Pataleta e4c5a12a1c on-demand release 4.1dev+ 2022-10-11 23:17:05 +08:00
Jun Pataleta b2f9c22692 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-10-11 23:17:03 +08:00
Andrew Nicols 60a343fcfd Merge branch 'MDL-75156-master-fix' of https://github.com/junpataleta/moodle 2022-10-11 22:02:14 +08:00
Jun Pataleta f96a0feb6b MDL-75156 gradereport: Use large window size for aggregation tests 2022-10-11 21:08:25 +08:00
Luca Bösch eec8a50406 MDL-74789 course: category full width 2022-10-11 11:40:14 +02:00
Daniel Ziegenberg 5e57b0322b MDL-69655 tool_licenses: Final deprecation admin_setting_managelicenses
Following MDL-45184 this now finally deprecates and removes the class
\admin_setting_managelicenses. Please use \tool_licensemanager\manager
instead.

Following MDL-45184 this now finally deprecates and removes the
function license_manager::add(). Please use license_manager::save()
instead.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-10-11 11:09:51 +02:00
Amaia Anabitarte 80a627294a MDL-75140 mod_data: Tests to cover skipping mapping workflow 2022-10-11 11:00:26 +02:00
Amaia Anabitarte bc7caa3ac8 MDL-75140 mod_data: Skip mapping form if there is no field created 2022-10-11 11:00:26 +02:00
Laurent David bcc18e2439 MDL-55580 core: Process for deprecating a capability
* Add a $deprecatedcapabilities variable to deal with deprecated
capabilities

Change-Id: I14f44d331e8a1c4bd9abe9566c78d911c0205583
Co-authored-by: Mark Johnson <mark.johnson@catalyst-eu.net>
2022-10-11 08:48:17 +01:00
Jun Pataleta 4563dc24d5 Merge branch 'MDL-75156-fix' of https://github.com/ilyatregubov/moodle 2022-10-11 13:49:09 +08:00
Ilya Tregubov 10570acfde MDL-75156 gradebook: Fix grade handling. 2022-10-11 09:32:58 +04:00
Jun Pataleta 5ed4ea149a Merge branch 'MDL-74913' of https://github.com/lostrogit/moodle 2022-10-11 12:18:46 +08:00
David Woloszyn c65ae9ffd8 MDL-75470 lib: Upgraded PHP Markdown to version 2.0.0 2022-10-11 11:52:28 +11:00
Simey Lameze 5737ad319f MDL-75820 blocks: switch window size to large 2022-10-11 08:47:13 +08:00
AMOS bot db0b31a40a Automatically generated installer lang files 2022-10-11 00:07:36 +00:00
Alex Morris 43fd7457e3 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:30:38 +13:00
Rodrigo Mady da Silva 9526610c64 MDL-75099 tool_mobile: Contact site support option in disabledfeatures 2022-10-10 16:25:48 -03:00
Paul Holden 045eb42c9d MDL-75931 reportbuilder: use datasource for custom report exporters.
Make the related data property of the custom report exporters expect
an actual custom report instance, rather than the root base type.
2022-10-10 17:41:00 +01:00
sam marshall d6b4506a8b MDL-75751 upgradelib: Improve upgrade/install performance logging
* Adds time logging (number of seconds for each success) on install,
  which was previously only shown in upgrades. Useful when installing
  a new plugin as part of an upgrade, or if anyone wants to optimise
  Moodle installation.

* In developer debug mode, upgrade savepoint time was already logged
  but now it also logs time for lots of 'details' of the process in
  case time is taken in other Moodle function calls.
2022-10-10 17:09:14 +01:00
sam marshall 2280ea18f6 MDL-75751 upgradelib: Refactor out duplicated component update code
There are many places (install/upgrade for core, modules, blocks,
and plugins) where we need to call the same, or very similar,
sequence of Moodle functions to ensure the item is updated properly.

This change moves that sequence into a function so that it can be
held consistently in one place.
2022-10-10 17:09:14 +01:00
sam marshall 8e35bb415d MDL-75834 lib: Focus lock JS bug when focus area removed 2022-10-10 16:24:30 +01:00
Juan Leyva afc85e6bd5 MDL-75894 bigbluebuttonbn: Return instance features info 2022-10-10 17:01:59 +02:00
Marina Glancy 44aac31980 MDL-73424 general: specify return type where possible 2022-10-10 16:46:26 +02:00
Marina Glancy 41b93bd7e5 MDL-73424 general: Internal methods must have same type as parent
Otherwise the error is thrown in PHP8.1
2022-10-10 16:46:13 +02:00
Sara Arjona fd14173a88 Merge branch 'MDL-75656' of https://github.com/paulholden/moodle 2022-10-10 16:16:20 +02:00
Stevani Andolo abaa38eebe MDL-75465 lib: Upgrade minify to 1.3.69 2022-10-10 19:41:24 +08:00
Jun Pataleta 00e28f5495 Merge branch 'MDL-75923-master' of https://github.com/andrewnicols/moodle 2022-10-10 18:24:06 +08:00
Jun Pataleta 99bb6d0bfe Merge branch 'MDL-75909-master' of https://github.com/andrewnicols/moodle 2022-10-10 18:08:31 +08:00
Anupama Sarjoshi 050853c9fe MDL-75431 qbank: fix tests with CodeRunner installed 2022-10-10 09:25:13 +01:00
Jun Pataleta 4576db179b Merge branch 'MDL-75922-master' of https://github.com/andrewnicols/moodle 2022-10-10 14:55:32 +08:00
Mikhail Golenkov 04e2e00976 MDL-74991 CLI: Add a script to delete courses 2022-10-10 14:40:23 +11:00
Jun Pataleta 6efeecd126 Merge branch 'MDL-75910-master' of https://github.com/andrewnicols/moodle 2022-10-10 11:07:27 +08:00
Simey Lameze 6c7f570e14 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:09:54 +08:00
David Woloszyn 0bcd6e4e12 MDL-75474 lib: Upgrade mustache.js to 4.2.0 2022-10-10 11:49:53 +11:00
Shamim Rezaie ba4fb93377 Merge branch 'MDL-75156-master' of https://github.com/ilyatregubov/moodle 2022-10-10 11:15:44 +11:00
Simey Lameze a91499c9f1 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:01 +08:00
Andrew Nicols 222f9a4e15 Merge branch 'MDL-75480-master' of https://github.com/stevandoMoodle/moodle 2022-10-09 13:21:20 +08:00
Andrew Nicols 052c705b08 Merge branch 'MDL-75473-master' of https://github.com/davewoloszyn/moodle 2022-10-09 13:18:21 +08:00
Andrew Nicols 1e71671205 Merge branch 'MDL-61395' of https://github.com/paulholden/moodle 2022-10-09 13:13:03 +08:00
Justus Dieckmann 877474fb37 MDL-75567 core_course: Other hidden badges remain when adding new one 2022-10-08 23:01:29 +02:00
Stefan Hanauska c4523503d2 MDL-74887 course: Hide stealth mode without view page 2022-10-08 08:09:40 +02:00
AMOS bot 9f0c678486 Automatically generated installer lang files 2022-10-08 00:07:37 +00:00
Paul Holden b3828cebd2 MDL-75034 reportbuilder: move classes into consistent namespace.
Use `reportbuilder` level two namespace for report related classes
(entities, system reports, etc) within components and sub-systems.
2022-10-07 15:05:34 +01:00
Andrew Nicols fa41cb86a5 Merge branch 'MDL-75844-master' of https://github.com/NashTechOpenUniversity/moodle 2022-10-07 15:50:54 +08:00
Ilya Tregubov b3e05d0e4e MDL-75156 gradebook: Grade summary plugin (grade averages).
Also included updates for existing unit tests and navigation.
2022-10-07 11:31:41 +04:00
Ilya Tregubov c8d950bde7 MDL-75156 gradebook: Functions to calculate grade averages.
Also include unit tests.
2022-10-07 11:31:41 +04:00
David Matamoros 0e449ae6ee MDL-75883 reportbuilder: Don't reload content when filter is deleted
- When filter is deleted in editing mode content does not need
to be reloaded
2022-10-07 08:31:58 +02:00
Michael Hawkins 8a87641cb1 MDL-72836 core: Updated security.txt expiry and policy URL 2022-10-07 14:10:15 +08:00
Mikhail Golenkov 84eef00ed2 MDL-75907 core: Add index on temp table to optimise stats cron 2022-10-07 16:15:51 +11:00
Andrew Nicols cc4fec275f weekly release 4.1dev 2022-10-07 13:03:49 +08:00
Andrew Nicols f4abe5fa77 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-10-07 13:03:47 +08:00
Khoa Nguyen Dang c093cb3263 MDL-75642 quiz: Delete multiple (random) questions from quiz 2022-10-07 11:00:32 +07:00
Andrew Nicols 03b22319cf 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-07 09:19:52 +08:00
AMOS bot 7404f881a7 Automatically generated installer lang files 2022-10-07 00:07:42 +00:00
Laurent David cc3fe310b3 MDL-75383 mod_bigbluebuttonbn: Warn user when cron is disabled
* Add a last update date for the recordings
* Check cron is running and if not show an error message
2022-10-06 18:59:58 +02:00
Simey Lameze f1be9b6544 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:53:47 +08:00
Laurent David 059e2b91cf MDL-75176 mod_bigbluebuttonbn: Remove the lockonjoin settings
* Remove the setting "lock on join" and related settings
* Hard-code the lockSettingsLockOnJoin=true parameter on create when any of the lock settings is used.
2022-10-06 14:51:49 +02:00
Andrew Nicols 39241f20e0 MDL-71686 core_form: Include missing build 2022-10-06 14:43:55 +08:00
Andrew Nicols 5bf222af33 Merge branch 'MDL-75485-master' of https://github.com/davewoloszyn/moodle 2022-10-06 10:49:14 +08:00
Andrew Nicols 11df52d2d7 Merge branch 'MDL-75488-master' of https://github.com/stevandoMoodle/moodle 2022-10-06 10:40:38 +08:00
Andrew Nicols 59ae667bee Merge branch 'MDL-75476-master' of https://github.com/davewoloszyn/moodle 2022-10-06 10:34:01 +08:00
Andrew Nicols f075272e69 MDL-71686 core_form: Move form serializer to shared function 2022-10-06 10:21:01 +08:00
Andrew Nicols 2423c26749 Merge branch 'MDL-71686-master' of https://github.com/marinaglancy/moodle 2022-10-06 10:20:56 +08:00
Jun Pataleta 9b0f435569 Merge branch 'MDL-75818' of https://github.com/mkassaei/moodle 2022-10-06 10:14:07 +08:00
Andrew Nicols 3589299d82 Merge branch 'MDL-74955' of https://github.com/paulholden/moodle 2022-10-06 09:39:45 +08:00
Andrew Nicols 97fe092754 Merge branch 'MDL-75477' of https://github.com/paulholden/moodle 2022-10-06 09:28:57 +08:00
Shamim Rezaie d01c1a4a07 Merge branch 'MDL-75886-master' of https://github.com/andrewnicols/moodle 2022-10-06 12:24:07 +11:00
Andrew Nicols b90c862c25 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:06:12 +08:00
Andrew Nicols 29e1f713b6 Merge branch 'MDL-75752' of https://github.com/timhunt/moodle 2022-10-06 09:02:07 +08:00
Víctor Déniz 3c10b0c2af Merge branch 'MDL-74569-master' of https://github.com/lucaboesch/moodle 2022-10-06 01:42:48 +01:00
Víctor Déniz aa0be15591 Merge branch 'MDL-75192' of https://github.com/paulholden/moodle 2022-10-06 01:08:37 +01:00
Víctor Déniz 4fcea7ad56 Merge branch 'MDL-75713-master' of https://github.com/davewoloszyn/moodle 2022-10-05 22:30:15 +01:00
Víctor Déniz 42e53489d7 Merge branch 'MDL-75729' of https://github.com/paulholden/moodle 2022-10-05 21:31:59 +01:00
Paul Holden dd0c545ec6 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:29:17 +01:00
Mahmoud Kassaei 9ba4b5f306 MDL-75818 qtype_multichoice: site-wide default for showstandardinstruction 2022-10-05 17:04:22 +01:00
Jun Pataleta ced9afd781 Merge branch 'MDL-75276-fix' of https://github.com/sarjona/moodle 2022-10-05 19:43:04 +08:00
Thorsten Siegmund Bartel dad3555989 MDL-74606 mod_assign: Support multilanguage strings in group names. 2022-10-05 12:52:19 +02:00
Sara Arjona 9e7cc5103d MDL-75276 mod_data: Re-add ordering to get_field_records
In MDL-75146, the get_fields_record() method was added without any
ordering criteria.
In MDL-75276, this method is reused to get the fields. We need to
re-add the order to guarantee the field are always returned in the
same order (and avoid some Oracle ordering failures).
2022-10-05 12:45:51 +02:00
Kevin Percy c53f9f2db8 MDL-75469 lib: Update jQuery to 3.6.1, jQuery UI to 1.13.2 2022-10-05 13:55:56 +08:00
Andrew Nicols 13cc3607de 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:21 +08:00
Stevani Andolo 3c5423d8c0 MDL-75480 media_videojs: Upgrade videojs from 7.17.0 to 7.20.3 2022-10-04 21:51:11 +08:00
Jun Pataleta e2d606eba8 Merge branch 'MDL-75351' of https://github.com/timhunt/moodle 2022-10-04 20:36:17 +08:00
Paul Holden 8f72165233 MDL-75733 reportbuilder: re-use user field data table alias/joins.
Ensure that when a column/filter on the same user profile field is
used, they share a single join.
2022-10-04 11:46:01 +01:00
Jun Pataleta 28a4c55aea Merge branch 'MDL-73433-master' of https://github.com/marinaglancy/moodle 2022-10-04 17:53:27 +08:00
Jun Pataleta 2b6a955db4 Merge branch 'MDL-66955' of https://github.com/NeillM/moodle 2022-10-04 17:07:19 +08:00
David Woloszyn 7a9de2cb24 MDL-68868 core_user: Final deprecation of participants unified filter 2022-10-04 16:09:35 +11:00
Jun Pataleta 9299737cbd MDL-75234 mod_data: Remove duplicate code
* Remove duplicate use statements
* Remove duplicate get_template_content() declaration
2022-10-04 12:44:33 +08:00
Jun Pataleta ecb9a7e661 Merge branch 'MDL-75234-master' of https://github.com/ferranrecio/moodle 2022-10-04 11:59:57 +08:00
Jun Pataleta 389892ad75 Merge branch 'MDL-75276-master' of https://github.com/sarjona/moodle 2022-10-04 11:50:57 +08:00
AMOS bot 1ebb6b6fad Automatically generated installer lang files 2022-10-04 00:07:39 +00:00
Shamiso.Jaravaza f55cde3175 MDL-75711 mod_bigbluebuttonbn: Fix recent activity 2022-10-03 10:57:48 -06:00
Ferran Recio 37b9bd48b6 MDL-75234 mod_data: introduce manager get_renderer 2022-10-03 15:58:28 +02:00
Ferran Recio 64c07858b0 MDL-75234 mod_data: add default templates behats
Most behats access the templates page just to autocreate the default
templates. This is not needed anymore and most behats can be optimized.
2022-10-03 15:58:28 +02:00
Ferran Recio 2a0991113b MDL-75234 mod_data: load default templates when empty
The mod_data is forcing teachers to understand how to write templates
even if they want to use basic forms. With this patch the default
templates will be auto updated unless the user manually define the
templates.
2022-10-03 15:58:28 +02:00
Matt Porritt 1399974bac MDL-73122 Auth: Add test settings for Oauth2
Provide a test page in authentication settings
to allow administrators to test configured oAuth2
providers and to examine the data that is passed
back on a successful test user authentication.

Co-authored-by: Matt Porritt <mattp@catalyst-au.net>
2022-10-03 09:00:44 -04:00
Paul Holden 28cf1fa8a1 MDL-74955 reportbuilder: external method for listing custom reports. 2022-10-03 13:57:36 +01:00
Paul Holden 77018b7359 MDL-74955 reportbuilder: re-factor retrieving user reports to helper. 2022-10-03 13:22:10 +01:00
sam marshall f696590f0a 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:35 +01:00
Ferran Recio a941eb3314 MDL-75868 core_courseformat: optional section badges
The current implementation conditions the highlight and hidden form
student badges to the present of the badges in the HTML. This way if a
format does not include those badges the code will continue working.
2022-10-03 12:17:45 +02:00
Paul Holden 65f9976478 MDL-73030 backup: case-insensitive detection of Moodle backups. 2022-10-03 09:32:17 +01:00
Paul Holden 5b353b73d6 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:16:06 +01:00
Paul Holden 703f0b2a03 MDL-72058 dataformat: remove HTML when export format lacks support. 2022-10-03 09:16:06 +01:00
Carlos Castillo a930def22b MDL-74913 core_reportbuilder: Add divider to the report action menu 2022-10-03 09:48:43 +02:00
Sara Arjona d6abd19e73 Merge branch 'MDL-65061-master_ims_unenrol' of https://github.com/sarahjcotton/moodle 2022-10-03 09:28:58 +02:00
Sara Arjona 6277853eb3 MDL-75276 mod_data: Update default templates
Apart from updating the default templates, to make them look better,
they have been also moved to mustache files, in order to make it easier
to edit them.
2022-10-03 09:09:45 +02:00
David Woloszyn b58fdd909b MDL-75473 lib: Updated Mustache to 2.14.2 2022-10-03 10:10:06 +11:00
Tim Hunt 9ab7828fe2 MDL-75351 question comments: don't hard-code system context id 2022-09-30 18:44:01 +02:00
Andrew Nicols d41a859d5a Merge branch 'MDL-75836' of https://github.com/jrchamp/moodle 2022-09-30 20:41:51 +08:00
Andrew Nicols 010ad8751a MDL-75614 dml: Unit tests must test something 2022-09-30 16:36:36 +08:00
Andrew Nicols 9911faf8be Merge branch 'MDL-75614-debugsqltrace' of https://github.com/brendanheywood/moodle 2022-09-30 16:36:10 +08:00
Jun Pataleta 2a4b3deaf6 Merge branch 'MDL-75170-master-add_order_by_method' of https://github.com/alexmorrisnz/moodle 2022-09-30 15:51:41 +08:00
Neill Magill 8029023ed5 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:29:08 +01:00
Mihail Geshoski de4d940d41 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:01:08 +08:00
Jake Dallimore 24f97edd91 weekly release 4.1dev 2022-09-30 10:17:30 +08:00
Stevani Andolo 33285acbf1 MDL-75488 lib_zipstream: Upgrade ZipStream library from 2.1.0 to 2.2.0 2022-09-30 10:02:54 +08:00
hieuvu 94c2a52528 MDL-75844 moodle_page: add a modname to body tag. 2022-09-30 08:42:36 +07:00
Alex Morris fee755bbfa MDL-75170 tablelib: Use sql_order_by_null to sort columns 2022-09-30 11:29:27 +13:00
Alex Morris 70dfee9e23 MDL-75170 dml: add sql_order_by_null method
Standardises return patterns of null values across database types
to keep with sorting nullsto the top when ascending, and
to the bottom when descending
2022-09-30 11:27:26 +13:00
Marina Glancy 8ba4e5a3d2 MDL-73433 core: all methods in core_text can accept null argument 2022-09-29 21:06:22 +02:00
Mihail Geshoski 383e1893b2 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 02:23:18 +08:00
Tim Hunt 57ee14cced MDL-75752 question comments: fix backup query so it uses the index
This should greatly improve the performance.
2022-09-29 10:51:28 +02:00
Andrew Nicols 46188420da Merge branch 'MDL-74922_master_fix_storage_wrapper_validate_cache' of https://github.com/gthomas2/moodle 2022-09-29 12:05:54 +08:00
Andrew Nicols f54d6b0144 Merge branch 'MDL-74883' of https://github.com/timhunt/moodle 2022-09-29 11:58:10 +08:00
Andrew Nicols 5ea6aa4f23 Merge branch 'MDL-75721' of https://github.com/paulholden/moodle 2022-09-29 11:57:38 +08:00
Jun Pataleta 590a695677 Merge branch 'MDL-75782-master' of https://github.com/andrewnicols/moodle 2022-09-29 11:54:09 +08:00
Andrew Nicols 0c7243af38 Merge branch 'MDL-75738-master' of https://github.com/sammarshallou/moodle 2022-09-29 11:39:31 +08:00
Jake Dallimore 1fddc9c221 Merge branch 'MDL-75845' of https://github.com/paulholden/moodle 2022-09-29 11:22:42 +08:00
Jun Pataleta 9441d5294e Merge branch 'MDL-75559-master' of https://github.com/andrewnicols/moodle 2022-09-29 10:54:20 +08:00
Jun Pataleta f680348048 Merge branch 'MDL-66902' of https://github.com/stronk7/moodle 2022-09-28 23:15:52 +08:00
Andrew Nicols d7df338d4e Merge branch 'MDL-75459-master' of https://github.com/davewoloszyn/moodle 2022-09-28 22:47:38 +08:00
Jun Pataleta 41bcf994f5 Merge branch 'MDL-75827' of https://github.com/paulholden/moodle 2022-09-28 20:36:14 +08:00
Paul Holden 382f62579b MDL-75845 reportbuilder: hide "value" field for "current" operator.
When using the date filter with the "Current" operator, the "Value"
field should not be present (because it has no meaning). This fixes
a small regression from 131a9740.
2022-09-28 12:44:50 +01:00
Paul Holden 610d2b0812 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 12:09:08 +01:00
Jake Dallimore ad46fbf76c Merge branch 'mdl75668' of https://github.com/danmarsden/moodle 2022-09-28 16:34:12 +08:00
Jake Dallimore 04ff3a94fe Merge branch 'MDL-75841-master' of https://github.com/junpataleta/moodle 2022-09-28 13:32:56 +08:00
Andrew Nicols 346db7e294 MDL-75200 core: Whitespace fix 2022-09-28 12:44:57 +08:00
Jun Pataleta cd1b2e5eaf MDL-75841 core: Don't fetch favicon setting on install 2022-09-28 12:41:45 +08:00
Andrew Nicols c3f0e19d67 Merge branch 'MDL-75447' of https://github.com/paulholden/moodle 2022-09-28 12:41:02 +08:00
Andrew Nicols 461fb1b6f6 Merge branch 'MDL-75200-master' of https://github.com/marinaglancy/moodle 2022-09-28 12:35:42 +08:00
Jun Pataleta 53750e202a Merge branch 'MDL-72490-master' of https://github.com/sammarshallou/moodle 2022-09-28 11:55:24 +08:00
Jake Dallimore a74c2e66a9 Merge branch 'MDL-75790' of https://github.com/dravek/moodle 2022-09-28 09:24:44 +08:00
Jun Pataleta 762b05dc3c Merge branch 'MDL-75726' of https://github.com/stronk7/moodle 2022-09-28 08:11:45 +08:00
Jun Pataleta 83008c55ca Merge branch 'MDL-75776' of https://github.com/stronk7/moodle 2022-09-28 08:06:58 +08:00
Andrew Nicols 1c0b3337a3 Merge branch 'MDL-75168' of https://github.com/paulholden/moodle 2022-09-27 23:41:50 +08:00
Paul Holden fd583ac9f0 MDL-75168 tag: cleanup module tag instances upon course deletion. 2022-09-27 13:40:28 +01:00
Jun Pataleta 4483b085db Merge branch 'MDL-75800' of https://github.com/paulholden/moodle 2022-09-27 20:20:07 +08:00
Paul Holden ea0e463cc7 MDL-75467 libraries: upgrade to version 1.6.0 of SimplePie. 2022-09-27 12:41:39 +01:00
Paul Holden 5b38e187d9 MDL-75477 libraries: upgrade to version 1.11.0 of MaxMind. 2022-09-27 12:19:41 +01:00
Paul Holden 17e002d8f1 MDL-75468 libraries: upgrade to version 6.5.0 of TCPDF. 2022-09-27 11:39:13 +01:00
Andrew Nicols 182649d7d5 Merge branch 'MDL-73421-master' of https://github.com/marinaglancy/moodle 2022-09-27 17:06:51 +08:00
Andrew Nicols 8a8f0094c1 Merge branch 'MDL-27570' of https://github.com/timhunt/moodle 2022-09-27 16:41:17 +08:00
Jun Pataleta 45a44ec0f0 Merge branch 'MDL-71531-master' of https://github.com/andrewnicols/moodle 2022-09-27 16:30:23 +08:00
Jun Pataleta efde82e3f8 Merge branch 'MDL-72509-master' of https://github.com/junpataleta/moodle 2022-09-27 14:27:03 +08:00
Andrew Nicols d511681a3b Merge branch 'MDL-75460-master' of https://github.com/ssj365/moodle 2022-09-27 13:03:54 +08:00
Andrew Nicols 98ee21cd3f Merge branch 'MDL-74284' of https://github.com/paulholden/moodle 2022-09-27 12:47:49 +08:00
Andrew Nicols 392bf7d58a MDL-75744 qtype_gapselect: Remove unnecessary javascript tag 2022-09-27 12:46:01 +08:00
Andrew Nicols fc8fbb3f64 Merge branch 'MDL-75744-master' of https://github.com/NashTechOpenUniversity/moodle 2022-09-27 12:37:39 +08:00
Tomo Tsuyuki 68a5034b67 MDL-72509 core: De-couple participants filter from core_user to core
This implementation will de-couple the participant filter from
core user to core so its easily usable to any api in core or any
community plugin. This removes the dependency from the core_user
and creates a nice api where it can produce filterable objects.

Co-Authored-By: Safat Shahin <safatshahin@catalyst-au.net>
Co-Authored-By: Tomo Tsuyuki <tomotsuyuki@catalyst-au.net>

AMOS BEGIN
 MOV [addcondition,core_user], [addcondition,core]
 MOV [adverbfor_and,core_user], [operator_and,core]
 MOV [adverbfor_andnot,core_user], [operator_andnot,core]
 MOV [adverbfor_or,core_user], [operator_or,core]
 MOV [applyfilters,core_user], [applyfilters,core]
 MOV [clearfilterrow,core_user], [clearfilterrow,core]
 MOV [clearfilters,core_user], [clearfilters,core]
 MOV [filtersetmatchdescription,core_user], [filtersetmatchdescription,core]
 MOV [filterrowlegend,core_user], [filterrowlegend,core]
 MOV [filtertype,core_user], [filtertype,core]
 MOV [match,core_user], [match,core]
 MOV [matchofthefollowing,core_user], [matchofthefollowing,core]
 MOV [placeholdertypeorselect,core_user], [placeholdertypeorselect,core]
 MOV [selectfiltertype,core_user], [selectfiltertype,core]
AMOS END
2022-09-27 12:07:36 +08:00
Andrew Nicols 7bb3291e1c Merge branch 'MDL-75456-master' of https://github.com/lameze/moodle 2022-09-27 11:13:46 +08:00
Andrew Nicols 580afa46db Merge branch 'MDL-74960-master' of https://github.com/sammarshallou/moodle 2022-09-27 10:32:22 +08:00
Jonathan Champ cc9863576e MDL-75836 activities: preserve moodleform validation errors 2022-09-26 19:26:38 -04:00
Paul Holden 4398a3d920 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:17 +01:00
Eloy Lafuente (stronk7) 0ed53be9b2 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:12:16 +02:00
sam marshall 5afc441506 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:27 +01:00
sam marshall 81b4f04fb3 MDL-74960 core\lock: Performance info - display lock performance
Show performance information about locks (time taken to acquire lock,
time lock is held for) in the 'perfinfo' display.

Also show existing information (that was already calculated but not
shown before) about the session lock, which is not a 'core\lock' type
lock, but the information is similarly useful.
2022-09-26 11:24:10 +01:00
Hien Dinh 59cb744ead MDL-72490 availability: Show error if conflict in date restriction 2022-09-26 11:21:49 +01:00
Paul Holden a366cb4d5c MDL-61395 forms: style frozen tag element values. 2022-09-26 11:15:20 +01:00
Paul Holden fb0401f36b MDL-75811 reportbuilder: concatenate using list seperator lang config. 2022-09-26 11:07:00 +01:00
Paul Holden c63af9858b MDL-75734 reportbuilder: remove Oracle restrictions on text columns.
We can filter long text columns in Oracle with appropriate API, so
can remove previous restrictions. See also recent change in 208adcf3
for similar.
2022-09-26 11:04:26 +01:00
Paul Holden 9a24440386 MDL-72722 reportbuilder: Oracle support for distinct group concat.
Requirements for Oracle were increased to 19c for Moodle 4.1 - now
with support for DISTINCT keyword within the LISTAGG function:

https://livesql.oracle.com/apex/livesql/file/content_HT1O85E4BHSBWN93G1B3M8SI2.html
2022-09-26 11:03:33 +01:00
Paul Holden d2924e641b MDL-75656 tag: decode entities in tags element values. 2022-09-26 10:56:28 +01:00
Luca Bösch f8f44f9751 MDL-74569 theme_boost: remove unit from top: 0; 2022-09-22 23:37:33 +02:00
Eloy Lafuente (stronk7) 027bdbfae8 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:04 +02:00
Eloy Lafuente (stronk7) ef63a08b73 MDL-75776 composer: Move to upstream mink-extension and updates
We were using our fork of the mink extension:

https://github.com/moodlehq/MinkExtension.git

Because they bumped requirements to PHP 7.4 too early for us. Now,
with Moodle 4.1, finally our requirements are also PHP 7.4, so we
can stop using the fork and switch to the upstream one:

https://github.com/FriendsOfBehat/MinkExtension

Note this only can be done in 4.1dev, because this is the first
version using PHP >= 7.4. Older branches will need to continue
using the fork. Also, note that we may need to go back to the
fork if there is any future trouble with the upstream library
not matching our supported PHP versions.

Apart from that, it's a good moment to bump other components to
current ones.

Of course, this has been generated following the instructions:

https://docs.moodle.org/dev/Composer

And using PHP 7.4 (always the min version supported) to generate
the lock file.
2022-09-22 17:44:33 +02:00
Eloy Lafuente (stronk7) 8f492a836a weekly release 4.1dev 2022-09-22 17:05:39 +02:00
Eloy Lafuente (stronk7) 9c9bae12cc NOBUG: Fixed SVG browser compatibility 2022-09-22 17:05:36 +02:00
Eloy Lafuente (stronk7) b208352ecf MDL-75153 behat: Add the skip_interim tag to a failing test
Note the failures are unrelated to this issue, but we needed
an ongoing issue to add the tag and this was picked.

The problem, only reproducible @ CI servers will be fixed here:

https://tracker.moodle.org/browse/MDL-75820
2022-09-22 15:32:35 +02:00
Tim Hunt dc3e9e1522 MDL-27570 quiz timing: add unit test and simplify top of process_attempt 2022-09-22 11:11:37 +01:00
Eloy Lafuente (stronk7) 9dcf7b0202 Merge branch 'MDL-74762-Master' of https://github.com/catalyst/moodle-MDL-72752 2022-09-21 14:26:01 +02:00
Philipp Imhof 58f3d8f191 MDL-27570 quiz: check if time is really up 2022-09-21 09:52:37 +01:00
Nathan Nguyen 5b8fa8ee72 MDL-74762 qbank_statistics: fix unit test failure with Oracle DB 2022-09-21 12:14:02 +10:00
Marina Glancy 4bb042c352 MDL-75358 reportbuilder: display nulls as empty cells in aggregation 2022-09-20 18:18:41 +02:00
Marina Glancy dcc44ae4c0 MDL-75358 reportbuilder: display nulls as empty cells for numeric/bool 2022-09-20 18:18:38 +02:00
Segun Babalola 73cb052158 MDL-65061 enrol: Add suspend and other behaviours to IMS enrol plugin
Change-Id: Ia169a8c1dae9c6132d40158ac2a3e346dc3f5e1e
Co-authored-by: Sarah Cotton <sarah.cotton@catalyst-eu.net>
Co-authored-by: Mark Johnson <mark.johnson@catalyst-eu.net>
2022-09-20 14:25:40 +01:00
Paul Holden 8faef06ea5 MDL-75800 enrol: correct instance deleted event name. 2022-09-20 14:08:40 +01:00
Paul Holden 3c3f6abd43 MDL-74284 cohort: set page title on upload tab.
Override active URL when viewing system/all cohorts for consistent
breadcrumb navigation.
2022-09-20 13:09:11 +01:00
Justus Dieckmann 05bb22d418 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:33:55 +02:00
Jun Pataleta 50fe735e5a Merge branch 'MDL-75777' of https://github.com/stronk7/moodle 2022-09-20 15:12:34 +08:00
Víctor Déniz 06ba397c1c Merge branch 'MDL-74941-master' of https://github.com/lucaboesch/moodle 2022-09-20 08:08:55 +01:00
Laurent David bfcb5446a2 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:36:49 +02:00
Steve Bader 0e18ad33a1 MDL-74941 qtype_calculated: Copy dataset from previous question version 2022-09-20 08:11:04 +02:00
Luca Bösch 27093b1893 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:10:55 +02:00
Ilya Tregubov e08cc53b37 Merge branch 'master-MDL-74993' of https://github.com/golenkovm/moodle 2022-09-20 09:06:05 +04:00
Ilya Tregubov 5ca555767e Merge branch 'MDL-75153-master-2' of https://github.com/mihailges/moodle 2022-09-20 09:01:42 +04:00
David Woloszyn 2efc12e104 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-20 14:44:53 +10:00
Mihail Geshoski 70f9e8bb23 MDL-75153 grade: Fix incorrect xpath in the behat step definitions 2022-09-20 00:17:56 +08:00
Mihail Geshoski 3001995be8 MDL-75153 grade: Update behat tests 2022-09-20 00:17:56 +08:00
Mihail Geshoski af74a5534b MDL-75153 grade: Deprecate select_in_gradebook_navigation_selector()
Deprecates the select_in_gradebook_navigation_selector() function in
behat_grade.php and removes all usages. The select menu field supports
the same functionality and this function can be simply replaced with
behat_forms::i_set_the_field_to().
2022-09-20 00:17:56 +08:00
Mihail Geshoski 0e1cdfde1d MDL-75153 grade: Update the general tertiary nav selector in gradebook
Updates the general tertiary nav selector in gradebook to use the new
structure that utilizes the existing select_menu output component.
2022-09-20 00:17:56 +08:00
Mihail Geshoski 2b99e648cb MDL-75153 theme: Add template and styling for the tertiary nav selector
Adds new template dedicated for the general tertiary navigation element
which utilizes the exising select_menu output component. Also, adds
custom styling to the tertiary navigation selector element.
2022-09-20 00:17:56 +08:00
Mihail Geshoski 460744a6a6 MDL-75153 form: Behat support for group structures in select menu field
Adds behat support for group structures in the select menu field. When
looking for a particular option you can further specify the group under
which this option should be located by using the '>' delimiter
(e.g. "Group name > Option name"). In addition to that, this commit
intorduces new step definition which can be used to check whether the
select menu field contains a particular option.
2022-09-20 00:17:55 +08:00
Mihail Geshoski 3aa5e2688a MDL-75153 output: Styling improvements in the select_menu component 2022-09-20 00:17:55 +08:00
Mihail Geshoski 3cf4dd206f MDL-75153 output: Fix the group option and label support in select_menu
The following commit fixes the current logic that is used to return the
selected option and take into account structures with group options.
Also, it adds a default value to the $labelattributes class property to
to fix the issues that occur then the label is not explicitely set by
set_label().
2022-09-20 00:17:55 +08:00
Marina Glancy 59b1a78367 MDL-75791 reportbuilder: set persistent for active conditions 2022-09-19 16:56:19 +02:00
David Matamoros e0e7516bfc MDL-75790 reportbuilder: Fix random error with user name 2022-09-19 16:20:19 +02:00
Ilya Tregubov b6425b9ce1 Merge branch 'MDL-75065-master' of https://github.com/devlionco/moodle 2022-09-19 14:00:49 +04:00
Eloy Lafuente (stronk7) 839c2e5c18 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:01:21 +02:00
Jun Pataleta a4c97a7d7c Merge branch 'MDL-75757' of https://github.com/stronk7/moodle 2022-09-19 13:02:02 +08:00
Andrew Nicols a0afccfd5a 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:10 +08:00
Jun Pataleta 359e7c7ca4 Merge branch 'MDL-75186-master' of https://github.com/sarjona/moodle 2022-09-19 12:01:53 +08:00
Brendan Heywood fe88783c0f MDL-70368 files: Cache image dimensions 2022-09-19 13:21:20 +10:00
David Woloszyn 5247ff3da0 MDL-75476 scssphp: Updated from 1.10.0 to 1.11.0 2022-09-19 10:50:02 +10:00
Eloy Lafuente (stronk7) 6be384ee8f 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:55:36 +02:00
Brendan Heywood 519c932cd6 MDL-75014 core: Add xyz_before_session_start callback 2022-09-18 22:14:36 +10:00
Víctor Déniz 0c951c5948 Merge branch 'MDL-74762-Master' of https://github.com/catalyst/moodle-MDL-72752 2022-09-16 14:23:49 +01:00
Jun Pataleta 4654ee5785 Merge branch 'MDL-75295_master' of https://github.com/TomoTsuyuki/moodle 2022-09-16 21:16:58 +08:00
Marina Glancy 741b3572cc MDL-73421 core: Calling static method on trait deprecated in PHP8.1 2022-09-16 15:04:02 +02:00
Nathan Nguyen f02c16c445 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:34:00 +10:00
Marina Glancy c2e18d7912 MDL-75200 core: function clean_param should work with null - php 8.1 2022-09-16 13:30:21 +02:00
Tomo Tsuyuki 260cc864cf MDL-75295 assignfeedback_editpdf: Convert PDF to png at once 2022-09-16 19:31:05 +10:00
Sara Arjona 16576b56c4 Merge branch 'MDL-75108-master' of https://github.com/sammarshallou/moodle 2022-09-16 11:23:14 +02:00
Sara Arjona 930c204953 Merge branch 'MDL-75149-master' of https://github.com/ferranrecio/moodle 2022-09-16 11:20:36 +02:00
Sara Arjona a66cdcd9a8 MDL-75186 mod_data: Export saved presets 2022-09-16 11:12:14 +02:00
David Woloszyn 98c782162b MDL-75713 Calendar: enrol_get_users_courses to sort by course shortname 2022-09-16 14:47:07 +10:00
Jun Pataleta 4f8106e6cb Merge branch 'MDL-73933-master' of https://github.com/ferranrecio/moodle 2022-09-16 10:49:23 +08:00
David Woloszyn e63357e57a MDL-75485 Emoji Data: updated from 7.0.2 to 14.0.1 2022-09-16 09:36:31 +10:00
Paul Holden 959cdefa40 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:29 +01:00
Ferran Recio 8777705827 MDL-73933 core_courseformat: hide and show reactive action
Hide, show and stealth actions were still using the old YUI
module. Now they are using the new course editor
2022-09-15 16:39:29 +02:00
Sara Arjona b077af7e89 weekly release 4.1dev 2022-09-15 16:11:47 +02:00
Sara Arjona 979b41f508 NOBUG: Fixed file access permissions 2022-09-15 16:11:47 +02:00
Sara Arjona 3a9b299ce7 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-09-15 16:11:45 +02:00
hieuvu aee466c0fc MDL-75744 gapselect: remove empty choices option. 2022-09-15 15:43:57 +07:00
Jun Pataleta 95e2214283 Merge branch 'MDL-75398-master' of https://github.com/junpataleta/moodle 2022-09-15 11:34:56 +08:00
Ferran Recio f69b48865a MDL-75398 core_courseformat: deprecate 4th cmname construct param 2022-09-15 11:28:55 +08:00
Andrew Nicols d51d901215 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:13:32 +08:00
Jun Pataleta 8900c4a820 Merge branch 'MDL-75716' of https://github.com/stronk7/moodle 2022-09-15 09:55:55 +08:00
Jun Pataleta 46849455be Merge branch 'MDL-75714' of https://github.com/stronk7/moodle 2022-09-15 09:24:50 +08:00
Eloy Lafuente (stronk7) d1bf45ec18 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:35:19 +02:00
Stefan Hanauska 8e371f138a MDL-75714 navigation: Check if node is false 2022-09-14 23:35:15 +02:00
Víctor Déniz db13ed76ff Merge branch 'MDL-75558-master' of https://github.com/ssj365/moodle 2022-09-14 22:30:33 +01:00
Víctor Déniz 9c1f55ae58 Merge branch 'MDL-75723' of https://github.com/paulholden/moodle 2022-09-14 20:30:37 +01:00
Víctor Déniz edb09c61d5 Merge branch 'MDL-74965-master' of https://github.com/ssj365/moodle 2022-09-14 20:23:44 +01:00
Víctor Déniz 63f31ccc7b Merge branch 'MDL-75625-master' of https://github.com/ferranrecio/moodle 2022-09-14 20:00:06 +01:00
Víctor Déniz e6fd69fae9 Merge branch 'MDL-75369-master' of https://github.com/sammarshallou/moodle 2022-09-14 19:50:56 +01:00
Víctor Déniz 5378c89521 Merge branch 'MDL-74140' of https://github.com/paulholden/moodle 2022-09-14 19:36:45 +01:00
Víctor Déniz e672e4f6dd Merge branch 'MDL-75639-master' of https://github.com/dravek/moodle 2022-09-14 19:13:01 +01:00
Sara Arjona c739cc14af Merge branch 'MDL-75413-master' of https://github.com/sarjona/moodle 2022-09-14 18:04:51 +02:00
Marina Glancy 653433a289 MDL-71686 forms: allow arrays in dynamic forms args 2022-09-14 17:58:02 +02:00
Shamiso.Jaravaza 8e37c9f24d MDL-74965 mod_bigbluebuttonbn: Fix error in role 2022-09-14 09:10:41 -06:00
Sara Arjona aa020451c7 MDL-75413 mod_data: Add resources preset 2022-09-14 13:12:41 +02:00
Ferran Recio 2b48b29c86 MDL-75149 mod_data: add preview to presets 2022-09-14 12:30:13 +02:00
Sara Arjona 33277f99f1 Merge branch 'MDL-74010' of https://github.com/paulholden/moodle 2022-09-14 11:41:42 +02:00
Paul Holden 71a7537edd MDL-75729 reportbuilder: improve handling of card toggle button. 2022-09-14 10:18:52 +01:00
Jun Pataleta a4fb12a1a3 Merge branch 'MDL-69888-user-fully-setup-cache' of https://github.com/brendanheywood/moodle 2022-09-14 11:33:47 +08:00
Jun Pataleta 49d3d44462 Merge branch 'MDL-71129-master' of https://github.com/aanabit/moodle 2022-09-14 05:54:36 +08:00
Jun Pataleta 402136ef80 Merge branch 'MDL-75308' of https://github.com/paulholden/moodle 2022-09-14 05:33:09 +08:00
Jun Pataleta b420ce7d27 Merge branch 'MDL-75637' of https://github.com/paulholden/moodle 2022-09-13 20:25:57 +08:00
sam marshall 4ab9f08ce0 MDL-75369 Redis: Remove unnecessary ping after connect
The Redis cache store and session handler both do a 'ping()' after
connecting to Redis. This is unnecessary because the connect() call
has just checked the network connection and it's hardly likely that
the server has gone down since then.

According to my profiling, both connect() and ping() take
measurable time when talking to a separate server, i.e. a few
milliseconds. So it's not the case that connect() doesn't really
talk to the server, as I initially wondered.

If using Redis on a separate (non-localhost) server for both session
and cache store, removing these ping calls can save a millisecond
or two per request.
2022-09-13 10:45:00 +01:00
Eloy Lafuente (stronk7) 81f05b3239 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:34 +02:00
Sara Arjona c6bac74c2f Merge branch 'MDL-74635' of https://github.com/paulholden/moodle 2022-09-12 14:56:02 +02:00
Paul Holden cc59c2d4c3 MDL-75723 reportbuilder: show loading icon when toggling edit mode. 2022-09-12 12:24:40 +01:00
Sara Arjona 130227d3e6 Merge branch 'MDL-75051' of https://github.com/mkassaei/moodle 2022-09-12 12:30:23 +02:00
Paul Holden 31cccc6058 MDL-74635 tag: add select all/none tags for bulk actions. 2022-09-12 11:19:17 +01:00
anisa kusumadewi 6330c482bd MDL-71129 core_h5p: Added index for pathnamehash to h5p table 2022-09-12 11:41:06 +02:00
Paul Holden 8a657e6d23 MDL-74140 reportbuilder: debugging panel while editing reports. 2022-09-12 10:36:48 +01:00
Andrew Nicols 5412ddbf97 MDL-75559 behat: Sort behat_hooks to top of context list 2022-09-12 12:32:35 +08:00
Mikhail Golenkov db04ed91ae MDL-74993 course: Output cm id when throwing Invalid course module id 2022-09-12 14:17:25 +10:00
AMOS bot 0f85fcc2a1 Automatically generated installer lang files 2022-09-11 00:08:02 +00:00
Eloy Lafuente (stronk7) c6211a68b4 weekly release 4.1dev 2022-09-10 10:00:40 +02:00
Jun Pataleta 1e28be65a4 Merge branch 'MDL-75708' of https://github.com/paulholden/moodle 2022-09-09 20:49:12 +08:00
Paul Holden da42ba79d6 MDL-75637 core: add journal database preset to standard plugin list. 2022-09-09 12:32:03 +01:00
Paul Holden b40d438fbf 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:11:39 +01:00
Mahmoud Kassaei 1edb5f7581 MDL-75051 Questions: Selecting idnumber in the question bank,
the copy/pasting, includes extraneous text in Chrome
2022-09-09 10:11:45 +01:00
David Matamoros 131a97406b MDL-75639 reportbuilder: Add new option to date filter
- In the past: to filter by all dates in the past
- In the future: to filter by all dates in the future
2022-09-09 10:15:28 +02:00
Jun Pataleta 4a0b0c8286 weekly release 4.1dev 2022-09-09 08:36:43 +08:00
Jun Pataleta 0f9916e1ec Merge branch 'MDL-74435-master' of https://github.com/lameze/moodle 2022-09-08 10:08:55 +08:00
Jun Pataleta d0f5778391 Merge branch 'MDL-75227' of https://github.com/call-learning/moodle 2022-09-08 09:40:10 +08:00
Simey Lameze 9efb61d321 MDL-74435 core_user: behat test polish and fixes 2022-09-08 09:32:36 +08:00
Peter Burnett 94aa2c78bd MDL-74435 user: Trim whitespace from user search fields 2022-09-08 09:12:09 +08:00
Jun Pataleta 27222f3faf Merge branch 'MDL-74081-master' of https://github.com/call-learning/moodle 2022-09-08 09:05:05 +08:00
Michael Hawkins c43123adde MDL-68066 output: Apply disable lambda rendering to Mustache renderer 2022-09-07 23:54:24 +08:00
Lars Bonczek fcbb645671 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:54:24 +08:00
Laurent David 0f1c59747e 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:32 +02:00
Laurent David 38b9319580 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:26:27 +02:00
Paul Holden 0393514612 MDL-72012 mod_h5pactivity: respect user access when getting report. 2022-09-07 22:10:15 +08:00
Jun Pataleta 5e3707417d 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:07:32 +04:00
Ilya Tregubov 7bf964c94e Merge branch 'MDL-75555-master' of https://github.com/justusdieckmann/moodle 2022-09-07 16:36:58 +04:00
Ilya Tregubov 295e6fee8f Merge branch 'MDL-74782-master' of https://github.com/ssj365/moodle 2022-09-07 15:48:56 +04:00
Sara Arjona fdc4576f9f Merge branch 'MDL-74866-master' of https://github.com/HuongNV13/moodle 2022-09-07 13:10:05 +02:00
Jun Pataleta 1e72b15971 Merge branch 'MDL-75411-master' of https://github.com/sarjona/moodle 2022-09-07 13:51:42 +08:00
Jun Pataleta 7608cd28a6 Merge branch 'MDL-75252-master' of https://github.com/sarjona/moodle 2022-09-07 13:28:35 +08:00
stevando 3f81b85e7d MDL-75283 admin: Update admin user fetching to use sort helper 2022-09-07 13:16:17 +08:00
Jun Pataleta adba94a873 Merge branch 'MDL-75553-master' of https://github.com/junpataleta/moodle 2022-09-07 12:59:42 +08:00
Jun Pataleta e08c186ba3 MDL-75553 mod_data: Fix wording of data fields in Behat tests 2022-09-07 12:55:33 +08:00
Huong Nguyen fd475bf7e8 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:01 +07:00
Stephen Bourget 32f170c4b2 MDL-75627 Calendar: Fix calendar imports from Office 365 2022-09-06 22:18:53 -04:00
Dan Marsden ddcd4de74d MDL-75668 backup: Save context mapping of duplicate blocks. 2022-09-07 12:38:56 +12:00
Paul Holden 3e2a97a9ed MDL-75405 block_html: safer unserialize during old block conversion. 2022-09-07 00:54:16 +02:00
Jun Pataleta c0fa734e3a Merge branch 'MDL-74749-master' of https://github.com/junpataleta/moodle 2022-09-07 06:40:58 +08:00
Jun Pataleta 5d4d716023 MDL-74749 mod_bigbluebuttonbn: Run import button check scenario in nonJS 2022-09-07 06:38:55 +08:00
David Mudrák aa49eb24fb MDL-75553 lang: Fix Behat regressions in scenario files 2022-09-06 21:47:18 +02:00
Anastasios Bithas 779e4ecb15 MDL-75665 gradereport_overview: Format strings in grade report overview 2022-09-06 21:37:44 +03:00
Shamiso.Jaravaza 6b6803d46a MDL-74749 mod_bigbluebuttonbn: Fix import button 2022-09-06 12:17:09 -06:00
Jun Pataleta abcba4d1b4 Merge branch 'MDL-75311' of https://github.com/lostrogit/moodle 2022-09-07 00:19:28 +08:00
Jun Pataleta 7b410fbe2b Merge branch 'MDL-75231-master' of https://github.com/lameze/moodle 2022-09-06 23:49:34 +08:00
Sara Arjona f8c63f1dc6 MDL-75252 mod_data: Improve the Image gallery templates 2022-09-06 17:13:28 +02:00
Sara Arjona 63bdc84719 MDL-75411 mod_data: Add proposals preset
Co-author: Laurent David <laurent.david@moodle.com>
2022-09-06 17:04:41 +02:00
Jun Pataleta 9bc847b64c Merge branch 'MDL-75040' of https://github.com/paulholden/moodle 2022-09-06 21:49:35 +08:00
Ilya Tregubov c9a108973e Merge branch 'MDL-75155-master' of https://github.com/rezaies/moodle 2022-09-06 15:44:09 +04:00
Shamim Rezaie 3505cb0fd2 MDL-75155 grades: Removed $exportactiveurl and $importactiveurl
The parameters $exportactiveurl and $importactiveurl are removed from
export_action_bar and import_action_bar classes. Not only passing them
were redundant and it was possible to generate them by having
$activeplugin (also passed to the mentioned class constructors), but
also we had a bug there. The value of $PAGE->url was passed as those
parameters, but $PAGE->url can sometimes include additional parameters
and as a result, its value may not match any of the available
export/import plugins.
2022-09-06 21:41:04 +10:00
Ilya Tregubov d3a7f73f50 Merge branch 'MDL-73938' of https://github.com/paulholden/moodle 2022-09-06 14:28:53 +04:00
Sara Arjona d79098e342 Merge branch 'MDL-73097-master' of https://github.com/lameze/moodle 2022-09-06 06:42:44 +02:00
Sara Arjona d235080a03 Merge branch 'MDL-75187-master' of https://github.com/sarjona/moodle 2022-09-06 06:39:58 +02:00
Shamim Rezaie fa59f35ca4 MDL-75155 grades: Use the select_menu widget 2022-09-06 13:38:28 +10:00
Shamim Rezaie 5d33ef3c21 MDL-75155 behat: Add select_menu field type
This commit introduces a new partial selector for select_menu fields,
and teaching the field manager how to recognise these, then introducing
a new field type which can handle setting values for this field.
2022-09-06 13:38:28 +10:00
Shamim Rezaie 2702885257 MDL-75155 output: A single-select combobox widget output component 2022-09-06 13:38:28 +10:00
Simey Lameze 2b07a23709 MDL-73097 calendar: add behat coverage for manageentries capability 2022-09-06 11:20:34 +08:00
stevando 73bc430e17 MDL-73097 Calendar: Hide event type if user cannot change it 2022-09-06 09:53:38 +08:00
Sara Arjona eef0a430be Merge branch 'MDL-75548' of https://github.com/timhunt/moodle 2022-09-05 13:09:09 +02:00
Paul Holden 208adcf3d1 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:54 +01:00
Paul Holden 165e26fad9 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:17 +01:00
Sara Arjona 8349ce5811 Merge branch 'MDL-75608-master' of https://github.com/sammarshallou/moodle 2022-09-05 12:24:58 +02:00
Paul Holden 4f94e42b5f 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:17:24 +01:00
Ilya Tregubov 59123f7373 Merge branch 'mdl-60666-one-user-per-transaction' of https://github.com/petersistrom/moodle 2022-09-05 14:16:44 +04:00
Ilya Tregubov e79b771a9b Merge branch 'MDL-75171_master' of https://github.com/TomoTsuyuki/moodle 2022-09-05 12:26:24 +04:00
Sara Arjona a2debf15a9 Merge branch 'MDL-75550-master' of https://github.com/mickhawkins/moodle 2022-09-05 08:57:26 +02:00
Jun Pataleta 09f4774aec Merge branch 'MDL-75223' of https://github.com/stronk7/moodle 2022-09-05 14:46:23 +08:00
Sara Arjona 29dbef64c0 Merge branch 'MDL-75199-master' of https://github.com/call-learning/moodle 2022-09-05 08:43:47 +02:00
Jun Pataleta 0afbfc7124 Merge branch 'MDL-75641' of https://github.com/stronk7/moodle 2022-09-05 14:37:31 +08:00
Jun Pataleta 2e67835f17 Merge branch 'MDL-75430-master' of https://github.com/raortegar/moodle 2022-09-05 09:37:13 +08:00
Helen Foster 7d2fada8b0 MDL-75553 lang: Import fixed English strings (en_fix) 2022-09-04 20:44:10 +02:00
Eloy Lafuente (stronk7) b5c7390477 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:59 +02:00
Amaia Anabitarte ae5dc809ec MDL-75187 mod_data: Move delete preset to a modal
Co-author: Ferran Recio <ferran@moodle.com>
2022-09-02 16:01:38 +02:00
Eloy Lafuente (stronk7) 6b3e655891 MDL-75223 tool_httpsreplace: Increase allowed timeout
Oracle 21 performs worse than previous versions and this
is causing some tool_httpsreplace jobs to, near consistently,
fail with timeouts.

This can be workaround in a number of ways:

1) Hacking tool_httpsreplace to detect when it's running a
   behat test and avoid running it completely. We did something
   like that for tool_customlang in the past. Ugly exception.
2) For Oracle jobs, set BEHAT_INCREASE_TIMEOUT to 2 or higher, that
   will allow the whole behat run to have more time. Maybe too much
   if only the tool_httpsreplace scenarios are affected. And requires
   special configuration in sites running the tests.
3) Improve Oracle 21 performance. There are some remaining tests to
   perform to achieve that, but it's extremely slow process, so it
   won't happen soon.
4) Give more time to the failing tests using the step: "I mark this
   test as slow setting a timeout factor of X". It applies to all
   databases, but we are already using it, so no big problem. It's the
   same than solution 2) but from within the tests instead of affecting
   to the whole run.

From all the alternatives above, this patch implements 4), doubling
(from current 2 to 4), to give each test up to two minutes
(30 secs * 4 = 120 secs) with the new allowed timeout-factor.
2022-09-02 14:44:58 +02:00
Paul Holden ff717ac87f MDL-75447 reportbuilder: return only valid audience instances. 2022-09-02 12:33:54 +01:00
Ilya Tregubov a7514f231d weekly release 4.1dev 2022-09-02 08:49:13 +04:00
Brendan Heywood 11efc67eb5 MDL-75614 dml: Fixed debugsqltrace with anon classes bug 2022-09-02 11:42:04 +10:00
Sara Arjona 0ffc0b228e Merge branch 'MDL-73376-master-fix' of https://github.com/junpataleta/moodle 2022-09-01 14:04:50 +02:00
Ferran Recio 188d304a4b MDL-75625 core_courseformat: fix MDL-71979 comments 2022-09-01 12:41:55 +02:00
Jun Pataleta 1138811649 MDL-73376 qbank: Remove uniqueidentifier fragment argument
The uniqueidentifier argument is only needed by the version selector and
can be set within the output fragment function using it. There's no need
for it to be a parameter when calling the output fragment function.
2022-09-01 14:56:20 +08:00
Jun Pataleta 0524084300 Merge branch 'MDL-74770' of https://github.com/paulholden/moodle 2022-09-01 11:32:15 +08:00
Jun Pataleta 9d97935e25 Merge branch 'MDL-75092-master' of https://github.com/PhMemmel/moodle 2022-09-01 11:05:36 +08:00
Jun Pataleta eb59bca8ce Merge branch 'MDL-73228' of https://github.com/call-learning/moodle 2022-09-01 10:56:33 +08:00
Jun Pataleta 86f07a84ce Merge branch 'master_MDL-73376-version-selection' of https://github.com/catalyst/moodle-MDL-72752 2022-09-01 10:52:54 +08:00
Safat Shahin 497a644b48 MDL-73376 qbank_comment: Version selection in modal
This commit implements version selection in the comment
modal to allow users to change the version of question
using that dropdown.
2022-09-01 11:43:55 +10:00
Laurent David b705218b88 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:40:29 +02:00
Laurent David cb7d2bf2f1 MDL-73228 mod_bigbluebuttonbn: Close all meetings when deleting
* When a BigblueButtonBN activity is deleted, we need to also close all
running meetings (including group meetings)
2022-08-31 17:19:41 +02:00
Jun Pataleta ba5550ac3b Merge branch 'MDL-75111' of https://github.com/stronk7/moodle 2022-08-31 23:06:05 +08:00
Sara Arjona c726705f6b Merge branch 'MDL-12643' of https://github.com/paulholden/moodle 2022-08-31 16:36:37 +02:00
Sara Arjona 3a6db56555 Merge branch 'MDL-75521-master' of https://github.com/aanabit/moodle 2022-08-31 15:48:33 +02:00
Sara Arjona afd6f23ab3 Merge branch 'MDL-73076-master' of https://github.com/lameze/moodle 2022-08-31 15:45:30 +02:00
Jun Pataleta 83a7fde2c0 Merge branch 'MDL-75019-master' of https://github.com/andelacruz/moodle 2022-08-31 20:25:37 +08:00
Ilya Tregubov 2dffdc276f Merge branch 'MDL-74901-master' of https://github.com/snake/moodle 2022-08-31 16:00:50 +04:00
Sara Arjona 4a5a79b7db Merge branch 'MDL-74714' of https://github.com/paulholden/moodle 2022-08-31 13:25:31 +02:00
Sara Arjona 29b0bfd90d Merge branch 'MDL-74862-master' of https://github.com/jleyva/moodle 2022-08-31 13:13:25 +02:00
Sara Arjona 471d4a10a8 Merge branch 'MDL-74969-master' of https://github.com/marinaglancy/moodle 2022-08-31 12:29:11 +02:00
Sara Arjona f2aafd12c0 Merge branch 'MDL-75412-master' of https://github.com/sarjona/moodle 2022-08-31 12:00:54 +02:00
Sara Arjona 8aa571c9e4 Merge branch 'MDL-75191-fix' of https://github.com/paulholden/moodle 2022-08-31 11:48:57 +02:00
Ilya Tregubov f5388a05f0 Merge branch 'MDL-72830-master' of https://github.com/dthies/moodle 2022-08-31 12:57:05 +04:00
Paul Holden 9eed0bf85f MDL-75040 block_completionstatus: correct current course navigation. 2022-08-31 09:56:40 +01:00
Sara Arjona 5bf3b5078e Merge branch 'MDL-75333' of https://github.com/paulholden/moodle 2022-08-31 10:34:08 +02:00
Paul Holden 62d22c6626 MDL-75191 task: cross DB support for task output filter.
Specifically avoids Oracle exception ORA-00932.
2022-08-31 09:16:06 +01:00
Ilya Tregubov 157bbce05d Merge branch 'MDL-74861-master' of https://github.com/andelacruz/moodle 2022-08-31 11:53:15 +04:00
Jun Pataleta 3b02aff511 Merge branch 'MDL-74669' of https://github.com/call-learning/moodle 2022-08-31 15:44:51 +08:00
Michael Hawkins f85af51dcc 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:28:59 +08:00
Sara Arjona 9608890556 Merge branch 'MDL-72489-master-take2' of https://github.com/lucaboesch/moodle 2022-08-31 08:27:30 +02:00
Jun Pataleta 95808527b1 Merge branch 'MDL-72188-master_seb_js_integration-with-message' of https://github.com/catalyst/moodle 2022-08-31 13:52:30 +08:00
Luca Bösch a1cec84e62 MDL-72489 core_search: searchareas page table sort. 2022-08-31 07:35:46 +02:00
Andrew Madden d1863734d4 MDL-72188 quizaccess_seb: Implement Safe Exam Browser JS API
* 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-08-31 13:10:28 +10:00
Paul Holden a75829829d MDL-75333 reportbuilder: report audience type for site admins. 2022-08-30 16:08:40 +01:00
Sara Arjona 8cbc603ec9 Merge branch 'MDL-74873-master' of https://github.com/dthies/moodle 2022-08-30 16:10:08 +02:00
Sara Arjona 3c04c065c6 Merge branch 'MDL-68717-master' of https://github.com/laurentdavid/moodle 2022-08-30 16:04:59 +02:00
Paul Holden 91ae2c25b4 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:04:06 +01:00
Ilya Tregubov 96dbcc0840 Merge branch 'MDL-75245' of https://github.com/paulholden/moodle 2022-08-30 14:59:50 +04:00
Víctor Déniz 45a61beced Merge branch 'MDL-75360' of https://github.com/paulholden/moodle 2022-08-30 11:42:46 +01:00
Sara Arjona 4d62410091 Merge branch 'MOODLE_master_MDL-75218-favicon' of https://github.com/danielneis/moodle 2022-08-30 12:17:23 +02:00
sam marshall 49b4ff0f3e MDL-75608 Behat: Expand all fieldsets step fails with single fieldset 2022-08-30 11:16:55 +01:00
Eloy Lafuente (stronk7) bb6f9bcf0f Merge branch 'MDL-75191-fix' of https://github.com/sarjona/moodle 2022-08-30 10:59:41 +02:00
Sara Arjona e2421df68e MDL-75191 phpunit: add core_admin to phpunit.xml.dist 2022-08-30 10:16:16 +02:00
Víctor Déniz 22fd3c5786 Merge branch 'MDL-70480-master' of https://github.com/chanqihui/moodle 2022-08-30 09:12:03 +01:00
Sara Arjona 87db68a0ce Merge branch 'MDL-75191' of https://github.com/paulholden/moodle 2022-08-30 09:48:29 +02:00
Sara Arjona 3ea96df0e1 Merge branch 'MDL-75564-master' of https://github.com/aanabit/moodle 2022-08-30 07:02:42 +02:00
Ilya Tregubov 1e94b9f148 Merge branch 'MDL-71662' of https://github.com/paulholden/moodle 2022-08-30 07:59:19 +04:00
Daniel Neis Araujo 7adac1fefb MDL-75218 theme: Add a Favicon setting 2022-08-29 09:35:54 -03:00
Jun Pataleta 0e80be483f Merge branch 'MDL-73685-admin-role-bug' of https://github.com/brendanheywood/moodle 2022-08-29 15:47:57 +08:00
Jun Pataleta b58b121d0b Merge branch 'MDL-72592-master' of https://github.com/lameze/moodle 2022-08-29 13:12:18 +08:00
Jun Pataleta 4f03f60804 Merge branch 'MDL-75353-master' of https://github.com/sarjona/moodle 2022-08-29 13:10:20 +08:00
Shamim Rezaie ce2c78251f Merge branch 'MDL-75275-master' of https://github.com/sarjona/moodle 2022-08-28 23:39:47 +10:00
Eloy Lafuente (stronk7) 83b490a594 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:20 +02:00
Amaia Anabitarte 7d7c2ce8f2 MDL-75564 mod_data: Remove underconstruction_title string 2022-08-26 15:56:05 +02:00
Shamim Rezaie 952d9e9f18 weekly release 4.1dev 2022-08-26 21:07:34 +10:00
Justus Dieckmann b3e97db59c 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:20:06 +02:00
Sara Arjona 89eed9e368 MDL-75412 mod_data: Add journal preset 2022-08-25 08:24:02 +02:00
Jake Dallimore 01f72edd49 Merge branch 'MDL-75247-master' of https://github.com/cameron1729/moodle 2022-08-25 10:08:19 +08:00
Simey Lameze 4a8589bc0e MDL-72592 block_myprofile: behat and other code fixes
This commit fixes few things:
- Fix correct language string order.
- Change the code in myprofile.php to be consistent with other checks.
- Update provided test to fix behat failure.
2022-08-25 08:44:25 +08:00
Amaia Anabitarte 9eee0f7dac MDL-75521 mod_data: Use moodle_url on mod/data/view.php for baseurl 2022-08-24 18:21:35 +02:00
Shamiso.Jaravaza 5aeb8a0319 MDL-75558 mod_bigbluebuttonbn: Fix alert banner 2022-08-23 17:17:26 -06:00
Víctor Déniz b7f1e6df5b Merge branch 'MDL-75143-master' of https://github.com/sarjona/moodle 2022-08-23 18:15:18 +01:00
Víctor Déniz 05c05d5002 Merge branch 'MDL-71000-SQL_QUERY_AUX_READONLY' of https://github.com/catalyst/moodle 2022-08-23 17:16:19 +01:00
Víctor Déniz 48fb133523 Merge branch 'MDL-75537' of https://github.com/paulholden/moodle 2022-08-23 12:49:15 +01:00
Víctor Déniz e1c4d1644b Merge branch 'MDL-75290' of https://github.com/paulholden/moodle 2022-08-23 09:02:19 +01:00
Cameron Ball 43a3a7f324 MDL-75247 assignfeedback_editpdf: Requeue conversion task for polling 2022-08-23 11:41:16 +08:00
Srdjan 5248067884 MDL-71000 lib/dml: New query type SQL_QUERY_AUX_READONLY
For SQL_QUERY_AUX queries that can go to readonly, conditions permitting.
2022-08-23 10:39:43 +10:00
Tim Hunt 797b9fbd62 MDL-75548 misc: final Required parameter follows optional notices 2022-08-22 15:20:13 +01:00
Víctor Déniz cf150f859a Merge branch 'MDL-75031' of https://github.com/paulholden/moodle 2022-08-22 14:16:02 +01:00
Sara Arjona 680bff5f40 MDL-75143 mod_data: Use standard notification for Save as preset
Apart from using the standard notification, the message has been
replaced to the one suggested by the Product UX team.
2022-08-22 12:46:11 +02:00
Sara Arjona 757759a879 MDL-75143 mod_data: Edit presets 2022-08-22 12:46:11 +02:00
Sara Arjona beb305198d MDL-75143 mod_data: Add user support to preset behat generator
The 'user' parameter has been added to the 'mod_data > presets'
generator, to let define the author of the preset.
When it's not defined, admin is used as the author.
2022-08-22 11:07:28 +02:00
Simey Lameze 8f078a2911 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:51:07 +08:00
Carsten Nielsen d5c144c14a MDL-72592 block_myprofile: Add lastlogin date to myprofile block 2022-08-22 09:05:59 +08:00
Philipp Memmel 9a8e108655 MDL-75092 backup: Fix selector for adding select all/none link 2022-08-19 17:17:29 +02:00
Paul Holden 70950f89b2 MDL-75537 reportbuilder: add entity joins to user:auth filter. 2022-08-19 13:25:32 +01:00
Tomo Tsuyuki a6a7b16846 MDL-75171 Auth: extend user logged in event
Co-authored-by: Heena Agheda <heenaagheda@catalyst-au.net>
2022-08-19 18:38:59 +10:00
Sara Arjona cb4b6f125b MDL-75353 mod_data: always return str in data_generate_default_template
From now on, the data_generate_default_template method will always return
a string with the template content or an empty string when there is no
content available (for instance, when the database has no fields).
This method won't return a boolean anymore.
2022-08-19 08:42:15 +02:00
Sara Arjona 2acda39537 MDL-75275 mod_data: Add ##actionsmenu## action tag 2022-08-19 08:38:33 +02:00
Sara Arjona fd1b874449 MDL-75275 mod_data: Add user support to entry behat generator
The 'user' parameter has been added to the 'mod_data > entries'
generator, to let define the author of the entry.
When it's not defined, admin is used as the author.
2022-08-19 08:38:32 +02:00
Mikhail Golenkov 7614482029 MDL-75448 assignfeedback_editpdf: Fix conversion for rotated images 2022-08-19 15:39:06 +10:00
Mikhail Golenkov aeda4b9a87 MDL-75448 stored_file: Cover rotate_image() method with unit tests 2022-08-19 15:39:06 +10:00
Paul Holden 30427e91c2 MDL-75191 task: implement task logs datasource for custom reporting.
Update existing entity to define remaining report elements. Add new
report source joining the entity to the user entity to provide data
for the reportbuilder editor.
2022-08-18 17:12:39 +01:00
Paul Holden 4b8f076560 MDL-75191 reportbuilder: use column callbacks in avg/sum aggregation.
When aggregating a column using either method, for numeric types we
should execute column callbacks to ensure consistent formatting.
2022-08-18 17:04:33 +01:00
Paul Holden 0304508926 MDL-75245 reportbuilder: re-factor current tag elements to new entity.
Update previous implementation of tags (9ebd801c) in report sources to
use equivalent tag entity columns and filters.
2022-08-18 17:01:21 +01:00
Paul Holden 065b38f68d MDL-75245 tag: implement tags datasource for custom reporting.
Create entity definitions for collections, tags and instances for
new report source to provide data for the reportbuilder editor.
2022-08-18 16:54:54 +01:00
Paul Holden ab89e3caae MDL-74770 gradereport_grader: allow sorting by all user fields. 2022-08-18 15:58:11 +01:00
Sara Arjona 17ee072693 weekly release 4.1dev 2022-08-18 14:54:11 +02:00
Ilya Tregubov 9a177c253d Merge branch 'MDL-75214-fix' of https://github.com/sarjona/moodle 2022-08-18 12:44:05 +04:00
Sara Arjona 74a100ff75 MDL-75214 behat: Export grades fix
This issue has started causing some errors with behat. It seems the
"Save changes" button is not clickable, so changing the window size
will do the magic.
2022-08-18 09:26:15 +02:00
Laurent David 025e0297b6 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:07:38 +04:00
Brendan Heywood 68626c0c1f MDL-73685 admin: Fix regression from MDL-69498 2022-08-18 13:55:46 +10:00
Andrew Nicols d0f6744d66 Merge branch 'MDL-75029' of https://github.com/paulholden/moodle 2022-08-18 11:17:19 +08:00
Andrew Nicols 903f04a320 Merge branch 'MDL-74608' of https://github.com/timhunt/moodle 2022-08-18 10:52:02 +08:00
Brendan Heywood f0d91ec708 MDL-69888 core: Cache user fully setup status 2022-08-18 10:29:44 +10:00
Shamiso.Jaravaza c261317912 MDL-75460 mod_bigbluebuttonbn: Fix lock on start 2022-08-17 14:06:54 -06:00
David Matamoros e6c1284a93 MDL-74364 course: Fix for deleted users SQL condition 2022-08-17 17:51:34 +02:00
Sara Arjona 5a3b4ac828 Merge branch 'MDL-75390-master' of https://github.com/sarjona/moodle 2022-08-17 17:08:17 +02:00
Sara Arjona 3da9c364c7 Merge branch 'MDL-75063-master' of https://github.com/andelacruz/moodle 2022-08-17 16:52:13 +02:00
Ilya Tregubov c3d74f6991 Merge branch 'MDL-74364-master' of https://github.com/dravek/moodle 2022-08-17 14:53:50 +04:00
David Matamoros 0a66ba0188 MDL-74364 course: Add course participants datasource
- New Report Builder source for course participants
- New course completion entity
- New course enrolment entity
- New course last access entity
2022-08-17 12:40:34 +02:00
Sara Arjona 996b5c7d75 Merge branch 'MDL-75312' of https://github.com/paulholden/moodle 2022-08-17 12:26:38 +02:00
Ilya Tregubov 2b1511fadd Merge branch 'MDL-75214-master' of https://github.com/rezaies/moodle 2022-08-17 11:53:57 +04:00
Sara Arjona 123b5495bf Merge branch 'MDL-49795-master-test' of https://github.com/rezaies/moodle 2022-08-17 08:58:35 +02:00
Ilya Tregubov e6590c6045 Merge branch 'MOODLE_master_MDL-73119' of https://github.com/danielneis/moodle 2022-08-17 08:24:56 +04:00
Ilya Tregubov 369134dade Merge branch 'MDL-61401-master' of https://github.com/BruceGoodGuy/moodle 2022-08-17 08:15:59 +04:00
Shamim Rezaie c5ea7a1fab Merge branch 'MDL-75386-master' of https://github.com/andrewnicols/moodle 2022-08-17 13:29:05 +10:00
Daniel Neis Araujo 3f83f35a5c MDL-73119 contentbank: Add pluginfile callback to content type plugins 2022-08-16 14:23:33 -03:00
Shamim Rezaie 70b2afde62 MDL-49795 core: Fixed missing index (competencyid) for upgrades 2022-08-17 03:07:10 +10:00
Shamim Rezaie 93044268bc Merge branch 'MDL-49795-add-missing-keys-indexes-to-core-tables' of https://github.com/keevan/moodle into MDL-49795-master-test 2022-08-17 03:02:40 +10:00
Shamim Rezaie cad62440e3 Merge branch 'MDL-73876-master' of https://github.com/ilyatregubov/moodle 2022-08-17 02:32:00 +10:00
Shamim Rezaie e07a3fecec Merge branch 'MDL-75414-master' of https://github.com/sarjona/moodle 2022-08-17 02:24:00 +10:00
Shamim Rezaie 14ff458b3d Merge branch 'MDL-49795-add-missing-keys-indexes-to-core-tables' of https://github.com/keevan/moodle 2022-08-17 02:17:52 +10:00
Shamim Rezaie 40f6f35463 Merge branch 'MDL-67685_Master' of https://github.com/tuanngocnguyen/moodle 2022-08-17 01:52:07 +10:00
Sara Arjona 31e05de8fc Merge branch 'MDL-72178-master' of https://github.com/NoelDeMartin/moodle 2022-08-16 16:58:28 +02:00
Sara Arjona e550cb5bba Merge branch 'MDL-75137-master' of https://github.com/aanabit/moodle 2022-08-16 16:50:33 +02:00
hieuvu 98942df0c4 MDL-61401 workshop: Ability for tutors to search for students. 2022-08-16 20:22:19 +07:00
Tim Hunt 8babdbd396 MDL-74608 activities: a new option to force the activity language
For a long time, Moodle has had the feature to force the language
for a whole course. This change adds the same feature at activity
level.

The course-level feature was controlled by a capability
moodle/course:setforcedlanguage, and I decided to use the same
capability to control this feature. I think a new capability would be
overkill.
2022-08-15 22:15:52 +01:00
Laurent David 01c94bcb64 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:08:14 +02:00
Simey Lameze 7abd77f565 MDL-75456 behat: final deprecation of get_node_type() and get_field() 2022-08-15 12:58:05 +08:00
Amaia Anabitarte e08458cc23 MDL-75137 mod_data: Fix and improve behat tests 2022-08-12 15:46:44 +02:00
Amaia Anabitarte 8768a7adb9 MDL-75137 mod_data: Redesign zero state page
Co-authored-by: Ferran Recio <ferran@moodle.com>
2022-08-12 15:46:44 +02:00
Amaia Anabitarte cb01747608 MDL-75137 mod_data: Add entry throws an exception if there is no field 2022-08-12 15:46:08 +02:00
Simey Lameze 2afa4488cd MDL-73076 completion: split criteria duration test into two tests 2022-08-12 17:11:15 +08:00
Mark Johnson b014bb9985 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:14:18 +02:00
Petr Skoda a50c80b52a MDL-75237 core: improve PARAM_SAFEPATH docs 2022-08-12 04:14:18 +02:00
Petr Skoda 2f70b320bb MDL-75237 qformat_blackboard_six: sanitise blackboard import file paths 2022-08-12 04:14:18 +02:00
Petr Skoda 5ed64ce150 MDL-75237 core: Revert MDL-72029
This reverts commit d585f902fc.
2022-08-12 04:14:18 +02:00
Petr Skoda 3e61730463 MDL-75237 qformat_blackboard_six: Revert MDL-72029
This reverts commit 3cafb305de.
2022-08-12 04:14:18 +02:00
Paul Holden b40ab6987d MDL-75326 h5p: require sesskey to toggle library enabled state. 2022-08-12 04:14:18 +02:00
Shamim Rezaie 896e126a66 weekly release 4.1dev 2022-08-12 11:52:47 +10:00
Shamim Rezaie af7239bbbe Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-08-12 11:52:45 +10:00
AMOS bot 2d3065719a Automatically generated installer lang files 2022-08-12 00:08:19 +00:00
Daniel Thies 3aa3b664ab MDL-72830 repository_contentbank: Use content specific icons 2022-08-11 12:34:27 -05:00
Daniel Thies 9a349468cc MDL-74873 core_message: Disable notification preferences controls 2022-08-11 12:32:45 -05:00
raortegar 21a8787e50 MDL-75430 mod_data: Fix picture size for list view
We were missing the templatename in get_template method of manager.php
2022-08-11 18:09:25 +02:00
Noel De Martin 9f38b1c389 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:30:27 +02:00
Sara Arjona 9acdb178c7 MDL-75414 mod_data: Fix error when displaying fields in single view
This is a regression from MDL-75146, when the manager class was created.
The field class was not found in the Single view, because the field.class.php
file was not included (so the base class was used in all the cases for this
view). That's why the image field was displaying only the image name instead
of building the <img element or the URLs were displaying only the text, instead
of creating a link for them.
2022-08-10 12:52:59 +02:00
Anton 5e27f3a7b2 MDL-75065 qbank_editquestion: fix creating simple calculated question 2022-08-10 09:44:27 +03:00
Peter Sistrom 1a06546ea3 MDL-60666 auth_ldap: One transaction per user 2022-08-10 13:49:20 +10:00
Jun Pataleta a3187a2231 Merge branch 'MDL-75375-master' of https://github.com/junpataleta/moodle 2022-08-10 00:26:26 +08:00
Brendan Heywood 7f63314383 MDL-75375 cache: Fix file store path cleaning 2022-08-09 23:50:51 +08:00
Jun Pataleta a8575c24bd Merge branch 'MDL-74636' of https://github.com/timhunt/moodle 2022-08-09 11:11:19 +08:00
Jun Pataleta 5d90181c6e Merge branch 'MDL-74800-master' of https://github.com/ferranrecio/moodle 2022-08-08 22:30:01 +08:00
Jun Pataleta 87e513e439 MDL-74800 core: block actions fix suggestion 2022-08-08 14:46:42 +02:00
Jun Pataleta 950d617aec 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:46:42 +02:00
Ferran Recio dc63d643b8 MDL-74800 core_courseformat: fix accessibility checks 2022-08-08 14:46:42 +02:00
Ferran Recio 39af611f82 MDL-74800 output: fix edit button accessibility 2022-08-08 14:46:42 +02:00
Ferran Recio 2493b4f01a MDL-74800 message: fix invalid aria-label attributes 2022-08-08 14:46:42 +02:00
Laurent David 3ae6a87d7a MDL-68717 core_calendar: Hide completed event
* "expectcompletionon" type of event should be hidden if the related
activity is completed
2022-08-08 07:17:54 +02:00
Jun Pataleta aea05af894 Merge branch 'MDL-75142-master' of https://github.com/sarjona/moodle 2022-08-08 11:17:12 +08:00
Jun Pataleta 2d60043c5b Merge branch 'MDL-74211-master' of https://github.com/lameze/moodle 2022-08-08 11:14:44 +08:00
Angelia Dela Cruz 2a50790048 MDL-74861 behat: H5P 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.

Co-authored-by: Simey Lameze <simey@moodle.com>
2022-08-08 11:08:40 +08:00
Shamiso.Jaravaza 6236be46e1 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 10:20:42 -06:00
Laurent David 1df1e02820 MDL-74669 mod_bigbluebuttonbn: align language with user's preference
* Pick BBB UI language from Moodle user profile language instead of
preferred browser language
2022-08-05 17:00:27 +02:00
Sara Arjona 70d520e1a6 MDL-75390 mod_data: Fix regression when portfolios is enabled
This patch fixes a regression that is causing some errors when
portfolios advanced feature is enabled but no portfolio is
enabled.
2022-08-05 16:54:49 +02:00
Sara Arjona aecb87f53e MDL-75142 mod_data: Add description to presets
This commit adds support to description field for presets:
- For plugin presets, description will be stored in the module_help
string in lang files.
- For saved presets, a new element, <description>, has been added
to the preset.xml file, to include this information.

A new field has been added to the "Save as preset" modal, to let users
define description (which is empty by default, to support pre-existing
presets that won't have it).

Apart from that, the "Save as preset" workflow has been slightly improved,
following the Product UX/UX suggestions to hide the checkbox to overwrite
the preset by default and show it only if the user tries to save a preset
with an existing name.
2022-08-05 14:51:49 +02:00
Paul Holden a65476d590 MDL-74010 core: check defined MDL_PERF* values in conditionals. 2022-08-05 11:02:54 +01:00
Paul Holden 411269b529 MDL-74714 reportbuilder: clarify optional properties of exporters.
The custom report exporter should define its own editable element
properties (conditions, filters, etc) as optional, rather than each
of those element exporters defining their properties as optional.
2022-08-05 10:25:06 +01:00
Angelia Dela Cruz 2ccb0f11f8 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:22:50 +08:00
Ilya Tregubov a6e24e30ff Merge branch 'MDL-74475-master' of https://github.com/aanabit/moodle 2022-08-05 12:25:48 +04:00
Andrew Nicols 64be603879 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:26 +08:00
Angelia Dela Cruz d31dfdc6e2 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 13:59:00 +08:00
Ilya Tregubov 35b993b694 weekly release 4.1dev 2022-08-05 08:29:14 +04:00
Andrew Lyons 019c633bd9 MDL-73876 behat: Show exceptions stack trace 2022-08-04 16:50:59 +04:00
Paul Holden e15444e1ec MDL-75029 block_news_items: indicate posts made by deleted users. 2022-08-04 09:43:30 +01:00
Qihui Chan a0508fbb2b MDL-70480 mod_assign: fix user and group submission and update database 2022-08-04 17:45:30 +10:00
Jun Pataleta 29d804b302 Merge branch 'MDL-74895' of https://github.com/paulholden/moodle 2022-08-04 11:35:47 +08:00
Jun Pataleta da9aec83a6 Merge branch 'MDL-69251-master' of https://github.com/snake/moodle 2022-08-04 11:16:22 +08:00
Andrew Nicols 17ab13467f Merge branch 'MDL-56923-master' of https://github.com/rezaies/moodle 2022-08-04 11:12:32 +08:00
Andrew Nicols 73eb4edbdf Merge branch 'MDL-74502-master' of https://github.com/marinaglancy/moodle 2022-08-04 11:08:44 +08:00
Jake Dallimore 9231714b50 Merge branch 'MDL-74766-master' of https://github.com/JBThong/moodle 2022-08-04 10:55:03 +08:00
Andrew Nicols 0ad58524c9 Merge branch 'MDL-75080-master' of https://github.com/andelacruz/moodle 2022-08-04 10:17:02 +08:00
Andrew Nicols 9c6b60bd38 Merge branch 'MDL-74655-master' of https://github.com/NoelDeMartin/moodle 2022-08-04 10:07:09 +08:00
Andrew Nicols c500af1c90 MDL-74492 editor_atto: Comment the regex change 2022-08-04 10:04:15 +08:00
Andrew Nicols 78bf2a203a Merge branch 'MDL-74492-Atto_UL_fix' of https://github.com/PhilippImhof/moodle 2022-08-04 09:59:58 +08:00
Simey Lameze 032468d269 MDL-74211 behat: convert few more steps to use new data generators 2022-08-04 09:21:33 +08:00
Paul Holden 43bf6c8f00 MDL-71662 mod_h5pactivity: add group filter to attempts report. 2022-08-03 15:30:51 +01:00
Ilya Tregubov 2764133fb7 Merge branch 'MDL-75185' of https://github.com/paulholden/moodle 2022-08-03 16:26:55 +04:00
Jun Pataleta 41f3f4730f Merge branch 'MDL-75285-master' of https://github.com/marinaglancy/moodle 2022-08-03 18:04:14 +08:00
Jun Pataleta 4b233aa8e8 Merge branch 'MDL-74740-master-1' of https://github.com/mihailges/moodle 2022-08-03 17:03:40 +08:00
Jun Pataleta 94ea7cd81c Merge branch 'MDL-62959-master' of https://github.com/snake/moodle 2022-08-03 16:52:36 +08:00
Noel De Martin 275dc3f8d4 MDL-74655 competency: Implement behat generators 2022-08-03 10:48:01 +02:00
Amaia Anabitarte 205d990c2e MDL-74475 core_badges: Behat test using new step 2022-08-03 10:34:36 +02:00
Amaia Anabitarte f039c865f7 MDL-74475 behat: Option to jump to course edit page 2022-08-03 10:34:36 +02:00
Jake Dallimore d95071b537 Merge branch 'MDL-74721' of https://github.com/lostrogit/moodle 2022-08-03 15:47:38 +08:00
Kevin Pham 027b6f73d6 MDL-49795 file: Add missing metadata providers for file_conversion 2022-08-03 15:17:05 +10:00
Kevin Pham c0e329a781 MDL-49795 tool_privacy: Add missing metadata providers for purpose table 2022-08-03 15:17:05 +10:00
Kevin Pham 1495c10c26 MDL-49795 analytics: Add missing metadata providers for analytics tables
Affected tables:
- analytics_models
- analytics_models_log
2022-08-03 15:17:05 +10:00
Kevin Pham aeea0b1502 MDL-49795 auth_oauth2: Add missing metadata providers for oauth2 tables 2022-08-03 15:17:05 +10:00
Kevin Pham 5ab70be182 MDL-49795 mod_data: Add userid foreign key to data_records 2022-08-03 15:17:05 +10:00
Kevin Pham 1499f83cad MDL-49795 mod_feedback: Add courseid foreign key to feedback_completed 2022-08-03 15:17:05 +10:00
Kevin Pham c67bc6c10a MDL-49795 mod_forum: Add usermodified foreign key to forum_discussions 2022-08-03 15:17:04 +10:00
Kevin Pham 5f50d978df MDL-49795 mod_chat: Add course foreign key to chat_users table 2022-08-03 15:17:04 +10:00
Kevin Pham c2167257c9 MDL-49795 mod_book: Add foreign key for course 2022-08-03 15:17:04 +10:00
Kevin Pham af71e4f412 MDL-49795 core: Add foreign keys to core tables in lib
- Includes changes to tables like course, enrol, stage, etc
2022-08-03 15:17:04 +10:00
Kevin Pham a35f0b01c0 MDL-49795 tool_dataprivacy: Add foreign keys to tool_dataprivacy_purpose 2022-08-03 15:17:04 +10:00
Kevin Pham 08564004ec MDL-49795 tool_monitor: Add foreign keys to tool_monitor_events 2022-08-03 15:17:04 +10:00
Kevin Pham 2157cc74a4 MDL-49795 logstore_standard: add foreign keys for userids & courseid
Fields affected: userid, realuserid, courseid & relateduserid
2022-08-03 15:15:29 +10:00
Andrew Nicols 9c4c5f1fbe Merge branch 'MDL-72430-master' of https://github.com/HuongNV13/moodle 2022-08-03 12:48:36 +08:00
Andrew Nicols babfdf8af2 Merge branch 'MDL-74592-master' of https://github.com/cameron1729/moodle 2022-08-03 11:11:25 +08:00
Paul Holden ae369574b8 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 20:55:34 +01:00
Jun Pataleta 8f892428a6 Merge branch 'MDL-75205' of https://github.com/paulholden/moodle 2022-08-02 23:18:32 +08:00
Paul Holden 905b394176 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:52 +01:00
Nathan Nguyen 7c3e78ca3c MDL-67685 core_admin: use autocomplete filter in task log 2022-08-02 18:21:37 +07:00
Nathan Nguyen f32913dc65 MDL-67685 core_reportbuilder: Add autocomplete filter 2022-08-02 18:21:37 +07:00
Ilya Tregubov 5c1df4aebc Merge branch 'MDL-75148-master' of https://github.com/sarjona/moodle 2022-08-02 10:28:16 +04:00
Jun Pataleta 3dff2b614f Merge branch 'MDL-74947-master' of https://github.com/snake/moodle 2022-08-02 10:00:56 +08:00
Sara Arjona 599aca679b MDL-75148 mod_data: Improve presets list page
- Add a new help text.
- Add captions to table columns.
- Move action icons to action menu, and fix code to display the remove
action only for presets created by users.
- CSS improvements to fit the prototype.

In order to achive the previous points, the renderer has been improved,
to return the data and let the mustache to print it properly (instead of
returning the formatted HTML table).
2022-08-01 12:08:16 +02:00
Sara Arjona 06b86fdfc3 MDL-75148 mod_data: Enable Use preset button when one is selected
The 'Use preset' button will be enabled only when a preset is selected.
2022-08-01 12:08:16 +02:00
Sara Arjona 7d88bc0754 MDL-75148 mod_data: Move Import button to right
This commit moves the Import button from the tertiary navigation to
the right.
2022-08-01 12:08:16 +02:00
Sara Arjona ad0595b4b4 MDL-75148 mod_data: Implement preset behat generator 2022-08-01 12:08:16 +02:00
Sara Arjona 13264c7107 MDL-75148 mod_data: Add create_preset to generator 2022-08-01 12:08:16 +02:00
Sara Arjona 9d10f7d19e MDL-75148 mod_data: Add isplugin info to presets
This activity currently supports two different preset types:
- Datapreset plugins, that can be installed copying them to the
mod/data/preset folder.
- Presets saved manually by users.

This commit adds an attribute to the presets to mark them, in order
to identify them later (because, for instance, the plugins can't be
removed).

Apart from that, the methods in lib.php, involved with this issue, have
been deprecated. New methods have been implemented in the manager class,
covering them with PHPUnit tests.
2022-08-01 12:08:16 +02:00
Sara Arjona abeae6acb2 MDL-75148 mod_data: Add missing template (adv search)
While covering is_directory_a_preset() with PHPUnit tests, it has been
identified that there was a missing file in the Image gallery preset.
The template will be reviewed in the future (in a separate issue) but,
for now, I'm going to add the default template for advanced search.
2022-08-01 11:34:24 +02:00
Cameron Ball 2e44102904 MDL-74592 tool_uploaduser: Add option to match on email 2022-08-01 13:45:27 +08:00
Shamim Rezaie 17e01f6d7f Merge branch 'MDL-74957' of https://github.com/paulholden/moodle 2022-08-01 12:32:49 +10:00
Paul Holden 637e3a7c88 MDL-74957 reportbuilder: external method for triggering report view. 2022-07-29 14:11:34 +01:00
Marina Glancy 24072f69e9 MDL-75285 core_reportbuilder: allow left joins on category entity 2022-07-29 12:48:30 +02:00
Tim Hunt 9468fe3c8c MDL-74636 behat: step to skip this scenario if a plugin isn't installed 2022-07-29 09:45:09 +01:00
Jun Pataleta 41b805c1ba Merge branch 'MDL-75244-master' of https://github.com/andrewnicols/moodle 2022-07-29 15:30:44 +08:00
Jun Pataleta 0fb9cdedbb Merge branch 'MDL-75235' of https://github.com/paulholden/moodle 2022-07-29 14:32:37 +08:00
Philipp Imhof 0ef6473fff MDL-74492 editor_atto: <line> tags should not be confused with <li> tags 2022-07-29 08:32:18 +02:00
Simey Lameze b522d7652d MDL-74211 behat: replace steps to use new categories page type 2022-07-29 13:02:16 +08:00
Simey Lameze e5ee04d4b9 MDL-74211 behat: add course question categories page type 2022-07-29 13:02:16 +08:00
Simey Lameze 8b4f423c05 MDL-74211 quiz: make use of question data generators 2022-07-29 13:02:16 +08:00
Andrew Nicols b47fcbb204 Merge branch 'MDL-72349_update_strip_double_headers_function' of https://github.com/christina-roperto/moodle 2022-07-29 12:11:22 +08:00
Jun Pataleta 417d1b918b weekly release 4.1dev 2022-07-29 10:56:38 +08:00
Angelia Dela Cruz 35e5d39d48 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 09:52:52 +08:00
Paul Holden 0d1aadc361 MDL-75290 reportbuilder: show user identity data on access tab.
Observe configured user identity for the site to determine additional
columns and filters to display on custom report access tab.
2022-07-28 20:35:34 +01:00
Paul Holden 5b91dabaac MDL-75235 reportbuilder: external method to set report filter values. 2022-07-28 10:47:42 +01:00
Andrew Nicols c48c431374 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
Jun Pataleta 72410a4ca1 Merge branch 'MDL-75256' of https://github.com/paulholden/moodle 2022-07-28 10:10:13 +08:00
Carlos Castillo 335e097125 MDL-75311 reportbuilder: Fix error when send report schedule 2022-07-27 08:49:38 -05:00
Jun Pataleta dc5d5e3da7 Merge branch 'MDL-74964-master' of https://github.com/lameze/moodle 2022-07-27 17:13:07 +08:00
Jun Pataleta 202ce9173b Merge branch 'MDL-74656-fix' of https://github.com/paulholden/moodle 2022-07-27 16:37:03 +08:00
Simey Lameze b5bf5f82be MDL-62959 calendar: add behat to test event type changing 2022-07-27 15:44:37 +08:00
Paul Holden 85544709d0 MDL-74656 reportbuilder: cast fields to char on mssql during concat. 2022-07-27 08:12:34 +01:00
Jun Pataleta 75001189d0 Merge branch 'MDL-74697-master' of https://github.com/sarjona/moodle 2022-07-27 14:29:22 +08:00
Jun Pataleta b8d7a5e39b Merge branch 'MDL-74808-master' of https://github.com/lameze/moodle 2022-07-27 13:21:55 +08:00
Ilya Tregubov 9009949de6 Merge branch 'MDL-75135' of https://github.com/lostrogit/moodle 2022-07-27 08:42:28 +04:00
Marina Glancy 8add66b810 MDL-74964 core_enrol: enrolment page UI fixes 2022-07-27 08:10:43 +08:00
Paul Holden 3971b69bb4 MDL-75312 question: predictable ordering of available questions.
This solves sporadic test failure that tried to assert their order.
2022-07-26 17:12:48 +01:00
Jun Pataleta 5b634ef13e Merge branch 'MDL-74656' of https://github.com/paulholden/moodle 2022-07-26 20:03:39 +08:00
Ilya Tregubov cfc6ec6973 Merge branch 'MDL-75146-master' of https://github.com/sarjona/moodle 2022-07-26 15:08:37 +04:00
Simey Lameze 8cc79b1c87 MDL-62959 calendar: fix event data mapping for group id 2022-07-26 17:09:38 +08:00
Huong Nguyen 4139046a9a MDL-72430 Calendar: Fix admin cannot edit course event 2022-07-26 11:48:58 +07:00
Andrew Nicols b32b4865c0 Merge branch 'MDL-73788-master' of https://github.com/andelacruz/moodle 2022-07-26 11:37:51 +08:00
Jun Pataleta af25a9c4d9 Merge branch 'MDL-74057-master' of https://github.com/andelacruz/moodle 2022-07-26 11:02:30 +08:00
hieuvu a6836d1a39 MDL-61401 Workshop: fixed indentations and coding style 2022-07-26 09:10:40 +07:00
Paul Holden 426f533c07 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:03:12 +01:00
Angelia Dela Cruz a18d8c59f4 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 19:36:40 +08:00
Paul Holden a65549d0b3 MDL-75031 output: swap order of buttons in confirmation prompts.
As per ff6e5cc7, the primary button "Continue" should be displayed
on the right hand site of the confirmation prompt.
2022-07-25 11:56:29 +01:00
Ilya Tregubov a63695971c Merge branch 'MDL-75083-master' of https://github.com/rzhtwberlin/moodle 2022-07-25 14:54:57 +04:00
Ilya Tregubov 07a1b6e27b Merge branch 'MDL-71708' of https://github.com/lostrogit/moodle 2022-07-25 11:17:54 +04:00
Jake Dallimore c3aae36612 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:14 +08:00
Paul Holden d16ea57405 MDL-75235 reportbuilder: allow default filter form to be disabled.
This allows for custom filter forms to be implemented, rather than
using the default one for system reports.
2022-07-22 09:17:48 +01:00
Paul Holden d0b5241786 MDL-75256 task: move abstract get_name method to base class.
Allow adhoc tasks to implement this method, so they too can have
descriptive names for themselves. Default implementation added to
return the class name itself.
2022-07-22 09:13:53 +01:00
Andrew Nicols 547cae0a02 MDL-74697 libraries: Update all third-party libraries with more metadata 2022-07-22 07:28:47 +02:00
Sara Arjona bc9b915a32 MDL-75146 mod_data: Fix comments raised during int-review 2022-07-22 07:27:40 +02:00
Ferran Recio 776e48748f MDL-75146 mod_data: refactor template parser 2022-07-22 07:27:40 +02:00
Ferran Recio e2da14bbb8 MDL-75146 mod_data: migrate templates editor to mustache 2022-07-22 07:27:40 +02:00
Ferran Recio c6db008496 MDL-75146 mod_data: add a manager class 2022-07-22 07:27:40 +02:00
Thong Bui b8e1d17814 MDL-74766 html_editor: Fix form is submitted as an empty string 2022-07-22 10:15:24 +07:00
Carlos Castillo 7cb8552597 MDL-75135 reportbuilder: Add 'Category name with link' column
Add 'Category name with link' column to course_category entity
2022-07-21 14:13:01 -05:00
Ilya Tregubov 4ce642e8ba weekly release 4.1dev 2022-07-21 21:29:47 +04:00
Ilya Tregubov 3250e59ba5 NOBUG: Fixed SVG browser compatibility 2022-07-21 21:29:45 +04:00
Ilya Tregubov 49c449d4ed Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-07-21 21:29:44 +04:00
Jun Pataleta 0e9d8123ae Merge branch 'MDL-75181-master' of https://github.com/call-learning/moodle 2022-07-21 11:59:09 +08:00
Jun Pataleta c5e19c2ba6 Merge branch 'MDL-75208' of https://github.com/stronk7/moodle 2022-07-21 11:26:52 +08:00
Víctor Déniz ad3ba9d0b7 Merge branch 'MDL-74827-master' of https://github.com/rmady/moodle 2022-07-21 00:12:23 +01:00
Carlos Castillo 562041adda MDL-71708 libraries: Upgrade chartjs to latest version
Changes in chart config file and the process to import library.

Co-authored-by: Andrew Lyons <andrew.lyons@moodle.com>
2022-07-20 15:42:02 -05:00
Víctor Déniz fc3bb1dc50 Merge branch 'MDL-74857-dev' of https://github.com/izendegi/moodle 2022-07-20 21:03:24 +01:00
Víctor Déniz 7fcc10933f Merge branch 'MDL-73332-master' of https://github.com/martygilbert/moodle 2022-07-20 19:49:46 +01:00
Laurent David ea22e495cf 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:56:14 -04:00
Ilya Tregubov 0adad2081e Merge branch 'MDL-73867' of https://github.com/paulholden/moodle 2022-07-20 08:14:47 +04:00
Jun Pataleta 0643d3acbb Merge branch 'MDL-73481' of https://github.com/paulholden/moodle 2022-07-20 11:31:05 +08:00
Paul Holden f9bb9797c2 MDL-73481 qtype_truefalse: optional standard instructions for output.
AMOS BEGIN
 CPY [privacy:preference:showstandardinstruction,qtype_multichoice],[privacy:preference:showstandardinstruction,qtype_truefalse]
 CPY [showstandardinstruction,qtype_multichoice],[showstandardinstruction,qtype_truefalse]
AMOS END
2022-07-19 16:57:02 +01:00
Jun Pataleta 301db762d6 Merge branch 'MDL-75182-master' of https://github.com/snake/moodle 2022-07-19 22:47:25 +08:00
Jun Pataleta 155ef8aece Merge branch 'MDL-68011-master' of https://github.com/mihailges/moodle 2022-07-19 20:52:36 +08:00
Víctor Déniz 5087f56905 Merge branch 'MDL-75119' of https://github.com/paulholden/moodle 2022-07-19 13:48:58 +01:00
Christina Thee Roperto de07d85f23 MDL-72349 filelib: update strip_double_headers function 2022-07-19 19:19:46 +10:00
Eloy Lafuente (stronk7) ca7890f2fc 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:48:33 +02:00
Paul Holden 5582bc2ded 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:23:54 +01:00
Paul Holden 0b616158cb MDL-74656 badges: add test generator class for creating badges. 2022-07-19 08:23:50 +01:00
Mihail Geshoski 49693c6629 MDL-68011 coourse: Final deprecation of course_modchooser() 2022-07-19 14:33:39 +08:00
Mihail Geshoski 6a122984da MDL-68011 course: Final deprecation of the callback get_shortcuts()
Removal of the callback get_shortcuts() and its plugin implementations.
The private methods in the content_item_readonly_repository class
which were only used by the callback hook logic are also removed.
2022-07-19 14:13:36 +08:00
Mihail Geshoski 2ca262a5e3 MDL-68011 core: Final deprecation of get_module_metadata() 2022-07-19 14:13:36 +08:00
Paul Holden c7d7c83abc MDL-12643 course: fix capabilities used for bulk participant actions.
Previously the `moodle/course:bulkmessaging` capability controlled
access to the entire bulk actions menu for course participants,
rather than just those actions related to messaging.
2022-07-18 15:10:37 +01:00
Ilya Tregubov 068eda3e2c Merge branch 'MDL-68843-master' of https://github.com/snake/moodle 2022-07-18 14:16:14 +04:00
Angelia Dela Cruz 2b28996a2e 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:40:22 +08:00
Iñigo Zendegi 919ea1dde1 MDL-74857 language: Start using the 'statusok' string for status 2022-07-18 10:55:47 +02:00
Jun Pataleta 1294048575 Merge branch 'MDL-74825-master' of https://github.com/rmady/moodle 2022-07-18 16:47:13 +08:00
Ilya Tregubov 31badf8221 Merge branch 'MDL-72905-master' of https://github.com/golenkovm/moodle 2022-07-18 12:41:50 +04:00
Jun Pataleta a3b8eb0969 Merge branch 'MDL-74925-master' of https://github.com/lameze/moodle 2022-07-18 16:25:58 +08:00
Jake Dallimore 273d9d561d 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:13:48 +08:00
Jake Dallimore 3387e63736 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:08:18 +08:00
Jake Dallimore 44508bfe93 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:08:18 +08:00
Simey Lameze 5294f81c27 MDL-74925 core_course: initial deprecation of '_delete' methods 2022-07-18 15:09:05 +08:00
Simey Lameze 45dfb5ac84 MDL-74925 course: use the correct 'remove' action 2022-07-18 15:00:15 +08:00
Simey Lameze e2cd526456 MDL-74925 phpunit: add missing course/format test suite 2022-07-18 15:00:15 +08:00
Jun Pataleta 3e67cccbcd Merge branch 'master_MDL-74768-bulkmove-question-after-affects' of https://github.com/catalyst/moodle-MDL-72752 2022-07-18 13:49:44 +08:00
Shamim Rezaie 031eac1b34 Merge branch 'MDL-74826-master' of https://github.com/rmady/moodle 2022-07-18 12:19:05 +10:00
AMOS bot 86f2dde3ed Automatically generated installer lang files 2022-07-16 00:08:10 +00:00
Paul Holden f1a800bb7c MDL-73867 reportbuilder: improve performance of the editable classes.
When instantiating classes that extend `inplace_editable` we can
improve performance by passing persistent instances we already have,
rather than re-requesting them.

Add test coverage to relevant classes.
2022-07-15 08:44:55 +01:00
Denis Brat 9f7eafbf7b MDL-69251 enrol_lti: fix sync_members task inconsistent internal state 2022-07-15 12:17:08 +08:00
Marty 7760c5de07 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:14 -04:00
Víctor Déniz d9632ca8b2 weekly release 4.1dev 2022-07-14 12:06:01 +01:00
Víctor Déniz 6975557187 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-07-14 12:05:58 +01:00
Shamim Rezaie b853f04227 MDL-75214 theme_boost: secondary nav bar styling updates
This commit removes the top border of the secondary nav bar and makes
its bottom border full-width.
2022-07-14 17:47:07 +10:00
Safat Shahin 0fcea11234 MDL-74768 core_question: Fix for question category movement 2022-07-14 11:11:54 +10:00
Víctor Déniz 29a380afeb Merge branch 'MDL-74171-master' of https://github.com/lucaboesch/moodle 2022-07-14 02:02:01 +01:00
Víctor Déniz 0b039070f4 Merge branch 'MDL-74671' of https://github.com/paulholden/moodle 2022-07-14 01:43:54 +01:00
Víctor Déniz e5eafa38d6 Merge branch 'MDL-73568' of https://github.com/paulholden/moodle 2022-07-14 00:51:15 +01:00
Jun Pataleta c599533958 Merge branch 'MDL-74988' of https://github.com/paulholden/moodle 2022-07-13 13:22:15 +08:00
Jun Pataleta 50598298ba Merge branch 'MDL-75152' of https://github.com/paulholden/moodle 2022-07-13 13:02:07 +08:00
Jun Pataleta 3c6fdb1993 Merge branch 'MDL-71062-master' of https://github.com/sharidas/moodle 2022-07-13 11:39:08 +08:00
Sujith Haridasan 73d604369d MDL-71062 core: Step 1 deprecation of print_error function 2022-07-13 08:20:54 +05:30
Jun Pataleta 0e3929a102 Merge branch 'MDL-74513-master' of https://github.com/lucaboesch/moodle 2022-07-12 23:23:03 +08:00
Víctor Déniz 782a3fba23 Merge branch 'MDL-74681-written_time_in_query_end' of https://github.com/catalyst/moodle 2022-07-12 11:53:54 +01:00
Jun Pataleta c09f96c8ef Merge branch 'MDL-67347-master' of https://github.com/mihailges/moodle 2022-07-12 17:17:08 +08:00
Jun Pataleta 15f678194c Merge branch 'MDL-74736-master' of https://github.com/golenkovm/moodle 2022-07-12 14:30:51 +08:00
Jun Pataleta 1ee5ef3271 Merge branch 'MDL-74595' of https://github.com/paulholden/moodle 2022-07-12 11:44:00 +08:00
Jun Pataleta f283906423 Merge branch 'MDL-71747' of https://github.com/stronk7/moodle 2022-07-12 10:50:22 +08:00
AMOS bot 4faede9849 Automatically generated installer lang files 2022-07-12 00:08:06 +00:00
Jun Pataleta 0cb0516211 Merge branch 'MDL-74282' of https://github.com/paulholden/moodle 2022-07-11 20:35:18 +08:00
Jun Pataleta 6ba6c432be Merge branch 'MDL-73215-undef-plagiarismlinks' of https://github.com/leonstr/moodle 2022-07-11 17:02:14 +08:00
Jun Pataleta 399a922f0d Merge branch 'MDL-74784-master' of https://github.com/sarjona/moodle 2022-07-11 16:54:22 +08:00
Jun Pataleta df2276aee6 Merge branch 'MDL-74061-master' of https://github.com/ntdat1904/datnguyen_moodle 2022-07-11 16:51:03 +08:00
Jake Dallimore b152dba74e MDL-74947 mod_lti: remove text validation from password field
This is a password field so should not be cleaned.
2022-07-11 13:25:40 +08:00
Jake Dallimore cb525f3575 Merge branch 'MDL-74777' of https://github.com/paulholden/moodle 2022-07-11 11:02:30 +08:00
Jake Dallimore a5d99d7d8d Merge branch 'MDL-74314' of https://github.com/paulholden/moodle 2022-07-11 10:51:58 +08:00
Carlos Castillo ac7713b7b0 MDL-74721 reportbuilder: Disabling live editing in custom reports 2022-07-10 16:52:25 -05:00
Eloy Lafuente (stronk7) caa738b5b0 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-09 11:45:10 +02:00
Eloy Lafuente (stronk7) 61d091013b MDL-71747 ci: travis and gha, raise to agreed requirements
Basically, we only need to change:
- PHP 7.4
- PostgreSQL 12

Also, moving up to focal as dev environment, removing NVM_VERSION
because nvm automatically detects .nvmrc and switching to
socketed connection for PostgreSQL (little improvements).
2022-07-09 11:45:00 +02:00
Johannes Burk 5ce4efa27b 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:27:06 +02:00
Paul Holden 7ee1dc421f MDL-74282 grade: omit outcomes report if outcomes aren't enabled. 2022-07-08 10:43:38 +01:00
Paul Holden c2c7fc9825 MDL-75185 reportbuilder: order report source listing alphabetically. 2022-07-08 09:59:09 +01:00
Simey Lameze 6b0bf2cd38 MDL-74808 lib: replace type summary span by a div 2022-07-08 14:35:24 +08:00
Simey Lameze e7d988c85c MDL-74808 question: remove span element from label 2022-07-08 14:35:24 +08:00
Simey Lameze d1a0105b6d MDL-74808 question: only add title attr if tooltip is set 2022-07-08 14:35:24 +08:00
Simey Lameze 7c57a9749a MDL-74808 question: use the correct attr for checked checkboxes 2022-07-08 13:01:54 +08:00
Srdjan bab70a42a0 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-08 12:27:33 +10:00
Jake Dallimore dc20ae685f 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:05:41 +08:00
Eloy Lafuente (stronk7) b12b4c10a4 MDL-71747 upgrade: remove adhoc tasks not used anymore
This code was used only by deleted upgrade steps so it's safe
to proceed with straight deletion, considering it internal.
Deletion has been documented in corresponding upgrade.txt files:

  - \mod_forum\task\refresh_forum_post_counts adhoc task

And these is the list of code that has NOT been removed
because it may be needed in the future:

  - \core_search\manager::clean_up_non_existing_area(), used by
  - adhoc task: \core\task\clean_up_deleted_search_area_task adhoc task
2022-07-07 20:30:11 +02:00
Eloy Lafuente (stronk7) 012ae934be MDL-71747 upgrade: remove functions not used anymore
This code was used only by deleted upgrade steps so it's safe
to proceed with straight deletion, considering it internal.
Deletion has been documented in corresponding upgrade.txt files:

  - upgrade_analytics_fix_contextids_defaults()
  - upgrade_convert_hub_config_site_param_names()
  - upgrade_rename_prediction_actions_useful_incorrectly_flagged()
2022-07-07 19:16:37 +02:00
Eloy Lafuente (stronk7) 58b56e2395 MDL-71747 upgrade: remove all the < 3.9.0 upgrade steps
This just deletes all the upgrade steps previous to 3.9.0. Some
small adjustments, like tweaking globals can also be applied
when needed.

Also includes an upgrade step to prevent upgrading from any
version < 2020061500 (v3.9.0) as anti-cheating measure.

The next commits will proceed to deprecate / remove functions
that were exclusively (usually belonging to upgradelib) being
used by those, now removed, upgrade steps. This is the list
of code to remove and document in upgrade.txt files:

  - upgrade_analytics_fix_contextids_defaults()
  - upgrade_convert_hub_config_site_param_names()
  - upgrade_rename_prediction_actions_useful_incorrectly_flagged()
  - \mod_forum\task\refresh_forum_post_counts adhoc task.

And these is the code that has NOT been removed
because it may be needed later (no matter there aren't uses now):

  - \core_search\manager::clean_up_non_existing_area(), used by
  - \core\task\clean_up_deleted_search_area_task adhoc task
2022-07-07 19:16:37 +02:00
Eloy Lafuente (stronk7) 1a25935d28 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:16:37 +02:00
Eloy Lafuente (stronk7) 61bdc1e36b 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:16:37 +02:00
Eloy Lafuente (stronk7) f678a20463 MDL-71747 composer: Regenerate with php74 and requirements raised
Now that the required PHP version has been raised to php74, set
it in the composer.json file and regenerate everything, following
the instructions @ https://docs.moodle.org/dev/Composer, also
with php74.

That's the only change (raised php version) as far as no change
has been performed to extension.
2022-07-07 19:16:37 +02:00
Luca Bösch 84f5903114 MDL-74513 block_recentlyaccesseditems: display objects like timeline. 2022-07-07 16:40:02 +02:00
Luca Bösch 102c93edb5 MDL-74171 core_question: qbank_plugins page table sort. 2022-07-07 16:39:56 +02:00
Jun Pataleta a23f0bff3e weekly release 4.1dev 2022-07-07 21:32:59 +08:00
Jun Pataleta 55b9ff4f36 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-07-07 21:32:58 +08:00
Shamim Rezaie 696aa3ea40 MDL-56923 gradingform_guide: Fix icon positioning in RTL 2022-07-07 16:01:18 +10:00
Jun Pataleta f9af45eff5 Merge branch 'MDL-75058-master' of https://github.com/jleyva/moodle 2022-07-07 12:07:55 +08:00
Jake Dallimore 4afcb0dce8 Merge branch 'MDL-69400-master' of https://github.com/abgreeve/moodle 2022-07-07 11:48:29 +08:00
Jun Pataleta 2857a3219c Merge branch 'MDL-75054' of https://github.com/paulholden/moodle 2022-07-07 11:05:11 +08:00
Jun Pataleta 23f63f8e17 Merge branch 'MDL-74885' of https://github.com/dravek/moodle 2022-07-07 11:01:40 +08:00
Jun Pataleta 0bf9eea6d2 Merge branch 'MDL-75028-master' of https://github.com/rezaies/moodle 2022-07-07 10:59:18 +08:00
Jun Pataleta 972ea1a41d Merge branch 'MDL-75116' of https://github.com/aolley/moodle 2022-07-07 10:47:28 +08:00
Víctor Déniz ee325b4bf8 Merge branch 'MDL-74981-master' of https://github.com/stevandoMoodle/moodle 2022-07-07 00:49:18 +01:00
Víctor Déniz 715fd4cf3c Merge branch 'MDL-74835_update-nodejs-version-in-travis-integration-to-lts-gallium' of https://github.com/ziegenberg/moodle 2022-07-06 12:18:01 +01:00
Jun Pataleta ce043a452e Merge branch 'MDL-74741-master' of https://github.com/rezaies/moodle 2022-07-06 16:46:05 +08:00
stevando 014f2f5d5f MDL-72171 tool_mobile: Ensure auto login URL is always local 2022-07-06 14:25:07 +08:00
David Matamoros ecb95114e9 MDL-74885 reportbuilder: format value using percents from lang pack 2022-07-06 08:17:20 +02:00
Mihail Geshoski 2ccd1e773c MDL-71921 scorm: Sanitize element names before outputting track details 2022-07-06 05:24:15 +02:00
Alex Morris aebd3576a6 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:24:15 +02:00
Huong Nguyen 3cafb305de MDL-72029 Lesson: Prevent arbitrary file read when importing lesson questions in blackboard format 2022-07-06 05:24:15 +02:00
Huong Nguyen d585f902fc MDL-72029 lib: Prevent path traversal for clean_param with PARAM_SAFEPATH 2022-07-06 05:24:15 +02:00
Laurent David 579c15842a MDL-74473 core_analytics: Upgrade ML Backend to 3.0.5 2022-07-06 05:24:15 +02:00
Jake Dallimore 805d92152e MDL-72299 mod_lti: fix html escaping when reposting cross site posts 2022-07-06 05:24:15 +02:00
Andrew Nicols b71b2311f3 Merge branch 'MDL-73305_master' of https://github.com/tasosb/moodle 2022-07-06 11:15:51 +08:00
Andrew Nicols 9783c54df1 Merge branch 'MDL-74408' of https://github.com/paulholden/moodle 2022-07-06 11:02:15 +08:00
Andrew Nicols 319e14e6cf Merge branch 'MDL-74972-master' of https://github.com/marinaglancy/moodle 2022-07-06 10:58:03 +08:00
Jun Pataleta f739d61ae2 Merge branch 'MDL-74596-master' of https://github.com/marinaglancy/moodle 2022-07-06 10:57:14 +08:00
Jun Pataleta 6d99ad85db Merge branch 'MDL-74813-master' of https://github.com/mihailges/moodle 2022-07-06 10:53:01 +08:00
Mihail Geshoski ca1fe2afa3 MDL-74813 filepicker: Replace the dnd gif animation with a static icon 2022-07-06 10:17:04 +08:00
Paul Holden ec452a4e88 MDL-75152 reportbuilder: unique default tag aliases across entities. 2022-07-05 21:45:23 +01:00
Jun Pataleta 1a74206dbc Merge branch 'MDL-74821-master' of https://github.com/junpataleta/moodle 2022-07-05 22:14:00 +08:00
Laurent David 629bb7f54d 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:24:23 +08:00
Jun Pataleta d3565b60f3 Merge branch 'MDL-74505-master' of https://github.com/JBThong/moodle 2022-07-05 21:15:37 +08:00
Marina Glancy b2565dd580 MDL-74596 core_admin: option to hide search input on admin pages 2022-07-05 12:28:21 +03:00
Jake Dallimore 10c837f157 Merge branch 'MDL-74815-master' of https://github.com/junpataleta/moodle 2022-07-05 14:52:04 +08:00
Thong Bui def8753d52 MDL-74505 Question bank: Improve behat steps 2022-07-05 13:28:28 +07:00
Thong Bui 035b55252d MDL-74505 Question bank: Update validation editing question form. 2022-07-05 13:28:24 +07:00
Adrian Greeve 7d0c60eecf MDL-69400 mod_forum: Added calender event refreshing. 2022-07-05 13:25:56 +08:00
Jake Dallimore 8e5a19b6cb Merge branch 'master_mdl-73498' of https://github.com/daniil-berg/moodle 2022-07-05 12:00:43 +08:00
AMOS bot e1139b9bdd Automatically generated installer lang files 2022-07-05 00:08:26 +00:00
Adam Olley c0c1653b52 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:03 +09:30
Jun Pataleta 27b5573e51 Merge branch 'MDL-74516' of https://github.com/stronk7/moodle 2022-07-04 23:17:20 +08:00
Jun Pataleta 986e9a2777 Merge branch 'MDL-75008-master-enfix' of https://github.com/mudrd8mz/moodle 2022-07-04 22:18:39 +08:00
Paul Holden dc60fe6662 MDL-75119 reportbuilder: preload context data for column callbacks.
This prevents additional requests for context instances in the
callback methods, by preloading all required data in the initial
field select.
2022-07-04 13:07:02 +01:00
Jun Pataleta d323559965 MDL-74815 pix: Convert PNG version of darkened SVG icons
* Conversion was done using rsvg-convert from librsvg
2022-07-04 14:03:39 +08:00
Mikhail Golenkov 7725abc4a8 MDL-72905 course: Add new callback for timeline classification 2022-07-04 14:47:07 +10:00
Jun Pataleta 12ee00bdf6 MDL-74815 pix: Darken colour of grey icons
* Change the fill colour of grey icons from #999 to #888.
2022-07-04 11:29:47 +08:00
sam marshall f83782af74 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:10:17 +01:00
Eloy Lafuente (stronk7) 64bf0e9165 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:51 +02:00
Eloy Lafuente (stronk7) b3b1006201 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:51 +02:00
Víctor Déniz 9ccda59e00 weekly release 4.1dev 2022-07-01 11:28:36 +01:00
Marina Glancy 3dde885ec7 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:30:02 +02:00
Marina Glancy 33f81c73c3 MDL-74969 core_form: same style for headers without shortforms 2022-07-01 10:19:16 +02:00
Andrew Nicols aee73d839a Merge branch 'MDL-74841-master-fix' of https://github.com/andelacruz/moodle 2022-07-01 11:57:22 +08:00
Angelia Dela Cruz 1648b28977 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:40:38 +08:00
David Mudrák 0c1d4b219a MDL-75008 lang: Use the fixed strings in Behat scenario files 2022-06-30 20:48:16 +02:00
Helen Foster e73756abdd MDL-75008 lang: Import fixed English strings (en_fix) 2022-06-30 20:31:27 +02:00
Mihail Geshoski 29c77d97a3 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:16:13 +08:00
Shamim Rezaie d380bec38e Merge branch 'MDL-74812-master' of https://github.com/junpataleta/moodle 2022-06-30 13:34:17 +10:00
Jun Pataleta 028cbda036 Merge branch 'MDL-75048-master' of https://github.com/jleyva/moodle 2022-06-30 11:30:30 +08:00
Shamim Rezaie 3af7eee03d Merge branch 'MDL-75072-master' of https://github.com/junpataleta/moodle 2022-06-30 13:27:28 +10:00
Shamim Rezaie 718cb293b1 Merge branch 'MDL-75055-master' of https://github.com/junpataleta/moodle 2022-06-30 13:20:02 +10:00
Andrew Nicols 81ba0563ce Merge branch 'MDL-75084-master' of https://github.com/NoelDeMartin/moodle 2022-06-30 11:12:45 +08:00
Andrew Nicols 6d46332a94 Merge branch 'MDL-74613-master' of https://github.com/NoelDeMartin/moodle 2022-06-30 11:02:41 +08:00
Andrew Nicols 956bb8eb18 Merge branch 'MDL-74220-master' of https://github.com/NoelDeMartin/moodle 2022-06-30 10:58:12 +08:00
Andrew Nicols 68cc906825 Merge branch 'MDL-74744-master' of https://github.com/andelacruz/moodle 2022-06-30 10:51:22 +08:00
Andrew Nicols eb7131f091 Merge branch 'MDL-74522-master' of https://github.com/devlionco/moodle 2022-06-30 10:47:34 +08:00
Andrew Nicols 31f23e2a9f Merge branch 'MDL-74841-master' of https://github.com/andelacruz/moodle 2022-06-30 10:43:34 +08:00
Andrew Nicols ce7eee8e77 Merge branch 'MDL-72292-master' of https://github.com/lameze/moodle 2022-06-30 10:38:55 +08:00
Andrew Nicols 694ef721b6 MDL-74379 core: Update date_format_string to use x-os functions 2022-06-30 10:35:19 +08:00
Andrew Nicols 09858c06d7 Merge branch 'MDL-74379_master' of https://github.com/aya-saad1/moodle 2022-06-30 10:34:58 +08:00
Andrew Nicols 3b072f0b59 Merge branch 'MDL-74287' of https://github.com/paulholden/moodle 2022-06-30 10:01:46 +08:00
Víctor Déniz bc398c2605 Merge branch 'MDL-63594_final-deprecation-of-cron_run_single_task-function' of https://github.com/ziegenberg/moodle 2022-06-29 23:58:42 +01:00
Víctor Déniz 32a995faf2 Merge branch 'MDL-72885-master-2' of https://github.com/junpataleta/moodle 2022-06-29 19:03:00 +01:00
Jun Pataleta fc87543d52 Merge branch 'MDL74387_master' of https://github.com/Amrita1991/moodle 2022-06-29 23:20:33 +08:00
Jun Pataleta 453c3ac47d MDL-75055 templates: Apply the .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:04:58 +08:00
Jun Pataleta 3ce2cde773 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:04:58 +08:00
Ilya Tregubov 4e55e7be86 Merge branch 'MDL-74548-master' of https://github.com/cameron1729/moodle 2022-06-29 16:16:59 +04:00
Jun Pataleta f419e44d12 Merge branch 'MDL-74632-master' of https://github.com/HuongNV13/moodle 2022-06-29 18:07:00 +08:00
Jun Pataleta a8de333107 Merge branch 'MDL-74886-master' of https://github.com/lameze/moodle 2022-06-29 17:46:52 +08:00
Anastasios Bithas 53682b209b MDL-73305 mod_folder: Download Folder in a mlang formated folder 2022-06-29 12:46:44 +03:00
Jake Dallimore 6a55fb96ec Merge branch 'MDL-74674-master' of https://github.com/alfonso-salces/moodle 2022-06-29 16:44:23 +08:00
Alfonso Salces db7178edca MDL-74674 core: create notification generators 2022-06-29 10:31:40 +02:00
Víctor Déniz fc5c6b9233 Merge branch 'MDL-74742-master' of https://github.com/junpataleta/moodle 2022-06-29 09:30:03 +01:00
Noel De Martin 2a4ebd1277 MDL-75084 payment: Fix typo 2022-06-29 09:39:39 +02:00
Noel De Martin 2944abad29 MDL-75084 blog: Implement behat generators 2022-06-29 09:39:39 +02:00
Jake Dallimore f1ecddd709 Merge branch 'MDL-74864-master' of https://github.com/dpalou/moodle 2022-06-29 13:40:29 +08:00
Jun Pataleta b7a1693e24 Merge branch 'MDL-74967-master' of https://github.com/lameze/moodle 2022-06-29 12:58:47 +08:00
Cameron Ball 2ac93db399 MDL-74548 backup: Deprecate get/set copy from base controller 2022-06-29 09:14:02 +08:00
Cameron Ball 07e5f432a0 MDL-74548 backup: Deprecate core_backup\copy\copy 2022-06-29 09:14:02 +08:00
Cameron Ball bc9c536335 MDL-74548 backup: Unit tests for course copy refactor 2022-06-29 09:13:29 +08:00
Cameron Ball 29df52af19 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:13:29 +08:00
Simey Lameze c85b88c1b6 MDL-74967 core: deprecate groupmember hack from USER object 2022-06-29 04:55:42 +08:00
Jun Pataleta 9a6d3bb3ba Merge branch 'MDL-74701-master' of https://github.com/HuongNV13/moodle 2022-06-28 23:51:17 +08:00
Jun Pataleta 81faa8184e Merge branch 'MDL-74906-master' of https://github.com/snake/moodle 2022-06-28 23:33:04 +08:00
Jun Pataleta a60a2ad04b Merge branch 'MDL-29717-master' of https://github.com/marinaglancy/moodle 2022-06-28 22:24:59 +08:00
Juan Leyva 6969d2834b MDL-74862 tool_mobile: Allow to disable QR login IP checks 2022-06-28 12:18:58 +02:00
Shamim Rezaie 34d55890f3 Merge branch 'MDL-73121' of https://github.com/paulholden/moodle 2022-06-28 16:08:30 +10:00
Dani Palou 341039b13b MDL-74864 forum: Allow specifying group in discussions generator 2022-06-28 06:59:39 +02:00
Jun Pataleta 6dbfb3bd36 Merge branch 'MDL-68867-master' of https://github.com/lameze/moodle 2022-06-28 11:24:11 +08:00
Jun Pataleta b2bc76e0f7 Merge branch 'MDL-74929-master' of https://github.com/bmbrands/moodle 2022-06-28 11:07:48 +08:00
Jun Pataleta 15608738d9 Merge branch 'MDL-74781_master' of https://github.com/aya-saad1/moodle 2022-06-28 10:44:47 +08:00
Jun Pataleta 4ff322db08 Merge branch 'MDL-69905-master' of https://github.com/lameze/moodle 2022-06-27 22:41:01 +08:00
Juan Leyva 51c9c709a9 MDL-75058 course: Fix support for dates on WebServices 2022-06-27 15:29:36 +02:00
Jun Pataleta d4fe1b3065 MDL-75072 mod_forum: Drop usecoursefullname forum setting 2022-06-27 17:48:59 +08:00
Jun Pataleta 564d0d73f4 MDL-75072 mod_forum: Revert the patch for MDL-74623
This reverts commit bd6fdd70d6.
2022-06-27 17:39:13 +08:00
Paul Holden 2d6139242c MDL-74671 phpunit: remove file/directory coverage duplicates. 2022-06-27 10:16:14 +01:00
Ilya Tregubov 37020ba162 Merge branch 'MDL-74691-master' of https://github.com/snake/moodle 2022-06-27 08:30:18 +04:00
Aya Saad 165d983214 MDL-74781 search: Fix heading repetition in global search page 2022-06-26 10:38:22 +02:00
Aya Saad 8be0dfc928 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:52 +02:00
Paul Holden 721f7a01e8 MDL-74777 reportbuilder: report filter by category/sub-categories.
AMOS BEGIN
 CPY [choosecategory,core_grades],[categoryselect,core_reportbuilder]
AMOS END
2022-06-24 11:44:50 +01:00
Paul Holden 1dba7152d0 MDL-74595 calendar: consistent breadcrumbs navigating site calendar.
Take #3, see also 7a529cc8 and 81b0d053.
2022-06-24 10:14:49 +01:00
Paul Holden 52992d993c MDL-73568 admin: show accepted types for stored file config settings.
Re-factor existing code to make use of file manager class that renders
these details for us by default.

Co-authored-by: Simey Lameze <simey@moodle.com>
2022-06-24 10:13:09 +01:00
Shamim Rezaie 1657669d98 MDL-74741 javascript: Set the role of d&d links to button 2022-06-24 14:24:18 +10:00
Shamim Rezaie 584468c6b0 MDL-74741 javascript: A11y fix for dialogues visible from beginning 2022-06-24 14:24:17 +10:00
Jun Pataleta ceb41588d2 weekly release 4.1dev 2022-06-24 11:59:02 +08:00
Jun Pataleta 9c61045945 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-06-24 11:58:59 +08:00
Yan Kudriavtsev 18dcdd7763 MDL-69905 block: order of activities in the block Recent Activity
The order of actions in the "Recent Actions" block has been changed to
descending
2022-06-24 11:30:23 +08:00
Rodrigo Mady da Silva 892047d3c8 MDL-74827 core_webservice: Add enablecustomreports in WS get_site_info 2022-06-23 12:00:43 -03:00
Rodrigo Mady da Silva fad1926b98 MDL-74825 tool_mobile: Add customusermenuitems in mobile WS get_config 2022-06-23 08:47:15 -03:00
stevando 05dcc9eb12 MDL-74981 mod_quiz: set limited width on overrides pages 2022-06-23 18:01:56 +08:00
stevando d04d70bb60 MDL-74981 mod_assign: set limited width on overrides pages 2022-06-23 18:01:39 +08:00
Jun Pataleta fc76c284b1 Merge branch 'MDL-74623_master_v2' of https://github.com/TomoTsuyuki/moodle 2022-06-23 11:55:30 +08:00
Jun Pataleta 24b826f38d Merge branch 'MDL-69939' of https://github.com/paulholden/moodle 2022-06-23 09:53:44 +08:00
Jun Pataleta 79b54a59a4 Merge branch 'MDL-74713' of https://github.com/paulholden/moodle 2022-06-23 09:51:50 +08:00
Jun Pataleta 626d0fe77f Merge branch 'MDL-73156-master' of https://github.com/michael-milette/moodle 2022-06-23 09:50:41 +08:00
Jun Pataleta 271c69fd84 Merge branch 'MDL-74785' of https://github.com/danmarsden/moodle 2022-06-23 09:48:47 +08:00
Paul Holden eb44a074fb MDL-75054 reportbuilder: fix docblock for adding column callback.
Parameter type is now preserved, since ea45aefe.
2022-06-22 23:57:26 +01:00
Juan Leyva a3201673be MDL-75048 mod_quiz: Use new way to check if subcats are included 2022-06-22 18:14:05 +02:00
Jun Pataleta 8ff58878e7 Merge branch 'MDL-72948' of https://github.com/NeillM/moodle 2022-06-22 23:16:16 +08:00
Neill Magill 6fb4a3b56e MDL-72948 messaging: Minimise fields used in query
Most of the fields in the query are not needed and are discarded
soon after visibility checks are made.
2022-06-22 10:11:18 +01:00
Shamim Rezaie 1296d39194 Merge branch 'master-MDL-71468-v4' of https://github.com/golenkovm/moodle 2022-06-22 14:54:01 +10:00
Mikhail Golenkov 9e074f2436 MDL-74736 task: Log adhoc task id and its custom data 2022-06-22 10:33:25 +10:00
Simey Lameze 24cd968683 MDL-68867 calendar: remove dependency on USER->groupmember hack 2022-06-22 07:56:41 +08:00
Víctor Déniz ed249020ea Merge branch 'MDL-72486-unproxied-logging' of https://github.com/brendanheywood/moodle 2022-06-21 19:23:06 +01:00
Jun Pataleta 8059552597 Merge branch 'MDL-73212' of https://github.com/stronk7/moodle 2022-06-21 23:50:51 +08:00
Eloy Lafuente (stronk7) b4a86ff674 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:54:13 +02:00
Rodrigo Mady da Silva 62bee73724 MDL-74826 tool_mobile: Add reportbuilder option in disabledfeatures 2022-06-21 11:30:49 -03:00
Shamim Rezaie 3d5ad1c391 MDL-75028 theme_boost: fix the inline edit tooltip for RTL 2022-06-21 17:30:26 +10:00
Jun Pataleta 767a1e74be 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:24:42 +08:00
Jun Pataleta 0999f65f71 Merge branch 'MDL-74630-master' of https://github.com/aanabit/moodle 2022-06-21 10:12:33 +08:00
Tomo Tsuyuki bd6fdd70d6 MDL-74623 mod_forum: Add course full name option for notification 2022-06-21 11:28:44 +10:00
AMOS bot 0e57e16eba Automatically generated installer lang files 2022-06-21 00:09:45 +00:00
Jun Pataleta cf77cd6665 MDL-74812 gradingform_rubric: Fix text overlap in rubric levels 2022-06-21 00:23:29 +08:00
Jun Pataleta b912f84d5f MDL-74812 gradingform_rubric: Do not use deprecated width attribute
Use inline CSS style to define level width instead.
2022-06-20 22:53:30 +08:00
Jun Pataleta 4ff4ce32e2 MDL-74812 mod_assign: Remove duplicate ID intro 2022-06-20 22:53:30 +08:00
Jun Pataleta 09410d2f91 Merge branch 'MDL-74715' of https://github.com/paulholden/moodle 2022-06-20 21:57:39 +08:00
Daniil Fajnberg 11dbde1294 MDL-73498 mod_lti: iframe allowed domain fixed 2022-06-20 15:53:45 +02:00
Paul Holden f961443652 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:10 +01:00
Jun Pataleta 240d7f6054 Merge branch 'MDL-74358' of https://github.com/stronk7/moodle 2022-06-20 14:40:07 +08:00
Jun Pataleta 9182cb11c7 Merge branch 'MDL-74716-master' of https://github.com/aanabit/moodle 2022-06-20 10:25:20 +08:00
Brendan Heywood 9fa26ed911 MDL-72486 core: Add unsafe log and fix options to proxy settings 2022-06-20 11:18:42 +10:00
Jun Pataleta a966a04e3b 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-18 00:56:44 +08:00
Ilya Tregubov 70fb867346 Merge branch 'MDL-74694' of https://github.com/paulholden/moodle 2022-06-17 15:07:04 +04:00
Paul Holden 3eeaf49c8c MDL-69939 webservice: correct AJAX bool value in services definition. 2022-06-17 11:03:47 +01:00
Paul Holden e9135d6708 MDL-74314 grade: use repeatable form elements for grade letters. 2022-06-17 10:48:26 +01:00
Eloy Lafuente (stronk7) ed0913d45b MDL-74358 availability: Avoid php8 problem with array_values(null) 2022-06-17 11:09:46 +02:00
Ilya Tregubov be63f1c2ed Merge branch 'MDL-74296-master' of https://github.com/call-learning/moodle 2022-06-17 12:54:38 +04:00
Mikhail Golenkov e4784db136 MDL-71468 assignfeedback_editpdf: Convert submissions via adhoc tasks 2022-06-17 18:04:17 +10:00
Jun Pataleta b81fb00f25 weekly release 4.1dev 2022-06-17 15:30:26 +08:00
Eloy Lafuente (stronk7) 2231b73953 Merge branch 'MDL-72324-master-fix' of https://github.com/junpataleta/moodle 2022-06-17 08:38:30 +02:00
Jun Pataleta fb0d963562 MDL-72324 core: Add upgrade.txt note about $plugin->incompatible 2022-06-17 10:33:49 +08:00
Jun Pataleta 19c6eccf47 Merge branch 'MDL-74529' of https://github.com/paulholden/moodle 2022-06-17 10:17:12 +08:00
Jun Pataleta 8f947b8ebd Merge branch 'MDL-74533-master' of https://github.com/BruceGoodGuy/moodle 2022-06-17 10:17:12 +08:00
Jun Pataleta efbb07aeb6 Merge branch 'MDL-72555-master' of https://github.com/laurentdavid/moodle 2022-06-17 10:17:11 +08:00
Simey Lameze b20cca2690 MDL-72292 core: add param type and polishing 2022-06-17 09:50:38 +08:00
Alexander Bias 8583feb724 MDL-72292 core: Check if fulldir is set when loading renamed classes 2022-06-17 09:41:07 +08:00
Ferran Recio 31b4535695 MDL-74716 core_my: Fix My course user tour for admins 2022-06-16 19:10:33 +02:00
Paul Holden 53c8802545 MDL-74988 core: reset times for entire filearea in upgrade test.
The previous code was resetting timestamps for only the file itself,
which could lead to it having an earlier time than the root entry of
it's filearea.

This caused sporadic test failures when the current time ticked over
by a second during execution.
2022-06-16 10:50:06 +01:00
Paul Holden 240085fd1d 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:51 +01:00
Paul Holden 5388f91fe2 MDL-74287 media_videojs: skip dynamic loader during install/upgrade. 2022-06-16 08:07:51 +01:00
Jake Dallimore 0d6759dad0 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:55:09 +08:00
Jun Pataleta ed2e6a9fa8 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:24:54 +08:00
Jake Dallimore f714c61b82 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 12:50:42 +08:00
Michael Milette 416527fd73 MDL-73156 user: Custom user profile field names now filtered. 2022-06-15 11:48:50 -04:00
Jun Pataleta 5b6d6ffc36 Merge branch 'MDL-74565' of https://github.com/paulholden/moodle 2022-06-15 23:21:52 +08:00
Jun Pataleta b184248c47 Merge branch 'MDL-72324-incompatible-check' of https://github.com/Peterburnett/moodle 2022-06-15 23:04:30 +08:00
Jun Pataleta b0da5072f6 Merge branch 'MDL-72699' of https://github.com/paulholden/moodle 2022-06-15 22:53:22 +08:00
Ilya Tregubov 85463a83f6 Merge branch 'MDL-73726' of https://github.com/paulholden/moodle 2022-06-15 14:36:16 +04:00
Jun Pataleta dfca2aad61 Merge branch 'MDL-73966' of https://github.com/paulholden/moodle 2022-06-15 18:06:30 +08:00
Paul Holden b6f4ec679f MDL-72699 course: link to profile of user who requested course. 2022-06-15 10:57:50 +01:00
Jun Pataleta c6d752bb83 Merge branch 'MDL-74871' of https://github.com/paulholden/moodle 2022-06-15 17:16:57 +08:00
Mihail Geshoski 4ef7fc3895 MDL-67347 lang: Final removal of deprecated strings in 3.9 2022-06-15 16:46:16 +08:00
Jun Pataleta c3d4845de2 Merge branch 'MDL-74634' of https://github.com/paulholden/moodle 2022-06-15 16:42:21 +08:00
Jun Pataleta 985fd305c6 Merge branch 'MDL-73293-patch' of https://github.com/ilyatregubov/moodle 2022-06-15 15:48:59 +08:00
Ilya Tregubov 41cf7a58f1 MDL-73293 core_task: patch for undefined propety. 2022-06-15 11:31:31 +04:00
Bas Brands dde7d102e9 MDL-74929 mod_assign: remove incorrect closing </div> 2022-06-15 09:00:31 +02:00
Jun Pataleta 1776903721 Merge branch 'MDL-73110' of https://github.com/paulholden/moodle 2022-06-15 14:36:36 +08:00
Jun Pataleta 86676d6811 Merge branch 'MDL-72184' of https://github.com/paulholden/moodle 2022-06-15 10:27:56 +08:00
Jun Pataleta 9eafcc2b41 Merge branch 'MDL-73236-M41v2' of https://github.com/sbourget/moodle 2022-06-15 10:23:57 +08:00
Stephen Bourget 407c950573 MDL-73236 block_myprofile: add idnumber support 2022-06-14 15:36:19 -04:00
Paul Holden e0b0908ba9 MDL-74713 admin: format custom profile fields in identify config. 2022-06-14 17:19:39 +01:00
Jun Pataleta 21cb1ff330 Merge branch 'MDL-74790' of https://github.com/paulholden/moodle 2022-06-14 22:54:08 +08:00
Amaia Anabitarte 2c010bbd7b MDL-74716 course: Add Request a course link to My courses 2022-06-14 16:53:38 +02:00
Jun Pataleta 9343c046bd Merge branch 'MDL-74573-master' of https://github.com/aya-saad1/moodle 2022-06-14 22:37:08 +08:00
Jun Pataleta cf4b1e169a Merge branch 'MDL-74649' of https://github.com/paulholden/moodle 2022-06-14 22:27:16 +08:00
Sara Arjona 87226f0ff7 Merge branch 'master-MDL-74234-v2' of https://github.com/golenkovm/moodle 2022-06-14 15:38:56 +02:00
Sara Arjona fe08655918 Merge branch 'MDL-73842' of https://github.com/paulholden/moodle 2022-06-14 15:19:55 +02:00
Marina Glancy d6540ddfda MDL-74972 core_form: frozen autocomplete element does not display values 2022-06-14 13:27:01 +02:00
Víctor Déniz d7f6af48d4 Merge branch 'MDL-74526-master' of https://github.com/devlionco/moodle 2022-06-14 10:12:19 +01:00
Mikhail Golenkov 6684ca3da7 MDL-74234 assign: Fix grading page for filtered out users 2022-06-14 19:04:06 +10:00
Víctor Déniz 5481e7999c Merge branch 'MDL-74449' of https://github.com/stronk7/moodle 2022-06-14 10:03:22 +01:00
Laurent David 34fc0fa049 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:06:34 +02:00
Jun Pataleta 10cbe48350 Merge branch 'MDL-74816-master' of https://github.com/dpalou/moodle 2022-06-14 14:03:51 +08:00
Jun Pataleta 586f79f15b Merge branch 'MDL-74597' of https://github.com/paulholden/moodle 2022-06-14 12:55:03 +08:00
Paul Holden e1fefe2e14 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:28 +01:00
Ilya Tregubov 6b1122b0ae Merge branch 'MDL-74453-master' of https://github.com/dravek/moodle 2022-06-13 15:03:42 +04:00
Jun Pataleta 0e853ae535 Merge branch 'MDL-74455' of https://github.com/paulholden/moodle 2022-06-13 17:20:39 +08:00
Ilya Tregubov 7512a808e1 Merge branch 'MDL-74628' of https://github.com/paulholden/moodle 2022-06-13 10:55:34 +04:00
Ilya Tregubov 9932acd6b3 Merge branch 'MDL-73293-master' of https://github.com/cameron1729/moodle 2022-06-13 09:50:13 +04:00
Jake Dallimore 49cb3cbbef Merge branch 'MDL_74310_master' of https://github.com/cengage/moodle 2022-06-13 11:45:55 +08:00
Jake Dallimore ce691018db Merge branch 'MDL69756_master' of https://github.com/Amrita1991/moodle 2022-06-13 11:12:16 +08:00
Jake Dallimore b76dbf7d73 Merge branch 'MDL-74718-master' of https://github.com/sharidas/moodle 2022-06-13 10:53:03 +08:00
Huong Nguyen 47c6c30178 MDL-74701 core: Fix popover elements are focusable even when hidden 2022-06-13 09:44:55 +07:00
Paul Holden f70fc89217 MDL-74565 gradereport_grader: define capability required for editing. 2022-06-12 20:04:28 +01:00
Paul Holden 47d119945d MDL-74634 theme_boost: remove old drawer-open-nav user preference. 2022-06-12 20:01:23 +01:00
Paul Holden 9ebd801c07 MDL-73842 reportbuilder: add tags elements to course/user entities.
Both entities define columns and filters for related tags (referred
to as "interests" for users).

Create new generic tags filter type to facilitate this, which can be
re-used by any entities for components which support tagging.
2022-06-12 19:53:24 +01:00
Paul Holden a1ba5c5f53 MDL-74694 reportbuilder: unit test coverage of external exporters. 2022-06-12 19:46:39 +01:00
Paul Holden 07d4be70f8 MDL-74694 reportbuilder: standardize report exporter boolean values.
Specify boolean properties as such, avoid direct interpolation into
templates.
2022-06-12 19:46:39 +01:00
Paul Holden f9b4611156 MDL-72184 reportbuilder: make use of new methods moved to drivers. 2022-06-12 19:31:34 +01:00
Paul Holden 27f9929b52 MDL-72184 dml: implement driver methods for casting to char. 2022-06-12 19:31:34 +01:00
Ilya Dymshits 68121af5c6 MDL-74526 theme: remove icon from empty categories in RTL languages 2022-06-12 10:40:29 +03:00
Eloy Lafuente (stronk7) e0d79c8e71 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:53 +02:00
Laurent David 48d5ef1c93 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:27 +02:00
Sara Arjona ca583bddaf weekly release 4.1dev 2022-06-10 17:08:15 +02:00
Sara Arjona 331aa38101 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-06-10 17:08:11 +02:00
Amrita a3226cf290 MDL-74387 url: exception for php to correct icon 2022-06-10 15:53:10 +02:00
Jun Pataleta 4bcd61f618 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:12:35 +02:00
Jun Pataleta bfa2c03191 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:12:35 +02:00
Shamim Rezaie 0d61bf1b87 Merge branch 'MDL-73693' of https://github.com/paulholden/moodle 2022-06-10 13:12:35 +02:00
Andrew Nicols 5aae67880d MDL-73013 filelib: Fix code lint 2022-06-10 13:12:35 +02:00
Andrew Nicols 0b305d9330 MDL-73013 filelib: Address coding style violations 2022-06-10 13:12:35 +02:00
Andrew Nicols 90fb816444 Merge branch 'MDL-73013' of https://github.com/paulholden/moodle 2022-06-10 13:12:35 +02:00
Jake Dallimore 77b8c72bed Merge branch 'MDL-72377' of https://github.com/paulholden/moodle 2022-06-10 13:12:34 +02:00
Shamim Rezaie dea18d2f47 Merge branch 'MDL-73916-master' of https://github.com/dravek/moodle 2022-06-10 13:12:33 +02:00
Shamim Rezaie 34a78332ca Merge branch 'MDL-74495-feedback-on-manual-grading' of https://github.com/PhilippImhof/moodle 2022-06-10 13:12:12 +02:00
Andrew Nicols efb5c089c6 Merge branch 'MDL-73466' of https://github.com/paulholden/moodle 2022-06-10 13:12:12 +02:00
Andrew Nicols 4a6966dd45 Merge branch 'MDL-74553-master' of https://github.com/marinaglancy/moodle 2022-06-10 13:12:12 +02:00
Andrew Nicols 14655fdc74 Merge branch 'MDL-74764-master' of https://github.com/BruceGoodGuy/moodle 2022-06-10 13:12:11 +02:00
Víctor Déniz bff506ef6b Merge branch 'MDL-69970_master' of https://github.com/aya-saad1/moodle 2022-06-10 13:12:11 +02:00
Sara Arjona c46ab4ef04 Merge branch 'MDL-74095_upgrade-adobb-to-5-22' of https://github.com/ziegenberg/moodle 2022-06-10 13:12:11 +02:00
Sara Arjona bb5831c623 Merge branch 'MDL-74733-master' of https://github.com/sammarshallou/moodle 2022-06-10 13:12:10 +02:00
Sara Arjona 9acbbe11d1 Merge branch 'MDL-74802-master-2' of https://github.com/junpataleta/moodle 2022-06-10 13:11:52 +02:00
Sara Arjona ef9368967f Merge branch 'MDL-74577-master' of https://github.com/sharidas/moodle 2022-06-10 13:11:52 +02:00
Sara Arjona 67237e7d94 Merge branch 'MDL-74327' of https://github.com/paulholden/moodle 2022-06-10 13:11:52 +02:00
Ilya Tregubov bdd9ff353b Merge branch 'MDL-74192' of https://github.com/paulholden/moodle 2022-06-10 13:11:50 +02:00
Ilya Tregubov d5c8f25470 Merge branch 'MDL-74147' of https://github.com/paulholden/moodle 2022-06-10 13:11:25 +02:00
Jun Pataleta 545d848064 Merge branch 'MDL-72193' of https://github.com/paulholden/moodle 2022-06-10 13:11:25 +02:00
Angelia Dela Cruz 9bdbfeb44f 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:01:03 +08:00
Paul Holden 3d7c732b36 MDL-74649 course: render scale information using page popup layout. 2022-06-09 12:18:45 +01:00
Jake Dallimore a611b8d296 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:52:36 +08:00
Paul Holden d91df53d63 MDL-74408 core: exclude empty patterns in divert email config. 2022-06-09 09:39:17 +01:00
Sujith Haridasan 3ad2833dd9 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:02:34 +05:30
Cameron Ball cd1a7291ea MDL-73293 core_task: Cleanup stale adhoc task metadata 2022-06-09 14:15:37 +08:00
Paul Holden 3642b6d65d MDL-73466 forumreport_summary: use formatted course module name. 2022-06-08 21:37:05 +01:00
Paul Holden 1cd65d696f MDL-74455 filter_multilang: add text labels for plugin settings.
AMOS BEGIN
 MOV [multilangforceold,core_admin],[forceoldsyntax_desc,filter_multilang]
AMOS END
2022-06-08 18:52:12 +01:00
Daniel Ziegenberg bfe70c09f9 MDL-74095 lib: Upgrade ADODB to 5.22.2
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-06-08 18:18:47 +02:00
sam marshall 96e2caeaa2 MDL-74733 core_navigation: Secondary nav in plugins, change namespace
Secondary nav previously had to be in my_plugin\local\views\secondary; this
location continues to work but is deprecated. The new location is
my_plugin\navigation\views\secondary.
2022-06-08 15:40:44 +01:00
Paul Holden 432fbbc81a MDL-74327 calendar: format event location property if it's a URL. 2022-06-08 10:44:39 +01:00
Víctor Déniz 90f2c3fe50 Merge branch 'MDL-73774-master' of https://github.com/HuongNV13/moodle 2022-06-08 10:14:31 +01:00
Víctor Déniz fb578bb59c Merge branch 'MDL-74726-master' of https://github.com/ssj365/moodle 2022-06-08 09:59:07 +01:00
Daniel Ziegenberg e2d788f617 MDL-63594 core: Final deprecation of CLI script from admin/tool/task/cli
Following MDL-63580 this now finally deprecates and removes the class
\tool_task\run_from_cli, please use \core\task\manager.

Following MDL-63580 this now finally deprecates and removes
 - admin/tool/task/cli/schedule_task.php, use admin/cli/scheduled_task.php
 - admin/tool/task/cli/adhoc_task.php, use admin/cli/adhoc_task.php

Also mentions and references to the old CLI scripts are updated to
point to the new counterparts.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-06-08 10:55:30 +02:00
Daniel Ziegenberg 1b28ca2520 MDL-63594 core: Final deprecation and removal of cron_run_single_task()
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-06-08 10:54:46 +02:00
Sara Arjona 0249e4046f Merge branch 'MDL-74182-master' of https://github.com/ericmerrill/moodle 2022-06-08 10:41:48 +02:00
gthomas2 7d8fef801a MDL-74922 javascript: storragewrapper validateCache fix 2022-06-08 09:34:53 +01:00
Adam Olley 3fc9e345d0 MDL-74886 core_admin: Add unit test
Simple unit test to verify we don't get the TypeError anymore.
2022-06-08 10:06:23 +08:00
Simey Lameze 91acfa2b50 MDL-74886 core_admin: cast value and unit to integer 2022-06-08 10:06:22 +08:00
Peter Burnett 3a33d05710 MDL-72324 upgrade: Fix incompatible check in upgrade to match docs 2022-06-08 10:49:37 +10:00
AMOS bot 5c2a0288d2 Automatically generated installer lang files 2022-06-08 00:08:20 +00:00
Sara Arjona c6cca5f1fe Merge branch 'MDL-74605' of https://github.com/paulholden/moodle 2022-06-07 17:20:41 +02:00
Sara Arjona 47097ae519 Merge branch 'MDL-74678' of https://github.com/lostrogit/moodle 2022-06-07 17:01:18 +02:00
Sara Arjona 52c88dc744 Merge branch 'MDL-74344' of https://github.com/paulholden/moodle 2022-06-07 16:51:46 +02:00
Sara Arjona d0f6f52b68 Merge branch 'MDL-74710-master' of https://github.com/ilyatregubov/moodle 2022-06-07 16:25:26 +02:00
Sara Arjona 8967de58b5 Merge branch 'MDL-72983' of https://github.com/paulholden/moodle 2022-06-07 16:08:08 +02:00
Alexey 25b5125187 MDL-74522 lib/classes/navigation fix Navbar My courses data-key value 2022-06-07 16:29:31 +03:00
Ilya Tregubov 2666976929 Merge branch 'MDL-74760' of https://github.com/timhunt/moodle 2022-06-07 16:34:26 +04:00
Tim Hunt 6c161f3b99 MDL-74760 activity web services: refactor duplicate code 2022-06-07 12:53:34 +01:00
Paul Holden 81474399b1 MDL-74628 forumreport_summary: remove left margin of filter popover. 2022-06-07 11:08:44 +01:00
Paul Holden 6caee96d21 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:58:03 +01:00
Huong Nguyen e29cbbc715 MDL-73774 timeline: Prevent ID duplication 2022-06-07 11:47:49 +07:00
Shamim Rezaie 8621fd2d67 Merge branch 'MDL-74720' of https://github.com/lostrogit/moodle 2022-06-07 14:30:19 +10:00
Jun Pataleta e0d799b2d7 Merge branch 'MDL-70223_master' of https://github.com/aya-saad1/moodle 2022-06-07 10:29:55 +08:00
AMOS bot 6f50af18cf Automatically generated installer lang files 2022-06-07 00:08:16 +00:00
Paul Holden 9394d5618d MDL-74871 user: account for absense of identity fields during export. 2022-06-06 21:10:42 +01:00
Paul Holden 0a9d31e988 MDL-72983 tool_dataprivacy: respect capability to export own data. 2022-06-06 20:50:32 +01:00
Paul Holden 3596fc1fe6 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:31:03 +01:00
Paul Holden 67b15496c3 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:31:02 +01:00
Paul Holden 47f9106c42 MDL-73121 atto_managefiles: match used files enclosed by quotes. 2022-06-06 15:17:20 +01:00
Carlos Castillo 04f0152a91 MDL-74720 reportbuilder: Limiting the number of custom reports 2022-06-06 08:57:13 -05:00
Ilya Tregubov a1f60915d4 Merge branch 'MDL-74599' of https://github.com/paulholden/moodle 2022-06-06 15:48:21 +06:00
Paul Holden 72286f9296 MDL-73726 reportbuilder: restrict schedule formats to enabled types. 2022-06-06 09:32:36 +01:00
Paul Holden 473ac1285e MDL-73726 dataformat: obey sort order when returning enabled plugins. 2022-06-06 09:32:36 +01:00
Paul Holden 9ec385a533 MDL-73693 reportbuilder: report filter by specific user. 2022-06-06 09:12:56 +01:00
Ilya Tregubov 3a9b097f5c Merge branch 'MDL-74600' of https://github.com/paulholden/moodle 2022-06-06 12:52:16 +06:00
Ilya Tregubov 07c145cb53 Merge branch 'MDL-69951-remove_drop-font-tags' of https://github.com/leonstr/moodle 2022-06-06 11:11:07 +06:00
Dat Nguyen d49d3cbb75 MDL-74061 blocks_completion: Adding time in completion progress details 2022-06-06 05:33:23 +01:00
aya.saad fd79cbe849 MDL-74573 mod_assign: convert view other attempt link to a button 2022-06-05 09:22:21 +02:00
aya.saad ec1e17a73b MDL-70223 h5p: fix invalid id when adding h5p activity 2022-06-05 09:20:16 +02:00
aya.saad 8636718cee MDL-69970 icons: flip help icon direction in RTL languages 2022-06-05 09:18:26 +02:00
Marina Glancy e3bd0f7348 MDL-29717 core_webservice: Display deprecated badge in API docs 2022-06-03 16:17:47 +02:00
Shamim Rezaie 3b72e759ab Merge branch 'MDL-74250-master' of https://github.com/adpe/moodle 2022-06-03 18:42:13 +10:00
David Matamoros c6777c9cbf MDL-73916 reportbuilder: Allow to set default condition values
- Changes on datasource class to allow to set default condition values
- Added default condition 'suspended' set to 'no' on users datasource
2022-06-03 08:43:46 +02:00
David Matamoros 669e71b956 MDL-74453 reportbuilder: Add authentication method filter
- Add authentication method filter to the user entity
2022-06-03 08:40:06 +02:00
Andrew Nicols 70c7443d80 Merge branch 'MDL-73302-master' of https://github.com/dravek/moodle 2022-06-03 13:34:32 +08:00
Andrew Nicols 15e7c8d1b3 Merge branch 'MDL-73898' of https://github.com/paulholden/moodle 2022-06-03 13:30:50 +08:00
Shamim Rezaie a239d8e182 Merge branch 'MDL-74699-master' of https://github.com/snake/moodle 2022-06-03 14:45:30 +10:00
Andrew Nicols 5500d143f4 weekly release 4.1dev 2022-06-03 11:03:56 +08:00
Andrew Nicols e48e95f298 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-06-03 11:03:53 +08:00
AMOS bot d7d1c27df0 Automatically generated installer lang files 2022-06-03 00:08:12 +00:00
Jun Pataleta 7038d731eb Merge branch 'MDL-66453-fix' of https://github.com/sarjona/moodle 2022-06-02 22:39:20 +08:00
Sara Arjona cbf878cce4 MDL-66453 uploadusers: Fix behat with classic
This patch fixes the behat failures with classic for the scenario
"Upload users enrolling them on courses and assign category roles".

There is a "Participants" link hidden in the "Site pages" which is
causing these failures.
Apart from this, there was another issue because it was not possible
to navigation with classic (I've added one extra step to visit homepage).
2022-06-02 16:24:05 +02:00
Jun Pataleta 7a87871c25 MDL-70870 search_simpledb: Sort search queries via doc ID 2022-06-02 20:26:23 +08:00
Jun Pataleta e0eef1245d Merge branch 'MDL-74631-invalid-tag' of https://github.com/leonstr/moodle 2022-06-02 12:20:16 +08:00
Jun Pataleta 3c69b2a7a6 Merge branch 'MDL-57065-master' of https://github.com/ferranrecio/moodle 2022-06-02 12:03:10 +08:00
Jun Pataleta 913db0ba05 Merge branch 'MDL-71301-master' of https://github.com/junpataleta/moodle 2022-06-02 11:23:22 +08:00
Issam Taboubi 5ff0eb05b6 MDL-71301 qtype_gapselect: Make blank answer box labels more meaningful 2022-06-02 10:46:23 +08:00
Jun Pataleta 584ea5b075 Merge branch 'MDL-67966-master' of https://github.com/junpataleta/moodle 2022-06-02 10:29:43 +08:00
Joshua Ebarvia d5059795c9 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:27:41 +08:00
Andrew Nicols fd376582ac Merge branch 'MDL-66453' of https://github.com/dmitriim/moodle 2022-06-02 08:45:03 +08:00
Dmitrii Metelkin 4e353e4812 MDL-66453 uploaduser: Bulk assign roles in course categories 2022-06-02 09:42:17 +10:00
Sara Arjona 27ae31da6a Merge branch 'MDL-71276' of https://github.com/paulholden/moodle 2022-06-01 18:37:43 +02:00
Andrew Nicols 270f466ef5 Merge branch 'MDL-72458' of https://github.com/paulholden/moodle 2022-06-01 23:54:44 +08:00
Sara Arjona 91cc136f3d Merge branch 'MDL-74752' of https://github.com/timhunt/moodle 2022-06-01 17:05:11 +02:00
Tim Hunt aed6de5238 MDL-74752 qtype_match: fix regrading logic - take 2 2022-06-01 14:23:29 +01:00
Sara Arjona df71afbfe9 Merge branch 'MDL-73727-master' of https://github.com/keevan/moodle 2022-06-01 08:41:36 +02:00
Jun Pataleta 468de2da07 Merge branch 'MDL-73767-master_clever_oauth2' of https://github.com/rnathuji/moodle 2022-06-01 11:43:00 +08:00
Ripal Nathuji 79ae21c23f MDL-73767 oauth2: Add clever oauth2 client 2022-05-31 17:17:20 -05:00
Noel De Martin bbaf83322f MDL-74613 grade: Add missing generators 2022-05-31 17:59:52 +02:00
Sara Arjona 3e0b340873 Merge branch 'MDL-74752' of https://github.com/timhunt/moodle 2022-05-31 17:39:03 +02:00
Sara Arjona 7d317cdc5d Merge branch 'MDL-73988' of https://github.com/paulholden/moodle 2022-05-31 17:04:23 +02:00
Tim Hunt 314b90d1f5 MDL-74752 qtype_multianswer: implement regrading hooks 2022-05-31 09:22:22 +01:00
Tim Hunt 8ca7e3b74c MDL-74752 qtypes gapselect & ddwtos: implement regrading hooks 2022-05-31 09:22:22 +01:00
Tim Hunt 823b5bb740 MDL-74752 qtype_match: implement regrading hooks
As much as they can be before MDL-5560 is addressed.
2022-05-31 09:22:22 +01:00
Tim Hunt e230bfa47f 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:22 +01:00
Tim Hunt 39abc01197 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:22 +01:00
Jun Pataleta 36fdc00e71 Merge branch 'MDL-70870_master' of https://github.com/cbluesprl/moodle 2022-05-31 15:18:02 +08:00
Jun Pataleta f0b6e8ecd8 Merge branch 'MDL-73654-master' of https://github.com/HuongNV13/moodle 2022-05-31 13:34:35 +08:00
Shamim Rezaie 39ea22ece3 Merge branch 'MDL-74675' of https://github.com/paulholden/moodle 2022-05-31 14:12:32 +10:00
Huong Nguyen 4342e774d8 MDL-73654 timeline: Improve search for course name and activity name 2022-05-31 11:05:44 +07:00
Shamim Rezaie bd8dbf4c21 Merge branch 'MDL-72723-select-exists-not-count' of https://github.com/keevan/moodle 2022-05-31 12:57:16 +10:00
AMOS bot 39140fe80a Automatically generated installer lang files 2022-05-31 00:08:14 +00:00
Tim Hunt 2069c8d480 MDL-74883 question: fix question_attempt_step_subquestion_adapter typos
During the late stages of developing MDL-20636, some key concepts
in the code got renamed. However, at the time, this class was not
updated properly so updating it now.
2022-05-30 16:10:03 +01:00
Jun Pataleta cebc4c8855 Merge branch 'MDL-73431-master-v2' of https://github.com/dmitriim/moodle 2022-05-30 16:25:10 +08:00
Renaud Lemaire 1ecce127be MDL-70870 core_search: db indexes optimization 2022-05-30 09:09:59 +02:00
Dmitrii Metelkin a6cad23b1a MDL-73431 enrol: Introduce a sync interval 2022-05-30 15:58:22 +10:00
Kevin Pham f984566b15 MDL-73727 core_files: Add subquery to avoid a seq scan on larger sites
- Formatted the query to meet SQL coding styles
- Add index on {files} to prevent performance regression
- Fork the SQL query based on DB family based on support
2022-05-30 13:38:45 +10:00
Huong Nguyen bb5365b6dd MDL-74632 atto_link: Fix cannot create a link for an image 2022-05-30 10:23:47 +07:00
Nathan Mares 1da1152baa MDL-72723 logs: Add get_events_select_exists to the sql_reader interface
- Updates to log stores and backup helper to improve performance when
  checking if a course has been modified.
- This is a breaking change as it adds a new function on the sql_reader
  interface.

Co-authored-by: Kevin Pham <keevan.pham@gmail.com>
2022-05-30 10:42:47 +10:00
AMOS bot 3bbe71bdb3 Automatically generated installer lang files 2022-05-30 00:08:09 +00:00
AMOS bot 3dca099b3d Automatically generated installer lang files 2022-05-28 00:08:19 +00:00
Jun Pataleta 67da548b48 MDL-72885 output: Add lang attribute for language menu items 2022-05-27 23:39:08 +08:00
Amrita 33e5db9043 MDL-69756 nextcloud: copy-overwrite handling 2022-05-27 14:57:27 +02:00
Jun Pataleta 326d502c5c MDL-72885 output: Add lang attribute for language custom menu items 2022-05-27 19:38:54 +08:00
Jun Pataleta d4ba0359cf MDL-72885 core: Use get_html_lang_attribute_value()
Use get_html_lang_attribute_value() for formatting language codes
for the HTML lang attribute.
2022-05-27 19:38:54 +08:00
Jun Pataleta 92e080465e MDL-72885 core: New weblib function get_html_lang_attribute_value()
Converts a language code to hyphen-separated format in accordance to the
BCP47 syntax appropriate for the HTML lang attribute.

See
https://datatracker.ietf.org/doc/html/rfc5646#section-2.1
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang
2022-05-27 19:38:54 +08:00
Jun Pataleta 3bdd840e63 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:38:54 +08:00
Ilya Tregubov 0460147cb5 Merge branch 'MDL-67648-master' of https://github.com/cameron1729/moodle 2022-05-27 15:41:29 +06:00
Leon Stringer 0cd4eadb35 MDL-73215 assign: Undefined var: plagiarismlinks
Fix: $plagiarismlinks is concatenated in return but may not have been
initialised.
2022-05-27 08:56:31 +01:00
Philipp Imhof 1c9c6c4139 MDL-74495 quiz override mark: do not hide_all_feedback 2022-05-27 08:47:25 +02:00
David Matamoros c15e04193a MDL-73302 task: Add type filter to task logs system report
Adding 'type' filter to be able to filter between Ad hoc and Scheduled
tasks
2022-05-27 08:39:35 +02:00
Adrian Perez 43847787e0 MDL-74250 core: Improve indicator that link opens in new window 2022-05-27 07:21:54 +02:00
Khoa Nguyen Dang 3987f2cb37 MDL-74764 core_course: Activity is not in alphabetical order. 2022-05-27 10:20:14 +07:00
Jake Dallimore 117b24013b weekly release 4.1dev 2022-05-27 10:02:05 +08:00
Noel De Martin df9f610d1d MDL-74220 data: Implement behat generators 2022-05-26 10:38:11 +02:00
Jake Dallimore be4352bd3e Merge branch 'MDL-73801' of https://github.com/paulholden/moodle 2022-05-26 12:10:18 +08:00
Jake Dallimore aef7c3357d Merge branch 'MDL-73386-master' of https://github.com/junpataleta/moodle 2022-05-26 11:46:59 +08:00
Jun Pataleta 9b6ad142af Merge branch 'MDL-73047_user_timecreated' of https://github.com/davosmith/moodle 2022-05-26 10:27:48 +08:00
Jun Pataleta 2814436c44 Merge branch 'MDL-71198-master' of https://github.com/junpataleta/moodle 2022-05-26 10:23:27 +08:00
Jun Pataleta dac4af8e4c Merge branch 'MDL-73183-master' of https://github.com/andrewnicols/moodle 2022-05-26 10:09:46 +08:00
Jun Pataleta e60e8bc629 Merge branch 'MDL-73423-master' of https://github.com/marinaglancy/moodle 2022-05-26 00:18:35 +08:00
Peter Burnett 3801662e97 MDL-71198 backup: Change times on restore file duplication 2022-05-25 22:18:36 +08:00
Dani Palou f6520aa4b0 MDL-74816 mod_resource: Allow specify default file name in generator 2022-05-25 10:41:03 +02:00
Jake Dallimore 0839152f03 Merge branch 'MDL-73435-master' of https://github.com/marinaglancy/moodle 2022-05-25 11:31:52 +08:00
Cameron Ball f284e446b9 MDL-67648 tasks: Add unit tests 2022-05-25 09:38:41 +08:00
Cameron Ball 8154aa2e03 MDL-67648 tasks: Fair-share scheduling with resource management
This patch changes the way adhoc tasks are chosen to run. It now calculates
how many runners each type of adhoc task should be allowed to use. In the
case that not all the runners are utilised, it attempts to infer which
tasks do not take a long time to run, and gives those to the vacant runners.

Thanks to Brendan Heywood for guidance and SQL help.
2022-05-25 09:38:41 +08:00
Paul Holden 4f644c3f39 MDL-74790 mod_resource: better detection of empty module intro. 2022-05-24 21:17:17 +01:00
Angelia Dela Cruz 8db6d451d7 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:54:26 +08:00
Jun Pataleta de177cc564 Merge branch 'MDL-72283_allow-customisation-of-redis-session-handler-errors' of https://github.com/ziegenberg/moodle 2022-05-24 10:13:04 +08:00
Daniel Ziegenberg 01309248d8 MDL-72283 caching: internationalize redis session handler error
The 'unable to obtain session lock'-exception raised by the Redis
session handler is hardcoded in English and not all that useful
to the end user.

This change adds the error message to the lang/error.php and gives
the user further hints why the error might have occured and how it
could be fixed.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-05-23 16:42:33 +02:00
Amaia Anabitarte fc4e3ee695 MDL-74630 core_contenbank: Add contextid to URL parameters 2022-05-23 12:09:14 +02:00
hieuvu 5cfaa18cad MDL-74533 core_completion: Update using new grade pass for completion 2022-05-23 15:14:12 +07:00
Jun Pataleta 69a3c6f80a Merge branch 'MDL-68668-extra-redis-debugging' of https://github.com/brendanheywood/moodle 2022-05-23 13:18:32 +08:00
Jun Pataleta 8310b2014e 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
* With all the notification templates being the same except for the
  class, I created a base notification template (core/notification_base)
  that alert notifications just override. This avoids code duplication
  and can make maintenance simpler.
2022-05-23 12:54:55 +08:00
Daniel Ziegenberg 46b8aecfa8 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:46:11 +02:00
Jun Pataleta 60fcabfa6d 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:32:38 +08:00
Brendan Heywood e032ac9303 MDL-68668 redis: Add session lock acquire warning 2022-05-20 22:41:38 +10:00
Ilya Tregubov 653011e1a0 Merge branch 'MDL-73225-master' of https://github.com/call-learning/moodle 2022-05-20 17:56:16 +06:00
Laurent David bad2e0bb54 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:07:14 +02:00
Paul Holden c82ca19eb7 MDL-73110 report_completion: support custom user identity fields. 2022-05-20 11:24:51 +01:00
Sujith Haridasan 9812b4bbaa 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:12:42 +05:30
Paul Holden 5274ee5a25 MDL-73988 badges: implement badges datasource for custom reporting.
Create two entities exposing reportable data on badges and their
recipients, via column and filter definitions.

Create report source bringing them together along with the user and
course entities to provide data for the reportbuilder editor.
2022-05-19 16:43:28 +01:00
Paul Holden 40c574cd74 MDL-73988 reportbuilder: support for getting entity joins in reports.
This allow reports using multiple entities to more easily define the
relationship between them, specifically when they share common joined
tables.
2022-05-19 16:35:09 +01:00
Paul Holden 03bfea07ca MDL-74599 reportbuilder: use context of current report when present. 2022-05-19 16:24:56 +01:00
Paul Holden ea45aefe62 MDL-74675 reportbuilder: preserve column type during aggregation.
When applying callbacks during the group concatenation aggregation
types, ensure the column type is preserved for it's default value.
2022-05-19 16:04:37 +01:00
Paul Holden 1e2dd85346 MDL-74600 reportbuilder: re-factor menu helper methods into exporters.
Encapsulate generation of column/audience menu card data, used in the
editor, from helper class methods to specific exporter classes.
2022-05-19 15:56:37 +01:00
Paul Holden 6d5c0190e2 MDL-74192 core: add strictness to persistent get_record method.
Allow developer to specify the given record MUST_EXIST, and the
method to throw the underlying database exception.
2022-05-19 15:21:39 +01:00
Ilya Tregubov 6c114e2a80 weekly release 4.1dev 2022-05-19 19:24:25 +06:00
Ilya Tregubov f628b178e1 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-05-19 19:24:23 +06:00
Paul Holden cf57505ce7 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:18:06 +01:00
Jun Pataleta b0b3b13032 Merge branch 'MDL-73163-master' of https://github.com/lameze/moodle 2022-05-19 10:11:48 +08:00
Ilya Tregubov 64d7392566 Merge branch 'MDL-74480' of https://github.com/paulholden/moodle 2022-05-19 08:05:42 +06:00
Ilya Tregubov 938e8cf5d5 Merge branch 'MDL-74165' of https://github.com/paulholden/moodle 2022-05-19 08:02:17 +06:00
Jun Pataleta 7cda6e3641 Merge branch 'MDL-74416-master' of https://github.com/lameze/moodle 2022-05-19 09:59:54 +08:00
Jun Pataleta 94e803b663 Merge branch 'MDL-73478-improve-set-config' of https://github.com/keevan/moodle 2022-05-18 23:11:06 +08:00
Jun Pataleta b83a64b466 Merge branch 'MDL-74497-fixup' of https://github.com/dravek/moodle 2022-05-18 22:04:47 +08:00
Jun Pataleta 75e1514666 Merge branch 'MDL-74377' of https://github.com/roland04/moodle 2022-05-18 21:47:54 +08:00
Mikel Martín e71b737e16 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 13:41:40 +02:00
David Matamoros 63088862b4 MDL-74497 reportbuilder: Ensure entity report element order is kept 2022-05-18 13:19:34 +02:00
Dan Marsden b95d2b94a5 MDL-74785 mod_scorm: Add scorm content filearea to global search. 2022-05-18 19:47:44 +12:00
Ilya Tregubov 7a635606e0 MDL-72256 enrol_fee: Fix indentaion for Behat. 2022-05-18 13:13:02 +06:00
Ilya Tregubov 0829ee7a77 Merge branch 'MDL-72256' of https://github.com/danmarsden/moodle 2022-05-18 13:04:11 +06:00
Dan Marsden b51d8d9a7a MDL-72256 enrol_fee: add payment information to course/info.php 2022-05-18 18:55:29 +12:00
Jun Pataleta fa48ab35f7 Merge branch 'MDL-74497-master' of https://github.com/dravek/moodle 2022-05-18 14:36:17 +08:00
Sara Arjona 1cedbd1e19 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 08:18:33 +02:00
Jun Pataleta c3f2753df7 Merge branch 'MDL22570_master' of https://github.com/tasosb/moodle 2022-05-17 23:30:23 +08:00
Paul Holden 7d693114d1 MDL-73966 grade: fetch required user name fields of unenrolled users. 2022-05-17 16:03:01 +01:00
Jun Pataleta 216b504ff4 Merge branch 'MDL-73184' of https://github.com/roland04/moodle 2022-05-17 19:39:44 +08:00
Jun Pataleta c238370ba7 Merge branch 'MDL-74150' of https://github.com/lostrogit/moodle 2022-05-17 11:54:57 +08:00
AMOS bot afd912865f Automatically generated installer lang files 2022-05-17 00:07:42 +00:00
Carlos Castillo 3236a41c3a MDL-74150 tool_componentlibrary: Add title attribute to core/toggle 2022-05-16 11:43:55 -05:00
Paul Holden 6b6a040084 MDL-73184 reportbuilder: preserve pagesize property between requests.
Given that custom reports can now have defined pagesize properties, we
need to preserve that value in the table filterset so that it's always
available after AJAX requests.
2022-05-16 17:49:41 +02:00
Mikel Martín 0908a1bdeb MDL-73184 reportbuilder: Add default page size setting 2022-05-16 17:49:35 +02:00
Ferran Recio bfc713c37e 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-16 11:19:19 +02:00
Paul Holden 28e95ef63c MDL-71276 message_email: include alternate email in privacy export. 2022-05-16 09:41:32 +01:00
Carlos Castillo 0b82e9e9b3 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:08:37 -05:00
Paul Holden 53d6b18237 MDL-74344 comment: consistent capability check for accessing report.
Co-authored-by: David Wipperfurth <dwipperfurth@webcourseworks.com>
2022-05-13 10:31:16 +01:00
David Matamoros 5e68da7868 MDL-74497 reportbuilder: Use new methods in existing datasources
- Replace all individual calls to add all columns, filters and
conditions on the cohorts datasource with the new
method add_all_from_entities().

- Replace all individual calls to add all columns, filters and
conditions on the courses datasource with the new
method add_all_from_entities().

- Replace all individual calls to add all columns, filters and
conditions on the users datasource with the new
method add_all_from_entity().
2022-05-13 08:36:31 +02:00
David Matamoros 9a8091d550 MDL-74497 reportbuilder: Add all columns/filters/conditions at once 2022-05-13 08:36:31 +02:00
AMOS bot 9353ebdae9 Automatically generated installer lang files 2022-05-13 00:07:44 +00:00
Paul Holden 5215a02444 MDL-73013 calendar: fix serving of files added to category events. 2022-05-12 16:12:15 +01:00
Jun Pataleta 5e5e12e063 weekly release 4.1dev 2022-05-12 22:16:01 +08:00
Leon Stringer 57aabee4e8 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:42:05 +01:00
Jun Pataleta eae7ec37ca Merge branch 'MDL-74413' of https://github.com/stronk7/moodle 2022-05-12 12:09:05 +08:00
Jun Pataleta aa88375db5 Merge branch 'MDL-73971' of https://github.com/stronk7/moodle 2022-05-12 11:54:43 +08:00
Jun Pataleta 9cb0f7c510 Merge branch 'MDL-73172-master' of https://github.com/NashTechOpenUniversity/moodle 2022-05-12 11:45:05 +08:00
Jake Dallimore 4b93776f4b MDL-74699 enrol_lti: fix clientid retrieval from aud during launches 2022-05-12 09:20:02 +08:00
Shamiso.Jaravaza 41f40c7d7a MDL-74726 mod_bigbluebuttonbn: Fix muteonstart
Added missing muteonstart_editable in mod_form  block condition
2022-05-11 08:29:16 -06:00
Marina Glancy ecd569f942 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:16:58 +02:00
Jun Pataleta c7ddee0890 Merge branch 'MDL-70568-cron-debugging-patch' of https://github.com/macgirvin/moodle 2022-05-11 10:43:19 +08:00
Anastasios Bithas 3df0908e72 MDL-22570 group: Export groups/groupings to ods/xls/txt
A new feature that enables teachers to export groups and
groupings through the groups overview page, making use of the dataformat api.
2022-05-11 03:00:36 +03:00
Paul Holden a95f637cfb MDL-73898 user: exclude guest user from participants table. 2022-05-10 17:21:01 +01:00
Paul Holden f8790390d0 MDL-72458 user: add timezone to user profile page. 2022-05-10 13:17:06 +01:00
Jun Pataleta 817db2b7f3 Merge branch 'MDL-74041' of https://github.com/timhunt/moodle 2022-05-10 17:59:45 +08:00
Ilya Tregubov 8de866dc3f MDL-74710 mod_bigbluebuttonbn: Fix settings url. 2022-05-10 11:11:51 +06:00
Jun Pataleta e368edfb5c Merge branch 'MDL-71202-master' of https://github.com/junpataleta/moodle 2022-05-10 12:39:27 +08:00
Pete Whelpton bc6041158c MDL-71202 webservice: Add index on external_tokens.sid
Without this index, a full table scan / table level locking occurs when
logging out of Moodle.  This can result in slow performance in a busy
Moodle site.
2022-05-10 12:31:25 +08:00
Petr Skoda d91cd20d64 MDL-74416 phpunit: fix generator counters reset 2022-05-10 07:47:46 +08:00
Kordan 84735e806d MDL-73163 behat: Changed most to must 2022-05-09 19:29:19 +08:00
Paul Holden 9085f5e28a MDL-74147 admin: support custom user profile fields selecting admins. 2022-05-09 10:14:16 +01:00
Eloy Lafuente (stronk7) caf55abf17 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:32:30 +02:00
Eloy Lafuente (stronk7) 9f53b0e965 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:11 +02:00
Eloy Lafuente (stronk7) 941a29925e weekly release 4.1dev 2022-05-06 15:58:24 +02:00
Jake Dallimore d84738eb08 MDL-74602 mod_assign: fix js error with assign grader on classic 2022-05-06 16:46:58 +08:00
Davo Smith 55f08ad6eb MDL-73047 reportbuilder: add 'timecreated' to user reports 2022-05-06 08:08:31 +01:00
Jun Pataleta 48cab7f948 Merge branch 'MDL-74584-master-v1' of https://github.com/mihailges/moodle 2022-05-06 14:47:04 +08:00
Mihail Geshoski 154dbce845 MDL-74584 mod_bigbluebuttonbn: Update behat tests 2022-05-06 14:39:06 +08:00
Mihail Geshoski 75d9476420 MDL-74584 mod_bigbluebuttonbn: Update unit tests 2022-05-06 14:39:06 +08:00
Mihail Geshoski 90f517cf1f 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 14:39:06 +08:00
Mihail Geshoski c23b67be46 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 14:39:06 +08:00
Mihail Geshoski b9b9ec82d4 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 13:36:53 +08:00
Mihail Geshoski 6588baec97 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 13:36:53 +08:00
Mihail Geshoski 4a55d6eb02 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 13:36:53 +08:00
Jun Pataleta 7aa68e3393 Merge branch 'MDL-74511-master' of https://github.com/andrewnicols/moodle 2022-05-06 11:57:42 +08:00
Andrew Nicols 1b18a4c142 MDL-74511 core: Add phpcs default config 2022-05-06 11:39:10 +08:00
Ilya Tregubov 6442615878 Merge branch 'participants_per_page_MDL-41498' of https://github.com/rschrenk/moodle 2022-05-06 07:59:43 +06:00
Víctor Déniz 9746b8a6e2 Merge branch 'MDL-74612' of https://github.com/paulholden/moodle 2022-05-05 13:20:20 +01:00
Víctor Déniz 78154ce598 Merge branch 'MDL-74128' of https://github.com/paulholden/moodle 2022-05-05 12:09:33 +01:00
Víctor Déniz 89fbe47289 Merge branch 'MDL-74567' of https://github.com/paulholden/moodle 2022-05-05 09:37:28 +01:00
Hien Dinh 00dcb18999 MDL-73172 course: COMPLETE_PASS status cannot enhance in custom theme 2022-05-05 09:35:36 +07:00
Jun Pataleta a1c0b98c1d MDL-74317 blocks: Revert checking of block usage against page format 2022-05-05 10:02:29 +08:00
Jun Pataleta 53ad985457 Merge branch 'MDL-74576-master' of https://github.com/snake/moodle 2022-05-05 09:55:37 +08:00
Jun Pataleta 4182721677 Merge branch 'MDL-73981-master' of https://github.com/ilyatregubov/moodle 2022-05-05 09:48:59 +08:00
Ilya Tregubov 93e96e0aa2 Merge branch 'MDL-74602-master' of https://github.com/snake/moodle 2022-05-05 07:46:33 +06:00
Jun Pataleta 96ffb21ca6 Merge branch 'MDL-74546-master' of https://github.com/snake/moodle 2022-05-05 09:41:28 +08:00
Ilya Tregubov 82e3a9ce40 MDL-73981 tool_uploadcourse: Validate enrolment role from csv. 2022-05-05 07:38:47 +06:00
Jun Pataleta 0cdc33f19e Merge branch 'MDL-74511-master' of https://github.com/andrewnicols/moodle 2022-05-05 09:37:26 +08:00
Paul Holden 03e49fb1a1 MDL-74480 reportbuilder: new user entity description column/filter. 2022-05-04 13:10:13 +01:00
Paul Holden bc206fdec3 MDL-74165 reportbuilder: helpers to create multiple params/aliases. 2022-05-04 13:08:55 +01:00
Tim Hunt aac5b47cea MDL-74041 quiz: use own size for paging the question bank 2022-05-04 11:01:44 +01:00
Tim Hunt 10e8ffe312 MDL-74041 question bank: page size should be 100 2022-05-04 10:34:34 +01:00
Jake Dallimore 59b5858da2 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:44:42 +06:00
Michael Hawkins a0f47c8bc4 MDL-74333 badges: Check profile criteria valid when reviewing 2022-05-04 12:57:38 +08:00
Ilya Tregubov 9478dc6b07 Merge branch 'MDL-74563' of https://github.com/paulholden/moodle 2022-05-04 09:25:08 +06:00
Ferran Recio 4f2eac208d MDL-71623 core_search: fix user document visibility 2022-05-04 04:04:15 +02:00
Amaia Anabitarte 670268900c MDL-74318 core_user: Description field as hidden on profile 2022-05-04 04:04:15 +02:00
Paul Holden 6abe964bba MDL-74204 mod_assign: escape identity fields in allocate marker form. 2022-05-04 04:04:15 +02:00
Jun Pataleta 11b2cc4cb5 Merge branch 'MDL-73878-master' of https://github.com/aanabit/moodle 2022-05-04 09:42:30 +08:00
Leon Stringer b460ea470f MDL-74631 mod_lti: Remove </img>
Remove illegal HTML tag.

Added example context to pass CI checks.
2022-05-03 17:27:13 +01:00
Amaia Anabitarte ffc655b181 MDL-73878 core_user: Creating a new category for social fields 2022-05-03 17:52:11 +02:00
Amaia Anabitarte d2fb057b7e MDL-73878 core_user: Fixing social fields upgrading issue 2022-05-03 17:32:20 +02:00
Jun Pataleta b625dabb83 Merge branch 'MDL-74543' of https://github.com/timhunt/moodle 2022-05-03 22:22:39 +08:00
Tim Hunt 7d3eaf892d MDL-74543 quiz attemptlib: covert string comparison to ===
Where obviously safe.
2022-05-03 13:45:39 +01:00
Tim Hunt 52b8962dbd MDL-74543 quiz: correctly record time when overdue attempt submitted 2022-05-03 13:41:45 +01:00
Víctor Déniz 9943699604 Merge branch 'MDL-74611' of https://github.com/timhunt/moodle 2022-05-03 13:00:23 +01:00
Ilya Tregubov df86854461 Merge branch 'mdl65478-fix-master' of https://github.com/matthewhilton/moodle 2022-05-03 15:43:53 +06:00
Jake Dallimore 9e70147e05 Merge branch 'MDL-74441-master' of https://github.com/cameron1729/moodle 2022-05-03 16:54:35 +08:00
Ilya Tregubov c2a950237f Merge branch 'MDL-74598-master' of https://github.com/roland04/moodle 2022-05-03 11:55:47 +06:00
Jason den Dulk ba53ec733a 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:37 +10:00
Ilya Tregubov 719bb845d9 Merge branch 'MDL-74450-master' of https://github.com/mihailges/moodle 2022-05-03 09:47:29 +06:00
Jake Dallimore db933339fa MDL-74602 mod_wiki: disable activity header in wiki print view 2022-05-03 09:58:01 +08:00
Jake Dallimore a8fcf50e55 MDL-74602 mod_chat: disable activity header in ajax chat interface 2022-05-03 09:57:19 +08:00
Jake Dallimore edf2c5ea2f MDL-74602 mod_book: disable activity header on book print page 2022-05-03 09:56:56 +08:00
Jake Dallimore 0402dfdc95 MDL-74602 mod_assign: disable activity header on embedded grader page 2022-05-03 09:55:22 +08:00
Jake Dallimore cc94ab171d 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 09:53:57 +08:00
Jun Pataleta a9d219fe66 Merge branch 'MDL-74317-2' of https://github.com/dravek/moodle 2022-05-02 17:24:29 +08:00
David Matamoros e1da77a685 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-05-02 10:45:30 +02:00
David Matamoros b1a142eab4 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-05-02 10:45:30 +02:00
Jun Pataleta f9a3ccb1e2 Merge branch 'MDL-74436' of https://github.com/paulholden/moodle 2022-05-02 16:30:00 +08:00
Jake Dallimore 8f59d0b937 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:37:52 +08:00
Paul Holden bc05916cbf MDL-74128 reportbuilder: Behat helper for navigating to view page. 2022-04-29 17:14:23 +01:00
Paul Holden 2fede32518 MDL-74612 cohort: use data generator for populating cohort members. 2022-04-29 16:09:35 +01:00
Marina Glancy ac7c952b84 MDL-73435 mod_wiki: htmlspecialchars changed default in PHP8.1 2022-04-29 16:22:43 +02:00
Marina Glancy a0398fdde8 MDL-73423 core_privacy: Calling reset() on objects deprecated PHP8.1 2022-04-29 16:16:07 +02:00
Paul Holden 9ff112ea3d MDL-74567 core: re-factor flickr libraries to use shared user-agent. 2022-04-29 13:31:55 +01:00
Tim Hunt b6b0d8b848 MDL-74611 course settigns: re-order Common module settings
All the group-related settings should be next to each other.
2022-04-29 13:23:41 +01:00
Paul Holden 2972e66008 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-29 13:08:36 +01:00
Paul Holden c44dc41a9f MDL-74605 media_videojs: move player options to data setup.
Fixes the `playbackRates` functionality that was lost in library
upgrade (9ea8fa37).
2022-04-29 11:36:16 +01:00
Ilya Tregubov 1a744030d6 weekly release 4.1dev 2022-04-29 07:55:26 +06:00
Ilya Tregubov debcef0903 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-04-29 07:55:23 +06:00
Mikel Martín f35d43b633 MDL-74598 reportbuilder: Fix action menus alignment to the right 2022-04-28 16:29:48 +02:00
Cameron Ball 34c3392f49 MDL-74441 mod_forum: Fix overflow in unified grader 2022-04-28 15:55:18 +08:00
Jun Pataleta c62fc00125 Merge branch 'MDL-74478-master' of https://github.com/mihailges/moodle 2022-04-28 12:54:33 +08:00
Peter Dias d27e7e1950 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:14:45 +08:00
Jun Pataleta 44d39bf232 Merge branch 'MDL-74461-master' of https://github.com/HuongNV13/moodle 2022-04-28 11:40:07 +08:00
Ilya Tregubov 4a60e9733d Merge branch 'master-MDL-74427-v4' of https://github.com/golenkovm/moodle 2022-04-28 08:09:37 +06:00
Jun Pataleta c0466920b3 Merge branch 'MDL-74537-master-enfix' of https://github.com/vmdef/moodle 2022-04-27 15:56:00 +06:00
Ilya Tregubov af8155036f Merge branch 'MDL-74510' of https://github.com/stronk7/moodle 2022-04-27 15:56:00 +06:00
Ilya Tregubov 9f91cd1ca2 Merge branch 'MDL-74479' of https://github.com/paulholden/moodle 2022-04-27 15:56:00 +06:00
Víctor Déniz 57b300e27f Merge branch 'MDL-74320' of https://github.com/stronk7/moodle 2022-04-27 15:56:00 +06:00
Víctor Déniz b7a06ebb68 Merge branch 'MDL-74514' of https://github.com/call-learning/moodle 2022-04-27 15:56:00 +06:00
Ilya Tregubov 03c237525c Merge branch 'MDL-74481-LTI13-InstructorRole' of https://github.com/cengage/moodle 2022-04-27 15:56:00 +06:00
Mikhail Golenkov 6a19223290 MDL-74427 question: Re-use get_real_question_ids_in_category() 2022-04-27 12:32:54 +10:00
Mikhail Golenkov b0e09b34ae MDL-74427 question: Implement get_real_question_ids_in_category() 2022-04-27 12:32:54 +10:00
AMOS bot bf529d7346 Automatically generated installer lang files 2022-04-27 00:07:42 +00:00
Helen Foster a1699a58f4 MDL-74537 lang: Import fixed English strings (en_fix) 2022-04-26 11:21:12 +01:00
Mihail Geshoski dfae9e18d7 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-26 12:50:59 +08:00
Paul Holden 9bf4e5c910 MDL-74563 reportbuilder: cast operator parameter in number filter.
Add missing form labels, too.
2022-04-25 21:41:41 +01:00
Paul Holden 14422572b9 MDL-72193 enrol_manual: support custom user profile fields. 2022-04-25 18:18:00 +01:00
Paul Holden 2255c598a5 MDL-74436 calendar: validate course/category field during import. 2022-04-25 18:01:13 +01:00
Huong Nguyen 646a7973b0 MDL-74461 Navigation: Add section anchor to activity breadcrumb 2022-04-25 21:17:30 +07:00
Ilya Tregubov c6fc13345c Merge branch 'MDL-74477' of https://github.com/paulholden/moodle 2022-04-25 13:38:25 +06:00
Ilya Tregubov a35ed851ae Merge branch 'MDL-74509' of https://github.com/stronk7/moodle 2022-04-25 09:03:31 +06:00
AMOS bot 6537e014dd Automatically generated installer lang files 2022-04-25 00:07:44 +00:00
Eloy Lafuente (stronk7) 76f5445451 MDL-74510 upgrade: add the 4.0.0 separation line to all upgrade scripts 2022-04-22 18:45:10 +02:00
Eloy Lafuente (stronk7) 3d709bb968 MDL-74509 backup: Bump release to 4.1 2022-04-22 18:45:05 +02:00
Eloy Lafuente (stronk7) b952441d22 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-22 18:45:00 +02:00
Eloy Lafuente (stronk7) 998c632b5d weekly on-sync release 4.1dev 2022-04-22 18:04:09 +02:00
Jake Dallimore 3b4ef7b71d MDL-74546 enrol_lti: add missing d-flex to table to fix safari layout 2022-04-22 10:17:13 +08:00
Ilya Tregubov 427de94fa5 Merge branch 'MDL-74394' of https://github.com/aolley/moodle 2022-04-22 08:00:30 +06:00
Laurent David 7c0b2d4f90 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-21 20:22:16 +02:00
Víctor Déniz b359ba8562 Merge branch 'MDL-74312-master' of https://github.com/snake/moodle 2022-04-21 16:31:22 +01:00
Jake Dallimore 9343f94131 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:31:48 +08:00
Sara Arjona 4714ee36ff Merge branch 'MDL-74512' of https://github.com/stronk7/moodle 2022-04-19 12:55:21 +02:00
Andrew Nicols 38fff2d83f MDL-74511 core: Add phpcs config generator 2022-04-18 15:38:14 +08:00
Eloy Lafuente (stronk7) 95c8cb7582 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:27:57 +02:00
Jun Pataleta e161f1d774 weekly back-to-dev release 4.1dev 2022-04-17 15:14:27 +08:00
Jun Pataleta 21cfd8b216 NOBUG: Change travis.yml back to master 2022-04-17 14:59:55 +08:00
Claude Vervoort 696eace98d MDL-74481 mod_lti: fix role lookup for LTI 1.3 2022-04-13 12:57:58 -04:00
Paul Holden 271688ab79 MDL-74479 reportbuilder: account for custom field context in output. 2022-04-12 11:05:13 +01:00
Paul Holden d0d749289d MDL-74477 reportbuilder: sortable custom user profile field columns. 2022-04-11 14:58:30 +01:00
Adam Olley c24922fb40 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-01 14:32:50 +10:30
Robert Schrenk ecd1b8d6db MDL-41498 course: courses participant page 2022-03-30 10:03:16 +02:00
Mike Macgirvin 6770481c63 MDL-70568 cron: Temporarily increase debug level on task failure 2022-03-25 13:35:56 +11:00
Claude Vervoort 15e8003631 MDL-74310 mod_lti: fix ltilinkid on lineitems import 2022-03-24 14:14:56 -04:00
Eric Merrill 5d7509392d MDL-74182 core_task: Obey CFG debug settings 2022-03-13 23:57:13 -04:00
Andrew Nicols 5d66721655 MDL-73183 js: Stop supporting debug mode for amd
This option was used to return the source files, but we do not support
this any more because we use source maps instead and require babel
transformation to support ES2015.

It does not make sense to support this code path any longer.
2022-02-08 12:05:31 +08:00
Kevin Pham c94f6b953f MDL-73478 core: Refactor set_config, redirect nulls to unset_config
- There is now a single point for the configuration to be updated or
  inserted into the DB.
- De-nestifying the code does make it longer to scroll through but you
  can now edit areas of interest with more confidence, and should make
  it easier to grok places of interest.
- Updated DB check from get_field to get_record as it's better in the
  case of an update - using the id.
- Updates will happen on the ID field, which should be the primary key
  for the table.
- Cache won't be invalidated if no changes were made.
- Property does not need to be checked for behat test if you are just
  inserting a new value to an array using the arr[] = value syntax as it
  should just work.
- Opted to replace array_key_exists with isset which is a faster check
  due to it being a language construct and the fact that it should NOT
  contain null values (as a null value would be removed) should mean
  this is a safe change.
- Cleanup function param defaults.
- Prefer [] arrays instead of array() declarations.
2022-01-05 10:04:41 +11:00
6482 changed files with 330239 additions and 122802 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,
}
+11 -10
View File
@@ -13,14 +13,14 @@ env:
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 +54,11 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-18.04
php: 7.3
- os: ubuntu-22.04
php: 7.4
extensions:
db: mysqli
- os: ubuntu-18.04
- os: ubuntu-22.04
php: 8.0
db: pgsql
extensions: xmlrpc-beta
@@ -79,13 +79,13 @@ jobs:
if: ${{ matrix.db == 'pgsql' }}
uses: m4nu56/postgresql-action@v1
with:
postgresql version: 10
postgresql version: 12
postgresql db: test
postgresql user: test
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 +96,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 +111,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
+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
+1
View File
@@ -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);
+3
View File
@@ -47,6 +47,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);
};
+25 -15
View File
@@ -10,14 +10,18 @@ language: php
os: linux
dist: bionic
dist: focal
services:
- mysql
- docker
addons:
postgresql: "10"
postgresql: "12"
apt:
packages:
- postgresql-12
- postgresql-client-12
branches:
except:
@@ -32,18 +36,18 @@ jobs:
fast_finish: true
include:
# First all the lowest php ones (7.3)
- php: 7.3
# First all the lowest php ones (7.4)
- php: 7.4
env: DB=none TASK=CITEST
- php: 7.3
env: DB=none TASK=GRUNT NVM_VERSION='lts/carbon'
- php: 7.4
env: DB=none TASK=GRUNT
- if: env(MOODLE_DATABASE) = "pgsql" OR env(MOODLE_DATABASE) = "all" OR env(MOODLE_DATABASE) IS NOT present
php: 7.3
php: 7.4
env: DB=pgsql TASK=PHPUNIT
- if: env(MOODLE_DATABASE) = "mysqli" OR env(MOODLE_DATABASE) = "all"
php: 7.3
php: 7.4
env: DB=mysqli TASK=PHPUNIT
# Then, conditionally, all the highest php ones (8.0)
@@ -52,7 +56,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
- 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
@@ -72,6 +76,11 @@ before_install:
# Avoid IPv6 default binding as service (causes redis not to start).
- sudo service redis-server start --bind 127.0.0.1
env:
global:
- PGVER=12
- PGPORT=5433
install:
- >
if [ "$DB" = 'mysqli' ];
@@ -91,7 +100,7 @@ install:
sudo service postgresql stop
sudo mv /var/lib/postgresql /mnt/ramdisk
sudo ln -s /mnt/ramdisk/postgresql /var/lib/postgresql
sudo service postgresql start 9.6
sudo service postgresql start
fi
- >
if [ "$TASK" = 'PHPUNIT' ];
@@ -113,8 +122,8 @@ install:
- >
if [ "$TASK" = 'GRUNT' ];
then
nvm install $NVM_VERSION ;
nvm use $NVM_VERSION ;
nvm install
nvm use
fi
before_script:
@@ -146,10 +155,11 @@ before_script:
then
# Postgres-specific setup.
sed -i \
-e "s%= 'username'%= 'postgres'%" \
-e "s%= 'username'%= 'travis'%" \
-e "s%'dbsocket' => false%'dbsocket' => true%" \
config.php ;
psql -c 'CREATE DATABASE travis_ci_test;' -U postgres;
psql -c 'CREATE DATABASE travis_ci_test;' -U travis;
fi
if [ "$DB" = 'mysqli' ];
@@ -221,7 +231,7 @@ before_script:
# We need the official upstream for comparison
git remote add upstream https://github.com/moodle/moodle.git;
git fetch upstream MOODLE_400_STABLE;
git fetch upstream MOODLE_401_STABLE;
export GIT_PREVIOUS_COMMIT="`git merge-base FETCH_HEAD $TRAVIS_COMMIT`";
export GIT_COMMIT="$TRAVIS_COMMIT";
export UPSTREAM_FETCH_HEAD=`git rev-parse FETCH_HEAD`
+3 -3
View File
@@ -28,7 +28,7 @@ if (empty($CFG->auth)) {
}
if (!empty($auth) and !exists_auth_plugin($auth)) {
print_error('pluginnotinstalled', 'auth', $returnurl, $auth);
throw new \moodle_exception('pluginnotinstalled', 'auth', $returnurl, $auth);
}
////////////////////////////////////////////////////////////////////////////////
@@ -55,7 +55,7 @@ switch ($action) {
$key = array_search($auth, $authsenabled);
// check auth plugin is valid
if ($key === false) {
print_error('pluginnotenabled', 'auth', $returnurl, $auth);
throw new \moodle_exception('pluginnotenabled', 'auth', $returnurl, $auth);
}
// move down the list
if ($key < (count($authsenabled) - 1)) {
@@ -72,7 +72,7 @@ switch ($action) {
$key = array_search($auth, $authsenabled);
// check auth is valid
if ($key === false) {
print_error('pluginnotenabled', 'auth', $returnurl, $auth);
throw new \moodle_exception('pluginnotenabled', 'auth', $returnurl, $auth);
}
// move up the list
if ($key >= 1) {
+1 -1
View File
@@ -75,7 +75,7 @@
/// Get and sort the existing blocks
if (!$blocks = $DB->get_records('block', array(), 'name ASC')) {
print_error('noblocks', 'error'); // Should never happen
throw new \moodle_exception('noblocks', 'error'); // Should never happen.
}
$incompatible = array();
+2 -2
View File
@@ -41,11 +41,11 @@ $adminroot = admin_get_root(); // need all settings
$settingspage = $adminroot->locate($category, true);
if (empty($settingspage) or !($settingspage instanceof admin_category)) {
print_error('categoryerror', 'admin', "$CFG->wwwroot/$CFG->admin/");
throw new \moodle_exception('categoryerror', 'error', "$CFG->wwwroot/$CFG->admin/");
}
if (!($settingspage->check_access())) {
print_error('accessdenied', 'admin');
throw new \moodle_exception('accessdenied', 'admin');
}
$hassiteconfig = has_capability('moodle/site:config', $PAGE->context);
@@ -0,0 +1,117 @@
<?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 core_admin\reportbuilder\datasource;
use core_admin\reportbuilder\local\entities\task_log;
use core_reportbuilder\datasource;
use core_reportbuilder\local\entities\user;
use core_reportbuilder\local\filters\select;
/**
* Task logs datasource
*
* @package core_admin
* @copyright 2022 Paul Holden <paulh@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class task_logs extends datasource {
/**
* Return user friendly name of the report source
*
* @return string
*/
public static function get_name(): string {
return get_string('tasklogs', 'core_admin');
}
/**
* Initialise report
*/
protected function initialise(): void {
$tasklogentity = new task_log();
$tasklogalias = $tasklogentity->get_table_alias('task_log');
$this->set_main_table('task_log', $tasklogalias);
$this->add_entity($tasklogentity);
// Join the user entity to represent the associated user.
$userentity = new user();
$useralias = $userentity->get_table_alias('user');
$this->add_entity($userentity->add_join("
LEFT JOIN {user} {$useralias}
ON {$useralias}.id = {$tasklogalias}.userid")
);
// Add report elements from each of the entities we added to the report.
$this->add_all_from_entities();
}
/**
* Return the columns that will be added to the report upon creation
*
* @return string[]
*/
public function get_default_columns(): array {
return [
'task_log:name',
'task_log:starttime',
'task_log:duration',
'task_log:result',
];
}
/**
* Return the filters that will be added to the report upon creation
*
* @return string[]
*/
public function get_default_filters(): array {
return [
'task_log:timestart',
'task_log:result',
];
}
/**
* Return the conditions that will be added to the report upon creation
*
* @return string[]
*/
public function get_default_conditions(): array {
return [
'task_log:type',
'task_log:timestart',
'task_log:result',
];
}
/**
* Return the condition values that will be set for the report upon creation
*
* @return array
*/
public function get_default_condition_values(): array {
return [
'task_log:type_operator' => select::EQUAL_TO,
'task_log:type_value' => \core\task\database_logger::TYPE_SCHEDULED,
];
}
}
@@ -14,18 +14,21 @@
// 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_admin\local\entities;
namespace core_admin\reportbuilder\local\entities;
use core_reportbuilder\local\filters\date;
use core_reportbuilder\local\filters\duration;
use core_reportbuilder\local\filters\number;
use core_reportbuilder\local\filters\select;
use core_reportbuilder\local\filters\text;
use core_reportbuilder\local\filters\autocomplete;
use core_reportbuilder\local\helpers\format;
use lang_string;
use core_reportbuilder\local\entities\base;
use core_reportbuilder\local\report\column;
use core_reportbuilder\local\report\filter;
use stdClass;
use core_collator;
/**
* Task log entity class implementation
@@ -60,15 +63,6 @@ class task_log extends base {
return new lang_string('entitytasklog', 'admin');
}
/**
* The default machine-readable name for this entity that will be used in the internal names of the columns/filters
*
* @return string
*/
protected function get_default_entity_name(): string {
return 'task_log';
}
/**
* Initialise the entity
*
@@ -80,9 +74,12 @@ class task_log extends base {
$this->add_column($column);
}
// All the filters defined by the entity can also be used as conditions.
$filters = $this->get_all_filters();
foreach ($filters as $filter) {
$this->add_filter($filter);
$this
->add_filter($filter)
->add_condition($filter);
}
return $this;
@@ -94,6 +91,7 @@ class task_log extends base {
* @return column[]
*/
protected function get_all_columns(): array {
global $DB;
$tablealias = $this->get_table_alias('task_log');
@@ -107,20 +105,31 @@ class task_log extends base {
->set_type(column::TYPE_TEXT)
->add_field("$tablealias.classname")
->set_is_sortable(true)
->add_callback(static function(string $value): string {
->add_callback(static function(string $classname): string {
$output = '';
if (class_exists($value)) {
$task = new $value;
if ($task instanceof \core\task\scheduled_task) {
if (class_exists($classname)) {
$task = new $classname;
if ($task instanceof \core\task\task_base) {
$output = $task->get_name();
}
}
$output .= \html_writer::tag('div', "\\{$value}", [
'class' => 'task-class',
$output .= \html_writer::tag('div', "\\{$classname}", [
'class' => 'small text-muted',
]);
return $output;
});
// Component column.
$columns[] = (new column(
'component',
new lang_string('plugin'),
$this->get_entity_name()
))
->add_joins($this->get_joins())
->set_type(column::TYPE_TEXT)
->add_field("{$tablealias}.component")
->set_is_sortable(true);
// Type column.
$columns[] = (new column(
'type',
@@ -128,11 +137,11 @@ class task_log extends base {
$this->get_entity_name()
))
->add_joins($this->get_joins())
->set_type(column::TYPE_INTEGER)
->set_type(column::TYPE_TEXT)
->add_field("{$tablealias}.type")
->set_is_sortable(true)
->add_callback(static function(int $value): string {
if (\core\task\database_logger::TYPE_SCHEDULED === $value) {
->add_callback(static function($value): string {
if (\core\task\database_logger::TYPE_SCHEDULED === (int) $value) {
return get_string('task_type:scheduled', 'admin');
}
return get_string('task_type:adhoc', 'admin');
@@ -150,6 +159,18 @@ class task_log extends base {
->set_is_sortable(true)
->add_callback([format::class, 'userdate'], get_string('strftimedatetimeshortaccurate', 'core_langconfig'));
// End time column.
$columns[] = (new column(
'endtime',
new lang_string('task_endtime', 'admin'),
$this->get_entity_name()
))
->add_joins($this->get_joins())
->set_type(column::TYPE_TIMESTAMP)
->add_field("{$tablealias}.timeend")
->set_is_sortable(true)
->add_callback([format::class, 'userdate'], get_string('strftimedatetimeshortaccurate', 'core_langconfig'));
// Duration column.
$columns[] = (new column(
'duration',
@@ -190,7 +211,9 @@ class task_log extends base {
->add_joins($this->get_joins())
->set_type(column::TYPE_INTEGER)
->add_field("{$tablealias}.pid")
->set_is_sortable(true);
->set_is_sortable(true)
// Although this is an integer column, it doesn't make sense to perform numeric aggregation on it.
->set_disabled_aggregation(['avg', 'count', 'countdistinct', 'max', 'min', 'sum']);
// Database column.
$columns[] = (new column(
@@ -201,13 +224,37 @@ class task_log extends base {
->add_joins($this->get_joins())
->set_type(column::TYPE_INTEGER)
->add_fields("{$tablealias}.dbreads, {$tablealias}.dbwrites")
->set_is_sortable(true)
->set_is_sortable(true, ["{$tablealias}.dbreads", "{$tablealias}.dbwrites"])
->add_callback(static function(int $value, stdClass $row): string {
$output = '';
$output .= \html_writer::div(get_string('task_stats:dbreads', 'admin', $row->dbreads));
$output .= \html_writer::div(get_string('task_stats:dbwrites', 'admin', $row->dbwrites));
return $output;
});
})
// Although this is an integer column, it doesn't make sense to perform numeric aggregation on it.
->set_disabled_aggregation(['avg', 'count', 'countdistinct', 'max', 'min', 'sum']);
// Database reads column.
$columns[] = (new column(
'dbreads',
new lang_string('task_dbreads', 'admin'),
$this->get_entity_name()
))
->add_joins($this->get_joins())
->set_type(column::TYPE_INTEGER)
->add_fields("{$tablealias}.dbreads")
->set_is_sortable(true);
// Database writes column.
$columns[] = (new column(
'dbwrites',
new lang_string('task_dbwrites', 'admin'),
$this->get_entity_name()
))
->add_joins($this->get_joins())
->set_type(column::TYPE_INTEGER)
->add_fields("{$tablealias}.dbwrites")
->set_is_sortable(true);
// Result column.
$columns[] = (new column(
@@ -216,11 +263,12 @@ class task_log extends base {
$this->get_entity_name()
))
->add_joins($this->get_joins())
->set_type(column::TYPE_INTEGER)
->add_field("$tablealias.result")
->set_type(column::TYPE_BOOLEAN)
// For accurate aggregation, we need to return boolean success = true by xor'ing the field value.
->add_field($DB->sql_bitxor("{$tablealias}.result", 1), 'success')
->set_is_sortable(true)
->add_callback(static function(int $value): string {
if ($value) {
->add_callback(static function(bool $success): string {
if (!$success) {
return get_string('task_result:failed', 'admin');
}
return get_string('success');
@@ -235,44 +283,69 @@ class task_log extends base {
* @return filter[]
*/
protected function get_all_filters(): array {
$filters = [];
global $DB;
$tablealias = $this->get_table_alias('task_log');
// Name filter (Filter by classname).
$filters[] = (new filter(
text::class,
autocomplete::class,
'name',
new lang_string('classname', 'tool_task'),
$this->get_entity_name(),
"{$tablealias}.classname"
))
->add_joins($this->get_joins())
->set_options_callback(static function(): array {
global $DB;
$classnames = $DB->get_fieldset_sql('SELECT DISTINCT classname FROM {task_log} ORDER BY classname ASC');
$options = [];
foreach ($classnames as $classname) {
if (class_exists($classname)) {
$task = new $classname;
$options[$classname] = $task->get_name();
}
}
core_collator::asort($options);
return $options;
});
// Component filter.
$filters[] = (new filter(
text::class,
'component',
new lang_string('plugin'),
$this->get_entity_name(),
"{$tablealias}.component"
))
->add_joins($this->get_joins());
// Type filter.
$filters[] = (new filter(
select::class,
'type',
new lang_string('tasktype', 'admin'),
$this->get_entity_name(),
"{$tablealias}.type"
))
->add_joins($this->get_joins())
->set_options([
\core\task\database_logger::TYPE_ADHOC => new lang_string('task_type:adhoc', 'admin'),
\core\task\database_logger::TYPE_SCHEDULED => new lang_string('task_type:scheduled', 'admin'),
]);
// Output filter (Filter by task output).
$filters[] = (new filter(
text::class,
'output',
new lang_string('task_logoutput', 'admin'),
$this->get_entity_name(),
"{$tablealias}.output"
$DB->sql_cast_to_char("{$tablealias}.output")
))
->add_joins($this->get_joins());
// Result filter.
$filters[] = (new filter(
select::class,
'result',
new lang_string('task_result', 'admin'),
$this->get_entity_name(),
"{$tablealias}.result"
))
->add_joins($this->get_joins())
->set_options([
self::SUCCESS => get_string('success'),
self::FAILED => get_string('task_result:failed', 'admin'),
]);
// Start time filter.
$filters[] = (new filter(
date::class,
@@ -289,16 +362,66 @@ class task_log extends base {
date::DATE_CURRENT,
]);
// End time.
$filters[] = (new filter(
date::class,
'timeend',
new lang_string('task_endtime', 'admin'),
$this->get_entity_name(),
"{$tablealias}.timeend"
))
->add_joins($this->get_joins())
->set_limited_operators([
date::DATE_ANY,
date::DATE_RANGE,
date::DATE_PREVIOUS,
date::DATE_CURRENT,
]);
// Duration filter.
$filters[] = (new filter(
duration::class,
'duration',
new lang_string('task_duration', 'admin'),
$this->get_entity_name(),
"${tablealias}.timeend - {$tablealias}.timestart"
"{$tablealias}.timeend - {$tablealias}.timestart"
))
->add_joins($this->get_joins());
// Database reads.
$filters[] = (new filter(
number::class,
'dbreads',
new lang_string('task_dbreads', 'admin'),
$this->get_entity_name(),
"{$tablealias}.dbreads"
))
->add_joins($this->get_joins());
// Database writes.
$filters[] = (new filter(
number::class,
'dbwrites',
new lang_string('task_dbwrites', 'admin'),
$this->get_entity_name(),
"{$tablealias}.dbwrites"
))
->add_joins($this->get_joins());
// Result filter.
$filters[] = (new filter(
select::class,
'result',
new lang_string('task_result', 'admin'),
$this->get_entity_name(),
"{$tablealias}.result"
))
->add_joins($this->get_joins())
->set_options([
self::SUCCESS => get_string('success'),
self::FAILED => get_string('task_result:failed', 'admin'),
]);
return $filters;
}
}
@@ -14,10 +14,10 @@
// 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_admin\local\systemreports;
namespace core_admin\reportbuilder\local\systemreports;
use context_system;
use core_admin\local\entities\task_log;
use core_admin\reportbuilder\local\entities\task_log;
use core_reportbuilder\local\entities\user;
use core_reportbuilder\local\report\action;
use lang_string;
@@ -121,6 +121,7 @@ class task_logs extends system_report {
protected function add_filters(): void {
$filters = [
'task_log:name',
'task_log:type',
'task_log:output',
'task_log:result',
'task_log:timestart',
+124
View File
@@ -0,0 +1,124 @@
<?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/>.
/**
* CLI script to delete a course.
*
* @package core
* @subpackage cli
* @author Mikhail Golenkov <mikhailgolenkov@catalyst-au.net>
* @copyright 2022 Catalyst IT
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define('CLI_SCRIPT', true);
require(__DIR__ . '/../../config.php');
require_once($CFG->libdir . '/clilib.php');
require_once($CFG->libdir . '/cronlib.php');
list($options, $unrecognized) = cli_get_params(
[
'courseid' => false,
'help' => false,
'showsql' => false,
'showdebugging' => false,
'disablerecyclebin' => false,
'non-interactive' => false,
], [
'c' => 'courseid',
'h' => 'help',
]
);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help'] || empty($options['courseid'])) {
$help = <<<EOT
CLI script to delete a course.
Options:
-h, --help Print out this help
--showsql Show sql queries before they are executed
--showdebugging Show developer level debugging information
--disablerecyclebin Skip backing up the course
--non-interactive No interactive questions or confirmations
-c, --courseid Course id to be deleted
Example:
\$sudo -u www-data /usr/bin/php admin/cli/delete_course.php --courseid=123456
\$sudo -u www-data /usr/bin/php admin/cli/delete_course.php --courseid=123456 --showdebugging
\$sudo -u www-data /usr/bin/php admin/cli/delete_course.php --courseid=123456 --disablerecyclebin
EOT;
echo $help;
die;
}
$interactive = empty($options['non-interactive']);
if ($options['showdebugging']) {
mtrace('Enabling debugging...');
set_debugging(DEBUG_DEVELOPER, true);
}
if ($options['showsql']) {
mtrace('Enabling SQL debugging...');
$DB->set_debug(true);
}
if (CLI_MAINTENANCE) {
cli_error('CLI maintenance mode active, CLI execution suspended');
}
if (moodle_needs_upgrading()) {
cli_error('Moodle upgrade pending, CLI execution suspended');
}
$course = $DB->get_record('course', array('id' => $options['courseid']));
if (empty($course)) {
cli_error('Course not found');
}
mtrace('Deleting course id ' . $course->id);
mtrace('Course name: ' . $course->fullname);
mtrace('Short name: ' . $course->shortname);
if ($interactive) {
mtrace('');
$input = cli_input('Are you sure you wish to delete this course? (y/N)', 'N', ['y', 'Y', 'n', 'N']);
if (strtolower($input) != 'y') {
exit(0);
}
}
if ($options['disablerecyclebin']) {
mtrace('Disabling recycle bin...');
$overrideconfig = ['tool_recyclebin' => ['coursebinenable' => false, 'categorybinenable' => false]];
$CFG->forced_plugin_settings = array_merge($CFG->forced_plugin_settings, $overrideconfig);
}
core_php_time_limit::raise();
delete_course($course);
mtrace('Updating course count in categories...');
fix_course_sortorder();
mtrace('Done!');
+4 -4
View File
@@ -69,15 +69,15 @@ if ($options['showdebugging']) {
}
if (!$admin = get_admin()) {
print_error('noadmins');
throw new \moodle_exception('noadmins');
}
if (!file_exists($options['file'])) {
print_error('filenotfound');
throw new \moodle_exception('filenotfound');
}
if (!$category = $DB->get_record('course_categories', ['id' => $options['categoryid']], 'id')) {
print_error('invalidcategoryid');
throw new \moodle_exception('invalidcategoryid');
}
$backupdir = "restore_" . uniqid();
@@ -102,7 +102,7 @@ try {
} catch (Exception $e) {
cli_heading(get_string('cleaningtempdata'));
fulldelete($path);
print_error('generalexceptionmessage', 'error', '', $e->getMessage());
throw new \moodle_exception('generalexceptionmessage', 'error', '', $e->getMessage());
}
cli_heading(get_string('restoredcourseid', 'backup', $courseid));
+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']) {
+1 -1
View File
@@ -42,7 +42,7 @@ $plugins = core_plugin_manager::instance()->get_plugins_of_type('contenttype');
$sortorder = array_flip(array_keys($plugins));
if (!isset($plugins[$name])) {
print_error('contenttypenotfound', 'error', $return, $name);
throw new \moodle_exception('contenttypenotfound', 'error', $return, $name);
}
switch ($action) {
+1 -1
View File
@@ -41,7 +41,7 @@ $formatplugins = core_plugin_manager::instance()->get_plugins_of_type('format');
$sortorder = array_flip(array_keys($formatplugins));
if (!isset($formatplugins[$formatname])) {
print_error('courseformatnotfound', 'error', $return, $formatname);
throw new \moodle_exception('courseformatnotfound', 'error', $return, $formatname);
}
switch ($action) {
+2 -2
View File
@@ -58,7 +58,7 @@ require_once($CFG->libdir.'/cronlib.php');
// check if execution allowed
if (!empty($CFG->cronclionly)) {
// This script can only be run via the cli.
print_error('cronerrorclionly', 'admin');
throw new \moodle_exception('cronerrorclionly', 'admin');
exit;
}
// This script is being called via the web, so check the password if there is one.
@@ -66,7 +66,7 @@ if (!empty($CFG->cronremotepassword)) {
$pass = optional_param('password', '', PARAM_RAW);
if ($pass != $CFG->cronremotepassword) {
// wrong password.
print_error('cronerrorpassword', 'admin');
throw new \moodle_exception('cronerrorpassword', 'admin');
exit;
}
}
+1 -1
View File
@@ -41,7 +41,7 @@ $customfieldplugins = core_plugin_manager::instance()->get_plugins_of_type('cust
$sortorder = array_flip(array_keys($customfieldplugins));
if (!isset($customfieldplugins[$customfieldname])) {
print_error('customfieldnotfound', 'error', $return, $customfieldname);
throw new \moodle_exception('customfieldnotfound', 'error', $return, $customfieldname);
}
switch ($action) {
+1 -1
View File
@@ -42,7 +42,7 @@ $plugins = core_plugin_manager::instance()->get_plugins_of_type('dataformat');
$sortorder = array_flip(array_keys($plugins));
if (!isset($plugins[$name])) {
print_error('courseformatnotfound', 'error', $return, $name);
throw new \moodle_exception('courseformatnotfound', 'error', $return, $name);
}
switch ($action) {
+2 -2
View File
@@ -55,11 +55,11 @@ if ($action == 'updatecomponent' && confirm_sesskey()) {
$a = new stdClass();
$a->url = 'https://download.moodle.org/environment/environment.zip';
$a->dest = $CFG->dataroot . '/';
print_error($cd->get_error(), 'error', $PAGE->url, $a);
throw new \moodle_exception($cd->get_error(), 'error', $PAGE->url, $a);
die();
} else {
print_error($cd->get_error(), 'error', $PAGE->url);
throw new \moodle_exception($cd->get_error(), 'error', $PAGE->url);
die();
}
+191
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,191 @@
</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">
</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>
</COMPATIBILITY_MATRIX>
+10 -8
View File
@@ -174,15 +174,17 @@ $documentationlink = '<a href="http://docs.moodle.org/en/Installation">Installat
// Check some PHP server settings
if (ini_get_bool('session.auto_start')) {
print_error('phpvaroff', 'debug', '', (object)array('name'=>'session.auto_start', 'link'=>$documentationlink));
throw new \moodle_exception('phpvaroff', 'debug', '',
(object)array('name' => 'session.auto_start', 'link' => $documentationlink));
}
if (!ini_get_bool('file_uploads')) {
print_error('phpvaron', 'debug', '', (object)array('name'=>'file_uploads', 'link'=>$documentationlink));
throw new \moodle_exception('phpvaron', 'debug', '',
(object)array('name' => 'file_uploads', 'link' => $documentationlink));
}
if (is_float_problem()) {
print_error('phpfloatproblem', 'admin', '', $documentationlink);
throw new \moodle_exception('phpfloatproblem', 'admin', '', $documentationlink);
}
// Set some necessary variables during set-up to avoid PHP warnings later on this page
@@ -203,7 +205,7 @@ require("$CFG->dirroot/version.php"); // defines $version, $release, $bran
$CFG->target_release = $release; // used during installation and upgrades
if (!$version or !$release) {
print_error('withoutversion', 'debug'); // without version, stop
throw new \moodle_exception('withoutversion', 'debug'); // Without version, stop.
}
if (!core_tables_exist()) {
@@ -275,7 +277,7 @@ if (!core_tables_exist()) {
if (!$DB->setup_is_unicodedb()) {
if (!$DB->change_db_encoding()) {
// If could not convert successfully, throw error, and prevent installation
print_error('unicoderequired', 'admin');
throw new \moodle_exception('unicoderequired', 'admin');
}
}
@@ -297,7 +299,7 @@ $stradministration = get_string('administration');
$PAGE->set_context(context_system::instance());
if (empty($CFG->version)) {
print_error('missingconfigversion', 'debug');
throw new \moodle_exception('missingconfigversion', 'debug');
}
// Detect config cache inconsistency, this happens when you switch branches on dev servers.
@@ -748,7 +750,7 @@ if (during_initial_install()) {
redirect("index.php?sessionstarted=1&sessionverify=1&lang=$CFG->lang");
} else {
if (empty($SESSION->sessionverify)) {
print_error('installsessionerror', 'admin', "index.php?sessionstarted=1&lang=$CFG->lang");
throw new \moodle_exception('installsessionerror', 'admin', "index.php?sessionstarted=1&lang=$CFG->lang");
}
unset($SESSION->sessionverify);
}
@@ -765,7 +767,7 @@ if (during_initial_install()) {
if ($adminuser->password === 'adminsetuppending') {
// prevent installation hijacking
if ($adminuser->lastip !== getremoteaddr()) {
print_error('installhijacked', 'admin');
throw new \moodle_exception('installhijacked', 'admin');
}
// login user and let him set password and admin details
$adminuser->newadminuser = 1;
+1 -1
View File
@@ -55,7 +55,7 @@ function admin_page_type_list($pagetype, $parentcontext, $currentcontext) {
function core_admin_pluginfile($course, $cm, $context, $filearea, $args, $forcedownload, array $options = array()) {
global $CFG;
if (in_array($filearea, ['logo', 'logocompact'])) {
if (in_array($filearea, ['logo', 'logocompact', 'favicon'])) {
$size = array_shift($args); // The path hides the size.
$itemid = clean_param(array_shift($args), PARAM_INT);
$filename = clean_param(array_shift($args), PARAM_FILE);
+1 -1
View File
@@ -45,7 +45,7 @@ if (isset($_ENV['TMPDIR']) && is_dir($_ENV['TMPDIR'])) {
$tmpfile = $tmpdir . '/moodle-mailout.log';
$fh = fopen($tmpfile, 'a+', false)
or mdie("Error openning $tmpfile on append\n");
fwrite($fh, "==== ".strftime("%a %b %e %H:%M:%S %Y", time())." ====\n");
fwrite($fh, "==== ".date("D M d H:i:s Y", time())." ====\n");
fwrite($fh, "==== Commandline: " . implode(' ',$argv) . "\n");
$stdin = fopen('php://stdin', 'r');
+6 -7
View File
@@ -15,7 +15,7 @@ $action = trim(strtolower(optional_param('action', '', PARAM_ALPHA)));
admin_externalpage_setup('ssoaccesscontrol');
if (!extension_loaded('openssl')) {
print_error('requiresopenssl', 'mnet');
throw new \moodle_exception('requiresopenssl', 'mnet');
}
$sitecontext = context_system::instance();
@@ -35,13 +35,13 @@ if (!empty($action) and confirm_sesskey()) {
// boot if insufficient permission
if (!has_capability('moodle/user:delete', $sitecontext)) {
print_error('nomodifyacl','mnet');
throw new \moodle_exception('nomodifyacl', 'mnet');
}
// fetch the record in question
$id = required_param('id', PARAM_INT);
if (!$idrec = $DB->get_record('mnet_sso_access_control', array('id'=>$id))) {
print_error('recordnoexists','mnet', "$CFG->wwwroot/$CFG->admin/mnet/access_control.php");
throw new \moodle_exception('recordnoexists', 'mnet', "$CFG->wwwroot/$CFG->admin/mnet/access_control.php");
}
switch ($action) {
@@ -56,7 +56,7 @@ if (!empty($action) and confirm_sesskey()) {
// require the access parameter, and it must be 'allow' or 'deny'
$accessctrl = trim(strtolower(required_param('accessctrl', PARAM_ALPHA)));
if ($accessctrl != 'allow' and $accessctrl != 'deny') {
print_error('invalidaccessparam', 'mnet', "$CFG->wwwroot/$CFG->admin/mnet/access_control.php");
throw new \moodle_exception('invalidaccessparam', 'mnet', "$CFG->wwwroot/$CFG->admin/mnet/access_control.php");
}
if (mnet_update_sso_access_control($idrec->username, $idrec->mnet_host_id, $accessctrl)) {
@@ -71,7 +71,7 @@ if (!empty($action) and confirm_sesskey()) {
break;
default:
print_error('invalidactionparam', 'mnet', "$CFG->wwwroot/$CFG->admin/mnet/access_control.php");
throw new \moodle_exception('invalidactionparam', 'mnet', "$CFG->wwwroot/$CFG->admin/mnet/access_control.php");
}
}
@@ -82,7 +82,7 @@ if ($form = data_submitted() and confirm_sesskey()) {
// check permissions and verify form input
if (!has_capability('moodle/user:delete', $sitecontext)) {
print_error('nomodifyacl','mnet', "$CFG->wwwroot/$CFG->admin/mnet/access_control.php");
throw new \moodle_exception('nomodifyacl', 'mnet', "$CFG->wwwroot/$CFG->admin/mnet/access_control.php");
}
if (empty($form->username)) {
$formerror['username'] = get_string('enterausername','mnet');
@@ -117,7 +117,6 @@ if ($form = data_submitted() and confirm_sesskey()) {
}
echo $OUTPUT->header();
echo $OUTPUT->render(mnet_get_deprecation_notice());
// Explain
echo $OUTPUT->box(get_string('ssoacldescr','mnet'));
+22 -8
View File
@@ -17,13 +17,13 @@
if (!extension_loaded('openssl')) {
echo $OUTPUT->header();
set_config('mnet_dispatcher_mode', 'off');
print_error('requiresopenssl', 'mnet');
throw new \moodle_exception('requiresopenssl', 'mnet');
}
if (!function_exists('curl_init') ) {
echo $OUTPUT->header();
set_config('mnet_dispatcher_mode', 'off');
print_error('nocurl', 'mnet');
throw new \moodle_exception('nocurl', 'mnet');
}
if (!isset($CFG->mnet_dispatcher_mode)) {
@@ -37,7 +37,7 @@
if (set_config('mnet_dispatcher_mode', $form->mode)) {
redirect('index.php', get_string('changessaved'));
} else {
print_error('invalidaction', '', 'index.php');
throw new \moodle_exception('invalidaction', '', 'index.php');
}
}
} elseif (!empty($form->submit) && $form->submit == get_string('delete')) {
@@ -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,25 +75,27 @@
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']))) {
// fail - you're being attacked?
print_error ('deletewrongkeyvalue', 'mnet', 'index.php');
throw new \moodle_exception ('deletewrongkeyvalue', 'mnet', 'index.php');
exit;
}
$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');
echo $OUTPUT->header();
echo $OUTPUT->render(mnet_get_deprecation_notice());
?>
<form method="post" action="index.php">
<table align="center" width="635" class="generaltable" border="0" cellpadding="5" cellspacing="0">
+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();
}
+3 -12
View File
@@ -51,18 +51,12 @@ if ($hostid && $DB->get_field('mnet_host', 'deleted', array('id' => $hostid)) !=
$PAGE->set_url('/admin/mnet/peers.php');
admin_externalpage_setup($adminsection);
$deprecatenotify = mnet_get_deprecation_notice();
if (!extension_loaded('openssl')) {
print_error('requiresopenssl', 'mnet');
throw new \moodle_exception('requiresopenssl', 'mnet');
}
if (!function_exists('curl_init') ) {
print_error('nocurl', 'mnet');
}
if (!function_exists('xmlrpc_encode_request')) {
print_error('xmlrpc-missing', 'mnet');
throw new \moodle_exception('nocurl', 'mnet');
}
if (!isset($CFG->mnet_dispatcher_mode)) {
@@ -92,7 +86,6 @@ if ($formdata = $simpleform->get_data()) {
$formdata->oldpublickey = $mnet_peer->public_key; // set this so we can confirm on form post without having to recreate the mnet_peer object
$reviewform->set_data($mnet_peer);
echo $OUTPUT->header();
echo $OUTPUT->render($deprecatenotify);
echo $OUTPUT->box_start();
$reviewform->display();
echo $OUTPUT->box_end();
@@ -176,11 +169,10 @@ if ($formdata = $reviewform->get_data()) {
if ($mnet_peer->commit()) {
redirect(new moodle_url('/admin/mnet/peers.php', array('hostid' => $mnet_peer->id)), get_string('changessaved'));
} else {
print_error('invalidaction', 'error', 'index.php');
throw new \moodle_exception('invalidaction', 'error', 'index.php');
}
} else if ($reviewform->is_submitted()) { // submitted, but errors
echo $OUTPUT->header();
echo $OUTPUT->render($deprecatenotify);
echo $OUTPUT->box_start();
$reviewform->display();
echo $OUTPUT->box_end();
@@ -191,7 +183,6 @@ if ($formdata = $reviewform->get_data()) {
// normal flow - just display all hosts with links
echo $OUTPUT->header();
echo $OUTPUT->render($deprecatenotify);
$hosts = mnet_get_hosts(true);
// print the table to display the register all hosts setting
-1
View File
@@ -44,5 +44,4 @@ if (isset($mnet_peer->id) && $mnet_peer->id > 0) {
} else {
$tabs[] = new tabobject('mnetdetails', '#', $strmnetedithost, $strmnetedithost, false);
}
echo $OUTPUT->render(mnet_get_deprecation_notice());
print_tabs(array($tabs), $currenttab);
+2 -2
View File
@@ -18,7 +18,7 @@ require_once($CFG->libdir.'/adminlib.php');
include_once($CFG->dirroot.'/mnet/lib.php');
if ($CFG->mnet_dispatcher_mode === 'off') {
print_error('mnetdisabled', 'mnet');
throw new \moodle_exception('mnetdisabled', 'mnet');
}
admin_externalpage_setup('mnettestclient');
@@ -27,7 +27,7 @@ error_reporting(DEBUG_ALL);
echo $OUTPUT->header();
if (!extension_loaded('openssl')) {
print_error('requiresopenssl', 'mnet', '', NULL, true);
throw new \moodle_exception('requiresopenssl', 'mnet', '', null, true);
}
// optional drilling down parameters
-1
View File
@@ -1,6 +1,5 @@
<?php
echo $OUTPUT->header();
echo $OUTPUT->render(mnet_get_deprecation_notice());
?>
<div id="trustedhosts"><!-- See theme/standard/styles_layout.css #trustedhosts .generaltable for rules -->
<table cellspacing="0" cellpadding="5" class="generaltable generalbox" >
+1 -1
View File
@@ -10,7 +10,7 @@
if (!extension_loaded('openssl')) {
echo $OUTPUT->header();
print_error('requiresopenssl', 'mnet', '', NULL, true);
throw new \moodle_exception('requiresopenssl', 'mnet', '', null, true);
}
$site = get_site();
+16 -5
View File
@@ -38,11 +38,22 @@
}
if (!empty($show) and confirm_sesskey()) {
$class = \core_plugin_manager::resolve_plugininfo_class('mod');
$class::enable_plugin($show, true);
$canenablemodule = true;
$modulename = $show;
admin_get_root(true, false); // settings not required - only pages
redirect(new moodle_url('/admin/modules.php'));
// Invoking a callback function that enables plugins to force additional actions (e.g. displaying notifications,
// modals, etc.) and also specify through its returned value (bool) whether the process of enabling the plugin
// should continue after these actions or not.
if (component_callback_exists("mod_{$modulename}", 'pre_enable_plugin_actions')) {
$canenablemodule = component_callback("mod_{$modulename}", 'pre_enable_plugin_actions');
}
if ($canenablemodule) {
$class = \core_plugin_manager::resolve_plugininfo_class('mod');
$class::enable_plugin($show, true);
admin_get_root(true, false); // Settings not required - only pages.
redirect(new moodle_url('/admin/modules.php'));
}
}
echo $OUTPUT->header();
@@ -51,7 +62,7 @@
/// Get and sort the existing modules
if (!$modules = $DB->get_records('modules', array(), 'name ASC')) {
print_error('moduledoesnotexist', 'error');
throw new \moodle_exception('moduledoesnotexist', 'error');
}
/// Print the table of all modules
+2 -2
View File
@@ -116,13 +116,13 @@ if (($action == 'edit') || ($action == 'new')) {
$instance = portfolio_instance($portfolio);
if ($sure) {
if (!confirm_sesskey()) {
print_error('confirmsesskeybad', '', $baseurl);
throw new \moodle_exception('confirmsesskeybad', '', $baseurl);
}
if ($instance->delete()) {
$deletedstr = get_string('instancedeleted', 'portfolio');
redirect($baseurl, $deletedstr, 1);
} else {
print_error('instancenotdeleted', 'portfolio', $baseurl);
throw new \moodle_exception('instancenotdeleted', 'portfolio', $baseurl);
}
exit;
} else {
@@ -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');
+5 -5
View File
@@ -84,7 +84,7 @@ if (!empty($config->disabledbehaviours)) {
// Disable.
if (($disable = optional_param('disable', '', PARAM_PLUGIN)) && confirm_sesskey()) {
if (!isset($behaviours[$disable])) {
print_error('unknownbehaviour', 'question', $thispageurl, $disable);
throw new \moodle_exception('unknownbehaviour', 'question', $thispageurl, $disable);
}
if (array_search($disable, $disabledbehaviours) === false) {
@@ -97,11 +97,11 @@ if (($disable = optional_param('disable', '', PARAM_PLUGIN)) && confirm_sesskey(
// Enable.
if (($enable = optional_param('enable', '', PARAM_PLUGIN)) && confirm_sesskey()) {
if (!isset($behaviours[$enable])) {
print_error('unknownbehaviour', 'question', $thispageurl, $enable);
throw new \moodle_exception('unknownbehaviour', 'question', $thispageurl, $enable);
}
if (!$archetypal[$enable]) {
print_error('cannotenablebehaviour', 'question', $thispageurl, $enable);
throw new \moodle_exception('cannotenablebehaviour', 'question', $thispageurl, $enable);
}
if (($key = array_search($enable, $disabledbehaviours)) !== false) {
@@ -114,7 +114,7 @@ if (($enable = optional_param('enable', '', PARAM_PLUGIN)) && confirm_sesskey())
// Move up in order.
if (($up = optional_param('up', '', PARAM_PLUGIN)) && confirm_sesskey()) {
if (!isset($behaviours[$up])) {
print_error('unknownbehaviour', 'question', $thispageurl, $up);
throw new \moodle_exception('unknownbehaviour', 'question', $thispageurl, $up);
}
// This function works fine for behaviours, as well as qtypes.
@@ -126,7 +126,7 @@ if (($up = optional_param('up', '', PARAM_PLUGIN)) && confirm_sesskey()) {
// Move down in order.
if (($down = optional_param('down', '', PARAM_PLUGIN)) && confirm_sesskey()) {
if (!isset($behaviours[$down])) {
print_error('unknownbehaviour', 'question', $thispageurl, $down);
throw new \moodle_exception('unknownbehaviour', 'question', $thispageurl, $down);
}
// This function works fine for behaviours, as well as qtypes.
+5 -5
View File
@@ -106,7 +106,7 @@ $sortedqtypes = question_bank::sort_qtype_array($sortedqtypes, $config);
// Disable.
if (($disable = optional_param('disable', '', PARAM_PLUGIN)) && confirm_sesskey()) {
if (!isset($qtypes[$disable])) {
print_error('unknownquestiontype', 'question', $thispageurl, $disable);
throw new \moodle_exception('unknownquestiontype', 'question', $thispageurl, $disable);
}
$class = \core_plugin_manager::resolve_plugininfo_class('qtype');
@@ -117,11 +117,11 @@ if (($disable = optional_param('disable', '', PARAM_PLUGIN)) && confirm_sesskey(
// Enable.
if (($enable = optional_param('enable', '', PARAM_PLUGIN)) && confirm_sesskey()) {
if (!isset($qtypes[$enable])) {
print_error('unknownquestiontype', 'question', $thispageurl, $enable);
throw new \moodle_exception('unknownquestiontype', 'question', $thispageurl, $enable);
}
if (!$qtypes[$enable]->menu_name()) {
print_error('cannotenable', 'question', $thispageurl, $enable);
throw new \moodle_exception('cannotenable', 'question', $thispageurl, $enable);
}
$class = \core_plugin_manager::resolve_plugininfo_class('qtype');
@@ -132,7 +132,7 @@ if (($enable = optional_param('enable', '', PARAM_PLUGIN)) && confirm_sesskey())
// Move up in order.
if (($up = optional_param('up', '', PARAM_PLUGIN)) && confirm_sesskey()) {
if (!isset($qtypes[$up])) {
print_error('unknownquestiontype', 'question', $thispageurl, $up);
throw new \moodle_exception('unknownquestiontype', 'question', $thispageurl, $up);
}
$neworder = question_reorder_qtypes($sortedqtypes, $up, -1);
@@ -143,7 +143,7 @@ if (($up = optional_param('up', '', PARAM_PLUGIN)) && confirm_sesskey()) {
// Move down in order.
if (($down = optional_param('down', '', PARAM_PLUGIN)) && confirm_sesskey()) {
if (!isset($qtypes[$down])) {
print_error('unknownquestiontype', 'question', $thispageurl, $down);
throw new \moodle_exception('unknownquestiontype', 'question', $thispageurl, $down);
}
$neworder = question_reorder_qtypes($sortedqtypes, $down, +1);
+1 -1
View File
@@ -2080,7 +2080,7 @@ class core_admin_renderer extends plugin_renderer_base {
$errorline = true;
} else {
if ($status) { //Handle ok result (ok)
$status = get_string('ok');
$status = get_string('statusok');
} else {
if ($environment_result->getLevel() == 'optional') {//Handle check result (warning)
$status = get_string('check');
+5 -5
View File
@@ -152,7 +152,7 @@ if (($action == 'edit') || ($action == 'new')) {
core_plugin_manager::reset_caches();
redirect($baseurl);
} else {
print_error('instancenotsaved', 'repository', $baseurl);
throw new \moodle_exception('instancenotsaved', 'repository', $baseurl);
}
exit;
} else {
@@ -183,14 +183,14 @@ if (($action == 'edit') || ($action == 'new')) {
}
} else if ($action == 'show') {
if (!confirm_sesskey()) {
print_error('confirmsesskeybad', '', $baseurl);
throw new \moodle_exception('confirmsesskeybad', '', $baseurl);
}
$class = \core_plugin_manager::resolve_plugininfo_class('repository');
$class::enable_plugin($repository, 1);
$return = true;
} else if ($action == 'hide') {
if (!confirm_sesskey()) {
print_error('confirmsesskeybad', '', $baseurl);
throw new \moodle_exception('confirmsesskeybad', '', $baseurl);
}
$class = \core_plugin_manager::resolve_plugininfo_class('repository');
$class::enable_plugin($repository, 0);
@@ -200,7 +200,7 @@ if (($action == 'edit') || ($action == 'new')) {
if ($sure) {
$PAGE->set_pagetype('admin-repository-' . $repository);
if (!confirm_sesskey()) {
print_error('confirmsesskeybad', '', $baseurl);
throw new \moodle_exception('confirmsesskeybad', '', $baseurl);
}
if ($repositorytype->delete($downloadcontents)) {
@@ -209,7 +209,7 @@ if (($action == 'edit') || ($action == 'new')) {
core_plugin_manager::reset_caches();
redirect($baseurl);
} else {
print_error('instancenotdeleted', 'repository', $baseurl);
throw new \moodle_exception('instancenotdeleted', 'repository', $baseurl);
}
exit;
} else {
+2 -2
View File
@@ -104,7 +104,7 @@ if (!empty($edit) || !empty($new)) {
core_plugin_manager::reset_caches();
redirect($parenturl);
} else {
print_error('instancenotsaved', 'repository', $parenturl);
throw new \moodle_exception('instancenotsaved', 'repository', $parenturl);
}
exit;
} else {
@@ -134,7 +134,7 @@ if (!empty($edit) || !empty($new)) {
core_plugin_manager::reset_caches();
redirect($parenturl, $deletedstr, 3);
} else {
print_error('instancenotdeleted', 'repository', $parenturl);
throw new \moodle_exception('instancenotdeleted', 'repository', $parenturl);
}
exit;
}
+1 -1
View File
@@ -33,7 +33,7 @@ $classformode = array(
'view' => 'core_role_allow_view_page'
);
if (!isset($classformode[$mode])) {
print_error('invalidmode', '', '', $mode);
throw new \moodle_exception('invalidmode', '', '', $mode);
}
$baseurl = new moodle_url('/admin/roles/allow.php', array('mode'=>$mode));
+1 -1
View File
@@ -75,7 +75,7 @@ if ($roleid && !isset($assignableroles[$roleid])) {
$a = new stdClass;
$a->roleid = $roleid;
$a->context = $contextname;
print_error('cannotassignrolehere', '', $context->get_url(), $a);
throw new \moodle_exception('cannotassignrolehere', '', $context->get_url(), $a);
}
// Work out an appropriate page title.
+1 -1
View File
@@ -48,7 +48,7 @@ if ($course) {
// Security first.
require_login($course, false, $cm);
if (!has_any_capability(array('moodle/role:assign', 'moodle/role:safeoverride', 'moodle/role:override', 'moodle/role:manage'), $context)) {
print_error('nopermissions', 'error', '', get_string('checkpermissions', 'core_role'));
throw new \moodle_exception('nopermissions', 'error', '', get_string('checkpermissions', 'core_role'));
}
navigation_node::override_active_url($url);
@@ -38,24 +38,28 @@ class core_role_admins_existing_selector extends user_selector_base {
$name = 'removeselect';
}
$options['multiselect'] = false;
$options['includecustomfields'] = true;
parent::__construct($name, $options);
}
public function find_users($search) {
global $DB, $CFG;
list($wherecondition, $params) = $this->search_sql($search, '');
$fields = 'SELECT ' . $this->required_fields_sql('');
[$wherecondition, $params] = $this->search_sql($search, 'u');
$params = array_merge($params, $this->userfieldsparams);
$fields = 'SELECT u.id, ' . $this->userfieldsselects;
if ($wherecondition) {
$wherecondition = "$wherecondition AND id IN ($CFG->siteadmins)";
$wherecondition = "$wherecondition AND u.id IN ($CFG->siteadmins)";
} else {
$wherecondition = "id IN ($CFG->siteadmins)";
$wherecondition = "u.id IN ($CFG->siteadmins)";
}
$sql = " FROM {user}
$sql = " FROM {user} u
$this->userfieldsjoin
WHERE $wherecondition";
list($sort, $sortparams) = users_order_by_sql('', $search, $this->accesscontext);
[$sort, $sortparams] = users_order_by_sql('u', $search, $this->accesscontext, $this->userfieldsmappings);
$params = array_merge($params, $sortparams);
// Sort first by email domain and then by normal name order.
@@ -87,8 +91,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;
}
}
@@ -39,24 +39,28 @@ class core_role_admins_potential_selector extends user_selector_base {
$name = 'addselect';
}
$options['multiselect'] = false;
$options['includecustomfields'] = true;
$options['exclude'] = explode(',', $CFG->siteadmins);
parent::__construct($name, $options);
}
public function find_users($search) {
global $CFG, $DB;
list($wherecondition, $params) = $this->search_sql($search, '');
$fields = 'SELECT ' . $this->required_fields_sql('');
[$wherecondition, $params] = $this->search_sql($search, 'u');
$params = array_merge($params, $this->userfieldsparams);
$fields = 'SELECT u.id, ' . $this->userfieldsselects;
$countfields = 'SELECT COUNT(1)';
$sql = " FROM {user}
$sql = " FROM {user} u
$this->userfieldsjoin
WHERE $wherecondition AND mnethostid = :localmnet";
// It could be dangerous to make remote users admins and also this could lead to other problems.
$params['localmnet'] = $CFG->mnet_localhost_id;
list($sort, $sortparams) = users_order_by_sql('', $search, $this->accesscontext);
[$sort, $sortparams] = users_order_by_sql('u', $search, $this->accesscontext, $this->userfieldsmappings);
$order = ' ORDER BY ' . $sort;
// Check to see if there are too many to show sensibly.
@@ -533,7 +533,7 @@ class core_role_define_role_table_advanced extends core_role_capability_table_wi
protected function get_description_field($id) {
return '<textarea class="form-textarea form-control" id="'. s($id) .'" name="description" rows="10" cols="50">' .
htmlspecialchars($this->role->description) .
htmlspecialchars($this->role->description, ENT_COMPAT) .
'</textarea>';
}
+6 -6
View File
@@ -68,7 +68,7 @@ $confirmed = (optional_param('confirm', false, PARAM_BOOL) && data_submitted() &
switch ($action) {
case 'delete':
if (isset($undeletableroles[$roleid])) {
print_error('cannotdeletethisrole', '', $baseurl);
throw new \moodle_exception('cannotdeletethisrole', '', $baseurl);
}
if (!$confirmed) {
// Show confirmation.
@@ -89,7 +89,7 @@ switch ($action) {
}
if (!delete_role($roleid)) {
// The delete failed.
print_error('cannotdeleterolewithid', 'error', $baseurl, $roleid);
throw new \moodle_exception('cannotdeleterolewithid', 'error', $baseurl, $roleid);
}
// Deleted a role sitewide...
redirect($baseurl);
@@ -108,10 +108,10 @@ switch ($action) {
}
}
if (is_null($thisrole) || is_null($prevrole)) {
print_error('cannotmoverolewithid', 'error', '', $roleid);
throw new \moodle_exception('cannotmoverolewithid', 'error', '', $roleid);
}
if (!switch_roles($thisrole, $prevrole)) {
print_error('cannotmoverolewithid', 'error', '', $roleid);
throw new \moodle_exception('cannotmoverolewithid', 'error', '', $roleid);
}
}
@@ -131,10 +131,10 @@ switch ($action) {
}
}
if (is_null($nextrole)) {
print_error('cannotmoverolewithid', 'error', '', $roleid);
throw new \moodle_exception('cannotmoverolewithid', 'error', '', $roleid);
}
if (!switch_roles($thisrole, $nextrole)) {
print_error('cannotmoverolewithid', 'error', '', $roleid);
throw new \moodle_exception('cannotmoverolewithid', 'error', '', $roleid);
}
}
+2 -2
View File
@@ -93,7 +93,7 @@ $PAGE->set_title($title);
$PAGE->navbar->add($straction);
switch ($context->contextlevel) {
case CONTEXT_SYSTEM:
print_error('cannotoverridebaserole', 'error');
throw new \moodle_exception('cannotoverridebaserole', 'error');
break;
case CONTEXT_USER:
$fullname = fullname($user, has_capability('moodle/site:viewfullnames', $context));
@@ -124,7 +124,7 @@ if (empty($overridableroles[$roleid])) {
$a = new stdClass;
$a->roleid = $roleid;
$a->context = $contextname;
print_error('cannotoverriderolehere', '', $context->get_url(), $a);
throw new \moodle_exception('cannotoverriderolehere', '', $context->get_url(), $a);
}
// If we are actually overriding a role, create the table object, and save changes if appropriate.
+1 -1
View File
@@ -100,7 +100,7 @@ $PAGE->set_title($title);
$PAGE->activityheader->disable();
switch ($context->contextlevel) {
case CONTEXT_SYSTEM:
print_error('cannotoverridebaserole', 'error');
throw new \moodle_exception('cannotoverridebaserole', 'error');
break;
case CONTEXT_USER:
$fullname = fullname($user, has_capability('moodle/site:viewfullnames', $context));
+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]);
+14 -14
View File
@@ -187,51 +187,51 @@ class provider_test extends provider_testcase {
$writer = writer::with_context($context);
$this->assertTrue($writer->has_any_data());
if ($context->contextlevel == CONTEXT_MODULE) {
if ($data = $writer->get_data($subcontextstudent)) {
if ($data = (array)$writer->get_data($subcontextstudent)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
if ($data = (array)$writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/backup:backupactivity', reset($data)->capability);
$this->assertEquals($strpermissions[CAP_ALLOW], reset($data)->permission);
}
}
if ($context->contextlevel == CONTEXT_COURSE) {
if ($data = $writer->get_data($subcontextstudent)) {
if ($data = (array)$writer->get_data($subcontextstudent)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
if ($data = (array)$writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/backup:backupcourse', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_COURSECAT) {
if ($data = $writer->get_data($subcontextmanager)) {
if ($data = (array)$writer->get_data($subcontextmanager)) {
$this->assertEquals($user->id, reset($data)->modifierid);
}
if ($data = $writer->get_data($subcontextrc)) {
if ($data = (array)$writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/category:manage', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_SYSTEM) {
if ($data = $writer->get_data($subcontextmanager)) {
if ($data = (array)$writer->get_data($subcontextmanager)) {
$this->assertEquals($user->id, reset($data)->modifierid);
}
if ($data = $writer->get_data($subcontextrc)) {
if ($data = (array)$writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/backup:backupcourse', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_BLOCK) {
if ($data = $writer->get_data($subcontextstudent)) {
if ($data = (array)$writer->get_data($subcontextstudent)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
if ($data = (array)$writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/block:edit', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_USER) {
if ($data = $writer->get_data($subcontextmanager)) {
if ($data = (array)$writer->get_data($subcontextmanager)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
if ($data = (array)$writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/competency:evidencedelete', reset($data)->capability);
}
}
@@ -415,7 +415,7 @@ class provider_test extends provider_testcase {
provider::export_user_role_to_cohort($user->id);
$writer = writer::with_context($contextuserassignover);
$this->assertTrue($writer->has_any_data());
$exported = $writer->get_related_data($subcontextteacher, 'cohortroles');
$exported = (array)$writer->get_related_data($subcontextteacher, 'cohortroles');
$this->assertEquals($user->id, reset($exported)->userid);
// Test User is member of a cohort which User2 is assigned to role to this cohort.
@@ -432,7 +432,7 @@ class provider_test extends provider_testcase {
provider::export_user_role_to_cohort($user->id);
$writer = writer::with_context($contextuser);
$this->assertTrue($writer->has_any_data());
$exported = $writer->get_related_data($subcontextteacher, 'cohortroles');
$exported = (array)$writer->get_related_data($subcontextteacher, 'cohortroles');
$this->assertEquals($user2->id, reset($exported)->userid);
}
+1 -1
View File
@@ -55,7 +55,7 @@ if ($course->id == SITEID) {
$canview = has_any_capability(array('moodle/role:assign', 'moodle/role:safeoverride',
'moodle/role:override', 'moodle/role:manage'), $usercontext);
if (!$canview) {
print_error('nopermissions', 'error', '', get_string('checkpermissions', 'core_role'));
throw new \moodle_exception('nopermissions', 'error', '', get_string('checkpermissions', 'core_role'));
}
if ($userid != $USER->id) {
+1
View File
@@ -163,6 +163,7 @@ $table->head = [
];
$searchareas = \core_search\manager::get_search_areas_list();
core_collator::asort_objects_by_method($searchareas, 'get_visible_name');
$areasconfig = isset($searchmanager) ? $searchmanager->get_areas_config($searchareas) : false;
foreach ($searchareas as $area) {
$areaid = $area->get_area_id();
+12 -11
View File
@@ -23,18 +23,26 @@ if (empty($settingspage) or !($settingspage instanceof admin_settingpage)) {
if (moodle_needs_upgrading()) {
redirect(new moodle_url('/admin/index.php'));
} else {
print_error('sectionerror', 'admin', "$CFG->wwwroot/$CFG->admin/");
throw new \moodle_exception('sectionerror', 'admin', "$CFG->wwwroot/$CFG->admin/");
}
die;
}
if (!($settingspage->check_access())) {
print_error('accessdenied', 'admin');
throw new \moodle_exception('accessdenied', 'admin');
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 !== '') {
+8
View File
@@ -82,6 +82,14 @@ reports,core_reportbuilder|/reportbuilder/index.php',
$setting->set_updatedcallback('theme_reset_all_caches');
$temp->add($setting);
// Favicon file setting.
$title = get_string('favicon', 'admin');
$description = get_string('favicon_desc', 'admin');
$setting = new admin_setting_configstoredfile('core_admin/favicon', $title, $description, 'favicon', 0,
['maxfiles' => 1, 'accepted_types' => ['image']]);
$setting->set_updatedcallback('theme_reset_all_caches');
$temp->add($setting);
$ADMIN->add('appearance', $temp);
// Course colours section.
+9
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'), ''));
-2
View File
@@ -49,8 +49,6 @@ $ADMIN->add('mnet', new admin_externalpage('trustedhosts', new lang_string('trus
if (isset($CFG->mnet_dispatcher_mode) and $CFG->mnet_dispatcher_mode !== 'off') {
$profilefields = new admin_settingpage('mnetprofilefields', new lang_string('profilefields', 'mnet'),
'moodle/site:config');
$profilefields->add(new admin_setting_heading('mnetprofilefields/xmlrpcmnet', '',
$OUTPUT->render(mnet_get_deprecation_notice())));
$ADMIN->add('mnet', $profilefields);
$fields = mnet_profile_field_options();
+5 -2
View File
@@ -101,7 +101,7 @@ if ($hassiteconfig) {
new lang_string('limitconcurrentlogins', 'core_auth'),
new lang_string('limitconcurrentlogins_desc', 'core_auth'), 0, $options));
$temp->add(new admin_setting_configtext('alternateloginurl', new lang_string('alternateloginurl', 'auth'),
new lang_string('alternatelogin', 'auth', htmlspecialchars(get_login_url())), ''));
new lang_string('alternatelogin', 'auth', htmlspecialchars(get_login_url(), ENT_COMPAT)), ''));
$temp->add(new admin_setting_configtext('forgottenpasswordurl', new lang_string('forgottenpasswordurl', 'auth'),
new lang_string('forgottenpassword', 'auth'), '', PARAM_URL));
$temp->add(new admin_setting_confightmleditor('auth_instructions', new lang_string('instructions', 'auth'),
@@ -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) {
+15
View File
@@ -49,3 +49,18 @@ $ADMIN->add(
empty($CFG->enablecustomreports)
)
);
$settings = new admin_settingpage('reportbuildersettings', get_string('customreportssettings', 'core_reportbuilder'),
'moodle/site:config', empty($CFG->enablecustomreports));
$settings->add(new admin_setting_configtext(
'customreportslimit',
new lang_string('customreportslimit', 'core_reportbuilder'),
new lang_string('customreportslimit_desc', 'core_reportbuilder'), 0, PARAM_INT));
$settings->add(new admin_setting_configcheckbox(
'customreportsliveediting',
new lang_string('customreportsliveediting', 'core_reportbuilder'),
new lang_string('customreportsliveediting_desc', 'core_reportbuilder'), 1));
$ADMIN->add('reportbuilder', $settings);
+41
View File
@@ -61,6 +61,16 @@ if ($hassiteconfig) {
$temp->add($setting);
$temp->add(new admin_setting_configtext('supportpage', new lang_string('supportpage', 'admin'),
new lang_string('configsupportpage', 'admin'), '', PARAM_URL));
$temp->add(new admin_setting_configselect('supportavailability', new lang_string('supportavailability', 'admin'),
new lang_string('configsupportavailability', 'admin'), CONTACT_SUPPORT_AUTHENTICATED,
[
CONTACT_SUPPORT_ANYONE => new lang_string('availabletoanyone', 'admin'),
CONTACT_SUPPORT_AUTHENTICATED => new lang_string('availabletoauthenticated', 'admin'),
CONTACT_SUPPORT_DISABLED => new lang_string('disabled', 'admin'),
]
));
$ADMIN->add('server', $temp);
// Session handling.
@@ -172,6 +182,11 @@ if ($hassiteconfig) {
new lang_string('configproxypassword', 'admin'), ''));
$temp->add(new admin_setting_configtext('proxybypass', new lang_string('proxybypass', 'admin'),
new lang_string('configproxybypass', 'admin'), 'localhost, 127.0.0.1'));
$temp->add(new admin_setting_configcheckbox('proxylogunsafe', new lang_string('proxylogunsafe', 'admin'),
new lang_string('configproxylogunsafe_help', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('proxyfixunsafe', new lang_string('proxyfixunsafe', 'admin'),
new lang_string('configproxyfixunsafe_help', 'admin'), 0));
$ADMIN->add('server', $temp);
$temp = new admin_settingpage('maintenancemode', new lang_string('sitemaintenancemode', 'admin'));
@@ -437,9 +452,35 @@ if ($hassiteconfig) {
'CRAM-MD5' => 'CRAM-MD5',
];
// Get all the issuers.
$issuers = \core\oauth2\api::get_all_issuers();
$enabledissuers = [];
foreach ($issuers as $issuer) {
// Get the enabled issuer only.
if ($issuer->get('enabled')) {
$enabledissuers[] = $issuer;
}
}
if (count($enabledissuers) > 0) {
$authtypeoptions['XOAUTH2'] = 'XOAUTH2';
}
$temp->add(new admin_setting_configselect('smtpauthtype', new lang_string('smtpauthtype', 'admin'),
new lang_string('configsmtpauthtype', 'admin'), 'LOGIN', $authtypeoptions));
if (count($enabledissuers) > 0) {
$oauth2services = [
'' => new lang_string('none', 'admin'),
];
foreach ($enabledissuers as $issuer) {
$oauth2services[$issuer->get('id')] = s($issuer->get('name'));
}
$temp->add(new admin_setting_configselect('smtpoauthservice', new lang_string('issuer', 'auth_oauth2'),
new lang_string('configsmtpoauthservice', 'admin'), '', $oauth2services));
}
$temp->add(new admin_setting_configtext('smtpuser', new lang_string('smtpuser', 'admin'),
new lang_string('configsmtpuser', 'admin'), '', PARAM_NOTAGS));
+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;
+2 -3
View File
@@ -25,7 +25,7 @@
require_once(__DIR__ . '/../config.php');
require_once("{$CFG->libdir}/adminlib.php");
use core_admin\local\systemreports\task_logs;
use core_admin\reportbuilder\local\systemreports\task_logs;
use core_reportbuilder\system_report_factory;
$PAGE->set_url(new \moodle_url('/admin/tasklogs.php'));
@@ -60,8 +60,7 @@ $report = system_report_factory::create(task_logs::class, context_system::instan
if (!empty($filter)) {
$report->set_filter_values([
'task_log:name_operator' => \core_reportbuilder\local\filters\text::IS_EQUAL_TO,
'task_log:name_value' => $filter,
'task_log:name_values' => $filter,
]);
}
@@ -51,12 +51,12 @@
<div class="form-password">
<span data-passwordunmask="wrapper" data-passwordunmaskid="{{ id }}">
<span data-passwordunmask="editor">
<input type="hidden"
<input type="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"
+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"
+29
View File
@@ -0,0 +1,29 @@
@core @core_admin
Feature: Outgoing mail configuration
In order to send email from Moodle
As a Moodle administrator
I need to set mail configuration
Background:
Given I log in as "admin"
Scenario: SMTP Auth Type without OAuth 2 service setup yet
Given I navigate to "Server > Email > Outgoing mail configuration" in site administration
And I should not see "XOAUTH2" in the "SMTP Auth Type" "select"
And I should see "LOGIN" in the "SMTP Auth Type" "select"
And I should see "PLAIN" in the "SMTP Auth Type" "select"
Scenario: SMTP Auth Type with OAuth 2 service setup
Given I navigate to "Server > OAuth 2 services" in site administration
And I press "Google"
And I should see "Create new service: Google"
And I set the following fields to these values:
| Name | Testing service |
| Client ID | thisistheclientid |
| Client secret | supersecret |
And I press "Save changes"
When I navigate to "Server > Email > Outgoing mail configuration" in site administration
Then I should see "XOAUTH2" in the "SMTP Auth Type" "select"
And I should see "LOGIN" in the "SMTP Auth Type" "select"
And I should see "PLAIN" in the "SMTP Auth Type" "select"
And I should see "Testing service" in the "OAuth 2 service" "select"
+4 -5
View File
@@ -15,7 +15,6 @@ Feature: View task logs report and use its filters
And I navigate to "Server > Tasks > Task logs" in site administration
When I click on "Filters" "button"
And I set the following fields in the "Class name" "core_reportbuilder > Filter" to these values:
| Class name operator | Contains |
| Class name value | <name> |
And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
Then I should see "Filters applied"
@@ -27,9 +26,9 @@ Feature: View task logs report and use its filters
| Type | Name |
| Scheduled | <nonmatch> |
Examples:
| name | match | nonmatch |
| task\\clean_events | Cleanup event monitor events | Incoming email pickup |
| task\\pickup_task | Incoming email pickup | Cleanup event monitor events |
| name | match | nonmatch |
| Cleanup event monitor events | Cleanup event monitor events | Incoming email pickup |
| Incoming email pickup | Incoming email pickup | Cleanup event monitor events |
@javascript
# Task duration is dependent on many factors, we are asserting here that no task has a duration >2 minutes.
@@ -63,7 +62,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"
@@ -0,0 +1,278 @@
<?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 core_admin\reportbuilder\datasource;
use core\task\database_logger;
use core_reportbuilder_generator;
use core_reportbuilder_testcase;
use core_reportbuilder\local\filters\{boolean_select, date, duration, number, select, text};
use core_reportbuilder\task\send_schedules;
defined('MOODLE_INTERNAL') || die();
global $CFG;
require_once("{$CFG->dirroot}/reportbuilder/tests/helpers.php");
/**
* Unit tests for task logs datasource
*
* @package core_admin
* @covers \core_admin\reportbuilder\datasource\task_logs
* @copyright 2022 Paul Holden <paulh@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class task_logs_test extends core_reportbuilder_testcase {
/**
* Test default datasource
*/
public function test_datasource_default(): void {
$this->resetAfterTest();
$this->generate_task_log_data(true, 3, 2, 1654038000, 1654038060);
/** @var core_reportbuilder_generator $generator */
$generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder');
$report = $generator->create_report(['name' => 'Tasks', 'source' => task_logs::class, 'default' => 1]);
$content = $this->get_custom_report_content($report->get('id'));
$this->assertCount(1, $content);
// Default columns are name, starttime, duration, result.
[$name, $timestart, $duration, $result] = array_values($content[0]);
$this->assertStringContainsString(send_schedules::class, $name);
$this->assertEquals('1/06/22, 07:00:00', $timestart);
$this->assertEquals('1 min', $duration);
$this->assertEquals('Success', $result);
}
/**
* Test datasource columns that aren't added by default
*/
public function test_datasource_non_default_columns(): void {
$this->resetAfterTest();
$this->generate_task_log_data(true, 3, 2, 1654038000, 1654038060, 'hi', 'core_reportbuilder', 'test', 43);
/** @var core_reportbuilder_generator $generator */
$generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder');
$report = $generator->create_report(['name' => 'Tasks', 'source' => task_logs::class, 'default' => 0]);
$generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'task_log:component']);
$generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'task_log:type']);
$generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'task_log:endtime']);
$generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'task_log:hostname']);
$generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'task_log:pid']);
$generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'task_log:database']);
$generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'task_log:dbreads']);
$generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'task_log:dbwrites']);
$content = $this->get_custom_report_content($report->get('id'));
$this->assertCount(1, $content);
$this->assertEquals([
'core_reportbuilder',
'Scheduled',
'1/06/22, 07:01:00',
'test',
'43',
'<div>3 reads</div><div>2 writes</div>',
'3',
'2',
], array_values($content[0]));
}
/**
* Data provider for {@see test_datasource_filters}
*
* @return array[]
*/
public function datasource_filters_provider(): array {
return [
'Filter name' => ['task_log:name', [
'task_log:name_values' => [send_schedules::class],
], true],
'Filter name (no match)' => ['task_log:name', [
'task_log:name_values' => ['invalid'],
], false],
'Filter component' => ['task_log:component', [
'task_log:component_operator' => select::EQUAL_TO,
'task_log:component_value' => 'core_reportbuilder',
], true],
'Filter component (no match)' => ['task_log:component', [
'task_log:component_operator' => select::NOT_EQUAL_TO,
'task_log:component_value' => 'core_reportbuilder',
], false],
'Filter type' => ['task_log:type', [
'task_log:type_operator' => select::EQUAL_TO,
'task_log:type_value' => database_logger::TYPE_SCHEDULED,
], true],
'Filter type (no match)' => ['task_log:type', [
'task_log:type_operator' => select::EQUAL_TO,
'task_log:type_value' => database_logger::TYPE_ADHOC,
], false],
'Filter output' => ['task_log:output', [
'task_log:output_operator' => text::IS_NOT_EMPTY,
], true],
'Filter output (no match)' => ['task_log:output', [
'task_log:output_operator' => text::IS_EMPTY,
], false],
'Filter result' => ['task_log:result', [
'task_log:result_operator' => boolean_select::CHECKED,
], true],
'Filter result (no match)' => ['task_log:result', [
'task_log:result_operator' => boolean_select::NOT_CHECKED,
], false],
'Filter time start' => ['task_log:timestart', [
'task_log:timestart_operator' => date::DATE_RANGE,
'task_log:timestart_from' => 1622502000,
], true],
'Filter time start (no match)' => ['task_log:timestart', [
'task_log:timestart_operator' => date::DATE_RANGE,
'task_log:timestart_to' => 1622502000,
], false],
'Filter time end' => ['task_log:timeend', [
'task_log:timeend_operator' => date::DATE_RANGE,
'task_log:timeend_from' => 1622502000,
], true],
'Filter time end (no match)' => ['task_log:timeend', [
'task_log:timeend_operator' => date::DATE_RANGE,
'task_log:timeend_to' => 1622502000,
], false],
'Filter duration' => ['task_log:duration', [
'task_log:duration_operator' => duration::DURATION_MAXIMUM,
'task_log:duration_unit' => MINSECS,
'task_log:duration_value' => 2,
], true],
'Filter duration (no match)' => ['task_log:duration', [
'task_log:duration_operator' => duration::DURATION_MINIMUM,
'task_log:duration_unit' => MINSECS,
'task_log:duration_value' => 2,
], false],
'Filter database reads' => ['task_log:dbreads', [
'task_log:dbreads_operator' => number::LESS_THAN,
'task_log:dbreads_value1' => 4,
], true],
'Filter database reads (no match)' => ['task_log:dbreads', [
'task_log:dbreads_operator' => number::GREATER_THAN,
'task_log:dbreads_value1' => 4,
], false],
'Filter database writes' => ['task_log:dbwrites', [
'task_log:dbwrites_operator' => number::LESS_THAN,
'task_log:dbwrites_value1' => 4,
], true],
'Filter database writes (no match)' => ['task_log:dbwrites', [
'task_log:dbwrites_operator' => number::GREATER_THAN,
'task_log:dbwrites_value1' => 4,
], false],
];
}
/**
* Test datasource filters
*
* @param string $filtername
* @param array $filtervalues
* @param bool $expectmatch
*
* @dataProvider datasource_filters_provider
*/
public function test_datasource_filters(
string $filtername,
array $filtervalues,
bool $expectmatch
): void {
$this->resetAfterTest();
$this->generate_task_log_data(true, 3, 2, 1654038000, 1654038060, 'hi', 'core_reportbuilder', 'test', 43);
/** @var core_reportbuilder_generator $generator */
$generator = $this->getDataGenerator()->get_plugin_generator('core_reportbuilder');
// Create report containing single component column, and given filter.
$report = $generator->create_report(['name' => 'Tasks', 'source' => task_logs::class, 'default' => 0]);
$generator->create_column(['reportid' => $report->get('id'), 'uniqueidentifier' => 'task_log:component']);
// Add filter, set it's values.
$generator->create_filter(['reportid' => $report->get('id'), 'uniqueidentifier' => $filtername]);
$content = $this->get_custom_report_content($report->get('id'), 0, $filtervalues);
if ($expectmatch) {
$this->assertCount(1, $content);
$this->assertEquals('core_reportbuilder', reset($content[0]));
} else {
$this->assertEmpty($content);
}
}
/**
* Stress test datasource
*
* In order to execute this test PHPUNIT_LONGTEST should be defined as true in phpunit.xml or directly in config.php
*/
public function test_stress_datasource(): void {
if (!PHPUNIT_LONGTEST) {
$this->markTestSkipped('PHPUNIT_LONGTEST is not defined');
}
$this->resetAfterTest();
$this->generate_task_log_data(true, 3, 2, 1654038000, 1654038060, 'hi', 'core_reportbuilder', 'test', 43);
$this->datasource_stress_test_columns(task_logs::class);
$this->datasource_stress_test_columns_aggregation(task_logs::class);
$this->datasource_stress_test_conditions(task_logs::class, 'task_log:name');
}
/**
* Helper to generate some task logs data
*
* @param bool $success
* @param int $dbreads
* @param int $dbwrites
* @param float $timestart
* @param float $timeend
* @param string $logoutput
* @param string $component
* @param string $hostname
* @param int $pid
*/
private function generate_task_log_data(
bool $success,
int $dbreads,
int $dbwrites,
float $timestart,
float $timeend,
string $logoutput = 'hello',
string $component = 'moodle',
string $hostname = 'phpunit',
int $pid = 42
): void {
$logpath = make_request_directory() . '/log.txt';
file_put_contents($logpath, $logoutput);
$task = new send_schedules();
$task->set_component($component);
$task->set_hostname($hostname);
$task->set_pid($pid);
database_logger::store_log_for_task($task, $logpath, !$success, $dbreads, $dbwrites, $timestart, $timeend);
}
}
@@ -52,7 +52,7 @@ class rollback extends base {
);
$context->applications[] = [
'timeapplied' => strftime($format, $application->time),
'timeapplied' => \core_date::strftime($format, (int)$application->time),
'user' => fullname($user),
'action' => $rollbacklink->out(false),
];
@@ -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
@@ -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 {
+2 -2
View File
@@ -26,5 +26,5 @@
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'tool_admin_presets';
$plugin->version = 2022041900;
$plugin->requires = 2022041200;
$plugin->version = 2022112800;
$plugin->requires = 2022111800;
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2022041900; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2022041200; // Requires this Moodle version.
$plugin->version = 2022112800; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2022111800; // Requires this Moodle version.
$plugin->component = 'tool_analytics'; // Full name of the plugin (used for diagnostics).
+1 -1
View File
@@ -47,7 +47,7 @@ $pageurl = new moodle_url('/' . $CFG->admin . '/tool/availabilityconditions/');
if (($plugin = optional_param('plugin', '', PARAM_PLUGIN))) {
require_sesskey();
if (!array_key_exists($plugin, $plugins)) {
print_error('invalidcomponent', 'error', $pageurl);
throw new \moodle_exception('invalidcomponent', 'error', $pageurl);
}
$action = required_param('action', PARAM_ALPHA);
switch ($action) {
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2022041900;
$plugin->requires = 2022041200;
$plugin->version = 2022112800;
$plugin->requires = 2022111800;
$plugin->component = 'tool_availabilityconditions';
+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
),
]);
}
}
+1 -1
View File
@@ -278,7 +278,7 @@ if (empty($parallelrun)) {
// Print combined run o/p from processes.
$exitcodes = print_combined_run_output($processes, $stoponfail);
// Time to finish run.
$time = round(microtime(true) - $time, 1);
$time = round(microtime(true) - $time, 0);
echo "Finished in " . gmdate("G\h i\m s\s", $time) . PHP_EOL . PHP_EOL;
ksort($exitcodes);
+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);
-1
View File
@@ -24,7 +24,6 @@
$string['aim'] = 'This administration tool helps developers and test writers to create .feature files describing Moodle\'s functionalities and run them automatically. Step definitions available for use in .feature files are listed below.';
$string['allavailablesteps'] = 'All available step definitions';
$string['errorapproot'] = '$CFG->behat_ionic_dirroot is not pointing to a valid Moodle app developer install.';
$string['errorbehatcommand'] = 'Error running behat CLI command. Try running "{$a} --help" manually from CLI to find out more about the problem.';
$string['errorcomposer'] = 'Composer dependencies are not installed.';
$string['errordataroot'] = '$CFG->behat_dataroot is not set or is invalid.';
+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>
@@ -1,4 +1,4 @@
@tool @tool_behat
@tool @tool_behat @javascript
Feature: Set up contextual data for tests
In order to write tests quickly
As a developer
@@ -14,7 +14,6 @@ Feature: Set up contextual data for tests
When I log in as "testuser2"
Then I should see "TestFirstname"
@javascript
Scenario: Add a bunch of courses and categories
Given the following "categories" exist:
| name | category | idnumber |
@@ -43,7 +42,6 @@ Feature: Set up contextual data for tests
And I follow "Category 1"
And I should see "Course 3"
@javascript
Scenario: Add a bunch of groups and groupings
Given the following "courses" exist:
| fullname | shortname |
@@ -64,7 +62,6 @@ Feature: Set up contextual data for tests
And I should see "Grouping 1"
And I should see "Grouping 2"
@javascript
Scenario: Role overrides
Given the following "users" exist:
| username | firstname | lastname | email |
@@ -224,7 +221,6 @@ Feature: Set up contextual data for tests
And I follow "Settings"
And the field "Type" matches value "Scale"
@javascript
Scenario: Add relations between users and groups
Given the following "users" exist:
| username | firstname | lastname | email |
@@ -284,16 +280,16 @@ Feature: Set up contextual data for tests
| student1 | CHC |
When I log in as "admin"
And I navigate to "Users > Accounts > Cohorts" in site administration
Then the following should exist in the "cohorts" table:
Then the following should exist in the "reportbuilder-table" table:
| Name | Cohort size |
| System cohort A | 1 |
| System cohort B | 2 |
And I should not see "Cohort in category"
And I am on course index
And I follow "Cat 1"
And I follow "Cohorts"
And I navigate to "Cohorts" in current page administration
And I should not see "System cohort"
And the following should exist in the "cohorts" table:
And the following should exist in the "reportbuilder-table" table:
| Name | Cohort size |
| Cohort in category | 1 |
| Empty cohort | 0 |
@@ -335,19 +331,22 @@ Feature: Set up contextual data for tests
And I am on "Course 1" course homepage
And I navigate to "Setup > Gradebook setup" in the course gradebook
Then I should see "Test Grade Item 1"
And I follow "Edit Test Grade Item 1"
And I open the action menu in "Test Grade Item 1" "table_row"
And I choose "Edit" in the open action menu
And I expand all fieldsets
And I should see "Course 1"
And I press "Cancel"
And I should see "Grade category 1"
And I should see "Test Grade Item 2"
And I follow "Edit Test Grade Item 2"
And I open the action menu in "Test Grade Item 2" "table_row"
And I choose "Edit" in the open action menu
And I expand all fieldsets
And I should see "Grade category 1"
And I press "Cancel"
And I should see "Grade sub category 2"
And I should see "Test Grade Item 3"
And I follow "Edit Test Grade Item 3"
And I open the action menu in "Test Grade Item 3" "table_row"
And I choose "Edit" in the open action menu
And I expand all fieldsets
And I should see "Grade sub category 2"
And I press "Cancel"
@@ -412,7 +411,8 @@ Feature: Set up contextual data for tests
And I am on "Course 1" course homepage
And I navigate to "Setup > Gradebook setup" in the course gradebook
Then I should see "Test Outcome Grade Item 1"
And I follow "Edit Test Outcome Grade Item 1"
And I open the action menu in "Test Outcome Grade Item 1" "table_row"
And I choose "Edit" in the open action menu
And the field "Outcome" matches value "Grade outcome 1"
And I expand all fieldsets
And I should see "Grade category 1" in the "Grade category" "form_row"
@@ -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 |

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