Compare commits

...

3648 Commits

Author SHA1 Message Date
Eloy Lafuente (stronk7) cf687f4357 Moodle release 3.7.6 2020-05-09 20:05:35 +02:00
Eloy Lafuente (stronk7) e32ae38439 weekly release 3.7.5+ 2020-05-08 13:29:56 +02:00
Eloy Lafuente (stronk7) 4e09dc64b7 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-05-08 13:29:53 +02:00
Jake Dallimore fcefa38092 Merge branch 'MDL-51694-37' of https://github.com/MartinGauk/moodle into MOODLE_37_STABLE 2020-05-08 11:23:23 +08:00
Eloy Lafuente (stronk7) 61f218ae47 Merge branch 'MDL-68443-xmldb-path-validation-MOODLE_37_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_37_STABLE 2020-05-07 19:17:11 +02:00
Paul Holden 6bafc320c0 MDL-68415 core: test attachments in email_to_user from allowed paths. 2020-05-07 18:41:18 +02:00
fujiwara a22a46a689 MDL-68415 email: Fix attachment in email_to_user() 2020-05-07 18:41:12 +02:00
Jake Dallimore 9e6f90f1cf Merge branch 'MDL-62403-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2020-05-07 14:20:12 +08:00
Simey Lameze 62ed52fdc4 MDL-62403 portfolio: add upgrade notes for google docs 2020-05-07 13:05:44 +08:00
Ryan Wyllie ad45df4dc2 MDL-62403 portfolio: create directories for google drive export
I've modified the Google Drive portfolio export so that it creates a
root directory in Drive for all of the files in the export. This allows
each export to be contained from each other to help with clashing file
names.

Additionally, the paths for the exported files will now be created in
Drive so that exported files are in the correct directory structure.
This is important for forum posts exports which assume a certain
directory structure in the export.
2020-05-07 12:43:15 +08:00
Andrew Nicols c65e8a5900 Merge branch 'MDL-68556-37-pluginscheckcss' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2020-05-07 09:17:03 +08:00
Paul Holden 796a7ea458 MDL-68410 mod_scorm: safer status operator comparison. 2020-05-07 09:03:24 +08:00
Ferran Recio 3c5d8d6602 MDL-68430 filter_mathjaxloader: update default CDN to 2.7.8 2020-05-06 11:13:42 +02:00
Jun Pataleta 2ad366c869 Merge branch 'MDL-68402_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2020-05-06 17:04:44 +08:00
Tim Hunt 55ba3eece2 MDL-68402 accesslib: fix coding style of loops 2020-05-06 09:58:54 +01:00
Tim Hunt fb990d26d4 MDL-68402 accesslib: Modernise coding style in the functions changed 2020-05-06 09:58:54 +01:00
Tim Hunt 96dbdc2ad9 MDL-68402 accesslib: fix get_with_capability_join logic
In fact, rather than fix the old logic, I noticed that the correct
logic was already implemented in get_users_by_capability. So, I
refactored to extract the working version into a function, which it
turns out can have exactly the same API as get_with_capability_join,
which was convenient.
2020-05-06 09:58:53 +01:00
Jake Dallimore d976ae38f5 Merge branch 'MDL-68293-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2020-05-06 12:54:08 +08:00
Jun Pataleta 675c0451f9 Merge branch 'MDL-68301-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2020-05-06 10:33:01 +08:00
Andrew Nicols f5e8e0b08a Merge branch 'MDL-63609-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-05-06 08:52:19 +08:00
AMOS bot c9da87aa50 Automatically generated installer lang files 2020-05-06 00:13:21 +00:00
Eloy Lafuente (stronk7) c070acd2eb weekly release 3.7.5+ 2020-05-05 19:05:35 +02:00
Eloy Lafuente (stronk7) 647aa0625f Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-05-05 19:05:33 +02:00
Bas Brands a4e65c3276 MDL-68266 core_message: disable custom switches for behat testing 2020-05-05 14:23:53 +02:00
Jun Pataleta 225e176962 Merge branch 'MDL-68266-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-05-05 09:26:18 +08:00
Bas Brands 75b5301c9a MDL-68266 theme_boost: behat enable custom switches 2020-05-05 09:12:50 +08:00
AMOS bot 6d780ff6d5 Automatically generated installer lang files 2020-05-05 00:11:41 +00:00
Eloy Lafuente (stronk7) 5ed7751049 Merge branch 'MDL-52904-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2020-05-04 22:32:25 +02:00
Martin Gauk 8d21ca65d4 MDL-51694 core_grades: use transactions when deleting 2020-05-04 12:47:39 +00:00
Jun Pataleta 20644f8c6a Merge branch 'MDL-68266-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2020-05-04 17:24:43 +08:00
Bas Brands 22c36cd1b6 MDL-68266 core_course: accessibility improvements for course management
- added commit of Moodle 3.7 hardcoding the highlight border width
that was not calculated because of a scssphp bug
2020-05-04 10:57:57 +02:00
Sara Arjona 014fd48298 Merge branch 'MDL-68315-MOODLE_37_STABLE' of https://github.com/kabalin/moodle into MOODLE_37_STABLE 2020-05-04 10:37:36 +02:00
Andrew Nicols 6006347f62 Merge branch 'MDL-68266-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2020-05-04 15:33:49 +08:00
Bas Brands fc1d54365e MDL-68266 core_course: accessibility improvements for course managent
colour contrast improvements
use custom checkboxes
use accessible colour for text-muted
2020-05-04 09:12:22 +02:00
David Saylor 41536c1586 MDL-52904 completion: reference context in cron query
Co-authored-by: Barbara Lawrence <blawrence@harlow-college.ac.uk>
2020-05-04 09:58:16 +08:00
Jun Pataleta 5b52f17db3 MDL-52904 completion: Unit tests for daily completion task 2020-05-04 09:58:16 +08:00
Andrew Nicols a44b5cbd84 Merge branch 'MDL-68509-37' of https://github.com/Dagefoerde/moodle into MOODLE_37_STABLE 2020-05-03 19:56:25 +08:00
Eloy Lafuente (stronk7) 3eca8fedf0 weekly release 3.7.5+ 2020-05-02 16:36:34 +02:00
Eloy Lafuente (stronk7) 6136ba0221 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-05-02 16:36:32 +02:00
Andrew Nicols 9a6874fee7 Merge branch 'MDL-68492-m37' of https://github.com/sammarshallou/moodle into MOODLE_37_STABLE 2020-05-01 12:08:02 +08:00
Andrew Nicols d5483a9d21 Merge branch 'MOODLE_37_MDL-67540' of https://github.com/golenkovm/moodle into MOODLE_37_STABLE 2020-05-01 11:21:39 +08:00
Andrew Nicols e4079005ef Merge branch 'MDL-57680_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2020-05-01 11:07:39 +08:00
Eloy Lafuente (stronk7) 9c077351e5 Merge branch 'MDL-68427-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-04-30 23:35:42 +02:00
Jun Pataleta abe082493e Merge branch 'MDL-68404-37' of git://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2020-04-30 13:32:43 +08:00
Jun Pataleta 5ea56fd371 Merge branch 'MDL-68309-37' of https://github.com/snake/moodle into MOODLE_37_STABLE 2020-04-30 09:56:30 +08:00
AMOS bot 2cd1ef8c97 Automatically generated installer lang files 2020-04-30 00:12:04 +00:00
Eloy Lafuente (stronk7) 35cf368176 Merge branch 'MDL-68434-37-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2020-04-29 22:53:01 +02:00
David Mudrák ed3a03b439 MDL-68434 lang: Use the updated terminology in the tests 2020-04-29 17:48:28 +02:00
David Mudrák 0b7412e092 MDL-68556 admin: Fix some minor styling issues on the plugins check page
The patch fixes missing space around elements and some other minor
visual issues detected. This was a good opportunity to get rid of custom
CSS rules and use the native bootstrap classes and utilities.
2020-04-29 14:53:15 +02:00
Helen Foster 3f19c3cfb4 MDL-68434 lang: Import fixed English strings (en_fix)
Significant string changes:

* pluginnamesummary,qtype_ddimageortext and
  pluginnamesummary,qtype_ddmarker - Note about the question type not
  being accessible to visually impaired users
2020-04-28 15:52:21 +02:00
Andrew Nicols 2c2232ce23 Merge branch 'MDL66035' of https://github.com/jwalits/moodle into MOODLE_37_STABLE 2020-04-28 20:04:56 +08:00
Luca Bösch 1bd4817843 MDL-68404 gradingform_rubric: Style "Add level" button. 2020-04-28 14:01:45 +02:00
Andrew Nicols 5673b3b48a Merge branch 'MDL-68445_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2020-04-28 18:31:34 +08:00
Eloy Lafuente (stronk7) 686468bae6 weekly release 3.7.5+ 2020-04-28 11:15:24 +02:00
Eloy Lafuente (stronk7) 30d3dad3bb Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-04-28 11:15:22 +02:00
Andrew Nicols 4fa12efce0 Merge branch 'MDL-68525-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-04-28 10:23:51 +02:00
Eloy Lafuente (stronk7) 38f595a0df MDL-68525 behat: chrome/switches caps not allowed in Chrome > 81
Now we need to use extra_capabilities/chromeOptions/args instead

The former was deprecated long ago, it seems that Chrome 81 has
stopped accepting it. The later seems to be working at very least
since Chrome 76 (haven't gone further back).
2020-04-28 12:32:18 +08:00
Eloy Lafuente (stronk7) cdaae17f19 Merge branch 'MDL-68393-37-availableupdateui' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2020-04-27 18:09:59 +02:00
Eloy Lafuente (stronk7) 6a0f3a8736 Merge branch 'MDL-65967-37' of https://github.com/danielneis/moodle into MOODLE_37_STABLE 2020-04-27 17:31:38 +02:00
AMOS bot 201946c82c Automatically generated installer lang files 2020-04-27 00:11:37 +00:00
Jwalit Shah 9950de034a MDL-66035 message: Restore missing message preferences files 2020-04-27 09:49:06 +10:00
Tim Hunt e43a539e10 MDL-57680 form autocomplete: extend Behat tests 2020-04-26 15:12:12 +01:00
Tim Hunt 80474ee9e8 MDL-57680 form autocomplete: fix triggering change event 2020-04-26 14:33:55 +01:00
Tim Hunt cce1fe41a6 MDL-57680 form autocomplete: let singleselects be cleared.
This was already working after ajax had refreshed the choices, it was just
broken on first page load.
2020-04-26 14:30:19 +01:00
Mikhail Golenkov ae0d7f7089 MDL-67540 quiz: Start transaction before selecting existing slots.
Co-authored-by: Conn <conn@cmrwarwicker.com>
2020-04-26 10:56:03 +10:00
Thiagolivramento 77d5634729 MDL-65967 tool_recyclebin: add recycle bin link to category edit menu 2020-04-24 17:09:12 -03:00
Eloy Lafuente (stronk7) f2d2912241 MDL-68445 behat: Bump to 3.6.x
composer.lock generated with PHP 7.1, following:

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

Also, ensure Symfony/Process > 4.0 compatibility
(needed for parallel runs)
2020-04-24 15:57:17 +02:00
sam marshall 28de453200 MDL-68492 Behat: Use faster direct link steps in lib/tests/behat 2020-04-24 12:07:15 +01:00
sam marshall d571624920 MDL-68492 Behat: Direct URL links for courses, activities 2020-04-24 12:07:15 +01:00
Shamim Rezaie 12659cd7f1 MDL-68509 core_ddl: Keep databasemeta cache after dropping temptables
Backport of MDL-58584 (934c2ee + 94e2509)
2020-04-24 11:06:37 +02:00
Jun Pataleta 84e737e3dd weekly release 3.7.5+ 2020-04-24 09:41:07 +08:00
Jun Pataleta 64f54e0dc4 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-04-24 09:41:05 +08:00
Eloy Lafuente (stronk7) 06188c7eb6 Merge branch 'MDL-67886_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2020-04-23 16:06:35 +02:00
Eloy Lafuente (stronk7) c40fde2eae MDL-67886 phpunit: Make tests cross-db
The suggested SQL in some of the assertions was not cross-db
but db-dependent. Now we just keep that part out from the
assertions, because it's not important to verify the
errors that are being asserted.
2020-04-23 12:35:30 +02:00
AMOS bot 22ec8c83b5 Automatically generated installer lang files 2020-04-23 00:14:44 +00:00
Eloy Lafuente (stronk7) b2507972df Merge branch 'MDL-67886_37' of git://github.com/mdjnelson/moodle into MOODLE_37_STABLE 2020-04-23 01:37:35 +02:00
Mark Nelson f524ec2aaa MDL-67886 core: check_database_schema() checks for missing indexes 2020-04-22 23:20:18 +02:00
Jun Pataleta 050cede6d8 Merge branch 'MDL-68392_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2020-04-22 11:09:20 +08:00
Paul Holden ac1fc5575a MDL-63609 media_videojs: support Youtube URL start time. 2020-04-21 14:45:37 +01:00
Jun Pataleta 3870922e61 Merge branch 'MDL-68339_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2020-04-20 21:52:40 +08:00
AMOS bot 9673018068 Automatically generated installer lang files 2020-04-19 00:13:25 +00:00
Brendan Heywood f98f08c00a MDL-68443 xmldb: Improve path validation on view_xml action 2020-04-18 20:51:56 +10:00
Eloy Lafuente (stronk7) 22120a505a MDL-68339 message: move array_key_exists() to property_exists()
Towards PHP 7.4 compliance:

array_key_exists(): Using array_key_exists() on objects is
deprecated. Use isset() or property_exists() instead
2020-04-16 20:28:37 +02:00
Eloy Lafuente (stronk7) 5466990ffc weekly release 3.7.5+ 2020-04-16 19:34:19 +02:00
Eloy Lafuente (stronk7) ae77ba7af5 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-04-16 19:34:13 +02:00
Juan Leyva 3291f83c81 MDL-68293 mobile: Update language strings to mention new app plans
We need to update different language strings to let our site admins know about the new app restrictions
(for both features and user devices able to receive notifications)
2020-04-16 12:54:11 +02:00
Andrew Nicols 5963365517 MDL-68427 core: Correct previous/next page in paging bar 2020-04-16 14:41:59 +08:00
Adrian Greeve 3f7b3abaa9 Merge branch 'MDL-68196-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2020-04-16 10:58:06 +08:00
Shamim Rezaie a1d6d0ceb2 MDL-68196 core: not expand autocomplete elements too soon on IE 2020-04-16 12:23:49 +10:00
Eloy Lafuente (stronk7) 78f3ac2a67 Merge branch 'MDL-66849-M37' of https://github.com/ised-isde-canada/moodle into MOODLE_37_STABLE 2020-04-16 01:03:02 +02:00
Eloy Lafuente (stronk7) 9ff01f7cb5 Merge branch 'MDL-68323-37' of git://github.com/marinaglancy/moodle into MOODLE_37_STABLE 2020-04-16 00:54:07 +02:00
Eloy Lafuente (stronk7) a4c62ac8c1 Merge branch 'MDL-68279-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-04-16 00:33:32 +02:00
Eloy Lafuente (stronk7) fa07a148ef Merge branch 'MDL-68189-m37' of https://github.com/NeillM/moodle into MOODLE_37_STABLE 2020-04-16 00:19:04 +02:00
Eloy Lafuente (stronk7) 4c94e4947a Merge branch 'MDL-68280-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-04-16 00:10:56 +02:00
Sara Arjona 8484ab9ec9 Merge branch 'MDL-67751-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-04-15 17:57:23 +02:00
Jun Pataleta 56e572a73e Merge branch 'MDL-66200-MOODLE_37_STABLE_gradebook_csv_import' of https://github.com/jwalits/moodle into MOODLE_37_STABLE 2020-04-15 23:18:09 +08:00
Paul Holden 94de68f9b8 MDL-67751 course: include inline folders in list of resources. 2020-04-15 13:59:36 +01:00
Eloy Lafuente (stronk7) 89d61861a6 Merge branch 'MDL-67499-37' of git://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-04-15 12:49:57 +02:00
Bas Brands f8f1a2dd86 MDL-68301 theme_boost: move course format css
this reduces duplication of css in format_topic
and format_weeks
2020-04-15 09:53:14 +02:00
Michael Milette 8039c06800 MDL-66849 output: Remove custom menu title when not specified 2020-04-14 22:20:48 -04:00
Jun Pataleta b59c6dbd51 Merge branch 'MDL-68405-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-04-14 16:08:58 +08:00
Andrew Nicols 7ab1221629 MDL-68405 js: Ensure correct exit code for gherkinlint 2020-04-14 15:09:48 +08:00
AMOS bot 9818289b15 Automatically generated installer lang files 2020-04-11 00:12:01 +00:00
AMOS bot 274e050ab4 Automatically generated installer lang files 2020-04-11 00:12:01 +00:00
David Mudrák f9aa942b2c MDL-68393 admin: Fix some minor styling issues on the notifications page
The patch makes the available update information elements more
distinguishable, the Download button more prominent, and the Check for
available update button better aligned. It reduces the space between
multiple available Moodle updates, too.
2020-04-10 14:41:36 +02:00
Eloy Lafuente (stronk7) d4b9e6613f Merge branch 'MDL-67919-37' of git://github.com/sarjona/moodle into MOODLE_37_STABLE 2020-04-10 11:58:49 +02:00
Eloy Lafuente (stronk7) 7098d7cb9f Merge branch 'MDL-67910-37' of git://github.com/sarjona/moodle into MOODLE_37_STABLE 2020-04-10 11:46:18 +02:00
Luca Bösch 945469f0e1 MDL-68392 travis: Fix validation warnings and infos
Can verify that this file passes the validation @
https://config.travis-ci.com/explore
2020-04-10 00:14:47 +02:00
Jwalit Shah 0470c9cc4e MDL-66200 gradebook: check selected feedback option when importing data 2020-04-09 10:59:46 +10:00
Sara Arjona 1ea8b348dd weekly release 3.7.5+ 2020-04-08 16:24:43 +02:00
Sara Arjona a65a5570a3 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-04-08 16:24:40 +02:00
Andrew Nicols da15ac0233 Merge branch 'MDL-68148-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2020-04-08 11:24:29 +08:00
Shamim Rezaie 07091e866d MDL-68148 user: remove the noscript tag
The submit button remains deactive if js is disabled. So having a
noscript tag to output a submit button here does not make sense.
2020-04-08 11:55:11 +10:00
Shamim Rezaie 37d34c2aa4 MDL-68148 user: fixed stray end tag (input) 2020-04-08 11:44:46 +10:00
Shamim Rezaie 4934b00dca MDL-68148 core_user: avoid multiple enrol buttons with the same id 2020-04-08 11:44:45 +10:00
Shamim Rezaie 0f4e00f527 MDL-68148 core_user: set the fullname column as the header column
ref: https://www.w3.org/WAI/tutorials/tables/
2020-04-08 11:44:45 +10:00
Shamim Rezaie d8ba1a5db5 MDL-68148 output: type attribute is unnecessary for javascript resources 2020-04-08 11:44:44 +10:00
Shamim Rezaie 1a5c2aea69 MDL-68148 core: remove cellspacing
The cellspacing attribute of <table> is not supported in HTML5.
So the removed line did not have any effect since ages ago.
2020-04-08 11:44:43 +10:00
AMOS bot e2df259a6a Automatically generated installer lang files 2020-04-08 00:11:20 +00:00
AMOS bot c7c4882929 Automatically generated installer lang files 2020-04-08 00:11:19 +00:00
Sara Arjona bd3600a28e Merge branch 'MDL-40081-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-04-07 15:10:25 +02:00
Sara Arjona 88955a1984 Merge branch 'MOODLE_37_MDL-68223' of https://github.com/golenkovm/moodle into MOODLE_37_STABLE 2020-04-07 13:43:17 +02:00
Sara Arjona 795069eb94 Merge branch 'MOODLE_37_MDL-65700' of https://github.com/golenkovm/moodle into MOODLE_37_STABLE 2020-04-07 13:34:35 +02:00
Mikhail Golenkov e061d00010 MDL-65700 javascript: Add MDN and URL polyfills. 2020-04-07 20:57:46 +10:00
Sara Arjona b6e8c88f0b Merge branch 'MDL-65539-m37' of https://github.com/NeillM/moodle into MOODLE_37_STABLE 2020-04-06 16:42:24 +02:00
Paul Holden c96e66a40a MDL-40081 completion: clean up criteria records for deleted courses. 2020-04-06 12:22:03 +01:00
Paul Holden 23e71ce7a5 MDL-67499 restore: account for deleted user truncated email/username. 2020-04-06 12:10:00 +01:00
Eloy Lafuente (stronk7) a7c8680ec3 MDL-67499 restore: add 100% cov. to restore_dbops::precheck_user()
Supports multiple mails to be tested.

So we can perform changes to it and also some related stuff,
like delete_user() with confidence.
2020-04-06 11:48:44 +01:00
Paul Holden 2c6df5b7f0 MDL-67499 user: truncate long username/email during user deletion. 2020-04-06 11:48:44 +01:00
Paul Holden 316575d3b3 MDL-68280 user: fix PHP notice for unknown user invalid login token. 2020-04-06 11:46:26 +01:00
Paul Holden 9a856f83fe MDL-68279 admin: filter site fullname when sending test email. 2020-04-06 11:41:34 +01:00
Sara Arjona c7c98440cf Merge branch 'MDL-68239-37' of https://github.com/NinaHerrmann/moodle into MOODLE_37_STABLE 2020-04-06 10:19:32 +02:00
Jake Dallimore 1674e5f87c MDL-68309 overrides: clarify inactive overrides help string 2020-04-06 07:41:36 +08:00
Sara Arjona 98af061024 MDL-67919 dataprivacy: Fix behat error when contacting DPO 2020-04-03 19:49:00 +02:00
Ruslan Kabalin b71d42cfb4 MDL-68315 formslib: Fix completion attribute in course form element.
This fixes 'onlywithcompletion' attribute in course form element.
2020-04-03 16:12:44 +01:00
n_herr03 337d0eb9e8 MDL-68239 mod_data: make required icon in multimenu visible 2020-04-03 12:20:24 +02:00
Neill Magill 316d6c9de5 MDL-65539 dragdrop: Ignore drag proxy in keyboard menu
Before this change the node that is displayed during a the last mouse
drag and drop would be listed in a keyboard drag and drop if it was
the container node of one of the types of node being moved in this action.

If a node is inside a node with the .yui3-dd-proxy class then it is
one of the proxy elements used to display the dragged content during
mouse drag and drop so we will start ignoring it.
2020-04-03 08:39:31 +01:00
Neill Magill 3e32822706 MDL-65539 dragdrop: Allow sections and blocks to move to the top
Before this change sections and blocks could not be moved to be the
top item when using keyboard drag and drop.

They can now be moved to the top in one action.

The way they move using keyboard drag and drop has changed when they
are below the item they are dropped on, not instead of appearing
below it they will be placed above it.
2020-04-03 08:39:31 +01:00
Neill Magill 8314f2e9a2 MDL-65539 dragdrop: Allow direction detection when using keyboard
Before this change keyboard drag and drop could not detect the
direction of movement, this meant that an item would only be placed
below an item or at the top of a container item.

This change means that extending modules can declare
detectkeyboarddirection to true. This will mean that when an item is
moved it's position will be determined by the direction of travel as
it would be when dragging using the mouse.

If detectkeyboarddirection is true then:

* If you move an item upwards it will be placed before the item
  selected in the drop menu
* If you move a item downwards it will be placed after the item
  selected in the drop menu
* The item above the one being dragged will now be displayed on
  the drop menu

If detectkeyboarddirection is false there will be no change in
behaviour.
2020-04-03 08:39:31 +01:00
Neill Magill ffe5f336d3 MDL-65539 course: Keyboad drag and drop should not break page
Before this change keyboard drag and drop of sections would alter
the structure of the page.

This occured because in this case the dragnode was the original node
2020-04-03 08:39:30 +01:00
Neill Magill 1c45c9200a MDL-65539 formats: Section labels not updated during move
Before this change when moving a section via drag and drop the
aria-label for the section was not being updated neither was the
title on the drag handle.

The result was the the drop menu on keyboard drag and drop displayed
the wrong information after a section was moved.
2020-04-03 08:39:30 +01:00
Neill Magill 6c8328eb4e MDL-68189 course: Section name change should display in DD menu
Before this patch if a section was renamed inline the old name was
still displayed in the keyboard drag and drop menu until the page
was refreshed.

This change ensures that the two places that section names were not
updated in get changed after an inline update to the name.
2020-04-03 08:38:51 +01:00
Sara Arjona 08a62243c5 weekly release 3.7.5+ 2020-04-02 16:51:11 +02:00
Sara Arjona 4feb95d263 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-04-02 16:51:09 +02:00
Marina Glancy e3e5bdfbe4 MDL-68323 core: add --max-lint-warnings option to grunt 2020-04-02 13:56:25 +02:00
Luca Bösch c074850dc4 MDL-67672 user: Display name in user menu as elsewhere. 2020-04-02 00:17:57 +02:00
Eloy Lafuente (stronk7) 5bfbbb34be Merge branch 'MDL-68265-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-04-01 23:29:31 +02:00
Eloy Lafuente (stronk7) da231a51e0 Merge branch 'MDL-68193_37' of git://github.com/mdjnelson/moodle into MOODLE_37_STABLE 2020-04-01 23:22:43 +02:00
Mark Nelson 47fe981b8e MDL-68193 core: added new database_text_field_content_replaced event 2020-04-01 20:44:33 +02:00
Eloy Lafuente (stronk7) a4087a6cab Merge branch 'MDL-67995-37' of git://github.com/cescobedo/moodle into MOODLE_37_STABLE 2020-04-01 19:11:58 +02:00
Jake Dallimore 965a8fdfc4 Merge branch 'MDL-67672-37' of git://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2020-04-01 16:43:52 +08:00
Sara Arjona ac3c2ec5ba Merge branch 'MDL-68281_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2020-04-01 09:25:38 +02:00
Sara Arjona 68a72085f2 Merge branch 'MDL-68277_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2020-04-01 09:14:57 +02:00
Luca Bösch 1131d828f2 MDL-67672 user: Display name in user menu as elsewhere. 2020-04-01 09:03:30 +02:00
Sara Arjona a7b6456475 Merge branch 'MDL-58964-37' of git://github.com/abias/moodle into MOODLE_37_STABLE 2020-03-31 19:14:05 +02:00
Eloy Lafuente (stronk7) b9a527603d Merge branch 'MDL-64494-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2020-03-31 18:59:40 +02:00
Bas Brands 1e66dd6de0 MDL-64494 theme_boost: accessible theme colours 2020-03-31 18:55:08 +02:00
Sara Arjona 74b8e6a751 Merge branch 'MDL-66245-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2020-03-31 15:09:22 +02:00
Sara Arjona c137a7d306 MDL-67910 behat: PendingJS improvements for deleteevent modal 2020-03-31 08:43:20 +02:00
Jake Dallimore 7051341ba6 Merge branch 'MDL-68144-37' of git://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2020-03-31 13:59:59 +08:00
Luca Bösch 1db8e1bab4 MDL-68144 mod_folder: make top margins less dominant for folder content 2020-03-31 07:39:17 +02:00
Eloy Lafuente (stronk7) 1da6538756 Merge branch 'MDL-68269-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2020-03-30 22:54:26 +02:00
Eloy Lafuente (stronk7) 5d580ac95c Merge branch 'MDL-68049-37' of https://github.com/spvickers/moodle into MOODLE_37_STABLE 2020-03-30 16:24:15 +02:00
Andrew Nicols f76355db90 Merge branch 'MDL-52319-37-environmentxml' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2020-03-30 16:55:01 +08:00
Shamim Rezaie 1cdf348ac5 MDL-68269 form: fieldset in group elements should be full width 2020-03-30 18:34:35 +11:00
cescobedo 91e4d8f3d8 MDL-67995 format_singleactivity: Fix dropwdown type of activity 2020-03-30 08:27:10 +02:00
Mikhail Golenkov f8c7167b5d MDL-68223 assign: Fix selection of comment text. 2020-03-30 15:00:36 +11:00
Andrew Nicols 94ec80ae18 MDL-68265 core_question: Switch question import to request dir 2020-03-30 08:14:46 +08:00
Andrew Nicols 6e1a330c81 MDL-68265 mod_lesson: Switch question import to request dir 2020-03-30 08:14:46 +08:00
AMOS bot 752bd12fd4 Automatically generated installer lang files 2020-03-29 00:11:53 +00:00
Eloy Lafuente (stronk7) 6d7e1cfecb MDL-68281 unit test: Include required class
Also, add missing line break, that I did not see 1 week ago.
2020-03-28 16:27:48 +01:00
AMOS bot daa86448e9 Automatically generated installer lang files 2020-03-28 00:11:46 +00:00
Tim Hunt 6536a3ff9b MDL-68277 qtype_essay: answer area in reviews should be right size
The answer box size is set by teachers and provides a useful
visual cue how long a response was expected. Therefore, it is
useful to keep the space at least that size in quiz reviews, etc.
2020-03-27 14:11:45 +00:00
Jake Dallimore 604b2a3b58 weekly release 3.7.5+ 2020-03-27 09:18:33 +08:00
Jake Dallimore 4e3837eda1 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-03-27 09:18:32 +08:00
Eloy Lafuente (stronk7) 3b7037656e Merge branch 'MDL-64429-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-03-26 18:38:57 +01:00
Paul Holden fb6cdb3a9f MDL-64429 tool_usertours: upgrade step to fix existing tours sortorder. 2020-03-26 16:48:51 +00:00
Eloy Lafuente (stronk7) 3e718aff10 Merge branch 'MDL-68183-37-mysqlpwdresetsql' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2020-03-26 01:18:34 +01:00
Eloy Lafuente (stronk7) 95fce73f16 Merge branch 'MDL-63865-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-03-26 00:32:15 +01:00
Eloy Lafuente (stronk7) 07dbce000c Merge branch 'MDL-67442_37' of https://github.com/jonof/moodle into MOODLE_37_STABLE 2020-03-26 00:08:10 +01:00
Jun Pataleta 9b82b174d0 Merge branch 'MDL-68149_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2020-03-26 00:09:28 +08:00
Jun Pataleta 5d117508d8 Merge branch 'MDL-67024-37' of git://github.com/farhan6318/moodle into MOODLE_37_STABLE 2020-03-25 08:34:12 +08:00
Eloy Lafuente (stronk7) 02d491fe99 Merge branch 'MDL-67731-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-03-25 00:06:22 +01:00
Jake Dallimore 72c744dd22 Merge branch 'MDL-68135-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2020-03-24 12:11:13 +08:00
AMOS bot 58fe4d2cbd Automatically generated installer lang files 2020-03-24 00:11:12 +00:00
Alexander Bias 49361f9a24 MDL-58964 navigation: Reindex array when element is removed 2020-03-23 21:37:00 +01:00
David Mudrák 129c9d4093 MDL-52319 upgrade: Better report the environment checks in CLI scripts
Before we did not display the source of the environment check failure
(whether it was a core check or a plugin) and there was a missing space
before the "Error" status.
2020-03-23 11:27:38 +01:00
Tim Hunt 8475b74d0c MDL-52319 install: Fix some coding style issues 2020-03-23 11:27:38 +01:00
Tim Hunt f246d30831 MDL-52319 upgrade: Also run environment checks if plugins need upgrades
Also perform the environment checks if a plugin triggers the upgrade.
Core upgrade and CLI upgrade was doing this already.
2020-03-23 11:27:38 +01:00
AMOS bot 50f32f791b Automatically generated installer lang files 2020-03-23 00:12:19 +00:00
Paul Holden 88779cc689 MDL-64429 tool_usertours: ensure tour sortorder can't move out of range. 2020-03-22 20:04:08 +00:00
Paul Holden f8f3286267 MDL-63865 tool_dataprivacy: unit test for plugin privacy provider. 2020-03-22 20:00:00 +00:00
Paul Holden b167974308 MDL-67731 backup: fix async restores in progress table listing. 2020-03-22 19:57:46 +00:00
Farhan Karmali 20ecbc885f MDL-67024 Lib: Check if user->mnethostid is set before using it 2020-03-20 11:59:29 +05:30
Adrian Greeve 4980533b75 weekly release 3.7.5+ 2020-03-20 13:35:46 +08:00
Alexander Bias b6d5a6c619 MDL-58964 navigation: Add class attributes to Boost flat navigation 2020-03-19 20:49:45 +01:00
Stephen Vickers 50e3ae359b MDL-68049 mod_lti: Fix link-level memberships service
Fix cause of 404 error
Ensure personal name and email fields are included
Add ext_user_username field when being passed in LTI messages
2020-03-19 11:26:06 +00:00
Adrian Greeve cf65056e46 Merge branch 'MDL-68081-MOODLE_37_STABLE' of https://github.com/kritisingh1/moodle into MOODLE_37_STABLE 2020-03-19 11:29:03 +08:00
Adrian Greeve 6c47187329 Merge branch 'MDL-68014-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2020-03-19 11:06:09 +08:00
Jun Pataleta a471a106c4 Merge branch 'MDL-68108-37' of git://github.com/crazyserver/moodle into MOODLE_37_STABLE 2020-03-18 22:59:34 +08:00
Pau Ferrer Ocaña 5ce5abcd67 MDL-68108 formslib: Add element password inline template 2020-03-18 08:46:04 +01:00
Adrian Greeve 73aac2ea23 Merge branch 'MDL-67901-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2020-03-18 10:01:16 +08:00
David Mudrák e8ae8a8a76 MDL-68183 auth: Fix the performance of get_complete_user_data search
When searching for the user by a case-insensitive field (email address
is the only one supported now), the performance may be very poor as the
DB cannot use the index due to the LOWER() operation and the full
sequential scan of all the user records is performed. On some DBs such
as MySQL, this can be significantly improved by pre-filtering the users
with accent-insensitive search.

So we first perform accent-insensitive search for potential candidates
in a subselect, which can use the index. Only then we perform the
additional accent-sensitive search on this limited set or records.
2020-03-17 14:52:25 +01:00
David Mudrák 39901e1577 MDL-68183 auth: Fix the performance of signup_validate_data search query
When searching for other users with the same email address, we perform
the case-insensitive and accent-sensitive search. That may be expensive
as some DBs such as MySQL cannot use the index in that case. Instead,
sequential scan of all the user records is performed and the comparison
uses the LOWER function to filter the matching records. This leads to
significant performance heavy queries which in turn represent a surface
for DoS attacks.

For that reason, we first perform accent-insensitive search for
potential candidates in a subselect, which can use the index. Only then
we perform the additional accent-sensitive search on this limited set or
records.
2020-03-17 14:52:25 +01:00
David Mudrák 7a87e8a911 MDL-68183 auth: Fix the performance of forgotten password user search
When searching for the user matching the given email address, we perform
the case-insensitive and accent-sensitive search. That may be expensive
as some DBs such as MySQL cannot use the index in that case. Instead,
sequential scan of all the user records is performed and the comparison
uses the LOWER function to filter the matching records. This leads to
significant performance heavy queries which in turn represent a surface
for DoS attacks.

For that reason, we first perform accent-insensitive search for
potential candidates, which can use the index. Only then we perform the
additional accent-sensitive search on this limited set or records.
2020-03-17 14:52:24 +01:00
Adrian Greeve 5fd324e17e Merge branch 'MDL-67970-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2020-03-17 15:26:10 +08:00
Shamim Rezaie 50889d5519 MDL-67970 output: use fieldset in core/chooser instead of label 2020-03-17 18:20:43 +11:00
Shamim Rezaie 1cc8177b73 MDL-67970 core: remove unnecessary roles
- The navigation role is unnecessary for element nav
- The textbox role is unnecessary for element textarea
2020-03-17 18:20:43 +11:00
Shamim Rezaie 8b33494324 MDL-67970 output: replace new-sections attribute with data-new-sections
new-sections is not a valid attribute name for the a element.
Replaced that with data-new-sections
2020-03-17 18:20:43 +11:00
Shamim Rezaie 8e2494b4b2 MDL-67970 output: fixed duplicate id attribute
action_menu::export_for_template generates the id attributes and send it
to core/action_menu_trigger template as part of the attributes variable.
2020-03-17 18:20:43 +11:00
Shamim Rezaie 941a4c10cd MDL-67970 search: fixed stray end tag (input) 2020-03-17 18:20:43 +11:00
Adrian Greeve 853fc48867 Merge branch 'MDL-67981_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2020-03-17 11:33:40 +08:00
Jonathon Fowler 4ca4651f20 MDL-67442 assign: expand/contract text works in all browsers now 2020-03-16 08:59:49 +10:00
kritisingh1 36223fbee8 MDL-68081 Groups: Fixes string error in member removal function 2020-03-14 23:19:53 +05:30
Victor Deniz Falcon 9d08ae36e9 weekly release 3.7.5+ 2020-03-12 14:22:14 +00:00
Victor Deniz Falcon ed34ac0a7c Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-03-12 14:22:09 +00:00
Eloy Lafuente (stronk7) ea02bf99d7 Merge branch 'MDL-66607-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-03-12 10:10:58 +01:00
Eloy Lafuente (stronk7) 52491c6cc7 Merge branch 'MDL-68125-regression-MOODLE_37_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_37_STABLE 2020-03-12 01:19:51 +01:00
Brendan Heywood 5c39f8969d MDL-68125 core: Fixed $CFG->reverseproxyignore install regression 2020-03-12 09:54:35 +11:00
Eloy Lafuente (stronk7) c86fa207a2 Merge branch 'MDL-68061-37' of git://github.com/mickhawkins/moodle into MOODLE_37_STABLE 2020-03-11 22:56:39 +01:00
Tim Hunt 631b1f77f0 MDL-68149 qtype_match: correctly distinguish 0 and 0.0 answers
Also added a test for backup & restore (which was working).
2020-03-11 13:45:15 +00:00
Tim Hunt ec67d8b676 MDL-68149 qtype_match: Updatey tests to follow make_question() pattern 2020-03-11 13:45:13 +00:00
Andrew Nicols 9ceb49dca0 MDL-66607 message: Add pendingJS checks 2020-03-11 20:46:00 +08:00
Andrew Nicols 147087cdd2 MDL-66607 message: Resolve race conditions in message deletion process
This commit makes several changes:
1) Explicitly stop polling for messages when a conversation is deleted;
2) Check for deleted conversations when displaying new messages;
3) Do not add a new empty conversation; and
4) Introduce pendingJS checks to ensure that Behat waits for messags to finish rendering.
2020-03-11 20:43:25 +08:00
Andrew Nicols 9800e5ca6f Merge branch 'MDL-68146_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2020-03-11 11:52:26 +08:00
Eloy Lafuente (stronk7) ab0f20b63b MDL-68146 forms: remove duped help and advanced icons in checkboxes
They are exceptionally shown later, after the checkbox text already.

This is a fix for the regression introduced by MDL-63424.
2020-03-10 23:04:50 +01:00
Eloy Lafuente (stronk7) 739a18df53 Merge branch 'MDL-65724-37-3' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2020-03-10 13:51:36 +01:00
Eloy Lafuente (stronk7) bb66bd562f Merge branch 'MDL-67189-37' of git://github.com/dpalou/moodle into MOODLE_37_STABLE 2020-03-10 11:30:49 +01:00
Shamim Rezaie 3aba5ed0ce MDL-68135 output: remove the presentation role from user pic
"presentation" is not a valid role for the img element.
Moreover, it doesn't make sense to have both role="presentation" and
aria-hidden="true" for an element at the same time.
For more info please see:
https://timwright.org/blog/2016/11/19/difference-rolepresentation-aria-hiddentrue/
2020-03-10 19:06:18 +11:00
Dani Palou 3ec126df58 MDL-67189 external: Add test to catch PHP exceptions 2020-03-10 08:32:24 +01:00
Dani Palou 59964c5c95 MDL-67189 external: Catch Throwable in call_external_function 2020-03-10 08:32:24 +01:00
Eloy Lafuente (stronk7) 61e4180191 Merge branch 'MDL-67827-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-03-09 20:36:29 +01:00
Sara Arjona 23739a476a Merge branch 'MDL-66671-m37-master' of https://github.com/dthies/moodle into MOODLE_37_STABLE 2020-03-09 18:49:25 +01:00
Sara Arjona 8f39f26b9e Merge branch 'MDL-67968-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2020-03-09 18:17:14 +01:00
Sara Arjona 012dde7fe7 Merge branch 'MDL-67902-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2020-03-09 15:06:58 +01:00
Andrew Nicols 1d77fbd497 MDL-67827 behat: Pending JS improvements for dialogues 2020-03-09 08:31:21 +08:00
Andrew Nicols d3ce732601 MDL-67827 behat: Add missing exception use 2020-03-09 08:31:21 +08:00
AMOS bot 838193097d Automatically generated installer lang files 2020-03-09 00:12:02 +00:00
Tim Hunt 0c90bc8cd3 MDL-67981 questions: avoid errors deleting contextless questions 2020-03-06 18:05:33 +00:00
Shamim Rezaie 80011bdf57 MDL-67968 calendar: use aria-label instead of the abbr tag 2020-03-07 04:19:54 +11:00
Shamim Rezaie 17c23edcd1 MDL-67968 calendar: explain weekday abbreviations 2020-03-07 04:19:09 +11:00
Shamim Rezaie 6f0b92e97c MDL-67968 form: not to put empty label when no label is available 2020-03-07 04:19:09 +11:00
Shamim Rezaie e0f6182508 MDL-67968 question: do not display sr-only legends
.accesshide was removed because:
 1. It was only kept in case it's still used somewhere, in a custom form
 field for instance.
 2. It was broken since 3.5 where we integrated
 https://github.com/bmbrands/moodle/compare/ab65b87f3d...MDL-62419-master
 So it's been ages that the reason mentioned on point 1 was not being
 satisfied
2020-03-07 04:19:09 +11:00
Shamim Rezaie d1084b4c26 MDL-67968 form: grouped element label fix 2020-03-07 04:19:09 +11:00
Sara Arjona 805361d871 Moodle release 3.7.5 2020-03-06 12:34:06 +01:00
Peter 2e3d05e591 MDL-65724 core: Force restore to use the settings from the plan
When importing use the import settings.
2020-03-06 14:20:43 +08:00
AMOS bot 8d68b0b251 Automatically generated installer lang files 2020-03-06 00:10:59 +00:00
Peter Dias 5b8b45410c MDL-68014 lti: Remove alt text for image 2020-03-06 07:56:55 +08:00
Sara Arjona efc431ba0d weekly release 3.7.4+ 2020-03-05 17:31:24 +01:00
Sara Arjona 9df4aa7210 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-03-05 17:31:20 +01:00
Michael Hawkins 8481609ba4 MDL-67861 core: Fix getremoteaddr unit test to match new proxy setup 2020-03-05 14:39:55 +08:00
Brendan Heywood 194406e923 MDL-67861 core: Added $CFG->reverseproxyignore IP subnet list
If your server is behind multiple reverse proxies that append to the
X-Forwarded-For header then you will need to specify a comma separated
list of ip addresses or subnets of the reverse proxies to be ignored
in order to find the users correct IP address.
2020-03-05 01:27:48 +01:00
Brendan Heywood c4665bcf95 MDL-67861 libraries: Refactor is_ip_in_subnet_list in ip_utils 2020-03-05 01:27:48 +01:00
Brendan Heywood c70d7d0386 MDL-67861 admin: Default $CFG->getremoteaddrconf to only use REMOTE_ADDR 2020-03-05 01:27:48 +01:00
Brendan Heywood 4a3a673d1e MDL-67861 core: Use last ip in X-Forwarded-For list 2020-03-05 01:27:48 +01:00
Andrew Nicols 31260f8667 MDL-65106 theme_classic: Remove unused variable 2020-03-05 08:17:03 +08:00
Andrew Nicols cb3deb89c1 Merge branch 'MDL-65106-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2020-03-05 08:16:45 +08:00
Eloy Lafuente (stronk7) b21aad0837 Merge branch 'MDL-62768-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-03-04 18:37:28 +01:00
Bas Brands 43b11cfc9e MDL-67901 type_multichoice: clear my choice accessibility
Improve the accessibility for the clear my choice option. The
extra radio input controlling the reset feature was removed and
resetting the choice is now controlled by JavaScript.
This fixes the missing label reported in Accessibility audit and W3C
validation of the reset link

By this change this issue also fixes MDL-67280
2020-03-04 17:04:18 +01:00
Sara Arjona 8ba10c6666 Merge branch 'MDL-67767-37' of git://github.com/dpalou/moodle into MOODLE_37_STABLE 2020-03-04 15:05:07 +01:00
Dani Palou b7b45f8c0b MDL-67767 tool_mobile: Allow using more characters in forcedurlscheme 2020-03-04 14:25:25 +01:00
Sara Arjona a2ff87ba44 Merge branch 'MDL-67863-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2020-03-04 14:06:34 +01:00
Sara Arjona 53a3991927 Merge branch 'MDL-67969-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2020-03-04 12:58:27 +01:00
Marina Glancy 6b502fbc2b MDL-56287 gradereport_history: Separate groups queries improved 2020-03-04 11:47:33 +01:00
Jun Pataleta 8509f1feb4 MDL-56287 gradereport_history: Show users from groups that can be viewed 2020-03-04 11:47:33 +01:00
Eloy Lafuente (stronk7) b692832347 Merge branch 'MDL-67641-37' of git://github.com/dpalou/moodle into MOODLE_37_STABLE 2020-03-04 10:48:05 +01:00
Sara Arjona a5a6a9c91c Merge branch 'MDL-68008-37' of git://github.com/ferranrecio/moodle into MOODLE_37_STABLE 2020-03-04 08:41:43 +01:00
Dani Palou 25c09b1b1d MDL-67641 auth: Fix shortname type in get_signup_settings WS 2020-03-04 08:12:13 +01:00
AMOS bot f00ddea3fc Automatically generated installer lang files 2020-03-04 00:11:19 +00:00
Eloy Lafuente (stronk7) 4caf331102 Merge branch 'MDL-67728-37' of git://github.com/crazyserver/moodle into MOODLE_37_STABLE 2020-03-03 19:50:26 +01:00
Eloy Lafuente (stronk7) 0705bb0c07 Merge branch 'MDL-67971-37' of git://github.com/sarjona/moodle into MOODLE_37_STABLE 2020-03-03 19:02:38 +01:00
Sara Arjona 4748f89945 Merge branch 'MDL-67993-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2020-03-03 18:06:50 +01:00
Ferran Recio f0abaec208 MDL-68008 tool_capability: shows multiple contexts when overrides exists 2020-03-03 17:54:26 +01:00
Sara Arjona 2933c4e061 Merge branch 'MDL-68048-37-behatnotfound' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2020-03-03 17:02:11 +01:00
Sara Arjona b808efac50 Merge branch 'MDL-68060-37-huburlcompare' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2020-03-03 13:10:24 +01:00
Sara Arjona 0df30e445f Merge branch 'MDL-67891-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-03-03 12:48:35 +01:00
Bas Brands d4f03eb0b1 MDL-65106 theme_classic: set custom navigationitem icon 2020-03-03 11:53:48 +01:00
Sara Arjona 635b4db751 Merge branch 'MDL-63316-37' of https://github.com/azito122/moodle into MOODLE_37_STABLE 2020-03-03 11:11:05 +01:00
Sara Arjona 1821997b7c Merge branch 'MDL-67945-37' of git://github.com/ferranrecio/moodle into MOODLE_37_STABLE 2020-03-03 10:10:58 +01:00
Sara Arjona a97fde462d Merge branch 'MDL-67749-37' of git://github.com/dpalou/moodle into MOODLE_37_STABLE 2020-03-03 09:30:50 +01:00
Adrian Hutchinson 9bcfb74256 MDL-67988 mod_lti: remove padding from JWS base64url encoding 2020-03-02 14:01:36 +01:00
Paul Holden c0fdc91ea3 MDL-67891 tool_cohortroles: move upgrade step inside plugin.
The step added in MDL-67458 was added to core, which broke the upgrade
process if this plugin had been uninstalled prior.
2020-03-02 08:50:27 +00:00
Sara Arjona da1d1af843 MDL-67971 core_badges: review issuer URL 2020-03-02 08:02:40 +01:00
Andrew Zito 85d5216840 MDL-63316 participants: lastname sort for participants table 2020-02-28 14:33:27 -05:00
Daniel Thies 2337123e89 MDL-66671 enrol_lti: Skip grade sync when cm deleted 2020-02-28 09:29:32 -06:00
Eloy Lafuente (stronk7) 95eb7d8343 weekly release 3.7.4+ 2020-02-28 12:22:35 +01:00
Bas Brands 720a26266a MDL-67863 theme_boost: change keyboard tab order
Move navdrawer up in the dom for a more logical tab order
Hide navdrawer links for tab / screenreader when navdrawer is closed
2020-02-27 17:12:47 +01:00
Michael Hawkins 1187f828b7 MDL-68061 gradereport_history: Restrict per page config value to int 2020-02-27 15:44:49 +08:00
Eloy Lafuente (stronk7) 37906d63f9 Merge branch 'MDL-67865-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2020-02-26 23:37:10 +01:00
Eloy Lafuente (stronk7) 870e202546 Merge branch 'MDL-64686-37' of git://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2020-02-26 23:27:44 +01:00
Eloy Lafuente (stronk7) 50a72fbcd6 Merge branch 'MDL-67758-37' of git://github.com/dpalou/moodle into MOODLE_37_STABLE 2020-02-26 17:36:07 +01:00
Claude Vervoort b3172cc0fd MDL-67132 mod_lti: document new param
(amended to move the upgrade.txt info to correct 3.7.5)
2020-02-26 17:29:21 +01:00
Claude Vervoort dc39cee4f9 MDL-67132 mod_lti: call grade api to trigger course total computation 2020-02-26 17:27:33 +01:00
Eloy Lafuente (stronk7) f05ff7a66d Merge branch 'MDL-67979-37-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2020-02-26 17:13:47 +01:00
Anthony Forth cb2a49009c MDL-67945 enrol: missing $DB in edit_instance_form 2020-02-26 16:37:14 +01:00
David Mudrák b541ee20fb MDL-68060 registration: Improve the sites directory location check
This allows to define the custom HUB_MOODLEORGHUBURL with HTTP Basic
Auth credentials so that the registration features can be tested against
our staging site.
2020-02-26 10:59:27 +01:00
Jun Pataleta c975694cf5 Merge branch 'MOODLE_37_MDL-67980' of https://github.com/golenkovm/moodle into MOODLE_37_STABLE 2020-02-26 14:30:30 +08:00
Shamim Rezaie 8c39267d92 MDL-67969 lib: Fix duplicate blockinstanceid for fake blocks 2020-02-26 16:38:52 +11:00
Shamim Rezaie 45f1ddae59 MDL-67902 calendar: keyboard users should be able to toggle day popover 2020-02-26 16:35:59 +11:00
Shamim Rezaie a45fa24362 MDL-67902 calendar: informative aria label for event days in mini cals 2020-02-26 16:35:59 +11:00
Shamim Rezaie e127e819e6 MDL-67902 calendar: informative aria label for event days in calendar 2020-02-26 16:35:59 +11:00
Shamim Rezaie ce5337c902 MDL-67902 calendar: Fix label of the course filter in calendar 2020-02-26 16:35:59 +11:00
David Balch b74030550e MDL-67993 roles: Fix pix_icon() calls. 2020-02-26 12:15:42 +08:00
Eloy Lafuente (stronk7) 2cfcae67a0 Merge branch 'MDL-67644-37' of git://github.com/dpalou/moodle into MOODLE_37_STABLE 2020-02-26 00:10:24 +01:00
Eloy Lafuente (stronk7) dbb784d1ab Merge branch 'MDL-67806-37' of git://github.com/dpalou/moodle into MOODLE_37_STABLE 2020-02-25 23:58:17 +01:00
Paul Holden be941e5a05 MDL-62768 tool_policy: add page title & breadcrumb navigation. 2020-02-25 22:06:04 +00:00
Paul Holden 87080161e0 MDL-62768 tool_dataprivacy: add page breadcrumbs to navigation. 2020-02-25 21:36:46 +00:00
Helen Foster 62931543fb MDL-67979 lang: Import fixed English strings (en_fix)
Significant string changes:

* configcustommenuitems,core_admin - corrected example
* custommenuitems_desc,tool_mobile - fallback behaviour of custom menu
  items in the app
2020-02-25 12:24:44 +01:00
Eloy Lafuente (stronk7) 3cb6a5a3b2 Merge branch 'MDL-67862-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2020-02-25 12:09:58 +01:00
Eloy Lafuente (stronk7) 765aef276c Merge branch 'MDL-67364-37' of git://github.com/mickhawkins/moodle into MOODLE_37_STABLE 2020-02-25 12:05:57 +01:00
David Mudrák 2da65dae97 MDL-68048 behat: Fix the ElementNotFoundException message wording
The exception class itself adds the "not found" to the error message.
2020-02-25 11:55:59 +01:00
Mikhail Golenkov 4be6148785 MDL-67980 tasks: Sort ad-hoc tasks by nextruntime. 2020-02-24 09:36:57 +11:00
Pau Ferrer Ocaña 5e4ffd0559 MDL-67728 behat: Increase app start timeout 2020-02-21 12:45:58 +01:00
Pau Ferrer Ocaña 99d5aff09b MDL-67728 behat: Improve behat app selectors 2020-02-21 12:45:58 +01:00
Luca Bösch ae31e9dfa8 MDL-64686 theme: align course search form for small screens sizes. 2020-02-21 06:35:11 +01:00
Jun Pataleta d077ffd3a5 weekly release 3.7.4+ 2020-02-21 11:03:08 +08:00
Jun Pataleta c61f9a4484 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-02-21 11:02:29 +08:00
Eloy Lafuente (stronk7) 37ef74572d Merge branch 'MDL-67727-37' of git://github.com/crazyserver/moodle into MOODLE_37_STABLE 2020-02-20 16:13:02 +01:00
Luke Tucker d08e7b7e8a MDL-50455: tool_capability: Use static cache when loading context data 2020-02-20 00:30:16 +01:00
Eloy Lafuente (stronk7) 4441cfe9ce Merge branch 'MDL-67942-37' of https://github.com/HuongNV13/moodle into MOODLE_37_STABLE 2020-02-19 19:18:58 +01:00
Eloy Lafuente (stronk7) 9dd7ac3bc3 Merge branch 'MDL-67947_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2020-02-19 17:48:50 +01:00
Tim Hunt 2a912052bc MDL-67947 questions: questions_in_use should ask all components
Previously it was only checking mods.
2020-02-19 11:56:31 +00:00
Dani Palou addc07be5a MDL-67749 ws: Set private token when reset or manual create token 2020-02-19 12:05:05 +01:00
Huong Nguyen 6aaa78f044 MDL-67942 Quiz: Quiz attempt report delete_selected_attempts issue 2020-02-19 15:36:38 +07:00
Eloy Lafuente (stronk7) 6ffe3ecc9f Merge branch 'MDL-67471_37' of https://github.com/t-schroeder/moodle into MOODLE_37_STABLE 2020-02-18 23:54:55 +01:00
Eloy Lafuente (stronk7) c4b472700b Merge branch 'MDL-61390-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2020-02-18 19:06:39 +01:00
Eloy Lafuente (stronk7) 414a461e41 Merge branch 'MDL-67953-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-02-18 18:07:45 +01:00
Shamim Rezaie 952d572921 MDL-67865 output: Fix id of the dropdown trigger 2020-02-18 16:20:15 +11:00
Andrew Nicols fc01f863d3 MDL-67953 grunt: Spawn new process for gherkinlint
Gherkinlint stores the list of processed features for duplicate
detection in an Object which is statically defined.
This causes it to bleed between runs.

To alleviate this we must spawn a new process.

Prior to this patchset we were calling a new Gherkinlint process which
had the same effect anyway.
2020-02-18 08:24:13 +08:00
Eloy Lafuente (stronk7) 1b43f6b06d Merge branch 'MDL-61389-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2020-02-17 23:30:17 +01:00
Eloy Lafuente (stronk7) 86f297c7c2 Merge branch 'MDL-67817-m37-master' of https://github.com/dthies/moodle into MOODLE_37_STABLE 2020-02-17 22:09:39 +01:00
Tim Schroeder 21bac71bef MDL-67471 message: fixed mark_notification_read with messaging disabled 2020-02-17 09:16:57 +01:00
Jun Pataleta b400040cff MDL-61390 mod_forum: Create template for forum search results 2020-02-17 15:58:16 +08:00
Jun Pataleta 0846b4af08 MDL-61389 mod_forum: Descriptive aria-label for "Discuss this topic" 2020-02-17 15:52:20 +08:00
AMOS bot d927703799 Automatically generated installer lang files 2020-02-16 00:11:18 +00:00
Daniel Thies 8fedcb49a5 MDL-67817 core_date: Add test for timezone localization strings 2020-02-14 11:54:55 -06:00
Daniel Thies 0c9fe38643 MDL-67817 core_lang: Update timezone strings 2020-02-14 11:54:55 -06:00
Sara Arjona 5c7966eacf weekly release 3.7.4+ 2020-02-14 12:12:07 +01:00
Sara Arjona 0ee03dd15a Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-02-14 12:12:05 +01:00
Jun Pataleta 6dbf1dee71 Merge branch 'MDL-67965-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-02-14 13:25:01 +08:00
Andrew Nicols a884eea913 MDL-67965 behat: Get theme-specific context classes correctly 2020-02-14 10:15:49 +08:00
Michael Hawkins b41b74aacb MDL-67364 output: Add unit testing for editor_scss_to_css 2020-02-13 22:53:31 +08:00
Michael Hawkins fa0e63f9da MDL-67364 output: Allow child themes to use parent editor_scss config
This still allows child themes to override editor_scss, but will fall
back to what the parent is using if they do not specify it. This
negates the need for every child them to have the config duplicated
in order to utilise it.
2020-02-13 22:53:31 +08:00
Pau Ferrer Ocaña 306eaa606f MDL-67727 behat: Reset ionic app properly 2020-02-13 08:37:22 +01:00
Andrew Nicols 9ff79ab562 MDL-67953 grunt: Work around spawn length limits 2020-02-13 14:21:49 +08:00
Eloy Lafuente (stronk7) 4011bfc71f Merge branch 'MDL-67876_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2020-02-12 15:49:47 +01:00
Dani Palou dedb1592cb MDL-67644 tool_mobile: Add OAuth 2 providers in disabled features 2020-02-12 14:13:19 +01:00
Tim Hunt 603e31b820 MDL-67876 forms: not all field types need validation JS 2020-02-12 10:04:20 +00:00
Eloy Lafuente (stronk7) 3dab17b872 Merge branch 'MDL-67532-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-02-11 23:08:18 +01:00
Sara Arjona e81b6194e6 Merge branch 'MDL-59303-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-02-11 13:52:41 +01:00
Sara Arjona b54c18392f Merge branch 'MDL-66847-37' of git://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2020-02-11 12:28:56 +01:00
Sara Arjona 7960af6567 Merge branch 'MDL-66834-MOODLE_37_STABLE' of https://github.com/kepeter/moodle into MOODLE_37_STABLE 2020-02-11 11:54:31 +01:00
Sara Arjona f24cc998f0 Merge branch 'mdl67142-moodle37' of https://github.com/AngadSethi/moodle into MOODLE_37_STABLE 2020-02-11 10:19:10 +01:00
Sara Arjona 07265da01c Merge branch 'MDL-67894-37' of https://github.com/grabs/moodle into MOODLE_37_STABLE 2020-02-11 08:20:49 +01:00
Dani Palou 6b2bbcbb0e MDL-67758 airnotifier: Send wwwroot to airnotifier 2020-02-10 11:55:52 +01:00
Dani Palou c1bc5df576 MDL-67806 tool_mobile: Add Dark mode option in disabled features
We must allow site admins to remotely disable that feature in the app
2020-02-10 11:53:52 +01:00
Jun Pataleta 750218868a MDL-66245 privacy: Encode each part of the data URL instead of the whole 2020-02-10 16:57:10 +08:00
Jun Pataleta 18aabbd5d5 MDL-67862 message: Render dialogue header only when necessary 2020-02-10 13:16:19 +08:00
Angad Sethi 4f5e2fc266 MDL-67142 quiz: fixed error when deleting saved questions long-name-quiz
An error was showing up while deleting questions
(in the question_save_from_deletion method) which had been saved
and which belonged to a quiz with a super long name, not exceeding 255
characters, as the 'name' field in 'question_categories' table had a
max size of 255 characters. The shorten_text function was used to
shorten the string to 255 characters and a unit test was added with
the name test_question_save_from_deletion_quiz_with_long_name to test
the patch.
2020-02-08 19:49:57 +05:30
AMOS bot ba801e68d7 Automatically generated installer lang files 2020-02-08 00:12:03 +00:00
Andreas Grabs fbd65fabb2 MDL-67894 mod_feedback: database error on show responses 2020-02-07 18:48:24 +01:00
Paul Holden ee0f61cde4 MDL-59303 auth_shibboleth: consistent readme URL. 2020-02-07 14:25:35 +00:00
Luca Bösch 5779862ee7 MDL-66847 webservice: Correct breadcrumb + title for ws documentation. 2020-02-07 14:38:35 +01:00
Paul Holden 9a49f51b15 MDL-67532 badges: better default for new badge language. 2020-02-07 09:47:13 +00:00
Sara Arjona 59f947667a weekly release 3.7.4+ 2020-02-07 09:44:52 +01:00
Sara Arjona 6733f41ed1 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-02-07 09:44:49 +01:00
Brendan Heywood 867d9497f3 MDL-67726 tool_phpunit: add missing input escaping 2020-02-06 19:45:50 +01:00
Andrew Nicols a9895627a4 Merge branch 'MDL-67175-37' of git://github.com/ferranrecio/moodle into MOODLE_37_STABLE 2020-02-06 10:21:33 +08:00
Eloy Lafuente (stronk7) 1a75be0645 Merge branch 'MDL-67832_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE
(fixed a couple of typos in the merge commit)
2020-02-06 00:03:16 +01:00
Eloy Lafuente (stronk7) 53c3b1bacc Merge branch 'MDL-67732-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-02-05 20:05:58 +01:00
Eloy Lafuente (stronk7) 730714bc78 Merge branch 'MDL-67830_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2020-02-05 19:08:25 +01:00
Tim Hunt 4a0abc17d4 MDL-67876 forms: scroll to any invalid element if form cannot submit 2020-02-05 12:22:12 +00:00
Andrew Nicols 7eaadb4bdb Merge branch 'MDL-49103-37' of git://github.com/sarjona/moodle into MOODLE_37_STABLE 2020-02-05 13:52:36 +08:00
Eloy Lafuente (stronk7) 2f88edd0c9 Merge branch 'MDL-67842_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2020-02-04 22:46:37 +01:00
Eloy Lafuente (stronk7) 03721f06fb Merge branch 'MDL-63424-37' of git://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2020-02-04 19:28:53 +01:00
Eloy Lafuente (stronk7) c0b25af986 Merge branch 'MDL-66875-37' of git://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2020-02-04 19:02:41 +01:00
Sara Arjona d869324747 MDL-49103 badges: bake badges with iTXt chunk instead of tEXt
The final OB 1.0 specification changed the baking badges method
from tEXt to iTXt. Besides, the iTXt chunk should be a signed
assertion or the raw JSON (instead of the assertion URL).
This has been changed in order to make Moodle OB compliant.

Yuliya Bozhko, thanks for the patch! :-)
2020-02-04 18:49:55 +01:00
Ferran Recio 1b1cf1b950 MDL-67175 mod_scorm: fixing js eslint errors 2020-02-04 12:37:31 +01:00
Sam Hemelryk d66d85a4d7 MDL-67175 mod_scorm: sync XHR requests use sendBeacon when available
Totara reference TL-22621 (original code by Sam Hemelryk)
https://github.com/moodle/moodle/commit/2add402f8183c50bc1238ef2da5ea9cd06cb1dd9
2020-02-04 12:37:31 +01:00
Brendan Cox 67d4f4ea65 MDL-67175 session: set SameSite=None for Chrome 78 and above
Totara reference TL-22311 (original code by Brendan Cox and Sam Hemelryk)
https://github.com/moodle/moodle/commit/a3f4de2b7efe66de6617a67ce7c87f2862e76ac6
2020-02-04 12:37:15 +01:00
Andrew Nicols fe1b4bee20 Merge branch 'MDL-60126-37-3' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2020-02-04 14:40:48 +08:00
Peter 6292c6299b MDL-60126 competency: Unit tests 2020-02-04 08:55:51 +08:00
Simey Lameze 22177c5c3e MDL-60126 core: upgrade step to clean user comp 2020-02-04 08:55:42 +08:00
Simey Lameze 9f2e264fd8 MDL-60126 competency: delete content upon user delete 2020-02-04 08:40:31 +08:00
AMOS bot e1b1a447b5 Automatically generated installer lang files 2020-02-04 00:11:23 +00:00
Peter Eliyahu Kornfeld eaf2d6a809 MDL-66834 Questions: add transaction, move trigger 2020-02-03 12:26:36 +02:00
Tim Hunt a8e2b5cea1 MDL-67842 questions: Cannot remove the idnumber from a question 2020-02-03 09:49:50 +00:00
Tim Hunt 7fda2e9bac MDL-67832 quiz: fix lots of PHPdoc in attemptlib.php 2020-01-31 19:09:44 +00:00
Paul Holden ea01c38f2c MDL-67732 group: observe viewfullnames capability.
Backport from MDL-67245.
2020-01-31 16:48:15 +00:00
Eloy Lafuente (stronk7) ee0a8161dd weekly release 3.7.4+ 2020-01-30 16:11:20 +01:00
Eloy Lafuente (stronk7) 8adff28414 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-01-30 16:11:17 +01:00
Jun Pataleta 020810aea0 Merge branch 'MDL-67353_reset_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2020-01-30 12:35:00 +08:00
Eloy Lafuente (stronk7) 56930d1d67 MDL-67353 course: move form tearDown() to reset_all_data()
We are already cleaning all sort of caches, statics, singletons
there and it's better to ensure they are always reset to avoid
myterious failures @ distance.
2020-01-30 00:02:03 +01:00
Michelle Melton 2ec76277dc MDL-64169 course: fix padding when display on one section per page
(amended to keep the $o.= consistent with surrounding code)
2020-01-29 22:36:16 +01:00
Tim Hunt bfff57b297 MDL-67830 quiz: notice in grade details redirect script 2020-01-29 18:35:17 +00:00
Jun Pataleta 5e7c5b9cec Merge branch 'MDL-67626_37' of git://github.com/adpe/moodle into MOODLE_37_STABLE 2020-01-29 21:36:41 +08:00
Adrian Greeve caa236c415 Merge branch 'MDL-67768-37-componentdirs' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2020-01-29 10:04:13 +08:00
Eloy Lafuente (stronk7) 52a77683aa Merge branch 'MDL-67472-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2020-01-28 22:59:36 +01:00
Eloy Lafuente (stronk7) 6afb3736f8 Merge branch 'MDL-52189_37' of https://github.com/jonof/moodle into MOODLE_37_STABLE 2020-01-28 22:45:34 +01:00
Eloy Lafuente (stronk7) 96582b63db Merge branch 'MDL-67447-37-autocomplete' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2020-01-28 22:24:43 +01:00
Eloy Lafuente (stronk7) a5e149a1b7 Merge branch 'MDL-67722-37' of git://github.com/mickhawkins/moodle into MOODLE_37_STABLE 2020-01-28 20:13:52 +01:00
Eloy Lafuente (stronk7) 7cf3a406ff Merge branch 'MDL-57755_37' of https://github.com/t-schroeder/moodle into MOODLE_37_STABLE 2020-01-28 10:35:07 +01:00
David Mudrák 25d1533b27 MDL-67768 core: Add some common dirs to core_component::$ignoreddirs
The core_component::$ignoreddirs lists all directories that are reserved
and cannot be used as valid plugin names. This is particularly important
for some plugin types such as 'webservice' that share the same root
location as the core subsystem of the same name.
2020-01-28 10:34:38 +01:00
Adrian Greeve 462c6e9e2c Merge branch 'MDL-67740-37-behatstepsfilter' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2020-01-28 15:08:59 +08:00
Adrian Greeve 1db5a1205e Merge branch 'MOODLE_37_MDL-67746' of https://github.com/golenkovm/moodle into MOODLE_37_STABLE 2020-01-28 13:14:55 +08:00
AMOS bot c3c7b02867 Automatically generated installer lang files 2020-01-28 00:11:49 +00:00
Adrian Greeve 7d1af3ec1d Merge branch 'MDL-67691_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2020-01-28 07:54:31 +08:00
Eloy Lafuente (stronk7) 5efefd458e Merge branch 'MDL-64531-37-questiondeletejson' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2020-01-27 17:08:20 +01:00
Eloy Lafuente (stronk7) ebc198cfb8 Merge branch 'MDL-67577-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2020-01-27 16:20:26 +01:00
Eloy Lafuente (stronk7) 1c348b2e8d Merge branch 'm37_MDL-67414_Add_PostgreSQL_12x_Support' of https://github.com/scara/moodle into MOODLE_37_STABLE 2020-01-27 12:16:27 +01:00
Bas Brands f18444a5d1 MDL-67577 core_message: navbar_output order
* moved the logic from core_message_popup_render_navbar_output to
message_popup_render_navbar_output in message/output/popup/lib.php

* using float: left instead of float: right in theme
2020-01-27 12:15:26 +01:00
Tim Schroeder 6fd48eff30 MDL-57755 message: fix notificaiton read status when messaging disabled 2020-01-27 09:17:31 +01:00
Matteo Scaramuccia 68082ac364 MDL-67414 adodb: Backport upstream fix for PostgreSQL 12.x
Upstream: https://github.com/ADOdb/ADOdb/commit/a4876f100602c2ce4760bb72d3050f73387adcca
          pgsql: stop using obsolete pg_attrdef.adsrc column
2020-01-26 09:42:24 +01:00
Matteo Scaramuccia 9edebd4951 MDL-67414 database: Fixed PostgreSQL 12.x support 2020-01-26 09:42:24 +01:00
David Mudrák adfe298af8 MDL-67447 form: Fix the duplicate autocomplete selection node
When the autocomplete selection is updated, the content of the selection
wrapper is replaced with the new list of selected items. We must replace
only the content of the selection wrapper and not to nest it into
itself.
2020-01-25 05:45:39 +01:00
AMOS bot cd6c7e0068 Automatically generated installer lang files 2020-01-25 00:11:49 +00:00
Luca Bösch d11806d957 MDL-66875 calendar: allow the use of day, mon and year again. 2020-01-25 01:01:45 +01:00
Luca Bösch 6a5c1ab6f8 MDL-63424 form: allow checkboxes to have req icon. 2020-01-24 17:38:11 +01:00
Eloy Lafuente (stronk7) e453665f7d MDL-67353 filters: fix filterlib tests
- move resetAfterTest() to test units.
- remove setUp(), moving code to remove_all_filters_from_config().
- remove class properties, moving to return values of own setup_xxx() methods.
2020-01-24 11:27:05 +01:00
Eloy Lafuente (stronk7) 3f73b4f487 MDL-67353 favourites: Random DB id matching solved
Depending on the tests executed it was possible to arrive
to favourites tests with 2 "concepts" (say userid and contextid,
or userid and itemid) having the same ID.

Then, the array_diff() operations used by some mock stuff in the
tests wrongly was returning matches by value, ultimately causing
the test to fail.

Now, the matching is performed using array_diff_assoc() that takes
keys into considation when performing the match.
2020-01-24 11:27:05 +01:00
Andrew Nicols 4dbc8e7655 MDL-67353 course: Fix more broken unit tests 2020-01-24 11:27:05 +01:00
Andrew Nicols 1fb38c5cf6 MDL-67353 course: Fix broken unit test 2020-01-24 11:27:05 +01:00
David Mudrák 71b452912a MDL-67740 behat: Show info as collapsed at the acceptance testing page
The static information with the links to Behat documentation is quite
long an irrelevant for experienced developers returning to this page. No
need to waste the prominent screen place with it - better to offer it
only when needed via collapsible form section.
2020-01-24 10:44:40 +01:00
David Mudrák 1c9edf3920 MDL-67740 behat: Improve the layout of the acceptance testing page
- The CSS contains more specific selectors.
- Make use of the whole screen width for the list of found steps.
- Visually distinguish found steps from each other.
- Make it look less like a unicorn rainbow.
2020-01-24 10:44:39 +01:00
David Mudrák c4f7a4bc62 MDL-67740 behat: Fix the name of the class in the inline documentation
The said class is provided by the moodlehq/behat-extension composer
package and was renamed as a part of upgrade to Behat 3.0.x (MDL-46891).
2020-01-24 10:44:39 +01:00
David Mudrák 9d72d1a9e6 MDL-67740 behat: Allow multiple words filter at acceptance testing page
Because of the too strict input param type, the form did not allow to
search for Behat steps containing the given phrase. The patch sets the
param type to match the one in the form definition, and makes sure that
the submitted value can be safely used as a CLI script argument.
2020-01-24 10:44:38 +01:00
Mikhail Golenkov 198b653bf7 MDL-67746 Tasks: Cleanup task logs in chunks. 2020-01-24 13:59:04 +11:00
Adrian Greeve 77a359ca7b weekly release 3.7.4+ 2020-01-24 10:17:27 +08:00
Adrian Greeve bf1e44117b Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-01-24 10:17:18 +08:00
Eloy Lafuente (stronk7) f8df624e37 Merge branch 'MDL-51225-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2020-01-23 11:14:27 +01:00
Jun Pataleta 704c30b1fb MDL-51225 mod_forum: Revert @javascript tag removal
Put back the removed  @javascript tag to prevent random goutte
fails.
2020-01-23 15:32:59 +08:00
Jun Pataleta a178e09bfb Merge branch 'MDL-65952_m37' of https://github.com/fabiendallet/moodle into MOODLE_37_STABLE 2020-01-23 10:43:32 +08:00
Jun Pataleta 48096011e3 Merge branch 'MDL-66897-37-1' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2020-01-22 23:16:56 +08:00
Mihail Geshoski 7ef572d39e MDL-66897 mod_assign: Properly display error messages in quick grading 2020-01-22 13:52:08 +08:00
Adrian Greeve 75ab679716 Merge branch 'MDL-67653_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2020-01-22 11:05:17 +08:00
Adrian Greeve 2dc1afe547 Merge branch 'MDL-67660-37-v2' of https://github.com/TobiGa/moodle into MOODLE_37_STABLE 2020-01-22 10:43:24 +08:00
Jun Pataleta 115f4461ce Merge branch 'MDL-67684-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-01-22 10:37:34 +08:00
Colin Campbell c0cf6abf34 MDL-52189 file: skip deleting temp files that appear during cleanup 2020-01-22 12:07:57 +10:00
Adrian Greeve ff6ea1e369 Merge branch 'MDL-67656-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-01-22 09:47:01 +08:00
Eloy Lafuente (stronk7) c5c42e96d2 Merge branch 'MDL-66858_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2020-01-22 01:57:39 +01:00
Michael Milette 39fd21e4ff MDL-66858 master: Enable <header> tags in Atto editor.
(amended to add the src/editor/js/clean.js
file that was originally missing)
2020-01-22 00:12:55 +01:00
Eloy Lafuente (stronk7) 49f70858e9 Merge branch 'MDL-51225-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2020-01-21 23:40:32 +01:00
Adrian Greeve 64d75c9a1a Merge branch 'MDL-66237-37' of git://github.com/mickhawkins/moodle into MOODLE_37_STABLE 2020-01-21 11:24:01 +08:00
Jun Pataleta 695499c681 Merge branch 'MDL-66108-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-01-21 09:50:47 +08:00
Eloy Lafuente (stronk7) d8c3b7e662 Merge branch 'MDL-66024-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-01-20 22:48:42 +01:00
Eloy Lafuente (stronk7) 6adc5e89b0 Merge branch 'MDL-66220-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2020-01-20 22:34:34 +01:00
Eloy Lafuente (stronk7) c9eeb1a7c1 Merge branch 'MDL-66712-37-selfautounenrol' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2020-01-20 22:29:11 +01:00
Eloy Lafuente (stronk7) 68e4a7dac8 Merge branch 'MDL-65884-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-01-20 20:37:00 +01:00
David Mudrák 73bbb3e7a8 MDL-64531 course: Add Behat test for deleting a quiz with own questions
Teachers can delete Quiz activities that have a question in their own
context via AJAX request with the course recycle bin disabled. This used
to lead to "Unexpected token < in JSON" because of the extra HTML in the
output.
2020-01-20 18:19:45 +01:00
Tim Hunt d00045e8f5 MDL-64531 course: course_delete_module shouldn't output during AJAX
Committer's note: This change was originally part of a bigger patchset
submitted by the author. This is a stripped-down version that does not
use phpunit tests for the new behaviour.
2020-01-20 18:07:25 +01:00
Eloy Lafuente (stronk7) 7a8b3702e3 Merge branch 'MDL-67724-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2020-01-20 10:53:37 +01:00
Sara Arjona 887f9c3fc6 Merge branch 'MDL-67312-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2020-01-20 08:05:16 +01:00
Adrian Greeve 28b0d9256f Merge branch 'MDL-67583-37' of https://github.com/KietChan/moodle into MOODLE_37_STABLE 2020-01-20 13:40:27 +08:00
Simey Lameze 2e6729e923 MDL-67312 core_user: clean subs events on user deletion 2020-01-20 08:54:32 +08:00
Simey Lameze d3a2788437 MDL-67312 calendar: upgrade step to delete orphaned events 2020-01-20 08:54:30 +08:00
Simey Lameze c04559ccb6 MDL-67312 core: change db upgrade step to use get_fieldset_sql 2020-01-20 08:52:59 +08:00
Eloy Lafuente (stronk7) a6e4fbe122 MDL-67691 behat: inform about the_following_exist() removal
behat_data_generators::the_following_exist() has been removed, please use
behat_data_generators::the_following_entities_exist() instead.

See MDL-67691 for more info.
2020-01-20 00:13:01 +01:00
Adrian Perez c1ed11df7a MDL-67626 assign: fix view full/view summary control in IE 2020-01-18 14:16:30 +01:00
AMOS bot 1edd36e905 Automatically generated installer lang files 2020-01-18 00:10:56 +00:00
fdallet 91aee9939b MDL-65952 mod_scorm: Fix unwanted changes to require status 2020-01-17 17:25:03 +01:00
Paul Holden a585ee9432 MDL-66108 course: fix false positives when bulk moving categories. 2020-01-17 16:19:26 +00:00
Jun Pataleta bb0acb3e9c MDL-67724 mod_glossary: Improve Behat test
Improve the "Glossary entries are not always editable" scenario by:
* No need to use the @javascript tag
* The maxediting time can be set to a lower value to
reduce the overall wait time.
2020-01-17 17:48:06 +08:00
Tobias Garske 02f08b16c5 MDL-67660 core_message: Messages search change input focus 2020-01-17 09:39:11 +01:00
Michael Hawkins e206c3b8f2 MDL-67722 mod_forum: Reduce wait time on time limit expires behat test 2020-01-17 15:46:56 +08:00
Jun Pataleta 3246d41cb2 MDL-51225 mod_forum: Use can_view_post to determine whether to show post
Use \mod_forum\local\managers\capability::can_view_post() to
consistently determine whether a forum post will be rendered in the
recent activity block.
This helps the recent activity block to provide a more consistent
behaviour with the forum's discussion view itself.
2020-01-17 14:51:47 +08:00
Jun Pataleta 8594f5e8ae MDL-51225 mod_forum: Create behat tests for forum recent activity 2020-01-17 14:45:36 +08:00
Jun Pataleta c0842ca500 MDL-51225 mod_forum: New behat step for creating question discussion 2020-01-17 14:45:36 +08:00
AMOS bot c670210a1d Automatically generated installer lang files 2020-01-17 00:12:28 +00:00
Sara Arjona fd908d09fd weekly release 3.7.4+ 2020-01-16 17:19:15 +01:00
Sara Arjona d859e8774c Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-01-16 17:19:13 +01:00
David Mudrák a86318bd92 MDL-66712 enrol: Fix the reported days of inactivity on unenrolment
There were two problems here. Firstly, the $days was not correctly
calculated due to missing parentheses. Secondly, the sentence had
grammar issues.
2020-01-16 13:44:31 +01:00
Jun Pataleta 77b19b828b MDL-66220 mod_forum: Prevent from replying to a post the user can't see 2020-01-16 15:06:25 +08:00
Jun Pataleta d046109d4d MDL-66220 mod_forum: Cache result of forum_user_can_see_post()
* Cache the result of this function to avoid doing multiple DB calls
for the same post when loading posts in a discussion.
2020-01-16 15:06:25 +08:00
Jun Pataleta bc8d03c68d MDL-66220 mod_forum: Additional unit test for can_reply_to_post 2020-01-16 15:06:25 +08:00
Andrew Nicols f394d9efae Merge branch 'wip-MDL-66918-37stable' of https://github.com/Beedell/moodle into MOODLE_37_STABLE 2020-01-16 11:44:38 +08:00
Eloy Lafuente (stronk7) b67c73c86b Merge branch 'MDL-67625-37' of git://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2020-01-16 00:27:06 +01:00
Sara Arjona 9941fbdae4 Merge branch 'MDL-67617-37' of git://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2020-01-15 12:43:19 +01:00
Sara Arjona aa23048889 Merge branch 'MDL-67638-37' of https://github.com/nguyenphuctien/moodle into MOODLE_37_STABLE 2020-01-15 12:20:00 +01:00
Andrew Nicols c4b8e4ca14 Merge branch 'MDL-67486-swap-cron-lock-MOODLE_37_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_37_STABLE 2020-01-15 13:54:26 +08:00
Mark Johnson e5ec4988b6 MDL-67674 Cache: Lock rebuilding of the course category tree cache 2020-01-15 00:02:22 +01:00
Sara Arjona 35ce17025a Merge branch 'MDL-65573-37-2' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2020-01-14 12:20:59 +01:00
Andrew Nicols fc1ddb3289 Merge branch 'MDL-66721-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2020-01-14 14:10:39 +08:00
Andrew Nicols 85b9cf9ce4 MDL-67684 core: Add missing li tag 2020-01-14 08:47:20 +08:00
Andrew Nicols 05bb501b4f Merge branch 'MDL-35971-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2020-01-14 08:33:48 +08:00
AMOS bot 116d41cdfd Automatically generated installer lang files 2020-01-14 00:10:31 +00:00
Peter a5cff8a55b MDL-65573 mod_forum: Set userid properly after split
* Set the discussion's userid properly when splitting a discussion.
* Update step to correct existing incorrect records.
2020-01-14 07:42:19 +08:00
Eloy Lafuente (stronk7) 06e0263936 Merge branch 'MDL-65649-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-01-13 18:57:02 +01:00
Eloy Lafuente (stronk7) de98c397f3 Merge branch 'MDL-65987-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-01-13 18:42:26 +01:00
Sara Arjona f091f67f81 Merge branch 'MDL-59817-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-01-13 14:27:01 +01:00
Kiet Chan 7cfbdd0422 MDL-67583 themes: Popover placement should react to scroll event 2020-01-13 17:27:31 +07:00
Bas Brands 089100fdb3 MDL-67472 theme_boost: configurable sass variable for drawer bgcolour 2020-01-13 09:16:44 +01:00
Tien Nguyen Phuc 68e85534a8 MDL-67638 Course: update course timemodified on bulk category move 2020-01-13 10:41:36 +07:00
Andrew Nicols 0f41a0280d Merge branch 'MDL-67204-37' of https://github.com/mwehr/moodle into MOODLE_37_STABLE 2020-01-13 08:54:46 +08:00
Brendan Heywood fd9466fceb MDL-67486 cron: Improve throughput by holding cron lock for less time 2020-01-12 00:48:25 +11:00
Tim Hunt 6cb1f99459 MDL-67653 questions: prevent the flag flickering as the page loads 2020-01-10 14:28:34 +00:00
Andrew Nicols 8bc3576bb3 MDL-59817 atto_accessibilitychecker: Handle transparency properly
Some browsers, notably Firefox, do not return the computed style for
background colour in a computed RGB format. Instead they return the RGBA
where the alpha channel is set to fully transparent.

To solve this we need to work up the hierarchy and compute the
background colour for each parent node until we reach full alpha (1).

We can use a standard calculation to approximate the value for the
resultant element background by multiplying the alpha of the current
transparent (or semi-transparent) node with the R, G, or B channel in
question, and that of the parent node's background colour.

There are cases where this will not be 100% accurate - notably where
there is some additional content in addition to the parent background,
but this gives us a reasoable approximation for the majority of cases.
Additionally the code has never considered the full set of node content
when calculating this information.
2020-01-10 15:26:51 +08:00
Andrew Nicols 4158b39809 MDL-67656 behat: Removed nested spin 2020-01-10 13:40:32 +08:00
Andrew Nicols c7afe02401 MDL-67656 behat: Fix usleep call in spin 2020-01-10 13:40:31 +08:00
Andrew Nicols 86a19e4910 Moodle release 3.7.4 2020-01-10 13:03:39 +08:00
Andrew Nicols a9534a6ba7 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-01-10 13:03:37 +08:00
AMOS bot 1ba12b9b57 Automatically generated installer lang files 2020-01-10 00:12:21 +00:00
Luca Bösch 37524fa1e6 MDL-67625 quiz: only section titles should be large when editing. 2020-01-09 17:23:02 +01:00
Luca Bösch 44c7386d16 MDL-67617 gradereport_singleview: Style the form element with bs classes 2020-01-09 17:22:09 +01:00
Mario Wehr c3f4abed6f MDL-67204 assign task: Use lastruntime from task_scheduled 2020-01-09 17:12:34 +01:00
John Beedell 2acb24d84e MDL-66918 behat: Behat app step failing 2020-01-09 15:59:25 +00:00
Sara Arjona bcc1f8154f weekly release 3.7.3+ 2020-01-09 15:42:49 +01:00
Jun Pataleta 59a4c1dfbc MDL-67544 mod_forum: Remove unnecessary 'scope' in <td> 2020-01-09 16:35:48 +08:00
Andrew Nicols 709e07dd58 MDL-67544 mod_forum: Add missing label for discussion move 2020-01-09 16:32:15 +08:00
Andrew Nicols 7653711479 Merge branch 'MOODLE_37_MDL-67485' of https://github.com/golenkovm/moodle into MOODLE_37_STABLE 2020-01-09 12:40:40 +08:00
Mikhail Golenkov b3e0d3edec MDL-67485 task: Release the task runner lock before throwing exception. 2020-01-09 15:09:33 +11:00
Andrew Nicols b570a8012b Merge branch 'MDL-67596-cron-ramp-up-MOODLE_37_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_37_STABLE 2020-01-09 09:33:08 +08:00
Brendan Heywood e9ce085117 MDL-67596 cron: Allow runners to ramp up instantly 2020-01-09 11:04:18 +11:00
Eloy Lafuente (stronk7) 3484f61505 Merge branch 'MDL-67544-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2020-01-08 16:33:52 +01:00
Eloy Lafuente (stronk7) b8c1bd07ef Merge branch 'MDL-65920_37' of https://github.com/dvdcastro/moodle into MOODLE_37_STABLE 2020-01-08 10:20:13 +01:00
Jun Pataleta 6783597dc0 MDL-35971 mod_forum: Add proper discussion list table description 2020-01-08 15:45:47 +08:00
Sara Arjona 23f9fc2c08 Merge branch 'MDL-67417-37' of https://github.com/KietChan/moodle into MOODLE_37_STABLE 2020-01-08 08:26:55 +01:00
Sara Arjona 552a926d9e Merge branch 'MDL-67510-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2020-01-08 08:11:09 +01:00
Andrew Nicols feeb49d71d MDL-67544 form: Ensure that form errors have a unique id 2020-01-08 11:17:47 +08:00
Andrew Nicols 2f08c6d636 MDL-67544 mod_forum: Add missing menuitem roles 2020-01-08 11:17:47 +08:00
Andrew Nicols 7eb2fadd0a MDL-67544 mod_forum: Correct aria-labelledby node 2020-01-08 11:17:47 +08:00
Andrew Nicols 472aac0cec MDL-67544 core: Ensure unique IDs for YUI dialogues 2020-01-08 11:17:47 +08:00
Andrew Nicols 67eb2cbae4 MDL-67544 theme: Ensure that search box is in valid li 2020-01-08 11:17:46 +08:00
Andrew Nicols 3f416dde23 MDL-67544 mod_forum: Add default role for favourite toggle 2020-01-08 11:17:46 +08:00
Andrew Nicols b395834704 MDL-67544 mod_forum: Add missing aria label for discussion actions 2020-01-08 11:17:46 +08:00
Andrew Nicols f342750a6f Merge branch 'MDL-64764-37' of git://github.com/paulholden/moodle into MOODLE_37_STABLE 2020-01-08 08:31:30 +08:00
Eloy Lafuente (stronk7) 9f056a5684 Merge branch 'MDL-67469-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2020-01-07 23:00:04 +01:00
Marina Glancy 9b157ea0e6 MDL-64764 core_admin: allow to submit empty list of allowed roles.
Co-authored-by: Paul Holden <paulh@moodle.com>
2020-01-07 10:01:39 +00:00
Andrew Nicols 8dc5eab31e Merge branch 'MDL-65849-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2020-01-07 13:27:30 +08:00
Andrew Nicols 515ebc9727 Merge branch 'MDL-66938-37' of https://github.com/grabs/moodle into MOODLE_37_STABLE 2020-01-07 12:49:59 +08:00
Paul Holden 8c3f81aa69 MDL-66237 message_popup: Get redirecturl from notification contexturl 2020-01-07 11:24:37 +08:00
Andrew Nicols 0b71664990 Merge branch 'MDL-66871-37-v2' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2020-01-07 08:54:57 +08:00
Bas Brands 3dd509b06b MDL-66721 core_chooser: height correction for chooser modal 2020-01-06 10:13:19 +01:00
Jun Pataleta 63078beeed MDL-67510 tool_dataprivacy: Fix the reply-to name of the privacy officer 2020-01-06 11:37:02 +08:00
Simey Lameze 72e7743c2f MDL-66871 calendar: fix deprecated parameter in the phpDoc 2020-01-06 10:42:34 +08:00
Simey Lameze 197be84cc7 MDL-66871 calendar: add unit test coverage for ics importing 2020-01-06 10:42:33 +08:00
Simey Lameze 546c737981 MDL-66871 calendar: fix ics importing logic 2020-01-06 10:42:33 +08:00
Luca Bösch da1a4189e1 MDL-65987 mod_forum: Add string 'Advanced' for the advanced editor.
AMOS BEGIN
    CPY [advanced,moodle],[showadvancededitor,moodle]
   AMOS END
2020-01-06 09:41:23 +08:00
Jake Dallimore c520f8a8c5 Merge branch 'MDL-67336-37' of https://github.com/roland04/moodle into MOODLE_37_STABLE 2020-01-06 09:37:10 +08:00
Andreas Grabs c32c55b482 MDL-66938 mod_feedback: Export includes unwanted html in field names 2020-01-05 19:33:20 +01:00
Jake Dallimore b2c0237ae8 weekly release 3.7.3+ 2020-01-03 11:25:02 +08:00
Jake Dallimore 0b16f6e9d8 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2020-01-03 11:24:59 +08:00
AMOS bot c2b9324c95 Automatically generated installer lang files 2020-01-03 00:12:18 +00:00
Adrian Greeve 3ca4f0705b Merge branch 'MDL-67599-37' of https://github.com/snake/moodle into MOODLE_37_STABLE 2020-01-02 15:17:11 +08:00
Jake Dallimore dc238e45bb MDL-67599 behat: fix behat tests assuming Jan 2020 is a future date 2020-01-02 13:52:55 +08:00
AMOS bot 1120aefa6a Automatically generated installer lang files 2020-01-02 00:10:30 +00:00
Eloy Lafuente (stronk7) 188dddc077 Merge branch 'MDL-67593-37' of https://github.com/snake/moodle into MOODLE_37_STABLE 2019-12-31 10:51:09 +01:00
Jake Dallimore b257dc6a1c MDL-67593 core_iplookup: update lang string describing download process
Let users know they need to register on maxmind before granted download
access.
2019-12-31 15:57:11 +08:00
Jake Dallimore 079cab5158 MDL-67593 core_iplookup: use MaxMind test database in unit tests
Instead of downloading a live database (now not available publicly)
use a local test database.
2019-12-31 15:57:03 +08:00
Jun Pataleta d3c0160f3b Merge branch 'MDL-63996-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-12-31 15:18:57 +08:00
Jun Pataleta 6b6874b4b0 Merge branch 'MDL-67487-37' of git://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-12-31 11:55:48 +08:00
Jun Pataleta e330c9e4df Merge branch 'MDL-67470-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2019-12-31 11:29:45 +08:00
Bas Brands 4e14f91bfa MDL-67470 theme_boost: settings_menu_proxy correct background
the .region_main_settings_proxy was introduced in MDL-56582 using the
wrong bootstrap variable for the background color
2019-12-31 10:00:03 +08:00
Adrian Greeve fc48d5e39e Merge branch 'MDL-67233-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-12-30 12:58:07 +08:00
Jun Pataleta aadb383458 Merge branch 'MDL-67491-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2019-12-30 12:40:53 +08:00
Didier 'OdyX' Raboud b7540acee3 MDL-67491 core_message: Primary'fy the contact request counts 2019-12-30 11:47:47 +08:00
Eloy Lafuente (stronk7) aa5d6d1075 Merge branch 'MDL-67527-37-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2019-12-29 23:27:22 +01:00
Adrian Greeve c671e56277 Merge branch 'MDL-63107-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-12-27 16:35:14 +08:00
Adrian Greeve d30ee1def7 Merge branch 'MDL-65809-37-onlyenv' of git://github.com/sarjona/moodle into MOODLE_37_STABLE 2019-12-24 14:56:16 +08:00
Adrian Greeve fc7a699cef Merge branch 'MOODLE_37_STABLE-MDL-67524' of https://github.com/yao9394/moodle into MOODLE_37_STABLE 2019-12-23 10:31:32 +08:00
John Yao b0f9bb4a2c MDL-67524 book: fixing view hidden chapter issue
* Users who have permission should be able to view hidden chapters after turning editing off
2019-12-23 09:38:07 +11:00
AMOS bot 5ca8ff038b Automatically generated installer lang files 2019-12-21 00:11:05 +00:00
Luca Bösch 129e5848e0 MDL-67487 forms: align "Custom" checkbox for course section name. 2019-12-20 13:47:09 +01:00
Eloy Lafuente (stronk7) 6e8eb9c0b2 weekly release 3.7.3+ 2019-12-20 11:02:03 +01:00
Eloy Lafuente (stronk7) 8628068fd0 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-12-20 11:02:00 +01:00
Eloy Lafuente (stronk7) 310f5f818b Merge branch 'MDL-67151-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-12-19 23:01:45 +01:00
Shamim Rezaie 550af41514 MDL-67151 qtype_numerical: convert the tolerance to string before saving
Fix the sqlserver issue when saving a number into a text field
2019-12-20 01:22:36 +11:00
Jun Pataleta 6a5e6dbbee Merge branch 'MOODLE_37_STABLE_MDL-63795_core_setting_defaults' of https://github.com/mattporritt/moodle into MOODLE_37_STABLE 2019-12-19 11:17:31 +08:00
Matt Porritt 83aae3d6b3 MDL-63795 Administration: CLI upgrade apply all settings
This patch fixes a regression caused by MDL-62777.  MDL-62777 added output to inform
administrators of new default settings.  However, the recursion in the code did not
handle new settings made available as the result of the defaults of other settings
being set.
This patch fixes the issue, now all defaults are correctly set, even those exposed
after other defaults are set.
2019-12-19 12:20:19 +11:00
Eloy Lafuente (stronk7) 55d62d8983 Merge branch 'MDL-67151-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-12-18 23:06:42 +01:00
Eloy Lafuente (stronk7) 150f94c8a1 Merge branch 'MDL-64695-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-12-18 19:56:26 +01:00
David Mudrák 9ef1745639 MDL-67527 lang: Propagate the string fixes to Behat and other places 2019-12-18 09:29:16 +01:00
Helen Foster b42864b044 MDL-67527 lang: Import fixed English strings (en_fix) 2019-12-18 09:28:45 +01:00
Andrew Nicols 93a4ff940c MDL-63996 core/tags: Pending JS for all tag code 2019-12-18 12:02:40 +08:00
Eloy Lafuente (stronk7) 6bc6e9fb4f Merge branch 'MDL-67185-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-12-17 23:07:44 +01:00
Mikel Martín 094a5cddd6 MDL-67336 mod_forum: Fixing forum inline reply filtering before saving 2019-12-17 16:51:22 +01:00
Jake Dallimore 02fcc52917 Merge branch 'MDL-65735-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-12-17 13:25:43 +08:00
Eloy Lafuente (stronk7) 73f5b11a3d Merge branch 'MDL-67522-37' of git://github.com/marinaglancy/moodle into MOODLE_37_STABLE 2019-12-17 00:22:50 +01:00
Eloy Lafuente (stronk7) 78923a9379 Merge branch 'MDL-67410-37' of https://github.com/felicemcc/moodle into MOODLE_37_STABLE 2019-12-16 19:18:51 +01:00
Bas Brands 362134292e MDL-63107 mod_book: rewrite styles for book chapter block
* using flexbox to position titles
* fix for title overlap on edit mode
* show correct bullets, number or indent
2019-12-16 13:30:36 +01:00
Andrew Nicols 72d4e3141c MDL-63996 behat: Fix multi-tag autocomplete usage 2019-12-16 14:00:53 +08:00
Jake Dallimore ed06e68a2b Merge branch 'MDL-66503-37' of git://github.com/abgreeve/moodle into MOODLE_37_STABLE 2019-12-16 09:11:47 +08:00
Marina Glancy 4b45a0fb43 MDL-67522 core_lock: fix mistype in config-dist 2019-12-14 19:31:17 +01:00
AMOS bot 97f2efaf90 Automatically generated installer lang files 2019-12-14 00:11:00 +00:00
Jun Pataleta bfde26e64c MDL-67469 tool_dataprivacy: Put back missing test code
This patch simply brings back the missing test code for
\tool_dataprivacy_api_testcase::test_approve_data_request_non_dpo_user()
2019-12-13 10:05:12 +08:00
AMOS bot 9213c261eb Automatically generated installer lang files 2019-12-13 00:11:17 +00:00
Felice Candilio ad27019f63 MDL-67410 Enrolments: Cast the perpage parameter to integer in JS
The parameter called "perpage" on the call is treated as a string,
therefore, It could have a value 15001 resulting from a "+" operation
of the "1500" string and the number 1. That big number makes
the AJAX call extremely slow.

The proposed solution is to parse the number as an integer
when performing the addition.
2019-12-12 22:28:17 +01:00
Paul Holden 73242585f4 MDL-65735 report_progress: reset URL start parameter in initials bars. 2019-12-12 18:24:21 +00:00
Paul Holden bc25db6a64 MDL-64695 tool_dataprivacy: filter site fullname in outgoing messages. 2019-12-12 18:20:35 +00:00
Paul Holden 8b6d7e876d MDL-64695 privacy: filter site fullname in data export. 2019-12-12 18:20:35 +00:00
Eloy Lafuente (stronk7) 85e21dd300 weekly release 3.7.3+ 2019-12-12 13:26:23 +01:00
Eloy Lafuente (stronk7) 1c4af632f9 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-12-12 13:26:20 +01:00
Jake Dallimore 8223ff7c7e Merge branch 'MDL-67154-37' of git://github.com/ferranrecio/moodle into MOODLE_37_STABLE 2019-12-12 09:05:28 +08:00
Ferran Recio 190216f8a9 MDL-67154 theme_classic: fixing firefox printing 2019-12-11 16:56:57 +01:00
AMOS bot f48346ab9d Automatically generated installer lang files 2019-12-11 13:50:16 +00:00
Kiet.Chan 7473f63a3d MDL-67417 theme_boost: Tooltip icon stop working after closing using ESC 2019-12-11 14:55:32 +07:00
Andrew Nicols c0e6d385c7 Merge branch 'MDL-67458-37' of https://github.com/snake/moodle into MOODLE_37_STABLE 2019-12-11 10:27:41 +08:00
Adrian Greeve 50dd06be9f MDL-66503 themes: Set the embed page to display block. 2019-12-11 09:39:01 +08:00
Jake Dallimore 2e9dd5864e MDL-67458 core: removing stale cohortroles and role assignments 2019-12-11 09:38:59 +08:00
Jake Dallimore c309ace4a9 MDL-67458 tool_cohortroles: remove role mapping for deleted roles
Before syncing anything, clean up records pointing to deleted roles.
2019-12-11 09:38:38 +08:00
Jake Dallimore cf6f67c615 Merge branch 'MDL-66936-37' of git://github.com/marinaglancy/moodle into MOODLE_37_STABLE 2019-12-10 15:28:18 +08:00
Jake Dallimore 32312d16a4 Merge branch 'MDL-67154-37' of git://github.com/ferranrecio/moodle into MOODLE_37_STABLE 2019-12-10 11:58:07 +08:00
Jake Dallimore acd644b49b Merge branch 'MDL-67451-37' of git://github.com/sarjona/moodle into MOODLE_37_STABLE 2019-12-10 10:37:31 +08:00
Jake Dallimore e57486369f Merge branch 'MDL-66708-MOODLE_37_KeyGenCache' of https://github.com/Cengage/moodle into MOODLE_37_STABLE 2019-12-10 09:14:49 +08:00
Paul Holden 213abaaf97 MDL-65649 backup: ensure valid course URL for async mode. 2019-12-09 23:34:37 +00:00
Sara Arjona 5d69fd7796 MDL-67451 badges: use the site OB version as default 2019-12-09 08:21:50 +01:00
Andrew Nicols f77bddbe41 Merge branch 'MDL-60975-37' of https://github.com/Kathrin84/moodle into MOODLE_37_STABLE 2019-12-09 13:10:44 +08:00
AMOS bot 6245343fee Automatically generated installer lang files 2019-12-06 00:09:50 +00:00
Paul Holden 9e9c0912e3 MDL-66024 tool_uploadcourse: validate shortname/fullname field length. 2019-12-05 23:11:14 +00:00
Kathrin Osswald c7083ccfab MDL-60975 behat tests: Added search for admin setting filepickers 2019-12-05 14:59:32 +01:00
Sara Arjona 7bda7e786b MDL-65809 environment: mbstring extension required 2019-12-05 14:01:54 +01:00
Sara Arjona 0334ede088 MDL-65809 environment: PHP 7.2 required 2019-12-05 14:01:54 +01:00
Sara Arjona c81c6c7062 MDL-65809 environment: postgres requirement up to 9.5 2019-12-05 14:01:54 +01:00
Sara Arjona c13e90b418 MDL-65809 environment: mariadb requirement up to 10.2 2019-12-05 14:01:54 +01:00
Sara Arjona 34edb73d59 MDL-65809 environment: 3.5 (LTS) required 2019-12-05 14:01:54 +01:00
Sara Arjona 0bdb308dad MDL-65809 environment: 3.9 base information
This is a direct copy of the 3.8 branch to have changes
under control easier in next commits.
2019-12-05 14:01:54 +01:00
Eloy Lafuente (stronk7) fcc93935be weekly release 3.7.3+ 2019-12-05 13:24:09 +01:00
Adrian Greeve 66860a607c Merge branch 'MDL-65620-37' of git://github.com/aanabit/moodle into MOODLE_37_STABLE 2019-12-05 09:27:51 +08:00
Amaia Anabitarte a4af12139e MDL-65620 core_message: User preference generator 2019-12-04 11:03:14 +01:00
Amaia Anabitarte 610fde313f MDL-65620 core_message: Notification preferences behat tests 2019-12-04 11:03:14 +01:00
Amaia Anabitarte ba2599ce05 MDL-65620 core_message: Default notification preferences 2019-12-04 10:56:04 +01:00
Ferran Recio 91ff19fc50 MDL-67154 theme_boost: fixing firefox printing 2019-12-04 10:41:50 +01:00
Adrian Greeve a9acc2ee16 Merge branch 'MDL-40360-37' of git://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-12-04 11:52:21 +08:00
Claude Vervoort 7a81ee607f MDL-66708 lti adv: fix check for key in config 2019-12-03 09:44:05 -05:00
Marina Glancy 07ab601ced MDL-66936 mod_url: revert MDL-65024 adding fullurl to modinfo
This reverts commit cc56e409c3, reversing
changes made to 01cdf16c0e.
2019-12-03 12:25:40 +01:00
Jonathon Fowler 6b822a40e0 MDL-66936 url: fix error when modinfo cache is rebuilt non-interactively 2019-12-03 12:25:39 +01:00
Adrian Perez 5b5b171b75 MDL-67185 progressbar: use bootstrap component to fix invert colors 2019-12-03 11:26:15 +01:00
Shamim Rezaie c683b6465d MDL-67151 qtype_calculatedsimple: Support for the scientific format 2019-12-03 16:59:23 +11:00
Shamim Rezaie 98f8cc5c57 MDL-67151 qtype_calculated: Support for the scientific format 2019-12-03 16:59:23 +11:00
Shamim Rezaie ff7d589d0c MDL-67151 qtype_numerical: Support for the scientific format 2019-12-03 16:59:22 +11:00
Shamim Rezaie 01f880752e MDL-67151 core_question: Support scientific format at question preview 2019-12-03 16:59:22 +11:00
Shamim Rezaie f24f82e202 MDL-67151 forms: Support for the scientific format in the float element 2019-12-03 16:59:21 +11:00
Shamim Rezaie 9726641b87 MDL-67151 core: format_float can auto detect number of decimal points 2019-12-03 16:59:17 +11:00
Sara Arjona 13b6be4cda Merge branch 'wip-MDL-67339-37stable' of https://github.com/Beedell/moodle into MOODLE_37_STABLE 2019-12-02 18:06:38 +01:00
John Beedell 54eb7cecbb MDL-67339 behat: Enhance Behat exception message 2019-12-02 09:57:18 +00:00
Jake Dallimore ee03a07837 Merge branch 'MDL-66581-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2019-12-02 16:13:10 +08:00
Jun Pataleta 2fff16d0dd MDL-66581 auth: Properly assign the link attribute 2019-12-02 15:29:13 +08:00
Iñigo Zendegi ba011cd3a3 MDL-66581 auth: Do string concatenation for the password change URL
This reverts the change introduced by MDL-59298 where the password
change URL data is being assigned with a moodle_url object instead
of concatenating it.
2019-12-02 15:29:13 +08:00
Jake Dallimore 3e88752969 Merge branch 'MDL-66877-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-12-02 10:04:37 +08:00
Luca Bösch cd47a90307 MDL-40360 gradingform_rubric: remove unused class 'label' for a label. 2019-11-30 10:06:00 +01:00
Shamim Rezaie 43536c4490 MDL-65849 mod_forum: Add course param to the author's profile url 2019-11-29 21:02:04 +11:00
Eloy Lafuente (stronk7) 26a1bee863 weekly release 3.7.3+ 2019-11-29 00:45:47 +01:00
Juan Leyva 0d588f2275 MDL-66877 mod: Fix unfiltered activity names in page headings 2019-11-28 17:19:33 +01:00
Juan Leyva a44b2f35d0 MDL-66877 mod: Fix WebServices returning unfiltered activity names 2019-11-28 17:19:33 +01:00
Eloy Lafuente (stronk7) 7ed4575962 Merge branch 'MDL-67300-m37' of https://github.com/sammarshallou/moodle into MOODLE_37_STABLE
(fix trailing whitespace case)
2019-11-26 22:28:54 +01:00
Jun Pataleta 42717369cb Merge branch 'MOODLE_37_MDL-56886' of https://github.com/golenkovm/moodle into MOODLE_37_STABLE 2019-11-26 22:32:30 +08:00
Luca Bösch 6c4fda0250 MDL-67210 tool_uploadcourse: Allow only 0 and 1 for visible value. 2019-11-26 08:30:55 +01:00
Peter 6acdb674c5 MDL-67233 mod_timeline: Allow events with only open dates in the future 2019-11-26 11:29:04 +08:00
Mikhail Golenkov 0b40ec7c6c MDL-56886 navigation: Allow local plugins to modify navigation via AJAX. 2019-11-26 13:20:25 +11:00
Jake Dallimore 5f0db00a75 Merge branch 'MDL-67222-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-11-26 10:13:26 +08:00
Bas Brands 1fd190f06f MDL-67222 tool_lp: update css classes for Bootstrap 4.3 2019-11-25 15:00:09 +01:00
Jun Pataleta d7e5e56e1e Merge branch 'MDL-67217_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-11-25 16:14:02 +08:00
Sara Arjona 6bc8d857b9 Merge branch 'MDL-67168-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-11-25 08:56:59 +01:00
Jun Pataleta 2f4b206ac0 Merge branch 'MDL-65956-37-1' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-11-25 14:22:43 +08:00
Mihail Geshoski d522d06f07 MDL-65956 mod_assign: Add behat tests 2019-11-25 10:50:32 +08:00
Mihail Geshoski 49953fd4ca MDL-65956 mod_assign: Add proper capability checks and error handling 2019-11-25 10:50:32 +08:00
David Monllaó 2adc0dbe96 MDL-67217 unittest: usleep and windows don't get along well 2019-11-22 07:42:24 +08:00
Eloy Lafuente (stronk7) 52eb2da844 weekly release 3.7.3+ 2019-11-22 00:17:10 +01:00
sam marshall 0ce15c819d MDL-67300 Calendar: Inconsistent behaviour of managegroupentries
When calling the calendar_get_allowed_event_types function with
no course id, it is supposed to return true if you have the
relevant permissions in any course.

For users who have the managegroupentries permission, this was not
the case - even though it works correctly if you call the function
with a supplied course id.

This change makes behaviour with and without a supplied course id
consistent.
2019-11-21 10:53:03 +00:00
Andrew Nicols b530dd8136 MDL-67168 forum: Correct behaviour of viewfullnames 2019-11-21 15:43:12 +08:00
Tim Hunt 265296a26e MDL-48024 behat: allow plugins to have data generators
This extends the step
Given the following "users" exist:
to also support things like
Given the following "mod_quiz > user overrides" exist:

Instructions are on the behat_data_generators and
behat_generator_base classes.
2019-11-21 09:35:39 +08:00
Jake Dallimore cb14826719 Merge branch 'MDL-67274-m37' of https://github.com/sammarshallou/moodle into MOODLE_37_STABLE 2019-11-19 10:51:50 +08:00
Eloy Lafuente (stronk7) 219d5e9c1d Merge branch 'MDL-65913_37' of https://github.com/jonof/moodle into MOODLE_37_STABLE 2019-11-18 23:19:53 +01:00
Jun Pataleta 23865aefdd MDL-67148 tool_mobile: Set auth_cas|auth_name config value in unit test
Thanks to Renaat Debleu for the fix suggestion!
2019-11-18 18:54:30 +01:00
Jun Pataleta 8a6a3bd633 Merge branch 'MDL-67073-37' of git://github.com/marinaglancy/moodle into MOODLE_37_STABLE 2019-11-18 16:03:08 +08:00
sam marshall 7eb02fed62 MDL-67274 Tasks: Log display fails with memory errors 2019-11-15 13:56:56 +00:00
Eloy Lafuente (stronk7) 87b11eb4a0 weekly release 3.7.3+ 2019-11-15 12:30:25 +01:00
Jun Pataleta b6a6a6740f Merge branch 'MDL-67218-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-11-13 11:00:12 +08:00
Andrew Nicols 61f4facb74 MDL-67218 form: Do not clear grade when rescaling not enabled 2019-11-12 13:18:44 +08:00
Eloy Lafuente (stronk7) 25c9c6336b Moodle release 3.7.3 2019-11-09 11:57:47 +01:00
Sara Arjona a88baa553a weekly release 3.7.2+ 2019-11-08 15:39:46 +01:00
Sara Arjona 2b0e7a4ea9 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-11-08 15:39:43 +01:00
Adrian Greeve 46cb3afcfe Merge branch 'MDL-67169_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-11-08 10:44:19 +08:00
Jake Dallimore b7bb837d2b Merge branch 'MDL-67016-37-user-profile-see-own-courses' of https://github.com/danowar2k/moodle into MOODLE_37_STABLE 2019-11-08 10:22:26 +08:00
Andrew Nicols bf1e1b917f Merge branch 'MDL-67149-m37' of https://github.com/sammarshallou/moodle into MOODLE_37_STABLE 2019-11-08 10:10:36 +08:00
Sara Arjona 35c54f8ea8 Merge branch 'MDL-66683-37' of git://github.com/cescobedo/moodle into MOODLE_37_STABLE 2019-11-07 17:41:30 +01:00
cescobedo ffc5dc3245 MDL-66683 core: Revert MDL-66181 because created regressions
This reverts commit ed080a580f.
This issue reverts the behaviour modified in MDL-66181, as that change
negatively impacted course-creation workflows. As this appears to be
the intended functionality, the Security team has agreed to revert
this change.
2019-11-07 17:30:19 +01:00
Jake Dallimore 64f1c9d901 MDL-66257 tool_cohortroles: unit test for users in multiple cohorts 2019-11-07 23:47:33 +08:00
cescobedo b7ee5cb2ea MDL-66257 tool_cohortroles: Unassign the role on removal cohortroles. 2019-11-07 23:47:33 +08:00
Eloy Lafuente (stronk7) 0581a99241 MDL-67169 phpunit: fix clear flaw in unit test provider
Basically the provider is ignoring the CRLF to LF normalization
results and loading the original file again.

This doesn't have any impact normally, because all moodle
files are LF ones and people using other systems have their
git configurations set to work that way (not modify or force LF).

But there may be checkouts out there (for example travis) where
the git configuration by defult is to convert to the OS, causing
windows runs to fail badly there. See the issue for more info
and links.
2019-11-07 13:43:46 +01:00
Jun Pataleta d084e4194c Merge branch 'MDL-67084-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2019-11-07 19:37:48 +08:00
Marina Glancy 56f3b3f412 MDL-67084 core_form: duration element should export arrays 2019-11-07 19:22:05 +08:00
Jun Pataleta 0ecc1a8eab MDL-66598 auth_oauth2: OAuth2 upgrade step
This basically does two things:
1. Updates all non-Facebook/Google/Microsoft issuers and sets their
'requireconfirmation' field to 1 so that future OAuth2 logins on these
issuers will always have an email confirmation sent to them.
2. Deletes the linked logins of users with non-Facebook/Google/Microsoft
OAuth2 issuers.
2019-11-07 18:43:30 +08:00
Jun Pataleta 6cb4bd65d3 MDL-66598 auth_oauth2: Add warning messages in confirm emails 2019-11-07 18:43:30 +08:00
Jun Pataleta 034729a5ce MDL-66598 tool_oauth2: Make account confirmation required by default
* Only Facebook, Google, and Microsoft issuers can optionally offer to
require account confirmation via email. We will require email
confirmation for the rest of the issuers.
2019-11-07 18:43:30 +08:00
Mihail Geshoski 4676d5ad35 MDL-66762 tool_dataprivacy: Sanitize the extra fields in the webservice 2019-11-07 09:02:35 +08:00
Paul Holden a722b44a09 MDL-66762 user: escape extra/email user fields. 2019-11-07 09:02:35 +08:00
Paul Holden 8d111d5136 MDL-66762 user: stricter email validation. 2019-11-07 09:02:34 +08:00
Eloy Lafuente (stronk7) a423038589 Merge branch 'MDL-42638-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-11-06 22:47:29 +01:00
sam marshall cff7de72ed MDL-67149 Accessibility: Help popups fail WCAG 1.4.13 (Dismissable)
It must be possible to dismiss the help popups (popovers) with the
Escape key, without changing focus.
2019-11-06 16:27:17 +00:00
Sara Arjona 18b60b3d2b Merge branch 'MDL-66984-change_password_url-with-user-MOODLE_37_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_37_STABLE 2019-11-06 08:30:55 +01:00
AMOS bot fb9553cac0 Automatically generated installer lang files 2019-11-06 00:16:32 +00:00
Luca Bösch 2b746fc34a MDL-42638 filters: Have emoticons respect <pre>. 2019-11-05 16:09:20 +01:00
Michael Hawkins 87c1819e2f MDL-66161 output: Escaping fatal error message and URL strings 2019-11-05 13:47:43 +01:00
Juan Leyva 2e4684f51c MDL-66377 user: Only allow active users to retrieve files via tokenpluginfile.php 2019-11-05 13:47:43 +01:00
Paul Holden f68e327afa MDL-66228 mod_lesson: ensure return URL parameters are always local. 2019-11-05 13:47:43 +01:00
Eloy Lafuente (stronk7) 7471e92601 weekly release 3.7.2+ 2019-11-05 13:34:30 +01:00
Eloy Lafuente (stronk7) 5dbf43b0de Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-11-05 13:34:27 +01:00
Jake Dallimore 98c155a433 Merge branch 'MDL-66455-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2019-11-05 11:43:06 +08:00
AMOS bot 7c2d448bf8 Automatically generated installer lang files 2019-11-05 00:10:27 +00:00
Brendan Heywood fb5ed6a5ca MDL-66984 auth: Allow $USER to be used in change_password_url 2019-11-05 10:24:48 +11:00
Jun Pataleta beed18a8e9 Merge branch 'MDL-66582-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-11-04 19:35:33 +08:00
Jake Dallimore 79d23bb46b Merge branch 'MDL-67093-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-11-04 15:40:30 +08:00
Adrian Greeve 145c57f2f9 Merge branch 'MDL-43189-37' of git://github.com/snake/moodle into MOODLE_37_STABLE 2019-11-04 09:24:13 +08:00
Eloy Lafuente (stronk7) 385e7e0c26 Merge branch 'MDL-66990-37-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2019-11-03 23:15:18 +01:00
AMOS bot e848d21f9e Automatically generated installer lang files 2019-11-02 00:09:30 +00:00
Helen Foster e8014f4833 MDL-66990 lang: Import fixed English strings (en_fix)
Significant string changes:

* hidegrader_help,mod_assign - note about setting having no effect on
  comments box
* configenablecompletion,core_completion - including reason for setting
  activity completion conditions
* setuplink_desc,tool_mobile - including where the app download page
  link is displayed and leaving the setting empty
2019-11-01 11:22:19 +01:00
Shamim Rezaie 66b2dcd7be MDL-43189 core: improve validating db settings during cli install 2019-11-01 15:41:36 +08:00
Shamim Rezaie f41a30229e MDL-43189 core: Validate db prefix during installation 2019-11-01 15:41:36 +08:00
Jonathon Fowler 61016f21df MDL-65913 block_recentlyaccessedcourses: add category | name separator 2019-11-01 16:42:14 +10:00
Daniel Poggenpohl d8a7f2aeb7 MDL-67016 profile: current user should see his own courses 2019-10-31 14:36:43 +01:00
Juan Leyva e7cdd0e77c MDL-66582 tool_mobile: Clean URLs from auth plugins
In order to avoid the WebService to break we must double check that URLs coming from auth plugins are valid.
2019-10-31 14:22:51 +01:00
Johan Dobbelstein cf889e4fbd MDL-66582 auth: Fix empty auth_logo in CAS/Shibboleth auth plugins
* set $idp['iconurl'] = null if no auth_logo
* lib/templates/loginform.mustache will skip NULL iconurls
* lib/ajax/service?info=tool_mobile_get_public_config will validate the NULL values
2019-10-31 14:22:51 +01:00
Eloy Lafuente (stronk7) bb519b05b1 weekly release 3.7.2+ 2019-10-31 13:33:21 +01:00
Simey Lameze ad796334cb MDL-66455 calendar: add coverage for event types in subscription page 2019-10-31 18:48:05 +08:00
Simey Lameze 0e903c3f7f MDL-66455 calendar: show site level subscriptions 2019-10-31 18:48:04 +08:00
Adrian Greeve 63c0acc5e9 Merge branch 'MDL-66247-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-10-31 14:38:29 +08:00
Andrew Nicols 307600962c MDL-67093 grading: Fetch cm with get_fast_modinfo 2019-10-31 13:28:56 +08:00
Andrew Nicols d0cf886bf8 Merge branch 'MDL-67088-37' of git://github.com/marinaglancy/moodle into MOODLE_37_STABLE 2019-10-31 11:08:20 +08:00
Marina Glancy 0c8ad6a113 MDL-67088 mod_assign: compare time without case for MacOS compat 2019-10-30 19:20:02 +01:00
Marina Glancy ff55f6b21d MDL-67073 core_course: fix capability context 2019-10-30 18:42:02 +01:00
Andrew Nicols bff4d30a79 MDL-66247 accessibility: Correct notification alert role support 2019-10-30 09:01:18 +08:00
Eloy Lafuente (stronk7) 3d9b0a9b1b weekly release 3.7.2+ 2019-10-29 21:01:50 +01:00
Eloy Lafuente (stronk7) 5570436ef3 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-10-29 21:01:44 +01:00
Jake Dallimore 96d6f625f3 Merge branch 'MDL-66945_37' of git://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-10-29 14:56:13 +08:00
Andrew Nicols 9c8a6c45f9 Merge branch 'MDL-67027-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-10-29 09:35:42 +08:00
Andrew Nicols be328441a2 MDL-66945 composer: Update behat extension
(using php71 for this branch)

This uses a new version of the moodlehq-behat-extension which ensures
that a node is visible and in the view port before it is clicked on.

This resolves an issue with Firefox on Ubuntu 18.04 whereby the node is
only brought into the viewport instead of clicked on.
2019-10-28 13:18:30 +01:00
Jun Pataleta e282b1f1fc Merge branch 'm37_MDL-65811_Fix_Incorrect_ORDER_BY_Search' of https://github.com/scara/moodle into MOODLE_37_STABLE 2019-10-28 11:30:40 +08:00
AMOS bot 28ccb81e87 Automatically generated installer lang files 2019-10-28 00:09:18 +00:00
AMOS bot bf84c3f075 Automatically generated installer lang files 2019-10-27 00:09:15 +00:00
Matteo Scaramuccia 429de834fa MDL-65811 database: Fix subsetting in MSSQL 2019-10-25 23:04:02 +02:00
Paul Holden 77c0308e74 MDL-67027 calendar: fix event update form validation. 2019-10-25 17:36:41 +01:00
Eloy Lafuente (stronk7) 991ac49b61 weekly release 3.7.2+ 2019-10-25 15:29:45 +02:00
Eloy Lafuente (stronk7) 56a0e6ed87 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-10-25 15:29:42 +02:00
Jake Dallimore 710bfa00e7 Merge branch 'MOODLE_37_MDL-66973' of https://github.com/golenkovm/moodle into MOODLE_37_STABLE 2019-10-25 11:10:18 +08:00
Jun Pataleta 5d70a8d5ad Merge branch 'MDL-66543-37' of git://github.com/tobiasreischmann/moodle into MOODLE_37_STABLE 2019-10-24 23:08:36 +08:00
Tobias Reischmann 39a390f1f5 MDL-66543 forms: Make (hard) frozen textareas readonly (or disabled) 2019-10-24 13:44:22 +02:00
Eloy Lafuente (stronk7) 978ed33fb1 Merge branch 'MDL-66935-lock-clashes-MOODLE_37_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_37_STABLE 2019-10-24 10:03:46 +02:00
Adrian Greeve 666d420194 Merge branch 'MDL-66876-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-10-24 15:16:21 +08:00
Jun Pataleta bdf64b7eec Merge branch 'MDL-66927-run-new-adhoc-37' of https://github.com/brendanheywood/moodle into MOODLE_37_STABLE 2019-10-24 13:46:12 +08:00
Brendan Heywood 413b321344 MDL-66935 core_lock: Fix resource key clashes in db and postgres locks 2019-10-24 15:09:16 +11:00
AMOS bot 4497ed3938 Automatically generated installer lang files 2019-10-24 00:09:26 +00:00
Eloy Lafuente (stronk7) fc992c94af Merge branch 'MDL-64298-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-10-23 22:21:49 +02:00
Eloy Lafuente (stronk7) 7b04b19e06 Merge branch 'MDL-67001-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-10-23 22:17:34 +02:00
Sara Arjona 7dfa4d625b Merge branch 'MOODLE_37_STABLE_MDL-66225_async_backup_state' of https://github.com/mattporritt/moodle into MOODLE_37_STABLE 2019-10-23 17:39:22 +02:00
Juan Leyva 648ec6857b MDL-64298 gradereport_user: Fix WS returned parameter description
feedbackformat must be optional always
2019-10-23 17:16:24 +02:00
Juan Leyva f6f931728a MDL-66876 core_filter: Fix context in Web Service warning 2019-10-23 17:07:41 +02:00
Luca Bösch de254adfd3 MDL-67001 question: alignment and form spaces. 2019-10-23 11:00:11 +02:00
Matt Porritt bf0a0ed189 MDL-66225 Backup: fix irrecoverable state
Fix condition where if an asynchronous backup
completes via the UI and the user refreshes the
page a new backup was created with a mismatched
backup id.
This caused a permanently failing ad-hoc task
and blocked further backups for that course.
2019-10-23 04:18:42 +00:00
Adrian Greeve 76ebea9add Merge branch 'MDL-63125-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-10-23 11:07:10 +08:00
Sara Arjona 4fef7d1c87 weekly release 3.7.2+ 2019-10-22 14:48:08 +02:00
Sara Arjona 582a3baf70 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-10-22 14:48:05 +02:00
Paul Holden 9961411a12 MDL-63125 forms: Behat test for form autocomplete element. 2019-10-21 23:25:28 +01:00
Eloy Lafuente (stronk7) ace0fcf5b4 Merge branch 'MDL-66980_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-10-21 20:26:49 +02:00
Sara Arjona d3750e40ae Merge branch 'MDL-61121-37-5' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-10-21 14:46:29 +02:00
Tim Hunt 8e506aa53c MDL-66980 question bank: fix load_many_for_cache missing record check 2019-10-21 11:18:46 +01:00
Jun Pataleta 687e3b53c0 Merge branch 'MDL-66009-37' of https://github.com/grabs/moodle into MOODLE_37_STABLE 2019-10-21 16:15:13 +08:00
Jake Dallimore 285bc3e242 Merge branch 'MDL-66915-37' of https://github.com/MartinGauk/moodle into MOODLE_37_STABLE 2019-10-21 15:56:06 +08:00
Mikhail Golenkov 8dc826354d MDL-66973 search: Reset Content writer after test. 2019-10-21 17:48:45 +11:00
Andrew Nicols d5409002be Merge branch 'MDL-66962-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-10-21 14:23:27 +08:00
Luca Bösch 3e1e159efa MDL-66962 questions: Question bank table T title non breaking. 2019-10-21 08:17:15 +02:00
Andrew Nicols a4ed555b2f Merge branch 'MDL-66944_37' of https://github.com/t-schroeder/moodle into MOODLE_37_STABLE 2019-10-21 13:48:41 +08:00
Andrew Nicols 07b3e80ed1 Merge branch 'MDL-66946_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-10-21 12:56:54 +08:00
Jake Dallimore 023ebdb1af Merge branch 'MDL-66930-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-10-21 11:55:39 +08:00
Jake Dallimore b09d19d5bd Merge branch 'MDL-66960-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-10-21 10:41:44 +08:00
AMOS bot 3acc7fba61 Automatically generated installer lang files 2019-10-19 00:09:18 +00:00
Tim Schroeder 66039dbc91 MDL-66944 course: fixed copy-paste-error in comment 2019-10-18 22:47:11 +02:00
Tim Hunt 90766fb12b MDL-66946 quiz reports: incorrectly show teachers sometimes 2019-10-18 17:40:37 +01:00
Luca Bösch 3984d03fda MDL-66960 questions: Top align all question bank titles exc "select all" 2019-10-18 16:35:38 +02:00
Luca Bösch 0a9eae8b7a MDL-66930 quiz: Question type icon size/alignment in Boost and Classic. 2019-10-18 13:53:02 +02:00
Eloy Lafuente (stronk7) aac11a3c4b weekly release 3.7.2+ 2019-10-18 10:31:33 +02:00
Mihail Geshoski 84801cd656 MDL-61121 assign: Declare variables in the local scope 2019-10-18 13:59:58 +08:00
Mihail Geshoski 542e7b52f2 MDL-61121 assign: Improve accessibility in quick grading page tables 2019-10-18 13:59:58 +08:00
Mihail Geshoski cbc680eb33 MDL-61121 assign: Improve accessibility - view full/view summary control 2019-10-18 13:59:58 +08:00
Jun Pataleta 9a9542a238 Merge branch 'MDL-66806_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-10-18 09:36:43 +08:00
Andrew Nicols 5b3308939d Merge branch 'MDL-66919_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-10-18 08:27:52 +08:00
Eloy Lafuente (stronk7) da348e315a Merge branch 'MDL-64064-m37' of https://github.com/NeillM/moodle into MOODLE_37_STABLE 2019-10-17 23:09:10 +02:00
Andreas Grabs ba8bc23906 MDL-66009 mod_feedback: Nested dependency fails again 2019-10-17 09:19:49 +02:00
Brendan Heywood 9c1f81775e MDL-66927 cron: Process new adhoc tasks immediately 2019-10-16 20:29:45 +11:00
Eloy Lafuente (stronk7) c6e6c935af MDL-66919 behat: fix typo in error message
Also fix a couple of phpdocs that were incorrect.
2019-10-16 00:48:55 +02:00
Eloy Lafuente (stronk7) 474159da70 weekly release 3.7.2+ 2019-10-15 23:00:02 +02:00
Martin Gauk 9ccc9ec175 MDL-66915 assign: Notify only if grade was updated in past 24 hours
Send notifications only if a grade was updated in the past 24 hours,
whether marking workflow is enabled or not.
2019-10-15 17:03:33 +02:00
Tim Hunt 2903b1ae22 MDL-66796 question bank: fix more bugs with category editing 2019-10-15 10:55:19 +08:00
Jun Pataleta 5316b73d41 Merge branch 'MDL-66821_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-10-15 07:36:58 +08:00
Andrew Nicols 2669dd7963 Merge branch 'MDL-66335_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-10-15 07:31:17 +08:00
Eloy Lafuente (stronk7) 4705bff0e1 MDL-66335 behat: Avoid double processing the page type
resolve_page_instance_helper() already processes the type, returning
the correct context that should be processing the navigation URL.

With that extra call to parse_page_name() the 2nd call always returns
"core", ultimately leading to tons of behat failures because "core" is
not aware of those (plugin, quiz for now) pages typology.
2019-10-15 00:02:41 +02:00
Eloy Lafuente (stronk7) 19bd02eabd Merge branch 'MDL-66335_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-10-14 18:55:37 +02:00
Paul Holden 0701f2f08c MDL-63125 forms: allow item removal from single-select autocomplete. 2019-10-14 17:07:54 +01:00
Eloy Lafuente (stronk7) d18f809ec4 Merge branch 'MDL-66559-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-10-14 16:37:30 +02:00
Tim Hunt 87252eae2c MDL-66335 quiz behat: using the new generic navigation steps
This converts all the navigation to quiz pages when that is not
the thing under test. Also, I decided that the Quiz settings form
belonged to the course, so did not do that here.
2019-10-14 13:13:03 +01:00
Tim Hunt df143c2923 MDL-66335 behat: new step to log in and go straight to a particular page
I did not think thought through if this new URL parameter would be a
potential security hole. The simple cop-out option is to make it only
work on Behat sites for now.
2019-10-14 13:13:01 +01:00
Tim Hunt 621e8888e5 MDL-66335 behat: generic step for navigating direct to specific pages 2019-10-14 13:12:59 +01:00
Tim Hunt ff76a9d590 MDL-66821 question behat: new step for acting on questions in the bank
There is a proposed change MDL-66816 which will change the question
bank UI. This will break any Behat tests which uses low-level steps
like

    When I click on "Duplicate" "link" in the "Test question" "table_row"

to perform an action on a question in the question bank. This commit
introduces a new step:

    When I choose "Duplicate" action for "Test question" in the question bank

This commit also converts all core Behat tests to use the new step.
2019-10-14 11:55:56 +01:00
Sara Arjona a9a9fd455a Merge branch 'MDL-66836-m37' of https://github.com/sammarshallou/moodle into MOODLE_37_STABLE 2019-10-14 12:27:10 +02:00
Jake Dallimore 81bbf95756 Merge branch 'MDL-66659-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-10-14 15:33:38 +08:00
Andrew Nicols 30702cc0bd MDL-66559 behat: Register component selectors earlier 2019-10-14 14:24:05 +08:00
Andrew Nicols 5eb80c4af6 MDL-66559 behat: Update running suite 2019-10-14 14:17:47 +08:00
Jun Pataleta 1f19dc8237 Merge branch 'MDL-66796-37-fix' of https://github.com/snake/moodle into MOODLE_37_STABLE 2019-10-14 13:48:24 +08:00
Jake Dallimore ca42dbc0dd MDL-66796 mod_quiz: only update the id number if changed
If the idnumber is present in the DB, it's set to null. In this case,
don't update the value.
2019-10-14 13:40:05 +08:00
Jake Dallimore 04ed69e387 Merge branch 'MDL-66559-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-10-14 11:10:19 +08:00
Jake Dallimore b30c16ec86 Merge branch 'MDL-66796_37' of git://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-10-14 07:41:48 +08:00
Eloy Lafuente (stronk7) 532b7c9462 Merge branch 'MDL-66792-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-10-13 17:10:27 +02:00
Eloy Lafuente (stronk7) d09616d194 Merge branch 'MDL-66851-37' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-10-13 16:49:48 +02:00
Eloy Lafuente (stronk7) 6c06678c34 Merge branch 'MDL-65243-37' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-10-13 16:31:27 +02:00
Eloy Lafuente (stronk7) b089becae9 Merge branch 'MDL-65515-37' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-10-13 16:13:07 +02:00
Eloy Lafuente (stronk7) 703d8c2784 Merge branch 'MDL-66779-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-10-13 02:12:50 +02:00
Eloy Lafuente (stronk7) 2a7ae663c5 Merge branch 'MOODLE_37_MDL-66864' of https://github.com/golenkovm/moodle into MOODLE_37_STABLE 2019-10-13 02:08:44 +02:00
Eloy Lafuente (stronk7) b303604bf1 Merge branch 'MDL-65584-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-10-13 01:49:47 +02:00
Eloy Lafuente (stronk7) 9f0a5cf2f5 weekly release 3.7.2+ 2019-10-11 22:43:54 +02:00
Eloy Lafuente (stronk7) 75232c7d34 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-10-11 22:43:42 +02:00
Neill Magill 0e57a3dede MDL-64064 block_timeline: Confusing when event is not in this year
If an event is not in the current year it can be confusing as the
months and days may appear to be in the wrong order.

This change adds the year to the displayed date to make the reason
for the order clear.
2019-10-11 08:38:29 +01:00
Tim Hunt d9dc216897 MDL-66559 behat: Documentation for component selectors 2019-10-11 12:58:16 +08:00
Andrew Nicols 814f15a05d MDL-66559 message: Move behat selectors to message subsystem 2019-10-11 12:58:16 +08:00
Andrew Nicols 50cd119caa MDL-66559 behat: Allow per-component selectors and replacements 2019-10-11 12:58:16 +08:00
Jake Dallimore caaf2427a7 Merge branch 'MDL-66804-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-10-11 09:58:16 +08:00
AMOS bot 88c69c2dcf Automatically generated installer lang files 2019-10-11 00:11:35 +00:00
Eloy Lafuente (stronk7) 4398cdace0 Merge branch 'MDL-66815_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-10-11 00:50:42 +02:00
David Monllaó 519142291c MDL-66806 analytics: No predictions for hidden courses 2019-10-10 10:09:28 +08:00
AMOS bot 20b96798d7 Automatically generated installer lang files 2019-10-10 00:09:26 +00:00
sam marshall 3816bd8776 MDL-66836 Behat: Reset unknown config variables between scenarios
In the Behat CLI run (not in the individual web requests), if you
modified an existing $CFG variable then this would be reset at the
start of the next scenario. However, if you added a completely new
one, it would not be reset. This change removes those variables.
2019-10-09 17:49:24 +01:00
Jun Pataleta 760ffcd6bf Merge branch 'MDL-66835_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-10-09 20:44:36 +08:00
Jun Pataleta 76bd81c69c Merge branch 'MDL-66450-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-10-09 20:39:59 +08:00
Bas Brands 4a8e6db894 MDL-66450 themes: form autocomplete truncate listitems 2019-10-09 14:27:08 +02:00
Tim Hunt f5fbfb4d6b MDL-66835 behat: steps for setting/checking fields in containers 2019-10-09 13:24:56 +01:00
Sara Arjona 621f04de6a Merge branch 'MDL-66852-37' of github.com:lucaboesch/moodle into MOODLE_37_STABLE 2019-10-09 12:58:07 +02:00
Damyon Wiese 93d309cce2 MDL-65243 badges: Use real time api
Never add or subtract timestamps - use the time api to do it correctly.
2019-10-09 11:55:22 +08:00
Mihail Geshoski 53cc513636 MDL-65515 badges: Split install/upgrade
Use badges/upgradelib.php for functions that only affect install/upgrade.

All credit goes to Damyon Wiese.
2019-10-09 11:43:43 +08:00
Adrian Greeve bf4f5df33e Merge branch 'MDL-66011-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-10-09 10:51:29 +08:00
Andrew Nicols d784d3751c MDL-66779 phpunit: Correct component name for core_grades 2019-10-09 09:35:27 +08:00
Andrew Nicols 7ef7de84a2 Merge branch 'MDL-66118-37-byebyemoodlenet' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2019-10-09 08:51:21 +08:00
Luca Bösch 259bbd1960 MDL-66852 quiz: Style "Try another question like this one" button. 2019-10-08 11:27:22 +02:00
Eloy Lafuente (stronk7) 765579d021 weekly release 3.7.2+ 2019-10-08 10:43:35 +02:00
Eloy Lafuente (stronk7) a7e0f274f5 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-10-08 10:43:28 +02:00
Mihail Geshoski bdef5416c3 MDL-66851 block_starredcourses: Hide 'hidden' courses from students
Thanks to Mark Sharp for the bug report and fix suggestion.
2019-10-08 09:54:15 +08:00
AMOS bot ad35c1ca2f Automatically generated installer lang files 2019-10-08 00:10:05 +00:00
Paul Holden 958b331ada MDL-65584 blog: safer deletion of associations in privacy provider.
It's possible that the given context list contains no posts, which caused
an exception to be thrown when passing an empty array to get_in_or_equal.
2019-10-08 00:23:40 +01:00
Eloy Lafuente (stronk7) 470ba08790 Merge branch 'MDL-66801_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-10-08 01:16:36 +02:00
Eloy Lafuente (stronk7) 7ac967501b Merge branch 'MDL-66734-37' of https://github.com/snake/moodle into MOODLE_37_STABLE 2019-10-07 23:04:10 +02:00
Eloy Lafuente (stronk7) 4bb12ff74d Merge branch 'MDL-66764_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-10-07 22:51:11 +02:00
Eloy Lafuente (stronk7) 0ffb67352b Merge branch 'MDL-66750_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-10-07 22:00:13 +02:00
Adrian Greeve 713a5cdb97 Merge branch 'MOODLE_37-MDL-66794' of https://github.com/golenkovm/moodle into MOODLE_37_STABLE 2019-10-07 14:30:53 +08:00
Mikhail Golenkov bf61d3f2b7 MDL-66864 upgrade: Delete non-mutual contacts in chunks. 2019-10-07 16:28:16 +11:00
Marina Glancy f7ea6feec7 MDL-65187 core_hub: truncate registration request, use post 2019-10-07 11:46:31 +08:00
Marina Glancy b46eb4266d MDL-65187 core_hub: send more important info first to moodle.net
Rumor has it that some browsers may truncate the GET request to 2000 characters,
make sure that all important info is sent first
Everything else will be updated on the first registration update request.
2019-10-07 11:46:20 +08:00
David Mudrák e8bc91383d MDL-66118 hub: Remove the mentions of moodle.net
This is an update of the site registration admin page and some relevant
backend code to remove the mentions of moodle.net.

AMOS BEGIN
 CPY [registerwithmoodleorg,core_admin],[registerwithmoodleorg,core_hub]
AMOS END
2019-10-04 21:38:07 +02:00
David Mudrák 75bb4372ca MDL-66118 hub: Stop using the hub URL as the setting name suffix
Site indicators shared with the registration hub used to have the hub
URL in the relevant setting names - such as site_name_httpsmoodlenet.
This upgrade step converts all such settings and drops the URL suffix
because we do not support alternative hubs any more.

Additionally the upgrade step renames the official hub and updates its
URL so that existing registrations with https://moodle.net are still
valid.
2019-10-04 21:38:07 +02:00
David Mudrák 1d0dc3102a MDL-66118 hub: Define the new sites directory URL
The Moodle sites now register with stats.moodle.org so use that as a new
official hub's URL. Beside that, allow for the alternative value be
provided in config.php for development and testing purposes.
2019-10-04 21:34:53 +02:00
Eloy Lafuente (stronk7) 8b89ab5798 weekly release 3.7.2+ 2019-10-04 16:01:45 +02:00
Eloy Lafuente (stronk7) 67ccb85794 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-10-04 16:01:39 +02:00
Jun Pataleta 60e2e906f1 Merge branch 'MDL-65315-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-10-04 10:25:07 +08:00
Andrew Nicols aeccf1b188 MDL-66011 test: remove magic @covers lines 2019-10-04 09:40:50 +08:00
Andrew Nicols 512320cd6c MDL-66011 tests: Stop forcing coverage annoation 2019-10-04 09:40:50 +08:00
AMOS bot aefc7f7f70 Automatically generated installer lang files 2019-10-04 00:11:51 +00:00
Eloy Lafuente (stronk7) 2ab788bcf8 Merge branch 'MDL-56649-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-10-03 19:37:24 +02:00
Jun Pataleta 2ecdf811f3 Merge branch 'MDL-61450-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2019-10-03 15:42:08 +08:00
Jun Pataleta 8a6d5c8c88 MDL-61450 calendar: Unit test for calendar_view_event_allowed()
* Unit test for calendar_view_event_allowed() when dealing with course
events.
2019-10-03 15:39:17 +08:00
Simey Lameze 765ef31f00 MDL-61450 calendar: fix course event type permissions 2019-10-03 15:39:17 +08:00
Eloy Lafuente (stronk7) e011fc3dfb Merge branch 'MDL-66774-37-macedonia' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2019-10-03 00:58:25 +02:00
Eloy Lafuente (stronk7) b08e192757 Merge branch 'MDL-66197-37' of git://github.com/marinaglancy/moodle into MOODLE_37_STABLE 2019-10-03 00:45:42 +02:00
Eloy Lafuente (stronk7) a4ec901a4d Merge branch 'MDL-65957-37' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-10-02 16:49:39 +02:00
Mihail Geshoski a99105cc33 MDL-65957 repository_upload: Throw exception if @_file_upload is missing 2019-10-02 09:27:32 +08:00
Eloy Lafuente (stronk7) 8278f79219 Merge branch 'MDL-65335_37_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_37_STABLE 2019-10-01 23:22:32 +02:00
Tim Hunt 5fa3dccf4b MDL-66815 behat: question category generator must find right parent id
This is implemented in a bit of a hacky way, because the only other
alternative would be a large rewrite of the whole class, which is
not feasible for me right now. Note that many other types of thing
that can be generated suffer from the same issue. (E.g. if you ever
wanted to generate two groups with the same name in two different
courses and then add group memebers.)

It is worth doing a special-case fix for question categories, because
way Moodle works, it is inevitable that we end up with many categories
called 'top' in the database.
2019-10-01 16:48:15 +01:00
Eloy Lafuente (stronk7) b306a159de Merge branch 'MDL-65522-m37' of https://github.com/NeillM/moodle into MOODLE_37_STABLE 2019-10-01 16:10:34 +02:00
Eloy Lafuente (stronk7) 14d1be23c1 Merge branch 'MDL-66542_37' of https://github.com/t-schroeder/moodle into MOODLE_37_STABLE 2019-10-01 15:58:20 +02:00
Paul Holden 3f4935dfda MDL-66659 core: observe viewfullnames capability in flexible_table. 2019-10-01 10:15:15 +01:00
Jake Dallimore 3958f4a302 MDL-66734 core_comment: fix get_comment ordering when timestamps match
Include id in the sorting, to be sure that we always get the correct
record in cases where the comment timestamps are the same.
2019-10-01 09:18:56 +08:00
Paul Holden 3c7f5e8472 MDL-66792 tool_dataprivacy: correct fa classes in privacy registry. 2019-09-30 23:54:52 +01:00
Paul Holden 7db4bf3b34 MDL-66804 user: consistent user access times in privacy export. 2019-09-30 23:14:55 +01:00
Eloy Lafuente (stronk7) baa5130e0a Merge branch 'MDL-65876-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-10-01 00:07:41 +02:00
Tim Hunt 01d1ae9a5b MDL-66801 questions: XML import/export should include category idnumbers 2019-09-30 19:00:20 +01:00
Tim Hunt 1fa5fe2104 MDL-66796 question bank: 0 is a valid question category idnumber 2019-09-30 14:19:37 +01:00
Tim Schroeder c91312545d MDL-66542 lib: Fix quote escaping in JS quote helper 2019-09-30 10:17:59 +02:00
Neill Magill 68e8070295 MDL-65522 block_social_activities: Improve behat steps documentation
The documentation for these steps was not helpful in the Acceptance
testing admin tool page.
2019-09-30 08:58:51 +01:00
Mikhail Golenkov c2ba01fe9e MDL-66794 core_customfield: Reset Course handler after unit tests run. 2019-09-30 11:12:33 +10:00
Luca Bösch 6714c137c8 MDL-65876 forum: same arrows forum/activity navigation 2019-09-27 14:20:09 +02:00
Jun Pataleta 31f8f75672 weekly release 3.7.2+ 2019-09-27 11:12:23 +08:00
Jun Pataleta 8d268a8d04 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-09-27 11:12:22 +08:00
David Mudrák ac210ad583 MDL-66774 lang: Update the list of countries as per ISO 3166-1
Source: https://www.iso.org/obp/ui/

Two significant changes are:

* North Macedonia
* Eswatini

All other changes are formal, such as changing the letter case of the
"And" (the current ISO uses the lower case "and").  Our own existing
modifications of the list (such as having just "United States" and
"United Kingdom" instead of the full long name) were kept.
2019-09-26 10:44:56 +02:00
Jun Pataleta 29d555ab48 Merge branch 'MDL-66262_37' of git://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-09-26 11:34:39 +08:00
Eloy Lafuente (stronk7) 86fa1ca83d Merge branch 'MDL-66106-37' of https://github.com/snake/moodle into MOODLE_37_STABLE 2019-09-26 00:54:25 +02:00
Jake Dallimore 8a5783c2be MDL-66169 admin: properly set debugsmtp, which is a config.php only var
This may not be set, so care must be taken to conditionally reinstate
the value, once the test email has been sent.
2019-09-26 00:48:30 +02:00
Eloy Lafuente (stronk7) fc71bf1e4a Merge branch 'MDL-51327-37' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-09-26 00:04:53 +02:00
Eloy Lafuente (stronk7) 0845113531 Merge branch 'MDL-66685_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-09-25 23:57:55 +02:00
Eloy Lafuente (stronk7) c131927ae5 Merge branch 'MDL-66675-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-09-25 20:06:11 +02:00
Marina Glancy f1b71b0199 MDL-66197 core: correct get parent language 2019-09-25 17:41:53 +02:00
Bas Brands 952b0caf57 MDL-56649 themes: filepicker file exists buttons spacing 2019-09-25 12:20:39 +02:00
Tim Hunt 2366f12757 MDL-66764 quiz: redo question should not repeat random questions
Before this fix, it was only considering questions seen in previous attempts.

It should avoid the questions in the current attmept too.
2019-09-25 11:05:13 +01:00
Jun Pataleta 3135b6f694 Merge branch 'MDL-66354-37' of http://github.com/dravek/moodle into MOODLE_37_STABLE 2019-09-25 16:42:59 +08:00
David Matamoros 4be324b42a MDL-66354 core_calendar: Notices in error.log on calendar events 2019-09-25 09:11:32 +02:00
Jun Pataleta 2d887636e6 Merge branch 'MDL-66644-37-versionrequires' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2019-09-25 14:53:44 +08:00
Adrian Greeve 4e0b890955 Merge branch 'wip_MDL-66656_m37' of git://github.com/gjb2048/moodle into MOODLE_37_STABLE 2019-09-25 11:41:18 +08:00
Eloy Lafuente (stronk7) ee1fac1fd8 Merge branch 'MDL-65621-dimmed-courses-MOODLE_3.7' of https://github.com/stopfstedt/moodle into MOODLE_37_STABLE 2019-09-24 19:08:37 +02:00
David Monllaó 0a397e3fd2 MDL-66394 analytics: Extra GC during analysis
(backport of MDL-66234)
2019-09-24 14:08:24 +02:00
Mihail Geshoski f4397e3098 MDL-51327 core_course: Allow subdirs in edit section form 2019-09-24 09:08:54 +08:00
AMOS bot cc2932aefa Automatically generated installer lang files 2019-09-24 00:09:34 +00:00
Peter ce20bd7a73 MDL-65315 badges: Update the class and issuer OBv2.0 url 2019-09-24 07:59:18 +08:00
Tim Hunt f5f5bfbdf7 MDL-66750 formslib selects: handle size attribute properly 2019-09-23 12:15:08 +01:00
AMOS bot e3e8ee312b Automatically generated installer lang files 2019-09-22 00:09:19 +00:00
Gareth Barnard 5f2dd1bd50 MDL-66656 format_social: Edit Summary Icon leads to 'File not found'. 2019-09-20 21:46:43 +01:00
Sara Arjona 26c79027ff Merge branch 'MDL-46978-MOODLE_37_STABLE' of github.com:tuanngocnguyen/moodle into MOODLE_37_STABLE 2019-09-20 13:07:39 +02:00
Sara Arjona cfbcdc97e5 Merge branch 'MDL-66090_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-09-20 12:46:24 +02:00
Mark Johnson 6bdfddc463 MDL-65335 auth: Make oauth2 enabled check more efficient 2019-09-20 08:55:32 +01:00
Jake Dallimore 481d6f6387 Merge branch 'MDL-65970-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-09-20 14:28:36 +08:00
Jake Dallimore a174ed3736 MDL-66106 core_form: fix client side validation bug caused by MDL-65217
Forms with randomised ids need to support client side validation.
2019-09-20 09:04:37 +08:00
Sara Arjona eb77088991 weekly release 3.7.2+ 2019-09-19 21:19:19 +02:00
Stefan Topfstedt a9c3e2f95e MDL-66433 block_myoverview: tag courses as "hidden from students"
This is intended to visually separate hidden course from open courses in the course overview block
by applying a "Hidden from students" tag to the various views in this block.
To achive this, the course summary exporter's output must be augmented with a "visiblity" attribute,
carrying the given course's corresponding visibility setting.
Since the exporter now expects this data point as part of its input, the output of the course_get_recent_courses()
function had to also be augmented with the course visibility setting to provide this value.
2019-09-19 10:11:03 -07:00
Nathan Nguyen 9cab0bb465 MDL-46978 core_grades: preserve category total visibility 2019-09-19 14:11:16 +10:00
Andrew Nicols 53c04bafc2 MDL-66675 behat: Fix typo in step function name 2019-09-19 07:31:07 +08:00
Andrew Nicols 409b3bbd81 MDL-66675 behat: Add option to pause on behat failures 2019-09-19 07:31:06 +08:00
Andrew Nicols fcad36339a MDL-66675 CLI: Add ANSI formatting options 2019-09-19 07:31:06 +08:00
Eloy Lafuente (stronk7) 10892d50d2 Merge branch 'MDL-66548-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-09-19 01:01:46 +02:00
Eloy Lafuente (stronk7) 69aca65995 Merge branch 'MDL-66641_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-09-18 20:30:04 +02:00
Eloy Lafuente (stronk7) ec5aca167c Merge branch 'MDL-65878-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-09-18 20:07:59 +02:00
Luca Bösch 59cf70e977 MDL-65878 core_output: Move button not sticky to select field. 2019-09-18 19:11:37 +02:00
Eloy Lafuente (stronk7) 1c8d4b0bce Merge branch 'MDL-63895-37' of git://github.com/vmdef/moodle into MOODLE_37_STABLE 2019-09-18 17:33:26 +02:00
Sara Arjona ed401f9445 Merge branch 'MDL-66614_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-09-18 17:11:07 +02:00
Eloy Lafuente (stronk7) a80c888892 Merge branch 'MDL-66091_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-09-18 16:47:09 +02:00
Sara Arjona 6354c24aed Merge branch 'MDL-63293-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-09-18 13:40:01 +02:00
Sara Arjona 5d21bf1b16 Merge branch 'MDL-66156-37' of https://github.com/snake/moodle into MOODLE_37_STABLE 2019-09-18 12:25:48 +02:00
David Monllaó 4a3f3ee3e4 MDL-66091 report_insights: Unify contextwithinsights cache sets 2019-09-18 13:00:26 +08:00
David Monllaó b2d9aaa126 MDL-66091 analytics: Targets choose if there should be a report or not 2019-09-18 13:00:25 +08:00
David Monllaó 5e17f2faeb MDL-66091 report_insights: Usability improvements
- More feedback provided for the user once they click on useful/notuseful from the email.
- Replace the indicator calculations table headers for the table caption and
  replace the text by just "Indicators"
- Replace "System" for the site name for insights generated at system
  level
- Replace "$modelname prediction" for "$modelname" in report/insights/prediction.php
  heading

MDL-66091
2019-09-18 13:00:25 +08:00
Eloy Lafuente (stronk7) 92e745c293 Merge branch 'MDL-65026-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-09-18 01:01:42 +02:00
Juan Leyva f4670d9e85 MDL-65970 airnotifier: Set lower timeout for Push curl requests 2019-09-17 16:51:06 +02:00
Eloy Lafuente (stronk7) cc1968a042 Merge branch 'MDL-62915-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-09-17 16:21:57 +02:00
Sara Arjona 7e107b3a98 Merge branch 'MDL-66113-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-09-17 12:03:53 +02:00
David Monllaó 6c15dc2f3c MDL-66090 analytics: Support user for notifications 2019-09-17 07:54:22 +08:00
Eloy Lafuente (stronk7) 072c1ad68e Merge branch 'MDL-65025-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-09-17 00:06:03 +02:00
Paul Holden 0590e71eeb MDL-62915 tool_dataprivacy: don't let primary admin delete themselves. 2019-09-16 22:31:40 +01:00
Eloy Lafuente (stronk7) 3536e97dc8 Merge branch 'MDL-66293-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-09-16 20:37:08 +02:00
Bas Brands f5cb0ec042 MDL-66548 theme_classic: secure layout block position fixes
- the secure layout for theme classic used an icorrect layout for blocks
and content. A fix has been submitted by G J Barnard.
2019-09-16 16:03:50 +02:00
Tim Hunt 40ed8aa97a MDL-66685 questions: should able to save an empty question usage 2019-09-16 14:36:47 +01:00
Juan Leyva 309550be69 MDL-65026 course: Fix modules intro formatting in WS
The Web Service seems to be doing excessive text cleaning.
2019-09-16 13:04:06 +02:00
Juan Leyva 535caf12c6 MDL-66113 assign: Apply user overrides in get_submission_status WS 2019-09-16 12:06:18 +02:00
Paul Holden e4bb1b0d75 MDL-63293 enrol_manual: observe user paging config in enrol dialog. 2019-09-15 21:48:13 +01:00
Eloy Lafuente (stronk7) bd3ce90c13 MDL-66262 env: Moodle 3.6.x and 3.7.x do not support PHP 7.4 2019-09-13 17:43:52 +02:00
Jake Dallimore 1542213b00 weekly release 3.7.2+ 2019-09-13 11:30:20 +08:00
Jake Dallimore 6a838cd4a0 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-09-13 11:30:19 +08:00
Eloy Lafuente (stronk7) c0858f7068 Merge branch 'MDL-66550-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-09-12 15:31:44 +02:00
Andrew Nicols 1128545ebf MDL-66550 admin: The execute wrapper MUST be used in behat 2019-09-12 20:58:10 +08:00
Andrew Nicols 484606eb08 MDL-66550 theme: Wrap JS calls in pendingJS 2019-09-12 20:58:10 +08:00
Víctor Déniz Falcón 2d28f15a3a MDL-63895 user: Hide suspended enrolments to user without capability
Users without course:viewsuspendedusers capability should not view
suspended users on the participant list
2019-09-12 11:46:41 +01:00
Shamim Rezaie e6f2757f3c MDL-66293 javascript: set maximum paging bar size to 10 2019-09-12 14:22:13 +10:00
Shamim Rezaie f525ed2bdc MDL-66293 javascript: Added support to set bar size for paging bars 2019-09-12 14:22:13 +10:00
Jake Dallimore df991a4d53 MDL-66156 block_myoverview: remove orphaned course favourite records 2019-09-12 12:09:49 +08:00
Jake Dallimore d72a6fc04c MDL-66156 block_myoverview: purge course favourites on course deletion. 2019-09-12 11:47:50 +08:00
Andrew Nicols 83ecf18e34 Merge branch 'MDL-66498_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-09-12 11:16:44 +08:00
Jake Dallimore 49b92a4a70 Merge branch 'MDL-64917-MOODLE_37_STABLE' of https://github.com/tuanngocnguyen/moodle into MOODLE_37_STABLE 2019-09-12 09:28:13 +08:00
Nathan Nguyen d540a0ae0b MDL-64917 filepicker: change event dispatch 2019-09-12 11:01:19 +10:00
AMOS bot a2f1de61a0 Automatically generated installer lang files 2019-09-12 00:09:22 +00:00
Andrew Nicols ae89df663a Merge branch 'MDL-66489-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-09-12 07:06:43 +08:00
Shamim Rezaie ee8d64f6ef MDL-66489 enrol: Send all form data to WS and do all busines logic there
It is discouraged to use JS Date functions. We should pass all raw data to PHP.
2019-09-11 20:31:56 +10:00
Andrew Nicols 11ac4acdb1 Merge branch 'MDL-65429-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-09-11 14:22:46 +08:00
Jake Dallimore c3fbb0278b Merge branch 'MDL-65493-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-09-11 13:45:40 +08:00
David Monllaó 375c1b8e20 MDL-66498 analytics: get_samples() with no params limit 2019-09-11 12:44:38 +08:00
David Monllaó 868cd1eacb MDL-66498 analytics: Avoid get_in_or_equal for big arrays
Also, join directly with context table.
2019-09-11 12:44:38 +08:00
David Monllao 4996652352 MDL-66498 analytics: SQL IN in chunks 2019-09-11 12:44:38 +08:00
Andrew Nicols 3857644a5c Merge branch 'MDL-66328_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-09-11 12:21:33 +08:00
Jake Dallimore eb8ecb04b6 Merge branch 'MDL-66550-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-09-11 10:39:57 +08:00
Eloy Lafuente (stronk7) 8e6fdc1cdb Merge branch 'MDL-66436-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-09-11 01:21:49 +02:00
Eloy Lafuente (stronk7) 733a5b75e9 Merge branch 'MDL-65310-37' of https://github.com/tsmilan/moodle into MOODLE_37_STABLE 2019-09-11 00:44:39 +02:00
David Mudrák af58905893 MDL-66644 admin: Display required moodle version only when declared
The minimum required Moodle version specified in the plugin's
version.php file is not a mandatory field. If it is not declared, do not
display "Moodle {$a}".
2019-09-10 17:40:07 +02:00
Andrew Nicols af0fd8128f MDL-66550 forum: Target fields in a fieldset for behat test 2019-09-10 21:29:03 +08:00
Andrew Nicols b559117706 MDL-66550 behat: Transform fields to search in a fieldset 2019-09-10 21:29:03 +08:00
Andrew Nicols 4e6831d51c MDL-66550 behat: Standardise finding in core functionality 2019-09-10 21:29:03 +08:00
Andrew Nicols e60183e163 MDL-66550 behat: Add ability to transform a specific selector 2019-09-10 21:29:00 +08:00
Andrew Nicols 59b30e3dae MDL-66550 behat: Normalise selectors better 2019-09-10 21:28:47 +08:00
Tim Hunt 87cc8008f4 MDL-66641 quiz stats: discriminativeefficiency is already out of 100 2019-09-10 12:12:00 +01:00
Jake Dallimore 35a8f83e2c Merge branch 'MDL-66409-edit-numerical/moodle37' of https://github.com/RaAstons/moodle into MOODLE_37_STABLE 2019-09-10 13:35:00 +08:00
Andrew Nicols a31372df3f Merge branch 'MDL-63250-37' of https://github.com/Kathrin84/moodle into MOODLE_37_STABLE 2019-09-10 12:40:41 +08:00
Jake Dallimore 252cc45466 Merge branch 'MDL-66599_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-09-10 10:47:00 +08:00
Tim Hunt b652d2afc7 MDL-66328 groups: overview page can require lots of memory 2019-09-09 11:20:00 +01:00
Raphaël Santos 070453243b MDL-66409 mod_lesson: Fix editing of numerical pages
This avoids using the "magic" `isset` function implemented
within the lesson_base class (which returns the `empty` function).
In the case of the answer beeing `0`, the test fails and the answer
is considered to be deleted.
2019-09-09 09:43:32 +02:00
David Monllaó 991a4c0fd1 MDL-66599 analytics: New index for analytics_used_analysables 2019-09-09 08:32:51 +08:00
Jake Dallimore 6a30269d98 Moodle release 3.7.2 2019-09-06 11:50:45 +08:00
Trisha Milan 8faaa5da65 MDL-65310 block_timeline: Hide activities without due date 2019-09-06 13:48:24 +10:00
Andrew Nicols f6dd23d9a2 MDL-65493 core: Add pendingJS around pubsub.publish 2019-09-06 08:40:56 +08:00
Andrew Nicols b82faf7eda MDL-65493 message: The execute wrapper MUST be used 2019-09-06 08:40:56 +08:00
Andrew Nicols 191c5c293a MDL-65493 message: JS fixes for random behat fails 2019-09-06 08:40:56 +08:00
Luca Bösch 8d2bae85ed MDL-66436 glossary: Edit and delete categories form styles. 2019-09-05 18:02:28 +02:00
Eloy Lafuente (stronk7) e064cef324 weekly release 3.7.1+ 2019-09-05 17:14:43 +02:00
Eloy Lafuente (stronk7) eca36ffd7c Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-09-05 17:14:41 +02:00
Andrew Nicols 4f32de51a9 MDL-66614 pgsql DML: Update get_records_sql to consume less memory
This is a backport of MDL-66327.

It's more memory efficient to use `pg_fetch_assoc` for each row than to
call `pg_fetch_all` and release memory immediately. This is because we
can treat the assoc fetch like an iterator and it only fetches the
current record into memory one at a time, whilst the all fetch fetches
all records and never unsets them. Attempting to unset them is extremely
time consuming.
2019-09-05 16:01:44 +01:00
Jake Dallimore 5f115af823 Merge branch 'MDL-56223-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2019-09-05 17:20:28 +08:00
Simey Lameze 474a338a97 MDL-56223 calendar: fix wrong create_calendar_events WS phpdoc 2019-09-05 17:16:06 +08:00
Simey Lameze 7bbc73ce0c MDL-56223 calendar: show the number of deleted events 2019-09-05 17:16:05 +08:00
Simey Lameze cb5145334d MDL-56223 calendar: skip events updating if nothing has changed 2019-09-05 17:16:05 +08:00
Jake Dallimore 5a552ad6f3 Merge branch 'MDL-66551-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2019-09-05 11:15:16 +08:00
Simey Lameze 5c1115ba0b MDL-66551 core_user: remove orphaned calendar subscriptions 2019-09-05 11:07:47 +08:00
Simey Lameze 7ec6835728 MDL-66551 core_user: delete_user() should remove users calendar subs 2019-09-05 10:52:10 +08:00
Andrew Nicols e567e64d12 Merge branch 'MDL-66391-37' of https://bitbucket.org/isprynt/moodle into MOODLE_37_STABLE 2019-09-05 09:59:28 +08:00
Eloy Lafuente (stronk7) bade4a18e5 Merge branch 'MDL-66072-37-2' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-09-05 02:48:17 +02:00
Eloy Lafuente (stronk7) 49ab08f771 Merge branch 'MDL-66560-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-09-05 02:17:37 +02:00
AMOS bot 3923a219bd Automatically generated installer lang files 2019-09-05 00:11:58 +00:00
Segun Babalola 750ec445bd MDL-66391 core_course: Fix to send correct Ajax parameter for userid 2019-09-04 12:26:11 +01:00
Andrew Nicols 1dfd080f54 Merge branch 'MDL-66137-37_mod_assign_marking_workflow_incorrect_grade_display' of https://github.com/tomdickman/moodle into MOODLE_37_STABLE 2019-09-04 13:47:50 +08:00
Tom Dickman 3c239a6a11 MDL-66137 mod_assign: fixed marking workflow incorrect grade display
Aligned logic between quick grading changes and set marking workflow state changes to accurately
finalise or remove final grade from the gradebook, depending on the marking workflow state if
being used.
2019-09-04 15:23:09 +10:00
Andrew Nicols 4da24e858c Merge branch 'MDL-66554-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-09-04 12:39:29 +08:00
Andrew Nicols 4d4a8423b0 Merge branch 'MDL-66500-37-unoconvwarning' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2019-09-04 12:14:23 +08:00
Ryan Wyllie b937159eed MDL-62284 javascript: prevent nested JS mustache handler calls
Prevent the JS mustache helper from being executed from within
the render call of another mustache helper because it can allow
users to inject JS into the page.
2019-09-04 11:23:35 +08:00
Ryan Wyllie 0c4d9eff86 MDL-62284 output: prevent nested JS mustache handler calls
Prevent the JS mustache helper from being executed from within
the render call of another mustache helper because it can allow
users to inject JS into the page.
2019-09-04 11:23:35 +08:00
Jake Dallimore 25f23432f3 Merge branch 'MDL-66265-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-09-04 11:06:42 +08:00
Andrew Nicols 3a0efca438 MDL-66265 javascript: More specific overrides in eslintrc 2019-09-04 10:48:57 +08:00
Eloy Lafuente (stronk7) 1124ceea9a Merge branch 'MDL-66265-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-09-04 02:12:52 +02:00
AMOS bot e5cddc8c7e Automatically generated installer lang files 2019-09-04 00:11:10 +00:00
Eloy Lafuente (stronk7) 1f6ca1e497 Merge branch 'MDL-66532-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-09-04 02:01:15 +02:00
Peter 332da1d527 MDL-66072 core: Remove ancillary sharing functions and code 2019-09-04 07:34:06 +08:00
Peter 645beae25f MDL-66072 core: Remove course sharing and related capabilities 2019-09-04 07:33:33 +08:00
Andrew Nicols 1831e2b2fc MDL-66265 javascript: Add jshint ignore for ES6 files in root dir 2019-09-04 06:52:07 +08:00
Andrew Nicols ca88210f3f MDL-66265 javascript: Add basic jshint ignores 2019-09-04 06:50:55 +08:00
Andrew Nicols 05582654f2 MDL-66265 javascript: Bump jshint version 2019-09-04 06:50:55 +08:00
Andrew Nicols c5f693dede MDL-66532 javascript: Lock NPM version for NVM 2019-09-04 06:50:55 +08:00
Andrew Nicols 7f9d364fd2 MDL-66532 javascript: Lock NPM version for NVM 2019-09-04 06:45:51 +08:00
Eloy Lafuente (stronk7) b1f0f049d0 Merge branch 'MDL-63315-m37' of https://github.com/sammarshallou/moodle into MOODLE_37_STABLE 2019-09-04 00:15:07 +02:00
Eloy Lafuente (stronk7) 0ac06b7216 Merge branch 'MDL-66120-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-09-03 12:13:36 +02:00
Andrew Nicols 499dfeff2a Merge branch 'MDL-66434-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-09-03 12:41:11 +08:00
Andrew Nicols 59d7f7f2cb Merge branch 'MDL-62161-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-09-03 11:50:17 +08:00
Andrew Nicols 57e38ad969 Merge branch 'MDL-65042-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-09-03 09:29:24 +08:00
AMOS bot 54a8fef92f Automatically generated installer lang files 2019-09-03 00:11:33 +00:00
Eloy Lafuente (stronk7) cdbe521e62 Merge branch 'MDL-66457-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-09-03 00:54:54 +02:00
sam marshall 8571a061e7 MDL-63315 DB: Postgres - Clear cursors in persistent connection
If there is a PHP fatal error and destructors do not run (this can
happen in out-of-memory errors, and maybe if there is an error in a
previous destructor) then Postgres cursors may be left open.

Usually this does not cause a problem because the connection is
closed anyway, but if using persistent connections, a future
request may reuse the connection with a cursor open. It then gets
errors when it tries to create a new cursor with the same name.

This change closes all cursors at the start of a persistent
connection.
2019-09-02 14:10:05 +01:00
Peter 19069c7f28 MDL-66120 block_community: Disable community block and related caps
Disable community block access
2019-09-02 15:51:52 +08:00
Juan Leyva 18b42d9835 MDL-66501 tool_mobile: Prevent URLs in custom scheme 2019-09-02 15:29:27 +08:00
Jun Pataleta ebd3da32b5 MDL-66187 format_singleactivity: Make sure available types is not empty 2019-09-02 05:07:37 +02:00
Andrew Nicols b70e27f531 MDL-66187 course: Respect :addinstance in single activity format 2019-09-02 05:07:37 +02:00
Simey Lameze bd7217b3d8 MDL-65749 lib: fix phpmailer file handling 2019-09-02 05:07:37 +02:00
Andrew Nicols d99d036b44 MDL-66181 course: Only assign roles that the user is allowed to assign 2019-09-02 05:07:37 +02:00
Andrew Nicols 858f188c0f MDL-66181 behat: You check checkboxes, not click them 2019-09-02 05:07:37 +02:00
Michael Hawkins d31f12bcbd MDL-55451 mod_forum: Limit subscription redirect to internal URLs 2019-09-02 05:07:37 +02:00
David Monllaó b7f8d08706 MDL-66069 mlbackend_python: Bump to a new version of the package 2019-09-02 05:07:37 +02:00
Andrew Nicols ee4a93267f Merge branch 'MDL-66472-37' of https://github.com/Dagefoerde/moodle into MOODLE_37_STABLE 2019-09-02 11:03:00 +08:00
Andrew Nicols da7d965e01 Merge branch 'MDL-33087-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-09-02 10:48:05 +08:00
David Mudrák 5e52542b1e MDL-66504 lang: Use the new strings in the Behat scenario 2019-09-01 12:34:53 +02:00
Helen Foster 767b4df9c3 MDL-66504 lang: Import fixed English strings (en_fix)
Significant string changes:

- mobilenotificationsdisabledwarning,tool_mobile - location corrected
- statsreport14,core - 'views/posts' corrected to 'posts/views'
- err_nousers,core_completion - explanation of who completion
- information is displayed for errorcourselisting,block_community - note
  about sunsetting moodle.net
2019-09-01 12:34:25 +02:00
Paul Holden 10539bfad8 MDL-62161 user: preserve all selected users between searches. 2019-08-30 14:37:20 +01:00
Paul Holden 69f5ad8f36 MDL-33087 tool_capability: correct role override link. 2019-08-30 14:34:34 +01:00
Luca Bösch 8d650c02c4 MDL-66560 import: Format course search UI elements. 2019-08-30 11:32:16 +02:00
Andrew Nicols e971f11251 MDL-66457 behat: simplify selector search 2019-08-30 15:13:07 +08:00
Luca Bösch 1ca2f014bb MDL-66434 mod_data: Align 'Field description' field as all other fields. 2019-08-30 07:57:30 +02:00
Jake Dallimore f3c2624fbc weekly release 3.7.1+ 2019-08-30 13:12:12 +08:00
Jake Dallimore 543191e0dc Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-08-30 13:12:11 +08:00
Peter 341c68c779 MDL-65429 mod_forum: Indicate subs fetch completion with no subs
Unit tests updated to make sure only a single query is executed after
multiple reads
2019-08-30 09:08:29 +08:00
Juan Leyva ecf1a221dc MDL-66554 mod_scorm: Set module viewed in WS 2019-08-29 20:46:11 +01:00
Jake Dallimore 2a1ef8b3a7 Merge branch 'MDL-66139_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-08-29 11:51:42 +08:00
Netica Informática 77399dd147 MDL-66139 cachestore_redis: Fix connection problems when port is not set
Due to some changes in Redis 5 php extension Moodle fails to connect via TCP when
no port is set. It's fixed upstream in phpredis repo (version 5.0.0, 5.0.1 and
5.0.2 affected so far), but with this patch we'll send the right port anyway.
2019-08-28 20:58:46 +02:00
Eloy Lafuente (stronk7) 48aad65284 Merge branch 'MOODLE_37_STABLE_MDL-65116' of https://github.com/yao9394/moodle into MOODLE_37_STABLE 2019-08-28 16:40:08 +02:00
Adrian Greeve a5eac2bf95 Merge branch 'MDL-66230-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-08-28 14:55:55 +08:00
Pau Ferrer Ocaña 15ebf11b5e MDL-66458 forum: Fix noviewdiscussionspermission string 2019-08-28 11:27:01 +08:00
Adrian Greeve f0c559d33b Merge branch 'MDL-66461-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-08-28 11:17:09 +08:00
Adrian Greeve 8da3995f30 Merge branch 'MDL-66468-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-08-28 08:56:30 +08:00
AMOS bot 903f4721c9 Automatically generated installer lang files 2019-08-28 00:10:47 +00:00
Adrian Greeve 810e115d6f Merge branch 'MDL-65653-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-08-27 15:09:07 +08:00
Eloy Lafuente (stronk7) 3b7968954c MDL-66184 core: Update composer to apply for php 7.1.0 as min
With behat extension v3.37.2 we started requiring php 7.1.0
(same requirement than core 3.7.x). This bumps all the components
in the lock file to suit that requirement.

Generated with php 7.1.x.
2019-08-27 00:37:45 +02:00
David Mudrák 15847cecbf MDL-66500 lang: Do not mark unoconvwarning as deprecated
It has been deprecated by mistake.
2019-08-26 21:29:16 +02:00
Eloy Lafuente (stronk7) 4e41fc8b18 Merge branch 'MDL-66309-m37' of https://github.com/sammarshallou/moodle into MOODLE_37_STABLE 2019-08-26 20:23:13 +02:00
Eloy Lafuente (stronk7) c4e65af6f3 Merge branch 'MDL-66312-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-08-26 19:40:27 +02:00
Jan Dageförde 5ab6beeb50 MDL-66472 forms: Fix regression autocomplete not closing 2019-08-26 17:58:05 +02:00
Eloy Lafuente (stronk7) 684d142401 weekly release 3.7.1+ 2019-08-23 19:16:34 +02:00
Jun Pataleta 78d57d0ae7 Merge branch 'MDL-66483_37' of git://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-08-23 20:15:16 +08:00
sam marshall df8633b8d0 MDL-66309 block_recentlyaccesseditems: Improve upgrade performance 2019-08-23 11:35:35 +01:00
Eloy Lafuente (stronk7) a22c821033 MDL-66483 lib: remove recent xmlize dep on setuplib/CFG
This removes the dependency added by MDL-66110 (aiming to fix
a CI job). So we keep things as they were and will fix the
CI job separately.
2019-08-23 11:30:50 +02:00
Adrian Greeve e3bd18d3d7 weekly release 3.7.1+ 2019-08-23 12:55:36 +08:00
Adrian Greeve 9856202e71 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-08-23 12:55:28 +08:00
John Yao c5892e5e37 MDL-65116 mod_assign : Assignment due date does not update for groups
This commit fixes the assignment due date not showing correctly according to groups selected by users who can view grades
2019-08-23 13:11:36 +10:00
Jun Pataleta 9c0aa6e6d0 Merge branch 'MDL-66110-37-fix' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2019-08-23 10:21:25 +08:00
Jun Pataleta 97a6abc12f MDL-66110 core: Require setuplib.php once as it's required by xmlize.php 2019-08-23 10:16:08 +08:00
Juan Leyva 7cea622409 MDL-66468 file: Return text content when using IGNORE_FILE_MERGE 2019-08-22 13:11:58 +01:00
Jun Pataleta 085d6e79e1 Merge branch 'MDL-66110-37-fix' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2019-08-22 16:26:07 +08:00
Jun Pataleta ddc3699107 MDL-66110 dml: Undo table name fix when table name's used as parameter 2019-08-22 16:17:55 +08:00
Ryan Wyllie a0d8aefacf MDL-66110 dml: use fix_table_name for all mysql table names
Changed all of the places that were manually prefixing the table
name to instead fix the table name with the fix_table_name
function.
2019-08-22 16:17:55 +08:00
Adrian Greeve 3017d2bab8 Merge branch 'MDL-66378-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-08-22 09:29:33 +08:00
Andrew Nicols 93c5807711 MDL-66378 behat: Increase window size for rubric tests 2019-08-22 07:55:59 +08:00
Andrew Nicols 5bc2cb3c0e MDL-66378 behat: Change screen size to small to work around UI bugs 2019-08-22 07:55:59 +08:00
Jun Pataleta caca47f50a Merge branch 'MDL-66336_37_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_37_STABLE 2019-08-21 22:41:30 +08:00
Juan Leyva cf24975d2e MDL-66461 forum: Use correct component for forum strings 2019-08-21 13:22:08 +01:00
Juan Leyva da048e60db MDL-66461 forum: Use correct notification class 2019-08-21 13:22:08 +01:00
Jun Pataleta fc0bb48542 Merge branch 'MDL-66241_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-08-21 19:51:56 +08:00
Jun Pataleta 9234d79fd1 Merge branch 'MDL-66210_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-08-21 19:48:00 +08:00
Jun Pataleta 7971d7270c Merge branch 'MDL-65993_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-08-21 19:31:54 +08:00
Adrian Greeve 5ca6cce026 Merge branch 'MDL-65443-m37' of https://github.com/NeillM/moodle into MOODLE_37_STABLE 2019-08-21 16:38:49 +08:00
Neill Magill 8b0bf17160 MDL-65443 core: Improve class descriptions for locking events 2019-08-21 09:03:25 +01:00
Jun Pataleta e65777fd22 Merge branch 'MDL-66110-37' of https://github.com/ryanwyllie/moodle into MOODLE_37_STABLE 2019-08-21 09:57:33 +08:00
Adrian Greeve f6735cb3e0 Merge branch 'MDL-66378-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-08-21 09:01:21 +08:00
Andrew Nicols 3c3a806f6b MDL-66378 behat: Correct grammar of resize step 2019-08-21 08:39:51 +08:00
Andrew Nicols bf52d11f1e MDL-66378 grade: Set window size to large for rubric tests 2019-08-21 08:39:28 +08:00
Andrew Nicols 1a11bf4706 MDL-66378 behat: All args are required for document.evaluate 2019-08-21 08:24:08 +08:00
AMOS bot da428650cd Automatically generated installer lang files 2019-08-21 00:11:16 +00:00
Adrian Greeve de186ff27f Merge branch 'MDL-65972-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-08-20 16:51:13 +08:00
Neill Magill 3aa7b0df78 MDL-65443 core: Log when a context is locked or unlocked 2019-08-20 08:57:04 +01:00
Jun Pataleta d329ada4b9 Merge branch 'MDL-64437-37' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-08-20 14:19:27 +08:00
Adrian Greeve 77d0435c3e Merge branch 'MDL-66378-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-08-20 14:07:42 +08:00
Jun Pataleta d64f8235fe Merge branch 'MDL-65507-37' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-08-20 11:57:20 +08:00
Adrian Greeve 3ebe724736 Merge branch 'MDL-65083-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-08-20 10:04:56 +08:00
Adrian Greeve 4f41f8407d Merge branch 'MDL-65561-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-08-20 09:37:18 +08:00
AMOS bot a95b434f3e Automatically generated installer lang files 2019-08-20 00:10:43 +00:00
Adrian Greeve 827473833d Merge branch 'MDL-65604-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-08-19 16:28:04 +08:00
Bas Brands 84720307c3 MDL-65972 course: add a bigger margin above the activity navigation
* this will help making it easier to distinguish between form and
activity navigation
2019-08-19 08:29:01 +02:00
Bas Brands d70fb8fefe MDL-65561 themes: user date filters display fixes 2019-08-19 08:24:38 +02:00
Bas Brands 559b686e5b MDL-65083 theme_boost: update uses of pull-xs-right 2019-08-19 08:19:49 +02:00
Adrian Greeve dda635074d Merge branch 'MDL-65886-MOODLE-37' of https://github.com/kristian-94/moodle into MOODLE_37_STABLE 2019-08-19 14:18:29 +08:00
Mihail Geshoski 0ada61fdcf MDL-64437 assignment: Fix element overlaping in low screen resolution 2019-08-19 13:31:29 +08:00
Mihail Geshoski dbc5a45cc6 MDL-65507 mod_data: Remove unnecessary record created event 2019-08-19 13:27:14 +08:00
Andrew Nicols 8356ee9462 MDL-66378 competency: Add pending promises to competency chooser 2019-08-19 08:16:41 +08:00
Andrew Nicols 710ec0e546 MDL-66378 behat: JS does not work with newlines in an xpath 2019-08-19 08:16:40 +08:00
Andrew Nicols 3c3f5965d3 MDL-66378 behat: Fix use of before/after selectors 2019-08-19 08:16:40 +08:00
Andrew Nicols 6f2760071c MDL-66378 behat: Backport expand autocomplete step 2019-08-17 16:19:48 +08:00
Andrew Nicols 9c3d4683a4 MDL-66378 behat: Add partial named selector for whole autocomplete field 2019-08-17 11:44:48 +08:00
Andrew Nicols dcb7cfd384 MDL-66378 behat: Before/after detection should be constrainable
The default before/after detection checks the entire body. Any match of
the text will therefore be found.

Add support for specification of a container for the nodes.
2019-08-17 11:44:48 +08:00
Andrew Nicols 0fbabd85c6 MDL-66378 behat: Add non-JS fallback for before/after 2019-08-17 11:44:48 +08:00
sam marshall 96482ded5e MDL-66378 Behat: Speed up 'before/after' step in Chrome
On some Chrome versions the xpath used for before/after is slow
and (sometimes) uses a lot of memory. This change uses pure
JavaScript to do the before/after calculation, which should always
be fast.
2019-08-17 11:44:48 +08:00
Andrew Nicols 1cb4d36126 MDL-66378 behat: Correct invalid uses of selection from dropdown 2019-08-17 11:44:48 +08:00
Andrew Nicols 7ae0f78bf2 MDL-66378 report_participation: Correct label for target 2019-08-17 11:44:48 +08:00
Andrew Nicols f214adb270 MDL-66378 gradereport_singleview: Add missing label for dropdown 2019-08-17 11:44:48 +08:00
Juan Leyva 613e3038f8 MDL-65042 rating: Fix incorrect image generated for user in rating 2019-08-16 15:41:44 +01:00
Juan Leyva d2154bafdb MDL-65025 forum: Fix text formatting (check messagetrust) in WS 2019-08-16 12:59:05 +01:00
Mark Johnson 7f45491d4d MDL-66336 courses: Show an error when no course categories are visible 2019-08-16 08:25:42 +01:00
Kristian Ringer 2f39bfc7d8 MDL-65886 assign: Reset numfiles to 0 when removing a file submission 2019-08-16 15:03:59 +10:00
Andrew Nicols 09979fde33 MDL-66378 behat: Update screen sizes to Y2K standards 2019-08-16 11:43:57 +08:00
Andrew Nicols 4fbeed480a MDL-66378 behat: Update dependencies for chrome webdriver fix 2019-08-16 11:43:01 +08:00
Andrew Nicols 39f22c5f7d MDL-66312 js: Autocomplete promises were inside out
The pending promise should nott be resolved until the changes are
complete.
Previously the resolution of the pendingPromise was triggering the other
changes.
2019-08-16 11:40:15 +08:00
Andrew Nicols 5a0c850e50 weekly release 3.7.1+ 2019-08-16 11:07:05 +08:00
Andrew Nicols a408e168cc Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-08-16 11:07:02 +08:00
Juan Leyva bb5b12d936 MDL-65653 book: Display hidden chapters in the structure content 2019-08-15 14:02:30 +01:00
Mihail Geshoski 091faeeb09 MDL-65653 book: Update unit tests 2019-08-15 14:02:30 +01:00
Mihail Geshoski 6c00f683db MDL-65653 book: Display hidden chapters in WS when user has capability 2019-08-15 14:02:30 +01:00
Andrew Nicols 30f719c44c Merge branch 'MDL-35939-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-08-15 12:03:48 +08:00
Jun Pataleta 1893b39bfc Merge branch 'm37_MDL-66140_Mitigate_PECL_Solr_issue_Ref_72740' of https://github.com/scara/moodle into MOODLE_37_STABLE 2019-08-15 11:17:40 +08:00
Shamim Rezaie 102579cf75 MDL-35939 mod_quiz: use descriptive titles for pages 2019-08-15 12:23:03 +10:00
Shamim Rezaie 38629d7f32 MDL-35939 mod_quiz: phpdoc fix 2019-08-15 12:23:03 +10:00
Shamim Rezaie df5bca4acc MDL-35939 mod_quiz: new functions to generate title for attempt pages 2019-08-15 12:22:58 +10:00
AMOS bot 7db7c8e953 Automatically generated installer lang files 2019-08-15 00:12:53 +00:00
Jun Pataleta a77c92bb9c Merge branch 'MDL-65925-grade-page-broken-for-deleted-submission-MOODLE_37_STABLE' of https://github.com/ilya-catalyst/moodle into MOODLE_37_STABLE 2019-08-14 15:28:01 +08:00
David Monllaó 2850311ace MDL-66210 analytics: Unit test for reuseprevanalysed 2019-08-14 14:31:59 +08:00
David Monllaó 8e09ae50b0 MDL-66210 analytics: Update references to ->options 2019-08-14 14:31:59 +08:00
David Monllaó 6ac4aa49aa MDL-65993 analytics: Fix --filter option for by_course models 2019-08-14 14:30:25 +08:00
David Monllaó a639cddc39 MDL-66241 analytics: Verify that activities_due works on at-risk 2019-08-14 14:29:20 +08:00
David Monllaó 4f910adaea MDL-66241 analytics: activities_due compatible with at-risk models 2019-08-14 14:29:20 +08:00
Andrew Nicols 9cb87ef480 Merge branch 'patch-2' of https://github.com/aspark21/moodle into MOODLE_37_STABLE 2019-08-14 11:37:09 +08:00
Adrian Greeve 7cdba7e644 Merge branch 'MDL-52849-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-08-14 09:07:24 +08:00
Jun Pataleta 5e0c8cfd32 Merge branch 'MDL-62034-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-08-13 14:20:35 +08:00
Andrew Nicols 0566565254 MDL-62034 assign: Add hint for user tour reset 2019-08-13 14:12:56 +08:00
Ryan Wyllie 5068a6ccef MDL-66110 dml: Fix MySQL v8 compatibility with groups table
MySQL v8 has added "groups" to the reserved word list. That is used
as a table name in Moodle so we have to quote it with backticks in the
SQL so that MySQL knows it's being used as an identifier.
2019-08-13 11:15:38 +08:00
Jun Pataleta c98cd8ccc8 Merge branch 'MDL-66104_37' of git://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-08-12 14:51:52 +08:00
Peter 21010ab799 MDL-52849 core: Focus reader onto popup with ajax errors 2019-08-12 10:52:31 +08:00
Ilya Tregubov 91c036db6f MDL-65925 assign: Grade page broken if submission was deleted. 2019-08-12 09:28:12 +10:00
Matteo Scaramuccia e3d9c87993 MDL-66140 search: Mitigate PECL solr extension regression
Refs:
- https://bugs.php.net/bug.php?id=72740
- https://bugs.php.net/bug.php?id=75631
- https://github.com/php/pecl-search_engine-solr/pull/16
2019-08-11 20:06:01 +02:00
Andrew Nicols 02afdd58e8 MDL-65604 repository: Kill off missing param errors
The file picker template included an img with a src of "#". When the
template was loaded into the modal, the browser fetches the img src, but
it's immediately removed as that section is only used as an in-place
template. The src tag does not need to be present.
2019-08-11 14:52:55 +08:00
AMOS bot 59d22708dc Automatically generated installer lang files 2019-08-10 00:11:18 +00:00
Jun Pataleta 79bd60bff7 weekly release 3.7.1+ 2019-08-09 16:24:07 +08:00
Jun Pataleta 03667bad20 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-08-09 16:24:05 +08:00
Jun Pataleta d92b3f2abb Merge branch 'MDL-65679-37-fix' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-08-09 11:39:24 +08:00
Andrew Nicols d798b75928 MDL-65679 assignfeedback_editpdf: Adjust z-indexes for editpdf 2019-08-09 08:34:15 +08:00
Victor Deniz Falcon 1e364a4f9a MDL-66272 core_renderer: fix favicon method PHPDoc 2019-08-08 12:44:55 +08:00
Amaia Anabitarte f3732b7838 MDL-60636 behat: Fixing modified xpath 2019-08-08 11:58:10 +08:00
Andrew Nicols 5d85b4a272 Merge branch 'MDL-65595-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-08-08 10:28:30 +08:00
Jun Pataleta 12bd0d77d1 Merge branch 'MDL-57239_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-08-08 08:48:55 +08:00
Andrew Nicols 01f6eaed9b Merge branch 'MDL-66039-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-08-07 15:32:54 +08:00
Jun Pataleta 87fa24daaf Merge branch 'MDL-56789-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-08-07 14:01:25 +08:00
Shamim Rezaie db51a593bb MDL-56789 core: Improve unit tests 2019-08-07 15:32:34 +10:00
Shamim Rezaie 3ba7f31c15 MDL-56789 core: Recycle bin warn only if a grade item is being deleted 2019-08-07 15:30:05 +10:00
Sara Arjona 2666fb1069 Merge branch 'MDL-63198-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-08-07 11:08:01 +08:00
Sara Arjona d3ca2c25e5 Merge branch 'MDL-60636-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-08-07 10:00:55 +08:00
Alistair Spark 4b530e5af8 MDL-66071 user: username is required with non-internal auth method 2019-08-07 01:01:27 +02:00
Sara Arjona e3bf98b8ed Merge branch 'MDL-64598-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-08-06 15:30:08 +08:00
Sara Arjona c316d854e9 Merge branch 'MDL-65786-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-08-06 14:19:33 +08:00
Andrew Nicols ea72ffc95c Merge branch 'MDL-65679-37' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-08-06 13:17:57 +08:00
Andrew Nicols b0d81fce7b Merge branch 'MDL-65651-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-08-06 11:58:20 +08:00
Andrew Nicols 2fb82c256c Merge branch 'MDL-65992-37' of git://github.com/Chocolate-lightning/moodle into MOODLE_37_STABLE 2019-08-06 09:13:36 +08:00
Eloy Lafuente (stronk7) d62afa7ae7 Merge branch 'MDL-64757-37_core_output_nested_template_block_string_language' of https://github.com/tomdickman/moodle into MOODLE_37_STABLE 2019-08-05 13:15:08 +02:00
Andrew Nicols 2bf3ee078b Merge branch 'MDL-33884_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-08-05 14:33:55 +08:00
Sara Arjona b0781430e4 Merge branch 'MDL-66281-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2019-08-05 13:41:16 +08:00
Andrew Nicols 87eb1e7205 Merge branch 'MDL-66279-37' of git://git.cameron1729.xyz/moodle into MOODLE_37_STABLE 2019-08-05 11:51:35 +08:00
Shamim Rezaie ff03600ad0 MDL-63198 forms: click on scrollbar should not close the suggestions box 2019-08-05 13:16:41 +10:00
Tim Hunt 8d4f41b473 MDL-57239 qbehaviour_interactive: fix Try again button when reviewing 2019-08-02 11:46:17 +01:00
Luca Bösch ee5b530ae6 MDL-65651 forum: Middle align last post column entries. 2019-08-02 12:01:49 +02:00
Luca Bösch 0853ab5730 MDL-64598 pix: Adding width/height information to emoji SVG images. 2019-08-02 11:54:59 +02:00
AMOS bot 23e8249b36 Automatically generated installer lang files 2019-08-02 00:11:23 +00:00
AMOS bot 3876b68dd0 Automatically generated installer lang files 2019-08-02 00:11:23 +00:00
Mihail Geshoski 4935c347cf MDL-65679 assign: Collapsing comments
The comments should appear above everything else when expanded, and expanding/collapsing comments
should not affect the position of anything else in the page.

All credit goes to Damyon Wiese.
2019-08-02 07:39:03 +08:00
Eloy Lafuente (stronk7) cd1a80769f MDL-66104 output: HTMLPurifier to allow <nolink> tags everywhere
Before the patch, HTMLPurifier was instructed to handle <nolink>
tags in block mode. That implies that any block tag enclosing it
had to be closed for HTML compliance.

But <noscript> tags are not part of the final output (they are
removed) but just internally used to skip filtering certain areas.

So they can be virtually everywhere, HTMLPurifier just should allow
them without any change, both to parent or children tags.
2019-08-01 17:52:57 +02:00
Eloy Lafuente (stronk7) 0f13016a50 weekly release 3.7.1+ 2019-08-01 17:07:09 +02:00
Eloy Lafuente (stronk7) 141d8cbe64 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-08-01 17:07:06 +02:00
Shamim Rezaie ec564a7b32 MDL-56789 core: Added unit test for course_modules_pending_deletion 2019-08-01 18:58:28 +10:00
Sara Arjona 90528c757d Merge branch 'MDL-42451-37' of git://github.com/Chocolate-lightning/moodle into MOODLE_37_STABLE 2019-08-01 09:53:28 +08:00
Eloy Lafuente (stronk7) c76f2e8095 Merge branch 'MDL-50472-37' of git://github.com/Chocolate-lightning/moodle into MOODLE_37_STABLE 2019-08-01 00:28:40 +02:00
Eloy Lafuente (stronk7) 4999558ed4 Merge branch 'MDL-57342-37' of git://github.com/Chocolate-lightning/moodle into MOODLE_37_STABLE 2019-07-31 18:52:37 +02:00
Tim Hunt 0101cefdca MDL-33884 question export: raise memory limit
Question exports can be quite big, just like imports can. Therefore, we
should raise memory limits in the same way.

(Of course, eventually we should change the API, so that it writes one
questoin at a time, rather than building the whole export file contents
in RAM first, but that would be a much bigger change, and we need a
quick fix now.)
2019-07-31 16:35:36 +01:00
Mathew May 0a39c68105 MDL-65992 travis: Migrate to Xenial distro and default MySQL service 2019-07-31 13:02:19 +08:00
Jun Pataleta 5f9afeb734 Merge branch 'MDL-65831-37' of git://github.com/aanabit/moodle into MOODLE_37_STABLE 2019-07-31 10:55:49 +08:00
Amaia Anabitarte a193f2a1e3 MDL-65831 behat: New steps to switch offline mode for moodle app behats 2019-07-31 10:44:57 +08:00
Peter 148d163013 MDL-65595 core: Remove the nowrap from the form's radio template 2019-07-31 08:15:35 +08:00
AMOS bot c8c11974f2 Automatically generated installer lang files 2019-07-31 00:09:15 +00:00
Paul Holden ecc9069384 MDL-66230 tool_usertours: account for deleted tours in privacy export. 2019-07-30 09:56:48 +01:00
Cameron Ball 0960745ecb MDL-66279 task: Test if logger is_a database_logger 2019-07-30 14:52:35 +08:00
Jun Pataleta c5437625e1 MDL-66281 tool_dataprivacy: Set sensitive data processing default value 2019-07-30 13:59:14 +08:00
Sara Arjona 941b5cc782 Merge branch 'MDL-63458_37' of https://github.com/rlorenzo/moodle into MOODLE_37_STABLE 2019-07-30 11:59:28 +08:00
Adrian Greeve 02bcfb3631 Merge branch 'MDL-66174-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-07-29 14:40:02 +08:00
Mathew May a02b319727 MDL-42451 installation: Allow enter key to proceed 2019-07-29 10:58:49 +08:00
Mathew May 328f918372 MDL-50472 auth: Add maintenance message to the login page. 2019-07-29 10:48:54 +08:00
Jake Dallimore 2f980fec47 Merge branch 'MDL-65219-37' of https://github.com/ryanwyllie/moodle into MOODLE_37_STABLE 2019-07-26 15:21:15 +08:00
Tom Dickman ad5c8a8954 MDL-64757 core_output: fixed incorrect string language mustache blocks
Mustache blocks nested in parent templates were incorrectly rendering the default language Moodle.
This fix correctly passes the current language preference to all nested mustache templates such as blocks
which are children of another template.
2019-07-26 16:02:59 +10:00
Jake Dallimore ebe574ff58 Merge branch 'MDL-65918-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2019-07-26 10:57:48 +08:00
Eloy Lafuente (stronk7) 1a89704b05 weekly release 3.7.1+ 2019-07-25 13:45:00 +02:00
Jake Dallimore f082899085 Merge branch 'MDL-65858_37' of git://github.com/markn86/moodle into MOODLE_37_STABLE 2019-07-24 14:31:06 +08:00
Adrian Greeve 0fbdc6705a Merge branch 'MDL-65078-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-07-24 09:52:18 +08:00
Mathew May f4da3acc61 MDL-57342 admin: confightml will check if returned data is empty 2019-07-23 13:31:58 +08:00
Jun Pataleta ef24084985 MDL-65918 auth_oauth2: Require profile library once
Thanks to Jason Grimes for the bug report and fix suggestion!
2019-07-23 10:11:59 +08:00
Adrian Greeve 8b44b91c15 Merge branch 'MDL-66021-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-07-23 09:13:45 +08:00
Eloy Lafuente (stronk7) bfdc0244a1 Merge branch 'MDL-65788-37' of git://github.com/Chocolate-lightning/moodle into MOODLE_37_STABLE 2019-07-22 21:34:12 +02:00
Eloy Lafuente (stronk7) f7ade2220a Merge branch 'MDL-66132-m37' of https://github.com/sammarshallou/moodle into MOODLE_37_STABLE 2019-07-22 20:56:11 +02:00
Adrian Greeve 5aa0106bc1 Merge branch 'MDL-66136-37' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-07-22 10:42:01 +08:00
Eloy Lafuente (stronk7) 2b4ff27983 Merge branch 'MDL-50733_37' of git://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-07-20 00:24:45 +02:00
Mathew May 78ade565c6 MDL-50733 core: Update composer to updated behat-extension 2019-07-19 16:13:51 +02:00
Eloy Lafuente (stronk7) e222b1ed8d weekly release 3.7.1+ 2019-07-18 17:11:45 +02:00
Eloy Lafuente (stronk7) 9bfa3e8f56 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-07-18 17:11:43 +02:00
Kathrin Osswald bed95cdef1 MDL-63250 mediaplugin: Fixed video player size in specific tables 2019-07-18 13:53:22 +02:00
Matt Porritt 1c97c77cb9 MDL-65858 backup: Improve behaviour of ajax calls
When a backup (or restore) is in progress and the user
has another tab open that is taking time to generate and
holding the session lock, a condition arises where
multiple ajax calls are "queued" because the long page
is holding the session lock. When this lock is released,
the queued ajax requests complete.  However, as the ajax
requests also lock this can block other requests until they
complete. This patch decreases the frequency of ajax calls
and stops them from holding the session lock.
2019-07-18 14:12:51 +08:00
Peter 0c73410e6c MDL-66174 mod_assign: Remove the strict widths on the annotation menu 2019-07-18 12:56:19 +08:00
Mathew May ebe8a6726a MDL-65788 tool_policy: Move accept_policy JS call into an array 2019-07-18 10:48:00 +08:00
Andrew Nicols cb9494ddcc Merge branch 'MDL-59911-conv_cleanup_check-37' of git://github.com/leonstr/moodle into MOODLE_37_STABLE 2019-07-18 08:25:34 +08:00
AMOS bot 8ac0f287ee Automatically generated installer lang files 2019-07-18 00:09:04 +00:00
Andrew Nicols 6fad97a975 Merge branch 'MDL-66163-37' of git://github.com/marinaglancy/moodle into MOODLE_37_STABLE 2019-07-18 07:45:38 +08:00
Eloy Lafuente (stronk7) 07b75d56ed Merge branch 'MDL-66115_37' of https://github.com/dvdcastro/moodle into MOODLE_37_STABLE 2019-07-17 23:09:39 +02:00
Bas Brands d959768051 MDL-60636 themes: form autocomplete chevron down on mobile 2019-07-17 13:33:31 +02:00
Peter 62566af752 MDL-66021 restore: Additional restore unit tests with async mode 2019-07-17 10:56:45 +08:00
Peter f910e87c12 MDL-66021 backup: Clear course if required before restore 2019-07-17 10:56:45 +08:00
Andrew Nicols 8960fa5c1f Merge branch 'MDL-65538-37' of git://github.com/sarjona/moodle into MOODLE_37_STABLE 2019-07-17 10:56:13 +08:00
Bas Brands 5eb95aca21 MDL-65357 themes: position enrolment icons in course listing 2019-07-17 09:40:29 +08:00
Eloy Lafuente (stronk7) f417dab602 Merge branch 'MDL-66032-MOODLE_37_STABLE_awarded_badges_criteria' of https://github.com/andrewmadden/moodle into MOODLE_37_STABLE 2019-07-17 01:31:54 +02:00
Eloy Lafuente (stronk7) 334e44fb2c Merge branch 'MDL-65908-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-07-17 01:18:27 +02:00
Marina Glancy ccc7e00cc0 MDL-66163 mod_forum: Add component to unittest sql queries
files from other components may exist in the files table
2019-07-16 20:37:15 +03:00
Leon Stringer c4e1a1518c MDL-59911 fileconverter_unoconv: Fix: test PDF fails after upgrade
When generating the PDF of unoconv_test.docx this file's previous conversions
are removed from mdl_file_conversion.  But these may also be removed by
\core_files\task\conversion_cleanup_task in which case an error occurs as
delete() is invoked with a NULL id.  Added check for non-NULL id prior to
invoking delete().
2019-07-16 17:25:23 +01:00
Eloy Lafuente (stronk7) 12f7d66baf Merge branch 'MDL-65555_MOODLE_37_STABLE' of https://github.com/tuanngocnguyen/moodle into MOODLE_37_STABLE 2019-07-16 12:35:08 +02:00
Andrew Nicols 0d7ff46e11 Merge branch 'MDL-65954-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2019-07-16 15:15:31 +08:00
Andrew Nicols 91a59718cd Merge branch 'MOODLE_37_STABLE_MDL_65517' of https://github.com/yao9394/moodle into MOODLE_37_STABLE 2019-07-16 12:22:05 +08:00
Andrew Nicols bd5f26b20b Merge branch 'MDL-65409-37' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-07-16 11:36:42 +08:00
Nathan Nguyen 4ffedd3797 MDL-65555 mod_lesson: fix group override backup and restore 2019-07-16 13:01:27 +10:00
Nathan Nguyen c923621ec0 MDL-65555 mod_quiz: fix group override backup and restore 2019-07-16 13:00:51 +10:00
Ryan Wyllie efc45c2976 MDL-65219 message: add message/pendingcontactrequests.php page back
We previously had this page when contact requests were first introduced
and unfortunately we created a bunch of notifications that reference
this URL directly which now won't work because the page has been removed.

I've added it back but set it to redirect to the message/index.php page
and load the contact requests page there.
2019-07-16 09:51:42 +08:00
Damyon Wiese 916c50484c MDL-65078 competencies: fix webservice
The webservice list_course_module_competencies calls a function that does not exist.

Thanks to Marie-Eve Lévesque for reporting this issue.
2019-07-16 09:43:23 +08:00
Andrew Madden 191bcca9e2 MDL-66032 badges: Prevent empty awarded badges criteria being created.
When creating or editing the awarded badges criteria, the select element should be
required to prevent empty criteria from being created. In addition, if there are
already badges created with the empty criteria, there should be not be an exception
thrown when assessing whether the criteria has been completed.
2019-07-16 09:47:37 +10:00
Sara Arjona 4afc6a5711 MDL-65538 competency: fix behat errors with firefox
There is a random behat error when executing the "Go to the competency
course competencies page." scenario: "Moodle exception: A required parameter
(courseid) was missing More information about this error".
It happens because sometimes the form is sent before the JS and it hasn't
the needed parameters defined. So they have been added as hidden to the
form to avoid the error (which I couldn't reproduce manually).
2019-07-15 14:09:04 +02:00
Eloy Lafuente (stronk7) b32637b7e2 Merge branch 'MDL-58026-37' of https://github.com/MartinGauk/moodle into MOODLE_37_STABLE 2019-07-15 13:38:55 +02:00
David Monllaó 6d6322985d MDL-66026 analytics: No notification if not necessary 2019-07-15 14:24:33 +08:00
Mihail Geshoski a84e91d7f3 MDL-66136 assign: Verify presence of resources in online text submission 2019-07-15 12:03:58 +08:00
Mihail Geshoski 629741d93f MDL-66136 assignfeedback_comments: Extend testcase 2019-07-15 12:03:58 +08:00
Jun Pataleta 727a0a97fe MDL-65954 dataformat_pdf: Convert object records to array
* count() doesn't work quite as expected when the record being written
to the PDF is an object. So make sure to convert the record to an array.
* In addition, instead of comparing the total vs the current cell
counter, it would be more reliable to determine whether we're at the
last element of the array by getting the key for the last element and
comparing it with the key for the element that's currently being
processed.
2019-07-15 10:30:29 +08:00
Peter 8340f83ddc MDL-65908 mod_assign: Remove scroll repositioning.
Absolute positioned elements do not require repositioning on scroll as long as
their immediate parent is relatively positioned.
2019-07-15 08:36:54 +08:00
Peter 8a3a133319 MDL-65908 assign: Overflow and positioning updates
Draw all annotation within the drawing canvas instead of the region
2019-07-15 08:36:54 +08:00
Peter e9822e8851 MDL-65908 assign: Revert overflow scroll fix
Revert "MDL-65484 assign: Scrolling overflow CSS"

This reverts commit 5bda066caa.
2019-07-15 08:36:54 +08:00
Mathew May 559a99c793 MDL-65788 tool_policy: Prevent two modals rendering for guests.
With the Guest registration calling policyactions.js the [data-action="view"]
was having two click handlers set on the inital policy modal trgger.
With this commit we state what we want the click event to be set on.
2019-07-14 18:53:35 +08:00
AMOS bot bcdb7e3031 Automatically generated installer lang files 2019-07-14 00:08:50 +00:00
David Castro 7f0d1164f5 MDL-66115 qtype_ddimageortext: Fixing choice deletion.
Summarising responses fails when question choices have been removed.

AMOS BEGIN
CPY [deletedchoice,qtype_match],[deletedchoice,qtype_ddimageortext]
AMOS END

(cherry picked from commit f0265e6db16caa6d13f8bce291e7da91b0eabb53)
2019-07-12 14:35:54 -05:00
sam marshall aa01e0e574 MDL-66132 Search: Behat tests should use simpledb, fix mock count
When searching using mock results (the 'global search expects the
query' step), the result count is not correctly set. As a result, the
page incorrectly reports that there are no results and doesn't
correctly show the first page of multi-page results.

Additionally, some of the core Behat tests can now be moved to use
real searching with the simpledb engine, rather than using mock
results at all. This gives better tests.

Unfortunately it was not possible to move all of the core Behat tests
and deprecate the mock step, because some of the tests are related to
the UI for 'special' features searching by user or group, neither of
which are supported by the simpledb engine.
2019-07-12 17:41:17 +01:00
Damyon Wiese 8070c74ebc MDL-65409 files: Allow location header
Allow incorrect capitals in location header response.
2019-07-12 08:44:54 +08:00
John Yao 93ade38caa MDL-65517 block_timeline: Hide completed course modules in Timeline
When some activities are manually completed by students, some are still showing in students' timeline.
This commit fix that for module assign,chat,choice,feedback,lesson,quiz,scorm and workshop.
2019-07-12 09:17:33 +10:00
Eloy Lafuente (stronk7) 39ef515a64 weekly release 3.7.1+ 2019-07-11 23:33:54 +02:00
Eloy Lafuente (stronk7) 65462b439d NOBUG: Fixed file access permissions 2019-07-11 23:33:54 +02:00
Eloy Lafuente (stronk7) 481b001f25 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-07-11 23:33:52 +02:00
Jun Pataleta 3098122ac1 Merge branch 'MDL-65926-MOODLE_37_STABLE_lowercase_username_sql_query' of https://github.com/andrewmadden/moodle into MOODLE_37_STABLE 2019-07-11 20:58:47 +02:00
Bas Brands f7a92e6a98 MDL-66039 themes: remove duplicate css
* removed duplicate #page { margin-top: 50px };
2019-07-11 14:54:28 +02:00
AMOS bot 00906c109e Automatically generated installer lang files 2019-07-11 00:09:03 +00:00
Eloy Lafuente (stronk7) 177f92e74b Merge branch 'MDL-66114-37-fix' of git://github.com/marinaglancy/moodle into MOODLE_37_STABLE 2019-07-10 12:45:30 +02:00
Andrew Madden ae464fd7b2 MDL-65926 moodlelib: Convert username to lowercase prior to SQL query
Within a very large project, it was found that searching for a user with their username in the user table using a case insensitive
search was inefficient. Instead it is proposed that the username input is made to be lowercase prior to executing a database query
as the username for each user in the database must be lowercase. This allows for a case sensitive query to find the user data.
Essentially we are moving a case insensitive search for a user from SQL into PHP to increase performance.
2019-07-10 19:55:46 +10:00
Marina Glancy 909d02196f MDL-66114 core_calendar: normalise categoryid value 2019-07-10 11:29:00 +02:00
Andrew Nicols 56d381cba3 Merge branch 'MDL-66114-37-2' of git://github.com/marinaglancy/moodle into MOODLE_37_STABLE 2019-07-10 14:29:41 +08:00
Jun Pataleta 49c2095b74 Merge branch 'MDL-66012-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2019-07-10 12:16:49 +08:00
Simey Lameze 64b39b7f60 MDL-66012 calendar: fix no event message on calendar views
Ahhh Jun. Thanks legend :)
2019-07-10 11:32:53 +08:00
Eloy Lafuente (stronk7) b0e82e7359 Merge branch 'MDL-56835_37-coursetimecreated' of git://github.com/markn86/moodle into MOODLE_37_STABLE 2019-07-10 00:14:59 +02:00
Marina Glancy 520d73b0d6 MDL-66114 core_calendar: events without category 2019-07-09 18:05:29 +02:00
Jun Pataleta 56b3bec2ff Merge branch 'MDL-66081-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2019-07-09 17:11:05 +08:00
Andrew Nicols f87569ac6a Merge branch 'MDL-64258-37' of https://github.com/HuongNV13/moodle into MOODLE_37_STABLE 2019-07-09 14:50:44 +08:00
Andrew Nicols 7804b75021 Merge branch 'MDL-65965-37-fix' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2019-07-09 11:00:30 +08:00
Jun Pataleta 571d588002 MDL-65965 behat: Do not fetch grouping IDs for empty grouping idnumbers 2019-07-09 10:49:10 +08:00
Mark Nelson c5fb5d69b1 MDL-56835 report_participation: remove unreachable if condition 2019-07-09 09:14:55 +08:00
Andrew Nicols 54b4d6726b Merge branch 'MDL-65772-37' of git://github.com/vmdef/moodle into MOODLE_37_STABLE 2019-07-09 08:56:33 +08:00
Mark Nelson af281ecdd6 MDL-56835 report_participation: initialise action variables 2019-07-09 08:30:41 +08:00
Mark Nelson d92119979c MDL-56835 report_participation: use course timecreated as minlog 2019-07-09 08:30:38 +08:00
Matt Porritt d6301a6dd3 MDL-56835 report_participation: release session lock 2019-07-09 08:28:50 +08:00
Eloy Lafuente (stronk7) 2308148e23 Merge branch 'MDL-66054-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-07-09 00:57:23 +02:00
Eloy Lafuente (stronk7) 41fc9f1937 Merge branch 'MDL-65965-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2019-07-09 00:55:09 +02:00
Martin Gauk 96c24a1912 MDL-58026 question: fix regrading in progress attempt
Do not convert autosave steps to true steps when regrading.

Thanks Eric Merrill for providing the unit test code.
2019-07-08 09:35:51 +00:00
AMOS bot f14bcafc5a Automatically generated installer lang files 2019-07-08 00:10:08 +00:00
AMOS bot fdd756f779 Automatically generated installer lang files 2019-07-07 00:08:55 +00:00
David Castro 41eb6e8372 MDL-65920 adodb: PHP 7.2 fixes for adodb library. 2019-07-05 09:52:50 -05:00
Sara Arjona b198428e41 Moodle release 3.7.1 2019-07-05 12:27:23 +02:00
Simey Lameze b9cd69b372 MDL-66081 calendar: fix typo in attribute description 2019-07-05 17:07:58 +08:00
AMOS bot a5f09bca98 Automatically generated installer lang files 2019-07-05 00:09:46 +00:00
Eloy Lafuente (stronk7) 22124a36ca weekly release 3.7+ 2019-07-04 16:51:08 +02:00
Eloy Lafuente (stronk7) 50794f5278 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-07-04 16:51:03 +02:00
Víctor Déniz Falcón 6d4e4bb8ef MDL-65772 cachestore_mongodb: fix the version number of the library 2019-07-04 12:46:04 +01:00
AMOS bot e1cad3f07b Automatically generated installer lang files 2019-07-04 00:08:39 +00:00
Shamim Rezaie 2e4856a81f MDL-61114 mod_assign: Check if the teacher can access the override 2019-07-03 18:05:19 +02:00
Shamim Rezaie 211f6809b9 MDL-61114 mod_assign: assignment overrides to observe group membership 2019-07-03 18:05:19 +02:00
Shamim Rezaie ad75599c7b MDL-61115: mod_lesson: Check if the teacher can access the override 2019-07-03 17:49:58 +02:00
Shamim Rezaie ca908dd42c MDL-61115 mod_lesson: Lesson overrides to observe group membership 2019-07-03 17:49:58 +02:00
Sara Arjona 76129617e5 Merge branch 'MDL-65105-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-07-03 15:05:42 +02:00
Sara Arjona 56f92fa069 Merge branch 'MDL-65958-37-v3' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2019-07-03 14:53:28 +02:00
Simey Lameze d7815b0a79 MDL-65958 calendar: cover students default event type visibility 2019-07-03 20:41:04 +08:00
Simey Lameze 376a2f64f2 MDL-65958 calendar: students should not see course event type 2019-07-03 20:41:04 +08:00
Simey Lameze 634da01c65 MDL-65958 calendar: add behat to test calendar_adminseesall behaviour 2019-07-03 20:41:04 +08:00
Simey Lameze 8b0bb2389c MDL-65958 calendar: fix adminseesall logic in the event form 2019-07-03 20:41:03 +08:00
Sara Arjona 83b311dcb3 Merge branch 'MDL-64794_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-07-03 11:15:42 +02:00
Huong Nguyen 79ec71c87b MDL-64258 Group: Performance problem on the enrol group members page 2019-07-03 15:29:00 +07:00
Huong Nguyen 79a6ef4c9b MDL-64258 Group: Unit Test for find_users function 2019-07-03 15:28:52 +07:00
Eloy Lafuente (stronk7) 299cdee4bf Merge branch 'MDL-65845_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-07-03 02:25:39 +02:00
Eloy Lafuente (stronk7) 34b451dac4 Merge branch 'MDL-65656-37-2' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-07-03 02:16:54 +02:00
AMOS bot e2ac9903d9 Automatically generated installer lang files 2019-07-03 00:08:46 +00:00
AMOS bot ee22b6faba Automatically generated installer lang files 2019-07-03 00:08:46 +00:00
Eloy Lafuente (stronk7) a6c6690e79 Merge branch 'MDL-63268-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-07-03 00:13:15 +02:00
Sara Arjona acb0617d1b Merge branch 'MDL-64614_37' of git://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-07-02 21:21:29 +02:00
Luca Bösch 370c8c4a06 MDL-63268 tool_uploadcourse: Keep source course section number. 2019-07-02 19:49:08 +02:00
Eloy Lafuente (stronk7) 4782bf39af Merge branch 'MDL-65707-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2019-07-02 16:39:49 +02:00
Sara Arjona 39f9832ce5 Merge branch 'MDL-66062_37' of git://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-07-02 15:16:02 +02:00
Sara Arjona ef0d79745f Merge branch 'MDL-65101_37' of git://github.com/markn86/moodle into MOODLE_37_STABLE 2019-07-02 14:50:22 +02:00
Eloy Lafuente (stronk7) e1b1217749 MDL-66062 travis: Force PHP 7.1.30 to avoid some unit test failures
Make this sticky because current default version (7.1.11)
has a bug with redis-extension outputting information and breaking
tests.
2019-07-02 13:00:41 +02:00
Eloy Lafuente (stronk7) 57886390a6 Merge branch 'MDL-65728-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-07-02 12:14:05 +02:00
Sara Arjona 2a6ee587d3 Merge branch 'MDL-65839_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-07-02 10:42:10 +02:00
Eloy Lafuente (stronk7) 43ab5e777d Merge branch 'MDL-65853_m37' of git://github.com/gjb2048/moodle into MOODLE_37_STABLE 2019-07-02 10:25:36 +02:00
Shamim Rezaie 3f96ad977e MDL-34411 mod_quiz: Check if the teacher can access the override 2019-07-02 08:37:48 +02:00
Shamim Rezaie de068eb91a MDL-34411 groups: copy/paste error in test_groups_user_groups_visible 2019-07-02 08:37:48 +02:00
Shamim Rezaie e6539e7139 MDL-34411 mod_quiz: quiz overrides to observe group membership 2019-07-02 08:37:48 +02:00
Damyon Wiese 9a6c86b23f MDL-64623 glossary: Check the entry id
The entry must match the glossary before you can do any action on it.
2019-07-02 08:37:48 +02:00
Damyon Wiese ec2f7c0fe9 MDL-53689 xmldb: Require a sesskey to load xml
Loading and unloading xml files is not protected from XSS with a sesskey.
2019-07-02 08:37:48 +02:00
Sara Arjona 2077354356 Merge branch 'MDL-66049-37-workshopnamespace' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2019-07-02 08:29:00 +02:00
Sara Arjona a3bce19260 Merge branch 'MDL-65901-37' of https://github.com/lucaboesch/moodle into MOODLE_37_STABLE 2019-07-02 08:10:27 +02:00
AMOS bot 08943d8121 Automatically generated installer lang files 2019-07-02 00:09:26 +00:00
Eloy Lafuente (stronk7) b053efae5d Merge branch 'MDL-64935-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-07-02 00:06:59 +02:00
Shamim Rezaie 8bb3a1d295 MDL-66054 behat: typo fix 2019-07-02 04:05:39 +10:00
Eloy Lafuente (stronk7) b3bd9df0fd Merge branch 'MDL-64511-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-07-01 18:52:21 +02:00
Sara Arjona 1d5341843f Merge branch 'MDL-65297-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-07-01 18:34:52 +02:00
Sara Arjona 5da74261d3 Merge branch 'MDL-65892-37-inlinereply' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2019-07-01 15:50:02 +02:00
David Mudrák ee3b7666f2 MDL-66049 workshop: Fix the fully qualified class name
Because of the missing slash, the class 'workshop' was not found in the
current namespace and the cron failed to work.
2019-07-01 14:49:34 +02:00
Sara Arjona 9c96a6fcf7 Merge branch 'MDL-65973-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-07-01 13:13:34 +02:00
Dan Marsden 6ab4eaf7f2 MDL-60347 core: debugsmtp should be a developer only setting. 2019-07-01 12:16:22 +02:00
Sara Arjona 46c4afbeaf Merge branch 'MDL-57884_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-07-01 09:57:48 +02:00
Eloy Lafuente (stronk7) e0e75192e8 MDL-64614 environment: mssql requirement up to 2012 (11.0) 2019-06-30 11:58:04 +02:00
Eloy Lafuente (stronk7) c0078c08df MDL-64614 environment: 3.8 base information
This is a direct copy of the 3.7 branch to have
changes under control easier for next commits.
2019-06-30 11:58:04 +02:00
AMOS bot e2c4f9d374 Automatically generated installer lang files 2019-06-30 00:09:17 +00:00
AMOS bot 1b26a3db64 Automatically generated installer lang files 2019-06-30 00:09:16 +00:00
AMOS bot fa5aa45de4 Automatically generated installer lang files 2019-06-29 00:09:17 +00:00
AMOS bot 9c9ac43919 Automatically generated installer lang files 2019-06-29 00:09:17 +00:00
David Monllaó b214024bda MDL-65845 mod_lesson: Fix wrong pointer to an object
We should be pointing to the array of timecreated values instead.
2019-06-28 21:06:22 +02:00
David Monllaó cd59d03500 MDL-65839 core_analytics: New indicator instances for each analysable 2019-06-28 21:00:25 +02:00
Paul Holden 0db181f9a9 MDL-64511 privacy: encode data URL when loading content.
Previously paths that included ? or # characters would break loading.
2019-06-28 13:16:55 +01:00
Paul Holden 868c037261 MDL-65297 atto_managefiles: improve filename decoding.
Filenames containing # character would previously be missed.
2019-06-28 13:13:49 +01:00
Sara Arjona a1714472d3 Merge branch 'MDL-65506-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-06-28 12:16:29 +02:00
Mark Nelson 7883551c72 MDL-65101 core_message: add Behat test 2019-06-28 18:14:30 +08:00
Mark Nelson bc11df440e MDL-65101 core_message: 'canmessage' should trump 'requirescontract' 2019-06-28 15:38:20 +08:00
AMOS bot 4efaec0a53 Automatically generated installer lang files 2019-06-28 00:09:47 +00:00
Gareth Barnard 0ded67ffd7 MDL-65853 format_base: Labels counted in section activity summary. 2019-06-27 23:36:06 +01:00
Luca Bösch 61923d3bdd MDL-65901 forum: Style advanced search form properly. 2019-06-27 21:58:19 +02:00
Eloy Lafuente (stronk7) 035d608c59 weekly release 3.7+ 2019-06-27 18:54:40 +02:00
Eloy Lafuente (stronk7) d49a5c7826 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-06-27 18:54:38 +02:00
Andrew Nicols 7305ed72ec Merge branch 'MDL-53778_37' of https://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-06-27 08:36:55 +08:00
Eloy Lafuente (stronk7) 7ab8ebf5b1 MDL-53778 quiz: ensure completion deps are fulfilled by behat
Behat backgrounds and scenarios must observe the new
interdependencies between quiz completion settings.

This commits just applies that to the tests missing it.
2019-06-27 01:12:44 +02:00
Eloy Lafuente (stronk7) c4b9758766 MDL-53778 quiz: ensure completion deps are fulfilled by generator uses
There are some mod_quiz generator issues where the new chain
of dependencies between completion settings was not being observed.

This patch just ensures that the now 3 chained settings are
enabled together (or new quiz options logic will proceed to
disable them).
2019-06-27 01:12:44 +02:00
Eloy Lafuente (stronk7) 679d2d1129 Merge branch 'MDL-66003-37-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2019-06-26 23:04:27 +02:00
Nicolas Dunand 5cad3e5d46 MDL-63458 core_user: Remove send message if messaging is disabled 2019-06-26 11:30:40 -07:00
Sara Arjona 4faf9ff6c6 Merge branch 'MDL-60088-37' of git://github.com/Chocolate-lightning/moodle into MOODLE_37_STABLE 2019-06-26 18:11:17 +02:00
Eloy Lafuente (stronk7) 0a77242e3c Merge branch 'MDL-53778_37' of https://github.com/anieminen/moodle into MOODLE_37_STABLE 2019-06-26 17:50:32 +02:00
Shamim Rezaie 1453ce1208 MDL-65506 forms: get the correct value for advcheckbox fields in js 2019-06-26 20:57:47 +10:00
Eloy Lafuente (stronk7) 798dc31ada Merge branch 'MDL-65249-37-fix' of https://github.com/snake/moodle into MOODLE_37_STABLE 2019-06-26 10:28:36 +02:00
Jake Dallimore 4a2a533fe1 MDL-65249 session: use redis host constant in unit tests 2019-06-26 16:11:05 +08:00
Ilya Tregubov 61373c843d MDL-65249 Session: Throw exception if number of attempts exceeded. 2019-06-26 14:49:23 +08:00
Jake Dallimore 2937760c27 Merge branch 'MDL-60978-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-06-26 13:17:04 +08:00
AMOS bot 03989cb776 Automatically generated installer lang files 2019-06-26 00:09:24 +00:00
Eloy Lafuente (stronk7) a4f78b52f6 Merge branch 'MDL-65181-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-06-26 00:43:50 +02:00
David Mudrák ecc1bd1c73 MDL-66003 lang: Use the updated strings in the tests 2019-06-25 21:30:27 +02:00
Helen Foster 694f33c2f6 MDL-66003 lang: Import fixed English strings (en_fix)
Significant string changes:

* moodleorghubname,core_admin and
  sitemustberegistered,message_airnotifier - 'Moodle.net' changed to
  'Moodle'

* registration_help,core_admin and registermoochtips,core_hub - removed
  erroneous 'access to Moodle.net our course sharing platform'

* trackingtype_help,mod_forum and formnotavailable,core_grading and
  showgrades_help,core and rolewarning_help,core_rating -
  'Administration block' changed to 'Actions menu or admin block',
  'navigation block' changed to 'navigation drawer or block'
2019-06-25 21:30:27 +02:00
David Mudrák d93cdd955b MDL-65892 forum: Fix styling of the inline reply textarea 2019-06-25 14:49:12 +02:00
Arto Nieminen d80d0b4142 MDL-53778 quiz settings: Ensure that disabled checkboxes have value 0 2019-06-25 13:26:29 +03:00
Simey Lameze b73ab4bf04 MDL-65707 calendar: behat scenario to test default event type 2019-06-25 10:23:34 +08:00
Simey Lameze a398df5381 MDL-65707 calendar: set the correct event type on site calendar 2019-06-25 10:23:34 +08:00
AMOS bot b0ff1a1600 Automatically generated installer lang files 2019-06-25 00:09:19 +00:00
Eloy Lafuente (stronk7) 98070f7020 Merge branch 'MDL-64340-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-06-25 00:54:00 +02:00
Bas Brands 40271e858d MDL-64935 theme: prevent activitynavigation link overflowing container 2019-06-24 14:48:53 +02:00
Bas Brands f839aff2b5 MDL-65105 theme_classic: use $dark variable for navbar-dark 2019-06-24 11:43:21 +02:00
Shamim Rezaie 0096c60d46 MDL-65728 tool_customlang: Escape html on the original translation field 2019-06-24 18:27:20 +10:00
Jake Dallimore 65424cea97 Merge branch 'MDL-65893-37' of https://github.com/nicoroeser/moodle into MOODLE_37_STABLE 2019-06-24 11:42:05 +08:00
AMOS bot 863b9081f5 Automatically generated installer lang files 2019-06-24 00:08:17 +00:00
Mathew May 44c178ec4f MDL-60088 travis: add dist:trusty to travis
We are doing this because travis changed its default release to xenial.
So this is a stop gap and we will add xenial support moving forward.
2019-06-23 23:58:51 +08:00
Jun Pataleta e6e99db401 MDL-65965 behat: Map grouping for activity data generator 2019-06-21 15:41:23 +08:00
Jun Pataleta 74c783924f MDL-65965 availability: Behat test for activity grouping restriction 2019-06-21 15:41:23 +08:00
Andrew Nicols 0703eeca7c MDL-60978 travis: Re-enable Redis session tests 2019-06-21 14:36:13 +08:00
Andrew Nicols 866f014372 MDL-60978 session: Run redis tests in isolation 2019-06-21 14:36:13 +08:00
Andrew Nicols 22ad84cb00 MDL-60978 testing: Support ability to run phpunit in isolated process 2019-06-21 14:36:13 +08:00
Shamim Rezaie d56311006a MDL-64340 mod_quiz: not display "add random question" when no permission 2019-06-21 08:53:47 +10:00
Eloy Lafuente (stronk7) 30d4327769 weekly release 3.7+ 2019-06-20 17:43:09 +02:00
Eloy Lafuente (stronk7) d987202dff Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-06-20 17:43:05 +02:00
Juan Leyva 25d288d297 MDL-65973 calendar: Avoid sesskey checks in WS
External function submit_create_update_form should avoid any sesskey checks.
2019-06-20 15:07:43 +02:00
Jake Dallimore aa6b0c6d03 Merge branch 'MDL-65084-m37' of https://github.com/NeillM/moodle into MOODLE_37_STABLE 2019-06-20 09:40:26 +08:00
Jake Dallimore 6f3819a805 Merge branch 'MDL-65883-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2019-06-20 09:13:02 +08:00
Andrew Nicols 2641b5e31e Merge branch 'MDL-61319-37' of git://github.com/bmbrands/moodle into MOODLE_37_STABLE 2019-06-20 08:10:10 +08:00
Eloy Lafuente (stronk7) 35db491a6d Merge branch 'MDL-64975-37' of https://github.com/nicoroeser/moodle into MOODLE_37_STABLE 2019-06-20 00:17:55 +02:00
Eloy Lafuente (stronk7) 27deb31ded Merge branch 'MDL-65910-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2019-06-19 20:54:36 +02:00
Eloy Lafuente (stronk7) 511e5c933a Merge branch 'MDL-65665-37-2' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-06-19 20:29:38 +02:00
Eloy Lafuente (stronk7) 5574d3431b Merge branch 'MDL-65666-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-06-19 18:38:26 +02:00
Eloy Lafuente (stronk7) ee8c5098c9 Merge branch 'MDL-65806-m37' of https://github.com/sammarshallou/moodle into MOODLE_37_STABLE 2019-06-19 18:27:19 +02:00
Eloy Lafuente (stronk7) 480396103b Merge branch 'MDL-65864_37' of git://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-06-19 18:09:28 +02:00
Eloy Lafuente (stronk7) 4e5ebf89ba Merge branch 'MDL-55821-37' of git://github.com/damyon/moodle into MOODLE_37_STABLE 2019-06-19 18:05:20 +02:00
Neill Magill 015607040a MDL-65084 recent items: Handle deleted courses
The method should not cause errors when a course with activities
that the user has visited no longer exists.

Ensuring that we only get records for courses still in the database
will stop any course not found erros from get_fast_modinfo()

(cherry picked from commit f1d4c355fb25321756cfbed3b38afbe6e91ccdf9)
2019-06-19 09:04:33 +01:00
Neill Magill c58a1e9067 MDL-65084 recent items: Test handling of deleted courses 2019-06-19 09:04:31 +01:00
Simey Lameze eecc04f29c MDL-65883 mod_quiz: replace all hardcoded urls to proper params 2019-06-19 15:27:22 +08:00
Simey Lameze f237e35755 MDL-65883 mod_quiz: change attemptlib_test to use data generators 2019-06-19 15:27:22 +08:00
Simey Lameze bee606d3b1 MDL-65883 mod_quiz: fix quiz navigation buttons href 2019-06-19 15:27:22 +08:00
Jake Dallimore 38b5816722 Merge branch 'MDL-65904-37' of git://github.com/merrill-oakland/moodle into MOODLE_37_STABLE 2019-06-19 14:59:06 +08:00
Tim Hunt 6e5e4cc208 MDL-57884 quiz: autosave should not send the value of submit buttons 2019-06-18 17:47:48 +01:00
Bas Brands 4af9077f26 MDL-61319 themes: prevent using @extend rules for complex classes
* the settings and navigation blocks scss extended .fa which caused
issues with native fontawesome classes like fa-pull-left.
2019-06-18 13:49:37 +02:00
M Kassaei 0b2c17a183 MDL-65840 qtype_ddmarker: coordinates of cirle shape
The coordinates of a circle shape are not allowed to be smaller than its radius.
By default, set the coordinates to be the same as the radius.
2019-06-18 09:45:37 +08:00
Andrew Nicols 2a55bff8f6 Merge branch 'MDL-65469-37_2' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-06-18 09:16:53 +08:00
Eloy Lafuente (stronk7) e235ef7bd9 MDL-65469 mod_forum: Check for existence before operating 2019-06-18 08:50:32 +08:00
Peter 47dd7dd840 MDL-65469 core: Backported updates from master 2019-06-18 08:40:21 +08:00
AMOS bot 70c75a7a47 Automatically generated installer lang files 2019-06-18 00:08:37 +00:00
Eloy Lafuente (stronk7) a7367b6cf3 Merge branch 'MDL-65869-37' of git://github.com/aanabit/moodle into MOODLE_37_STABLE 2019-06-18 00:14:18 +02:00
Eloy Lafuente (stronk7) ae8dfad361 Merge branch 'MDL-64383-37' of git://github.com/damyon/moodle into MOODLE_37_STABLE 2019-06-17 23:02:53 +02:00
Andrew Nicols a0bdd53e21 Merge branch 'MDL-65469-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-06-17 15:19:35 +08:00
Andrew Nicols c615b3e96b Merge branch 'MDL-65888-37' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2019-06-17 10:52:48 +08:00
AMOS bot e3475fd088 Automatically generated installer lang files 2019-06-15 00:08:13 +00:00
Nicolas Roeser e934a351e9 MDL-64975 moodlelib: fix float formatting if decsep is ~ (tilde)
Commit 637da99edb has introduced changes
for removing trailing zeroes from the output of function format_float.
Due to a small omission, the function causes a PHP warning when the
string decsep is set to a tilde character ('~'). This is rarely the
case.

The bug lies in using PHP function preg_replace with a string that
contains external input (in this case, including decsep), but without
escaping it for PCRE processing.

This commit fixes the function to also support a tilde character in
string decsep. It also adds tests for having tilde as decimal separator.

Thanks-To:  Jake Dallimore <jake@moodle.com>
2019-06-14 13:04:37 +02:00
Paul Holden 564753102d MDL-65181 mod_data: show required field indicator for textarea fields. 2019-06-14 09:58:18 +01:00
Nicolas Roeser 91916adde5 MDL-65893 webservice: format site name (handle language tags etc.)
Allow web service clients (like the Moodle App) to benefit from a
formatted (filtered) site name. Select the filtered (localized etc.)
string on server side, before it is sent to the web service client.

For example, this translates a site name which uses language tags in
curly braces when using the filter_multilang2 plugin.

Thanks-To: Juan Leyva <juan@moodle.com>
Thanks-To: Kathrin Osswald <kathrin.osswald@uni-ulm.de>
2019-06-14 10:38:32 +02:00
Amaia Anabitarte 7af3ae4834 MDL-65869 behat: Moving @app behat tests from core to moodlemobileapp
As described in MDL-65869 we are moving @app behat tests to
https://github.com/moodlehq/moodle-local_moodlemobileapp to be easier to maintain
and be sure are working with different mobile versions.
So we are not deprecating tests from core, just removing them because will be
in a different location.
2019-06-14 10:17:17 +02:00
Jun Pataleta fdfd266454 MDL-65910 report_stats: Add stattype query condition for consistency 2019-06-14 13:01:32 +08:00
Mihail Geshoski f3e11eef99 MDL-65665 forum: WS does not respect subscribe on reply user preference 2019-06-14 08:45:59 +08:00
Mihail Geshoski 94c5e0ade7 MDL-65665 forum: Add unit test 2019-06-14 08:45:59 +08:00
Tim Hunt 55929d8a49 MDL-65864 question engine: fix re-saving a new usage
Before this fix, test_repeated_usage_saving_new_usage was failing but
test_repeated_usage_saving_existing_usage was passing. Now the
behaviour is consistent and they both pass.
2019-06-13 18:01:54 +01:00
Eloy Lafuente (stronk7) d0b1204d8e weekly release 3.7+ 2019-06-13 18:15:48 +02:00
Eloy Lafuente (stronk7) 81a3d127b1 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-06-13 18:15:46 +02:00
Shamim Rezaie 4f7eaa8b46 MDL-65666 mod_forum: Highlight unread posts count in the discussion list 2019-06-14 01:26:36 +10:00
Shamim Rezaie 9b6a5a9b24 MDL-65786 mod_forum: mark posts as read when they are read 2019-06-13 23:34:03 +10:00
Shamim Rezaie c3c8dfeb51 MDL-65786 mod_forum: re-adding the unread count to the social format 2019-06-13 23:34:03 +10:00
Shamim Rezaie 07f8abfb30 MDL-65786 mod_forum: pass parameter to str helper when loading strings
We should not concatenate strings. We should make use of the {$a}placeholder instead.
2019-06-13 23:34:03 +10:00
Andrew Nicols 54c6679153 Merge branch 'MDL-65814-37' of git://github.com/junpataleta/moodle into MOODLE_37_STABLE 2019-06-13 11:44:15 +08:00
Jun Pataleta 089fbd15cc MDL-65814 block_timeline: Bring back item counts for action events 2019-06-13 11:32:03 +08:00
Jun Pataleta 7132749e18 Merge branch 'MDL-55997-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-06-13 10:28:56 +08:00
Peter 9ca2c8dc52 MDL-55997 core_reports: modify user stats query to fix duplicate rows 2019-06-13 07:46:22 +08:00
Eloy Lafuente (stronk7) f55a4c094e Merge branch 'MDL-64484-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-06-12 20:08:12 +02:00
Eric Merrill 3a3a212405 MDL-65904 theme: Compile fallback css in the correct order 2019-06-12 13:08:54 -04:00
Paul Holden ad7d0f05de MDL-65884 filters: update exclusive separator characters for tags.
The previous characters mangled the output of filtered text, exhibited
in the activity names filter for activities named '-' (single hyphen).
2019-06-12 17:10:21 +01:00
Paul Holden 0998cf8010 MDL-64484 user: cross-DB compatible profile field ordering. 2019-06-12 17:02:32 +01:00
Jun Pataleta 3766be85b2 Merge branch 'MDL-65803-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-06-12 13:58:45 +08:00
Andrew Nicols 83273d25b9 Merge branch 'MDL-65703-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2019-06-12 12:39:05 +08:00
Peter b798b05411 MDL-65803 recentlyaccesseditems: Restrict response to valid courses.
* Additional hooks to cleanup data when a course or module is deleted
* Augmented unit tests to cover the situation when a course is deleted
* Upgrade step to cleanup existing data
2019-06-12 12:16:22 +08:00
Andrew Nicols 7eb50a3753 Merge branch 'MDL-65829_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-06-12 10:33:03 +08:00
Andrew Nicols 4a4b4e28a4 Merge branch 'MDL-64484-37' of https://github.com/paulholden/moodle into MOODLE_37_STABLE 2019-06-12 09:01:21 +08:00
sam marshall 42c31d53c8 MDL-65806 Search: Solr does not find words in italic 2019-06-11 16:42:20 +01:00
Paul Holden ea770fe8c8 MDL-64484 user: show full profile field name in filter element. 2019-06-11 14:25:19 +01:00
David Mudrák 434a580558 MDL-65888 forum: Do not send notifications to unconfirmed users
Under certain conditions, users marked as not confirmed yet may be
returned as forum notification recipients. Such users are considered as
inactive though and the delivery adhoc task cannot be run as these
users, throwing an exception.

The solution is to make sure that fetch_subscribed_users() does not
include unconfirmed users, similarly to what was done for suspended
users and nologin users.

The added unit test also checks for deleted users. But these should
never be returned as subscribed because we consider enrolled users only
and deleted users are filtered out implicitly.
2019-06-11 09:49:59 +02:00
Andrew Nicols 9a7a447722 Merge branch 'MDL-65779-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-06-11 12:07:58 +08:00
Andrew Nicols 1bf28ecb43 Merge branch 'MDL-65817_37' of git://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-06-11 11:06:13 +08:00
Andrew Nicols 9c99a5da5c Merge branch 'MDL-65183-MOODLE-37' of https://github.com/kristian-94/moodle into MOODLE_37_STABLE 2019-06-11 11:02:06 +08:00
Jun Pataleta 95008df6d9 Merge branch 'MDL-65336-37' of git://github.com/aanabit/moodle into MOODLE_37_STABLE 2019-06-10 19:37:15 +08:00
Jun Pataleta f499fa90f1 Merge branch 'MDL-55592-37' of git://github.com/damyon/moodle into MOODLE_37_STABLE 2019-06-10 15:25:05 +08:00
Andrew Nicols 015b617739 Merge branch 'm37_MDL-61038_Fix_uuid_extensions_usage_v2' of https://github.com/scara/moodle into MOODLE_37_STABLE 2019-06-10 14:11:07 +08:00
Matteo Scaramuccia 423c1d6c50 MDL-61038 setuplib: Fixed PECL UUID extension support 2019-06-08 22:35:37 +02:00
Amaia Anabitarte c4bee8e510 MDL-65336 core_message: New muted conversation generator and selectors 2019-06-07 10:41:08 +02:00
Amaia Anabitarte 023ea98fc1 MDL-65336 core_message: Behat tests for mute/unmute conversations 2019-06-07 10:41:08 +02:00
Peter f1e0128a43 MDL-65469 mod_forum: Use the formchange checker initializer 2019-06-07 08:49:10 +08:00
Peter 167b85e60c MDL-65469 core: Expose formchecker to initialize current form state 2019-06-07 08:49:10 +08:00
AMOS bot 4b6e850e68 Automatically generated installer lang files 2019-06-07 00:09:47 +00:00
Kristian Ringer e48dd422f9 MDL-65183 block_timeline: escape newline characters 2019-06-07 09:36:24 +10:00
Eloy Lafuente (stronk7) dc8b92e0b2 MDL-65817 behat: switch to forked repo towards php73 compatibility
It seems that https://github.com/instaclick/php-webdriver/pull/91
is being ignored (in fact the repository itself doesn't show much
activity). So we have decided to fork it and apply any fix able
to keep our (non-marionette) runs working.

Hopefully, soon, the new W3C drivers will be supported by our
behat->mink stack... and we'll be able to move to it (from current
JSonwire drivers). So all this will be hostory.
2019-06-06 19:50:44 +02:00
David Monllaó 840d6ba543 MDL-65829 analytics: Accept enrol start time after analysis time 2019-06-06 19:05:51 +02:00
Eloy Lafuente (stronk7) 078699a1a5 weekly release 3.7+ 2019-06-06 16:46:52 +02:00
Eloy Lafuente (stronk7) c0266bdaf6 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-06-06 16:46:50 +02:00
Damyon Wiese 46f7f67db1 MDL-55821 assign: Show assign grade
When marking workflow is enabled and the grade is not released yet,
it would be helpful to show the assignment grade in the grading form.
2019-06-06 14:27:01 +08:00
Damyon Wiese e8b50bbe34 MDL-64383 user: Make username required
Username is a required field, we should indicate this even if it has a help icon.
2019-06-06 13:28:29 +08:00
AMOS bot 33113481b5 Automatically generated installer lang files 2019-06-06 00:08:17 +00:00
Jun Pataleta 8f11f7741a Merge branch 'MDL-65787-37' of git://github.com/sarjona/moodle into MOODLE_37_STABLE 2019-06-05 17:24:18 +08:00
Sara Arjona b31ec4dfbf MDL-65787 badges: fix warning count() with PHP 7.2 2019-06-05 11:03:11 +02:00
Sara Arjona 2b63da7763 Merge branch 'MDL-65777-37' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-06-05 09:01:00 +02:00
Mihail Geshoski 24bc58278f MDL-65777 assignment: Respect user full name in downloaded submissions 2019-06-05 11:14:51 +08:00
Adrian Greeve b59f56c259 Merge branch 'MDL-65731_37' of https://github.com/timhunt/moodle into MOODLE_37_STABLE 2019-06-05 10:40:41 +08:00
AMOS bot 29e40f3c13 Automatically generated installer lang files 2019-06-05 00:08:19 +00:00
Eloy Lafuente (stronk7) d2707c2d28 Merge branch 'MDL-65689-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-06-04 23:32:20 +02:00
Eloy Lafuente (stronk7) 898befb275 Merge branch 'MDL-65578-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-06-04 23:30:36 +02:00
Eloy Lafuente (stronk7) 938267b43a Merge branch 'MDL-65576-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-06-04 21:40:00 +02:00
Eloy Lafuente (stronk7) f9f5f5ddc8 Merge branch 'm37_MDL-65686_Fix_Incorrect_Function_Call' of https://github.com/scara/moodle into MOODLE_37_STABLE 2019-06-04 20:04:55 +02:00
Simey Lameze ca66ad24c8 MDL-65703 calendar: do not add course param for site calendar 2019-06-04 19:37:35 +08:00
Andreas Grabs e1f4756dfb MDL-65703 core_calendar: fix user event type filtering logic 2019-06-04 19:37:34 +08:00
Mathew May 12e04336a0 MDL-65658 mod_forum: Update the group image titles 2019-06-04 11:50:37 +02:00
Jun Pataleta 266aa66267 Merge branch 'MDL-65696-MOODLE-37' of https://github.com/kristian-94/moodle into MOODLE_37_STABLE 2019-06-04 16:54:52 +08:00
Peter af098adec2 MDL-65779 mod_forum: Add privatereplies to the backup process 2019-06-04 12:21:15 +08:00
Andrew Nicols 202cfa2987 MDL-65656 analytics: Stop covering memory-intensive tests 2019-06-04 11:18:49 +08:00
Andrew Nicols bafa907941 MDL-65656 core: Update composer.json for new PHPUnit version 2019-06-04 11:18:49 +08:00
AMOS bot f5131809c8 Automatically generated installer lang files 2019-06-04 00:08:14 +00:00
Eloy Lafuente (stronk7) 37c30f2249 Merge branch 'MDL-63240-37' of https://github.com/Kathrin84/moodle into MOODLE_37_STABLE 2019-06-03 17:57:49 +02:00
Eloy Lafuente (stronk7) 110a3639c3 Merge branch 'MDL-65660-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-06-03 17:51:43 +02:00
Eloy Lafuente (stronk7) 7631b43d33 Merge branch 'MDL-65675-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-06-03 17:37:21 +02:00
Sara Arjona a51f9bd003 Merge branch 'MDL-65658' of git://github.com/Chocolate-lightning/moodle into MOODLE_37_STABLE 2019-06-03 12:33:28 +02:00
AMOS bot e998b14686 Automatically generated installer lang files 2019-06-03 00:08:17 +00:00
Kristian Ringer 5ed8d694ee MDL-65696 assign: Fix width of editpdf comments 2019-06-03 09:29:28 +10:00
Andrew Nicols f0782cc57b MDL-65578 forum: Hide action menu where no actions exist 2019-05-31 12:43:52 +08:00
Mathew May 33b74df149 MDL-65658 mod_forum: Group images links and titles groups
After a change in Moodle 3.6 some links & titles went missing.
Here I am adding them back & incresing the output image to 100x100px
2019-05-31 08:17:59 +08:00
Andrew Nicols 24e0b238d3 MDL-65576 behat: Reset Selenium driver between scorm scenarios 2019-05-31 08:09:00 +08:00
Peter dfddaa8ab6 MDL-65660 mod_forum: Allow guest users to view post buttons and links
For a self enrolment enabled course allow guest users to see the add
discussion and reply buttons
2019-05-31 07:07:13 +08:00
Eloy Lafuente (stronk7) 57b83a4f41 MDL-64794 tcpdf: Bump to tcpdf 6.2.26 2019-05-30 23:48:14 +02:00
Matteo Scaramuccia c9be953f05 MDL-65686 setuplib: Fix missing round brackets 2019-05-30 22:42:21 +02:00
Eloy Lafuente (stronk7) 794391b978 weekly release 3.7+ 2019-05-30 12:18:38 +02:00
Eloy Lafuente (stronk7) a7df733250 Merge branch 'install_37_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_37_STABLE 2019-05-30 12:18:36 +02:00
Tim Hunt 15d5c9a276 MDL-65731 quiz manual grading: fix ambiguous order by idnumber 2019-05-29 16:55:01 +01:00
Kathrin Osswald ec60f63f59 MDL-63240 theme Boost: Removed z-indexes for border styling in navdrawer 2019-05-29 17:52:36 +02:00
Marina Glancy a024a024e8 MDL-65726 core_roles: allow to create roles in install.php 2019-05-29 10:47:36 +02:00
Damyon Wiese 09304bcbff MDL-55592 lti: Forget the key and secret
When the "Enter your consumer key and shared secret" form is displayed,
it should not contain the same values it had the last time it was opened.
2019-05-29 13:59:38 +08:00
Adrian Greeve 53ef327e54 Merge branch 'MDL-57729-37' of git://github.com/mihailges/moodle into MOODLE_37_STABLE 2019-05-29 11:40:48 +08:00
Adrian Greeve 685a71917b Merge branch 'MDL-65726-37' of git://github.com/marinaglancy/moodle into MOODLE_37_STABLE 2019-05-29 11:07:42 +08:00
Mihail Geshoski 04288af505 MDL-57729 enrol_lti: Escape the property values of the xpath elements 2019-05-29 09:56:52 +08:00
Jake Dallimore 4ac6149680 Merge branch 'MDL-65326-MOODLE_37_STABLE' of https://github.com/dmitriim/moodle into MOODLE_37_STABLE 2019-05-29 09:29:44 +08:00
AMOS bot 308046f1bc Automatically generated installer lang files 2019-05-29 00:09:19 +00:00
Marina Glancy d6c2bf620c MDL-65726 role: do not fail unittest if plugins create their roles 2019-05-28 19:08:29 +02:00
Adrian Greeve 8869cf8cd9 Merge branch 'MDL-65705-37' of git://github.com/sarjona/moodle into MOODLE_37_STABLE 2019-05-28 16:28:50 +08:00
Sara Arjona b32974f12a MDL-65705 badges: fix issued date for external badges
The preg_match('~^[1-9][0-9]*$~', x) calls have been replaced to
is_numeric(x).
2019-05-28 09:26:00 +02:00
Ryan Wyllie 48b3e4e9b2 MDL-65657 message: reduce message poll timer for behat tests 2019-05-28 14:06:05 +08:00
Jun Pataleta 4996f75a3b Merge branch 'MDL-65697-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2019-05-28 13:31:21 +08:00
Jake Dallimore bf2cecc440 Merge branch 'MDL-65692-37' of git://github.com/abgreeve/moodle into MOODLE_37_STABLE 2019-05-28 13:27:01 +08:00
Dmitrii Metelkin ec920f7901 MDL-65326 backup: check caps exist before assigning 2019-05-28 11:17:24 +10:00
Jun Pataleta 1131af4409 Merge branch 'MDL-65606-37' of https://github.com/Chocolate-lightning/moodle into MOODLE_37_STABLE 2019-05-27 16:27:30 +08:00
Jake Dallimore 46d8ffcefa Merge branch 'MDL-64330-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-05-27 15:22:57 +08:00
Andrew Nicols e2ea9b4c09 MDL-64330 course: Correct course test assumptions 2019-05-27 15:08:25 +08:00
Adrian Greeve 523efc4cd0 Merge branch 'MDL-65699-37' of http://github.com/dravek/moodle into MOODLE_37_STABLE 2019-05-27 14:53:36 +08:00
Andrew Nicols 3f853115e9 Merge branch 'MDL-65708-37' of git://github.com/Chocolate-lightning/moodle into MOODLE_37_STABLE 2019-05-27 14:46:09 +08:00
Mathew May 8a8a02c903 MDL-65606 mod_data: Add approvalstatusclass to template 2019-05-27 13:39:36 +08:00
Ryan Wyllie 946533c623 MDL-65657 message: revert polling timeout back to old algorithm 2019-05-27 13:29:02 +08:00
Mathew May 1f686d7fdf MDL-65708 output: Get a base config from Boost
As a part of the removal of bootstrapbase & clean
I removed some logic that got the base config of bootstrapbase,
this should of been changed to get boosts config.
See: e00f1c663c
2019-05-27 13:21:24 +08:00
Andrew Nicols 4e9e994da4 MDL-65675 forum: Remove duplicate Re in subjects 2019-05-27 12:22:16 +08:00
Adrian Greeve 3ce4575dc0 Merge branch 'MDL-64523-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-05-27 10:49:22 +08:00
David Monllaó 88dfc54de9 MDL-65680 analytics: Fix random failure on slow test environments 2019-05-27 09:42:41 +08:00
AMOS bot d855dcd29e Automatically generated installer lang files 2019-05-25 00:08:34 +00:00
AMOS bot 5d4bf77a16 Automatically generated installer lang files 2019-05-25 00:08:33 +00:00
Shamim Rezaie fc00a6641c MDL-65689 task: fix typo in help string 2019-05-25 05:19:40 +10:00
Shamim Rezaie cee73270c7 MDL-64523 core_access: replace .delegate with .on
As of jQuery 3.0, .delegate() has been deprecated. It was superseded by
the .on() method since jQuery 1.7, so its use was already discouraged.
2019-05-25 04:27:54 +10:00
Shamim Rezaie 245de290f7 MDL-64523 core_access: Fix js racing issue when overriding permissions 2019-05-25 04:27:53 +10:00
Shamim Rezaie 1a6160df3c MDL-64523 core_access: Improve the title of the delete role links 2019-05-25 04:27:53 +10:00
Sara Arjona 2a3df3d55c Merge branch 'MDL-65060-37' of git://github.com/aanabit/moodle into MOODLE_37_STABLE 2019-05-24 12:35:25 +02:00
David Matamoros c227fc61f1 MDL-65699 core_calendar: Check string exists for event types 2019-05-24 12:20:59 +02:00
Amaia Anabitarte 38a9ba9bcd MDL-65060 core_message: Delete messages behat test 2019-05-24 12:15:44 +02:00
Simey Lameze a4e309709d MDL-65697 qtype_missingtype: include missing class 2019-05-24 07:02:10 +08:00
Eloy Lafuente (stronk7) e39f3b7db2 weekly release 3.7+ 2019-05-23 20:35:31 +02:00
Amaia Anabitarte 2a64720ac8 MDL-65060 core_message: Group message data generator 2019-05-23 15:31:19 +02:00
Eloy Lafuente (stronk7) cf0307a529 Merge branch 'MDL-65695-37' of git://github.com/andrewnicols/moodle into MOODLE_37_STABLE 2019-05-23 10:50:36 +02:00
Eloy Lafuente (stronk7) c4758ab813 Merge branch 'MDL-65694-37-gradeclassnotfound' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2019-05-23 10:33:26 +02:00
Andrew Nicols d2c91281db MDL-65695 forum: Bump digest time to next day if in past 2019-05-23 15:06:23 +08:00
Adrian Greeve 9a88b8ec35 MDL-65692 backup: Default settings set on install and upgrade.
Asynchronous backup settings are now filled out with the defaults
on installation and upgrade.
2019-05-23 14:54:19 +08:00
David Mudrák 7a2beab44e MDL-65694 grade: Fix missing gradelib library
In the be8f453b74 the gradelib loading was removed by mistake. So
the library may not be loaded and executing the task may end with
the exception - class 'grade_grade' not found.
2019-05-23 07:48:54 +02:00
Tim Hunt a586240cc0 MDL-55197 filter_multilang: handle 'en' as parent lang better 2019-05-23 11:58:58 +08:00
Tim Hunt d2680dbb27 MDL-55197 filter_multilang: move preg_callback fn into class 2019-05-23 11:58:58 +08:00
Andrew Nicols c5b884bd51 Merge branch 'MDL-59650-37' of git://github.com/lameze/moodle into MOODLE_37_STABLE 2019-05-23 10:29:00 +08:00
Adrian Greeve 5d5313537b Merge branch 'MDL-65549_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-05-23 10:10:25 +08:00
Adrian Greeve 5e6bc1b0f3 Merge branch 'MDL-65634_37' of git://github.com/dmonllao/moodle into MOODLE_37_STABLE 2019-05-23 09:54:47 +08:00
Andrew Nicols 65d4f096db Merge branch 'MDL-65654-37' of https://github.com/danielneis/moodle into MOODLE_37_STABLE 2019-05-23 09:49:20 +08:00
Adrian Greeve cb69e26b15 Merge branch 'MDL-64530_37' of git://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-05-23 09:23:01 +08:00
Simey Lameze f25a7d2ac7 MDL-59650 core_calendar: remove limit from calendar UI 2019-05-23 08:40:00 +08:00
Simey Lameze de760475cf MDL-59650 core_calendar: remove limit from event exporter 2019-05-23 08:40:00 +08:00
Amaia Anabitarte a3824e559b MDL-65060 core_message: Group_message_message_content selector 2019-05-22 18:56:27 +02:00
Ryan Wyllie 67b64f85e9 MDL-65060 core_message: add render buffer to conversations
Change the conversation logic to render using a buffer so that we can
immediately save state. The render patches are based on the state so
the UI will always reach eventual consistency with the state since the
patches are processed in order.
2019-05-22 18:56:27 +02:00
Sara Arjona ac11f60853 Merge branch 'MDL-65661-37' of git://github.com/peterRd/moodle into MOODLE_37_STABLE 2019-05-22 14:57:56 +02:00
Tim Hunt 09558248e8 MDL-65636 filter_multilang: add some basic unit tests
This commit includes suggestions from Jun Pataleta on how to improve the
unit tests.
2019-05-22 19:36:55 +08:00
Peter d186ba2f81 MDL-65661 block_myoverview: Truncate category name 2019-05-22 19:34:54 +08:00
Peter 7ee550a943 MDL-65661 core_course: Truncate long course names 2019-05-22 19:34:54 +08:00
David Monllaó e260354fc9 MDL-65067 tool_analytics: Limit update_end_date to format_weeks 2019-05-22 16:31:03 +08:00
Didier 'OdyX' Raboud cd9c54c93c MDL-65067 analytics: Strengthen format_weeks detection
The public function get_section_dates($section, $startdate = false) is
only defined in format_weeks, not in format_base.

As other formats can (and format_topcoll has) declare a different
get_section_dates public method, merely checking that it exists is not
sufficient to guarantee that it can be called with just a section object.

Check that the format either is, or is a subclass of format_weeks.
2019-05-22 16:30:52 +08:00
Paul Holden 2cd4e5f8dc MDL-64784 core: update tablelib tests for explicit sort direction. 2019-05-22 14:49:41 +08:00
Paul Holden 8978731b82 MDL-64784 core: consistent column sort direction in flexible_table. 2019-05-22 14:49:28 +08:00
Andrew Nicols 5c06a1935b Merge branch 'MDL-65590-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-05-22 13:52:34 +08:00
Jun Pataleta c04e89b086 Merge branch 'MDL-65591-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-05-22 11:06:39 +08:00
Andrew Nicols 4909257b07 Merge branch 'MDL-65630-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-05-22 09:42:38 +08:00
Daniel Neis Araujo 695675483f MDL-65654 tool_uploaduser: Fix undefined variable warning 2019-05-21 14:02:03 -03:00
David Monllaó c3217a6b0d MDL-65549 tool_analytics: Reduce the context name length in models_view 2019-05-21 17:29:23 +02:00
David Monllaó 21527bf096 MDL-65634 analytics: Discard late and early student enrolments 2019-05-21 17:24:17 +02:00
Sara Arjona 8178cf1bb9 Merge branch 'MDL-65605-37' of git://github.com/rezaies/moodle into MOODLE_37_STABLE 2019-05-21 13:47:39 +02:00
Jun Pataleta bc4f56abc3 Merge branch 'MDL-65274-37' of git://github.com/jleyva/moodle into MOODLE_37_STABLE 2019-05-21 18:49:25 +08:00
Víctor Déniz Falcón 0864ebc14c MDL-60407 report_insights: Fix redirect when action on last prediction
When an actions is taken on the last prediction, the predictions
list page is reloaded.
2019-05-21 18:45:42 +08:00
Adrian Greeve 31354cc381 Merge branch 'MDL-65572-37' of git://github.com/damyon/moodle into MOODLE_37_STABLE 2019-05-21 15:20:30 +08:00
Andrew Nicols 422a34a6f5 Merge branch 'MDL-65644_37' of git://github.com/stronk7/moodle into MOODLE_37_STABLE 2019-05-21 12:51:49 +08:00
Shamim Rezaie d16540aa88 MDL-65590 tool_customlang: Escape html on the standard text field 2019-05-21 14:21:04 +10:00
Adrian Greeve d3a76147e0 Merge branch 'MDL-65655-37-forumcroninactiveusers' of git://github.com/mudrd8mz/moodle into MOODLE_37_STABLE 2019-05-21 11:39:58 +08:00
Eloy Lafuente (stronk7) c48f2c90cc MDL-64530 travis: Enabble PHP 7.3 and redis cache
This commit performs a number of changes:

- Enables PHP 7.3, replacing PHP 7.2 (max/min approach).
- Enables back the redis service
- Configures redis cache store tests to be run.
- Disables redis session tests for PHP 7.2 and up (MDL-60978)
2019-05-21 01:28:23 +02:00
Eloy Lafuente (stronk7) 1f2cde345a MDL-65644 upgrade: add 3.7.0 separation line to all upgrade scripts 2019-05-20 19:36:01 +02:00
David Mudrák e31f62a788 MDL-65655 forum: Do not send notifications to inactive users
We cannot deliver notifications to users who had subscribed to a forum
or discussion and were later inactivated either by suspending or setting
the auth method to nologin. The deliver adhoc task cannot be run as
these users, throwing the "Suspended account" exception.

The solution is to make sure that fetch_subscribed_users() does not
include those inactive users.
2019-05-20 18:46:35 +02:00
Shamim Rezaie 171a83f79b MDL-65591 tool_customlang: Re-adding the save buttons at the bottom 2019-05-21 02:21:24 +10:00
Juan Leyva a137762fec MDL-65274 mod_quiz: Do not return a translated string
We should be returning proper error codes and the translated string can be part of the debug information.
2019-05-20 15:55:18 +02:00
Shamim Rezaie b52ceb2972 MDL-65630 mod_quiz: Allow redo within an attempt with random questions 2019-05-20 23:50:21 +10:00
Shamim Rezaie 400239c7c5 MDL-65630 mod_quiz: Move logging in to the start of tests
The background is for set up, the scenario is for the test. Logging in
to start the test is the start of the test and the end of the background
itself.
2019-05-20 23:50:20 +10:00
Shamim Rezaie 159f904af5 MDL-65605 core_question: Fix the issue when get_draft_files returns nul 2019-05-20 23:49:13 +10:00
Shamim Rezaie a01edef5be MDL-65605 mod_lesson: Fix the issue when get_draft_files returns null 2019-05-20 23:49:13 +10:00
Damyon Wiese cfa7d2653c MDL-65572 messaging: Loginas upgrade check
When using login as, we also need to check if there are legacy messages that
need updating and set the user preference if required.
2019-05-20 09:15:13 +08:00
Eloy Lafuente (stronk7) 89457b26d1 Moodle release 3.7 2019-05-19 11:18:34 +02:00
Eloy Lafuente (stronk7) c0f098cd57 NOBUG: Change travis.yml to MOODLE_37_STABLE 2019-05-19 11:18:34 +02:00
Eloy Lafuente (stronk7) a67061dc4a Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-05-19 11:18:30 +02:00
Eloy Lafuente (stronk7) 117e4bd40d MDL-65635 forum: Small improvement to the submit inline-reply
This commit mimics 100% the behavior achieved with the
parent commit of this when using the advance option.

1) Rename the 'tohtml' option to 'topreferredformat' to better
represent what it's doing.

2) Always honor the preferred format (this is a new post).

3) Only perform the conversion to HTML when the preferred format is
HTML.

That way any user, no matter thy are using format MOODLE (plain textbox),
MARKDOWN (marklar editor) or HTML (atto and tinymce editor) will
get always the format correct and the contents ready to be edited if
desired. HTML ones converted to HTML and TEXT ones unmodified.
2019-05-19 10:42:59 +02:00
Eloy Lafuente (stronk7) 743d66bfbd MDL-65635 forum: Small improvement to the advanced button
1) Always honor the preferred format (this is a new post).
2) Only perform the conversion to HTML when the preferred format is
HTML.

This way, users having HTML as format (because of their editor
preference) will get the inline-reply converted to HTML and the
editor displayed.

And users not having HTML as format (because of their edito preference)
will get the format set to their format (PLAIN, MOODLE or MARKDOWN) with the
contents unmodified. Of course, if anybody is using a PLAIN, MOODLE or
MARKDOWN editor... it will be displayed.
2019-05-19 10:42:59 +02:00
Sara Arjona f6548dfbae MDL-65635 forum: convert inline reply format when opening the advanced
When a inline reply post is written and the user changes to the
advanced edition, the post format has to be converted from FORMAT_MOODLE.
2019-05-19 10:42:59 +02:00
Sara Arjona 88f6ca6cbe MDL-65635 forum: Add messageformat and tohtml params to inline-reply
The messageformat and tohtml params have been added to the addDiscussionPost
method to send the original format the contents are written and to force
to convert them from "messageformat" to HTML.
2019-05-19 10:42:59 +02:00
Eloy Lafuente (stronk7) f2eb04c170 MDL-65635 forum: add_discussion_post() format support changes
While keeping BC as possible (format will be saved as FORMAT_HTML
as default and content not modified), this commit includes these
changes:

- A new parameter 'messageformat', defaults to FORMAT_HTML.
- A new option 'tohtml', enabling the function to convert content
  in other formats to FORMAT_HTML before saving them.
2019-05-19 10:42:59 +02:00
Eloy Lafuente (stronk7) 429649efbf Merge branch 'MDL-65641' of git://github.com/stronk7/moodle 2019-05-19 10:23:36 +02:00
Eloy Lafuente (stronk7) b6c3b130c4 MDL-65641 forum: Make forum post form to honor existing MOODLE_FORMAT
Since the night of the times (MDL-16698) we have been performing
that simple empty($post->messageformat) check to decide if the
preferred editor format should be used, instead of any existing format.

Problem is that FORMAT_MOODLE == 0, so the condition evaluates
to to true and then the preferred editor takes the baton when it should
not. Exiting format must win always!

So this just makes the condition a little better, checking if the
attribute is set and that it's numerical (accepting both n and 'n').

That covers the FORMAT_MOODLE case and any other valid format. Only if the
conditions aren't met the preferred editor format takes the baton. Only
then.
2019-05-18 11:02:29 +02:00
AMOS bot fa53cd8b98 Automatically generated installer lang files 2019-05-18 00:12:30 +00:00
AMOS bot 136d8c97de Automatically generated installer lang files 2019-05-17 00:14:21 +00:00
Eloy Lafuente (stronk7) 49f2581ef8 Moodle release 3.7rc2 2019-05-16 10:57:08 +02:00
Jake Dallimore d08358b866 Merge branch 'MDL-65619-master' of git://github.com/aanabit/moodle 2019-05-16 15:14:27 +08:00
Jun Pataleta 1cc57c5d10 Merge branch 'MDL-65608-master' of https://github.com/ryanwyllie/moodle 2019-05-16 15:05:47 +08:00
Adrian Greeve d15589bc08 Merge branch 'MDL-65601_master' of git://github.com/dmonllao/moodle 2019-05-16 13:25:44 +08:00
Jun Pataleta 44e148df79 Merge branch 'MDL-65607-master' of git://github.com/mihailges/moodle 2019-05-16 12:56:51 +08:00
Mihail Geshoski b84f79ec80 MDL-65607 forum: Add prefix to forum global functions 2019-05-16 11:49:37 +08:00
Jun Pataleta c92a33a5ec Merge branch 'MDL-65603-master' of git://github.com/peterRd/moodle 2019-05-16 11:01:57 +08:00
Jun Pataleta 7383512e04 Merge branch 'MDL-65610-master' of git://github.com/damyon/moodle 2019-05-16 10:35:59 +08:00
Ryan Wyllie f9d986fa2a MDL-65608 forum: check if group exists in discussion exporter 2019-05-16 09:50:38 +08:00
Eloy Lafuente (stronk7) 838dd0b2a6 Merge branch 'MDL-65566-master-jake' of https://github.com/snake/moodle 2019-05-15 19:48:15 +02:00
Amaia Anabitarte 92717f89a5 MDL-65619 core_message: Don't unset default notification preferences
Default notification preferences are not kept when a notification provider is disabled.
2019-05-15 18:40:13 +02:00
Sara Arjona a5cdecee34 Merge branch 'MDL-65596-master' of git://github.com/bmbrands/moodle 2019-05-15 14:19:45 +02:00
Jake Dallimore 7918a0ea4c MDL-65566 core_message: let get_self_conversation use lazy init too 2019-05-15 18:46:41 +08:00
Jake Dallimore 510ede5698 MDL-65566 core_message: fix bug allowing duplicate unique conversations
Individual and self conversations may exist once only, so we need to
enforce this in the creation method.
2019-05-15 18:46:39 +08:00
Jake Dallimore 0e0e1b4552 MDL-65566 core_user: remove the conversation creation code from lib.php
These are now lazy created in the messaging APIs, so we don't need
to create them on user creation any more.
2019-05-15 18:42:47 +08:00
Sara Arjona 18e5f9bef8 MDL-65566 core_message: create the self-conversation when needed
Instead of creating all the self-conversations during the upgrading,
some code has been added to the get_conversations and to the
get_conversation_counts to create it whe it doesn't exist.
2019-05-15 18:42:46 +08:00
Sara Arjona 384145b1d1 Merge branch 'MDL-65528-master' of git://github.com/peterRd/moodle 2019-05-15 12:14:46 +02:00
Peter d7ddc44fbd MDL-65603 mod_forum: Add check for property existence 2019-05-15 16:50:49 +08:00
Jun Pataleta 64d680c271 Merge branch 'MDL-65583_master' of git://github.com/dmonllao/moodle 2019-05-15 15:57:05 +08:00
David Monllaó 589a3f57a0 MDL-65601 analytics: Add missing set_modelid calls 2019-05-15 09:34:35 +02:00
Jun Pataleta 2b8ffcc89f Merge branch 'MDL-65599-master' of git://github.com/damyon/moodle 2019-05-15 15:24:12 +08:00
Jun Pataleta 802f7c483c Merge branch 'MDL-65570-master' of git://github.com/lameze/moodle 2019-05-15 14:58:35 +08:00
Jun Pataleta 38b3b6b264 Merge branch 'MDL-65577-master' of https://github.com/ryanwyllie/moodle 2019-05-15 13:47:26 +08:00
Damyon Wiese 453120e940 MDL-65610 lti: ltiversion field optional
The ltiversion field only exists for some preconfigured tool types.
2019-05-15 13:46:56 +08:00
Ryan Wyllie f2eb9de442 MDL-65577 forum: move forum focus outline onto post div 2019-05-15 12:30:49 +08:00
Jun Pataleta 2135d33ae6 Merge branch 'MDL-65393-master' of git://github.com/rezaies/moodle 2019-05-15 10:52:57 +08:00
Damyon Wiese 54d09c47ec MDL-65599 competencies: Javascript optional param
The module id is expected to be an integer for this webservice, passing
an empty string will generate an exception.
2019-05-15 10:02:04 +08:00
Peter 56e9b6d67d MDL-65603 mod_forum: Recall inline private reply 2019-05-15 09:50:46 +08:00
Simey Lameze c970e181c7 MDL-65570 qtype_multianswer: use unique id function 2019-05-15 09:05:37 +08:00
Shamim Rezaie abbf6e5499 MDL-65393 core: Peer review amendments
- defining and using constand properties instead of hard-coded values
- Fixing the docblock for the cleanup_recent_session_locks function
2019-05-15 02:30:48 +10:00
Ilya Tregubov dbed8bdb86 MDL-65393 core: Make session history cleanup more aggressive. 2019-05-15 02:22:23 +10:00
Bas Brands c516fc1105 MDL-65596 core_message: dropdown menu blocked by contact request message 2019-05-14 13:17:40 +02:00
Sara Arjona b742fe1403 Moodle release 3.7rc1 2019-05-14 12:11:25 +02:00
Jun Pataleta 65c9f44c68 Merge branch 'MDL-65569-master' of git://github.com/andrewnicols/moodle 2019-05-14 12:53:50 +08:00
Peter 76cf4db73e MDL-65528 mod_forum: Do not render add discussion if not permitted 2019-05-14 12:47:32 +08:00
Andrew Nicols 50b52ef4b2 MDL-65569 mod_forum: Correct rules for SSD
In a Single Simple Discussion forum, the first post can only be edited
by a user with the manageactivities capability, but all other posts
behave as normal.
2019-05-14 12:32:05 +08:00
Andrew Nicols e31f357e64 Merge branch 'MDL-65574-master' of https://github.com/ryanwyllie/moodle 2019-05-14 12:17:25 +08:00
Jun Pataleta af44f41701 Merge branch 'MDL-65536-master' of https://github.com/snake/moodle 2019-05-14 11:32:02 +08:00
Andrew Nicols b8b6bd7530 MDL-65536 mod_lti: JWT should use the class loader 2019-05-14 11:27:26 +08:00
Damyon Wiese db0ccfa922 MDL-65536 mod_lti: OpenSSL configuration
LTI 1.3 requires working openssl functions to generate a private
key used for the JWT. Some installs (e.g. windows) can have the
functions available - but require configuration in php before they
actually do anything.
2019-05-14 11:27:25 +08:00
Ryan Wyllie f31c531c19 MDL-65574 forum: fix return type for get_first_post_for_discussion_ids 2019-05-14 10:43:37 +08:00
Adrian Greeve d9b6bd9540 Merge branch 'MDL-65582_master' of git://github.com/dmonllao/moodle 2019-05-14 10:20:45 +08:00
Jun Pataleta fecf5b8566 Merge branch 'MDL-65557-master' of https://github.com/ryanwyllie/moodle 2019-05-14 09:52:36 +08:00
Ryan Wyllie 6489aa2a45 MDL-65557 forum: increase default image size of author profile url 2019-05-14 08:25:16 +08:00
David Monllaó a1fb183df0 MDL-65583 tool_analytics: Model name from a data attribute
The credit and the patch using this approach goes to David Mudrák.
2019-05-13 22:54:28 +02:00
Sara Arjona 2c02e93388 Merge branch 'MDL-65581-master' of git://github.com/bmbrands/moodle 2019-05-13 21:19:11 +02:00
David Monllaó bc2f679bca MDL-65582 analytics: Upcoming activities due enabled by default 2019-05-13 18:04:13 +02:00
Bas Brands c906aed8ab MDL-65581 core_blocks: change classname for hidden blocks
Changing the added class .invisible to .ivisibleblock to avoid hiding the block completely
2019-05-13 12:31:00 +02:00
Sara Arjona 146d2f650d Merge branch 'MDL-65564-master' of git://github.com/marinaglancy/moodle 2019-05-13 10:39:10 +02:00
Sara Arjona 30e66a263f Merge branch 'MDL-65224-master' of https://github.com/ewallah/moodle 2019-05-13 10:02:31 +02:00
Jun Pataleta 38c773d874 Merge branch 'MDL-65571' of git://github.com/stronk7/moodle 2019-05-13 15:47:52 +08:00
Sara Arjona 40b6e9eccf Merge branch 'MDL-65544-master' of git://github.com/damyon/moodle 2019-05-13 09:40:37 +02:00
Ryan Wyllie 9a6f29b019 MDL-65574 forum: discussion_list vault uses post table for author
Update the discussion_list vault to use the first post record from
the posts table join to get the author of the first post rather
than relying on it's own "userid" column which can be incorrect in
the case of split discussions.
2019-05-13 15:03:26 +08:00
Damyon Wiese 8f7fba80d1 MDL-65544 badges: Any all criteria
When testing any vs all aggregation method, we expect a different result
when we have looped all the competencies and they all passed or failed.
2019-05-13 10:50:05 +08:00
Adrian Greeve 7437b36652 Merge branch 'MDL-65560-master' of git://github.com/lameze/moodle 2019-05-13 09:43:58 +08:00
Jake Dallimore 63dd2951bb MDL-65536 mod_lti: fix stale platformid when wwwroot is changed
If the site is installed, and then the wwwroot changed, the plugin
config value for platformid for mod_lti is then stale, resulting in
OIDC errors. Given this config value was set using the wwwroot, we
should just be able to use the value of $CFG->wwwroot direcly, thus
avoiding this problem.
2019-05-13 09:09:18 +08:00
Eloy Lafuente (stronk7) 90a048e38b MDL-65571 versions: main version bump 2019-05-12 23:48:17 +02:00
Eloy Lafuente (stronk7) c9a1a6341c MDL-65571 versions: bump all versions and requires near release
version = 2019052000 release version
requires= 2019051100 current beta (week6roll2) version
2019-05-12 23:46:34 +02:00
Eloy Lafuente (stronk7) 6a7451ff1b Moodle release 3.7beta 2019-05-10 20:31:46 +02:00
Eloy Lafuente (stronk7) c3b8f0ceb3 Merge branch 'MDL-65537-master-enfix' of git://github.com/mudrd8mz/moodle 2019-05-10 20:07:50 +02:00
David Mudrák 14f7489675 MDL-65537 lang: Use fixed strings in tests, too 2019-05-10 12:37:03 +02:00
Sara Arjona 7fcc7e0125 Merge branch 'MDL-65518-master-fix1' of https://github.com/damyon/moodle 2019-05-10 11:58:50 +02:00
Eloy Lafuente (stronk7) d44bc84439 Merge branch 'MDL-65558-master' of git://github.com/andrewnicols/moodle 2019-05-10 11:29:53 +02:00
Marina Glancy c508bedcc3 MDL-65564 core_customfield: fix inplace editable 2019-05-10 11:01:18 +02:00
Helen Foster f715376907 MDL-65537 lang: Import fixed English strings (en_fix)
Significant string changes:

* isdataunique_help and isfieldrequired_help,core_customfield -
  explanatory wording
* forum:cantogglefavourite,mod_forum - 'Can toggle favourites.'
  changed to 'Star discussions'
2019-05-10 10:17:47 +02:00
Jun Pataleta f49c1dcd4a Merge branch 'MDL-65540-master' of git://github.com/andrewnicols/moodle 2019-05-10 15:59:16 +08:00
Damyon Wiese 084a42f9f5 MDL-65518 badges: Require the issuercontact
For Badges V2 we can't use just any email address to issue badges, it needs to be a valid
account on the backpack.
2019-05-10 15:51:27 +08:00
Simey Lameze e3e0c974ee MDL-65560 qtype_multichoice: prevent form change dialog 2019-05-10 13:28:50 +08:00
Andrew Nicols 80d5636595 MDL-65558 enrol_database: use , as port separator 2019-05-10 12:24:05 +08:00
Andrew Nicols 7991e3032c MDL-65558 auth_db: use , as port separator 2019-05-10 12:23:49 +08:00
Andrew Nicols 04a6cd7b44 Merge branch 'MDL-65520-master' of git://github.com/peterRd/moodle 2019-05-10 11:46:34 +08:00
Andrew Nicols b375f5731f MDL-63959 feedback: Adjust unit test for perf 2019-05-10 11:41:23 +08:00
Andrew Nicols 090fbe8653 Merge branch 'MDL-63959-master' of git://github.com/tobiasreischmann/moodle 2019-05-10 11:41:11 +08:00
Adrian Greeve cdc5c34030 Merge branch 'MDL-65457-master' of git://github.com/peterRd/moodle 2019-05-10 10:42:34 +08:00
Peter 9b8e599868 MDL-65457 mod_forum: Provide latest post's author
Provide an updated private replies restriction to latest post
Get the latest post's author and time which takes into account private replies.
2019-05-10 10:29:39 +08:00
Eloy Lafuente (stronk7) 08d40829e9 Merge branch 'MDL-65423-master' of git://github.com/jleyva/moodle 2019-05-09 21:48:26 +02:00
Eloy Lafuente (stronk7) bcf35812a3 Merge branch 'MDL-65197' of https://github.com/paulholden/moodle 2019-05-09 20:01:54 +02:00
Eloy Lafuente (stronk7) 0eda82e1d6 Merge branch 'MDL-29320-master' of git://github.com/junpataleta/moodle 2019-05-09 19:49:31 +02:00
Eloy Lafuente (stronk7) 97b6ea2c30 Merge branch 'MDL-65543-master' of git://github.com/andrewnicols/moodle 2019-05-09 19:38:27 +02:00
Sara Arjona 5ec0b3bc2e Merge branch 'master_MDL-65502' of https://github.com/danmarsden/moodle 2019-05-09 16:48:05 +02:00
Sara Arjona c9e526a4e7 MDL-65518 badges: some language improvements
Helen has suggested some wording changes to make easier to understand
some of the backpack settings.

Thanks a lot Helen!! :-)
2019-05-09 16:19:48 +02:00
Sara Arjona 8b0c8764b4 Merge branch 'MDL-65518-master' of git://github.com/damyon/moodle 2019-05-09 16:19:05 +02:00
Andrew Nicols ac8c12c7b5 MDL-65543 mod_forum: Move require_login before cap check 2019-05-09 19:34:01 +08:00
Jun Pataleta 2670aff7c1 Merge branch 'MDL-65445-qtype_ddwtos' of https://github.com/jonof/moodle 2019-05-09 15:58:45 +08:00
Shamim Rezaie c36c22d250 MDL-65540 core_search: Explicit component name in the str helper 2019-05-09 15:29:02 +08:00
Shamim Rezaie 9902e215a9 MDL-65540 tool_dataprivacy: Explicit component name in the str helper 2019-05-09 15:24:50 +08:00
Andrew Nicols 5ecdf55a51 Merge branch 'MDL-65479' of git://github.com/stronk7/moodle 2019-05-09 15:03:54 +08:00
Damyon Wiese 2fe34536d5 MDL-65518 badges: Retry auth test
When testing the site backpack login credentials, don't rely on a previous login
because the username and password could have changed.
2019-05-09 14:56:27 +08:00
Damyon Wiese c659b1c53d MDL-65518 badges: Default Issuer name
If the issuer name is not set, use the site name.
2019-05-09 14:56:27 +08:00
Damyon Wiese d48a52ddb1 MDL-65518 badges: Admin settings warning
If the backpack is changed to Open Badges V2 backpack,
attempt the authenticate with the site settings and return a warning
if it fails.
2019-05-09 14:56:21 +08:00
Andrew Nicols 6a5caed492 Merge branch 'MDL-65435' of git://github.com/stronk7/moodle 2019-05-09 14:51:05 +08:00
Sara Arjona 465ed6f107 Merge branch 'MDL-65523-master' of git://github.com/marinaglancy/moodle 2019-05-09 08:46:30 +02:00
Peter da04a0a918 MDL-65520 mod_forum: Add lock icon to indicate locked discussions 2019-05-09 14:27:37 +08:00
Jun Pataleta f32b6961c9 Merge branch 'MDL-65141-master' of git://github.com/jleyva/moodle 2019-05-09 12:29:25 +08:00
Adrian Greeve 6ab4df423d Merge branch 'MDL-58315_master_boost_block_classes' of https://github.com/zpottie/moodle 2019-05-09 11:32:19 +08:00
Adrian Greeve 912156439d Merge branch 'MDL-65387-master' of https://github.com/lucaboesch/moodle 2019-05-09 11:22:38 +08:00
Andrew Nicols 3ec925e15e Merge branch 'MDL-65373-master' of https://github.com/ryanwyllie/moodle 2019-05-09 10:51:19 +08:00
Adrian Greeve 6310072793 Merge branch 'MDL-65519-master' of https://github.com/ryanwyllie/moodle 2019-05-09 09:31:47 +08:00
Ryan Wyllie 23129586db MDL-65373 forum: accessibility changes for discussion 2019-05-09 09:10:40 +08:00
Dan Marsden 8e119e4bb3 MDL-65502 blocks: Correct check for my dashboard page. 2019-05-09 10:31:52 +12:00
Eloy Lafuente (stronk7) ddaae81510 MDL-65435 behat: Support any arg type with behat reruns
Right now, when executing a single rerun of a parallel run
using vendor/bin/behat, not all the argument alternatives
are supported (equal or space). This commit allows both to work.
2019-05-08 23:22:18 +02:00
Luca Bösch 133c0342b3 MDL-65387 dataformats: Table download formats choose pulldown style. 2019-05-08 20:27:27 +02:00
Eloy Lafuente (stronk7) b450745465 MDL-65479 repository_url: make regexp PCRE2 compatible
PHP 7.3 comes with the newer PCRE2 engine that is slightly stricter,
more specifically about using unescaped "-" within classes. They
now hat to be at the end of the class or escaped.

This is the only case we have found in core to make it compatible.

Also note that the file changes is, apparently an imported library,
but we have not it registered and already have performed changes to
it, so I've ignored that point. In fact, it has tabs and so on, I've
not modified that either.
2019-05-08 18:26:46 +02:00
Michael Hawkins cbe5c5fed4 MDL-61738 messageinbound: Fix quota checks & filesize for email uploads
Private files uploaded by email will now honour the file quota limit,
because the filesize is set correctly and checked against users'
remaining personal quota limit. Previously, attachment size was always
set to zero, and quota was checked against the draft area (this is
not valid for email uploads, because each file is moved out of the
draft area as it is processed, so multiple files totalling greater
than the remaining quota would still pass the check).
2019-05-08 17:54:44 +02:00
Dan Marsden c509d10821 MDL-64708 cohort: Return url is not used anywhere in core. 2019-05-08 17:54:44 +02:00
Mark Nelson 2904a7f851 MDL-65365 core_message: prevent users from viewing all conversations 2019-05-08 17:54:44 +02:00
Eloy Lafuente (stronk7) 2018f4ebc1 on-demand release 3.7dev+ 2019-05-08 17:49:03 +02:00
Eloy Lafuente (stronk7) 26df7ac11e NOBUG: Fixed file access permissions 2019-05-08 17:49:02 +02:00
Eloy Lafuente (stronk7) 4d994d59d5 NOBUG: Fixed SVG browser compatibility 2019-05-08 17:49:01 +02:00
Jun Pataleta 70d98c7156 Merge branch 'MDL-44484-master' of https://github.com/Chocolate-lightning/moodle 2019-05-08 12:15:38 +08:00
Mathew May a282fc23ea MDL-44484 admin: Remove existing user theme check 2019-05-08 16:14:26 +12:00
Jake Dallimore 3e5f439cb1 Merge branch 'MDL-62599-master' of https://github.com/snake/moodle 2019-05-08 11:48:51 +08:00
Adrian Greeve bf23d85bf7 Merge branch 'MDL-65484-master' of git://github.com/damyon/moodle 2019-05-08 11:21:59 +08:00
Jake Dallimore e61312afc9 MDL-62599 mod_lti: fix coding style issues 2019-05-08 11:16:21 +08:00
Damyon Wiese 5c159cb309 MDL-65518 badges: Language change "Site backpack" 2019-05-08 11:10:06 +08:00
Peter cee572aac6 MDL-65508 mod_forum: Add private to the quick forum reply 2019-05-08 11:03:28 +08:00
Jun Pataleta 6861c4f06e Merge branch 'MDL-44484-master' of https://github.com/Chocolate-lightning/moodle 2019-05-08 10:53:37 +08:00
Adrian Greeve 32e5731990 Merge branch 'MDL-65188-master' of git://github.com/andrewnicols/moodle 2019-05-08 10:47:25 +08:00
Mathew May e6ce167bb7 MDL-44484 admin: Theme can be null and create user 2019-05-08 14:44:30 +12:00
Adrian Greeve 83cb72bf9e Merge branch 'MDL-65516-master' of git://github.com/mihailges/moodle 2019-05-08 10:27:18 +08:00
Andrew Nicols 017c51d33d Merge branch 'MDL-65417-master' of git://github.com/bmbrands/moodle 2019-05-08 10:14:52 +08:00
Jun Pataleta 5776269f9c Merge branch 'MDL-65470-master' of git://github.com/bmbrands/moodle 2019-05-08 10:13:13 +08:00
Andrew Nicols bbeba47635 Merge branch 'MDL-65154' of git://github.com/stronk7/moodle 2019-05-08 09:50:32 +08:00
Andrew Nicols 544f1d0b0b Merge branch 'MDL-35396-master' of git://github.com/mihailges/moodle 2019-05-08 09:47:04 +08:00
Adrian Greeve 413d09ee9e Merge branch 'MDL-65511-master' of git://github.com/mihailges/moodle 2019-05-08 09:37:27 +08:00
Ryan Wyllie c27e8d5010 MDL-65519 forum: remove profile link from started by column 2019-05-08 09:37:01 +08:00
Jake Dallimore 7b3297d298 MDL-62599 lti_gradebookservices: use correct key in get_permitted_scopes
This was missing from the revert commit, a464331db2, causing scopes
to be empty.
2019-05-08 09:28:23 +08:00
Eloy Lafuente (stronk7) 9b0aec2d65 MDL-65154 competencies: FF 47 does not digest null/missing JS params
So we are defaulting to 0 when the page is initially called,
instead of current null. That's exactly the same behavior
than when you pick "No filters applied" from the filter menu.

Note that other browsers seems to accept perfectly the missing param
but FF 47.0.1 does not.
2019-05-07 23:20:38 +02:00
Amaia Anabitarte e4987f0f58 MDL-64993 core_message: fix unit test for non-ordered queries 2019-05-07 17:54:43 +02:00
Adrian Greeve 48c8a555e0 NOBUG: Fix white space issue due to history rewrite. 2019-05-07 12:51:01 +02:00
Marina Glancy dd14f4f270 MDL-65523 customfield_checkbox: allow to set as required 2019-05-07 12:01:26 +02:00
Bas Brands 4df2aeba9a MDL-65470 pix: update Moodle logo
* Older logos removed, 2 logo versions added. One with a gray hat, used
in the footer. One with a black hat used in the privacy policiy page.
2019-05-07 11:06:40 +02:00
Andrew Nicols b43785fe48 Merge branch 'MDL-64993-master-fix' of github.com:sarjona/moodle 2019-05-07 16:26:47 +08:00
Andrew Nicols 93b1835184 Merge branch 'MDL-65498' of https://github.com/stronk7/moodle 2019-05-07 16:26:47 +08:00
Sara Arjona 3c7dcefd9f MDL-64993 core_message: fix behat test failing with Oracle 2019-05-07 16:26:47 +08:00
Andrew Nicols 8088ad62ab Merge branch 'MDL-65499' of git://github.com/stronk7/moodle 2019-05-07 16:26:47 +08:00
Jun Pataleta c5354a4012 Merge branch 'MDL-65313-master-fix' of https://github.com/snake/moodle 2019-05-07 16:26:46 +08:00
Adrian Greeve 3e35a573e0 Merge branch 'MDL-65485-master' of git://github.com/bmbrands/moodle 2019-05-07 16:26:46 +08:00
Jake Dallimore a0523b826e MDL-65313 core_favourites: component scoped deletion now requires itemid
This now requires itemid, which cannot be null. This is safer. The
context can still be passed in as an optional parameter.
2019-05-07 16:26:46 +08:00
Adrian Greeve ba235a9c01 Merge branch 'MDL-65495-master-courseid' of git://github.com/mudrd8mz/moodle 2019-05-07 16:26:46 +08:00
Eloy Lafuente (stronk7) 7726bec6b3 Merge branch 'MDL-63262-master' of git://github.com/damyon/moodle 2019-05-07 16:26:40 +08:00
Andrew Nicols 2daa199351 Merge branch 'MDL-65132-master' of git://github.com/cescobedo/moodle 2019-05-07 16:24:40 +08:00
Andrew Nicols 83477cedaf Merge branch 'MDL-65505-master' of https://github.com/ryanwyllie/moodle 2019-05-07 16:24:39 +08:00
Andrew Nicols 76f90cbe62 MDL-65449 course: Add deprecation tag 2019-05-07 16:24:39 +08:00
Andrew Nicols e18c7dc06b Merge branch 'MDL-65449-master' of git://github.com/bmbrands/moodle 2019-05-07 16:24:39 +08:00
Sara Arjona 851ea51966 Merge branch 'MDL-65374-master' of https://github.com/lucaboesch/moodle 2019-05-07 16:24:39 +08:00
Jun Pataleta 0eab8a4221 MDL-65313 core: Fix orphaned favourites cleanup 2019-05-07 16:24:38 +08:00
Jun Pataleta b6082744ed Merge branch 'MDL-65399-master' of git://github.com/rezaies/moodle 2019-05-07 16:24:38 +08:00
Sara Arjona d302d12592 Merge branch 'MDL-65396-master' of https://github.com/lucaboesch/moodle 2019-05-07 16:24:38 +08:00
Jun Pataleta 6498f438a5 Merge branch 'MDL-65153-master' of git://github.com/damyon/moodle 2019-05-07 16:24:37 +08:00
David Monllaó 8e17a2aceb Merge branch 'MDL-65474-master' of https://github.com/ryanwyllie/moodle 2019-05-07 16:24:37 +08:00
David Monllaó 2558e0cd71 Merge branch 'MDL-65464-master' of https://github.com/ryanwyllie/moodle 2019-05-07 16:24:37 +08:00
Jun Pataleta 14b132750b Merge branch 'MDL-65313-master' of https://github.com/snake/moodle 2019-05-07 16:24:37 +08:00
Adrian Greeve e41678d75e Merge branch 'MDL-64968-master' of https://github.com/lucaboesch/moodle 2019-05-07 16:24:36 +08:00
Adrian Greeve 3135f0f2e5 Merge branch 'MDL-65104-master' of git://git.cameron1729.xyz/moodle 2019-05-07 16:24:36 +08:00
Adrian Greeve 7b43eea8bc Merge branch 'MDL-65296' of https://github.com/timhunt/moodle 2019-05-07 16:24:36 +08:00
Jake Dallimore b96b80bec0 Merge branch 'MDL-64988-master' of git://github.com/rezaies/moodle 2019-05-07 16:24:35 +08:00
Andrew Nicols 9862955fa3 Merge branch 'MDL-64993-master' of git://github.com/aanabit/moodle 2019-05-07 16:24:35 +08:00
Adrian Greeve 606ac9be44 Merge branch 'MDL-65154-master' of git://github.com/damyon/moodle 2019-05-07 16:24:35 +08:00
Damyon Wiese 5bda066caa MDL-65484 assign: Scrolling overflow CSS
Use relatively positioned elements, not absolutely positioned to prevent
elements being visible when they are scrolled outside the containing drawing region.
2019-05-07 16:20:22 +08:00
Mihail Geshoski e610404477 MDL-65516 forum: Improve the UX when opening inline reply 2019-05-07 16:08:48 +08:00
Mihail Geshoski 8ac1820b57 MDL-35396 lesson: Fix detailed statistics display for essay questions 2019-05-07 13:55:11 +08:00
Andrew Nicols 0ba8114bd4 MDL-65188 tests: Move var to before resource creation 2019-05-07 12:57:13 +08:00
Mihail Geshoski 918d35fe07 MDL-65511 forum: Send forum post notifications setting not visible 2019-05-07 10:08:43 +08:00
Daniel Neis Araujo 09df597597 MDL-44484 admin: Allow theme field in upload users tool 2019-05-07 12:17:05 +12:00
Eloy Lafuente (stronk7) 4d4dcefb8c MDL-65499 phpunit: Bump to current phpunit 7.5.9
Previously we were sticky to 7.5.7 and this issue was
hitting our windows runs:

https://github.com/sebastianbergmann/phpunit/issues/3564
2019-05-06 12:49:41 +02:00
David Mudrák 850ff963c5 MDL-65495 hub: Fix undefined variable usage 2019-05-06 12:46:43 +02:00
Bas Brands db91972458 MDL-65417 themes : small visual fixes
* region main border radius if sass var $enable-rounded is true (in
classic)
* white background for dashboard on classic where blocks are gray
* frontpage sitetopic margin and padding left removed to align with
courses content
2019-05-06 11:46:52 +02:00
Bas Brands 530e8e987a MDL-65485 core_themes: installer html updates for bootstrap4 2019-05-06 11:03:14 +02:00
Ryan Wyllie b61639598f MDL-65505 forum: handle deleted users with no context in render 2019-05-06 16:13:15 +08:00
Shamim Rezaie e7b3575cf1 MDL-65399 mod_quiz: Handling the edge case when section name is '' 2019-05-06 18:11:23 +10:00
Shamim Rezaie aa6a8b98c6 MDL-65399 mod_quiz: UI should prevent deleting the last slot of section 2019-05-06 18:11:22 +10:00
cescobedo 37a653cff9 MDL-65132 core_message: Update message drawer to delete message for all
Update JS message drawer to allow delete message for all showing a new
checkbox in the confirm dialogue.
2019-05-06 09:48:26 +02:00
Bas Brands 620896cf45 MDL-65449 themes: allow overriding course patterns
* moving course pattern generation to core_renderer
2019-05-06 09:42:59 +02:00
cescobedo e3e1938789 MDL-65132 core_message: Added WS to delete message for all users
Also, added WS new return parameter candeletemessagesforallusers in get_conversation
and send_instant_message and added API support. This will be used to check
if the user can delete all messages in the conversation.
2019-05-06 09:39:34 +02:00
cescobedo d47e067184 MDL-65132 core_message: Added API to delete message for all users 2019-05-06 09:38:54 +02:00
Jake Dallimore 5c73f6e2e5 MDL-62599 mod_lti: correct deprecations in service_base 2019-05-06 15:12:40 +08:00
Jake Dallimore 903ec849c5 MDL-65313 core: upgrade code to remove stale favourites for messaging
These were left behing when deleting a group or a course.
2019-05-06 14:11:46 +08:00
Jake Dallimore 6421775ad2 MDL-65313 core_message: remove favourites when deleting a conversation
When deleting a conversation for all users (e.g. when deleting a group
which has a conversation), we need to remove any favourites.
2019-05-06 14:01:34 +08:00
Jake Dallimore f962859b56 MDL-65313 core_favourite: add component-scoped favourite service class
Added a new type of service which can be used to interact with the
all favourites for a given component, not just those owned by a a
specific user. As such, objects of this type are scoped to a component.
2019-05-06 14:01:34 +08:00
Mark Nelson 89dad59d3f MDL-62599 mod_lti: added locallib unit tests 2019-05-06 13:48:30 +08:00
Mark Nelson 379536a3a2 MDL-62599 mod_lti: use moodle_url for config values 2019-05-06 13:48:12 +08:00
Shamim Rezaie a834294228 MDL-65399 mod_quiz: remove_slot should update the existing info
The remove_slot method should update the remaining slot's slot
attribute. It also should update the remaining slot's question number
and section info.
2019-05-06 15:34:50 +10:00
Stephen Vickers 878339017d MDL-62599 mod_lti: Correct documentation 2019-05-06 13:33:42 +08:00
Stephen Vickers 8ca51fa124 MDL-62599 mod_lti: Update documentation
Change documentation for typeconfig property of service_base from stdClass to array.
2019-05-06 13:33:42 +08:00
Stephen Vickers 75f020862a MDL-62599 mod_lti: Replace language string removed in error 2019-05-06 13:33:42 +08:00
Stephen Vickers 408cb8d64c MDL-62599 mod_lit: Missing end of function 2019-05-06 13:33:42 +08:00
Stephen Vickers 1bc7f99bf7 MDL-62599 mod_lti: Merge lti_convert_to_jwt and lti_sign_jwt 2019-05-06 13:33:42 +08:00
Stephen Vickers f6662ae4de MDL-62599 mod_lti: Correct content-item return
Update method used to verify the JWT version of content-items being returned by a tool.
2019-05-06 13:33:42 +08:00
Stephen Vickers a464331db2 MDL-62599 mod_lti: Revert service configuration parameters
Code to add configuration settings for LTI services reverted to current release code which injects them directly into the edit form.  This has the risk of name clashes and changes being made to elements not created by the service.
2019-05-06 13:33:42 +08:00
Stephen Vickers d930ef0491 MDL-62599 mod_lti: Correct parameter name 2019-05-06 13:33:42 +08:00
Stephen Vickers 8a8221f587 MDL-62599 mod_lti: Changes from integration review 2019-05-06 13:33:42 +08:00
Stephen Vickers 27cbb5965e MDL-62599 mod_lti: Add platform support for LTI 1.3 2019-05-06 13:33:42 +08:00
Shamim Rezaie 8affd823a4 MDL-65399 mod_quiz: Remove $slots from the \mod_quiz\structure class
It's enough to have $slotsinorder, and the $slots property
was redundant. There should only be a single source of truth.
2019-05-06 15:30:59 +10:00
Damyon Wiese 58c7d2ce2b MDL-63262 badges: Show all public badges
Use the "expand" parameter so the backpack returns nested public
information about each badge in a public collection. This saves 2 requests per badge and
fixes the problem where we don't have permission to see some public badge details.
2019-05-06 11:25:26 +08:00
Damyon Wiese 89da9b4900 MDL-65154 competencies: Filter course competencies
Add an activity filter to the course competencies screen.
2019-05-06 09:34:25 +08:00
Ryan Wyllie 902c8f58b2 MDL-65464 forum: disable buttons when saving in page reply 2019-05-06 09:23:08 +08:00
Andrew Nicols 454c18c380 Merge branch 'MDL-63685-master' of git://github.com/marinaglancy/moodle 2019-05-06 08:41:20 +08:00
Amaia Anabitarte c8d51ae41a MDL-64993 core_message: Behat test for self conversation 2019-05-06 00:47:52 +02:00
Amaia Anabitarte 86463d5056 MDL-64993 core_message: Adding self-conversations to behat tests 2019-05-06 00:47:52 +02:00
Amaia Anabitarte 888a467a78 MDL-64993 core_message: Adding self-conversations to unit tests 2019-05-06 00:47:52 +02:00
Eloy Lafuente (stronk7) 3c62200fa0 MDL-65498 backup: Add a couple of missing destroy() calls
Specially noticeable under Windows, where some resources/files
are kept open/busy/locked, causing all sort of problems, easily
detectable in phpunit resets.
2019-05-06 00:01:55 +02:00
Amaia Anabitarte 3204deacfe MDL-64993 core_message: Add self-conversations to create_user generator 2019-05-05 22:41:35 +02:00
Amaia Anabitarte e688eab815 MDL-64993 core_message: New group_message_list_area selector 2019-05-05 22:41:35 +02:00
Marina Glancy 8ff19f8c0f MDL-63685 core_form: for modal forms take parameters from request
When we deal with modal form submission we can not call optional_param inside the form class because
it does not have information from the AJAX form submission
2019-05-05 22:27:50 +02:00
Luca Bösch 6747ae1416 MDL-65396 theme_boost: Style duration chooser pulldown select. 2019-05-04 11:03:37 +02:00
Luca Bösch 85ecaf5836 MDL-65374 core_grades: style "Move selected items to" pulldown. 2019-05-04 11:03:26 +02:00
Luca Bösch d8a3787567 MDL-64968 mod_lesson: Style "Yes, I'd like to try again" button. 2019-05-04 11:03:21 +02:00
Eloy Lafuente (stronk7) a411b499b9 on-demand release 3.7dev+ 2019-05-03 17:53:09 +02:00
Shamim Rezaie a31194800b MDL-64988 mod_quiz: Fix questions always being added to the last section 2019-05-03 18:39:13 +10:00
Jun Pataleta 954ab0e654 Merge branch 'MDL-65475-master' of git://github.com/junpataleta/moodle 2019-05-03 15:52:42 +08:00
Mihail Geshoski b72780bcbf MDL-65475 forum: Fix discussion locking behat test 2019-05-03 15:52:03 +08:00
Damyon Wiese 7444ba743f MDL-63262 badges: More changes for badgr.io
This commit combines several changes:
* Show authentication errors.
* Show more detailed authentication errors
* When the site backpack is different to the user backpack, show a warning
* Do not duplicate the apiversion and backpackurls in each user backpack.
* Do not support different issuer information for each badge with Open Badges v2.
* Add obversion to assertion url
* Combine separate badges upgrade steps and bump the version number.
* Don't show private collections.
* Push the larger image size to backpacks (512x512).
* BADGE_BACKPACKURL is deprecated
* Don't use property alignments, only alignment
2019-05-03 15:00:01 +08:00
Damyon Wiese 1837b1d5fd MDL-63262 badges: Coding style 2019-05-03 15:00:00 +08:00
Damyon Wiese aae219acce MDL-63262 badges: Add badgr.io
Upgrade the support for Open Badges 2 to support a real open badges 2 backpack.
Moodle can only talk to one backpack at a time, so after switching backpacks, users
will have to manually disconnect and then reconnect their backpack to the new one.

This commit combines several changes:
* Split classes into badges namespace
* Publish expiry data with a badge
* Publish badge alignments in badges exported to the backpack.
* Export the criteria for a badge to the backpack.
2019-05-03 15:00:00 +08:00
Jun Pataleta 0b53f28cf8 Merge branch 'MDL-65475-master-1' of git://github.com/mihailges/moodle 2019-05-03 14:26:40 +08:00
Mihail Geshoski d8c0f8ea03 MDL-65475 forum: Align items in forum settings menu 2019-05-03 13:39:25 +08:00
Jun Pataleta 27a7632ac2 Merge branch 'MDL-65468-master' of git://github.com/mihailges/moodle 2019-05-03 13:24:43 +08:00
zpottie 7a02f020c3 MDL-58315 core: Add support for custom block classes 2019-05-03 16:12:29 +12:00
Jake Dallimore 55e5530f97 Merge branch 'MDL-64910-master' of git://github.com/peterRd/moodle 2019-05-03 12:09:47 +08:00
Ryan Wyllie c70ddc335d MDL-65474 forum: adjust forum post html structure
Move around the HTML structure for the forum post to better match
the previous structure for the author pictures, groups, and
rating HTML
2019-05-03 11:50:56 +08:00
Peter 72bb97843d MDL-64910 block_myoverview: Separate the category name as it's own link
* Separate the link
* Add style to force color inheritance
2019-05-03 11:46:21 +08:00
Jun Pataleta 6178721aa6 Merge branch 'MDL-65418-master' of https://github.com/ryanwyllie/moodle 2019-05-03 11:43:14 +08:00
Jun Pataleta 70c1f17d7b Merge branch 'MDL-65450-master' of https://github.com/ryanwyllie/moodle 2019-05-03 11:23:18 +08:00
Adrian Greeve 958983fd7e Merge branch 'MDL-65458_master' of git://github.com/markn86/moodle 2019-05-03 11:17:39 +08:00
Andrew Nicols ec59de637a Merge branch 'M65299_boost_theme-colors_override' of https://github.com/Dave-B/moodle 2019-05-03 11:08:00 +08:00
Jun Pataleta 70cbc37755 Merge branch 'MDL-52828-master' of git://github.com/damyon/moodle 2019-05-03 10:59:42 +08:00
Jun Pataleta 5b8a792f24 Merge branch 'MDL-65212-master' of git://github.com/jleyva/moodle 2019-05-03 10:55:05 +08:00
Andrew Nicols dd457c4fa6 Merge branch 'MDL-65245' of https://github.com/timhunt/moodle 2019-05-03 10:50:32 +08:00
Adrian Greeve cbe23e7666 Merge branch 'MDL-64851-master' of https://github.com/s-cenni/MDL-64851 2019-05-03 10:43:28 +08:00
Jake Dallimore 41ec00830e Merge branch 'MDL-65134-master' of git://github.com/peterRd/moodle 2019-05-03 10:05:26 +08:00
Andrew Nicols 370acc305f Merge branch 'MDL-65262-master' of git://github.com/lameze/moodle 2019-05-03 10:02:18 +08:00
Mark Nelson 950246a7ae MDL-65458 message_email: fix failing unit test 2019-05-03 10:01:11 +08:00
Bas Brands b9849c6fac MDL-65458 message_email: improve design of group message digests 2019-05-03 10:01:03 +08:00
Jun Pataleta 64b61c16a3 Merge branch 'MDL-65466-master' of git://github.com/mihailges/moodle 2019-05-03 09:59:30 +08:00
Adrian Greeve a0f0ed8fbf Merge branch 'MDL-65460-master' of git://github.com/lameze/moodle 2019-05-03 09:09:00 +08:00
Andrew Nicols ea00cdc79f Merge branch 'MDL-64394-accesslog' of https://github.com/brendanheywood/moodle 2019-05-03 08:49:33 +08:00
Sara Arjona 4d86fce09f Merge branch 'MDL-65169-master' of https://github.com/snake/moodle 2019-05-02 15:29:02 +02:00
Andrew Nicols d27ac4622e MDL-65447 theme: Apply pendingJS checks to BS transitions 2019-05-02 13:31:41 +02:00
Jun Pataleta b919ea9299 Merge branch 'MDL-65411-master' of git://github.com/lameze/moodle 2019-05-02 17:02:10 +08:00
Mihail Geshoski 04cfb5c1ac MDL-65468 forum: Check if passed form data is empty 2019-05-02 16:22:00 +08:00
Jun Pataleta e4fcd07e3e Merge branch 'MDL-65446-master' of https://github.com/ryanwyllie/moodle 2019-05-02 15:00:41 +08:00
Jake Dallimore 3fd575b9f8 Merge branch 'MDL-64439-master' of https://github.com/ilya-catalyst/moodle 2019-05-02 14:47:39 +08:00
Jun Pataleta 78920136bb Merge branch 'MDL-65318-master' of git://github.com/lameze/moodle 2019-05-02 14:22:17 +08:00
Jun Pataleta ab709ed274 MDL-65318 core_calendar: Additional fixes
* Move 'calendareventtype' property to event_exporter_base and
  rename it to 'normalisedeventtype'
* Add a 'normalisedeventtypetext' property to event_exporter_base
  for displaying the human-friendly text for the normalised
  event type.
* Clean up calendareventtype from other exporter/template locations
* Fix template names.
2019-05-02 14:19:28 +08:00
Andrew Nicols 5599d4cbca Merge branch 'MDL-65071-master-new' of git://github.com/mihailges/moodle 2019-05-02 13:53:54 +08:00
Mihail Geshoski 2a80ecb543 MDL-65071 forum: Error handling in web service when forum does not exist 2019-05-02 13:51:14 +08:00
Simey Lameze a8dcc212be MDL-65262 core_calendar: change location param type 2019-05-02 11:29:42 +08:00
Mihail Geshoski 70ed77c568 MDL-65466 forum: Fix discussion pinning when adding/editing discussion 2019-05-02 09:54:17 +08:00
Andrew Nicols e1a071322f Merge branch 'MDL-65394-master' of https://github.com/ryanwyllie/moodle 2019-05-02 09:04:47 +08:00
Simey Lameze 4b89c5a8a6 MDL-65460 core_course: fix undefined variable error 2019-05-02 08:29:27 +08:00
Simey Lameze a67bbe5039 MDL-65318 core_calendar: make event details consistent across pages 2019-05-02 08:05:06 +08:00
Simey Lameze 0ea03be795 MDL-65318 core_calendar: add event details template 2019-05-02 08:05:02 +08:00
Eloy Lafuente (stronk7) 550778cdb6 Merge branch 'MDL-65459-master' of https://github.com/sammarshallou/moodle 2019-05-02 00:24:46 +02:00
Mihail Geshoski b4a1bbbb6a MDL-65071 forum: Sort starred discussions 2019-05-01 22:51:14 +08:00
Mihail Geshoski 28c2f2b266 MDL-65071 forum: Fix webservice unit tests 2019-05-01 22:20:35 +08:00
Mihail Geshoski 121ccf1593 MDL-65071 forum: Include starred discussions info in the web service 2019-05-01 22:10:12 +08:00
Mihail Geshoski d39a50dc8a MDL-65071 forum: Unit test sorting of starred discussions 2019-05-01 22:10:12 +08:00
Mihail Geshoski 1a9c60e931 MDL-65071 forum: Add sorting in discussion list 2019-05-01 22:10:12 +08:00
Mihail Geshoski 3f9ed16e56 MDL-65071 forum: Add unit tests 2019-05-01 22:10:12 +08:00
Ryan Wyllie 9be6dc2de6 MDL-65134 core_message: Introduce event specific function
Introduced an event specific formatting function.
Additional catch on render fn calls
2019-05-01 19:46:52 +08:00
sam marshall ef3f92c70a MDL-65459 Logging: Missed two points relying on non-JSON log format 2019-05-01 12:11:17 +01:00
Jun Pataleta a7d496b684 Merge branch 'MDL-65273-master' of https://github.com/lucaboesch/moodle 2019-05-01 17:28:16 +08:00
Paul Holden 38cb434ba6 MDL-65197 editor: handle empty user preference in privacy export. 2019-05-01 09:48:06 +01:00
Ryan Wyllie 1457229295 MDL-65394 forum: fix get_move_discussion_html return signature 2019-05-01 16:27:34 +08:00
Ryan Wyllie ebe3110dff MDL-65394 filter: only do mathjax parsing on strings that need it 2019-05-01 16:27:34 +08:00
Ryan Wyllie 76fbbf7e7e MDL-65394 portfolio: add cache for portfolio_add_button 2019-05-01 16:27:34 +08:00
Ryan Wyllie 8353770743 MDL-65394 forum: add context id to author export 2019-05-01 16:27:34 +08:00
Adrian Greeve f2e0dab7f7 Merge branch 'MDL-65388-master' of https://github.com/ryanwyllie/moodle 2019-05-01 16:06:24 +08:00
Jun Pataleta 0bce27bae4 Merge branch 'MDL-65250' of git://github.com/stronk7/moodle 2019-05-01 16:04:02 +08:00
Jake Dallimore cee7444332 Merge branch 'MDL-65426_master' of git://github.com/markn86/moodle 2019-05-01 15:38:44 +08:00
Luca Bösch 78d9ec8890 MDL-65273 roles: Roles permissions buttons styles. 2019-05-01 09:30:10 +02:00
Mark Nelson 7280b38dd2 MDL-65426 message_email: clean up messages that have already been read 2019-05-01 15:17:48 +08:00
Adrian Greeve f9da72b63e Merge branch 'MDL-65149-master' of git://github.com/damyon/moodle 2019-05-01 14:58:21 +08:00
Adrian Greeve 53c792b119 Merge branch 'MDL-64959_master' of https://github.com/abhimanyuZ/moodle 2019-05-01 14:30:00 +08:00
Jake Dallimore 1ba1bb79e8 Merge branch 'MDL-65236-master' of git://github.com/marinaglancy/moodle 2019-05-01 14:23:16 +08:00
Ryan Wyllie 69e9190038 MDL-65450 tinymce: fix full screen mode 2019-05-01 14:20:10 +08:00
Adrian Greeve 6120920c2c Merge branch 'MDL-65031-master' of git://github.com/damyon/moodle 2019-05-01 14:02:58 +08:00
Damyon Wiese edf3f4d14f MDL-65031 theme_boost: gradebook notifications
Tell the gradebook page to stack things vertically so that notifications
take the correct amount of space.
2019-05-01 13:47:43 +08:00
Ryan Wyllie f2b65126bc MDL-65418 message: remove use of IE11 incompatible function in JS 2019-05-01 13:21:49 +08:00
Damyon Wiese fde4592c9f MDL-52828 competencies: Breakdown report
Add behat test for the breakdown report, including the activity filter.
2019-05-01 12:00:18 +08:00
Adrian Greeve e3e44b2d2f Merge branch 'MDL-65178-master' of git://github.com/damyon/moodle 2019-05-01 11:56:35 +08:00
Adrian Greeve eee677c024 Merge branch 'MDL-53140-master' of git://github.com/rezaies/moodle 2019-05-01 10:30:22 +08:00
Jun Pataleta f22d0153c2 Merge branch 'MDL-65260' of https://github.com/timhunt/moodle 2019-05-01 10:22:32 +08:00
Shamim Rezaie 47538a6b26 MDL-53140 qtype_calculatedsimple: Support locale-aware decimal points 2019-05-01 12:10:33 +10:00
Shamim Rezaie 75dc90370a MDL-53140 qtype_calculated: Add support for locale-aware decimal points 2019-05-01 12:10:32 +10:00
Shamim Rezaie 326bb5474a MDL-53140 qtype_numerical: Localised decimal separator bug fix
- Support decimal separator when it is not . or ,
- Also make sure that we don't remove . when thousandsseparator is .
- Display the answer fields in the editing form in the localised format
2019-05-01 12:10:32 +10:00
Shamim Rezaie 688c803550 MDL-53140 qtype_numerical: Support locale-aware decimal points 2019-05-01 12:10:32 +10:00
Shamim Rezaie 197e074eba MDL-53140 question: Support localised floats when previewing a question 2019-05-01 12:10:32 +10:00
Shamim Rezaie bb4079498f MDL-53140 core_question: Support localised floats when editing questions 2019-05-01 12:10:32 +10:00
Shamim Rezaie e240a0000a MDL-53140 forms: Added the float form element to the form API 2019-05-01 12:10:23 +10:00
Damyon Wiese 27737ae666 MDL-52828 competencies: Filter by activity
On the competency breakdown report, allow filter by competencies linked to an activity.
2019-05-01 09:58:22 +08:00
Jake Dallimore 096c84dac7 Merge branch 'MDL-60851-master' of git://github.com/damyon/moodle 2019-05-01 09:32:54 +08:00
Damyon Wiese 172117618b MDL-60851 backup: coding style fixes 2019-05-01 08:49:35 +08:00
Damyon Wiese a1bda6b152 MDL-60851 backup: Sanitise setting dependencies
The only different between each setting dependency type is the evaluation of the condition,
and the mform js validation arguments - so that should be the only thing that is extended
by each subclass.
2019-05-01 08:49:35 +08:00
Damyon Wiese 81cbb5b4ef MDL-60851 backup: Fix undefined $value 2019-05-01 08:49:35 +08:00
Damyon Wiese a383911cfa MDL-60851 backup: More unit tests for dependencies 2019-05-01 08:49:35 +08:00
Adrian Greeve d61c9fb853 Merge branch 'MDL-65217-master' of git://github.com/marinaglancy/moodle 2019-05-01 08:35:41 +08:00
Simey Lameze 2eb503494a MDL-65411 core_calendar: wrap long description text 2019-05-01 07:54:34 +08:00
Eloy Lafuente (stronk7) 09ab093dce Merge branch 'MDL-65397-master-enfix' of git://github.com/mudrd8mz/moodle 2019-05-01 01:42:55 +02:00
Eloy Lafuente (stronk7) 09cbe51999 on-demand release 3.7dev+ 2019-05-01 00:29:20 +02:00
Eloy Lafuente (stronk7) e8a92a981f NOBUG: Fixed SVG browser compatibility 2019-05-01 00:29:18 +02:00
Eloy Lafuente (stronk7) 47e2a56400 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-05-01 00:29:17 +02:00
Sara Arjona d5e084bcb6 MDL-5311 qtype_multichoice: replace label to a for clean button
To avoid behat errors with Firefox, the 'Clean my choice' has been
changed from label to link (with role button).
2019-04-30 20:47:33 +02:00
Ryan Wyllie 30513f9740 MDL-65033 mod_forum: Modified sort sql for cross db support 2019-04-30 20:47:30 +02:00
Jake Dallimore 26a94308ee Merge branch 'MDL-65276-master' of git://github.com/lameze/moodle 2019-04-30 20:47:26 +02:00
Adrian Greeve f50b98dbe4 Merge branch 'MDL-64906_hideif_mod' of git://github.com/davosmith/moodle 2019-04-30 20:47:22 +02:00
Andrew Nicols 36639ba84e Merge branch 'MDL-63137' of git://github.com/stronk7/moodle 2019-04-30 20:47:18 +02:00
Eloy Lafuente (stronk7) 41b81d5996 MDL-63137 mod_feedback: discern between user or id better
is_int('1') => false, so better we invert the check that is safer.
2019-04-30 20:47:15 +02:00
Eloy Lafuente (stronk7) f991482446 MDL-65348 lang string: updating an outdated lang string 2019-04-30 20:47:11 +02:00
Eloy Lafuente (stronk7) 557c9679d9 Merge branch 'MDL-65257_master' of git://github.com/markn86/moodle 2019-04-30 20:47:08 +02:00
Eloy Lafuente (stronk7) 0686416663 Merge branch 'MDL-65436-master' of git://github.com/sarjona/moodle 2019-04-30 20:47:04 +02:00
Eloy Lafuente (stronk7) dfb1a3b00e Merge branch 'MDL-57900_master' of git://github.com/dmonllao/moodle 2019-04-30 20:47:01 +02:00
Eloy Lafuente (stronk7) 79c0e53683 Merge branch 'MDL-65348_master' of git://github.com/dmonllao/moodle 2019-04-30 20:46:57 +02:00
Eloy Lafuente (stronk7) 70f3393fe0 Merge branch 'MDL-63137-master' of git://github.com/aanabit/moodle 2019-04-30 20:46:53 +02:00
David Monllaó 0b31a696f0 Merge branch 'MDL-65033-master2' of git://github.com/peterRd/moodle 2019-04-30 20:46:50 +02:00
Jun Pataleta 8f7bb541ad Merge branch 'MDL-65279-master' of https://github.com/tkorner/moodle 2019-04-30 20:46:46 +02:00
Juan Leyva bfae6ca704 MDL-65212 course: Return custom fields in WS
External function core_course_external::get_courses_by_field was not returning custom course fields.
2019-04-30 15:19:45 +02:00
Juan Leyva 8c5850a501 MDL-65141 tool_mobile: Return all the language translations 2019-04-30 14:30:51 +02:00
Juan Leyva f72a482843 MDL-65423 tool_mobile: Fix incorrect option value 2019-04-30 13:38:38 +02:00
Jun Pataleta 1b3a6e7762 MDL-29320 user: Make email query case-insensitive 2019-04-30 16:19:20 +08:00
Jun Pataleta 5a158f82bb MDL-29320 admin: Improve test for multiple accounts with same email
* Use Scenario Outlines
* More coverage:
  - Test for email case-sensitivity
  - Updating user profile as admin
  - Updating own user profile
2019-04-30 16:19:14 +08:00
Jun Pataleta feb154d8b2 MDL-29320 user: Remove @javascript tag for add new user behat test
* It's not necessary and will improve Behat execution time
2019-04-30 14:54:01 +08:00
Tobias Reischmann c887373738 MDL-63959 mod_feedback: Add phpunit tests for get_pages in completion 2019-04-30 07:56:29 +02:00
Ryan Wyllie c32af3a710 MDL-65446 admin: fix admin email option for cli install 2019-04-30 13:29:56 +08:00
Jake Dallimore 3edac09063 MDL-65169 core_message: user search respects profile visibility
Two modes of visibility checking are supported, depending on the value
of the 'messagingallusers' site setting (site-wide messaging):
- If site-wide messaging is enabled, a user may only be returned in
search results if the searching user can view their profile somewhere
(either the site profile or any course profile).
- If site-wide messaging is disabled, a user may only be returned in
search results if the searching user shares a course with them and can
view their course profile in the shared course.
2019-04-30 11:25:46 +08:00
Ryan Wyllie 8673975999 MDL-65388 mod_book: format plugin file urls when printing book 2019-04-30 10:45:01 +08:00
Jonathon Fowler b2512618f1 MDL-65445 qtype_ddwtos: reposition draggables when the drops move 2019-04-30 12:43:21 +10:00
AMOS bot fde828db5f Automatically generated installer lang files 2019-04-30 00:12:17 +00:00
Zoltán Szarvas 5b8d533067 MDL-63959 mod_feedback: Fixed nested dependency handling
For example the dependecy chain is the following: A->B->C. When a
question (A) depends on another dependent item (B) and B hasn't
displayed (because of C's response), the $value for the B's response
will be null. In this case the can_see_item() method returned
null. Because the can_see_item() returned null (not false), the
get_pages() method displayed the question A, because it checks for
explicit false: $this->can_see_item($item) !== false.
Now, false is also returned, if the dependent question is not visible.
2019-04-29 18:27:51 +02:00
David Monllaó 352ab7464e MDL-65348 analytics: Upcoming periodic from time() 2019-04-29 16:51:04 +02:00
Shamim Rezaie f8c31abad0 MDL-53140 forms: Implement validateSubmitValue for the group element
The group element needs to call validateSubmitValue() for all of its
containing elements.
2019-04-29 23:43:11 +10:00
Shamim Rezaie 4d0ac716bc MDL-53140 behat: Allow language customisation in behat 2019-04-29 23:43:11 +10:00
Shamim Rezaie 13230ed7f3 MDL-53140 core: Introduced PARAM_LOCALISEDFLOAT 2019-04-29 23:43:11 +10:00
Marina Glancy f82c9d8d06 MDL-65217 form: option to randomise element ids 2019-04-29 14:23:27 +02:00
Marina Glancy 521989ec56 MDL-65217 form: id for error area 2019-04-29 14:23:27 +02:00
Marina Glancy 086aa543b9 MDL-65217 form: allow to pass attributes to course element 2019-04-29 14:23:27 +02:00
Ruslan Kabalin 91a485a040 MDL-65217 core_form: use defined element id for filemanager.
Removing unnamed input element (was introduced in ce47962), this has no
purpose apart of being label destination.
2019-04-29 14:23:27 +02:00
Ruslan Kabalin 0ceb6751aa MDL-65217 core_form: use uniqie element ids in listing. 2019-04-29 14:23:26 +02:00
Ruslan Kabalin 54e067dd47 MDL-65217 core_form: use uniqie element id in filepicker 2019-04-29 14:23:26 +02:00
Peter cda9da9907 MDL-65033 mod_forum: Move locked functionality into action menu
Moved the lock functionality into the menu which exposes it to the
discussion list
2019-04-29 19:15:42 +08:00
Sara Arjona 50255ba981 MDL-65436 message: fix error while upgrading legacy self-conversations
Delete self-messages from the legacy message_read table once they
are migrated.
2019-04-29 11:53:56 +02:00
David Mudrák 234b37046f MDL-65397 lang: Use the new strings in Behat scenarios 2019-04-29 11:47:10 +02:00
Helen Foster f1264719f4 MDL-65397 lang: Import fixed English strings (en_fix)
Significant string changes:

* direct:view,gradeimport_direct - wording corrected from 'CSV' to
  'spreadsheet'
* limitanswers_help,mod_choice - additional wording added explaining how
  the setting works with groups
* pluginname,customfield_text  - 'Text field' plugin renamed to
  'Short text'
2019-04-29 11:46:26 +02:00
Peter d3cac88dac MDL-65033 mod_forum: Testing updates
Testing and code updates after rebase
2019-04-29 16:30:50 +08:00
Peter 279128bbc2 MDL-65033 mod_forum: Update existing function to include starring params 2019-04-29 16:28:33 +08:00
Peter ac91531670 MDL-65033 mod_forum: Accessibility updates 2019-04-29 16:27:04 +08:00
Peter 13cd05ac14 MDL-65033 mod_forum: Pass the favourites into the exporter
Query and pass the favouriting information into the exporter instead of within the exporter itself
2019-04-29 16:27:04 +08:00
Peter 8885cd573a MDL-65033 mod_forum: Feedback updates 2019-04-29 16:27:04 +08:00
Peter 309e869827 MDL-65033 mod_forum: Externallib tests 2019-04-29 16:22:04 +08:00
Peter 24962ee1d7 MDL-65033 mod_forum: Hook up the pin toggle via AJAX 2019-04-29 16:21:14 +08:00
andrewnicols 25a97f99a9 MDL-65033 mod_forum: Toggle pin state via ajax 2019-04-29 16:16:15 +08:00
andrewnicols 34e2f9c0c2 MDL-65033 mod_forum: pin_toggle js 2019-04-29 16:14:13 +08:00
andrewnicols a726053616 MDL-65033 mod_forum: Set pin state external service 2019-04-29 16:14:13 +08:00
Peter 27ca632f5d MDL-65033 mod_forum: Fix up the unit tests 2019-04-29 16:10:00 +08:00
Peter bf20111664 MDL-65033 mod_forum: incorporate the new icons into the UI 2019-04-29 16:10:00 +08:00
barbararamiro 52d5487219 MDL-65033 mod_forum: New star icons 2019-04-29 16:10:00 +08:00
Peter 897ac0de9e MDL-65033 mod_forum: Behat and unit tests for favouriting 2019-04-29 16:10:00 +08:00
Peter e7e6a72164 MDL-65033 mod_forum: Add a new menu dropdown to the forum list
* Add new dropdown
* Pass the pinned discussion URL
* Add a new template for the pinned html
2019-04-29 16:08:30 +08:00
Peter 99bda8a7ff MDL-65033 mod_forum: Favouriting in forum
Modify the discussion vault to take into account the favourite sql and also sort by favourite
2019-04-29 16:08:30 +08:00
David Monllaó a89077e49f MDL-57900 analytics: Site info settings 2019-04-29 09:29:03 +02:00
Mark Nelson 5221be53da MDL-65257 message_email: apply filters to course and group names 2019-04-29 15:20:29 +08:00
Jake Dallimore fa1d3dff72 Merge branch 'MDL-5311-master' of git://github.com/lameze/moodle 2019-04-29 15:19:31 +08:00
Simey Lameze 2589dcea7b MDL-5311 qtype_multichoice: make clear choice option accessible
Thanks to Damyon for the help with accessibility.
2019-04-29 15:16:08 +08:00
Simey Lameze 9064f17bbc MDL-5311 qtype_multichoice: add php unit tests for the new option 2019-04-29 15:14:38 +08:00
Simey Lameze 1ff3987600 MDL-5311 qtype_multichoice: add behat scenario to question preview 2019-04-29 15:14:38 +08:00
Simey Lameze 3c1717bb09 MDL-5311 qtype_multichoice: add a bit of styling to the option 2019-04-29 15:14:34 +08:00
Mark Nelson aa0792484e MDL-65257 message_email: add images to digest 2019-04-29 15:01:30 +08:00
Sara Arjona bef6805656 Merge branch 'MDL-64702-master' of git://github.com/damyon/moodle 2019-04-29 08:34:21 +02:00
Adrian Greeve 5d57265abf Merge branch 'MDL-36088-master' of https://github.com/lethevinh/moodle 2019-04-29 14:12:53 +08:00
Simey Lameze f6a778497e MDL-5311 qtype_multichoice: add clear my choice option 2019-04-29 14:04:51 +08:00
Jake Dallimore 31d3c76602 MDL-65169 core_message: add behat step allowing searching for a string
New step: 'I search for "xx" in messaging'.
2019-04-29 13:45:52 +08:00
Jun Pataleta 92451f3a8a Merge branch 'MDL-65206-master' of git://github.com/tobiasreischmann/moodle 2019-04-29 12:44:33 +08:00
VinhLe 4ca60a5660 MDL-36088 questions: Add new events 2019-04-29 11:16:19 +07:00
Stephen Bourget 93e435b909 MDL-36088 questions: Add new events 2019-04-29 11:15:36 +07:00
AMOS bot 6e42c754a2 Automatically generated installer lang files 2019-04-27 00:12:32 +00:00
Eloy Lafuente (stronk7) 1f256b1ccb Merge branch 'MDL-65428-master' of git://github.com/marinaglancy/moodle 2019-04-26 19:45:25 +02:00
Eloy Lafuente (stronk7) 14cdf51189 on-demand release 3.7dev+ 2019-04-26 18:43:25 +02:00
Eloy Lafuente (stronk7) 0297152be9 NOBUG: Fixed SVG browser compatibility 2019-04-26 18:43:23 +02:00
Amaia Anabitarte b81d770f8f MDL-63137 mod_feedback: PHPUnit tests for new userid parameter 2019-04-26 17:18:12 +02:00
Amaia Anabitarte 094ce30779 MDL-63137 mod_feedback: mod_feedback_core_calendar_provide_event_action
Update mod_feedback_core_calendar_provide_event_action function to add a new userid parameter
Add userid to check capabilities, etc. to feedback completion and structure.
2019-04-26 17:18:12 +02:00
Marina Glancy b8a5c8528a MDL-65428 core_tag: fix callback param type 2019-04-26 13:11:05 +02:00
Sara Arjona 1cf2436fe5 Merge branch 'MDL-64676-master-fix' of https://github.com/snake/moodle 2019-04-26 11:50:27 +02:00
Sara Arjona e59294e5c6 Merge branch 'MDL-65032-master-fix' of git://github.com/junpataleta/moodle 2019-04-26 10:08:44 +02:00
Jun Pataleta fdbadf824c MDL-65032 mod_forum: Use correct template context data 'istimelocked' 2019-04-26 15:42:54 +08:00
Amaia Anabitarte dcfd143310 MDL-63137 mod_feedback: Pointing TODO tasks to right deprecation issue 2019-04-26 09:37:02 +02:00
Jake Dallimore ca264ee670 MDL-64676 core_message: fix legacy behat step which failed on firefox
Old step was looking for a link, which didn't exist. Now, we use image.
2019-04-26 15:22:43 +08:00
Jake Dallimore 694ce91725 Merge branch 'MDL-58581-master-take2' of https://github.com/lucaboesch/moodle 2019-04-26 12:03:33 +08:00
Jun Pataleta f80ae63efa Merge branch 'MDL-64573-master' of git://github.com/damyon/moodle 2019-04-26 10:59:30 +08:00
Marina Glancy 669d54a48c MDL-64573 calendar: behat fix, validation is now on client 2019-04-26 10:57:04 +08:00
Jun Pataleta cb7263feb0 Merge branch 'MDL-64573-master' of git://github.com/damyon/moodle 2019-04-26 10:50:55 +08:00
Jun Pataleta 92996b16ab Merge branch 'MDL-65032-master' of git://github.com/peterRd/moodle 2019-04-26 09:52:47 +08:00
Peter 8666dfec6f MDL-65032 mod_forum: Remove unused discussion userid 2019-04-26 09:45:57 +08:00
Eloy Lafuente (stronk7) 176aad96e5 Merge branch 'MDL-65416-master' of git://github.com/bmbrands/moodle 2019-04-25 23:43:32 +02:00
Eloy Lafuente (stronk7) c495b17c5f MDL-60418 Behat: Fix missing $installurl 2019-04-25 23:38:01 +02:00
Eloy Lafuente (stronk7) c080369cb9 Merge branch 'MDL-60418' of git://github.com/timhunt/moodle 2019-04-25 23:25:51 +02:00
Tim Hunt d1ac356a8b MDL-60418 Behat: Fix broken docs links in Behat code. 2019-04-25 21:32:48 +01:00
Eloy Lafuente (stronk7) 47fde8415e Merge branch 'MDL-65412-master' of http://github.com/dravek/moodle 2019-04-25 20:02:47 +02:00
David Monllaó b63c0b9079 Merge branch 'MDL-60680-master' of git://github.com/jleyva/moodle 2019-04-25 18:55:45 +02:00
David Monllaó 2fbc2e4589 Merge branch 'MDL-64673-master' of git://github.com/aanabit/moodle 2019-04-25 18:40:49 +02:00
Juan Leyva a129ba04c4 MDL-60680 notifications: Support privacy API 2019-04-25 14:55:59 +02:00
Juan Leyva 2356454f21 MDL-60680 notifications: Include action buttons information 2019-04-25 14:55:57 +02:00
Juan Leyva 36fa0ec900 MDL-60680 notifications: Return custom data in notifications 2019-04-25 14:55:18 +02:00
Bas Brands 118e1fead8 MDL-65416 theme_classic: change theme screenshot in theme selector 2019-04-25 13:42:51 +02:00
Amaia Anabitarte a58fbd4864 MDL-64673 core_message: Modifying group_messate_tab xpath 2019-04-25 10:09:19 +02:00
Sara Arjona 471b4e371b Merge branch 'MDL-65069' of git://github.com/stronk7/moodle 2019-04-25 08:24:33 +02:00
Eloy Lafuente (stronk7) be35977db8 MDL-65069 mod_forum: moodle_url to ensure we call the correct post.php
No matter where the inline edition is happening (forum or social course)
2019-04-25 02:35:30 +02:00
Eloy Lafuente (stronk7) ed77525589 Merge branch 'MDL-65407-master' of git://github.com/sarjona/moodle 2019-04-24 23:34:48 +02:00
Eloy Lafuente (stronk7) 03bd681143 Merge branch 'MDL-65170-master' of https://github.com/sarjona/moodle 2019-04-24 20:36:50 +02:00
Eloy Lafuente (stronk7) 76dcc17dbe Merge branch 'MDL-65056-master' of https://github.com/sarjona/moodle 2019-04-24 20:12:54 +02:00
David Monllaó 76023e44d0 Merge branch 'MDL-64672-master' of git://github.com/aanabit/moodle 2019-04-24 20:06:13 +02:00
David Monllaó c7f11fab18 Merge branch 'MDL-64665-master' of git://github.com/cescobedo/moodle 2019-04-24 20:00:03 +02:00
Sara Arjona bd9b502ac6 MDL-65170 core_user: fix behat for viewing full profile
Users belonging to the same course with separate groups forced
will only be able to find their contacts or other users on the
same group.
2019-04-24 19:40:25 +02:00
cescobedo 9a497f8bbc MDL-64665 core_message: Behat tests for manage preferences 2019-04-24 18:33:12 +02:00
cescobedo 5d0119772b MDL-64665 core_message: New step to open settings preferences 2019-04-24 18:33:12 +02:00
Sara Arjona 0ac6fbfd66 MDL-65056 completion: fix behat tests for survey 2019-04-24 18:32:25 +02:00
David Monllaó 3c48793849 Merge branch 'MDL-64985-master' of git://github.com/sarjona/moodle 2019-04-24 18:13:21 +02:00
David Monllaó c3f1ee9517 Merge branch 'MDL-64666-master' of git://github.com/aanabit/moodle 2019-04-24 18:07:22 +02:00
Amaia Anabitarte 536c19ddd2 MDL-64673 core_message: Starring conversations behat test 2019-04-24 17:59:56 +02:00
Amaia Anabitarte a8915a3a7f MDL-64666 core_message: Favourite private conversations data generator 2019-04-24 17:59:56 +02:00
Sanya Negi 5530d87303 MDL-58581 editor_atto: change paragraph icon. 2019-04-24 17:55:51 +02:00
Sara Arjona d03f037431 MDL-64985 message: display aria label to the mute icon 2019-04-24 17:53:50 +02:00
Sara Arjona 84ec82f74d MDL-64985 message: deprecate unused strings 2019-04-24 17:53:40 +02:00
Sara Arjona 43825b428a MDL-64985 message: display aria label in user profile link
Remove the aria-hidden label to display the label/text in
the user profile link.
2019-04-24 17:53:32 +02:00
Sara Arjona 2e9a457330 MDL-64985 message: add better aria labels to the actions menu
Add better aria labels to the action menus in messaging, renaming
some labels and declaring it as a menu.
2019-04-24 17:53:23 +02:00
Sara Arjona 13fe002e8e MDL-64985 message: add aria label to cancel selection button
Add aria labels for cancel edit message button (the little cross
when selecting messages).
2019-04-24 17:53:15 +02:00
David Monllaó 03876f0b89 Merge branch 'MDL-65207-master' of git://github.com/lameze/moodle 2019-04-24 17:52:10 +02:00
Amaia Anabitarte 01973d34a1 MDL-64666 core_message: New behat test for delete conversation 2019-04-24 17:42:14 +02:00
Amaia Anabitarte 173be4856f MDL-64666 core_message: Favourite private conversations data generator 2019-04-24 17:42:14 +02:00
David Monllaó 45c8b226be Merge branch 'MDL-64782-master' of git://github.com/rezaies/moodle 2019-04-24 17:37:45 +02:00
David Matamoros baf5551cac MDL-65412 core_customfield: check configdata link exists 2019-04-24 17:30:02 +02:00
Sara Arjona deef58606e MDL-65407 message: exclude deleted users upgrading self-conversations
Exclude deleted users during the upgrade process to avoid errors when
the site has hard-deleted users.
2019-04-24 16:55:48 +02:00
Eloy Lafuente (stronk7) 439af892b1 Merge branch 'MDL-64151-master-fix' of https://github.com/marinaglancy/moodle 2019-04-24 12:21:38 +02:00
Peter d4b1eee6ee MDL-65134 core_message: Rerender the message with the updated last msg
* When a new last message we need to reorder the messages within the
message list. Call render for this.
* Standardize the cached items
* Delete cached entries on clear
2019-04-24 17:46:16 +08:00
Marina Glancy 3340758b98 MDL-64151 forms: select element without selection
Select element that is not multiple should export null when nothing is
selected. If the element is displayed there will always be something
selected.
2019-04-24 11:34:13 +02:00
Jake Dallimore 5b0aa01fae Merge branch 'MDL-64267-master' of git://github.com/bmbrands/moodle 2019-04-24 16:54:55 +08:00
Jun Pataleta b3c8984c0e Merge branch 'MDL-65032-master' of git://github.com/peterRd/moodle 2019-04-24 16:18:06 +08:00
Damyon Wiese 260565e305 MDL-64573 output: ajax form event
Add an event that can be fired when an mform is about to be submitted via ajax.
This allows custom field types to perform an action when the form is submitted.

The atto text editor will reset any autosaves when the form is submitted.
2019-04-24 16:17:49 +08:00
Amaia Anabitarte fe00d14d7e MDL-64672 core_message: Behat tests for unread messages 2019-04-24 09:55:17 +02:00
Amaia Anabitarte 7042ecf7ed MDL-64666 core_message: Favourite private conversations data generator 2019-04-24 09:55:17 +02:00
Peter 565cccfafa MDL-65032 mod_forum: Update existing function to include lock params 2019-04-24 15:52:21 +08:00
Bas Brands 929706015b MDL-64267 core_message: sticky positioning of contact request info 2019-04-24 09:27:37 +02:00
Sara Arjona c5625cfbc7 Merge branch 'MDL-65056-master' of git://github.com/abias/moodle 2019-04-24 09:18:25 +02:00
Tobias Reischmann 6d2b7d5028 MDL-64267 core_message: Removed pb-2 from message-container
The padding at the bottom broke layout in clean theme since it caused an
overflow, which resulted in a second scrollbar on the message-drawer.
2019-04-24 09:17:32 +02:00
Tobias Reischmann 28c007b2e7 MDL-64267 core_message: Moved contact-request to dont cause scrollbar
The contact-request-sent-message-container was outside of the
conversation body and caused multiple overflows and thus multiple
scrollbars. Moving it inside does not have an effect on the layout
except one scrollbar is enough now.
2019-04-24 09:16:29 +02:00
Sara Arjona bbbaeedfdc Merge branch 'MDL-65170-master' of https://github.com/snake/moodle 2019-04-24 09:02:20 +02:00
Jun Pataleta e145874b8b Merge branch 'MDL-65069-master' of git://github.com/peterRd/moodle 2019-04-24 14:19:17 +08:00
Peter bdb4a87daa MDL-65032 mod_forum: Updates based on Jun's feedback 2019-04-24 12:49:41 +08:00
Peter 0547bed1a5 MDL-65032 mod_forum: Add locked column to the backup table. 2019-04-24 12:05:32 +08:00
Peter cb28132dce MDL-65069 mod_forum: Remove unused code and additional dev docs.
Additional updates to setting default subscription value for discussions
2019-04-24 12:01:37 +08:00
Peter c475fe410f MDL-65032 mod_forum: Pass the the entity factories into the vaults 2019-04-24 11:56:23 +08:00
Peter f5b4320ec5 MDL-65032 mod_forum: Behat test for locking 2019-04-24 11:55:51 +08:00
Peter 2893812eb0 MDL-65032 mod_forum: Add discussion locking functionality 2019-04-24 11:55:37 +08:00
Peter 2aff2c19a9 MDL-65069 mod_forum: Behat test for the inline form 2019-04-24 10:29:30 +08:00
Peter 0d71eee8b5 MDL-65069 mod_forum: Pass the class to style the button 2019-04-24 10:29:30 +08:00
Peter e455d6f483 MDL-65069 core_form: Expose the form's submit's class attribute
Exposed the submit button's class attribute so it can be overriden by
custom classes provided by the programmer.
2019-04-24 10:29:30 +08:00
Peter 97babbf7d7 MDL-65069 mod_forum: Stripped out inpage form and advanced redirect
* Stripped out the form for the inpage on the discussion list page.
* Tweaked the 'Advanced' redirect to take into account a nosubmit button
 which populates the subject, message and any files used within it.
2019-04-24 10:29:30 +08:00
Peter 9ff7cae7c0 MDL-65069 mod_forum: inline 'add discussion' form 2019-04-24 10:29:30 +08:00
Adrian Greeve 082740b7c6 Merge branch 'MDL-65375-master' of https://github.com/sammarshallou/moodle 2019-04-24 10:28:29 +08:00
Adrian Greeve 4962446a44 Merge branch 'MDL-65308' of git://github.com/stronk7/moodle 2019-04-24 09:27:07 +08:00
Eloy Lafuente (stronk7) fc8a72b4cb Merge branch 'MDL-65382-master' of git://github.com/junpataleta/moodle 2019-04-24 00:04:45 +02:00
Eloy Lafuente (stronk7) f7b52799e6 MDL-65354 core: pretend that 'moodle/course:browse' never existed
As far as the old capability only was added to master and we are
renaming it before release:

- don't need to deprecate the lang string.
- don't need to make any reference to it in the upgrade.txt info

So, basically, pretend it never existed.
2019-04-23 23:55:35 +02:00
Eloy Lafuente (stronk7) 1470cfc2fd Merge branch 'MDL-65354-master' of git://github.com/lameze/moodle 2019-04-23 23:45:21 +02:00
Eloy Lafuente (stronk7) ac753bdd29 Merge branch 'MDL-64676-master' of https://github.com/aanabit/moodle 2019-04-23 19:45:18 +02:00
Eloy Lafuente (stronk7) 1e36bcfb67 Merge branch 'MDL-64151-master' of git://github.com/marinaglancy/moodle 2019-04-23 19:26:47 +02:00
Eloy Lafuente (stronk7) bc342f101a on-demand release 3.7dev+ 2019-04-23 17:36:46 +02:00
Eloy Lafuente (stronk7) 3339cbf26a MDL-64017 message_email: trailing whitespace fix 2019-04-23 14:06:00 +02:00
Eloy Lafuente (stronk7) ea8a32f84c Merge branch 'MDL-65324-master-fix' of git://github.com/junpataleta/moodle 2019-04-23 14:00:44 +02:00
Jun Pataleta 3eed2af1d1 MDL-65324 mod_forum: Fix tests for timed discussion settings 2019-04-23 14:00:41 +02:00
Adrian Greeve e15703efbd Merge branch 'MDL-64703-master-fix-1' of https://github.com/ryanwyllie/moodle 2019-04-23 14:00:37 +02:00
Ryan Wyllie fcf393a100 MDL-64703 message: fix group conversation heading alignment 2019-04-23 14:00:33 +02:00
Adrian Greeve 0e483ba3a8 Merge branch 'MDL-64017_master-fix' of https://github.com/markn86/moodle 2019-04-23 14:00:30 +02:00
Eloy Lafuente (stronk7) 1f39068e03 Merge branch 'MDL-65248' of git://github.com/stronk7/moodle 2019-04-23 13:56:06 +02:00
Eloy Lafuente (stronk7) 9c0edd1212 MDL-65248 analytics: Replace upgrade script to apply for all moves
While strictly we don't nedd to provide an upgrade path for master,
any dev/integration site already using some of the 3.7 new tagets
in models will break (class rename/move) if we don't perform the
update of all them.

This commit takes rid of the previous upgrade step, only performing
the update of a couple of targets and now supports all the (5) targets:

- course_dropout
- course_competencies
- course_completion
- course_gradetopass
- no_teaching
2019-04-23 13:53:46 +02:00
Eloy Lafuente (stronk7) 3df9c60390 MDL-65248 core_user: Move some upcoming_activities_due strings
From course lang files to user lang files (where the target belongs to)

AMOS BEGIN
    MOV [target:upcomingactivitiesdue,core_course],[target:upcomingactivitiesdue,core_user]
    MOV [target:upcomingactivitiesdue_help,core_course],[target:upcomingactivitiesdue_help,core_user]
AMOS END
2019-04-23 13:53:42 +02:00
Jun Pataleta 0f39613771 Merge branch 'MDL-65311-xml-files' of https://github.com/brendanheywood/moodle 2019-04-23 13:53:39 +02:00
Jun Pataleta 72f7e3f198 Merge branch 'MDL-65324-master' of git://github.com/peterRd/moodle 2019-04-23 13:53:35 +02:00
Eloy Lafuente (stronk7) 5dec930fb0 Merge branch 'MDL-62459' of git://github.com/stronk7/moodle 2019-04-23 13:53:24 +02:00
Eloy Lafuente (stronk7) 0d575a542a Merge branch 'MDL-65248_master' of git://github.com/dmonllao/moodle 2019-04-23 13:50:22 +02:00
David Monllaó 080fb03d25 Merge branch 'MDL-64924' of git://github.com/Chocolate-lightning/moodle 2019-04-23 13:44:12 +02:00
David Monllaó 04f41dc247 Merge branch 'MDL-64102-master' of git://github.com/bmbrands/moodle 2019-04-23 13:44:08 +02:00
David Monllaó 2f3c8da164 Merge branch 'MDL-61199-master' of git://github.com/jleyva/moodle 2019-04-23 13:44:04 +02:00
Eloy Lafuente (stronk7) 735122c33f Merge branch 'MDL-64641-master' of git://github.com/jleyva/moodle 2019-04-23 13:43:56 +02:00
David Monllaó 906800a082 Merge branch 'MDL-65102-master' of git://github.com/rezaies/moodle 2019-04-23 13:42:37 +02:00
David Monllaó 6dbe565998 Merge branch 'MDL-65211-master' of git://github.com/jleyva/moodle 2019-04-23 13:42:33 +02:00
David Monllaó 1986293d78 Merge branch 'MDL-65251-master' of git://github.com/junpataleta/moodle 2019-04-23 13:42:30 +02:00
Eloy Lafuente (stronk7) b780451d9f Merge branch 'MDL-65254-master' of git://github.com/cescobedo/moodle 2019-04-23 13:42:08 +02:00
David Monllaó f729aea695 Merge branch 'MDL-65255-master' of git://github.com/jleyva/moodle 2019-04-23 13:36:57 +02:00
David Monllaó 296a85db86 Merge branch 'MDL-65184' of git://github.com/Chocolate-lightning/moodle 2019-04-23 13:36:53 +02:00
David Monllaó 8de5c25696 Merge branch 'MDL-64701-category-customfields-master' of https://github.com/dmitriim/moodle 2019-04-23 13:36:50 +02:00
Juan Leyva 26e778d1b7 MDL-60680 file: Support any user id when creating tokens for files.
$includetoken parameter type has been changed. Now supports:
   boolean: False indicates to not include the token, true indicates to generate a token for the current user ($USER).
   integer: Indicates to generate a token for the user whose id is the integer value.
2019-04-23 13:16:15 +02:00
Juan Leyva 333d11c9fc MDL-60680 notifications: New customdata field
New field to store custom data for message processors.
2019-04-23 13:15:24 +02:00
Juan Leyva c13438158b MDL-60680 message_output: Change message provider defaults
Since some versions ago the app allows a good user control of notifications.
This is why we should be enabling more notifications (mostly for students) by default.
2019-04-23 13:09:06 +02:00
Shamim Rezaie 55fec3126d MDL-64782 mnetservice_enrol: Performance improvement 2019-04-23 17:01:48 +10:00
Shamim Rezaie 30ce76c792 MDL-64782 core_badges: Performance improvement 2019-04-23 17:01:48 +10:00
Shamim Rezaie 1916f2be8f MDL-64782 core_enrol: Performance improvement 2019-04-23 17:01:48 +10:00
Shamim Rezaie 7a2e7b29a0 MDL-64782 core_backup: Performance improvement 2019-04-23 17:01:48 +10:00
Shamim Rezaie fd6096c449 MDL-64782 core_calendar: Performance improvement 2019-04-23 17:01:48 +10:00
Shamim Rezaie ac2bfc2c37 MDL-64782 core_calendar: Privacy deletion fix
Deleting in course context should not delete from course modules
2019-04-23 17:01:48 +10:00
Shamim Rezaie 0c8cb62e8e MDL-64782 core_cohort: Performance improvement 2019-04-23 17:01:48 +10:00
Shamim Rezaie acb25c6534 MDL-64782 tool_monitor: Performance improvement 2019-04-23 17:01:48 +10:00
Shamim Rezaie 6d817db08e MDL-64782 report_stats: Performance improvement 2019-04-23 17:01:48 +10:00
Shamim Rezaie 0452337d1a MDL-64782 core_group: Performance improvement 2019-04-23 17:01:48 +10:00
Shamim Rezaie a5f7de8777 MDL-64782 core_completion: Performance improvement 2019-04-23 17:01:48 +10:00
Mark Nelson c01533646d MDL-64017 message_email: fixed incorrect unread count 2019-04-23 12:15:35 +08:00
Damyon Wiese b3337bd5a4 MDL-64702 badges: Add missing data to backup
Backup and restore of badges is missing data:
* alignments
* endorsement

Also added to "clone" (duplicate a badge).
2019-04-23 11:14:00 +08:00
Damyon Wiese 0dc93da62a MDL-64702 badges: Add to privacy
Add endorsement, related badges and alignment to privacy export.
2019-04-23 11:13:55 +08:00
Eloy Lafuente (stronk7) e77ed805f0 on-demand release 3.7dev+ 2019-04-23 10:47:17 +08:00
AMOS bot 391ab03dfc Automatically generated installer lang files 2019-04-23 10:47:17 +08:00
David Monllaó 3d15deff15 Merge branch 'MDL-65222' of git://github.com/timhunt/moodle 2019-04-22 09:08:37 +02:00
Eloy Lafuente (stronk7) 594717128d MDL-62459 database: remove unused table role_sortorder 2019-04-22 01:37:14 +02:00
Eloy Lafuente (stronk7) 65c6deca6f Merge branch 'MDL-65378_master' of git://github.com/dmonllao/moodle 2019-04-22 01:03:34 +02:00
Eloy Lafuente (stronk7) 1d75eb9bad Merge branch 'MDL-65275_master' of git://github.com/markn86/moodle 2019-04-22 00:58:37 +02:00
Alexander Bias d6cea5ccd9 MDL-65056 completion: Hide checkboxes on course page for teachers 2019-04-19 11:40:00 +02:00
sam marshall 7e604b418e MDL-65375 Restore: Log restore must support new jsonformat setting
Includes support for the new jsonformat setting in logstore_standard
and logstore_database.

Also includes a bugfix where the restore used to restore NULL into
'other' fields, which were not null otherwise, so it was inconsistent
with normal logging.
2019-04-18 16:07:01 +01:00
Adrian Greeve 8c67db30a6 Merge branch 'MDL-64017_master' of git://github.com/markn86/moodle 2019-04-18 16:18:22 +08:00
Mark Nelson 168d782ff8 MDL-64017 message_email: task to send messages as a digest 2019-04-18 16:03:27 +08:00
Jun Pataleta a0653e5c4a MDL-65382 tool_dataprivacy: Fix appearance of status labels 2019-04-18 15:29:07 +08:00
Jun Pataleta 83d4204ef1 MDL-65382 mod_lti: Fix appearance of status labels 2019-04-18 15:28:48 +08:00
Jun Pataleta eecb7dc093 MDL-65382 admin: Fix appearance of status labels 2019-04-18 15:28:15 +08:00
Jun Pataleta da5a90a822 Merge branch 'MDL-64137-master' of git://github.com/bmbrands/moodle 2019-04-18 14:55:20 +08:00
Bas Brands 2902ca9d92 MDL-64017 message_email: Added mustache templates for email 2019-04-18 14:28:09 +08:00
Mark Nelson d5d4a5aab2 MDL-64017 core_message: can specify conversation to view on index page 2019-04-18 14:28:09 +08:00
Mark Nelson 9b6034bc77 MDL-64017 message_email: populate new DB table when required 2019-04-18 14:28:09 +08:00
Mark Nelson c210455a4c MDL-64017 core: remove group conversation check for processors
We now want to allow processors to process group messages.
2019-04-18 14:28:09 +08:00
Mark Nelson ca754fc8c2 MDL-64017 core_message: pass conversation type to processors 2019-04-18 14:28:09 +08:00
Mark Nelson 9bc1b8f8da MDL-64017 message_email: updated privacy provider 2019-04-18 14:28:09 +08:00
Mark Nelson 97c85a001c MDL-64017 message_email: add new database table
This table will be responsible for storing the messages
that need to be emailed, but have not yet. A task will
run that will email these and then remove them from the
table.
2019-04-18 14:28:09 +08:00
Adrian Greeve 48fa567da2 Merge branch 'MDL-29318-master' of git://github.com/junpataleta/moodle 2019-04-18 13:48:33 +08:00
Adrian Greeve eae20bc94a MDL-64715 core_message: Fix for message upgrade db prefix. 2019-04-18 11:47:13 +08:00
Jun Pataleta 9f23a65e0c Merge branch 'MDL-64956-master2' of git://github.com/peterRd/moodle 2019-04-18 11:09:49 +08:00
Adrian Greeve 862a9b1d60 Merge branch 'MDL-64715-master-self-starred-pr-ryan' of git://github.com/sarjona/moodle 2019-04-18 11:06:57 +08:00
Adrian Greeve e16ab06b46 Merge branch 'MDL-64703-master' of git://github.com/bmbrands/moodle 2019-04-18 09:12:43 +08:00
Simey Lameze 3bc573501a MDL-65354 core: replace all usages of old cap 2019-04-18 08:57:52 +08:00
Simey Lameze d26749b74c MDL-65354 core: rename course:browse cap to category:browsecourses 2019-04-18 08:57:48 +08:00
Peter a0c9b6afcc MDL-64956 mod_forum: Updates based on IR 2019-04-18 06:40:22 +08:00
Eloy Lafuente (stronk7) 019004dcc7 on-demand release 3.7dev+ 2019-04-17 20:07:01 +02:00
Eloy Lafuente (stronk7) 7404b9de9b Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-04-17 20:06:58 +02:00
David Monllaó acaf0977a8 MDL-65378 tool_analytics: Add missing require 2019-04-17 13:56:04 +02:00
David Monllaó 6289f6afe3 Merge branch 'MDL-62907' of https://github.com/stronk7/moodle 2019-04-17 11:16:44 +02:00
Eloy Lafuente (stronk7) 65453b9861 MDL-62907 Logging: Allow nulls on info, cases have been detected 2019-04-17 10:43:02 +02:00
Peter 9b4f09bad2 MDL-64956 mod_forum: Inpage reply
* Basic functionality for an inpage reply. With advanced link that takes you to the previous "Reply page".
* Updated behat function to handle the additional step
* Updated templates to have some identifiers on where one is storing the replies post
* Updated discussion_post to use the new vault functions to get the corresponding records
* Jumpto newly created post
2019-04-17 10:13:41 +08:00
Eloy Lafuente (stronk7) 9bcfd21bcd Merge branch 'MDL-65137' of https://github.com/KietChan/moodle 2019-04-17 00:49:21 +02:00
Eloy Lafuente (stronk7) 89fbc3ec9a Merge branch 'MDL-65179-master' of https://github.com/sammarshallou/moodle 2019-04-16 22:37:23 +02:00
Ryan Wyllie 69efd0337b MDL-64715 message: improve the front-end for the self-conversations 2019-04-16 12:06:28 +02:00
David Monllaó 4e5fd9e14d Merge branch 'MDL-64855_fixviews' of git://github.com/dmonllao/moodle 2019-04-16 11:14:51 +02:00
Tom Dickman c7d625a728 MDL-64855 block_myoverview: Fix list and summary views 2019-04-16 11:13:43 +02:00
Eloy Lafuente (stronk7) 7f7b751ea2 Merge branch 'MDL-64777_delete-static' of https://github.com/dmonllao/moodle 2019-04-16 10:59:55 +02:00
David Monllaó 6fce5a13cc MDL-64777 tool_analytics: Static models can also be deleted 2019-04-16 10:46:20 +02:00
Adrian Greeve a251ed8be7 Merge branch 'MDL-65034-master' of git://github.com/ryanwyllie/moodle 2019-04-16 13:19:15 +08:00
Ryan Wyllie 8dbe769988 MDL-65034 mod_forum: fix author for single discussion forum 2019-04-16 10:51:43 +08:00
Eloy Lafuente (stronk7) 0b9d7d93f8 MDL-65308 core: change a couple of unsafe preg_quote() cases
With PHP 7.3, the hash (#) is being escaped by preg_quote().

While normally that doesnt have much impact and normal operations
continue working perfectly... when the results of the function are
used to match against the same string... they don't match anymore.

Have found a couple of there double-uses in core and this
commit fixes them. Covered with tests.
2019-04-16 01:40:47 +02:00
Eloy Lafuente (stronk7) f79881b8d0 Merge branch 'MDL-59298-master' of git://github.com/rezaies/moodle 2019-04-15 23:53:58 +02:00
Eloy Lafuente (stronk7) f7e183e513 Merge branch 'MDL-64777-master-modelsrestore' of git://github.com/mudrd8mz/moodle 2019-04-15 23:37:43 +02:00
Eloy Lafuente (stronk7) 5fd5eaf766 Merge branch 'MDL-64786-master-renamemodels' of git://github.com/mudrd8mz/moodle 2019-04-15 22:53:55 +02:00
Eloy Lafuente (stronk7) 75cd6b9a08 Merge branch 'MDL-65307_master' of git://github.com/dmonllao/moodle 2019-04-15 20:43:13 +02:00
Eloy Lafuente (stronk7) 0c1944cd93 Merge branch 'MDL-60470' of https://github.com/brendanheywood/moodle 2019-04-15 20:26:17 +02:00
Sara Arjona 734b198fd3 MDL-64715 message: add support for self conversations
Added new MESSAGE_CONVERSATION_TYPE_SELF type for self-conversations
and upgraded legacy self-conversations to the new type, removing
repeated members in the message_conversation_members table.
Besides, from now, a self-conversation will be created by default for
all the existing users.

All the self-conversations have been also starred and a default message
will be displayed always to explain how to use them.
2019-04-15 20:17:54 +02:00
Brendan Heywood bf9f255523 MDL-60470 core: New hook 'after_require_login'
This adds a hook towards the end of the require_login function.
2019-04-16 03:39:20 +10:00
Sara Arjona fcd7f0f982 MDL-64715 message: add send-self-message button to the user profile
The "Send message" button is now also displayed from the current user
profile to let them access to their self-conversations.
2019-04-15 14:29:10 +02:00
Sara Arjona 2767426111 MDL-64715 message: avoid duplicate entries when searching messages 2019-04-15 14:29:10 +02:00
Sara Arjona edb1ab3d17 Merge branch 'MDL-65328' of https://github.com/stronk7/moodle 2019-04-15 13:53:15 +02:00
Sara Arjona 8baa12ac38 Merge branch 'MDL-65281' of git://github.com/stronk7/moodle 2019-04-15 13:13:14 +02:00
David Monllaó e034670fac Merge branch 'MDL-62572-master' of git://github.com/damyon/moodle 2019-04-15 11:04:54 +02:00
David Monllaó 7063b665e0 MDL-65248 core_course: Move analytics targets to course
MOV [coursealreadyfinished, moodle], [coursealreadyfinished, course]
MOV [coursenotyetstarted, moodle], [coursenotyetstarted, course]
MOV [coursenotyetfinished, moodle], [coursenotyetfinished, course]
MOV [nocourseactivity, moodle], [nocourseactivity, course]
MOV [nocourseendtime, moodle], [nocourseendtime, course]
MOV [nocoursesections, moodle], [nocoursesections, course]
MOV [nocoursestudents, moodle], [nocoursestudents, course]
MOV [studentsatriskincourse, moodle], [studentsatriskincourse, course]
MOV [target:coursecompletion, moodle], [target:coursecompletion, course]
MOV [target:coursecompletion_help, moodle], [target:coursecompletion_help, course]
MOV [target:coursecompetencies, moodle], [target:coursecompetencies, course]
MOV [target:coursecompetencies_help, moodle], [target:coursecompetencies_help, course]
MOV [target:coursedropout, moodle], [target:coursedropout, course]
MOV [target:coursedropout_help, moodle], [target:coursedropout_help, course]
MOV [target:coursegradetopass, moodle], [target:coursegradetopass, course]
MOV [target:coursegradetopass_help, moodle], [target:coursegradetopass_help, course]
MOV [target:noteachingactivity, moodle], [target:noteachingactivity, course]
MOV [target:noteachingactivity_help, moodle], [target:noteachingactivity_help, course]
MOV [target:upcomingactivitiesdue, moodle], [target:upcomingactivitiesdue, course]
MOV [target:upcomingactivitiesdue_help, moodle], [target:upcomingactivitiesdue_help, course]
MOV [targetlabelstudentcompletionno, moodle], [targetlabelstudentcompletionno, course]
MOV [targetlabelstudentcompletionyes, moodle], [targetlabelstudentcompletionyes, course]
MOV [targetlabelstudentcompetenciesno, moodle], [targetlabelstudentcompetenciesno, course]
MOV [targetlabelstudentcompetenciesyes, moodle], [targetlabelstudentcompetenciesyes, course]
MOV [targetlabelstudentdropoutyes, moodle], [targetlabelstudentdropoutyes, course]
MOV [targetlabelstudentdropoutno, moodle], [targetlabelstudentdropoutno, course]
MOV [targetlabelstudentgradetopassno, moodle], [targetlabelstudentgradetopassno, course]
MOV [targetlabelstudentgradetopassyes, moodle], [targetlabelstudentgradetopassyes, course]
MOV [targetlabelteachingyes, moodle], [targetlabelteachingyes, course]
MOV [targetlabelteachingno, moodle], [targetlabelteachingno, course]
MOV [coursetoolong, analytics], [coursetoolong, course]
MOV [errorendbeforestart, analytics], [errorendbeforestart, course]
2019-04-15 09:45:50 +02:00
Mihail Geshoski ee6b5ba343 MDL-65034 forum: Rename identifier to camel case 2019-04-15 14:51:03 +08:00
Ryan Wyllie e564ae863d MDL-65034 forum: add aria keyboard nav to discussion 2019-04-15 14:51:03 +08:00
Ryan Wyllie 53d743741e MDL-65034 forum: add aria attributes to forum post 2019-04-15 14:51:03 +08:00
David Mudrák 7bd09a69ae MDL-64786 analytics: Make the list of indicators collapsed by default
The list may become very long and it does not help the usability of the
table. Similarly to what we have on the restore models page, we now have
the list of indicators collapsed by default.
2019-04-15 08:22:13 +02:00
David Mudrák cfb5603e60 MDL-64786 analytics: Fix documentation of models_list template
The list of expected context variables was missing. The example context
was not correct, particularly the help icons are a single object, not a
list.
2019-04-15 08:22:13 +02:00
David Mudrák 066a4d6493 MDL-64786 analytics: Allow renaming models via inplace editable element 2019-04-15 08:22:13 +02:00
David Mudrák 6482734681 MDL-64786 analytics: Add a new name field to the models table 2019-04-15 08:22:13 +02:00
David Mudrák ed47112e1b MDL-64786 analytics: Add missing parameter to model::export() method
All methods that export an object to be rendered via a template, must
have the instance of a renderer available.
2019-04-15 08:17:45 +02:00
David Mudrák 76ef6610bb MDL-64777 analytics: Add ability to restore missing default models
The patch introduces a new page restoredefault.php that allows the user
to select missing models to be restored.
2019-04-15 08:16:58 +02:00
David Mudrák 7dba0c27ad MDL-64777 analytics: Add method to get target and indicators instances
This will be needed in some other places, too.
2019-04-15 08:16:58 +02:00
David Mudrák 1297fa4156 MDL-64777 analytics: Add method to load all model definitions 2019-04-15 08:16:58 +02:00
David Mudrák 01d620ee67 MDL-64777 analytics: Add method for identifying a model declaration
This is intended to be used to as a declaration identifier in HTML or as
a HTTP parameter value.
2019-04-15 08:16:58 +02:00
David Monllaó c4beecb66b Merge branch 'wip-MDL-65220-master' of https://github.com/jason-platts/moodle 2019-04-15 07:57:27 +02:00
David Monllaó ce93b0f997 MDL-64855 version: Bump for the new setting 2019-04-15 07:51:24 +02:00
David Monllaó a733fce3ac Merge branch 'MDL-64855-37_block_myoverview_course_category_display' of https://github.com/tomdickman/moodle 2019-04-15 07:50:45 +02:00
David Monllaó f82701acad Merge branch 'MDL-59326' of https://github.com/paulholden/moodle 2019-04-15 07:47:33 +02:00
David Monllaó 72a70e37b5 Merge branch 'MDL-64894-master' of git://github.com/damyon/moodle 2019-04-15 07:45:04 +02:00
David Monllaó 815c070a26 Merge branch 'MDL-29317-master' of git://github.com/junpataleta/moodle 2019-04-15 07:41:10 +02:00
Eloy Lafuente (stronk7) 0163c6e449 Merge branch 'MDL-62907-master' of https://github.com/sammarshallou/moodle 2019-04-14 18:12:56 +02:00
Eloy Lafuente (stronk7) 50fe98de05 Merge branch 'MDL-65321-course-perf' of https://github.com/brendanheywood/moodle 2019-04-14 17:58:04 +02:00
Brendan Heywood af368c1076 MDL-65321 backups: Only require minimal async backup libs if needed 2019-04-13 23:43:01 +10:00
Eloy Lafuente (stronk7) c0b02e7118 MDL-65328 phpunit: make test immune to (lack of) ordering 2019-04-13 12:43:31 +02:00
Eloy Lafuente (stronk7) 89a81629a7 MDL-65281 phpunit: Just check for existence if order is not guaranteed
Posible solutions explained in the issue, imply chaging the API
in various, alternative ways. For your consideration if that
should be done for a better API, able to sort under demand when
required (or, at very least guaranteeing a default consistent ordering).
2019-04-13 11:38:39 +02:00
AMOS bot d78a868216 Automatically generated installer lang files 2019-04-13 00:13:09 +00:00
Eloy Lafuente (stronk7) bef0fe2000 on-demand release 3.7dev+ 2019-04-12 21:38:18 +02:00
Eloy Lafuente (stronk7) c1634f3648 NOBUG: Fixed file access permissions 2019-04-12 21:38:18 +02:00
Eloy Lafuente (stronk7) 269789d0b9 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-04-12 21:38:15 +02:00
Eloy Lafuente (stronk7) 66b4982135 MDL-64656 phpunit: Compare returned tags without any expected order 2019-04-12 17:28:21 +02:00
Eloy Lafuente (stronk7) 51f8b2dc15 Merge branch 'MDL-39261-master' of https://github.com/sarjona/moodle 2019-04-12 13:28:56 +02:00
Sara Arjona 865d284410 MDL-39261 mod_lesson: get the existing attemptid when reviewing 2019-04-12 13:11:50 +02:00
Eloy Lafuente (stronk7) 3d915f5345 MDL-62907 Logging: remove plugin interdependencies
- Move decode_other() from standard to tool_log\helper\reader trait.
- Change all ocurrences to "use" the trait method. But a unit test.
- Duplicate the admin lang strings in database and use them.
- An incorrect phpdoc @package.
2019-04-12 10:49:19 +01:00
Sara Cenni d78d97de8c MDL-64851 badge: reviewing badges of invisible courses 2019-04-12 09:50:33 +02:00
Damyon Wiese 04258a5a4e MDL-64894 theme_classic: Compile SCSS for classic 2019-04-12 14:16:28 +08:00
Damyon Wiese f10c22b691 MDL-62572 backup: Duplicating an activity
Don't apply admin defaults for import when using the duplicate function.
2019-04-12 14:04:40 +08:00
Jake Dallimore 76e35e6bdd Merge branch 'MDL-62974-master' of github.com:abgreeve/moodle 2019-04-12 11:17:26 +08:00
Adrian Greeve ac76ff1999 MDL-62974 mod_lesson: Minor update to html class. 2019-04-12 11:01:20 +08:00
Adrian Greeve 7ff3919dc2 Merge branch 'MDL-39261-master' of git://github.com/peterRd/moodle 2019-04-12 10:52:16 +08:00
Peter 814db56f4c MDL-65324 mod_forum: Fix the has_ended function and add unit tests
* Additional has_started unit tests
2019-04-12 10:20:18 +08:00
Peter a4606b7efe MDL-39261 mod_lesson: Move essay answer files to new file area
* Moved answers to a different file area
* Added backup and restore calls
* Include privacy/reset related calls similar to essay responses
2019-04-12 07:27:12 +08:00
Eloy Lafuente (stronk7) 310a6ad297 Merge branch 'MDL-65072-fast-locks' of https://github.com/brendanheywood/moodle 2019-04-12 00:35:15 +02:00
Eloy Lafuente (stronk7) a45fa792df Merge branch 'MDL-62974-master' of https://github.com/jmvedrine/moodle 2019-04-11 23:49:55 +02:00
Eloy Lafuente (stronk7) ff3c8c0e6c Merge branch 'MDL-64656-master' of git://github.com/jleyva/moodle 2019-04-11 20:12:13 +02:00
Eloy Lafuente (stronk7) 7c924d311d Merge branch 'MDL-64284-36_get_component_classes_cache' of https://github.com/tomdickman/moodle 2019-04-11 20:01:37 +02:00
Eloy Lafuente (stronk7) a8ec611f57 Merge branch 'MDL-65175_master-fixup' of git://github.com/dmonllao/moodle 2019-04-11 19:50:53 +02:00
David Monllaó 69b68ad691 MDL-65175 mlbackend_php: Add missing checking for number of targets 2019-04-11 17:57:25 +02:00
David Monllaó d5111e6f6b MDL-65175 tool_analytics: Do not accumulate time splitting options 2019-04-11 17:56:44 +02:00
Eloy Lafuente (stronk7) fd652de81f Merge branch 'MDL-31355-master' of git://github.com/rezaies/moodle 2019-04-11 17:17:07 +02:00
sam marshall 12f9acbe76 MDL-62907 Logging: JSON format option for logstore_database 2019-04-11 14:09:36 +01:00
sam marshall 75dc1756bb MDL-62907 Logging: 'other' field option to use JSON format 2019-04-11 14:09:35 +01:00
Shamim Rezaie 1c96922da5 MDL-31355 core: Bump $lastmajordbchanges to trigger upgrade immediately 2019-04-11 18:47:35 +10:00
Shamim Rezaie 7a6b701a90 MDL-31355 mod_forum: Add drag and drop support to forum duedate events 2019-04-11 18:47:35 +10:00
Shamim Rezaie 82482e3d3e MDL-31355 mod_forum: different message when duedate has passed 2019-04-11 18:47:35 +10:00
Shamim Rezaie cbf63d8efc MDL-31355 mod_forum: Prevent users from posting after cut-off date 2019-04-11 18:47:35 +10:00
Shamim Rezaie 99bcb31895 MDL-31355 mod_forum: WS should return duedate and cutoffdate. 2019-04-11 18:47:32 +10:00
Eloy Lafuente (stronk7) 0f50e9cf90 Merge branch 'MDL-64543-slow-profile-patch' of https://github.com/brendanheywood/moodle 2019-04-11 10:45:59 +02:00
Shamim Rezaie bbbf182089 MDL-31355 mod_forum: Create, update and delete due date event 2019-04-11 18:33:35 +10:00
Juan Leyva 86fd9277c2 MDL-64656 core_tag: New WebService core_tag_get_tag_cloud 2019-04-11 10:20:44 +02:00
Juan Leyva 87bdad57c4 MDL-64656 core_tag: New WebService core_tag_get_tag_collections 2019-04-11 10:20:44 +02:00
Juan Leyva 07a4883796 MDL-64656 core_tag: New WebService core_tag_get_tag_areas 2019-04-11 10:20:44 +02:00
Juan Leyva f121889933 MDL-64656 core_tag: New WebService core_tag_get_tagindex_per_area 2019-04-11 10:20:44 +02:00
Juan Leyva 6c344ff282 MDL-64656 core_tag: Return tags in modules and blog 2019-04-11 10:20:44 +02:00
Juan Leyva 52fcc0b827 MDL-64656 core_tag: Add existing WebServices to the mobile app service 2019-04-11 10:10:44 +02:00
Marina Glancy e66acce81a MDL-64151 form: autocomplete element remove last choice
This is the same situation as was in MDL-56864 but now in 'course', 'autocomplete' and 'select' elements
- if the element allows multiple selection it is impossible to remove the last element
2019-04-11 10:00:22 +02:00
Adrian Greeve adb62f17c1 Merge branch 'MDL-64719-purge_user_cache' of git://github.com/leonstr/moodle 2019-04-11 13:38:08 +08:00
Peter 676eca7b9b MDL-39261 mod_lesson: Rewrite the answer URL for grading 2019-04-11 12:03:32 +08:00
Adrian Greeve 8fa61e525a Merge branch 'MDL-65015-master' of git://github.com/cescobedo/moodle 2019-04-11 10:14:23 +08:00
Brendan Heywood 097616f8ac MDL-64543 profiling: Fixed code warning error 2019-04-11 12:02:43 +10:00
Eloy Lafuente (stronk7) 72b2e31802 Merge branch 'MDL-64543-slow-profile' of https://github.com/brendanheywood/moodle 2019-04-10 23:43:22 +02:00
Shamim Rezaie 0556f39373 MDL-31355 mod_forum: backup and restore of duedate and cutoffdate fields 2019-04-11 02:03:02 +10:00
Shamim Rezaie ceea2d2618 MDL-31355 mod_forum: Add duedate and cutoffdate to form
AMOS BEGIN
CPY [availability,mod_assign],[availability,mod_forum]
CPY [cutoffdate,mod_assign],[cutoffdate,mod_forum]
CPY [cutoffdatevalidation,mod_assign],[cutoffdatevalidation,mod_forum]
CPY [duedate,mod_assign],[duedate,mod_forum]
AMOS END
2019-04-11 02:03:02 +10:00
Shamim Rezaie f6b07fedde MDL-31355 mod_forum: new db field for due and cutoff date 2019-04-11 02:03:02 +10:00
Eloy Lafuente (stronk7) 83b2cbad02 Merge branch 'MDL-65177_master' of git://github.com/dmonllao/moodle 2019-04-10 17:47:56 +02:00
Eloy Lafuente (stronk7) 30a09fc94c Merge branch 'MDL-65175_master' of git://github.com/dmonllao/moodle 2019-04-10 17:38:17 +02:00
David Monllaó 65c817ba21 MDL-59081 mod_lesson: Fix feature file indentation 2019-04-10 13:37:02 +02:00
David Monllaó f7c77ea189 Merge branch 'MDL-59081-master' of git://github.com/abgreeve/moodle 2019-04-10 12:49:22 +02:00
David Monllaó 11bfc07a93 Merge branch 'MDL-10965-master' of git://github.com/marinaglancy/moodle 2019-04-10 12:42:51 +02:00
Marina Glancy 76f2d89471 MDL-10965 course: search only courses with completion
it is quite often when we need to have an autocomplete element that searches courses that
have completion enabled. This commit adds an option for the 'course' form element, and also
changes two places where we search for courses with completion. This should fix MDL-58989
2019-04-10 12:35:29 +02:00
Marina Glancy 2c8b8af4bd MDL-10965 tool_generator: use existing course element 2019-04-10 12:35:28 +02:00
Marina Glancy 88d2677e43 MDL-10965 core: deprecate function get_courses_page 2019-04-10 12:35:28 +02:00
Marina Glancy beff3806d6 MDL-10965 courses: capability to browse course list 2019-04-10 12:35:28 +02:00
David Monllaó 5bbdc42039 MDL-65177 analytics: New time-splitting methods for upcoming events 2019-04-10 12:23:05 +02:00
David Monllaó b73e1cdb57 MDL-65177 tool_analytics: Static models can now be edited
Only the time-splitting method.
2019-04-10 12:23:03 +02:00
David Monllaó 5f1f0ee6a1 MDL-65175 analytics: Time-splittings can be invalid for evaluation 2019-04-10 12:19:52 +02:00
David Monllaó baa6c29cc1 MDL-65175 analytics: Rm references to unexisting time-splittings 2019-04-10 12:19:52 +02:00
David Monllaó 84bc827932 MDL-65175 tool_analytics: Select a time-splitting for evaluation 2019-04-10 12:19:52 +02:00
David Balch da37a3add1 MDL-65299 theme_classic: Allow default.scss theme-colors override. 2019-04-10 09:27:25 +01:00
Adrian Greeve e9cbc45484 Merge branch 'MDL-46975-master' of git://github.com/junpataleta/moodle 2019-04-10 14:23:59 +08:00
Mark Nelson 9f2be0aeaf MDL-65275 mod_forum: do not format_text twice() 2019-04-10 13:28:34 +08:00
Adrian Greeve 62536aea0a Merge branch 'MDL-64322' of https://github.com/KietChan/moodle 2019-04-10 13:23:54 +08:00
AMOS bot 745ab2badf Merge branch 'master' into install_master 2019-04-10 00:12:10 +00:00
Jean-Michel Vedrine d1e24c1275 MDL-62974 lesson: Suppress HTML font tags 2019-04-09 22:55:59 +02:00
Eloy Lafuente (stronk7) dafcc3cf7b on-demand release 3.7dev+ 2019-04-09 20:37:27 +02:00
Eloy Lafuente (stronk7) 1a23b29672 Merge branch 'MDL-64819-master' of https://github.com/sarjona/moodle 2019-04-09 16:00:47 +02:00
Brendan Heywood 97f63b4180 MDL-65311 core: Fixed regression caused by MDL-65130 2019-04-09 22:39:02 +10:00
Sara Arjona 1929d6f88c MDL-64819 course: fix behat errors with the move icon
Some errors have been detected when using Clean + Goutte.
2019-04-09 14:09:02 +02:00
Adrian Greeve 0c2589bce2 Merge branch 'MDL-65075-master' of git://github.com/jleyva/moodle 2019-04-09 17:16:18 +08:00
David Monllaó e80df160f7 MDL-65307 tool_analytics: Current action including sesskey 2019-04-09 08:03:35 +02:00
Adrian Greeve 29bc29ed4f Merge branch 'master_MDL-28505_Asynchronous_backup_and_restore' of https://github.com/mattporritt/moodle 2019-04-09 10:00:23 +08:00
Eloy Lafuente (stronk7) 8f8b2ce0dc MDL-64783 analytics: Add new capability lang string 2019-04-09 02:30:49 +02:00
Matt Porritt 2cd901a4e7 MDL-28505 Backup: Asynchronous backup and restore
This patch adds asynchronous backup and restore functionality
to Moodle. This is an optional feature and is not enabled by
default. It can be enabled by site administrators.
Asynchronous backup and restores are actioned by the Moodle
adhoc task API. The progress of backup and restores is
displayedin the Moodle UI.  Users can also be sent a message
when a backup or restore operation completes via the
Moodle messaging API.
2019-04-09 00:15:42 +00:00
AMOS bot b6eac2598a Automatically generated installer lang files 2019-04-09 00:11:16 +00:00
AMOS bot e26715330d Automatically generated installer lang files 2019-04-09 00:11:16 +00:00
Eloy Lafuente (stronk7) dabc69afe5 Merge branch 'MDL-65191-master' of git://github.com/lameze/moodle 2019-04-09 00:46:47 +02:00
David Monllaó 21bf5ae5ab MDL-64783 analytics: Send notifications using the receiver's language 2019-04-09 00:29:57 +02:00
David Monllaó 982fef46f4 MDL-64783 analytics: Activities due insight forwards to calendar
The patch includes changes applied after the peer review.
2019-04-09 00:29:57 +02:00
David Monllaó 93663fa1a8 MDL-64783 analytics: Styles for insights sent through email 2019-04-09 00:29:57 +02:00
David Monllaó fccc728fcc MDL-64783 analytics: Performance improvements
- Removed redundant query to analytics_predict_samples
- Analysers API now uses recordsets to iterate through the analysable
  elements. They take the last analysed time into account.
- New method for targets so there is no need to always update the last
  analysis time. Useful for lightweight targets.
2019-04-09 00:29:57 +02:00
David Monllaó 02dfbf44a7 MDL-64783 analytics: Updated insight subject for course_enrolments 2019-04-09 00:29:57 +02:00
David Monllaó 20d7f527b0 MDL-64783 analytics: Discern prediction actions on insights generation 2019-04-09 00:29:51 +02:00
David Monllaó 9f690999ec MDL-64783 analytics: Performance improvements and internal refactoring
The base classes analyser and time-splitting method had too many
reponsibilities. A new analysis class has been created.
2019-04-09 00:26:39 +02:00
David Monllaó 4f13068f78 MDL-64783 analytics: Install / upgrade for the new model 2019-04-09 00:26:39 +02:00
David Monllaó bb7dccdb8e MDL-64783 analytics: Insights generation logic out of the target 2019-04-09 00:26:39 +02:00
David Monllaó e85c2f372b MDL-64783 analytics: Improvements to the insights system 2019-04-09 00:26:23 +02:00
David Monllaó 50935afba4 MDL-64783 analytics: Upcoming activities due and related API changes 2019-04-09 00:25:24 +02:00
David Monllaó 78e77fab2e MDL-64783 analytics: Reset PAGE after analytics processes 2019-04-09 00:25:24 +02:00
Eloy Lafuente (stronk7) c9382c1d28 Merge branch 'MDL-64954_master' of git://github.com/dmonllao/moodle 2019-04-08 20:41:50 +02:00
Eloy Lafuente (stronk7) 35514f573f MDL-65142 dataformat_pdf: added to standard core plugins 2019-04-08 19:41:26 +02:00
Amaia Anabitarte 06b028103e MDL-64676 core_message: Fix old behat tests affected by new messaging 2019-04-08 18:45:23 +02:00
David Balch dbbbeb89bf MDL-65299 Boost: Allow default.scss theme-colors override. 2019-04-08 16:32:30 +01:00
Eloy Lafuente (stronk7) 72959d2170 Merge branch 'MDL-65142-master' of git://github.com/rezaies/moodle 2019-04-08 17:09:03 +02:00
Eloy Lafuente (stronk7) b57084b532 Merge branch 'MDL-65176-master-nofallback' of https://github.com/vmdef/moodle 2019-04-08 16:03:29 +02:00
Damyon Wiese b0d4560634 MDL-64819 output: Hide icons with no title
When output from javascript they should match what gets output from php.
2019-04-08 14:34:15 +02:00
Damyon Wiese cce54c4732 MDL-64819 output: Activity menu icons
Remove duplicate alt text from activity menu icons and the links to add new sections.
2019-04-08 14:33:36 +02:00
Marina Glancy 41653114b5 MDL-65236 core: allow to alias languages in the lang selector 2019-04-08 14:14:23 +02:00
Juan Leyva cc62967bfc MDL-65075 tool_mobile: Check UserAgent only in WS requests 2019-04-08 14:13:54 +02:00
Tim Hunt 7d2c7fed74 MDL-65296 questions: field should be declared
It was already being set, but IDE autocomplete etc did not know that.
2019-04-08 12:19:13 +01:00
Sara Arjona f9e436a2b6 Merge branch 'MDL-64669-master' of git://github.com/aanabit/moodle 2019-04-08 13:12:31 +02:00
Bas Brands a4300f3eaf MDL-64102 core_message: add message tails to match ux design 2019-04-08 12:25:56 +02:00
Victor Deniz Falcon 1f23f1412e MDL-65176 analytics: target for students who don't get the minimum grade
Added new target to predict which students are at risk of not getting
the minimum grade to pass a course.
2019-04-08 10:17:02 +01:00
Juan Leyva 102e0828fd MDL-65075 tool_mobile: Allow auto-login keys only for requests from Moodle apps
This change enhances security and avoid any kind of XSS attack.
2019-04-08 11:05:54 +02:00
Bas Brands 7cbea16001 MDL-64703 core_message: 2 column message index page 2019-04-08 11:05:08 +02:00
Shamim Rezaie 18641610d7 MDL-59298 auth_oauth2: Custom email message when account uses oauth2
AMOS BEGIN
 CPY [emailpasswordchangeinfosubject,core],[emailpasswordchangeinfosubject,auth_oauth2]
AMOS END
2019-04-08 18:56:41 +10:00
Adrian Greeve 9019d6228e Merge branch 'MDL-65218-master' of git://github.com/damyon/moodle 2019-04-08 16:53:43 +08:00
Shamim Rezaie 4c00766e2a MDL-59298 auth_nologin: override get_password_change_info
Let the auth_nologin class to take care of its exceptional behaviour.
2019-04-08 18:53:06 +10:00
Shamim Rezaie 206ec32890 MDL-59298 auth: Added get_password_change_info to auth plugins 2019-04-08 18:43:22 +10:00
Amaia Anabitarte fce10f0e95 MDL-64669 core_message: Waiting for buttons to hide before login out 2019-04-08 10:21:07 +02:00
Kiet.Chan 84bcd65885 MDL-64322 GDPR: Mechanism for restricting delete requests 2019-04-08 15:12:17 +07:00
Amaia Anabitarte fd72e75443 MDL-64669 core_message: Behat tests for send messages 2019-04-08 09:48:51 +02:00
Amaia Anabitarte d624c13542 MDL-64669 core_message: New steps and selectors for messaging 2019-04-08 09:48:51 +02:00
Simey Lameze 846c585910 MDL-65276 core: fix CiBoT complains 2019-04-08 10:30:09 +08:00
Mathew May d566aabac3 MDL-64924 behat: Move Boost specific scenarios to Core 2019-04-08 09:46:12 +08:00
Mathew May 07746974c8 MDL-65184 theme_classic: Remove unused footer template 2019-04-08 09:26:12 +08:00
Jake Dallimore 152e41cccb MDL-65170 core_user: perf improvement for user_get_user_details_courses
We don't always need to iterate over the user's courses, so only fetch
them when we do.
2019-04-08 09:02:13 +08:00
Jake Dallimore e4aaecd392 MDL-65170 core_user: user_get_user_details_courses respects groupmode
This had a relatively simply check for course profile visibility, which
meant that users in separate groups could see one another's profile.
This has been replaced with the more correct check in
user_can_view_profile().
2019-04-08 09:02:13 +08:00
Adrian Greeve 24f9b01135 Merge branch 'MDL-65075-master' of git://github.com/jleyva/moodle 2019-04-08 07:50:28 +08:00
cescobedo 3a5afbf5f1 MDL-65015 core_message: add trusttext cleaning to messaging 2019-04-07 10:56:53 +02:00
David Monllaó 89f1f98f59 MDL-64954 tool_analytics: More help for analytics api elements 2019-04-05 23:59:20 +02:00
Eloy Lafuente (stronk7) 9d4f4f0051 on-demand release 3.7dev+ 2019-04-05 18:33:19 +02:00
David Monllaó 6c0bd61c57 MDL-64779 tool_analytics: Nice styles for the export modal 2019-04-05 18:28:06 +02:00
Thomas Korner ccc1aaed22 MDL-65279 core: typo in categoriesandcourses fixed
AMOS BEGIN
 MOV [categoriesandcoures,core],[categoriesandcourses,core]
AMOS END
2019-04-05 14:37:09 +02:00
Mathew May 27deb59557 MDL-64506 mod_choice: fix behat issue with screensize
We found issues in FireFox where Behat could not scroll to select
the student two checkbox.
2019-04-05 12:10:00 +02:00
cescobedo 3118db5d66 MDL-65254 core_message: Fix going back to message view drawer search
Add the route namespace to description function in message drawer view search.
2019-04-05 10:34:18 +02:00
Juan Leyva ab1b823860 MDL-64641 calendar: Return global calendar settings 2019-04-05 09:56:39 +02:00
Juan Leyva 2aad6b8261 MDL-64641 calendar: New WS core_calendar_get_allowed_event_types 2019-04-05 09:56:39 +02:00
Juan Leyva a46980fa79 MDL-64641 calendar: New WS core_calendar_get_access_information 2019-04-05 09:56:39 +02:00
Juan Leyva ef38c5a531 MDL-64641 calendar: Including missing WS in the mobile service 2019-04-05 09:56:11 +02:00
Juan Leyva 2b34a55d5a MDL-65075 tool_mobile: Allow auto-login keys only for requests from Moodle apps
This change enhances security and avoid any kind of XSS attack.
2019-04-05 09:53:38 +02:00
Simey Lameze 97fddc26f4 MDL-65276 core: delete orphaned cron.php 2019-04-05 13:45:06 +08:00
Simey Lameze ea9428be7b MDL-65276 core: move functions to completion_regular_task
This commit shifts the content of legacy completion_cron_criteria()
and completion_cron_completions() functions to completion_regular_task.

Also, those functions are deleted as part of this commit.
2019-04-05 13:44:53 +08:00
Simey Lameze fe4f55ee40 MDL-65276 core: move completion_cron_aggregate() to completionlib 2019-04-05 13:38:30 +08:00
Simey Lameze a5a0d10e70 MDL-65276 core: convert legacy cron function to task 2019-04-05 13:38:07 +08:00
Adrian Greeve 02b342bb70 MDL-65019 core_course: Update to fix whitespace. 2019-04-05 09:33:13 +08:00
Adrian Greeve abd898606d Merge branch 'MDL-65019-master' of git://github.com/jleyva/moodle 2019-04-05 09:15:18 +08:00
Adrian Greeve cc56e409c3 Merge branch 'MDL-65024-master' of git://github.com/jleyva/moodle 2019-04-05 09:09:16 +08:00
Eloy Lafuente (stronk7) 01cdf16c0e Merge branch 'MDL-65029-master' of git://github.com/timhunt/moodle 2019-04-05 00:39:10 +02:00
Eloy Lafuente (stronk7) cd44336505 Merge branch 'MDL-65127-master' of git://github.com/sarjona/moodle 2019-04-05 00:21:20 +02:00
Eloy Lafuente (stronk7) 40df718398 Merge branch 'MDL-65094-master' of git://github.com/rezaies/moodle 2019-04-04 22:32:52 +02:00
Eloy Lafuente (stronk7) d52f83a37a Merge branch 'MDL-65114-master' of https://github.com/snake/moodle 2019-04-04 20:41:40 +02:00
Eloy Lafuente (stronk7) 73dd6dea3f Merge branch 'MDL-65038_master' of https://github.com/maksudr/moodle 2019-04-04 20:30:40 +02:00
Juan Leyva bf25884677 MDL-61199 tool_mobile: Add new features to the list
We have to include the most recent app features in the list of features displayed in Moodle.
Via this list of features, admins can disable mobile functionality.
2019-04-04 15:12:33 +02:00
Bas Brands 2b83a0613c MDL-64137 core_message: highlight message search results 2019-04-04 12:01:12 +02:00
Adrian Greeve 71d77a6fcc Merge branch 'MDL-22077-master' of git://github.com/peterRd/moodle 2019-04-04 12:59:51 +08:00
Peter 8245dabaa2 MDL-22077 mod_forum: external unit tests and vault updates
* Unit tests for external functions
* Use the new dml_table to fetch a table's columns
2019-04-04 11:56:01 +08:00
Jake Dallimore 9b8a147ea3 Merge branch 'MDL-65087' of git://github.com/stronk7/moodle 2019-04-04 11:37:07 +08:00
Jun Pataleta a462646095 MDL-65251 tool_xmldb: Create behat tests for mandatory persistent fields 2019-04-04 11:29:18 +08:00
Peter e782253c5c MDL-22077 mod_forum: Grammatical and formatting updates 2019-04-04 11:25:29 +08:00
Andrew Nicols 15dc885a8b MDL-22077 forum: Update post.php to respect private replies 2019-04-04 11:25:29 +08:00
Andrew Nicols bc4c7337e1 MDL-22077 forum: Add forum private replies
This patch adds new capabilities:
'mod/forum:postprivatereply'   - whether a user is able to post private replies; and
'mod/forum:readprivatereplies' - whether a user is able to read private replies.

Private replies are only visible to the intended recipient (the author of
the parent post), the author of the private reply, and those with the
ability to read private replies.

If a post is private then it cannot be replied to further.
2019-04-04 11:25:29 +08:00
Andrew Nicols 12a1f9c567 MDL-22077 forum: Deprecate unused helper trait 2019-04-04 11:25:29 +08:00
Jake Dallimore 6243019d03 Merge branch 'MDL-64506' of git://github.com/Chocolate-lightning/moodle 2019-04-04 11:16:42 +08:00
Mathew May e43bd3762d MDL-64506 mod_data: correct behat issue for saving items with tags 2019-04-04 11:00:09 +08:00
Jake Dallimore a26b34c97c Merge branch 'MDL-64243' of https://github.com/Dagefoerde/moodle 2019-04-04 10:41:42 +08:00
Peter 3afdfce05a MDL-39261 mod_lesson: Enable other file uploads in essay editor
Modify the editor settings so an essay question can upload other types of files other than images
2019-04-04 09:41:18 +08:00
Simey Lameze 15263647fa MDL-65191 core_badges: delete badges legacy cron file 2019-04-04 09:36:20 +08:00
Simey Lameze 48a4b33a4b MDL-65191 core: convert legacy cron to scheduled task 2019-04-04 09:36:20 +08:00
Simey Lameze 2b40d66b65 MDL-65191 core_badges: add badges_message_task task 2019-04-04 09:36:20 +08:00
Simey Lameze 7c36d66982 MDL-65191 core: shift badge_assemble_notification to badgeslib 2019-04-04 09:36:13 +08:00
Jun Pataleta 01b79fd9f4 Merge branch 'MDL-65204_oraclemssql_assert_equals' of git://github.com/stronk7/moodle 2019-04-04 09:08:06 +08:00
Eloy Lafuente (stronk7) 31d7eaab5a MDL-65087 behat: Select the proper search button via xpath
By adding the "Search" aria label to a number of elements
any search of "Search" buttons, previously working in other
parts of the UI are not found anymore (because the hidden
ones are found before).

So, moving to click via xpath. Ideally we should be able to
find the target button in an easier, human readable way. But
there aren't many ids, names around to make it easier.
2019-04-04 00:54:45 +02:00
Eloy Lafuente (stronk7) 87f196af93 MDL-65204 phpunit: more isEqual() strict string fixes
This is a followup of 85f47ba, where we were relaxing
the (new since phpunit 7.x) strict (===) isEqual()
comparison for strings. Copying the explanations for
easier understanding.

Link: https://github.com/sebastianbergmann/phpunit/issues/3185
Solution here is one of:
  a) Return to the previous situation, making the comparison
     softer. That can achieved by forcing different types, so
     float == string works.
  b) Changing APIs (both forms and database return strings) to
     perform some conversion to floats. That would make float
     comparison (with floats or strings) to work too.
The patch here follows the a) approach. Changing all the internals
for proper float handling sounds excesive when it has been working
perfectly since ever. So we went the easier route, just getting
rid of the new === comparisons when needed by changing expectation
types to float.
2019-04-03 22:08:16 +02:00
Sara Arjona 86c3df962f Merge branch 'MDL-64506' of git://github.com/Chocolate-lightning/moodle 2019-04-03 19:30:28 +02:00
Shamim Rezaie a87f5b2934 MDL-65142 dataformat_pdf: Added privacy implementation 2019-04-04 03:15:52 +11:00
Shamim Rezaie 5b7878993d MDL-65142 dataformat_pdf: New dataformat for pdf 2019-04-04 03:15:49 +11:00
Juan Leyva 5c502bcd99 MDL-65255 vimeo: Do not require width and height for iframe
The script for embedding videos should work without forcing width and height.
This will simplify the way we embed videos in the app.
2019-04-03 15:16:05 +02:00
Mathew May 5db1ce5331 MDL-64506 templates: BS2 pull-x -> BS4 float-x 2019-04-03 19:47:13 +08:00
Mathew May 5edb0fbcb5 MDL-64506 templates: replace spans where and col-x appears 2019-04-03 19:47:13 +08:00
Mathew May 5cac5fa428 MDL-64506 templates: BS2 m-x-x to BS4 mx-x 2019-04-03 19:47:11 +08:00
Mathew May b293214a7e MDL-64506 behat: Modify usertours behat.
Original test relied on a 3rd theme to test against.
With only two themes in core now we need to make the test
theme/ suite specific.
2019-04-03 19:34:20 +08:00
Mathew May 9757c65687 MDL-64506 Javascript: Remove docking JS.
Deprecate related lang strings & base functions now return false.
2019-04-03 19:34:20 +08:00
Mathew May 3f2c68f119 MDL-64506 templates: Move BS2 labels to BS4 badges 2019-04-03 19:34:20 +08:00
Mathew May 29551c4b1a MDL-64506 templates: Move BS2 btns' to BS4 btns'
well bs2 class is now card in bs4
2019-04-03 19:34:20 +08:00
Mathew May 6ecc445939 MDL-64506 templates: Remove BS2 spans from elements. 2019-04-03 19:34:20 +08:00
Mathew May 0e133245ab MDL-64506 upgrade: Add upgrade steps to remove BS2 themes. 2019-04-03 19:34:20 +08:00
Mathew May b64bf2d77c MDL-64506 grades: Fix regression of MDL-58428 2019-04-03 19:34:20 +08:00
Mathew May a5a6df54cc MDL-64506 theme: Update BSB references and upgrade texts 2019-04-03 19:34:20 +08:00
Mathew May cf89ac3d1a MDL-64506 Grunt: Remove old Bootstrapbase tasks 2019-04-03 19:34:20 +08:00
Mathew May e00f1c663c MDL-64506 phpunit: Update unit tests to use classic 2019-04-03 19:34:20 +08:00
Mathew May c8edee421e MDL-64506 theme_bootstrapbase: Remove bootstrapbase from core 2019-04-03 19:34:17 +08:00
Tim Hunt ab2474726d MDL-65260 users policies: allow username in Show user identity
This commit is based on Brendan Heywood's work for MDL-52908.
2019-04-03 11:51:14 +01:00
Jun Pataleta f3971a2d88 Merge branch 'MDL-62307_master' of https://github.com/maksudr/moodle 2019-04-03 16:50:31 +08:00
Jun Pataleta ad4d995f19 Merge branch 'MDL-65168' of git://github.com/stronk7/moodle 2019-04-03 16:42:41 +08:00
Jun Pataleta dcdea70fca Merge branch 'MDL-65112-master' of https://github.com/dmitriim/moodle 2019-04-03 16:19:35 +08:00
Adrian Greeve af53b33756 Merge branch 'session-debug' of https://github.com/tsmilan/moodle 2019-04-03 14:57:38 +08:00
Jake Dallimore 143122bfcc Merge branch 'MDL-65087-master' of git://github.com/sarjona/moodle 2019-04-03 14:12:24 +08:00
Jake Dallimore 0ffba48cbd Merge branch 'MDL-65247-master' of git://github.com/junpataleta/moodle 2019-04-03 13:46:05 +08:00
Adrian Greeve df4d6b0696 Merge branch 'MDL-65130-master' of git://github.com/andrewnicols/moodle 2019-04-03 13:39:28 +08:00
Trisha Milan fdb9c3217d MDL-64449 core: Added Session lock debugging option 2019-04-03 14:20:57 +11:00
Jun Pataleta 1b011cdbda Merge branch 'MDL-65204-master' of git://github.com/junpataleta/moodle 2019-04-03 10:57:12 +08:00
Jun Pataleta 6bcc5dfdb4 MDL-65204 phpunit: Fix valid CiBoT errors and warnings 2019-04-03 10:44:24 +08:00
Eloy Lafuente (stronk7) 032c75ec43 MDL-65204 phpunit: tweak constraint_object_is_equal_with_exceptions
In PHPUnit 7.x and above, IsEqual->value became private and, as far
as our with exceptions class inherits from it, we cannot access to
that anymore.

So, in order to avoid that, we are overriding the constructor, capturing
the original value for own use and forgetting.

A more formal, alternative, solution would be to make our
exceptional class to inherit from Constraint and make the
class a pure dispatcher to different constraints, with IsEqual being
just one of them.

But we followed the easiest path here. Not ideal, but efective.
2019-04-03 10:39:19 +08:00
Eloy Lafuente (stronk7) 85f47bae7f MDL-65204 phpunit: various fixes to assertions
Namely:
   - 3rd param of assertEquals() cannot be null.
   - Some incorrect uses of assertNotEmpty().
   - Comparing 2 strings now uses strict (===) evaluation.
       Link: https://github.com/sebastianbergmann/phpunit/issues/3185
     Solution here is one of:
       a) Return to the previous situation, making the comparison
          softer. That can achieved by forcing different types, so
          float == string works.
       b) Changing APIs (both forms and database return strings) to
          perform some conversion to floats. That would make float
          comparison (with floats or strings) to work too.
     The patch here follows the a) approach. Changing all the internals
     for proper float handling sounds excesive when it has been working
     perfectly since ever. So we went the easier route, just getting
     rid of the new === comparisons when needed by changing expectation
     types to float.
2019-04-03 10:39:19 +08:00
Eloy Lafuente (stronk7) 26218b7852 MDL-65204 phpunit: make testcases match their expected signature 2019-04-03 10:39:19 +08:00
Eloy Lafuente (stronk7) be81130189 MDL-65204 phpunit: update composer to use phpunit 7.5.x
To generate a new composer.lock for a given Moodle branch:
- Remove composer.lock
- Remove vendor
- Remove composer caches:
      php composer.phar clearcache
- Using lower PHP version supported (7.1.x for Moodle 3.7), update:
      php composer.phar update

https://docs.moodle.org/dev/Composer#How_to_prepare_and_submit_composer_changes
2019-04-03 10:39:19 +08:00
Mathew May 485932602d MDL-64506 theme: Move templates from lib/form 2019-04-03 10:07:41 +08:00
Mathew May e969e96279 MDL-64506 theme: Create empty form templates 2019-04-03 10:07:41 +08:00
Mathew May cc1e1d8ffc MDL-64506 theme_clean: Remove Clean from core 2019-04-03 10:07:38 +08:00
Mathew May 7204a990e5 MDL-64506 theme_more: Remove More from core 2019-04-03 10:07:08 +08:00
Jun Pataleta ea0d5fd732 Merge branch 'MDL-65214' of git://github.com/stronk7/moodle 2019-04-03 09:48:00 +08:00
Jake Dallimore 849d2e5dad Merge branch 'MDL-63569-email-header-master' of https://github.com/pauldamiani/moodle 2019-04-03 09:43:51 +08:00
Jun Pataleta 88159721ec MDL-65247 core: Fix action_modal Behat tests 2019-04-03 08:45:29 +08:00
Eloy Lafuente (stronk7) 6f6ea8c32d MDL-65250 core: Fix some undefined variables in compact()
Since PHP 7.3 they throw a PHP Notice.
2019-04-03 02:42:45 +02:00
Eloy Lafuente (stronk7) 2f8276622f Merge branch 'MDL-65213-master' of git://github.com/sarjona/moodle 2019-04-03 00:22:54 +02:00
Eloy Lafuente (stronk7) e342bae090 Merge branch 'MDL-64994-master-pythonmlversion' of git://github.com/mudrd8mz/moodle 2019-04-03 00:09:28 +02:00
Eloy Lafuente (stronk7) 78397b51aa Merge branch 'MDL-64693-master' of https://github.com/vmdef/moodle 2019-04-02 23:46:24 +02:00
Eloy Lafuente (stronk7) 481c1ae4ce Merge branch 'MDL-64779_master' of git://github.com/dmonllao/moodle 2019-04-02 23:23:13 +02:00
Sara Arjona 199167f590 MDL-65213 core_message: fix random failures when declining contacts 2019-04-02 20:26:26 +02:00
Víctor Déniz Falcón 525cee739d MDL-64693 analytics: new course_competencies target
Added new target to predict which students are at risk of not achieving the
competencies assigned to a course.
2019-04-02 17:46:39 +01:00
Tim Hunt be492e2a8f MDL-65245 question engine: response vars should always be PHP strings 2019-04-02 16:32:40 +01:00
Tim Hunt 6c91e515b0 MDL-65245 question_attempt: fix PHPdoc and other PHPstorm warnings 2019-04-02 16:32:36 +01:00
Eloy Lafuente (stronk7) 280cfdf05c on-demand release 3.7dev+ 2019-04-02 15:54:35 +02:00
Eloy Lafuente (stronk7) 7c2ff50e9c Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-04-02 15:54:29 +02:00
Davo Smith 298ff4e79a MDL-64906 mod_feedback: remove incorrect behat test form value 2019-04-02 09:13:09 +01:00
Davo Smith 385247d94e MDL-64906 mod: add support for hideif to activity modules 2019-04-02 09:13:09 +01:00
Davo Smith efc34ea5c9 MDL-64906 forms: add support for hideif to repeat_elements 2019-04-02 09:13:09 +01:00
eWallah 35154fa1b5 MDL-65224 customfield: Use @_file_upload tag when uploading a file 2019-04-02 09:40:46 +02:00
Jun Pataleta d9be4a7829 Merge branch 'MDL-64331-master' of git://github.com/damyon/moodle 2019-04-02 10:58:15 +08:00
Adrian Greeve a5b79e4b85 Merge branch 'MDL-65138-master' of git://github.com/lameze/moodle 2019-04-02 10:37:34 +08:00
Adrian Greeve 59a73b7b73 Merge branch 'MDL-65144-master' of git://github.com/damyon/moodle 2019-04-02 10:15:18 +08:00
Damyon Wiese cdc7390446 MDL-64331 modals: Be careful closing modals
Don't close a modal when the user clicks outside of it and the modal contains a form.
2019-04-02 10:02:26 +08:00
Paul Damiani 9ffbb78668 MDL-63569 email: New setting to prefix the subject of outgoing emails 2019-04-02 11:02:03 +11:00
Ilya Tregubov 5ebbe1c3ee MDL-64439 auth: Refresh $cm in require_login after pre_loginpage_hook. 2019-04-02 10:20:20 +11:00
Eloy Lafuente (stronk7) ed7fa60946 Merge branch 'MDL-61667-master-modelsinstall' of git://github.com/mudrd8mz/moodle 2019-04-02 00:20:47 +02:00
Eloy Lafuente (stronk7) 6d9b3e0cd7 Merge branch 'MDL-64636-master' of https://github.com/vmdef/moodle 2019-04-02 00:01:22 +02:00
Juan Leyva dfcf8342fb MDL-65211 enrol: Return if user is being completion tracked 2019-04-01 18:45:14 +02:00
Leon Stringer 36b6444420 MDL-64719 cache: Implement purge_current_user() in \cache
\cache::make() may return a cache_disabled subclass but callers, specifically
user/lib.php:user_create_user(), invoke \cache::purge_current_user() which was
only implemented by the cache_session subclass.  Added empty
\cache::purge_current_user() which subclasses can implement, i.e.
cache_session, or not, i.e. cache_disabled.
2019-04-01 15:29:39 +01:00
David Monllaó f54a4092c7 MDL-61667 analytics: Remove duplicated capability checks
\core_analytics\model::create and \core_analytics\model::enable methods
are called from install/upgrade scripts. Therefore, they should not
include any capability check. Their capability checks are actually
redundant, as the user capabilities are already checked in the
entry-point scripts.
2019-04-01 14:57:57 +02:00
David Mudrák d887b0c7f7 MDL-61667 analytics: Fix coding style issues in the existing code
These coding style issues were spotted while working on the issue. No
real changes here, just the coding style fixes attached to the patchset
for convenience.
2019-04-01 14:23:06 +02:00
David Mudrák 606c3be0f6 MDL-61667 analytics: Create missing models on install/upgrade
Similarly to how the scheduled tasks work, we now automatically check
and make sure that all the models specified in the component's
db/analytics.php file exist during the installation or upgrade of the
component.
2019-04-01 14:23:06 +02:00
David Mudrák aa8af6fcfc MDL-61667 analytics: Fix checking that a given model does not exist
The original implementation did not work well for checking that the
given model does NOT exist. If no record was found in the
analytics_models table, the code execution continued and it reached the
moment when indicators were checked. If no indicators were provided, the
call ended up with error 'array_keys() expects parameter 1 to be array,
boolean given' (because indicators were set to false).
2019-04-01 14:23:06 +02:00
David Mudrák 3b7c7918f3 MDL-61667 analytics: Deprecate the add_builtin_models() method
The functionality of the \core_analytics\manager::add_builtin_models()
method is to be replaced with automatic update of models provided by the
core moodle component. There is no need to call this method explicitly
any more. Instead, adding new models will be done by updating the
lib/db/analytics.php file and bumping the core version.
2019-04-01 14:23:06 +02:00
David Mudrák 6187213f39 MDL-61667 analytics: Add method to actually create a declared model
This is simply a wrapper around the model's create() method that works
with the model declaration syntax from the db/analytics.php file.
2019-04-01 14:23:06 +02:00
David Mudrák f05840451e MDL-61667 analytics: Add methods to read and validate model declarations
Allow every component to declare prediction models it provides via the
db/analytics.php file.
2019-04-01 14:23:06 +02:00
David Mudrák 4de4d1652b MDL-61667 analytics: Don't autoenable models with time splitting defined
When the API had originally been designed, it was assumed that the
presence of the time splitting method implies no requirement for the
machine learning backend and that it is a sign of less performance
demanding models. So it seemed to be safe and useful to have such models
automatically enabled. That assumption did not prove to be valid. Most
of the time is spent calculating indicators that depend on log tables.

We realized it would be useful to be able to specify the default time
splitting method without the need to have such models auto-enabled.
2019-04-01 14:23:06 +02:00
David Monllaó 75dfc588b5 MDL-64779 tool_analytics: Export selector 2019-04-01 13:56:37 +02:00
Adrian Greeve 878c88df95 Merge branch 'MDL-65050-master-fix' of git://github.com/lameze/moodle 2019-04-01 16:05:34 +08:00
Simey Lameze 6e049bdbc6 MDL-65050 core: add missing lib file include 2019-04-01 15:59:03 +08:00
Damyon Wiese 647fd16ec9 MDL-65144 output: Add img-fluid to logo
Extra wide logos do not scale to the screen size - this change adds the bootstrap class
img-fluid to logos on the loginpage, signupform and in the context header.

Thanks to Maksud R for working on this.
2019-04-01 15:49:29 +08:00
Simey Lameze 73fabadadd MDL-65138 course: add a setting for course publishing 2019-04-01 15:39:07 +08:00
Jake Dallimore 4a2ee121fc Merge branch 'MDL-65089_master' of https://github.com/dvdcastro/moodle 2019-04-01 15:28:48 +08:00
Trisha Milan 600de03e05 MDL-64894 Theme: Fix unable to expand collapsible topics 2019-04-01 14:54:18 +08:00
Jake Dallimore 9f32a85852 Merge branch 'MDL-64194-37_block_myoverview_incorrect_pagination' of https://github.com/tomdickman/moodle 2019-04-01 14:36:01 +08:00
Brendan Heywood b940ca995a MDL-64394 core: Fixed bug when using access log with pre_loginpage_hook 2019-04-01 16:48:22 +11:00
Jun Pataleta a8c91e88bf Merge branch 'MDL-64524-master' of git://github.com/damyon/moodle 2019-04-01 13:46:48 +08:00
Adrian Greeve d15b5340cc Merge branch 'MDL-65050-master' of git://github.com/lameze/moodle 2019-04-01 13:32:38 +08:00
Simey Lameze d499cb3593 MDL-65050 core: delete orphaned files and functions 2019-04-01 12:57:05 +08:00
Simey Lameze 9c164d26fc MDL-65050 core: add question_stats_cleanup_task scheduled task
This commit also removes orphaned question/engine/statisticslib.php
2019-04-01 12:57:05 +08:00
Simey Lameze 10810f421b MDL-65050 core: move function code to question_preview_cleanup_task
This commit also deletes the legacy question_preview_cron() function.
2019-04-01 12:57:05 +08:00
Simey Lameze 5a01c2409a MDL-65050 core: rename task to question_preview_cleanup_task 2019-04-01 12:57:01 +08:00
Damyon Wiese 4b9c3e44e0 MDL-64524 gradingform_guide: Marking guide comments
When there are too many comments, scroll the list so they still fit in the dialogue.
2019-04-01 12:17:27 +08:00
Damyon Wiese 284babb0d7 MDL-64524 assign: Styles editpdf comments
Properly display the list of comments, but limiting their size (use title to indicate the full comments).
When there are too many comments, show a scrollbar in the menu.
2019-04-01 12:17:27 +08:00
Jun Pataleta db3527c2cc Merge branch 'MDL-63906_master' of git://github.com/dmonllao/moodle 2019-04-01 10:32:10 +08:00
Adrian Greeve 6934691fce Merge branch 'MDL-65173_master' of git://github.com/markn86/moodle 2019-04-01 10:21:10 +08:00
Simey Lameze 9bec0e7e74 MDL-65207 core: replace typos by actually 2019-04-01 08:49:18 +08:00
Eloy Lafuente (stronk7) 6c8c286d60 MDL-65218 recycle bin: cover immunization via settings provider
Both for course and category recycle bins
2019-03-31 22:53:53 +02:00
Eloy Lafuente (stronk7) 311123bcce MDL-65218 recycle bin: immunize recycle bin from backup_auto_storage
As far as recycle bin is using MODE_AUTOMATED, it observes the backup_auto_storage
setting (storing backups @ real location. For recycle bin we want to ensure that
backup files are always stored in Moodle file area. In order to achieve that, we
hack the setting here via $CFG->forced_plugin_settings, so it won't interfere other
operations.  See MDL-65218 for more information.

This hack will be removed once recycle bin switches to use its own backup mode, with
own preferences and 100% appart from MODLE_AUTOMATED.
2019-03-31 22:53:41 +02:00
Eloy Lafuente (stronk7) 8793f25279 MDL-65218 recycle bin: Course backups (cat bin) to use MODE_AUTOMATED
Surely this should have been done as part of MDL-63263, but it wasn't.
Better let's do it here so every recycle bin backup is using the
very same mode.
2019-03-29 20:44:16 +01:00
Jason Platts f7af1e0b9c MDL-65220 behat: test scenarios sometimes do not clear database data 2019-03-29 15:39:31 +00:00
Tim Hunt 05ea7ab19e MDL-65222 questions: explain question walkthrough tests 2019-03-29 14:49:39 +00:00
Tim Hunt f1ffd134d3 MDL-65029 questions: change question div id to acutally be unique
This is largely based on Simey Lameze's work.
2019-03-29 13:37:44 +00:00
Tobias Reischmann 90e331bcdc MDL-65206 calendar: Enable update of location in repeated events.
The location is now updated in repeated events if it is altered in one
event and the option 'Also apply changes to the other X events in this
repeat series' is selected. If the location is not altered but some
other details, then manual changes of the location in other events
will not be overriden.
2019-03-29 14:13:43 +01:00
Victor Deniz Falcon 03fce0a71d MDL-64636 analytics: new course_completion target
Added new target to predict which students are at risk of not meeting
the course completion criteria.
2019-03-29 10:29:45 +00:00
Víctor Déniz Falcón 48ac554c51 MDL-64636 analytics: base class for course completion targets
Added new parent class for targets that use course as analysable and
student enrolments as samples. course_dropout target was modified to
extend that parent class.
2019-03-29 10:27:50 +00:00
Paul Holden 114973b549 MDL-59326 admin: use passwordunmask element for shared secrets. 2019-03-29 09:27:45 +00:00
Eloy Lafuente (stronk7) 09b97f40fc MDL-65214 install: update the list of stale files for 3.7 2019-03-29 10:00:38 +01:00
Sara Arjona ccd4752356 MDL-65127 message: add aria-labels to the numbers in the overview
Add aria-label to the unread message and notification icons.
Add aria-label to the total conversations, unread conversations
and unread messages in the overview.
Add aria-label to the pending contact requests in the overview
and also in the contacts tab.
Add aria-hidden to the last message date.
2019-03-29 09:38:22 +01:00
Sara Arjona 3d8cf610d9 MDL-65087 message: add aria-label to some buttons on bootstrapbase
The aria-label has been added to the settings and search buttons and
also to the starred image displayed when a conversation is favourited.
2019-03-29 09:33:35 +01:00
Sara Arjona 67855b3b4e MDL-65087 message: add aria-label to search, settings and starred 2019-03-29 09:33:35 +01:00
Sara Arjona e758a9b932 MDL-65087 message: add button role to action links on bootstrapbase
For accessibility reasons, add the role="button" attribute to the links
with href="#" performing actions for the bootstrapbase theme, like
the settings icon.
2019-03-29 09:33:35 +01:00
Sara Arjona c0d2558c43 MDL-65087 message: add button role to all the links that perfom actions
For accessibility reasons, add the role="button" attribute to the links
with href="#" performing actions, like the icon to open the messaging
drawer.
2019-03-29 09:33:35 +01:00
Adrian Greeve e39991c3c0 MDL-59081 mod_lesson: Behat test for new features.
1. Tests the catch all answer sections for the short answer
and numerical page types.
2. Tests to check that the continue buttons will not double
up if they both go to the same page.
2019-03-29 14:14:01 +08:00
Adrian Greeve dab563f5a6 MDL-59081 mod_lesson: Remove continue button if not needed.
This checks to see if the continue button goes to the same
page as the try again button and removes it if it does.
2019-03-29 14:14:01 +08:00
Adrian Greeve 49898ef3b4 MDL-59081 mod_lesson: Shortanswer form update. Catch all.
The short answer question type now has a form element that
will catch all other responses.
2019-03-29 14:14:01 +08:00
Adrian Greeve 408dd99ac2 MDL-59081 mod_lesson: Update to Numerical question type
The numerical question type now has way to capture all
other answers.
2019-03-29 14:14:01 +08:00
Adrian Greeve 568ef8bb05 MDL-59081 mod_lesson: Add other answer options to questions
This adds another form field that will catch all other
answers made by the student.

Current question types updated are numerical and shortanswer.
2019-03-29 14:14:01 +08:00
Jun Pataleta cd69d45d22 MDL-46975 core_auth: Make email validation case-insensitive
* Make email query case-insensitive
* Check only for duplicate emails if $CFG->allowaccountssameemail
is empty.
* Compare the values in "Email address" and "Email (again)" in the
signup form in a case-insensitive fashion.
2019-03-29 13:37:07 +08:00
Jun Pataleta 7eb5148264 MDL-46975 auth_email: Behat test for email validation on signup 2019-03-29 13:37:07 +08:00
Jun Pataleta e9e1ecafda MDL-29318 login: Handle email in case-insensitive manner
* Let get_complete_user_data() handle the fetching of user data and
  handle the logic of the errors to be shown based on the exception
  it throws. This also saves us 1 DB query by eliminating the need to
  count for the users that match a given email first before fetching
  user information.
2019-03-29 13:31:44 +08:00
Jun Pataleta 99ead77b1c MDL-29318 login: Additional test for forgot_password_data_provider() 2019-03-29 13:31:44 +08:00
Jun Pataleta b858b16130 MDL-29318 core: Fixes for get_complete_user_data()
* Added email in the list of case-insensitive fields.
* New optional parameter $throwexception for \get_complete_user_data().
  If true, an exception will be thrown when there's no matching record
  found or when there are multiple records found for the given field
  value. If false, it will simply return false.
  Defaults to false when not set. This ensures that
  get_complete_user_data() fetches the correct user data.
2019-03-29 13:31:44 +08:00
Jun Pataleta 7f90fb5faf MDL-29318 core: More unit tests for get_complete_user_data() 2019-03-29 13:29:48 +08:00
Jun Pataleta 2791334251 MDL-29317 gradeimport_csv: Case-insensitive query for email and username
Query using the following fields for
\gradeimport_csv_load_data::check_user_exists() should be done in a
case-insensitive manner:
* email - As agreed in MDL-29315
* username - Although usernames can only be in lowercase during
  registration, usernames are being handled in a case-insensitive
  fashion when logging in. It makes sense to make check_user_exists()
  consistent with this behaviour.
2019-03-29 13:29:32 +08:00
Jun Pataleta d65a927694 MDL-29317 gradeimport_csv: Tests for case-insensitivity 2019-03-29 13:29:32 +08:00
Jun Pataleta a6702d2974 Merge branch 'MDL-63876-master-fix' of git://github.com/junpataleta/moodle 2019-03-29 12:15:00 +08:00
Jun Pataleta 595fa0c5d3 MDL-63876 tool_lp: Fix illegal whitespace 2019-03-29 12:13:48 +08:00
Jun Pataleta 7ccbfddb67 Merge branch 'MDL-63876-master' of git://github.com/damyon/moodle 2019-03-29 11:45:29 +08:00
Damyon Wiese f44557d045 MDL-63876 badges: Competency deletion
Do not delete a competency if it is a criteria for a badge.
2019-03-29 11:31:15 +08:00
Damyon Wiese 6bdaf20462 MDL-63876 competencies: Skip enabled check
Allow rendering a competency summary if competencies are disabled, but do not include
links to competencies pages.
2019-03-29 11:31:15 +08:00
Damyon Wiese 8aff6f6f14 MDL-63876 badges: Coding style
Add comments to document function params and template example context.
2019-03-29 11:31:15 +08:00
Damyon Wiese 43f1c8e23c MDL-63876 badges: Allow criteria to be optional
Competencies criteria type is only added if competencies are enabled.
2019-03-29 11:31:15 +08:00
Damyon Wiese 15e6a76e6f MDL-63876 competencies: Use direct URL
Instead of showing competencies in a dialogue, give them their own full url to
display the competency in the framework it belongs to. This is useful for exported
data that won't have access to javascript.
2019-03-29 11:31:15 +08:00
Damyon Wiese da5e19a128 MDL-63876 badges: Do not call tool_lp directly 2019-03-29 11:31:15 +08:00
Damyon Wiese f94786e0e1 MDL-63876 badges: Add competency criteria
Properly integration badges with competencies provided in Moodle.

Automatically grant the badge when the defined competencies are marked as proficient.
2019-03-29 11:31:15 +08:00
Damyon Wiese e8bfd9b4a9 MDL-63876 badges: Remove invalid table from badges 2019-03-29 11:30:09 +08:00
Jake Dallimore 51be3bf18d MDL-65114 core_message: date format depends on message age
Messages sent today are displayed using 24 hour time, e.g. "14:21".
Older messages are displayed using the format, e.g. "31/01/2019".
2019-03-29 09:18:09 +08:00
Tom Dickman 5ae4db8852 MDL-64855 block_myoverview: add setting for course categories display
Added an administrator setting to set the visibility of the course category for the my overview
block on the users dashboard to support usage scenarios where displaying the course categories will
clutter course overviews.
2019-03-29 12:06:07 +11:00
Tom Dickman e04b82d30d MDL-64194 block_myoverview: incorrect pagination
The pagination was found to be incorrect due to the all the items event not being triggered if the amount
of courses the user has is equal to the amount set via pagination.
The condition could not just be changed to `>=` as this would trigger the event when there were further
pages to display.
A check of `remainingCourses` was added to condition so if the amount of courses on the current loaded
page is less than the pagination amount, or there are no remaining courses, the all items event is
triggered and the pagination bar hidden correctly.
2019-03-29 11:54:08 +11:00
Tom Dickman 0d6a45d2fe MDL-64284 core: improved performance of component class searching
Added static caching of classes to reduce load times and reduce calls to `get_component_classes`
by altering to accept a null component value to search classmap only once.
2019-03-29 11:44:43 +11:00
AMOS bot 4953185c87 Automatically generated installer lang files 2019-03-29 00:15:16 +00:00
David Castro 2afee18b34 MDL-65089 glossary: Enforcing case comparison in SQL. 2019-03-28 18:34:54 -05:00
Dmitrii Metelkin 23533bc467 MDL-64701 search: change category for customfield search area 2019-03-29 08:38:57 +11:00
Dmitrii Metelkin 89d9a774fa MDL-65112 mod_lesson: fix html for shortanswer responses 2019-03-29 08:29:55 +11:00
sam marshall bb044f5394 MDL-65179 Web service: Token last access is updated too frequently 2019-03-28 17:11:33 +00:00
Eloy Lafuente (stronk7) 0920f35ed9 weekly release 3.7dev 2019-03-28 16:48:59 +01:00
Eloy Lafuente (stronk7) 27ee973230 NOBUG: Fixed SVG browser compatibility 2019-03-28 16:48:54 +01:00
Eloy Lafuente (stronk7) 623fb60498 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-03-28 16:48:52 +01:00
Eloy Lafuente (stronk7) 562e1f9b00 Merge branch 'MDL-63196-master' of git://github.com/lameze/moodle 2019-03-28 00:12:27 +01:00
Eloy Lafuente (stronk7) 340f5c9e77 Merge branch 'MDL-64996-master-untrainedstaticmodels' of git://github.com/mudrd8mz/moodle 2019-03-27 23:45:15 +01:00
Eloy Lafuente (stronk7) 868e863253 Merge branch 'MDL-62992-master' of git://github.com/lameze/moodle 2019-03-27 23:05:56 +01:00
Eloy Lafuente (stronk7) 510c107aa9 Merge branch 'MDL-64664-master' of git://github.com/cescobedo/moodle 2019-03-27 22:58:27 +01:00
Eloy Lafuente (stronk7) 199d0b01e1 Merge branch 'MDL-65044-master' of git://github.com/lameze/moodle 2019-03-27 22:47:30 +01:00
Eloy Lafuente (stronk7) 18f460edea Merge branch 'MDL-65047-master' of git://github.com/lameze/moodle 2019-03-27 22:30:18 +01:00
Eloy Lafuente (stronk7) 12404fa275 Merge branch 'MDL-65051-master' of git://github.com/lameze/moodle 2019-03-27 22:27:25 +01:00
cescobedo 994b006421 MDL-64664 core_message: Create more specific selector to contact menu 2019-03-27 13:43:09 +01:00
Jun Pataleta b117e55e3a Merge branch 'MDL-63995-master' of https://github.com/chocolate-lightning/moodle 2019-03-27 16:07:34 +08:00
Mathew May 66f897ec15 MDL-63995 blocks: correct typos from review 2019-03-27 16:05:56 +08:00
Shamim Rezaie 072a033a79 MDL-65102 core_form: autocomplete element to handle submit event 2019-03-27 19:00:27 +11:00
Jun Pataleta d15d054f7c Merge branch 'MDL-64937-master' of https://github.com/lucaboesch/moodle 2019-03-27 14:37:16 +08:00
Simey Lameze 42f58d99f9 MDL-65051 core: delete duplicated plagiarism_cron() 2019-03-27 11:38:08 +08:00
Simey Lameze 39802ea08a MDL-65051 core: delete plagiarism_cron() function 2019-03-27 11:37:51 +08:00
Simey Lameze 3528bce1a6 MDL-65051 plagiarism: convert legacy cron function to task 2019-03-27 11:34:04 +08:00
Simey Lameze a5f691e43c MDL-65044 core: remove legacy grade_cron() function 2019-03-27 11:21:50 +08:00
Simey Lameze 5acef15175 MDL-65044 core: add task for grade history cleanup 2019-03-27 11:17:36 +08:00
Simey Lameze d8e72a6aad MDL-65047 portifolio: delete legacy portfolio_cron() function 2019-03-27 11:04:40 +08:00
Jun Pataleta 17f1370be7 Merge branch 'MDL-65008_master' of https://github.com/dvdcastro/moodle 2019-03-27 10:41:06 +08:00
Simey Lameze 01bace6665 MDL-62992 quiz: fix tags filtering on random question modal 2019-03-27 10:21:07 +08:00
Simey Lameze 2cfd8d1678 MDL-62992 question: conditionaly enable question tags feature 2019-03-27 10:16:05 +08:00
Eloy Lafuente (stronk7) 5c3b97279b Merge branch 'MDL-43130' of https://github.com/paulholden/moodle 2019-03-27 00:17:27 +01:00
Eloy Lafuente (stronk7) f3038b04c6 Merge branch 'MDL-65081-master' of git://github.com/junpataleta/moodle 2019-03-26 22:38:06 +01:00
Eloy Lafuente (stronk7) 56f9f500ea Merge branch 'MDL-64252-master' of git://github.com/jleyva/moodle 2019-03-26 22:34:50 +01:00
Sara Arjona ca06f046af Merge branch 'MDL-64642-master' of https://github.com/albertgasset/moodle 2019-03-26 19:36:21 +01:00
Albert Gasset f19beb3279 MDL-64642 tool_mobile: Web service tool_mobile_call_external_functions 2019-03-26 16:26:06 +01:00
Sara Arjona cf7f8ddaf8 Merge branch 'MDL-64365_hideif_forum' of git://github.com/davosmith/moodle 2019-03-26 15:11:28 +01:00
Sara Arjona 8ee06feeec Merge branch 'MDL-64337-master' of git://github.com/jleyva/moodle 2019-03-26 14:55:09 +01:00
Juan Leyva c6ebb024f2 MDL-64337 tool_mobile: Add app promotion text in email notifications 2019-03-26 14:51:21 +01:00
Juan Leyva 5ba12283d4 MDL-64337 core: New _pre_processor_message_send callback
We need this callback to be able to manipulate any message or notification data.
2019-03-26 14:51:18 +01:00
Eloy Lafuente (stronk7) 67481bef21 Merge branch 'MDL-63152-master' of git://github.com/rezaies/moodle 2019-03-26 13:28:07 +01:00
Eloy Lafuente (stronk7) 999d8ea517 Merge branch 'MDL-63149-master' of git://github.com/rezaies/moodle 2019-03-26 13:24:59 +01:00
Eloy Lafuente (stronk7) a43264cc14 Merge branch 'MDL-63151-master' of git://github.com/rezaies/moodle 2019-03-26 13:13:15 +01:00
Sara Arjona e64a0d0f08 Merge branch 'MDL-64705-master' of git://github.com/jleyva/moodle 2019-03-26 09:14:13 +01:00
Shamim Rezaie 0b23fad474 MDL-65094 registration: don't encourage registration if on localhost 2019-03-26 16:54:19 +11:00
Kiet.Chan 2b27c49aad MDL-65137 behat: Step "I press...the app" should be able to select image 2019-03-26 10:53:31 +07:00
Brendan Heywood 93ee70824f MDL-65072 core_lock: Add timeout unit tests 2019-03-26 14:29:16 +11:00
Brendan Heywood ecbe920656 MDL-65072 core_lock: Locks with a zero timeout return asap 2019-03-26 14:29:16 +11:00
Damyon Wiese bdba44193d MDL-65178 competencies: count_competencies fix
Fix sql error in course_module_competency::count_competencies() function.
2019-03-26 09:47:09 +08:00
Andrew Nicols 71cbc0550f MDL-65168 dml: Move preload SQL functions to self-contained class 2019-03-25 23:05:22 +01:00
Juan Leyva 55a081bd87 MDL-64705 notes: Make notes WS return permissions information
We need to know some capabilities in order to enable users to manage notes.
2019-03-25 19:01:20 +01:00
Sara Arjona 7896fdf106 Merge branch 'MDL-64615-master' of git://github.com/jleyva/moodle 2019-03-25 18:20:01 +01:00
Sara Arjona 1fa58319e7 Merge branch 'MDL-64658-master' of git://github.com/jleyva/moodle 2019-03-25 15:43:35 +01:00
Juan Leyva e0695f8764 MDL-64658 files: Support constant to avoid file merging
... in file_save_draft_area_files
2019-03-25 14:57:18 +01:00
Sara Arjona 03fa6b48ad Merge branch 'MDL-64790-master_apidoc_fix' of https://github.com/nicoroeser/moodle 2019-03-25 12:37:54 +01:00
David Mudrák b29cfc582f MDL-64996 analytics: Make sure the no_teaching model is trained
Due to the bug, the no_teaching model might have been marked as
not-trained in the database. Static predictions models (i.e. those using
a target based on assumptions, not facts) are always considered as
trained. If they were marked as not-trained, the prediction scheduled
task would skip them and they would produce no predictions.

Ideally, such a fix should be done for all static models. But there is
no easy way to do it during the upgrade where accessing the analytics
API is not possible. I don't think there are many models out there that
would be affected by this so this seems to be good enough solution for
now (and the future ability to reset models will cover the rest).
2019-03-25 10:16:44 +01:00
Mark Nelson 2a0b517257 MDL-65173 message_email: removed bogus logic
This reverts commit 0f38e62970.
2019-03-25 17:12:53 +08:00
David Mudrák 964ccd9655 MDL-64994 analytics: Improve the Python package version check
Use the new method to check that the installed Python package has high
enough yet still API-compatible version.
2019-03-25 09:24:33 +01:00
David Mudrák 2d8405e99e MDL-64994 analytics: Add a simple semantic version check method
This method is to be used for checking that a compatible version of the
moodlemlbackend package is installed on the server. The package is
expected to use the semantic versioning scheme (semver.org).
2019-03-25 09:24:33 +01:00
David Mudrák c679d39c36 MDL-64996 analytics: Don't mark static model as untrained after clearing
Static predictions models (i.e. those using a target based on
assumptions, not facts) are always considered as trained. Clearing them
must not mark them as untrained. Doing so would make them being skipped
by the prediction scheduled task.
2019-03-25 08:56:11 +01:00
Adrian Greeve 025cf94cfe Merge branch 'MDL-60339-master' of git://github.com/Chocolate-lightning/moodle 2019-03-25 11:09:54 +08:00
Adrian Greeve bf1537b600 Merge branch 'MDL-64492-master' of git://github.com/damyon/moodle 2019-03-25 10:58:05 +08:00
Jun Pataleta 866562024b Merge branch 'MDL-64820-master-fix' of git://github.com/junpataleta/moodle 2019-03-25 09:38:56 +08:00
Jun Pataleta 49b928ef95 Merge branch 'MDL-64820-master-fix' of https://github.com/andrewnicols/moodle 2019-03-25 09:38:04 +08:00
Andrew Nicols 7aa6affa49 MDL-64820 forum: Correct capability check and redir 2019-03-25 09:36:49 +08:00
AMOS bot 96d9b077a4 Automatically generated installer lang files 2019-03-25 00:09:15 +00:00
Andrew Nicols e5a501de13 MDL-64820 forum: Pass legacy forum record to rss 2019-03-25 08:08:32 +08:00
Andrew Nicols 4c8f0f0d1d MDL-64820 forum: Remove duplicate column for discussion 2019-03-25 08:08:10 +08:00
Dan Marsden ef78cf8f42 MDL-63995 blocks: Remove unused capabilities and warning. 2019-03-25 12:20:13 +13:00
Abhimanyu Kumar 9fff4ebb0a MDL-64959 uploaduser: remove leading/trailing spaces from CSV headings
Earlier while uploading users via CSV, if any leading or trailing space was there in
headings of CSV file then error was displayed which will be difficult for a non-technical
person to understand. After this patch, leading and trailing spaces from headings will
be trimmed automatically.
2019-03-23 22:33:51 +05:30
maksudr 72629ee8c0 MDL-62307 mod_feedback: Decode HTML special char in add_form_element() 2019-03-22 15:44:35 +00:00
Jun Pataleta 9e5cdcd50c MDL-64820 mod_forum: Make different aliases for first and last authors 2019-03-22 21:55:51 +08:00
Jun Pataleta becf457d39 Merge branch 'MDL-65082-master' of git://github.com/andrewnicols/moodle 2019-03-22 16:26:33 +08:00
Andrew Nicols a79c2c927c MDL-65082 mod_forum: Deprecate forum_print_latest_discussions 2019-03-22 15:01:48 +08:00
Andrew Nicols 23f5e65ebe MDL-65082 core_course: Update frontpage view to use new forum API 2019-03-22 15:01:48 +08:00
Andrew Nicols 1bfaeeb2eb MDL-65082 format_social: Update social format to use new API 2019-03-22 15:01:48 +08:00
Mathew May 3828422d82 MDL-60339 course: Course editing only checked against site:manageblocks.
Add in additional capabilities to the page. When all_editing_caps is called it'll check against
moodle/site:manageblocks & added capabilities. If moodle/site:manageblocks
was not set the user would have trouble editing the page.
2019-03-22 13:47:16 +08:00
Damyon Wiese 5a7b845059 MDL-65153 competencies: Urls course competencies
The template for the course competencies page expects a pluginbaseurl parameter
but the webservice that fetches when rendered by AJAX is missing this property.
2019-03-22 13:16:38 +08:00
Simey Lameze 219422e420 MDL-65047 core: convert legacy cron to scheduled task 2019-03-22 13:13:55 +08:00
Andrew Nicols c661a129d1 MDL-65082 forum: Reorganise social templates 2019-03-22 11:14:05 +08:00
Jun Pataleta 92c28d075f MDL-65081 core_output: Unit tests for single_select and url_select 2019-03-22 11:12:21 +08:00
Jun Pataleta 5f30600f43 MDL-65081 core_output: Set single_select and url_select attributes 2019-03-22 11:12:21 +08:00
Jun Pataleta 74ee2556be Merge branch 'mod_forum-discussion-poc' of https://github.com/ryanwyllie/moodle 2019-03-22 11:04:35 +08:00
Damyon Wiese 8adb1b1e3d MDL-64492 course: Hide activity icons for Ally
Empty alt text results in an image with no label.
role="presentation" does not hide - it only removes the semantic information.
If the image provides no information, make it hidden with aria-hidden.
2019-03-22 11:01:29 +08:00
Simey Lameze 54fec0c30b MDL-63196 core_calendar: add behat scenario 2019-03-22 10:41:00 +08:00
Simey Lameze f19f6cceaf MDL-63196 calendar: add missing option to export category events 2019-03-22 10:41:00 +08:00
Ryan Wyllie 446ba04650 MDL-64820 forum: fix cibot complaints 2019-03-22 10:38:41 +08:00
Damyon Wiese f65a888901 MDL-65149 emoticons: Do not show all emoticons
Allow some emoticons to still work, but not be selectable from the text editor plugins.
2019-03-22 10:05:25 +08:00
Simey Lameze be8f453b74 MDL-65044 core: convert legacy cron to scheduled task 2019-03-22 09:46:30 +08:00
Ryan Wyllie f30f46db39 MDL-64820 forum: fix up issues from review 2019-03-22 09:31:21 +08:00
Ryan Wyllie 858179b024 MDL-64820 forum: fix behat tests 2019-03-22 09:31:21 +08:00
Mihail Geshoski 7661ccddfd MDL-64820 forum: Add timed in discussion list table 2019-03-22 09:31:21 +08:00
Ryan Wyllie c5477bfc65 MDL-64820 forum: add missing classes and tweaks to templates
Added in required classes for behat and tweaks to get the behat
tests passing.
2019-03-22 09:31:21 +08:00
Ryan Wyllie 69aa03623d MDL-64820 forum: fix create discussion behat step 2019-03-22 09:31:21 +08:00
Ryan Wyllie bda290ee91 MDL-64820 forum: various fixes to /mod/forum/view.php
Added missing params, missing variables, and missing session
properites.
2019-03-22 09:31:21 +08:00
Ryan Wyllie 94552394c9 MDL-64820 forum: fix blog discussion list ordering 2019-03-22 09:31:21 +08:00
Ryan Wyllie 15f7dbe573 MDL-64820 forum: fix notifications for discussions in group mode 2019-03-22 09:31:21 +08:00
Ryan Wyllie 57ad9a0ce7 MDL-64820 forum: add classes to first post to fix behat 2019-03-22 09:31:21 +08:00
Ryan Wyllie 96a49734ac MDL-64820 forum: fix missing context in subscribe external func 2019-03-22 09:31:21 +08:00
Ryan Wyllie b4d47dec1e MDL-64820 forum: change disucssion subscribe back to link
Changed the discussion subscribe button back to a link because
it was breaking all of the behat tests.
2019-03-22 09:31:21 +08:00
Ryan Wyllie 7c1d857da4 MDL-64820 forum: fix subscription mode in forum entity 2019-03-22 09:31:21 +08:00
Mihail Geshoski 54d38a7347 MDL-64820 forum: convert view.php to new rendering 2019-03-22 09:31:21 +08:00
Ryan Wyllie 2e19ca183b MDL-64820 forum: deprecate forum print functions 2019-03-22 09:31:21 +08:00
Ryan Wyllie 9ea78fd041 MDL-64820 forum: convert user.php to user new rendering 2019-03-22 09:31:20 +08:00
Ryan Wyllie aa99838d50 MDL-64820 forum: convert search.php to new rendering 2019-03-22 09:31:20 +08:00
Ryan Wyllie 313d8b6e49 MDL-64820 forum: convert post.php to new rendering 2019-03-22 09:31:20 +08:00
Ryan Wyllie 615680c5d8 MDL-64820 forum: convert discuss.php to new rendering 2019-03-22 09:31:20 +08:00
Ryan Wyllie 2646e9d6d2 MDL-64820 forum: add subscription toggling to discussion list 2019-03-22 09:31:20 +08:00
Ryan Wyllie 47d38303cf MDL-64820 forum: add new classes for rendering to local namespace 2019-03-22 09:24:05 +08:00
Ryan Wyllie 2f6f3397fc MDL-64820 forum: add all discussion fields to forum_get_discussions 2019-03-22 09:24:05 +08:00
Ryan Wyllie 4dc671a920 MDL-64820 forum: add caching to forum_tp_is_tracked 2019-03-22 09:24:05 +08:00
Ryan Wyllie 72a3d05b7e MDL-64820 portfolio: add url return for portfolio_add_button to_html 2019-03-22 09:24:04 +08:00
Ryan Wyllie cba111b376 MDL-64820 filestorage: add multi item support to get_area_files 2019-03-22 09:24:04 +08:00
Ryan Wyllie a30570c555 MDL-64820 dml: add object preloading helpers 2019-03-22 09:24:04 +08:00
Ryan Wyllie f98553fc1b MDL-64820 external: add paged_content exporter 2019-03-22 09:24:04 +08:00
Ryan Wyllie a307a47651 MDL-64820 external: add isimage to stored_file exporter 2019-03-22 09:24:04 +08:00
Peter 432cdac4bd MDL-64820 core: Exporter read_definition
Modified the read_properties_definition to recursively check and set the default array values expected.
2019-03-22 09:24:04 +08:00
Luca Bösch f4967f1849 MDL-64937 icons: amend collapsed and reload icons. 2019-03-21 23:20:59 +01:00
Eloy Lafuente (stronk7) 3271c39c74 weekly release 3.7dev 2019-03-21 20:19:27 +01:00
Eloy Lafuente (stronk7) c071eefced NOBUG: Fixed file access permissions 2019-03-21 20:19:27 +01:00
Jun Pataleta f2ad613278 MDL-61537 assignfeedback_editpdf: Check for existence of old test images
Since error suppression was removed with the call to unlink() to make
sure that there are no previous test image files before testing for the
gs path, make sure that it exists first before deleting to prevent it
from throwing any errors.
2019-03-21 22:38:05 +08:00
Cameron Ball f321b0515a MDL-65104 registration: Ensure $registration is always null when no record exists 2019-03-21 16:12:12 +08:00
Adrian Greeve 00229165d4 Merge branch 'MDL-46803-greedy-roles-reset2' of https://github.com/DSI-Universite-Rennes2/moodle 2019-03-21 11:20:38 +08:00
Andrew Nicols bc01342057 MDL-65130 privacy: Add @covers annotation to tests 2019-03-21 10:29:07 +08:00
Andrew Nicols 09d02b3914 MDL-65130 privacy: Fix memory hungry test 2019-03-21 09:52:24 +08:00
Andrew Nicols 51114517be MDL-65130 files: Add @covers Annotation 2019-03-21 09:00:41 +08:00
Adrian Greeve 004a16f9ad Merge branch 'MDL-61537-Master' of https://github.com/tuanngocnguyen/moodle 2019-03-21 08:57:02 +08:00
Andrew Nicols abbabc5a91 MDL-65130 phpunit: Only generate coverage where it is deliberate 2019-03-21 08:16:56 +08:00
Eloy Lafuente (stronk7) 794dada9d6 MDL-64563 theme_classic: regenerated with grunt 2019-03-21 00:41:29 +01:00
Eloy Lafuente (stronk7) 58190d4807 Merge branch 'wip-master-MDL-64563' of https://github.com/adpe/moodle 2019-03-21 00:35:05 +01:00
Eloy Lafuente (stronk7) 99774ce0c3 Merge branch 'MDL-64281-master' of git://github.com/jleyva/moodle 2019-03-21 00:27:27 +01:00
Eloy Lafuente (stronk7) a99ef60c6b MDL-63263 tool_recyclebin: show the note as part of the heading element
It looks better (IMO) than using admin_setting_description and works in all
branches.
2019-03-21 00:13:27 +01:00
Eloy Lafuente (stronk7) 5810888077 Merge branch 'MDL-63263-Master' of https://github.com/tuanngocnguyen/moodle 2019-03-20 23:14:32 +01:00
Eloy Lafuente (stronk7) 7cff174590 Merge branch 'MDL-65022' of https://github.com/Dagefoerde/moodle 2019-03-20 22:30:36 +01:00
Jan Dageförde f422e24d9c MDL-65059 messaging: don't refer to block plugin type
AMOS BEGIN
 CPY [block,core],[blockuserconfirmbutton,core_message]
AMOS END
2019-03-20 22:23:12 +01:00
maksudr 2ae0c9c7bc MDL-65038 core_files: Fix typo in function mock_response 2019-03-20 20:56:23 +00:00
Juan Leyva acfd5e8329 MDL-65019 core: Return repository type for main file 2019-03-20 15:29:53 +01:00
Jun Pataleta a67f9a9b0c Merge branch 'MDL-62872-master' of git://github.com/rezaies/moodle 2019-03-20 16:30:43 +08:00
Adrian Greeve b1869131cf Merge branch 'MDL-60936_master' of git://github.com/dmonllao/moodle 2019-03-20 14:50:46 +08:00
Adrian Greeve d08e28a3bb Merge branch 'MDL-21904' of git://github.com/jmvedrine/moodle 2019-03-20 14:14:02 +08:00
Adrian Greeve 9433fd4424 Merge branch 'MDL-65005-master-fix' of git://github.com/junpataleta/moodle 2019-03-20 13:55:45 +08:00
Jun Pataleta f50778c822 MDL-65005 tool_policy: Ensure the user's on the Dashboard after agreeing 2019-03-20 12:58:16 +08:00
Adrian Greeve d6d4b7aace MDL-64505 theme_classic: Grunt update and version formatting. 2019-03-20 12:12:35 +08:00
Adrian Greeve e081d6000e Merge branch 'MDL-64505-master-final' of git://github.com/mickhawkins/moodle 2019-03-20 09:26:39 +08:00
Eloy Lafuente (stronk7) 8b9a4cb68d Merge branch 'MDL-65085_master' of git://github.com/dmonllao/moodle 2019-03-20 00:39:28 +01:00
Eloy Lafuente (stronk7) 38b9362a7e Merge branch 'MDL-60340_master' of git://github.com/dmonllao/moodle 2019-03-20 00:36:51 +01:00
Eloy Lafuente (stronk7) a1c99c02cf Merge branch 'MDL-64990_master' of git://github.com/markn86/moodle 2019-03-19 23:03:56 +01:00
Eloy Lafuente (stronk7) cd8e0cf210 Merge branch 'MDL-64979-master' of https://github.com/sammarshallou/moodle 2019-03-19 22:01:27 +01:00
sam marshall 05a5d547b3 MDL-64979 Behat: Add option to increase timeouts 2019-03-19 17:17:55 +00:00
Eloy Lafuente (stronk7) 9f93263ada Merge branch 'MDL-65005-master' of git://github.com/junpataleta/moodle 2019-03-19 17:57:30 +01:00
Eloy Lafuente (stronk7) 8253ec7439 Merge branch 'MDL-63244-master' of git://github.com/lameze/moodle 2019-03-19 17:43:24 +01:00
Juan Leyva a918443ac6 MDL-65024 mod_url: Include the full URL in the module cached_cm_info 2019-03-19 15:43:12 +01:00
Simey Lameze 545e2abb91 MDL-63244 core: make mustache retrieve language 2019-03-19 15:03:51 +08:00
Jean-Michel Vedrine 5dd1cf33ab MDL-21904 qformat_aiken: add export feature. 2019-03-19 08:01:56 +01:00
Adrian Greeve bd1c96459d Merge branch 'MDL-64898-progress-teachers' of https://github.com/dmitriim/moodle 2019-03-19 14:22:22 +08:00
Adrian Greeve d0c649b332 Merge branch 'MDL-64958-master' of git://github.com/junpataleta/moodle 2019-03-19 13:41:09 +08:00
Adrian Greeve e3dd580980 Merge branch 'MDL-63144-master' of git://github.com/rezaies/moodle 2019-03-19 11:24:32 +08:00
Adrian Greeve c635e2515e Merge branch 'MDL-54592-master' of git://github.com/vmdef/moodle 2019-03-19 11:02:28 +08:00
Eloy Lafuente (stronk7) 319b14b2e7 Merge branch 'MDL-64974-master' of git://github.com/sarjona/moodle 2019-03-19 00:23:24 +01:00
Eloy Lafuente (stronk7) bcd5343602 Merge branch 'MDL-64987-master' of git://github.com/abgreeve/moodle 2019-03-19 00:21:07 +01:00
Eloy Lafuente (stronk7) 6eca6f3e54 Merge branch 'MDL-65006-master' of git://github.com/sarjona/moodle 2019-03-18 23:35:17 +01:00
Eloy Lafuente (stronk7) e0757dd508 Merge branch 'MDL-63074-master' of git://github.com/bmbrands/moodle 2019-03-18 20:15:48 +01:00
Eloy Lafuente (stronk7) c846784230 Merge branch 'MDL-64905-master' of git://github.com/abias/moodle 2019-03-18 20:00:46 +01:00
Eloy Lafuente (stronk7) e745a9ffe6 Merge branch 'MDL-64655-master' of git://github.com/jleyva/moodle 2019-03-18 12:40:11 +01:00
Victor Deniz Falcon 02a5d26bd5 MDL-54592 cachestore_mongodb: check MongoDB server connection
The connection to the MongoDB server is checked on the creation and
deletion of a cache store instance. If the connection fails during
creation, the instance is set as not ready. Before deleting a instance,
a new cachestore_mongodb object is created, and connection checked.
There is no reason to check again the connection in the instance_deleted() method.
2019-03-18 11:11:01 +00:00
Michael Hawkins 140de372fd MDL-64505 behat: Updated searching admin to work consistently
The way behat_admin::i_set_the_following_administration_settings_values
was searching would fail inconsistently, due to the timing of the steps
not always working correctly.
2019-03-18 18:59:23 +08:00
Michael Hawkins ba2b508ca7 MDL-64505 theme_classic: Behat updates for screen size false failures
This fixes some behat failures in the Classic theme,
which were caused by the default screen size obfuscating page
elements for behat, where a normal user would still be able to
identify them.
2019-03-18 18:59:23 +08:00
Michael Hawkins 1815657b30 MDL-64505 theme_classic: Added Behat functionality and overrides 2019-03-18 18:59:23 +08:00
Bas Brands de213bf079 MDL-64505 theme_classic: Created the classic theme
The Classic theme is being introduced as a Bootstrap 4 replacement
for the older themes based on Bootstrap 2, such as Bootstrapbase,
Clean and More. It is a child theme of Boost, with a navigation
structure similar to the Clean theme.

Co-authored-by: Bas Brands <bmbrands@gmail.com>
Co-authored-by: Michael Hawkins <michaelh@moodle.com>
2019-03-18 18:59:23 +08:00
Julien Boulen b1d1369dff MDL-46803 course: Prevent unenrol users with multiple roles during reset 2019-03-18 11:20:08 +01:00
David Monllaó 3576b66bfd MDL-60936 analytics: Timesplittings setting only for evaluation 2019-03-18 09:34:52 +01:00
Shamim Rezaie 39966b190d MDL-63152 mod_workshop: Add userid param to calendar callbacks 2019-03-18 15:52:24 +11:00
Shamim Rezaie ada27f6b7e MDL-63152 mod_workshop: check if the module is visible to the user 2019-03-18 15:50:43 +11:00
Shamim Rezaie 7dfa238c08 MDL-62872 atto_recordrtc: max_filesize detection fix 2019-03-18 15:18:43 +11:00
Jake Dallimore 0423ed4a0f Merge branch 'MDL-65291' of git://github.com/stronk7/moodle 2019-03-16 07:16:09 +08:00
Eloy Lafuente (stronk7) 66ce31662f MDL-65291 phpunit: Make a test immune to DST changes 2019-03-16 00:16:02 +01:00
Juan Leyva b0cf7af4b7 MDL-64252 mod_scorm: New WS mod_scorm_get_scorm_access_information 2019-03-15 21:39:01 +01:00
David Monllaó 0bd52bfdac MDL-63906 analytics: Release the lock on \Throwable received 2019-03-15 15:48:27 +01:00
Víctor Déniz Falcón 2a944b5b41 MDL-54592 cachestore_mongodb: MongoDB cache store use new driver.
The scope of this change is limited to modifying the MongoDB cache
plugin to use the new version of the driver that accepts PHP 7.x
versions. Following the instructions in the official MongoDB
documentation, https://docs.mongodb.com/php-library/current/, the
MongoDB PHP Library was included and used.
2019-03-15 13:50:51 +00:00
Víctor Déniz Falcón b3c0e79678 MDL-54592 cachestore_mongodb: add MongoDB PHP Library
The new mongodb extension provides a limited API. The MongoDB PHP adds a
high level abstraction layer that provides methods for CRUD operations
and common commands. This version of MongoDB PHP Library requires
the PHP mongodb extension >= 1.5.
2019-03-15 13:50:51 +00:00
David Monllaó ead38829bf MDL-65085 analytics: noreply user sends insights 2019-03-15 13:48:57 +01:00
cescobedo 67251e316d MDL-64664 core_message: Behat tests to manage contacts 2019-03-15 13:42:05 +01:00
cescobedo 029a3e73e1 MDL-64664 core_message: New data generator for contacts 2019-03-15 13:42:05 +01:00
cescobedo 2cc0330576 MDL-64664 core_message: New step for open contact menu 2019-03-15 13:42:05 +01:00
David Monllaó 7af6528e30 MDL-60340 calendar: New param to specify a user 2019-03-15 11:35:29 +01:00
Nicolas Roeser 88d0f635ae MDL-64790 upgrade: parameter API doc regression fix
Partially update the API documentation of function
upgrade_plugin_savepoint.

This restores consistency between function parameters and API
documentation; as commit 17da2e6f28 (fix
for MDL-16438) had renamed parameter $dir to $plugin, but not also
applied this change to the API documentation.

Also reword the parameter comment text so that it is more meaningful to
developers: document that the parameter contains the name of the plugin.

Change the API documentation of parameter $type as well so that it is
a) correct, and
b) not in conflict with the API documentation for $plugin.
2019-03-15 11:13:23 +01:00
Nathan Nguyen 9432553b1c MDL-61537 assignfeedback_editpdf: Rotate PDF page
Add page rotation feature.
2019-03-15 15:02:33 +11:00
Nathan Nguyen cebfb23fb1 MDL-63263 tool_recyclebin: Apply automated backup setting
Use Automated backup settings as settings for Recycle bin backup and restore.
2019-03-15 14:56:34 +11:00
Rex Lorenzo 9665abad31 MDL-63263 tool_recyclebin: Recycle bin should always save user data. 2019-03-15 14:56:34 +11:00
Dmitrii Metelkin 34945fa35f MDL-64898 core_completion: no progress for untracked users 2019-03-15 14:32:50 +11:00
Jake Dallimore ec819146cc weekly release 3.7dev 2019-03-15 11:01:23 +08:00
Jake Dallimore ed37e2d234 NOBUG: Fixed file access permissions 2019-03-15 11:01:23 +08:00
Jake Dallimore 36159c67aa NOBUG: Fixed SVG browser compatibility 2019-03-15 11:01:22 +08:00
Jake Dallimore 3582f60554 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-03-15 11:01:22 +08:00
Juan Leyva 4daa0d08fe MDL-64655 forum: New WS mod_forum_get_forum_access_information
This WS returning the current user capabilities info.
2019-03-14 17:37:29 +01:00
Jake Dallimore 8587f97637 Merge branch 'MDL-60059-master' of git://github.com/rezaies/moodle 2019-03-14 15:46:10 +08:00
Shamim Rezaie 7fb8632109 MDL-60059 mod_workshop: Add drag and drop support to workshop events 2019-03-14 13:02:49 +11:00
Brendan Heywood 504198780e MDL-64543 profiling: Add ability to auto profile only slow scripts 2019-03-14 11:44:25 +11:00
Eloy Lafuente (stronk7) 22b02995f4 Merge branch 'MDL-46931' of https://github.com/paulholden/moodle 2019-03-14 01:26:39 +01:00
Eloy Lafuente (stronk7) ca996c1f48 Merge branch 'MDL-63146-master' of git://github.com/rezaies/moodle 2019-03-14 01:20:52 +01:00
Eloy Lafuente (stronk7) bd9fb479f1 Merge branch 'MDL-61585_master' of git://github.com/dmonllao/moodle 2019-03-14 01:13:47 +01:00
Eloy Lafuente (stronk7) 539b5a59f3 Merge branch 'MDL-63366-master' of git://github.com/andrewnicols/moodle 2019-03-14 00:31:39 +01:00
Eloy Lafuente (stronk7) e4ddf4dc7a Merge branch 'MDL-63524-master' of git://github.com/andrewnicols/moodle 2019-03-13 23:37:48 +01:00
Eloy Lafuente (stronk7) 13e767226f Merge branch 'MDL-64670-master' of git://github.com/aanabit/moodle 2019-03-13 17:47:59 +01:00
Juan Leyva c9a952776e MDL-64615 tool_mobile: Do not modify custom download URLs 2019-03-13 17:10:02 +01:00
Amaia Anabitarte 9171b588fe MDL-64670 core_message: fixing selector xpath 2019-03-13 15:06:42 +01:00
Jake Dallimore a3d85254f1 Merge branch 'MDL-64495-master' of https://github.com/aanabit/moodle 2019-03-13 16:36:04 +08:00
Adrian Greeve 1fac570629 Merge branch 'MDL-64568-master' 2019-03-13 15:42:40 +08:00
Mark Nelson 7e0c4bde11 MDL-64568 core_group: delete conversation and members on group deletion 2019-03-13 15:42:03 +08:00
Mark Nelson 978f233b8b MDL-64568 core_message: added new method to nuke conversations entirely
This method removes all data in the database related to a
given conversation.
2019-03-13 15:41:53 +08:00
Mark Nelson 07a4698d0a MDL-64568 core: upgrade step to remove orphaned group conversations 2019-03-13 15:41:44 +08:00
Jake Dallimore 6cb1a655e2 Merge branch 'MDL-64747-master' of https://github.com/lucaboesch/moodle 2019-03-13 14:28:04 +08:00
Adrian Greeve dd8131a875 Merge branch 'MDL-64787_master-bump-python-package' of git://github.com/dmonllao/moodle 2019-03-13 14:05:14 +08:00
Jake Dallimore a6646dfd92 Merge branch 'MDL-64773_master' of git://github.com/markn86/moodle 2019-03-13 11:03:52 +08:00
Jake Dallimore c6ceaf81db Merge branch 'MDL-64230-master' of git://github.com/junpataleta/moodle 2019-03-13 10:39:03 +08:00
Mark Nelson 5e600f7ce2 MDL-64773 core_message: do not process muted conversations 2019-03-13 09:08:46 +08:00
Mark Nelson bd038cc19f MDL-64773 core_message: add ability to mute/unmute conversations 2019-03-13 08:55:14 +08:00
Barbara Ramiro 8eaf770d01 MDL-64773 core: added muted icon 2019-03-13 08:55:13 +08:00
Mark Nelson 00c5924546 MDL-64773 core_message: ensure existing APIs return muted status 2019-03-13 08:55:13 +08:00
Mark Nelson 1c36c11a18 MDL-64773 core_message: updated privacy provider 2019-03-13 08:55:13 +08:00
Mark Nelson 086409f601 MDL-64773 core_message: added web services to mute/unmute conversations 2019-03-13 08:55:13 +08:00
Mark Nelson 2687312b29 MDL-64773 core_message: added API to mute/unmute conversations 2019-03-13 08:55:13 +08:00
Eloy Lafuente (stronk7) da97d01192 Merge branch 'MDL-64670-master' of git://github.com/aanabit/moodle 2019-03-12 18:05:17 +01:00
David Monllaó dea8ab8900 MDL-64787 mlbackend_python: Bump python package minimum version 2019-03-12 13:11:02 +01:00
Amaia Anabitarte 4bbec310aa MDL-64495 admin: Removed setting page and deprecation 2019-03-12 10:40:43 +01:00
Amaia Anabitarte a029ee00cd MDL-64495 admin: New Messaging settings category in Site administration 2019-03-12 10:40:43 +01:00
Adrian Greeve d87696dadb Merge branch 'MDL-13745-master-nosetting' of git://github.com/vmdef/moodle 2019-03-12 17:05:31 +08:00
Víctor Déniz Falcón 2bf67a74fb MDL-13745 admin: add Output mail configuration test
Add a tool for admins to test that the outgoing mail configuration is valid.
2019-03-12 08:58:30 +00:00
Jan Dageförde 1d8e6dacef MDL-65022 wiki: declare the cancel button secondary 2019-03-12 09:06:40 +01:00
Shamim Rezaie 1d146d7a6e MDL-63151 mod_wiki: Add userid param to mod_wiki calendar callbacks 2019-03-12 17:16:24 +11:00
Shamim Rezaie ed1f61f30f MDL-63151 mod_wiki: check if the module is visible to the user 2019-03-12 17:12:09 +11:00
Adrian Greeve fa50232ff7 Merge branch 'MDL-64477-master-lastats' of git://github.com/mudrd8mz/moodle 2019-03-12 13:36:43 +08:00
Adrian Greeve 80fd0eb073 Merge branch 'MDL-64787_master' of git://github.com/dmonllao/moodle 2019-03-12 11:16:20 +08:00
Eloy Lafuente (stronk7) c93eedf8dd Merge branch 'MDL-64084-master' of git://github.com/jleyva/moodle 2019-03-12 00:29:58 +01:00
Eloy Lafuente (stronk7) 99daf06a4f Merge branch 'MDL-64653-master' of git://github.com/jleyva/moodle 2019-03-11 23:03:02 +01:00
Sara Arjona 0c04a44457 MDL-64974 badges: add missing configurecriteria capability check 2019-03-11 10:24:39 +01:00
David Mudrák 6cae6c9b55 MDL-64477 analytics: Include new stats in site registration info
These four new figures will be submitted to the Moodle sites directory
as a part of the site registration.
2019-03-11 10:23:25 +01:00
David Mudrák 5e9b091248 MDL-64477 analytics: Introduce a new \core_analytics\stats class
The purpose of the class is to provide stats and meta data about how the
analytics is used on the site.
2019-03-11 10:23:25 +01:00
Davo Smith f83bd64148 MDL-64365 mod_forum: hide RSS settings if RSS not enabled 2019-03-11 09:04:32 +00:00
David Monllaó 9b3580f43c MDL-61585 analytics: Include missing indicators 2019-03-11 09:36:54 +01:00
Andrew Nicols bee40dbf27 MDL-63524 behat: Do not skip tests on Step 0 error 2019-03-11 11:18:40 +08:00
Jun Pataleta 9f09d9dec5 MDL-64958 gradeimport_csv: Better unit tests for check_user_exists() 2019-03-11 09:32:21 +08:00
Jun Pataleta d45f0f0ceb MDL-64958 grade_import: Ensure correct user is being fetched
* We need to ensure that we are checking the correct user account.
  Since email and idnumber are not unique fields, there's a chance that
  multiple user records will match when querying for user data using
  these fields. This might lead to a different user's grades being
  inadvertently modified during grade import. In such a case, this
  function needs to return a null userid.
2019-03-11 09:32:17 +08:00
Mark Nelson 8ca99a92da MDL-64990 tool_usertours: do not show messaging tour when disabled 2019-03-11 07:50:06 +08:00
David Castro cc179d9641 MDL-65008 question: Query enhancement.
Adding core_question as an additional filter to the tag backup.
2019-03-08 16:35:41 -05:00
Luca Bösch 5ed8afac9b MDL-64747 block_myoverview: Omit "Sort by" text and add icon instead. 2019-03-08 16:42:20 +01:00
Paul Holden 47e466c958 MDL-46931 roles: retrieve distinct users in sub-query.
Prevents duplicate key column warning when a user is enrolled in
a course via multiple enrolment methods.
2019-03-08 14:40:41 +00:00
Paul Holden 9ded266b4e MDL-43130 access: fix user counting when retrieving assignable roles.
Previously users assigned the same role in a context via multiple
components would be counted multiple times.
2019-03-08 12:32:24 +00:00
Sara Arjona 63be19c543 MDL-65006 policy: avoid loop when no policies need to be agreeded
Avoid an infinite loop when the user has no policies to agreed but
the policyagreed = 0.
2019-03-08 10:01:51 +01:00
Damyon Wiese 71fb32f8a6 MDL-64230 files: focus and hover css
Show the full filename when an element has focus or hover on the parent element.
2019-03-08 14:48:50 +08:00
Jun Pataleta ed90e4d378 MDL-64230 files: Display long file/folder names with ellipsis
* Instead of clipping long file/folder names by default, truncate them
with ellipsis to indicate to the user that the file/folder has a long
name.
2019-03-08 14:48:49 +08:00
Adrian Greeve a5dd8bfc91 MDL-64987 repository_nextcloud: Remove duplicate string. 2019-03-08 14:32:24 +08:00
Jun Pataleta 78af6dec0d MDL-65005 block_timeline: Behat fixes 2019-03-08 13:38:59 +08:00
Jun Pataleta 7a698c0d91 MDL-65005 block_timeline: Fix accessibility of Day filter menu 2019-03-08 13:38:59 +08:00
Jun Pataleta 87b998c46f MDL-65005 block_timeline: Fix accessibility of Sort-by menu 2019-03-08 13:38:55 +08:00
Mark Nelson 1fadad46a0 MDL-64773 core: added new table to keep track of muted conversations 2019-03-08 11:52:06 +08:00
AMOS bot 3ca5cd95d8 Automatically generated installer lang files 2019-03-08 00:15:09 +00:00
David Monllaó 4c44a1f6a0 MDL-64787 tool_analytics: New template to select the evaluation mode 2019-03-07 21:06:17 +01:00
David Monllaó e97dfff78d MDL-64787 tool_analytics: Include training data source in the log table 2019-03-07 20:44:48 +01:00
David Monllaó bc82b89586 MDL-64787 mlbackend: Evaluate trained models 2019-03-07 20:43:30 +01:00
David Monllaó 74823933c8 MDL-64787 tool_analytics: UI for trained models evaluation 2019-03-07 20:43:30 +01:00
Eloy Lafuente (stronk7) a713ed3ba6 weekly release 3.7dev 2019-03-07 16:41:47 +01:00
Eloy Lafuente (stronk7) f83eb74e56 NOBUG: Fixed SVG browser compatibility 2019-03-07 16:41:45 +01:00
Eloy Lafuente (stronk7) 482a791f4d Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-03-07 16:41:43 +01:00
Andrew Nicols 771a8c3c95 MDL-64883 mod_chat: Fix SQL in cron 2019-03-07 17:30:31 +08:00
Shamim Rezaie a44fb747cf MDL-63149 mod_survey: Add userid param to mod_survey calendar callbacks 2019-03-07 17:54:09 +11:00
Shamim Rezaie 58182fa833 MDL-63144 mod_lti: Add userid param to mod_lti calendar callbacks 2019-03-07 17:48:17 +11:00
Shamim Rezaie 70e7f3b9ba MDL-63144 mod_lti: Check if the module is visible to the user 2019-03-07 17:38:01 +11:00
Andrew Nicols 9f909b1c75 Merge branch 'MDL-64881-master' of git://github.com/lameze/moodle 2019-03-07 11:45:09 +08:00
Simey Lameze 7cef9748ff MDL-64881 mod_workshop: fix version bump 2019-03-07 11:43:36 +08:00
Simey Lameze 77f3b50f78 MDL-64881 mod_workshop: add task to run allocation plugin cron 2019-03-07 11:33:15 +08:00
Jun Pataleta b740fe1769 Merge branch 'MDL-64746-master' of https://github.com/lucaboesch/moodle 2019-03-07 11:04:42 +08:00
Andrew Nicols 7e51bd2583 MDL-64882 repository: Whitespace fix and version bump 2019-03-07 10:49:59 +08:00
Andrew Nicols 30bb29dae4 Merge branch 'MDL-64882-master' of git://github.com/lameze/moodle 2019-03-07 10:40:16 +08:00
Andrew Nicols 1eb1087748 MDL-64884 auth_mnet: Version bump 2019-03-07 10:32:18 +08:00
Andrew Nicols 5c30abc2ae MDL-64883 mod_chat: Version bump 2019-03-07 10:32:02 +08:00
Andrew Nicols 1a34def707 Merge branch 'MDL-64883-master' of git://github.com/lameze/moodle 2019-03-07 10:30:02 +08:00
Simey Lameze b98d775540 MDL-64883 mod_chat: deprecate legacy chat_cron() function 2019-03-07 10:10:29 +08:00
Simey Lameze 958dfd9761 MDL-64883 mod_chat: convert cron to scheduled task 2019-03-07 10:10:25 +08:00
Adrian Greeve 98c49e1a91 Merge branch 'MDL-64026-master' of git://github.com/jleyva/moodle 2019-03-07 10:01:25 +08:00
Andrew Nicols f9aeebd18e Merge branch 'MDL-64884-master' of git://github.com/lameze/moodle 2019-03-07 09:48:11 +08:00
Adrian Greeve ebdd345054 Merge branch 'MDL-63905' of git://github.com/jmvedrine/moodle 2019-03-07 09:10:30 +08:00
Eloy Lafuente (stronk7) 05506eaddc MDL-62869 upgrade: make upgrade step to match current version 2019-03-06 23:19:13 +01:00
Eloy Lafuente (stronk7) ff13ffcd99 Merge branch 'MDL-62869-include-all-courses-mycourse-fix-new' of https://github.com/dmitriim/moodle 2019-03-06 23:10:38 +01:00
Bas Brands 48507e164a MDL-63074 tool_customlang: update renderers
* move html to template
* allow mobile customization
2019-03-06 18:49:04 +01:00
Jan Dageförde 47da79bae9 MDL-64243 nextcloud: Add support for offline download for Moodle Mobile 2019-03-06 16:32:24 +01:00
Eloy Lafuente (stronk7) e3d78a7c8d Merge branch 'MDL-63937-master' of https://github.com/HuongNV13/moodle 2019-03-06 13:30:39 +01:00
Andrew Nicols 54c2b17604 MDL-64410 access: Unit tests for context locking SQL 2019-03-06 12:36:05 +01:00
Andrew Nicols fe41810304 MDL-64410 access: Check for context locking in cap functions 2019-03-06 12:36:05 +01:00
Jun Pataleta 6c2fc65887 Merge branch 'MDL-64333_master' of git://github.com/markn86/moodle 2019-03-06 17:34:10 +08:00
Mark Nelson 6408ea75ed MDL-64333 core_message: add migration message to new UI 2019-03-06 17:26:15 +08:00
Andrew Nicols 5bf82d7d9c Merge branch 'MDL-64774-master' of git://github.com/junpataleta/moodle 2019-03-06 15:41:11 +08:00
Jean-Michel Vedrine 48aad79a63 MDL-63905 qtype_multianswer: validate imported questions 2019-03-06 08:35:04 +01:00
Adrian Greeve d2063ed0a1 Merge branch 'MDL-64891-master' of git://github.com/tobiasreischmann/moodle 2019-03-06 15:06:36 +08:00
Andrew Nicols a6a5685999 Merge branch 'MDL-64950-master-2' of git://github.com/junpataleta/moodle 2019-03-06 13:42:24 +08:00
Jun Pataleta 313f2be603 MDL-64950 core: Handle username in a case-insensitive fashion 2019-03-06 12:45:27 +08:00
Jun Pataleta e1d6600fbe MDL-64950 core: Unit tests for get_complete_user_data() 2019-03-06 12:45:27 +08:00
Andrew Nicols c40f6adbe0 MDL-64971 access: Ensure that the capability exists when fetching 2019-03-06 10:16:06 +08:00
AMOS bot 5d1923d874 Automatically generated installer lang files 2019-03-06 00:09:23 +00:00
Eloy Lafuente (stronk7) fec8550675 Merge branch 'MDL-64943' of git://github.com/stronk7/moodle 2019-03-05 22:49:30 +01:00
Eloy Lafuente (stronk7) 71505bed78 MDL-64943 behat: fix some remaining uses of old strings 2019-03-05 19:17:07 +01:00
Eloy Lafuente (stronk7) 8ab1bd2f5e Merge branch 'MDL-64943-master-enfix' of git://github.com/mudrd8mz/moodle 2019-03-05 11:08:32 +01:00
Tobias Reischmann 852d795ffb MDL-64891 gradebook: Improve help text of grade display type. 2019-03-05 10:33:17 +01:00
Jun Pataleta 02d6bfaf98 Merge branch 'MDL-62465-master' of git://github.com/damyon/moodle 2019-03-05 15:30:31 +08:00
Adrian Greeve 754029cffb Merge branch 'MDL-64342-master' of git://github.com/cescobedo/moodle 2019-03-05 15:00:23 +08:00
Damyon Wiese f88c613135 MDL-62465 assign: Remove behat step
We don't need to open the menu to choose the "Grade" item, we can just click the button.
2019-03-05 14:41:25 +08:00
Adrian Greeve 3bf98faf80 Merge branch 'MDL-64864-master' of git://github.com/damyon/moodle 2019-03-05 14:25:16 +08:00
Adrian Greeve 40f289f362 Merge branch 'MDL-64678-master' of git://github.com/damyon/moodle 2019-03-05 13:51:33 +08:00
Andrew Nicols 9aae08ac91 Merge branch 'MDL-64961-master' of https://github.com/sammarshallou/moodle 2019-03-05 13:24:17 +08:00
Andrew Nicols 06824731a4 Merge branch 'MDL-64981' of https://github.com/timhunt/moodle 2019-03-05 13:20:34 +08:00
Shamim Rezaie c51a157755 MDL-64830 core_calendar: Do cap check on event edit form 2019-03-05 04:24:53 +01:00
Damyon Wiese 5d87464bc6 MDL-64651 comments: Do not send referrer
Use blanktarget option on all comments to prevent malicious links.
2019-03-05 04:24:53 +01:00
Viktor 898d5d05a0 MDL-62702 core_lib: fix broken verification signature 2019-03-05 04:24:53 +01:00
Mark Nelson 1a8b1f2724 MDL-62702 core_lib: updated the 'ltiprovider' readme_moodle.txt 2019-03-05 04:24:53 +01:00
Brendan Cox d8a7e1f78d MDL-62702 core_lib: parameters in POST override other LTI values
This fixes an exploit where you could alter the 'Content-Type' of the
request and bypass the case-sensitive check 'strstr'. For example,
setting it to 'application/x-www-FORM-urlencoded'. However, changing
this to use 'stristr' was also not an acceptable approach as you
could also bypass it by setting the value to 'multipart/form-data'.
2019-03-05 04:24:53 +01:00
Ryan Wyllie 93dda3bfd3 MDL-63786 core: set $CFG->forceclean for logged in as sessions
Turn on the forceclean config setting when a user is logged in as a
different user. This is a precautionary measure, which forces all
user submitted content to be cleaned of JavaScript before rendering
it to the logged in as user.
2019-03-05 04:24:53 +01:00
Luca Bösch c430bed525 MDL-64706 theme_boost: Remove logo link in secure template 2019-03-05 04:24:53 +01:00
Shamim Rezaie 3f4d7f805e MDL-63146 mod_quiz: Add userid param to mod_quiz calendar callbacks 2019-03-05 14:21:42 +11:00
Jun Pataleta b7d8cd0fc7 Merge branch 'MDL-64652-master' of git://github.com/andrewnicols/moodle 2019-03-05 11:14:04 +08:00
Adrian Greeve 10ed5197fd Merge branch 'MDL-64941-master' of https://github.com/MartinGauk/moodle 2019-03-05 11:08:27 +08:00
Andrew Nicols 62ce9e73c4 MDL-64652 mod_data: Break LEFT JOINs to multiple INNER 2019-03-05 10:12:22 +08:00
Andrew Nicols ab20d2606d MDL-64652 glossary: Break LEFT JOINs to multiple INNER 2019-03-05 10:12:22 +08:00
Andrew Nicols 3ffbde1214 MDL-64652 forum: Use an inner join when fetching ratings 2019-03-05 10:12:22 +08:00
Andrew Nicols 9f3bf966c4 MDL-64652 rating: Add optional inner join option to sql 2019-03-05 10:12:22 +08:00
Andrew Nicols ab45aa735c MDL-64652 mod_forum: Performance improvement for provider
There are possibly some further improvements that can be made to:
- export_discussion_data
- export_all_posts
2019-03-05 10:12:22 +08:00
Andrew Nicols e93b9cb56f Merge branch 'MDL-64967-master' of https://github.com/sammarshallou/moodle 2019-03-05 10:09:31 +08:00
Andrew Nicols 264fdc2cae Merge branch 'MDL-64886_master' of https://github.com/marxjohnson/moodle 2019-03-05 10:04:15 +08:00
Adrian Greeve 96ec5f03f7 Merge branch 'MDL-64863-master' of git://github.com/damyon/moodle 2019-03-05 09:55:25 +08:00
Jun Pataleta ba77f20bd0 Merge branch 'MDL-62143-master' of git://github.com/damyon/moodle 2019-03-05 09:44:59 +08:00
Damyon Wiese be56aa864b MDL-64864 core_competency: Include course category
These courses are passed through to the course_summary_exporter which
requires a category id in each course record.
2019-03-05 08:52:17 +08:00
Damyon Wiese a0e3d29fcf MDL-64678 assign: More ios touch
Only disable touch scrolling when the touch event is within the drawing region of the canvas.
2019-03-05 08:42:31 +08:00
Simey Lameze 866b21a22a MDL-64881 workshopallocation_scheduled: remove legacy function 2019-03-05 06:51:44 +08:00
Simey Lameze f0e9b93569 MDL-64881 workshopallocation_scheduled: create a scheduled task 2019-03-05 06:51:40 +08:00
Simey Lameze 8c0f43c477 MDL-64881 mod_workshop: remove legacy workshop_cron() function 2019-03-05 06:35:35 +08:00
Simey Lameze 29bddab8c8 MDL-64881 mod_workshop: convert cron to scheduled task 2019-03-05 06:35:30 +08:00
Alexander Bias c8def6e394 MDL-64905 block_myoverview: Progress bar percentage as placeholder 2019-03-04 16:16:11 +01:00
AMOS bot 8bb161fce0 Automatically generated installer lang files 2019-03-04 00:09:35 +00:00
cescobedo a57e09230f MDL-64342 core_message: make ajax call when privacy setting is changed
Only fire ajax request when the privacy setting value is changed.
2019-03-03 23:23:04 +01:00
Jun Pataleta c1ff94f41e MDL-64774 user: Make email query case-insensitive 2019-03-01 23:29:00 +08:00
Jun Pataleta 2672f0366b MDL-64774 user: Better unit tests for updating users with similar emails 2019-03-01 23:29:00 +08:00
Amaia Anabitarte 75e7553aa3 MDL-64670 core_message: behat tests for group conversations
Co-authored-by: Mathew May <mathew@moodle.com>
Co-authored-by: Amaia Anabitarte <amaia@moodle.com>
2019-03-01 14:14:32 +01:00
Amaia Anabitarte 65f631c5bc MDL-64670 core_message: New steps and selectors for message drawer
Co-authored-by: Mathew May <mathew@moodle.com>
Co-authored-by: Amaia Anabitarte <amaia@moodle.com>
2019-03-01 14:14:32 +01:00
sam marshall 7ba1cadd41 MDL-64961 REST web service: Fatal error in error handler 2019-03-01 11:57:00 +00:00
Tim Hunt a0536c410a MDL-64981 dml tests: pgsql_native_recordset_testcase port number 2019-03-01 11:12:40 +00:00
Martin Gauk 3e24d6f663 MDL-64941 qtype_multianswer: keep order of existing wrapped questions 2019-03-01 09:46:40 +00:00
Simey Lameze 4ce27477fb MDL-64882 repository_filesystem: deprecate legacy cron function 2019-03-01 11:12:55 +08:00
Simey Lameze a8e38eb311 MDL-64882 repository_filesystem: convert cron to scheduled task 2019-03-01 11:12:46 +08:00
Simey Lameze 653842539c MDL-64882 repository_dropbox: deprecate legacy cron function 2019-03-01 10:43:18 +08:00
Simey Lameze d77c810627 MDL-64882 repository_dropbox: convert cron to schedule task 2019-03-01 10:43:17 +08:00
Andrew Nicols 306ce452ab MDL-63366 core_privacy: Add coverage whitelisting 2019-03-01 10:30:31 +08:00
Andrew Nicols 14588631c0 MDL-63366 tool_dataprivacy: Add coverage whitelisting 2019-03-01 10:30:31 +08:00
Andrew Nicols 2c51b2eca0 MDL-63366 core: Add coverage whitelisting for filestorage 2019-03-01 10:30:31 +08:00
Andrew Nicols 0970aa10af MDL-63366 core_phpunit: Add ability to specify coverage filters 2019-03-01 10:30:31 +08:00
Simey Lameze 942cc5b1da MDL-64884 auth_mnet: deprecate legacy cron() method 2019-03-01 10:01:41 +08:00
Simey Lameze e425221ee6 MDL-64884 auth_mnet: convert cron to scheduled task 2019-03-01 10:01:37 +08:00
AMOS bot 8683c7f62a Automatically generated installer lang files 2019-03-01 00:15:34 +00:00
Dmitrii Metelkin 2085e8603a MDL-62869 search: implement searching for all courses 2019-03-01 07:18:37 +11:00
Luca Bösch eb6a339fb7 MDL-64746 block_timeline: replace filter icon by sort icon. 2019-02-28 20:45:50 +01:00
Eloy Lafuente (stronk7) 89d1238962 weekly release 3.7dev 2019-02-28 18:51:34 +01:00
Eloy Lafuente (stronk7) 82d8dd7188 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-02-28 18:51:31 +01:00
David Mudrák 60f59e5599 MDL-64943 lang: Fix regressions in Behat caused by reworded strings 2019-02-28 17:23:01 +01:00
Eloy Lafuente (stronk7) 47d363f34f Merge branch 'MDL-60944_master-bump-mlbackend' of git://github.com/dmonllao/moodle 2019-02-28 11:51:57 +01:00
David Monllaó 18eb9a3733 MDL-60944 mlbackend_python: Bump python package version 2019-02-28 11:45:24 +01:00
Juan Leyva 1f87a7f653 MDL-64084 core_enrol: Return expect last access course time 2019-02-28 11:11:35 +01:00
Eloy Lafuente (stronk7) b5940124dd Merge branch 'MDL-62631-master' of git://github.com/sarjona/moodle 2019-02-28 10:33:57 +01:00
Helen Foster 38dc5b9677 MDL-64943 lang: Import fixed English strings (en_fix)
Significant string changes:

* importgroups_help,core_group - Correcting optional fieldnames
  (removing picture, hidepicture and adding groupidnumber, groupingname
  and enablemessaging)

* penaltyforeachincorrecttry_help,core_question - additional paragraph
  about scoring logic

* resultdownloadready,tool_dataprivacy - wording corrected (no need to
  go to a download page)

* auth_dbfielduser,auth_db - varchar data type requirement
2019-02-28 09:50:18 +01:00
Andrew Nicols b73e2accbe Merge branch 'MDL-64376-master-2' of git://github.com/ryanwyllie/moodle 2019-02-28 11:45:27 +08:00
Ryan Wyllie 3accb67bcd MDL-64376 block_recentlyaccessedcourses: only centre courses on overflow
Only centre the courses in the div if they are overflowing the container
otherwise they should be left aligned.
2019-02-28 11:28:19 +08:00
Eloy Lafuente (stronk7) 3c1bb2334d Merge branch 'MDL-64444-master' of git://github.com/jleyva/moodle 2019-02-28 01:19:13 +01:00
Eloy Lafuente (stronk7) daf358f0cd Merge branch 'MDL-64878-master' of git://github.com/damyon/moodle 2019-02-27 18:58:26 +01:00
Eloy Lafuente (stronk7) ae5792807b Merge branch 'MDL-60944_master' of git://github.com/dmonllao/moodle 2019-02-27 18:46:44 +01:00
sam marshall 7514557426 MDL-64967 Behat: Mobile app testing does not load CSS files
Some files cannot be loaded due to CORS restrictions.
2019-02-27 14:56:05 +00:00
Sara Arjona a0e20ce87c Merge branch 'MDL-64761-master' of git://github.com/dpalou/moodle 2019-02-27 15:36:18 +01:00
Mark Johnson 7d4c345820 MDL-64886 enrol: Make enrolledusercount optional in enrol_get_users_courses 2019-02-27 12:58:17 +00:00
Alexander Bias 0048e12f04 MDL-64903 block_myoverview: Cluster course filters 2019-02-27 13:46:47 +01:00
Sara Arjona 0ebfd1c47b Merge branch 'MDL-55135-master-competencies-manage-in-coursecontext' of https://github.com/wjroes/moodle 2019-02-27 11:51:30 +01:00
Sara Arjona 7afeb1b1d2 Merge branch 'MDL-62454-master' of git://github.com/bmbrands/moodle 2019-02-27 08:57:51 +01:00
Andrew Nicols ec442a39dc Merge branch 'MDL-64889_master' of https://github.com/marxjohnson/moodle 2019-02-27 14:38:34 +08:00
Andrew Nicols b4d689c8db Merge branch 'wip-master-MDL-62345' of https://github.com/adpe/moodle 2019-02-27 13:51:08 +08:00
Andrew Nicols ccf03e1398 Merge branch 'MDL-63674-master' of git://github.com/rezaies/moodle 2019-02-27 13:01:08 +08:00
Andrew Nicols 3d122bd284 Merge branch 'MDL-63915_master' of git://github.com/markn86/moodle 2019-02-27 12:08:09 +08:00
Andrew Nicols 507d05f6e3 Merge branch 'MDL-64376-master-2' of git://github.com/ryanwyllie/moodle 2019-02-27 11:51:14 +08:00
Ryan Wyllie 42702e4186 MDL-63915 core_message: prevent drawer overriding index page widget
The module message_drawer_view_conversation.js is written in a way
where it keeps the conversation data as a static module variable.
It also does the same thing for the render function and generates it
when the conversation is shown, and only holds one instance as a static
module variable. This means which ever version of the messaging UI opens
second will override the first render function.
2019-02-27 11:35:36 +08:00
Ryan Wyllie 3e79a7bbe8 MDL-63915 core_message: fix view contacts loading only on one app 2019-02-27 11:35:36 +08:00
Mark Nelson 6f9d34bd46 MDL-63915 core_message: 'message' link on profile opens drawer 2019-02-27 11:35:36 +08:00
Mark Nelson fd998fc6f0 MDL-63915 core_message: add the UI to the message/index.php page 2019-02-27 11:35:36 +08:00
Mark Nelson cb01c45c5d MDL-63915 core_message: add namespacing to messaging widget 2019-02-27 11:35:36 +08:00
Mark Nelson 7ece4ca9da MDL-63915 core_message: mark items that can be removed in MDL-63261 2019-02-27 11:35:36 +08:00
Mark Nelson ee45ecc014 MDL-63915 core_message: remove use of renderable so we can nuke it
The other renderables in the same namespace are still used by
deprecated web services. Once we do the final deprecation of
those web services they will be removed - see MDL-63261.
2019-02-27 11:35:36 +08:00
Mark Nelson b1bba555be MDL-63915 theme_bootstrapbase: removed unused CSS 2019-02-27 11:35:36 +08:00
Mark Nelson 4fd0c594db MDL-63915 theme_boost: removed unused CSS 2019-02-27 11:35:36 +08:00
Mark Nelson 273dadeb50 MDL-63915 core_message: removed unused AMD modules 2019-02-27 11:35:36 +08:00
Mark Nelson b01d0535bc MDL-63915 core_message: removed unused templates
Also removed no longer used renderer.
2019-02-27 11:35:36 +08:00
Ryan Wyllie 3edde4fbe8 MDL-64376 recentlyaccessedcourses: improve displaying of courses 2019-02-27 10:58:02 +08:00
Ryan Wyllie 2719668068 MDL-64376 theme_boost: fire event on nav drawer toggle 2019-02-27 10:50:33 +08:00
Ryan Wyllie 8c890dd57d MDL-64376 recentlyaccessedcourses: make cards fixed width 2019-02-27 10:50:33 +08:00
Ryan Wyllie 6d9727628a MDL-64376 recentlyaccessedcourses: stop reloading on favourite
Stop reloading the whole content when a single course is favourited
or unfavourited.
2019-02-27 10:50:32 +08:00
Damyon Wiese 40fe153816 MDL-64878 grades: Update delete_instance
When grades are deleted, it needs to know the context so any files
in the gradebook can be deleted. This means module delete_instance
functions must delete the grade_item before they delete the module record.
2019-02-27 10:37:54 +08:00
Damyon Wiese 031cf251c1 MDL-64878 grades: Rebuild cache on import
When the course module cache is out of date during a gradebook re-calculcation it throws
throws exceptions because the module cannot be found. This prevents access to gradebook or
any type of grading functions until the cache is rebuilt.

When the cache still has no module record we log an error and return the course context.
2019-02-27 10:37:31 +08:00
Andrew Nicols 6f6a993d39 Merge branch 'MDL-64591' of https://github.com/timhunt/moodle 2019-02-27 09:54:35 +08:00
AMOS bot 556aefbe07 Automatically generated installer lang files 2019-02-27 00:09:34 +00:00
Eloy Lafuente (stronk7) 1c970f12db Merge branch 'MDL-63417-master' of git://github.com/mihailges/moodle 2019-02-26 23:18:56 +01:00
Sara Arjona 6fb04e766d MDL-52167 admin: format dependencies in search results 2019-02-26 15:46:05 +01:00
Davo Smith 08163b2067 MDL-52167 admin: display dependencies in search results 2019-02-26 15:45:53 +01:00
Davo Smith d940855f92 MDL-52167 admin: switch hide_if() to use hide() + update upgrade.txt 2019-02-26 15:45:44 +01:00
Davo Smith 8ed3671d4c MDL-52167 admin: now able to show/hide settings based on conditions 2019-02-26 15:45:35 +01:00
Sara Arjona 2bc0774cc1 Merge branch 'MDL-43428-master' of git://github.com/rezaies/moodle 2019-02-26 14:08:55 +01:00
Tim Hunt bd8774d55e MDL-64591 User tours: don't show during redirects & other bad times 2019-02-26 13:04:38 +00:00
Sara Arjona 44d5c25469 Merge branch 'MDL-58428-master' of git://github.com/sarjona/moodle 2019-02-26 13:25:54 +01:00
Mathew May 1baadc87fb MDL-58428 theme: Update upgrade txt & versions. 2019-02-26 12:56:14 +01:00
Mathew May a48ff0dcf6 MDL-58428 theme: Add templates to Course 2019-02-26 12:56:14 +01:00
Mathew May e686d12774 MDL-58428 theme: Move templates from admin/tool/usertours 2019-02-26 12:56:14 +01:00
Mathew May f03acadc09 MDL-58428 theme: Move templates from admin/tool/lp 2019-02-26 12:56:14 +01:00
Mathew May c53a22c434 MDL-58428 theme: Move templates from mod/forum 2019-02-26 12:56:14 +01:00
Mathew May cce298035d MDL-58428 theme: Move templates from mod/assign 2019-02-26 12:56:14 +01:00
Mathew May 0c61ec476c MDL-58428 theme: Move templates from grade/grading/form/guide 2019-02-26 12:56:14 +01:00
Mathew May 08cefc7e31 MDL-58428 theme: Move templates from grade/report/singleview 2019-02-26 12:56:14 +01:00
Mathew May 6eebb09060 MDL-58428 theme: Move templates from grade/report/history 2019-02-26 12:56:14 +01:00
Mathew May 8460e3690b MDL-58428 theme: Move templates from grades 2019-02-26 12:56:14 +01:00
Mathew May 5638b57267 MDL-58428 theme: Move templates from calendar 2019-02-26 12:56:14 +01:00
Mathew May 56cc669c39 MDL-58428 theme: Move templates from admin 2019-02-26 12:56:14 +01:00
Mathew May b13a453d25 MDL-58428 theme: Move templates from lib 2019-02-26 12:56:14 +01:00
Mathew May c75aa5640f MDL-58428 theme: Move templates from blocks/settings 2019-02-26 12:56:14 +01:00
Mathew May 6c1967af54 MDL-58428 theme: Move templates from blocks/search_forums 2019-02-26 12:56:14 +01:00
Mathew May f38a9caeef MDL-58428 renderer: Correct paths & xpaths 2019-02-26 12:56:14 +01:00
Mathew May 847b0fa941 MDL-58428 renderer: Move renderer override from core
Also update all html_writer user to escape the namespace.
Also update the xpaths in behat
2019-02-26 12:56:14 +01:00
David Monllaó c70a7194f4 MDL-60944 analytics: Include trained ML models 2019-02-26 10:58:41 +01:00
Mathew May 6a80186ebb MDL-58428 renderer: Move renderer override from blocks 2019-02-26 16:24:49 +08:00
Mathew May 0976e4cf5e MDL-58428 renderer: Move renderer override from maintenance 2019-02-26 16:24:49 +08:00
Mathew May 1c78866f44 MDL-58428 renderer: Move renderer override from grade report 2019-02-26 16:24:49 +08:00
Mathew May 2627162480 MDL-58428 renderer: Move renderer override from Question bank 2019-02-26 16:24:49 +08:00
Mathew May 9f0595c4fd MDL-58428 renderer: Move renderer override from course management 2019-02-26 16:24:49 +08:00
Mathew May f39111d0ea MDL-58428 renderer: Move renderer override from files 2019-02-26 16:24:49 +08:00
Mathew May 9825951bd8 MDL-58428 renderer: Move renderer override from course 2019-02-26 16:24:48 +08:00
Mathew May 14bcc65e80 MDL-58428 behat: Fix regression of MDL-49399.
The behat for tool_task was no longer working in Clean & More due to the menu changes.
This updates the affected steps on Master only as 49399 was a master only fix.
2019-02-26 16:24:48 +08:00
Mathew May b259b8bd7a MDL-58428 phpunit: PHPUnit will mock the theme config in testing.
Other fixes to the require paths, correct the class names in fixtures for 'nofeatures' mock theme.
2019-02-26 16:24:46 +08:00
Andrew Nicols 4aefaf653b MDL-58428 behat: Check parent themes for Behat override steps.
Behat will now look at the current themes' parents for Behat ovveride steps.
If found we will use the steps replacing the Moodle core steps.
2019-02-26 16:21:23 +08:00
Jun Pataleta 6940a4ced8 MDL-64950 login: core_login_validate_forgot_password_data() unit tests 2019-02-26 15:27:41 +08:00
Andrew Nicols 08311cdaf4 MDL-64880 mod_wiki: Remove cron value from version 2019-02-26 12:04:55 +08:00
Andrew Nicols bf32bdaff5 Merge branch 'MDL-64879-master' of git://github.com/lameze/moodle 2019-02-26 12:03:13 +08:00
Andrew Nicols 20c6815809 MDL-60683 quiz: Version bump for new scheduled tasks 2019-02-26 11:52:20 +08:00
Shamim Rezaie 2c00caee85 MDL-43428 accessrule_timelimit: timeclose can be ealier than timelimit 2019-02-26 14:44:15 +11:00
Andrew Nicols e935f20b02 Merge branch 'MDL-60683_cron_to_task' of https://github.com/mhughes2k/moodle 2019-02-26 11:31:24 +08:00
Simey Lameze c3781ebeb3 MDL-64879 mod_assign: deprecate legacy assign_cron() function 2019-02-26 11:25:58 +08:00
Andrew Nicols 11638047df Merge branch 'MDL-64880-master' of git://github.com/lameze/moodle 2019-02-26 11:11:53 +08:00
Andrew Nicols 44bad3b27c Merge branch 'MDL-64663-master' of git://github.com/aanabit/moodle 2019-02-26 11:05:58 +08:00
Andrew Nicols 2a131bb55d Merge branch 'arjen_validate_email' of https://github.com/arjenlentz/moodle 2019-02-26 10:53:55 +08:00
Sara Arjona 4b227ead88 Merge branch 'MDL-64862-master-workshopgradepass' of git://github.com/mudrd8mz/moodle 2019-02-25 18:31:10 +01:00
Sara Arjona 14fc53e7e2 Merge branch 'MDL-64931_master' of git://github.com/markn86/moodle 2019-02-25 17:19:02 +01:00
Adrian Greeve e3daac154a Merge branch 'MDL-64640-master' of git://github.com/andrewnicols/moodle 2019-02-25 10:26:01 +01:00
Amaia Anabitarte 504a5de320 MDL-64663 core_message: Behat to test admin settings 2019-02-25 10:13:20 +01:00
David Monllaó e4453adc55 MDL-60944 tool_analytics: Adding create and delete features
Extra modifications to refine the preexisting patch.
2019-02-25 09:54:07 +01:00
Ankit Agarwal 349c44128d MDL-60944 analytics: Add base support for import / export 2019-02-25 09:54:07 +01:00
Andrew Nicols 77f404ffd3 Merge branch 'MDL-64561-master-test' of git://github.com/rezaies/moodle 2019-02-25 15:50:56 +08:00
Charles Fulton 032d98a148 MDL-64561 install: show help text before database check 2019-02-25 16:43:14 +11:00
Shamim Rezaie 3c687b406a MDL-63674 core_messaging: Fix message drawer's shadow in RTL 2019-02-25 14:38:20 +11:00
Shamim Rezaie 87dc257d55 MDL-63674 core_messaging: Bidi text support 2019-02-25 14:38:20 +11:00
Simey Lameze b0218089d9 MDL-64879 mod_assign: convert cron to scheduled task 2019-02-25 10:41:31 +08:00
Mark Nelson 89bab5e8f0 MDL-64931 core_message: fixed PHP error when users are deleted from DB 2019-02-25 07:48:44 +08:00
Michael Hughes b09c036bb8 MDL-60683 quiz: Replace quiz legacy cron with tasks 2019-02-22 16:39:37 +00:00
Adrian Perez f286376913 MDL-62345 navigation: Change data-key for dashboard rootnode 2019-02-22 16:52:05 +01:00
Mathew May e3652936f3 MDL-58428 theme: Shift templates ready for Bootstrapbase removal
Move behat override steps from boost into their Moodle core locations &
Move the effected core behat steps into bootstrapbase as override steps.
2019-02-22 15:19:33 +08:00
Sara Arjona 22348a3b96 MDL-62631 badges: Add manage/add badges buttons on Badges page
Direct access from the navigation Badges section to the "Manage badges"
and "Add a new badge" buttons.
2019-02-22 08:02:35 +01:00
Andrew Nicols 07203d34f1 weekly release 3.7dev 2019-02-22 10:51:13 +08:00
Andrew Nicols c60b2b5a9f Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-02-22 10:51:09 +08:00
Bas Brands 5fe9aca3a1 MDL-62454 theme_boost: numerical qtype answer inline 2019-02-21 14:19:42 +01:00
Adrian Greeve de1f00fdbe Merge branch 'wip-MDL-64729-master' of https://github.com/Beedell/moodle 2019-02-21 12:20:48 +01:00
Adrian Greeve df4a17c7ed Merge branch 'MDL-64093_master' of git://github.com/markn86/moodle 2019-02-21 09:46:54 +01:00
Huong Nguyen efef2efdd6 MDL-63937 autocomplete: Add the indicator when processing the request 2019-02-21 10:08:16 +07:00
Andrew Nicols df5feea490 MDL-63937 autocomplete: Add a loading icon when fetching via AJAX 2019-02-21 10:08:16 +07:00
Andrew Nicols d4495e8188 Merge branch 'MDL-64823_master' of https://github.com/marxjohnson/moodle 2019-02-21 10:32:29 +08:00
Andrew Nicols 414fa82e50 Merge branch 'MDL-64571-master' of git://github.com/cescobedo/moodle 2019-02-21 08:10:54 +08:00
Adrian Greeve ff30f3f042 Merge branch 'MDL-64856_m37v1' of git://github.com/sbourget/moodle 2019-02-20 18:01:53 +01:00
Eloy Lafuente (stronk7) cb8fc12489 Merge branch 'MDL-64749' of https://github.com/mkassaei/moodle 2019-02-20 17:01:56 +01:00
Adrian Greeve 064f3345f8 Merge branch 'MDL-64200-master' of git://github.com/damyon/moodle 2019-02-20 15:57:55 +01:00
M Kassaei 3e697596b4 MDL-64749 Question gapselect: Replace 'Choose...' with blank 2019-02-20 11:06:51 +00:00
Adrian Greeve cafaa2d58f Merge branch 'MDL-64450-master' of git://github.com/peterRd/moodle 2019-02-20 11:35:14 +01:00
Eloy Lafuente (stronk7) aff8ad46f2 Merge branch 'm37_MDL-64443_Ignore_More_Swap_File_Types' of https://github.com/scara/moodle 2019-02-20 10:21:46 +01:00
David Monllaó 84ca3ccce4 MDL-64500 tool_analytics: noanalysables negation better than analysables 2019-02-20 10:09:26 +01:00
Simey Lameze ce97cd44e4 MDL-64880 mod_wiki: remove useless wiki_cron() function 2019-02-20 14:41:44 +08:00
Andrew Nicols 0f5b2a1782 Merge branch 'MDL-64570-master-fix1' of git://github.com/damyon/moodle 2019-02-20 10:52:22 +08:00
Damyon Wiese 145a10f7a9 MDL-64570 user: input field purpose
Do not autocomplete the user fields when editing another user.
2019-02-20 09:42:26 +08:00
Eloy Lafuente (stronk7) 4776098fe4 Merge branch 'MDL-64679_master' of git://github.com/dmonllao/moodle 2019-02-20 00:06:50 +01:00
Eloy Lafuente (stronk7) 31dc8b8320 Merge branch 'MDL-63134-master' of git://github.com/rezaies/moodle 2019-02-19 23:57:10 +01:00
Eloy Lafuente (stronk7) ffd3185c63 Merge branch 'MDL-64806-master' of git://github.com/damyon/moodle 2019-02-19 23:34:38 +01:00
Eloy Lafuente (stronk7) 84dd2193c1 Merge branch 'MDL-64242' of git://github.com/timhunt/moodle 2019-02-19 23:22:52 +01:00
Eloy Lafuente (stronk7) c8469a9757 Merge branch 'MDL-63938-master' of https://github.com/HuongNV13/moodle 2019-02-19 19:07:14 +01:00
Eloy Lafuente (stronk7) bfaebeb754 Merge branch 'MDL-64791-master' of git://github.com/jleyva/moodle 2019-02-19 17:42:21 +01:00
Eloy Lafuente (stronk7) 88edfc77c1 Merge branch 'MDL-62008-master' of git://github.com/damyon/moodle 2019-02-19 17:23:41 +01:00
Eloy Lafuente (stronk7) 50564f27ca Merge branch 'MDL-64500_master' of git://github.com/dmonllao/moodle 2019-02-19 17:10:38 +01:00
Adrian Greeve 2fb695f8df Merge branch 'MDL-60459_master' of git://github.com/markn86/moodle 2019-02-19 11:48:14 +01:00
Huong Nguyen 1f00fdb0d2 MDL-63938 Enrolments: course_enrolment_manager method improvement
course_enrolment_manager method should not always do a count_records and a get_records
2019-02-19 13:57:48 +07:00
David Monllaó 7677a86cc0 Merge branch 'MDL-64570-master' of git://github.com/damyon/moodle 2019-02-19 06:45:21 +01:00
David Monllaó 4f3f8fba67 Merge branch 'MDL-45151-master' of git://github.com/damyon/moodle 2019-02-19 06:39:24 +01:00
Damyon Wiese 3d97770365 MDL-64570 user: coding style
Fix cibot warnings on line length.
2019-02-19 09:44:20 +08:00
Damyon Wiese 2159983aff MDL-64570 accessibility: autocomplete user profile fields
Only if editing your own user details and not logged in as someone else.
2019-02-19 09:44:15 +08:00
Arjen Lentz 4b71e99564 MDL-21475 weblib: Simplify validate_email() to use existing function. 2019-02-19 10:51:21 +10:00
Eloy Lafuente (stronk7) 53bc11dd78 Merge branch 'MDL-53346-master' of git://github.com/damyon/moodle 2019-02-19 00:23:21 +01:00
Tobias Reischmann 6555342863 MDL-64891 gradebook: Disable grade display type dependent on grade type
If the grade types text or none are selected for an item or a category,
none of the 'grade display type' options  will change the displayed
grade within the reports. Thus, we can disable the settings for grade
display type as well as the one for decimal places in this case.
2019-02-18 17:17:25 +01:00
Eloy Lafuente (stronk7) b7b914fbdc Merge branch 'MDL-64314-master-upgrade-fix' of git://github.com/abgreeve/moodle 2019-02-18 16:49:50 +01:00
Adrian Greeve 6d6a83e91d MDL-64314 messaging: Quick fix for empty insights configuration. 2019-02-18 16:30:19 +01:00
Adrian Greeve 33f070f1f6 Merge branch 'MDL-64452-master-cachesession' of git://github.com/mudrd8mz/moodle 2019-02-18 15:51:30 +01:00
Mark Johnson 272c7948d2 MDL-64889 completion: Fix performance of get_course_progress_percentage 2019-02-18 14:03:52 +00:00
Adrian Greeve 45dc542a40 Merge branch 'MDL-64314_master' of git://github.com/dmonllao/moodle 2019-02-18 14:50:59 +01:00
David Mudrák 395bca32a1 MDL-64862 workshop: Fix grades to pass editing
There was a bug here that had not exposed until MDL-60820 introduced the
call $mform->setDefault() at the bottom of the definition_after_data()
method. That call triggers the 'updateValue' event on all form elements.
For input text elements, this effectively sets their value to the
default one, which was empty in this case due to the way how the value
had been set.

The solution here is to set the value via the same way like the normal
set_data() method does it.

The attached Behat test reproduces the problem and makes sure the patch
works.
2019-02-18 14:40:02 +01:00
David Monllaó 0a828b592d Merge branch 'MDL-64587-master' of https://github.com/junpataleta/moodle 2019-02-18 10:25:35 +01:00
Adrian Greeve ceea116626 Merge branch 'MDL-55211-master' of git://github.com/damyon/moodle 2019-02-18 09:34:43 +01:00
Jun Pataleta b0e8a833f9 MDL-64587 tool_xmldb: Change Continue to Back link for consistency
* For consistency with the rest of navigation links in the tool, change
the Continue button to a Back link.
2019-02-18 16:09:50 +08:00
Michael Aherne 495b4b412d MDL-64587 xmldb: XMLDB option to add mandatory persistent fields. 2019-02-18 15:38:23 +08:00
willem e42d429c7b MDL-55135 competencies: fix capabilities managing course competencies
Capability check in a course was using global competency capabilities 
moodle/competency:competencyview and  moodle/competency:competencymanage 
instead of the course equivalents. Users outside the course context 
could not manage course competencies.
2019-02-18 08:07:38 +01:00
Jun Pataleta 2baf5722ab Merge branch 'MDL-62142-master' of git://github.com/damyon/moodle 2019-02-18 14:28:09 +08:00
Damyon Wiese 9df03b1940 MDL-62142 navigation: accessibility
Set unique meaningful labels on all nav components rendered in the "boost" theme.
2019-02-18 14:09:48 +08:00
Andrew Nicols 8b7c3b97d0 Merge branch 'MDL-62728-locale_5' of https://github.com/DSI-Universite-Rennes2/moodle 2019-02-18 12:27:40 +08:00
Andrew Nicols 3127feeb74 Merge branch 'MDL-61575-master' of git://github.com/cescobedo/moodle 2019-02-18 08:34:46 +08:00
Matteo Scaramuccia 8812534837 MDL-64443 git: Excluded vim swap files
Vim swap filenames are deterministic someway.
Refs:
- http://vimdoc.sourceforge.net/htmldoc/recover.html#swap-file
- https://github.com/vim/vim/blob/4efe73b478d3ba689078da502fd96f45204ff1f5/src/memline.c#L4683
- https://unix.stackexchange.com/a/326737
- https://github.com/github/gitignore/blob/master/Global/Vim.gitignore
2019-02-16 22:20:05 +01:00
AMOS bot a531837689 Automatically generated installer lang files 2019-02-16 00:13:20 +00:00
John Beedell af00998f74 MDL-64729 mod_glossary: glossary_get_entries_search case sensitivity 2019-02-15 16:53:20 +00:00
Julien Boulen 1a549472fa MDL-62728 lang: display a warning when missing some locales on server 2019-02-15 09:53:00 +01:00
David Mudrák ea43f6c1c8 MDL-64452 cache: Add tests for key prefix based on session id
Unfortunately, we can't simply use session_id() to regenerate the
session id in unit tests. Starting from PHP 7.2, it would trigger
"session_id(): Cannot change session id when headers already sent",
refer to MDL-60978 and PHP bug #75628 for more details.

As a workaround, we use a static property allowing us to inject the
value that we then use as a session identifier. This is reasonably
enough to make sure that the identifier is used as a part of the key
prefix.
2019-02-15 09:36:43 +01:00
David Mudrák 0ea0dfde6d MDL-64452 cache: Always use the current session id in the key prefix
The current logic in the cache_session::check_tracked_user() is not
right. We must always set the current session id. A typical use case is
when the cache instance is instantiated for a not logged in user. We
can't let the sessionid property null in that case as it forms an
important part of the parsed key.

Similarly, even if we have the same user currently loaded, we must still
set the sessionid to make sure the data will be associated with the
current PHP session. Same user (including visitors or guest users) can
access the site from different browsers and each must end up with its
own key prefix.
2019-02-15 09:36:43 +01:00
Jun Pataleta 53d1a16828 Merge branch 'MDL-63944-master' of https://github.com/lethevinh/moodle 2019-02-15 16:27:02 +08:00
David Monllaó b5b112f62c MDL-64314 messaging: Web notifications for insights 2019-02-15 08:47:01 +01:00
David Monllaó e40af65c87 MDL-64679 tool_analytics: Allow trained models to be cleared 2019-02-15 08:43:13 +01:00
VinhLe d02247448b MDL-63944 Question: Add toggle all to Quiz Activity 2019-02-15 14:42:07 +07:00
Andrew Nicols 270fd3f5e4 MDL-63944 Question: Convert toggle all to generic module 2019-02-15 10:07:08 +07:00
VinhLe b65bc972e6 MDL-63944 Questions Bank: Select all checkbox should be checked
When checkbox item be chosen then "Select All" be chosen.
When "Select All" be chosen then all checkbox item be chosen.
2019-02-15 10:07:08 +07:00
Damyon Wiese 769cd8c4cc MDL-64863 tool_lp: Progress if needed
Do not immediately show progress bars since most operations work
in under a second. This will use the default timeout (5 seconds)
before showing progress bars.
2019-02-15 09:06:04 +08:00
Andrew Nicols 124999563a weekly release 3.7dev 2019-02-15 08:29:14 +08:00
Andrew Nicols a5bd8d9658 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-02-15 08:29:12 +08:00
Stephen Bourget 4657f0388a MDL-64856 mod_glossary: Always show the settings cog on the view page. 2019-02-14 12:36:55 -05:00
Jun Pataleta 26dc34e938 Merge branch 'MDL-64552_admin_hideif' of git://github.com/davosmith/moodle 2019-02-14 15:12:22 +08:00
Jun Pataleta 401d0c06f3 Merge branch 'MDL-64736-master-2' of git://github.com/andrewnicols/moodle 2019-02-14 15:00:56 +08:00
Andrew Nicols 9a8920f751 Merge branch 'MDL-64788_master' of git://github.com/markn86/moodle 2019-02-14 09:40:13 +08:00
Jun Pataleta 28785ee630 Merge branch 'MDL-63892-master-rework' of git://github.com/mickhawkins/moodle 2019-02-13 21:01:32 +08:00
Michael Hawkins 0753bb4238 MDL-63892 mod_forum: Behat update for post order 2019-02-13 17:32:24 +08:00
Jun Pataleta dce039ae48 Merge branch 'MDL-64835-master' of git://github.com/andrewnicols/moodle 2019-02-13 16:27:15 +08:00
Jun Pataleta a755876b79 Merge branch 'MDL-64557_course_hideif' of git://github.com/davosmith/moodle 2019-02-13 16:17:44 +08:00
Andrew Nicols b52c83726e MDL-63977 Behat: Wait longer for app login 2019-02-13 14:14:32 +08:00
Andrew Nicols 502fff1c1f MDL-63977 Behat: Prefer ionic approot over wwwroot 2019-02-13 13:55:34 +08:00
Andrew Nicols d1570a6f52 Merge branch 'MDL-63977-beforemerge' of https://github.com/sammarshallou/moodle 2019-02-13 13:21:15 +08:00
Andrew Nicols 568b7d3fc0 Merge branch 'MDL-64714-master' of git://github.com/cescobedo/moodle 2019-02-13 11:22:24 +08:00
Andrew Nicols fc9694d1e5 Merge branch 'MDL-63892-master-rework' of git://github.com/mickhawkins/moodle 2019-02-13 10:18:25 +08:00
Andrew Nicols 9626e56812 MDL-64835 JS: Reduce cache invalidation checks
The cache invalidation check was previously occuring every time either
the `set` or `get` function was called on the cache. However, the cache
invalidation check is based on the jsrev which is static for the
lifetime of the page.

This change moved the invalidation to happen during the setup of the AMD
module such that it only happens one time per storage type (Local +
Session).
2019-02-13 10:13:05 +08:00
Andrew Nicols dd663b41bc MDL-64835 JS: Stop using the jsrev in the jsrevPrefix
We only use the jsrevPrefix to determine if the cache should be
invalidated, but the prefix that we were using is based on the new
jsrev.

For example, the jsrevPrefix will be:

    hash(wwwroot + '/ + config.jsrev) + '/jsrev'

Where config.jsrev is the _current_ (new) jsrev.

As a result when searching for the jsrev used to store the data which is
currently in the storage cache, no key is returned, and we instead set
an 'initial' value and the cache is not cleared

This patch changes the jsrevPrefix to be:

    hash(wwwroot) + '/jsrev'

Since the wwwroot does not change, the key remains static for the
current site. As a result, when the jsrev is bumped via a Moodle cache
purge, we are able to correctly fetch the old jsrev from the cache,
determine that the jsrev has changed, and purge the cache.
2019-02-13 10:11:42 +08:00
AMOS bot 36ddd6c1a3 Automatically generated installer lang files 2019-02-13 00:11:35 +00:00
sam marshall d178865b38 MDL-63977 Behat: Organise app functions in window.behat object 2019-02-12 13:26:39 +00:00
Eloy Lafuente (stronk7) 752e2f85e7 Merge branch 'MDL-64420-2' of https://github.com/timhunt/moodle 2019-02-12 12:56:18 +01:00
David Monllaó 6f5d32ea4d Merge branch 'MDL-64590' of https://github.com/timhunt/moodle 2019-02-12 12:45:48 +01:00
David Monllaó f4a99aa5eb Merge branch 'MDL-64646' of https://github.com/mkassaei/moodle 2019-02-12 12:42:48 +01:00
David Monllaó 9426a13cfe Merge branch 'master' of https://github.com/CengageEng/moodle 2019-02-12 12:33:23 +01:00
sam marshall 3e42f121f2 MDL-63977 Behat: Read config.json version from running Ionic server 2019-02-12 11:18:21 +00:00
Davo Smith c5ec8db43b MDL-64557 tool_behat: fix broken test 2019-02-12 10:18:04 +00:00
Davo Smith 309686547a MDL-64557 category: switch disabledIf to hideIf on delete form 2019-02-12 10:18:04 +00:00
Davo Smith 87c7fb6e9a MDL-64557 modform: switch disabledIf to hideIf, where appropriate 2019-02-12 10:18:04 +00:00
David Monllaó 59f75c4f41 Merge branch 'MDL-32096-master' of git://github.com/peterRd/moodle 2019-02-12 09:41:35 +01:00
Andrew Nicols b1deb76f66 Merge branch 'MDL-64291' of https://github.com/KietChan/moodle 2019-02-12 10:55:10 +08:00
Jun Pataleta ae242c33f8 Merge branch 'MDL-64493-master' of git://github.com/damyon/moodle 2019-02-12 10:12:21 +08:00
cescobedo e84312f768 MDL-64571 core_message: Fix duplicate footer in msg notification email 2019-02-12 00:43:21 +01:00
Andrew Nicols 93060b9508 MDL-64736 course: Rewrite behat step to avoid changing a checkbox 2019-02-12 07:41:34 +08:00
Eloy Lafuente (stronk7) a88dfa1bf6 Merge branch 'MDL-61326-master' of git://github.com/peterRd/moodle 2019-02-12 00:19:07 +01:00
Eloy Lafuente (stronk7) 3b996f2a4e Merge branch 'MDL-64694_master' of git://github.com/dmonllao/moodle 2019-02-12 00:09:46 +01:00
Peter 8c7d6407b9 MDL-61326 repository_equella: Pass proper labels for roles with no name 2019-02-12 07:09:13 +08:00
Eloy Lafuente (stronk7) c50e52d318 Merge branch 'MDL-64606-master' of https://github.com/lucaboesch/moodle 2019-02-12 00:02:12 +01:00
Eloy Lafuente (stronk7) 095d42c297 Merge branch 'MDL-64238-master' of git://github.com/peterRd/moodle 2019-02-11 23:56:44 +01:00
sam marshall ff3ccab52e MDL-63977 Behat: Rename Ionic config variables for consistency 2019-02-11 16:40:56 +00:00
sam marshall 079eae376c MDL-63977 Behat: Make standard login step work for app as well 2019-02-11 16:20:43 +00:00
sam marshall a3892e0ef5 MDL-63977 Behat: Move app startup to before-scenario hook 2019-02-11 16:20:43 +00:00
sam marshall 66901a6968 MDL-63977 Behat: Add generic way to get tag list 2019-02-11 16:20:42 +00:00
sam marshall d8218a3f09 MDL-63977 Behat: Fix bug in 'near' calculation 2019-02-11 16:20:42 +00:00
sam marshall e0564a3264 MDL-63977 Behat: Upgrade mobile tests to work with 3.6 app version 2019-02-11 16:20:42 +00:00
sam marshall 1959e16412 MDL-63977 Behat: Allow Behat testing of the Moodle mobile app
This change allows you to write and run Behat tests that cover the
mobile app. These should have the @app tag. They will be run in the
Chrome browser using an Ionic server on the local machine.

See config-dist.php for configuration settings, or full docs here:
https://docs.moodle.org/dev/Acceptance_testing_for_the_mobile_app
2019-02-11 16:20:42 +00:00
Mark Johnson d6c06935c2 MDL-64823 mobile: Fix prefix for disabled plugins 2019-02-11 16:05:23 +00:00
Eloy Lafuente (stronk7) 18cc7a2ceb Merge branch 'MDL-64725-master' of git://github.com/junpataleta/moodle 2019-02-11 17:03:55 +01:00
John Beedell 0d3be6d648 MDL-64420 qtype: gapselect unit tests unsafe 2019-02-11 13:53:24 +00:00
Eloy Lafuente (stronk7) 690bedf26c Merge branch 'MDL-64599' of https://github.com/marcusboon/moodle 2019-02-11 12:50:46 +01:00
Eloy Lafuente (stronk7) fdb3de8a05 Merge branch 'MDL-64385-master' of git://github.com/aanabit/moodle 2019-02-11 12:35:26 +01:00
Sara Arjona 7bc2d6e644 Merge branch 'MDL-64031-master' of https://github.com/lethevinh/moodle 2019-02-11 12:33:06 +01:00
Peter 448584b5df MDL-60384 mod_book: Add a label to highlight the previous chapter
* Added current chapter's title to the button title so it's clear where you're adding the chapter to.
* Update the behat tests to reflect the changes made to the title
2019-02-11 11:16:39 +01:00
David Monllaó 9e5d41ee1d Merge branch 'MDL-64391_master' of git://github.com/vmdef/moodle 2019-02-11 11:08:20 +01:00
Sara Arjona 67d490b629 Merge branch 'MDL-48338-master' of git://github.com/andrewnicols/moodle 2019-02-11 10:41:03 +01:00
David Monllaó 4de1ac1613 Merge branch 'MDL-62666-master' of git://github.com/junpataleta/moodle 2019-02-11 09:49:08 +01:00
Andrew Nicols f7eaa3c3dc Merge branch 'MDL-64597-master' of git://github.com/junpataleta/moodle 2019-02-11 16:36:00 +08:00
Jun Pataleta 1636578bd6 Merge branch 'MDL-64488-master' of git://github.com/damyon/moodle 2019-02-11 16:05:53 +08:00
Jun Pataleta c18f59e155 Merge branch 'MDL-64644_master' of git://github.com/markn86/moodle 2019-02-11 15:29:04 +08:00
Andrew Nicols 232906959a Merge branch 'MDL-64393' of https://github.com/timhunt/moodle 2019-02-11 15:11:20 +08:00
Shamim Rezaie 0bd93fe52a MDL-63134 mod_chat: Check if the module is visible to the user 2019-02-11 16:08:59 +11:00
Shamim Rezaie 46b495fdc4 MDL-63134 mod_chat: Add userid param to mod_chat calendar callbacks 2019-02-11 16:08:54 +11:00
Jun Pataleta 91425ec00d Merge branch 'MDL-64684-master' of git://github.com/andrewnicols/moodle 2019-02-11 11:40:26 +08:00
Mark Nelson 46014b8343 MDL-64093 core: added new 'messagingdefaultpressenter' setting 2019-02-11 09:47:40 +08:00
Andrew Nicols 207ffaf14e Merge branch 'MDL-63825' of https://github.com/mkassaei/moodle 2019-02-11 09:36:07 +08:00
AMOS bot be70cb84e2 Automatically generated installer lang files 2019-02-10 00:10:08 +00:00
Adrian Perez 03f88d71ed MDL-64563 theme_boost: Add page site admin category name word-break 2019-02-09 20:14:41 +01:00
Tim Hunt 822b4abb1e MDL-64242 qtype_essay: more efficient query in restore code
Thanks to Juan Ibarra for the suggestion that lead to this fix.
2019-02-08 15:52:44 +00:00
M Kassaei 6bafb66c34 MDL-63825 Quiz: convert quiz repaginate.js from YUI to AMD 2019-02-08 15:50:45 +00:00
Luca Bösch 9cdda19851 MDL-64606 templates: Show & instead of &amp; in url-select. 2019-02-08 13:24:25 +01:00
Juan Leyva b5d889be10 MDL-64281 core: Always allow frame embedding in the app
The Moodle app must be allowed to embed content always.
2019-02-08 11:14:09 +01:00
Jun Pataleta 694513e2fe weekly release 3.7dev 2019-02-08 14:54:30 +08:00
Andrew Nicols e2477aa382 Merge branch 'MDL-63880-master' of git://github.com/Chocolate-lightning/moodle 2019-02-08 12:36:22 +08:00
Mathew May 298133d638 MDL-63880 core_course: Change core no-course template.
Added two templates back in that define what string to use in the two affected blocks.
2019-02-08 12:31:11 +08:00
Damyon Wiese 86dc15f26c MDL-64806 theme_boost: Do not label "More" icon
The icon is next to the text that says the same thing. Hide it from screenreaders.
2019-02-08 09:36:25 +08:00
Peter 286631e7c0 MDL-64238 mod_quiz: Check enrollment on calendar_action generator
* Updated unit tests to account for participants
2019-02-08 06:40:52 +08:00
Juan Leyva 355c37b8c7 MDL-64653 webservice: Return current theme in get_site_info WS 2019-02-07 15:41:23 +01:00
Juan Leyva 289b79992b MDL-64791 messages: Bring back 'messagecontactrequests' message 2019-02-07 12:06:41 +01:00
Eloy Lafuente (stronk7) fc414a2577 Merge branch 'MDL-62680-master' of git://github.com/damyon/moodle 2019-02-07 10:23:39 +01:00
Anthony Ales 428db95dfb MDL-48338 forum: Missing #unread in discussion post url
When a user user selects the unread messages link from the forum
discussion page, the link does not include '#unread' in the url.
This patch appends '#unread' to the url by changing the appropriate
value in the reference link assigned to $out within the function
forum_cm_info_view() of the 'lib.php'file.

A similar change is on the forum index.
2019-02-07 15:16:13 +08:00
Jun Pataleta ece030ede1 Merge branch 'MDL-64337-master-fix1' of git://github.com/damyon/moodle 2019-02-07 14:59:45 +08:00
eWallah c172d58769 MDL-64633 behat: fix FormatterNotFoundException when updating steps. 2019-02-07 14:56:13 +08:00
Andrew Nicols c882a45f10 Merge branch 'MDL-63880-master' of git://github.com/Chocolate-lightning/moodle 2019-02-07 13:53:53 +08:00
Mathew May a29135f883 MDL-63880 core_course: Move common templates to core_course
Remove repeated templates from myoverview, recentlyaccessedcourse &
starredcourses blocks.
2019-02-07 13:45:12 +08:00
Peter Eliyahu Kornfeld 78ef2ac1e0 MDL-60459 core_course: set default for 'visibleoncoursepage' 2019-02-07 10:52:34 +08:00
Damyon Wiese ef96eb02fb MDL-62680 output: Only hide icons with no label
For accessibility we don't want to read an icon with a label immediately next to the label,
but in this case it's clearer for the icon to have no alt text / title for both
screen readers and non-screen readers. Worse is not reading important information just
because it's displayed as an icon.
2019-02-07 10:08:19 +08:00
Damyon Wiese 7a5669557c MDL-64377 assign: Behat test fix
The behat assumed that after editing a submission, the next page would be the assignment
front page even though we were previously on the "view all submissions" page. The extra
step to go back to the "view all submissions" page is no longer needed so has been removed.
2019-02-07 09:33:52 +08:00
Eloy Lafuente (stronk7) 4b38f761c1 Merge branch 'MDL-64507-v2' of git://github.com/danmarsden/moodle 2019-02-07 01:24:30 +01:00
Eloy Lafuente (stronk7) 84f0b32317 Merge branch 'MDL-64577-master' of https://github.com/lucaboesch/moodle 2019-02-07 00:45:28 +01:00
Damyon Wiese 74f6a5d482 MDL-64507 assign: Behat test "Hide grader identity"
Test that you can't see the identity of the grader even on previous attempts.
2019-02-07 12:16:46 +13:00
Dan Marsden 5600faa466 MDL-64507 mod_assign: check grader visibility for previous submissions. 2019-02-07 12:14:56 +13:00
Eloy Lafuente (stronk7) 28f7d52523 Merge branch 'MDL-64551-master' of git://github.com/rezaies/moodle 2019-02-06 23:44:35 +01:00
Eloy Lafuente (stronk7) 255e815d19 Merge branch 'MDL-64469-master' of https://github.com/lethevinh/moodle 2019-02-06 22:53:23 +01:00
Eloy Lafuente (stronk7) 7dc5cae795 Merge branch 'MDL-64454-master' of https://github.com/sammarshallou/moodle 2019-02-06 22:26:44 +01:00
Eloy Lafuente (stronk7) 89da3f67e4 Merge branch 'MDL-64071-master' of https://github.com/UniGe/moodle 2019-02-06 17:56:59 +01:00
Eloy Lafuente (stronk7) 2b180d54ef Merge branch 'MDL-63148-master' of git://github.com/peterRd/moodle 2019-02-06 13:28:21 +01:00
Eloy Lafuente (stronk7) c94dbc411f Merge branch 'MDL-63614_M37v1' of https://github.com/sbourget/moodle 2019-02-06 13:19:01 +01:00
Jun Pataleta d264253bd4 Merge branch 'MDL-63967' of git://github.com/stronk7/moodle 2019-02-06 16:59:16 +08:00
Mihail Geshoski c81a1509e2 MDL-63417 lesson: Re-apply class variable to the question response 2019-02-06 14:56:06 +08:00
Mark Nelson 1f2ff1b110 MDL-64788 core_message: removed unused temporary page 2019-02-06 13:55:48 +08:00
Jun Pataleta 933f48b4a3 Merge branch 'MDL-61405-master' of git://github.com/damyon/moodle 2019-02-06 13:12:49 +08:00
Damyon Wiese 77f31a47dd MDL-61405 assign: Multiple pdfs are expected
In the same page it is normal (expected) to have multiple links to different annotated pdfs.

In the grading page, we also abort pending ajax progress when the current user is changed.
2019-02-06 09:38:59 +08:00
Damyon Wiese c0417b04ff MDL-53346 competencies: Show user learning plans
On the course competencies page, show the user their learning plans
that contain each of the course competencies.
2019-02-06 08:33:55 +08:00
Eloy Lafuente (stronk7) 64c3b5078f Merge branch 'MDL-63516-master' of https://github.com/dmitriim/moodle 2019-02-06 00:15:58 +01:00
Eloy Lafuente (stronk7) 9cadc0eeb6 Merge branch 'MDL-60432-master' of git://github.com/andrewnicols/moodle 2019-02-06 00:11:27 +01:00
Eloy Lafuente (stronk7) f706dabd50 Merge branch 'MDL-63785-master' of git://github.com/rezaies/moodle 2019-02-06 00:04:14 +01:00
Dmitrii Metelkin 301783d94e MDL-63516 groups: fix unexpected debugging message 2019-02-06 09:21:26 +11:00
Sara Arjona 34c6d98fd7 Merge branch 'MDL-62893_master' of https://github.com/mfabriczy/moodle 2019-02-05 20:06:21 +01:00
Eloy Lafuente (stronk7) 9fed2066ca Merge branch 'MDL-50793-master-2' of git://github.com/mihailges/moodle 2019-02-05 16:14:26 +01:00
Eloy Lafuente (stronk7) f570437a7f Merge branch 'MDL-61441' of https://github.com/timhunt/moodle 2019-02-05 16:11:58 +01:00
Jun Pataleta b5add8b43d Merge branch 'MDL-64632_master' of git://github.com/markn86/moodle 2019-02-05 22:41:20 +08:00
cescobedo 00b4f9e234 MDL-64714 core_auth: Fix early break foreach in delete_data_for_user 2019-02-05 12:51:34 +01:00
Eloy Lafuente (stronk7) e6d28cbb40 Merge branch 'MDL-64377-master' of git://github.com/damyon/moodle 2019-02-05 12:46:01 +01:00
Marcus Fabriczy f5d1dbb37f MDL-62893 mod: Grade visibility bug in the Outline/Complete reports
Grades that have been hidden will appear in the outline/complete
report - even if the user is a student.

The modules that have been fixed are:
* mod_assign
* mod_data
* mod_forum
* mod_glossary
* mod_lesson
* mod_scorm
* mod_workshop
2019-02-05 20:01:32 +10:30
Jun Pataleta 2d2404e328 Merge branch 'MDL-43385-master' of git://github.com/junpataleta/moodle 2019-02-05 16:37:20 +08:00
Jun Pataleta 1a3a3ef2c4 MDL-43385 booktool_print: Remove unused $titles array 2019-02-05 16:33:33 +08:00
Mihail Geshoski 8cf64176a7 MDL-43385 booktool_print: Improve print output 2019-02-05 16:10:31 +08:00
Peter 8c16d50e40 MDL-64450 mod_lesson: Update the css for lesson forms
* Reduce the width for the mediaplugin when displayed in forms
* Correct the css to exclude mediaplugin when applying styles
2019-02-05 12:53:37 +08:00
Damyon Wiese 37fc47f17d MDL-64377 assign: Allow remove submission
Calls each submission plugin to remove the data for a submission.
2019-02-05 11:54:49 +08:00
Mihail Geshoski 854f6116f3 MDL-50793 mod_book: Display hidden chapters to teachers 2019-02-05 09:46:48 +08:00
Mihail Geshoski b5bce42cca MDL-50793 mod_book: Update behat tests 2019-02-05 09:46:08 +08:00
Eloy Lafuente (stronk7) 8564438abc Merge branch 'MDL-61535-master' of git://github.com/andrewnicols/moodle 2019-02-05 01:34:31 +01:00
Eloy Lafuente (stronk7) 89b1f3ac95 Merge branch 'wip-MDL-64404-master' of https://github.com/Beedell/moodle 2019-02-05 01:28:54 +01:00
Eloy Lafuente (stronk7) 77017d1138 Merge branch 'MDL-62973-master' of git://github.com/junpataleta/moodle 2019-02-05 00:08:02 +01:00
Eloy Lafuente (stronk7) 3901fd74ba Merge branch 'MDL-64649-master' of https://github.com/felicemcc/moodle 2019-02-04 16:35:22 +01:00
Dani Palou 468ee73bba MDL-64761 assign: Add tests for hidden grader in WS 2019-02-04 15:29:47 +01:00
Dani Palou 208e1376be MDL-64761 assign: Return grader -1 when hidden in get_submission_status 2019-02-04 15:29:47 +01:00
Eloy Lafuente (stronk7) 9ee3b3d1df Merge branch 'MDL-63975-master' of git://github.com/damyon/moodle 2019-02-04 13:21:37 +01:00
Damyon Wiese fd7472370a MDL-62008 output: Help icon text is escaped
The argument to render the pix_icon template from the help_icon template should not
be escaped, they will be escaped by the pix_icon template when it generates the HTML.
2019-02-04 13:28:28 +08:00
Mark Nelson fc2664501b MDL-64632 core_message: fixed PHP error when users are deleted from DB 2019-02-04 12:36:22 +08:00
Damyon Wiese c59eef8ee0 MDL-62465 assign: Allow grade scrolling
Remove the custom override that disables no-overflow in the grading table. This page is better to use
when the grading table is scrollable and the controls around it are not scrollable.
2019-02-04 11:40:06 +08:00
Damyon Wiese 4444c45df8 MDL-62465 grade: scrolling CSS
Grading pages have their own special javascript to force "fixed" headers
when scrolling a large table. They rely on the entire page being scrolled,
not just the main region.
2019-02-04 11:40:06 +08:00
Damyon Wiese a3a157ae01 MDL-62465 CSS: scrolling tables
Tables displayed inside a flex box container need position:relative to
calculate their size or they cause incorrect scrollable regions to appear in the page.
2019-02-04 11:40:05 +08:00
Jun Pataleta 9b0cb96d42 MDL-64725 composer: Use lowercase for package name of dev dependencies 2019-02-04 09:37:35 +08:00
Sara Arjona 2f2b0bfc61 Merge branch 'MDL-63578-master' of git://github.com/damyon/moodle 2019-02-01 13:31:31 +01:00
Eloy Lafuente (stronk7) b762ed9552 MDL-63967 libs: some filter_var() filters are deprecated with php73
The explicit usage of the constants FILTER_FLAG_SCHEME_REQUIRED and
FILTER_FLAG_HOST_REQUIRED is now deprecated; both are implied for
FILTER_VALIDATE_URL anyway.
2019-02-01 11:56:05 +01:00
M Kassaei 5179a01ab6 MDL-64646 drag-drop questions: improve editing forms
Users were getting confused between choice numbers and
group numbers. So choice numbers now show as [[1]] to
match what appears in the question text. Groups are now
letters A, B, ...
2019-02-01 10:20:08 +00:00
David Monllaó a36ce71185 MDL-64694 report_insights: Remove unnecessary cell classes 2019-02-01 09:09:59 +01:00
Luca Bösch cfac07f283 MDL-64577 grade: style "Add ID numbers" button. 2019-02-01 07:10:18 +01:00
David Monllao b9249eb3d8 MDL-64500 tool_analytics: No invalid analysables message 2019-02-01 06:58:55 +01:00
Damyon Wiese 37910f5e9c MDL-55211 js: form/showadvanced yui to amd 2019-02-01 09:35:12 +08:00
Damyon Wiese 5ac7838e3c MDL-45151 assign: Add anonymous flag to events if blindmarking 2019-02-01 09:12:48 +08:00
Jun Pataleta a62e275984 weekly release 3.7dev 2019-02-01 08:56:54 +08:00
Jun Pataleta ab1ffc8fcf Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-02-01 08:56:53 +08:00
Eloy Lafuente (stronk7) f385378b43 Merge branch 'MDL-64737-master-attoprivacysql' of git://github.com/mudrd8mz/moodle 2019-01-31 22:45:37 +01:00
Sara Arjona 479c681443 MDL-62514 form: Add missing data-tags attribute
The data-tags=1 attribute was missing for the autocomplete forms
without suggestions.
2019-01-31 13:50:00 +01:00
David Mudrák 599abfac00 MDL-64737 editor_atto: Fix the privacy export_user_data() implementation
Multiple issues fixed:

* Fixed order of the statements to avoid access to undefined variables.
* Fixed population of the SQL query parameter to make sure they match
  the placeholder in the query.
* Fixed missing table aliases in the second query to make sure the query
  actually works as expected.
2019-01-31 12:28:52 +01:00
David Mudrák c5dde62e18 MDL-64737 privacy: Fix privacy provider testsuite file names
Only files ending with "_test.php" suffix are implicit part of a
testsuite. So these two were not actually executed.
2019-01-31 11:31:57 +01:00
Felice Candilio c4ddf40612 MDL-64649 amd: Removing underscores from icons in [Roles/Groups] forms 2019-01-31 10:55:53 +01:00
Damyon Wiese 13543706a5 MDL-63975 assign: Fix error when there is no grader 2019-01-31 13:09:06 +08:00
Damyon Wiese a6ca1ebe92 MDL-64200 atto_media: Improve behat test
By setting the window size before the modal dialogs are opened, we will get
consistent behaviour when interacting with the modal.
2019-01-31 11:51:46 +08:00
Damyon Wiese ff9a0f8289 MDL-63578 assign: Better page titles
Use the context function get_context_name() to set the page title. This will
change it from "Assignment" to "C1: Important foods to eat".

The get_context_name() for activity modules is updated to include the course short name (not the
name of the activity type).
2019-01-31 10:47:24 +08:00
Eloy Lafuente (stronk7) 0efd3c19b4 Merge branch 'MDL-64320_master' of git://github.com/dmonllao/moodle 2019-01-31 00:24:53 +01:00
Eloy Lafuente (stronk7) 8eb26c2c4a Merge branch 'MDL-64521' of https://github.com/timhunt/moodle 2019-01-30 23:48:48 +01:00
Eloy Lafuente (stronk7) 0c715afea2 Merge branch 'MDL-62514-master' of git://github.com/andrewnicols/moodle 2019-01-30 22:58:13 +01:00
Claude Vervoort 25ad68293c MDL-64730 LTI Adv: do not ignore 0 score 2019-01-30 16:18:22 -05:00
Eloy Lafuente (stronk7) 62b942a510 MDL-64528 core_completion: new cap version bump 2019-01-30 21:23:15 +01:00
Eloy Lafuente (stronk7) 6ada5b713b Merge branch 'MDL-64528-master' of https://github.com/mackensen/moodle 2019-01-30 21:21:26 +01:00
Sara Arjona f59f689e29 Merge branch 'master' of https://github.com/kristian-94/moodle 2019-01-30 19:08:59 +01:00
Sara Arjona d5cd071777 Merge branch 'MDL-64123_master' of https://github.com/marxjohnson/moodle 2019-01-30 17:46:03 +01:00
Juan Leyva cf0cad920c MDL-64444 mod_assign: Use correct permissions for context locking
Some WebServices does not use the correct permissions.
This mean that when a context is locked, they don't behave as expected.
2019-01-30 15:07:58 +01:00
Sara Arjona 1d792fa982 Merge branch 'MDL-47247-master' of git://github.com/mihailges/moodle 2019-01-30 14:02:48 +01:00
Juan Leyva 9b8aed89d8 MDL-64026 course: Return content summary information via WS 2019-01-30 12:40:25 +01:00
David Monllao e0c889978f MDL-64320 analytics: Validate discrete indicators separately 2019-01-30 12:11:08 +01:00
Eloy Lafuente (stronk7) 4e77949bc3 MDL-46881 forum: whitespace fix (and related phpdocs completed) 2019-01-30 11:24:00 +01:00
Eloy Lafuente (stronk7) 7b683564dc Merge branch 'MDL-46881-master' of git://github.com/andrewnicols/moodle 2019-01-30 11:12:21 +01:00
Sara Arjona 9396da6964 Merge branch 'MDL-64190' of https://github.com/paulholden/moodle 2019-01-30 10:25:33 +01:00
Sara Arjona e042dc5395 Merge branch 'MDL-64566_master' of git://github.com/markn86/moodle 2019-01-30 09:31:56 +01:00
Sara Arjona f0919712ba Merge branch 'MDL-64143-master' of https://github.com/ryanwyllie/moodle 2019-01-30 09:22:23 +01:00
Andrew Nicols cd029f936d MDL-46881 forum: Only skip post, not discussion 2019-01-30 10:55:48 +08:00
Andrew Nicols ba1a8ef782 MDL-46881 forum: Adjust limits for tasks 2019-01-30 10:55:48 +08:00
Andrew Nicols b51b696927 MDL-46881 core: Allow adhoc tasks to be rescheduled 2019-01-30 10:55:48 +08:00
Andrew Nicols 4129d898f7 MDL-46881 forum: Tidy up trace variables 2019-01-30 10:55:48 +08:00
Ryan Wyllie dea0c9dcdf MDL-64143 message: make message drawer contacts bold 2019-01-30 08:58:57 +08:00
Andrew Nicols bebb976b99 MDL-62514 behat: Inplace editable pendingjs wrapper 2019-01-30 08:24:32 +08:00
Andrew Nicols aac98ca7df MDL-62514 behat: Remove potentially conflicting names from description 2019-01-30 08:24:32 +08:00
Andrew Nicols f98a300dd8 MDL-62514 behat: Add additional autocomplete validation 2019-01-30 08:24:32 +08:00
Andrew Nicols e994dea0b3 MDL-62514 behat: Rewrite handling of autocomplete
This includes a minor restructure of the autocomplete JS to make use of
promises and improve tracking of pending JS.

In particular it improves the way in which throttled text input is
handled to ensure that the behat does not continue until:
- typing is fully complete; and
- all possible ajax requests have been sent; and
- all possible ajax requests complete; and
- the suggestions are updated.

A number of conditions existed where behat would move on to the next
step too early in a race condition effect between Behat and Autocomplete.
2019-01-30 08:24:32 +08:00
Andrew Nicols 7bfb575f63 MDL-62514 behat: Add a wait_for_pending_js to form field 2019-01-30 08:24:32 +08:00
AMOS bot a591e6c294 Automatically generated installer lang files 2019-01-30 00:10:07 +00:00
Andrew Nicols 0dc54176dd MDL-46881 forum: Mark posts as ready properly 2019-01-30 07:48:38 +08:00
Andrew Nicols af48d8bdd6 MDL-46881 forum: Defer post visibility check to send time 2019-01-30 07:48:38 +08:00
Andrew Nicols c0284ccbc6 MDL-46881 forum: Ensure that there are posts to remove 2019-01-30 07:48:38 +08:00
Andrew Nicols b231aabb2d MDL-46881 mod_forum: Remove unused functions
Note: I have not applied the deprecation policy to these functions as
they are extremely core to the cron functionality and were never
intended to be used outside of cron.
2019-01-30 07:48:38 +08:00
Andrew Nicols 4459ad290d MDL-46881 mod_forum: Move cron around 2019-01-30 07:48:38 +08:00
Andrew Nicols 28fd710f84 MDL-46881 core_task: Add a logging trait 2019-01-30 07:48:38 +08:00
Eloy Lafuente (stronk7) 3679f3b3b7 Merge branch 'MDL-64424-master-expiredfrontpage' of git://github.com/mudrd8mz/moodle 2019-01-29 23:47:05 +01:00
Eloy Lafuente (stronk7) aa612f259e Merge branch 'MDL-64464' of https://github.com/timhunt/moodle 2019-01-29 19:40:14 +01:00
Sara Arjona b594c853b9 Merge branch 'MDL-64144-master' of https://github.com/ryanwyllie/moodle 2019-01-29 16:08:10 +01:00
Sara Arjona 21a43e5508 Merge branch 'MDL-63168_master' of git://github.com/markn86/moodle 2019-01-29 13:00:47 +01:00
Sara Arjona d067783f2b Merge branch 'MDL-64313-master' of git://github.com/damyon/moodle 2019-01-29 12:35:31 +01:00
Sara Arjona f07949c0c9 Merge branch 'MDL-61623-master' of git://github.com/damyon/moodle 2019-01-29 11:20:08 +01:00
Damyon Wiese 82e8a0ef36 MDL-61623 accessibility: Use role, not aria-role 2019-01-29 13:40:10 +08:00
Mihail Geshoski a124355646 MDL-47247 mod_folder: Apply site config when showexpanded is not set 2019-01-29 08:58:14 +08:00
Sara Arjona c85b7b3a93 Merge branch 'MDL-62668-master' of git://github.com/jleyva/moodle 2019-01-28 19:42:13 +01:00
Sara Arjona e07bafff8d Merge branch 'MDL-64414-master' of https://github.com/serlachner/moodle 2019-01-28 15:37:57 +01:00
Binh Thai 658bf9d554 MDL-64291 GDPR export: Context paths can be very long, not unique 2019-01-28 19:49:09 +07:00
Sara Arjona 91f514eafa Merge branch 'MDL-56604-master' of git://github.com/damyon/moodle 2019-01-28 13:32:38 +01:00
Sara Arjona 4fd91cf43b Merge branch 'MDL-31852-master' of git://github.com/peterRd/moodle 2019-01-28 12:44:44 +01:00
Sara Arjona fae2eb85e1 Merge branch 'MDL-63378-master' of git://github.com/damyon/moodle 2019-01-28 11:37:58 +01:00
cescobedo cd03a6fe88 MDL-61575 message_notification: replace lp/dialogue with core/modal 2019-01-28 10:33:25 +01:00
Sara Arjona 28c9c6c5bf Merge branch 'MDL-54804_master' of https://github.com/mfabriczy/moodle 2019-01-28 10:20:56 +01:00
Sara Arjona 98cfe1f923 Merge branch 'master_MDL-64124' of https://github.com/danmarsden/moodle 2019-01-28 09:56:47 +01:00
Dan Marsden 89ab980681 MDL-64124 block_ilp: Remove unused capability. 2019-01-28 10:22:20 +13:00
Garrett Boone 00a11f40f2 MDL-64640 feedback: Fix target link on deletion 2019-01-27 18:12:42 +08:00
Kristian Ringer 26a6b74d6e MDL-64700 block_recentlyaccessedcourses: don't escape course names 2019-01-25 10:19:03 +11:00
Eloy Lafuente (stronk7) 0e1e1e5586 weekly release 3.7dev 2019-01-24 15:12:25 +01:00
Eloy Lafuente (stronk7) a4d2f5c6d8 NOBUG: Fixed SVG browser compatibility 2019-01-24 15:12:23 +01:00
Eloy Lafuente (stronk7) daf2f65019 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-01-24 15:12:22 +01:00
Sara Arjona cabdadf328 MDL-64324 core_form: reference in upgrade.txt to randomly id on forms 2019-01-24 09:49:27 +01:00
Shamim Rezaie 029d3b471b MDL-52132 qbehaviour_manualgraded: no change when comment is left blank 2019-01-24 16:20:01 +08:00
Damyon Wiese 3c4fd88193 MDL-56604 assign: Group submission status
On the page listing all assignments for the course,
show the status of the group submission if teamsubmissions is enabled
for the assignment.
2019-01-24 14:33:54 +08:00
Jun Pataleta 7c2b9ffcf6 MDL-64597 behat: Properly import behat_util when dropping parallel sites 2019-01-24 12:50:29 +08:00
Andrew Nicols dbcd255570 MDL-64684 javascript: Do not minify jQuery+requireJS in dev mode 2019-01-24 09:28:21 +08:00
Damyon Wiese 7219f590f3 MDL-64493 completion: Manual completion Ally
Do not use duplicate title attributes on buttons, use aria-live to force the correct state to be
read after clicking on a button.
2019-01-24 08:36:08 +08:00
Damyon Wiese 5689bb93e9 MDL-64488 output: User picture Ally
Do not include alt and title for a user picture if it is hidden from screen readers.

Use aria-hidden to properly hide the image from screen readers.
2019-01-24 08:31:49 +08:00
Eloy Lafuente (stronk7) caa0383ae5 Merge branch 'MDL-64240-master' of git://github.com/mickhawkins/moodle 2019-01-24 00:56:42 +01:00
Eloy Lafuente (stronk7) 20ef705577 Merge branch 'MDL-62963-master' of git://github.com/damyon/moodle 2019-01-24 00:35:37 +01:00
Eloy Lafuente (stronk7) 5a9195d922 Merge branch 'MDL-64211-master' of git://github.com/damyon/moodle 2019-01-24 00:31:54 +01:00
Eloy Lafuente (stronk7) 5dda368407 Merge branch 'MDL-64324-master-fix' of https://github.com/marinaglancy/moodle 2019-01-23 23:12:47 +01:00
Eloy Lafuente (stronk7) b16bb49192 MDL-60913 search: fix unit test expectation. Default is core-other 2019-01-23 23:02:41 +01:00
Eloy Lafuente (stronk7) 9bc4dc79cb Merge branch 'MDL-60913-search-tabs-master' of https://github.com/dmitriim/moodle 2019-01-23 18:55:47 +01:00
Juan Leyva d8035d9391 MDL-62668 mod_workshop: Return feedback for reviewer in assessment phase
Teachers were not able to view the existing feedback.
2019-01-23 18:07:51 +01:00
Eloy Lafuente (stronk7) 57cab1436b Merge branch 'MDL-64609-master' of git://github.com/merrill-oakland/moodle 2019-01-23 18:05:26 +01:00
Marina Glancy 48f9ebcd62 MDL-64324 question: do not expect form id to be mform1 2019-01-23 17:37:52 +01:00
Andrew Nicols 1717604fa0 MDL-64640 usertours: Fix target link on deletion 2019-01-23 21:33:02 +08:00
Mark Sharp b01c4194ff MDL-64391 core_analytics: courseextendednamedisplay 2019-01-23 10:40:11 +00:00
David Mudrák 5f7b528281 MDL-64424 privacy: Use system context purpose on the front page, too
For activities on the site's front page, use the purpose and retention
periods as defined for the system context, not for the courses.
2019-01-23 11:13:10 +01:00
Sara Arjona 324c4f0556 Merge branch 'MDL-64107-master' of git://github.com/damyon/moodle 2019-01-23 10:18:52 +01:00
Mark Nelson ed6ac4634a MDL-64644 completion: fixed assertions in privacy test 2019-01-23 17:12:04 +08:00
Mark Nelson 6ff8d31434 MDL-64644 completion: set status correctly in provider 2019-01-23 17:11:49 +08:00
Jake Dallimore e69017267f Merge branch 'MDL-59986-master' of https://github.com/danielneis/moodle 2019-01-23 16:03:26 +08:00
Mark Nelson aaf7228fb4 MDL-64644 completion: ensure we return array for provider 2019-01-23 13:41:20 +08:00
Mark Nelson 05aa320bd2 MDL-63168 core_message: added unit test 2019-01-23 13:23:33 +08:00
eWallah 7ef5409b1b MDL-63168 core_message: fix failures in migrate_message_data task. 2019-01-23 12:45:40 +08:00
Eric Merrill d64e545a36 MDL-64609 gradebook: Prevent infinite loop in regrading 2019-01-22 21:40:12 -05:00
Jake Dallimore b028dc05b8 Merge branch 'MDL-52132-master' of git://github.com/rezaies/moodle 2019-01-23 09:20:27 +08:00
Dmitrii Metelkin e9074ee381 MDL-60913 search: add search area categories 2019-01-23 10:28:43 +11:00
Eloy Lafuente (stronk7) 44e34419ab Merge branch 'MDL-63870' of https://github.com/timhunt/moodle 2019-01-23 00:09:27 +01:00
Eloy Lafuente (stronk7) b48f694a69 Merge branch 'MDL-64465' of https://github.com/timhunt/moodle 2019-01-22 23:59:38 +01:00
Eloy Lafuente (stronk7) f7ff96c24f Merge branch 'MDL-64412-master' of https://github.com/snake/moodle 2019-01-22 23:46:45 +01:00
Eloy Lafuente (stronk7) f12f3840dd Merge branch 'MDL-64629-master' of git://github.com/sarjona/moodle 2019-01-22 19:00:31 +01:00
Eloy Lafuente (stronk7) 59776faf6f Merge branch 'MDL-64441-master' of git://github.com/sarjona/moodle 2019-01-22 18:49:07 +01:00
Shamim Rezaie bc15800927 MDL-64521 groups: add more unit tests
These tests were created for MDL-64526, just before MDL-64521 came along
and removed the buggy code. These are good tests, so they are being
kept.
2019-01-22 16:42:38 +00:00
Tim Hunt a73fa10678 MDL-64521 grouplib: reduce memory use in groups_get_all_groups
This avoids loading multiple copies of g.* when $withmembers is true
2019-01-22 16:42:18 +00:00
Eloy Lafuente (stronk7) fd0f5da874 Merge branch 'master_MDL-64237' of https://github.com/danmarsden/moodle 2019-01-22 17:18:52 +01:00
Sara Arjona 507d7ec1e8 Merge branch 'MDL-64324-master' of https://github.com/marinaglancy/moodle 2019-01-22 15:53:36 +01:00
Sara Arjona 0bf5dd4de4 Merge branch 'MDL-63480-master' of git://github.com/mihailges/moodle 2019-01-22 15:18:22 +01:00
Justus Dieckmann 8516febdd7 MDL-58256 group: prevents users to be added to a group twice 2019-01-22 12:57:29 +01:00
Sara Arjona 7d4a9008fa Merge branch 'MDL-63628-master' of git://github.com/damyon/moodle 2019-01-22 12:19:41 +01:00
Sara Arjona 1daf9e60ac Merge branch 'MDL-48971-master' of https://github.com/lucaboesch/moodle 2019-01-22 12:02:24 +01:00
Sara Arjona eca13fde9c Merge branch 'MDL-63573-master' of https://github.com/lucaboesch/moodle 2019-01-22 11:54:04 +01:00
Sara Arjona 3f64d5baee Merge branch 'MDL-64486-master' of git://github.com/peterRd/moodle 2019-01-22 08:23:03 +01:00
Michael Hawkins c41d36fa6b MDL-63892 mod_forum: Updating lib unit test 2019-01-22 13:50:47 +08:00
Peter 197efffd95 MDL-31852 mod_lesson: Allow html tag in lesson's pages 2019-01-22 12:24:15 +08:00
Peter acbe1256d2 MDL-32096 core_report: Remove duplicate filters in reports
* Remove duplicate filters from activity completion and course completion report pages
2019-01-22 12:12:17 +08:00
Jake Dallimore e404c97e5d Merge branch 'MDL-57898-master-fix-2' of git://github.com/junpataleta/moodle 2019-01-22 09:47:05 +08:00
Jun Pataleta 3c7bf4ea88 MDL-57898 core: Bump $lastmajordbchanges to trigger upgrade immediately 2019-01-22 09:36:15 +08:00
Damyon Wiese 2fbd00cb22 MDL-63628 accessibility: Trigger file links with keyboard 2019-01-22 08:39:49 +08:00
AMOS bot 88bc8aafd5 Automatically generated installer lang files 2019-01-22 00:09:50 +00:00
Eloy Lafuente (stronk7) ccd71e418c Merge branch 'MDL-63623-master' of https://github.com/dmitriim/moodle 2019-01-21 23:53:06 +01:00
Luca Bösch 8df785f9e9 MDL-63573 core_user: remove 'With selected users...' help icon. 2019-01-21 21:54:21 +01:00
Sara Arjona 98c16decde Merge branch 'MDL-63958-master' of git://github.com/jleyva/moodle 2019-01-21 15:17:53 +01:00
Sara Arjona f09d14ee45 Merge branch 'MDL-64201-master' of https://github.com/lucaboesch/moodle 2019-01-21 14:05:55 +01:00
David Mudrák c5944a1d57 MDL-64553 message: Add index for the notifications.useridfrom field
The useridfrom would normally be a foreign key to the users table. But
it can also contain some extra negative values with special semantics
(-10 or -20 for no-reply or support user). Therefore we can't make it a
foreign key and the index must be created explicitly.
2019-01-21 12:57:11 +01:00
Michael Hawkins 014fe0ad0f MDL-63892 mod_forum: Fix last post details in forum view 2019-01-21 16:40:04 +08:00
Michael Hawkins 6cab66bbe3 MDL-63892 mod_forum: Correction to timestamp added to edit strings 2019-01-21 16:40:04 +08:00
Sara Arjona 4c7cf19c27 Merge branch 'MDL-64339-master' of git://github.com/abgreeve/moodle 2019-01-21 09:34:22 +01:00
Jun Pataleta 0cd5b1652d MDL-62973 auth_shibboleth: Delete unused print_idp_list() function
This is only being used by the now-deleted login_form.html. No point
keeping it.
2019-01-21 16:05:39 +08:00
Jun Pataleta 6e4985bf0f MDL-62973 auth_shibboleth: Make login form look nicer
* Convert login form to a mustache template
* Bring logic in auth/shibboleth/login.php
* Replace usage of $_POST variable with optional_param()
* Remove unused index_form.html
2019-01-21 16:05:39 +08:00
Jake Dallimore f50a87f8e5 Merge branch 'MDL-28445-master' of git://github.com/peterRd/moodle 2019-01-21 15:58:30 +08:00
Jun Pataleta 0716019c19 Merge branch 'MDL-57898-master-fix-2' of git://github.com/junpataleta/moodle 2019-01-21 15:55:10 +08:00
Jun Pataleta 2f61fe976c MDL-57898 customfield: Set the handler's parent context in course_create 2019-01-21 15:46:33 +08:00
Jun Pataleta 7eeae1a63e MDL-62666 course: Only set the groups setting to true when necessary
* Plus update the comment to be more descriptive.
2019-01-21 13:56:23 +08:00
Jake Dallimore fa25f170b6 MDL-64323 tool_dataprivacy: fix erroneous version number 2019-01-21 13:50:41 +08:00
Jake Dallimore d950fdedae Merge branch 'MDL-64323' of https://github.com/KietChan/moodle 2019-01-21 13:43:50 +08:00
Andrew Hancox 1877ae79f2 MDL-62666 course: Ignore restore_general_groups on activity duplication 2019-01-21 11:40:57 +08:00
Mihail Geshoski bed5439216 MDL-63480 reports: Fix name filters in completion reports 2019-01-21 09:23:25 +08:00
Jake Dallimore 85e62192f2 Merge branch 'MDL-60972-master_delete_section_files' of https://github.com/awagner/moodle 2019-01-21 08:51:48 +08:00
Tim Hunt d387f50fcd MDL-64590 questions: wrong comments shown in the state history table 2019-01-18 18:00:42 +00:00
Jun Pataleta c01388f713 Merge branch 'MDL-57898-master' of git://github.com/marinaglancy/moodle 2019-01-18 22:21:23 +08:00
Sara Arjona 527ba1a848 MDL-64629 theme_clean: Remove underscore near the help icon 2019-01-18 14:31:53 +01:00
Marina Glancy d1fc4bdc1e MDL-57898 core_customfield: strings and other minor fixes 2019-01-18 14:28:24 +01:00
Marina Glancy bbf60b1412 MDL-57898 core_customfield: coding style fixes 2019-01-18 14:28:24 +01:00
Marina Glancy c1e15d20e0 MDL-57898 core_course: display course custom fields in course listings
This commit is part of work on Custom fields API,
to minimize commit history in moodle core the work of a team of developers was split
into several commits with different authors but the authorship of individual
lines of code may be different from the commit author.
2019-01-18 14:28:24 +01:00
Daniel Neis Araujo 5af9aa6341 MDL-57898 core_course: backup/restore support for course custom fields
This commit is part of work on Custom fields API,
to minimize commit history in moodle core the work of a team of developers was split
into several commits with different authors but the authorship of individual
lines of code may be different from the commit author.
2019-01-18 14:28:24 +01:00
Daniel Neis Araujo 028ed12228 MDL-57898 core_course: global search for course custom fields
This commit is part of work on Custom fields API,
to minimize commit history in moodle core the work of a team of developers was split
into several commits with different authors but the authorship of individual
lines of code may be different from the commit author.
2019-01-18 14:28:24 +01:00
David Matamoros 7a0162f17a MDL-57898 core_course: add custom fields support to courses
This commit is part of work on Custom fields API,
to minimize commit history in moodle core the work of a team of developers was split
into several commits with different authors but the authorship of individual
lines of code may be different from the commit author.
2019-01-18 14:28:18 +01:00
Ruslan Kabalin 493e7526f9 MDL-57898 core_customfield: Custom fields API
This commit is part of work on Custom fields API,
to minimize commit history in moodle core the work of a team of developers was split
into several commits with different authors but the authorship of individual
lines of code may be different from the commit author.
2019-01-18 14:28:18 +01:00
Marina Glancy 0e367a119c MDL-57898 core_customfield: Custom fields API
This commit is part of work on Custom fields API,
to minimize commit history in moodle core the work of a team of developers was split
into several commits with different authors but the authorship of individual
lines of code may be different from the commit author.
2019-01-18 14:28:18 +01:00
Daniel Neis Araujo 01c1095954 MDL-57898 core_customfield: Custom fields API
This commit is part of work on Custom fields API,
to minimize commit history in moodle core the work of a team of developers was split
into several commits with different authors but the authorship of individual
lines of code may be different from the commit author.
2019-01-18 14:28:17 +01:00
David Matamoros 0446fee7a9 MDL-57898 core_customfield: Custom fields API
This commit is part of work on Custom fields API,
to minimize commit history in moodle core the work of a team of developers was split
into several commits with different authors but the authorship of individual
lines of code may be different from the commit author.
2019-01-18 14:28:10 +01:00
Sara Arjona 3009dcb803 Merge branch 'MDL-64360-master' of https://github.com/lucaboesch/moodle 2019-01-18 14:09:50 +01:00
Sara Arjona b577f30b8e Merge branch 'MDL-62968-master' of git://github.com/mickhawkins/moodle 2019-01-18 12:38:14 +01:00
Amaia Anabitarte 696bdd636d MDL-64385 user: Case insensitive comparison for email domains 2019-01-18 10:06:27 +01:00
Toni Barberà Melià 1eeb465a0c MDL-57898 core_customfield: Custom fields API
This commit is part of work on Custom fields API,
to minimize commit history in moodle core the work of a team of developers was split
into several commits with different authors but the authorship of individual
lines of code may be different from the commit author.
2019-01-18 09:02:30 +01:00
Luca Bösch df0a2e21dd MDL-64360 mod_assign: Add help icon to notify students checkbox. 2019-01-18 00:02:49 +01:00
Luca Bösch c233d7a2fa MDL-64201 graphics: Unflag and flag quiz question SVG images. 2019-01-18 00:02:42 +01:00
Luca Bösch def68a4344 MDL-48971 groups: Add "Description" label to hovered group description. 2019-01-17 23:54:24 +01:00
Marcus Boon f33a614ec6 MDL-64599 phpunit: Fix typo in arraydataset 2019-01-18 07:07:25 +10:00
Tim Hunt cdfee883aa MDL-63870 quiz: new preview should abandon, not finish, current attempt 2019-01-17 17:55:12 +00:00
Daniel Neis Araujo d6f7480d02 MDL-59986 enrol: database sync as scheduled task 2019-01-17 15:33:11 -02:00
Eloy Lafuente (stronk7) c092f75791 weekly release 3.7dev 2019-01-17 17:47:53 +01:00
Eloy Lafuente (stronk7) 4c966647ba NOBUG: Fixed SVG browser compatibility 2019-01-17 17:47:51 +01:00
Andreas Wagner d5ef685249 MDL-60972 core_course: delete section files, when section is deleted. 2019-01-17 08:04:13 +01:00
Peter f5503c1161 MDL-28445 mod_glossary: Use compound strings as opposed to anglicised
* Use compound strings on buttons to help with proper translations
* Updated behat tests
2019-01-17 10:58:04 +08:00
Jake Dallimore 849e657b06 Merge branch 'MDL-49399-master' of git://github.com/andrewnicols/moodle 2019-01-17 08:22:37 +08:00
Andrew Nicols 987d112340 MDL-49399 task: Remove hardcoded LIMIT 2019-01-17 08:02:24 +08:00
Eloy Lafuente (stronk7) 7a5da322b2 Merge branch 'MDL-64347-master' of git://github.com/andrewnicols/moodle 2019-01-16 23:53:59 +01:00
Eloy Lafuente (stronk7) 98b845bd59 Merge branch 'MDL-64359-master' of git://github.com/andrewnicols/moodle 2019-01-16 19:05:30 +01:00
Eloy Lafuente (stronk7) 3d8a771d09 Merge branch 'MDL-63103' of https://github.com/NeillM/moodle 2019-01-16 19:02:21 +01:00
Sara Arjona 32c863f276 Merge branch 'MDL-63916-master' of git://github.com/damyon/moodle 2019-01-16 15:33:08 +01:00
Sara Arjona fda676957d Merge branch 'MDL-63620-master' of git://github.com/junpataleta/moodle 2019-01-16 14:15:10 +01:00
Sara Arjona 2a2fa61025 Merge branch 'MDL-64134-master' of git://github.com/ryanwyllie/moodle 2019-01-16 13:06:57 +01:00
Andrew Nicols 23d6756256 MDL-64347 task: Add restrictions to scheduled task runner 2019-01-16 17:20:25 +08:00
Andrew Nicols 24bfd53c73 MDL-64347 task: Add restrictions to adhoc task runner 2019-01-16 17:20:25 +08:00
Jake Dallimore 6e683cd2d2 Merge branch 'MDL-49399-master' of git://github.com/andrewnicols/moodle 2019-01-16 15:56:40 +08:00
Sara Arjona c13387eeff Merge branch 'MDL-64166-master' of https://github.com/ryanwyllie/moodle 2019-01-16 08:48:29 +01:00
Kiet.Chan 81eb8b2bbc MDL-64323 GDPR: New request form user search not using configured fields 2019-01-16 13:34:53 +07:00
Andrew Nicols cca12f68d0 MDL-49399 core: Allow creation of a new per-request basedir
Shutdown handlers are processed in order. If something in a shutdown
handler uses a file which is stored in a per-request directory, and
another, unrelated, per-request directory was created before the handler
started. then a fresh per-request directory will be required.
2019-01-16 12:14:25 +08:00
Andrew Nicols 251ee97c35 MDL-49399 tool_task: Link to log viewer
This commit also adds the fa-file-text icon from font-awesome.
2019-01-16 12:14:25 +08:00
Andrew Nicols 8c69e86cd4 MDL-49399 task: Add admin log viewer
AMOS BEGIN
 CPY [eventstarttime,core_calendar],[task_starttime,core_admin]
 CPY [eventduration,core_calendar],[task_duration,core_admin]
 CPY [result,core_cache],[task_result,core_admin]
 CPY [database,install],[task_dbstats,core_admin]
 CPY [fail,install],[task_result:failed,core_admin]
AMOS END
2019-01-16 12:14:25 +08:00
Andrew Nicols 4b71596fc9 MDL-49399 task: Add task logging API 2019-01-16 12:14:25 +08:00
Eloy Lafuente (stronk7) 4f4e987cdb Merge branch 'MDL-63607-master' of git://github.com/andrewnicols/moodle 2019-01-16 00:36:59 +01:00
Sara Arjona ce5ca79ba5 Merge branch 'MDL-64346-master' of git://github.com/abgreeve/moodle 2019-01-15 15:38:12 +01:00
Adrian Greeve b70c364a7f MDL-64346 mod_resource: Fix problems with # in file name. 2019-01-15 14:24:13 +01:00
Sara Arjona a27dbff41c Merge branch 'MDL-64171-master' of git://github.com/bmbrands/moodle 2019-01-15 13:54:50 +01:00
Sara Arjona 1557d7a8df Merge branch 'MDL-64425-master' of git://github.com/lameze/moodle 2019-01-15 13:20:47 +01:00
Sara Arjona fae8345e3b Merge branch 'MDL-64432_master' of git://github.com/gjb2048/moodle 2019-01-15 12:57:22 +01:00
Sara Arjona 74a6abc6bb Merge branch 'MDL-62439-master' of https://github.com/lucaboesch/moodle 2019-01-15 12:02:05 +01:00
Sara Arjona 64afd81e0b Merge branch 'MDL-63881-master' of https://github.com/lucaboesch/moodle 2019-01-15 11:37:07 +01:00
Andrew Nicols f93e2c5c1e MDL-52132 core_question: Comment is different if format has changed 2019-01-15 18:56:12 +11:00
Shamim Rezaie 305d2716f6 MDL-52132 qbehaviour_manualgraded: unit test for changing comment format 2019-01-15 18:56:03 +11:00
Andrew Nicols af540d426d MDL-49399 task: Add task log table 2019-01-15 07:56:20 +08:00
Andrew Nicols 702123a1dd MDL-49399 core: Add ability to specify a header col 2019-01-15 07:55:36 +08:00
Eloy Lafuente (stronk7) 8a2936f5fd Merge branch 'MDL-63677-master' of git://github.com/sarjona/moodle 2019-01-14 23:03:51 +01:00
sam marshall ff13ae5906 MDL-64454 Admin: Configuration option for cron frequency warning
This change makes the warning time (default 200 seconds) configurable
in config.php.
2019-01-14 17:07:37 +00:00
sam marshall b18034ed67 MDL-64454 Admin: Warning if cron does not run frequently
There is an existing warning if cron doesn't run at all (hasn't run
for 24 hours). This commit adds a warning if cron hasn't run for 3
minutes, based on the recommendation that cron should run every
minute.
2019-01-14 17:07:36 +00:00
Sara Arjona 0f1377cc31 Merge branch 'MDL-60082-master' of git://github.com/damyon/moodle 2019-01-14 12:03:06 +01:00
Damyon Wiese 65834189e9 MDL-64570 accessibility: purpose login fields
Provide the autocomplete attribute and username / current-password values to username
and password fields in login forms.

https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html
2019-01-14 16:16:34 +08:00
Shamim Rezaie 98e019455e MDL-64551 core_question: Fix double ampersand escaping in tag button 2019-01-14 18:21:41 +11:00
Jun Pataleta c617a7271a MDL-63620 group: Option to enable group messaging for imported groups 2019-01-14 13:31:23 +08:00
Jun Pataleta e5e5b37749 MDL-63620 group: Option for group messaging when auto-creating groups 2019-01-14 13:29:42 +08:00
Mark Nelson 4cec9fca96 MDL-64566 core_message: removed unnecessary DB call 2019-01-14 09:45:38 +08:00
Charles Fulton 7868aab181 MDL-64528 core_completion: prevent toggling completion in frozen context 2019-01-12 07:37:21 -08:00
Paul Holden 1cd62f2bc8 MDL-64190 mod_quiz: use password unmask config element.
Also created required admin setting class for creating unmask password
elements with an 'advanced' checkbox control.
2019-01-11 15:11:24 +00:00
Paul Holden 1a36b8b5aa MDL-64190 search_solr: use password unmask config elements. 2019-01-11 15:11:24 +00:00
Davo Smith 223fc57d27 MDL-64552 admin: use hideIf instead of disabledIf (where appropriate) 2019-01-11 11:27:33 +00:00
Tim Hunt a44065edaa MDL-61441 accesslib: get_users_by_capability groups perf improvement 2019-01-11 11:26:41 +00:00
Tim Hunt e5153d93c0 MDL-64393 drag-drop qtypes: be more robust when page layout changes 2019-01-11 11:25:13 +00:00
Tim Hunt 096a5b9949 MDL-64464 drag-drop qtypes: allow <span lang=".."> id draggables
This is for accessibility, so that screen readers can read the drag
items with correct pronunciation.
2019-01-11 11:13:11 +00:00
Tim Hunt c942cad763 MDL-64465 qtypes: fix incorrect context passed to format_string 2019-01-11 11:12:24 +00:00
Sara Arjona c654e35007 MDL-63677 core_user: Avoid redirection during signup
Purge cache just for the current user to avoid redirection when 2
simultaneous users try to sign up at the same time and some policy
has to be agreed.
The 'createduser' invalidation event has been removed also because
is not used any more.
Thanks John Azinheira for spotting it!
2019-01-11 10:20:59 +01:00
Neill Magill 1b43c84980 MDL-63103 filebrowser: Speed up finding activities with files
Before this change the query examined at every course_module record in
the context table.

With this change we use the course_modules table to more efficiently
find all the activities in the course, which means that many less
records in the context table need to be examined.
2019-01-11 08:58:39 +00:00
VinhLe 2ea8fbb0bd MDL-64469 Question bank: Change link questions in category question.
Make it easier to navigate from the category list to the questions in a category.
2019-01-11 11:28:49 +07:00
VinhLe 26208463fe MDL-64031 enrol_manual: Fix hard-coded list of user fields.
Respect get_extra_user_fields() in PHP code
2019-01-11 11:24:15 +07:00
Peter cea8e2763b MDL-64238 mod_lesson: Check enrollment calendar_action generator
* Updated unit tests to account for participants
2019-01-11 07:56:18 +08:00
Luca Bösch 3b2f691f62 MDL-63881 tool_dataprivacy: 'Contact the privacy officer' profile link. 2019-01-10 22:19:26 +01:00
Luca Bösch 1bfed23bf5 MDL-62439 output: Debugstringids in overlay windows. 2019-01-10 22:18:50 +01:00
Sara Arjona 4c5b60a0f9 weekly release 3.7dev 2019-01-10 17:51:25 +01:00
Sara Arjona 51df6c5a47 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-01-10 17:51:23 +01:00
Jake Dallimore 2336493501 Merge branch 'MDL-64004-master' of git://github.com/damyon/moodle 2019-01-10 10:59:56 +08:00
AMOS bot 9f463258d9 Automatically generated installer lang files 2019-01-10 00:08:34 +00:00
Marcus Fabriczy e49603cb5c MDL-54804 templates: Prevent posting when no option is selected
When no value is set for an option element and a user selects it, a
POST request is made, which is incorrect. Usually that option is a
placeholder value, e.g., "Choose..." - the form expecting the end user
to choose an actual value.
2019-01-10 09:04:25 +10:30
Eloy Lafuente (stronk7) dbe8fe303b Merge branch 'MDL-64479' of https://github.com/timhunt/moodle 2019-01-09 23:33:36 +01:00
Sara Arjona c2fc318d4e Merge branch 'MDL-64043-master' of git://github.com/ryanwyllie/moodle 2019-01-09 17:55:34 +01:00
Eloy Lafuente (stronk7) a887977cba Merge branch 'MDL-63686-master' of git://github.com/andrewnicols/moodle 2019-01-09 12:36:09 +01:00
Andrew Nicols 889b585b29 MDL-63686 core: recordset => records when fetching contexts 2019-01-09 19:08:08 +08:00
Tim Hunt d434dd7ae7 MDL-64479 dd-qtypes: fix questions with non-consecutive groups 2019-01-09 10:18:19 +00:00
Jake Dallimore 111dfd2db5 Merge branch 'MDL-64375-master' of git://github.com/damyon/moodle 2019-01-09 15:33:09 +08:00
Damyon Wiese f13f5ab7f6 MDL-62143 accessibility: Label breadcrumbs 2019-01-09 15:14:04 +08:00
Andrew Nicols 8cd02f0c51 Merge branch 'MDL-62550-master-2' of https://github.com/snake/moodle 2019-01-09 15:09:00 +08:00
Jake Dallimore f68426d1fb Merge branch 'MDL-64345-master' of https://github.com/s-cenni/MDL-64345 2019-01-09 14:13:38 +08:00
Jake Dallimore 0dd2bca8ef MDL-62550 core_privacy: remove theme specific js from retention js
Now that we've fixed the element ids, we no longer need a selector for
each theme. The same selector will work for all themes, whether they be
bs2 or b24 based.
2019-01-09 11:34:28 +08:00
Jake Dallimore e6f068722d MDL-62550 core_theme: remove unused #fgroup_ and #fitem_ rules
These ids didn't exists in form elements in Boost until now, so we'll
remove the rules to prevent them having any effect now.
2019-01-09 11:34:28 +08:00
Jake Dallimore 574861588a MDL-62550 core_form: bring back the form item unique ids to fix js fails
This id matches the id seen on the clean theme elements and is needed by
the forms js.
2019-01-09 11:34:26 +08:00
Jake Dallimore f49e93d406 Merge branch 'MDL-63761-master' of git://github.com/damyon/moodle 2019-01-09 09:05:38 +08:00
Eloy Lafuente (stronk7) 3dd0251dd4 Merge branch 'MDL-64285-master' of git://github.com/junpataleta/moodle 2019-01-09 00:09:15 +01:00
Andrew Nicols b22cb349ed Merge branch 'MDL-64409' of git://github.com/stronk7/moodle 2019-01-09 06:58:34 +08:00
Andrew Nicols 2b1f1abde3 Merge branch 'MDL-24951' of git://github.com/stronk7/moodle 2019-01-09 06:41:00 +08:00
Andrew Nicols a1b1892ed9 Merge branch 'MDL-64426' of git://github.com/stronk7/moodle 2019-01-09 06:37:55 +08:00
Eloy Lafuente (stronk7) c7f9834e29 MDL-64426 core_message: fix context::instance_by_id() wrong use 2019-01-08 23:01:52 +01:00
Eloy Lafuente (stronk7) 644d0e2d97 MDL-24951 mod_forum: Apply new string to related scenarios
Plus amend an scenario name that was clearly incorrect.
2019-01-08 16:51:36 +01:00
Michael Hawkins 6360f87cdc MDL-64395 groups: Added XSS Risk to the manage groups capability 2019-01-08 16:24:48 +01:00
Michael Hawkins 14f9bad3ce MDL-64372 userpix: Escape fullname string on userpix index page 2019-01-08 16:24:48 +01:00
Sara Arjona 502650a3e2 MDL-64222 badge: Removed backpackurl from the edit_form 2019-01-08 16:24:48 +01:00
Eloy Lafuente (stronk7) 2c4463bf0f Merge branch 'MDL-64509-master-enfix' of git://github.com/mudrd8mz/moodle 2019-01-08 16:17:06 +01:00
Eloy Lafuente (stronk7) 5e57176a91 Merge branch 'MDL-64474-master-2' of git://github.com/junpataleta/moodle 2019-01-08 16:10:44 +01:00
Andrew Nicols bbf4a7f38b Merge branch 'MDL-58596-master' of git://github.com/vmdef/moodle 2019-01-08 16:14:58 +08:00
Andrew Nicols 50466ac4e4 Merge branch 'MDL-64426-master-2' of https://github.com/snake/moodle 2019-01-08 15:58:40 +08:00
Jake Dallimore e66e867f6e MDL-64426 core_message: fix filter support in api::get_conversations()
Conversation name and subname should support filters, so the data should
be passed through format_string, and advertised in the external params
as PARAM_TEXT.
2019-01-08 15:50:43 +08:00
Leon Stringer 8f402dbc66 MDL-58596 core_stats: fixed infinite loop cause by DST change 2019-01-08 07:37:42 +00:00
Víctor Déniz Falcón 5007d1cb04 MDL-58596 core_stats: unit test for stats_get_base_weekly 2019-01-08 07:36:48 +00:00
Jake Dallimore 662371fd65 Merge branch 'MDL-63686-master' of git://github.com/andrewnicols/moodle 2019-01-08 14:37:31 +08:00
Andrew Nicols ccbdced987 MDL-63686 core: Preload parent contexts 2019-01-08 14:11:00 +08:00
Andrew Nicols f0b09fe329 Merge branch 'MDL-24951-master' of git://github.com/Chocolate-lightning/moodle 2019-01-08 13:46:11 +08:00
Andrew Nicols 66f13f8f7f Merge branch 'MDL-64497-master' of https://github.com/sammarshallou/moodle 2019-01-08 12:25:34 +08:00
Andrew Nicols 024b5c5b9f Merge branch 'MDL-63722-master' of git://github.com/rezaies/moodle 2019-01-08 12:04:19 +08:00
Andrew Nicols 8feef7308a Merge branch 'MDL-64400-master' of git://github.com/aanabit/moodle 2019-01-08 08:27:06 +08:00
Andrew Nicols 792267c3b4 Merge branch 'MDL-63276' of https://github.com/stronk7/moodle 2019-01-08 06:55:37 +08:00
Eloy Lafuente (stronk7) 11825f1439 Merge branch 'MDL-63809-master-5' of git://github.com/rezaies/moodle 2019-01-07 22:12:45 +01:00
David Mudrák a92458880c MDL-64509 lang: Use the fixed strings in tests 2019-01-07 20:07:57 +01:00
Helen Foster 65d70aa81b MDL-64509 lang: Import fixed English strings (en_fix)
Significant string change: enablerunnow_desc,tool_task - including
mention of pathtophp requirement
2019-01-07 14:40:34 +01:00
Sara Arjona cb7b59941f Merge branch 'MDL-64419-master' of git://github.com/bmbrands/moodle 2019-01-07 14:10:36 +01:00
Andrew Nicols 3311321660 Merge branch 'MDL-57636_master' of https://github.com/dasistwas/moodle 2019-01-07 13:45:04 +08:00
Jake Dallimore a5d2ad5dfc Merge branch 'MDL-64348-master' of git://github.com/ryanwyllie/moodle 2019-01-07 12:08:31 +08:00
Ryan Wyllie c77ba4890a MDL-64348 javascript: change template loading to a buffer
Changed the template loading to buffer the requests for templates
so that they can be sent in batches to the server to save large
volumes of network requests.
2019-01-07 09:03:06 +08:00
Ryan Wyllie 2b92891a88 MDL-64348 javascript: change template loading to also load dependencies
Changed the getTemplate function in templates.js to use the
core_output_load_template_with_dependencies function to load the
requested template and all of the dependencies required to render it.

The dependencies are added to the relevant caches so that when the
template is rendered they aren't re-requested from the server.
2019-01-07 09:03:06 +08:00
Ryan Wyllie fbbed5c603 MDL-64348 javascript: add cache_strings to str.js
Added a function to allow a set of strings to be added to the
str.js caches if they've been loaded outside of that module.
2019-01-07 09:03:06 +08:00
Ryan Wyllie e0034b5da6 MDL-64348 template: add load_template_with_dependencies external func 2019-01-07 09:03:06 +08:00
Dmitrii Metelkin d00f04fd53 MDL-63623 admin_cli: add a script to uninstall plugins 2019-01-07 10:58:30 +11:00
David Bogner 8b9fc06993 MDL-57636 frontpage: Fix display enrolled courses 2019-01-04 11:18:47 +01:00
Ryan Wyllie 0664130b88 MDL-64348 templates: add mustache_template_source_loader class 2019-01-04 15:38:27 +08:00
Ryan Wyllie dc10aa06d9 MDL-64166 message: reduce size of conversation counts in overview 2019-01-04 12:12:54 +08:00
Ryan Wyllie 13d09efb8e MDL-64144 message: show message date in message search results 2019-01-04 11:43:04 +08:00
Damyon Wiese 9a4c6a245c MDL-64375 gradingform_rubric: Styles for overflow
Allow people to define lots of levels, and make the scroll region just the rubric table,
not the entire content region.
2019-01-04 08:44:10 +08:00
sam marshall fc570e6699 MDL-64497 GDPR: moodle_content_writer can cause endless loop
Fixes a buggy function by replacing it with a call to file_get_contents,
and adds error detection on a couple of file accesses.
2019-01-03 16:54:38 +00:00
Jake Dallimore 87bf7fa912 Merge branch 'MDL-49651-master' of git://github.com/Chocolate-lightning/moodle 2019-01-03 10:45:07 +08:00
Peter bcb6549edb MDL-64486 mod_glossary: Add missing separator for special links 2019-01-03 08:33:59 +08:00
Eloy Lafuente (stronk7) a12207be25 MDL-63276 upgrade: clean < 3.2.0 upgrade steps
3.7 (min PHP 7.1) requires 3.2 (first version supporting PHP 7.1)

This just deletes all the upgrade steps previous to 3.2.0. Some
small adjustments, like adding missing MOODLE_INTERNAL or tweaking
globals can also be applied when needed.

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

Next commit will get rid of/deprecate all the upgradelib functions
not used anymore in codebase. (note there isn't any this time).
2019-01-03 01:17:17 +01:00
Eloy Lafuente (stronk7) f580d20adf MDL-63276 travis support: Bump to PHP 7.1 required 2019-01-03 01:17:17 +01:00
Eloy Lafuente (stronk7) 422947e070 MDL-63276 install: PHP min version checker bump to PHP 7.1 2019-01-03 01:17:17 +01:00
Eloy Lafuente (stronk7) 504d1a9cc0 MDL-63276 environment: PHP 7.1 and Moodle 3.2 required 2019-01-03 01:12:50 +01:00
Jake Dallimore a3a6e3c905 MDL-64412 core_message: remove ordering code from message_search_users()
This code is no longer needed as get_member_info() now respects the
ordering of the $userids param.
2019-01-02 15:21:07 +08:00
Jake Dallimore 9e6734a790 MDL-64412 core_message: get_member_info() respects provided ordering
This change makes sure the function returns the member information in
the same order as those users provided in the $userids param.
2019-01-02 15:21:06 +08:00
Peter 538603b200 MDL-63148 mod_scorm: Accept userid param in event action
* Update lib scorm functions to accept and use a passed in userid
* Additional phpunit tests
2019-01-02 14:32:59 +08:00
Michael Hawkins 341070d5b3 MDL-62968 Boost: Adding editor SCSS support 2019-01-02 13:35:19 +08:00
Damyon Wiese 091365330a MDL-63761 grade: Performance fix for regrading
Don't use a separate variable to count the number of items in finalids.
2019-01-02 10:23:20 +08:00
Dan Marsden 1240b3f2e7 MDL-64237 mod_scorm: Remove large unused index from scorm_scoes_track 2018-12-31 12:46:56 +13:00
Eloy Lafuente (stronk7) f37f00be53 MDL-63276 environment: 3.7 base information
This is a direct copy of the 3.6 branch to
have changes under control easier in next commits.
2018-12-30 18:05:30 +01:00
Jun Pataleta e2b812fc40 MDL-64474 auth_oauth2: Properly update user profile data
* Updating of user profile data from OAuth2 issuer should only be
performed for fields that can be synced externally (fields defined in
\auth_plugin_base::$userfields)
* Only update user profile data for users which use OAuth2 as their
default authentication mechanism.
2018-12-28 16:52:37 +08:00
Amaia Anabitarte 0f38e62970 MDL-64400 core_messages: Mark notifications sent via email as read 2018-12-27 09:15:53 +01:00
Amaia Anabitarte 57afd82ab0 MDL-64400 core_messages: Allow cron to delete unread notifications too 2018-12-27 09:15:53 +01:00
Mathew 0dbe9025b5 MDL-24951 mod_forum: Check user capability to know what message to show.
If the user has the following capabilty: mod/forum:canposttomygroups then show them
the more technical of the strings. Otherwise we use something a bit easier for them to ask their
tutor or teacher about.
2018-12-24 09:15:34 +08:00
Mathew 299dc536aa MDL-49651 mod_forum: Respect course visibility in cron
This checks the courses' current visibility and the users permissions.
If they have the permission to view the course when it is hidden they'll get messages.

We already have checks for the users enrolled & subscription status.
2018-12-24 09:11:15 +08:00
Gareth Barnard fc9ce45cca MDL-64432 theme_bootstrapbase: Favourites myoverview icon tooltip. 2018-12-21 11:34:42 +00:00
Sara Arjona 706c8d1936 MDL-64441 badges: Remove notice when language is empty 2018-12-20 16:20:05 +01:00
Eloy Lafuente (stronk7) 91165842db MDL-64409 behat: Update master to use 3.37.0 behat extension tag 2018-12-20 12:28:17 +01:00
Adrian Greeve 38a1b4f203 weekly release 3.7dev 2018-12-20 11:09:10 +01:00
Adrian Greeve c10e9970e1 NOBUG: Fixed SVG browser compatibility 2018-12-20 11:09:08 +01:00
Adrian Greeve 03573e1a58 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2018-12-20 11:09:07 +01:00
Andrew Nicols 13bd9babb4 Merge branch 'MDL-64038-master' of git://github.com/bmbrands/moodle 2018-12-20 13:53:51 +08:00
Andrew Nicols 4617420250 Merge branch 'MDL-63512-master' of git://github.com/peterRd/moodle 2018-12-20 13:03:31 +08:00
Peter 94dafd0c06 MDL-63512 mod_lesson: Update the lesson css to exclude mediaplugin div 2018-12-20 12:49:10 +08:00
Andrew Nicols bf197c166c Merge branch 'MDL-62223-master' of git://github.com/Kathrin84/moodle 2018-12-20 11:32:50 +08:00
Andrew Nicols 116b7c089a MDL-58855 glossary: Remove behat logout line 2018-12-20 10:27:57 +08:00
Andrew Nicols 1cd08af7f4 Merge branch 'MDL-58855-master' of git://github.com/peterRd/moodle 2018-12-20 10:26:24 +08:00
Mark Johnson 7672471236 MDL-64123 webservices: Add valueused to completion data 2018-12-19 16:26:35 +00:00
Stephen Bourget 3e42942d73 MDL-63614 badges: Add COMPLETION_FAIL support to badge criteria 2018-12-19 10:16:51 -05:00
Adrian Greeve 21fc1b9682 Merge branch 'MDL-64392-master' of git://github.com/bmbrands/moodle 2018-12-19 12:02:43 +01:00
Jun Pataleta 43db4e9c56 Merge branch 'MDL-61767-master' of git://github.com/andrewnicols/moodle 2018-12-19 18:36:21 +08:00
Andrew Nicols c9f2a8c2cf MDL-61767 auth_oauth: Reduce updated fields 2018-12-19 18:15:39 +08:00
Adrian Greeve 7f1fd5000d Merge branch 'MDL-59954-master' of git://github.com/peterRd/moodle 2018-12-19 10:51:42 +01:00
Shamim Rezaie b6ece79d81 MDL-63722 javascript: misinterpret as outside click if DOM is modified 2018-12-19 16:01:09 +11:00
Jake Dallimore 57e94e365e Merge branch 'MDL-64229_master' of git://github.com/markn86/moodle 2018-12-19 11:37:15 +08:00
Peter c8b67bee88 MDL-58855 mod_glossary: Add pending approval identifier glossary
Add a new label to indicate whether a tagged glossary item is pending approval or not
2018-12-19 11:30:27 +08:00
Jake Dallimore a2f6288fa1 Merge branch 'MDL-64216-m' of https://github.com/micaherne/moodle 2018-12-19 11:07:41 +08:00
Jun Pataleta e63084ec1b Merge branch 'MDL-60474-master' of git://github.com/damyon/moodle 2018-12-19 10:14:13 +08:00
Damyon Wiese 064f15033f MDL-60474 assign: Consistent user filters
Use the current filters and sorting on the user grading table in the single
page grading app when it is possible.

This replaces the popover used to configure the filters to one that closely matches the
one from the grading table. It supports standard filters, workflow filters and allocated marker filters.

It will also support group filtering and suspended user filtering but we don't show the controls for those in
the single grading page.
2018-12-19 10:10:23 +08:00
Andrew Nicols 54fbe39ee1 Merge branch 'MDL-63512-master' of git://github.com/peterRd/moodle 2018-12-19 09:48:46 +08:00
Andrew Nicols 0ab2d87c50 Merge branch 'MDL-64061-master-amdload' of git://github.com/mudrd8mz/moodle 2018-12-19 09:10:09 +08:00
Peter 6afbdf2778 MDL-59954 mod_course: Remove file size restriction on D&D on course page
Remove file size restrictions for teachers on course page.
Use user_max_upload_file_size instead of the max_file_size
2018-12-19 08:36:45 +08:00
AMOS bot c80d033f66 Automatically generated installer lang files 2018-12-19 00:08:52 +00:00
Adrian Greeve c6f2f4a64c Merge branch 'MDL-63844-master' of git://github.com/aanabit/moodle 2018-12-18 18:11:38 +01:00
Amaia Anabitarte 26b34c30d3 MDL-63844 enrol: Reordering status_field constructor parameters 2018-12-18 17:57:57 +01:00
Rohan Khajuria 6676f20214 MDL-63844 enrolmentdetails: add time-enrolled field 2018-12-18 17:06:49 +01:00
Adrian Greeve 648afe76f8 Merge branch 'MDL-64025-master' of https://github.com/christianwolters/moodle 2018-12-18 15:58:06 +01:00
Adrian Greeve 1ccaa71b04 Merge branch 'MDL-63794-master-2' of git://github.com/mihailges/moodle 2018-12-18 12:13:35 +01:00
Bas Brands eecff277da MDL-64171 block_myoverview: change course summary view image size
Size reduced from 7rem to 5rem for smaller devices
and for courses without a description.
2018-12-18 10:38:00 +01:00
Stefan Erlachner b1f2b4fdfc MDL-64414 lib/evalmath: add AND, OR functions to evalmath 2018-12-18 09:40:29 +01:00
Michael Hawkins 418831e096 MDL-64240 mod_forum: Clean forum post text before storing
Previously only edited messages were cleaned, so longer strings could
be stored in the database, which would never be displayed.
This update takes into account trusted text before cleaning (as editing does).
2018-12-18 14:10:43 +08:00
Michael Hawkins b6995c29ec MDL-64240 mod_forum: Update word count to use current message length
Previously this used the length of the message stored in the database,
before scripts etc are cleaned to display the content. That resulted
in cases where the count would seem much larger than the message size.
2018-12-18 14:10:43 +08:00
Shamim Rezaie 8e93e515ed MDL-63809 question: handling bad questions in question_has_capability_on 2018-12-18 15:05:37 +11:00
Tim Hunt b195523758 MDL-63809 question bank: ensure question_has_capability_on can be called 2018-12-18 14:54:28 +11:00
Damyon Wiese 1879a74ed7 MDL-60082 assign: Grading worksheet with no grade
If the grade type is NONE - do not include the maxgrade column.
2018-12-18 11:12:17 +08:00
Jake Dallimore 1c30321e7f Merge branch 'MDL-64309_master' of git://github.com/markn86/moodle 2018-12-18 11:11:23 +08:00
Jake Dallimore 78f8d05e1c Merge branch 'master_MDL-49673' of git://github.com/danmarsden/moodle 2018-12-18 10:51:37 +08:00
Simey Lameze a6243b09f3 MDL-64425 block_timeline: fix incorrect get_string parameter 2018-12-18 10:23:12 +08:00
Andrew Nicols df9f6cbb29 Merge branch 'MDL-63773_assign_hideif' of git://github.com/davosmith/moodle 2018-12-18 09:38:33 +08:00
Dan Marsden 91a2215eea MDL-49673 mod_assign: Tidy up hidegrader patch 2018-12-18 14:33:42 +13:00
Damyon Wiese fd25c7d5f8 MDL-64004 webservice: Do not update accesstime
Do not update the automatically update the course access time when a
course is accessed via a webservice or ajax.
2018-12-18 09:06:07 +08:00
Bas Brands aeb5664d5f MDL-64419 core_message: fix user info in bootstrapbase message drawer
* updated the bootstrapbase template for the messaging conversation menu
info option to match the menu in
"/core_message/message_drawer_view_conversation_header_content_type_private.mustache"
2018-12-17 15:50:27 +01:00
Sara Cenni 607a6ca9d6 MDL-64345 core: Make FB logo upgrade cross-DB compatible 2018-12-17 11:48:30 +01:00
Jun Pataleta 6776651372 Merge branch 'MDL-59629-master' of git://github.com/peterRd/moodle 2018-12-17 15:57:52 +08:00
Andrew Nicols 58049e0a36 MDL-63607 behat: Remove theme from config whitelist 2018-12-17 15:53:53 +08:00
Damyon Wiese 56fb4e81df MDL-62963 boost: Increase contrast btn-secondary
The background colour of these buttons is too light, so they don't look like buttons.
2018-12-17 15:45:49 +08:00
Andrew Nicols 8f65d27593 Merge branch 'MDL-52966_static_cache_core_filetypes_get_types' of https://github.com/enovation/moodle 2018-12-17 15:38:09 +08:00
Andrew Nicols 4542981969 Merge branch 'MDL-60019-master' of git://github.com/peterRd/moodle 2018-12-17 15:34:50 +08:00
Andrew Nicols 05bbf5ab39 Merge branch 'MDL-61633-master' of https://github.com/lucisgit/moodle 2018-12-17 15:28:29 +08:00
Andrew Nicols a59064f60a Merge branch 'MDL-60518-master' of git://github.com/aanabit/moodle 2018-12-17 14:59:22 +08:00
Jun Pataleta 4aa3939581 Merge branch 'MDL-63260' of https://github.com/timhunt/moodle 2018-12-17 14:10:21 +08:00
Damyon Wiese 20e6ece866 MDL-63378 theme_boost: Contrast of menu items
Enforce the :active menu text colour during a mouse click on an action menu.
2018-12-17 14:01:42 +08:00
Mihail Geshoski 6c52667722 MDL-63794 block_myoverview: Display the course category name in block 2018-12-17 13:21:55 +08:00
Mihail Geshoski d657d80db0 MDL-63794 block_myoverview: Add behat tests 2018-12-17 13:21:55 +08:00
Damyon Wiese 22b8fe5eb7 MDL-64107 questions: Increase highlight contrast
When a question has just been edited, it is highlighted. We need to ensure
the colour contrast of text on background is accessible.
2018-12-17 12:35:26 +08:00
Jun Pataleta 31a111b981 Merge branch 'MDL-60008-master' of git://github.com/damyon/moodle 2018-12-17 11:48:45 +08:00
Jake Dallimore 4813015e11 Merge branch 'MDL-62756_master' of https://github.com/miotto/moodle 2018-12-17 11:20:01 +08:00
Andrew Nicols fbde034e29 Merge branch 'MDL-64388-master' of git://github.com/bmbrands/moodle 2018-12-17 09:12:58 +08:00
Christian Wolters d596f5ca6d MDL-64025 admin_bookmarks: Enable bookmarking of admin categories 2018-12-16 15:43:49 +01:00
John Beedell 410a088a91 MDL-64404 qtype: gapselect currency like options dont show 2018-12-14 16:24:43 +00:00
Bas Brands 02955a84d1 MDL-64392 core_question: flexbox compatible separator for question types
* the br tag does not work well in a flexbox context, a 100% with div
works in both clean and boost.
2018-12-14 16:28:36 +01:00
Bas Brands 442f142522 MDL-64038 core_message: add default group image
add default group image to improve the alignment
of group names in the message drawer group messages section
2018-12-14 14:09:28 +01:00
Bas Brands fed67b6784 MDL-64388 core_themes: update docs on new required output method
* Method standard_after_main_region_html was added to the core_renderer
used by the messaging ui to message drawer
2018-12-14 11:25:44 +01:00
Amaia Anabitarte 45cc006c91 MDL-60518 core_competency: Set $USER global variable for tests 2018-12-14 10:28:34 +01:00
Frédéric Massart b91ddd160e MDL-60518 core_user: A user with ID 0 is never a real user 2018-12-14 10:28:34 +01:00
Mirko Otto 5cfd7a7286 MDL-62756 form: Remove any click handler first.
The handler has the old state variable. Remove any click handler first.
2018-12-14 10:26:58 +01:00
Andrew Nicols 3b017210d3 MDL-60432 auth_cas: Update with PR changes 2018-12-14 13:27:14 +08:00
Andrew Nicols 26a07f2ebb MDL-60432 auth_cas: Removed unused file 2018-12-14 13:22:25 +08:00
Fabrice Ménard ddb9b02b05 MDL-60432 auth_cas: Using Identity Providers for Authentication CAS
Using Identity Providers for  Authentication CAS , instead of cas_form.html
2018-12-14 13:06:37 +08:00
Jun Pataleta a4dbc1de80 MDL-64285 core: Skip 64 bits check for 32-bit PHP versions in unit tests 2018-12-14 11:13:40 +08:00
Jun Pataleta c482e6bd51 MDL-64285 core: Fix environment check test
* Looping the environment results and skipping some items mean that
if a test gets skipped, the rest of the environment results won't be
tested. It's better to use a data provider for this in order to
individually test each environment result.
2018-12-14 11:13:40 +08:00
Peter 917a0e282c MDL-59629 mod_block: Set the default region in add_region
Check and update default region in add_region if none set.
2018-12-14 10:29:10 +08:00
Peter a25863a3c0 MDL-63512 mod_lesson: Fix video links provided in feedback 2018-12-14 10:26:00 +08:00
Alex Walker f14afd2936 MDL-49673 mod_assign: option to hide grader 2018-12-14 13:50:06 +13:00
Jake Dallimore 33a388eff7 weekly release 3.7dev 2018-12-14 07:51:42 +08:00
Tony Butler 31e1884de2 MDL-61633 assignfeedback_editpdf: Scroll back to top when changing pages 2018-12-13 12:14:25 +00:00
Olivier Piton 85e81896fc MDL-61535 report_security: SQL Perf improvement 2018-12-13 12:02:23 +08:00
Mark Nelson 9b39f28214 MDL-64229 core_message: ensure profile pic links to profile 2018-12-13 12:01:06 +08:00
Martin Mastny c65dadbcea MDL-61767 auth_oauth2: Updating user fields on successful login 2018-12-13 11:22:36 +08:00
Jake Dallimore 3ec018067a Merge branch 'MDL-62624-master' of git://github.com/mihailges/moodle 2018-12-12 16:13:28 +08:00
Damyon Wiese c85be29355 MDL-63916 backup: Do not display timestamp
Convert the date+time field to a userdate for display.
2018-12-12 12:18:32 +08:00
Jun Pataleta ca6824e284 Merge branch 'MDL-41507-master' of git://github.com/rezaies/moodle 2018-12-12 11:18:02 +08:00
Shamim Rezaie ea191cf1b4 MDL-41507 core_group: Consistent default value for FEATURE_GROUPS 2018-12-12 14:03:45 +11:00
Jake Dallimore bf4205ea78 Merge branch 'MDL-64003-master' of https://github.com/aanabit/moodle 2018-12-12 10:02:55 +08:00
Jake Dallimore 39ac02f424 MDL-63887 auth_ldap: fix unclean exit from sync when users not found
We should return, not exit, and we should clean up before we do.
2018-12-12 09:42:13 +08:00
Jake Dallimore 84e8e17820 Merge branch 'MDL-63887_master' of git://github.com/markn86/moodle 2018-12-12 09:41:34 +08:00
Jake Dallimore f9479eb8ca Merge branch 'MDL-63150-master' of git://github.com/peterRd/moodle 2018-12-12 08:32:16 +08:00
Jake Dallimore 909654806f Merge branch 'MDL-63145-master' of git://github.com/peterRd/moodle 2018-12-12 08:29:40 +08:00
Jake Dallimore fb029c996b Merge branch 'MDL-63147-master' of git://github.com/peterRd/moodle 2018-12-12 08:25:02 +08:00
Peter 73a8110d3a MDL-63145 mod_page: Accept userid param as override
Accept a userid as an override in the lib function instead of
relying on $USER
2018-12-12 07:25:35 +08:00
Peter dcb7662ee7 MDL-63150 mod_url: Accept a userid override in event action
Accept a userid in the event action instead of depending on $USER
2018-12-12 07:13:09 +08:00
Peter 3ff8068fc5 MDL-63147 mod_resource: Accept userid in resource event_action 2018-12-12 07:06:53 +08:00
Tim Hunt 2fbd8e9ec0 MDL-63260 qtype_random: orphaned random questions should be deleted
This fix is based on some original code written by Bo Pierce.
2018-12-11 13:59:13 +00:00
Kathrin Osswald ee6484497b MDL-62223 mod_assign: Improve submission statements 2018-12-11 13:59:10 +01:00
Amaia Anabitarte f8b46dabe8 MDL-64003 core_message: Use sql_like_escape() in message_search_users 2018-12-11 11:52:18 +01:00
Jake Dallimore 85b0a914f0 Merge branch 'MDL-64357_master' of git://github.com/markn86/moodle 2018-12-11 17:43:59 +08:00
Mark Nelson e56eb26aec MDL-64357 ltiservice_gradebookservices: updated unit tests 2018-12-11 17:02:40 +08:00
Claude Vervoort 9d6f9d1d47 MDL-64357 ltiservice_gradebookservices: fix cleanup deleting lineitems 2018-12-11 14:22:49 +08:00
Damyon Wiese c539c67d6b MDL-64313 assign: feedback viewed event
When a student views their submission, if it has feedback create an event.
2018-12-11 14:03:30 +08:00
Jake Dallimore dd202b5e5a Merge branch 'MDL-62922-master' of git://github.com/junpataleta/moodle 2018-12-11 12:50:18 +08:00
Jun Pataleta 796a2d81f1 Merge branch 'MDL-64280-master' of https://github.com/lucaboesch/moodle 2018-12-11 09:54:03 +08:00
Luca Bösch d388e8ecc2 MDL-64280 core_outcome: Add/remove outcome buttons style. 2018-12-10 17:55:35 +01:00
Jun Pataleta 9da570bde0 Merge branch 'MDL-64275-master' of git://github.com/ryanwyllie/moodle 2018-12-10 15:04:01 +08:00
Jun Pataleta 077f144293 Merge branch 'MDL-62061-master' of git://github.com/abgreeve/moodle 2018-12-10 14:47:17 +08:00
Mihail Geshoski 7fed7636a7 MDL-62624 lesson: Fix alignment in matching questions in boost 2018-12-10 13:46:50 +08:00
Shamim Rezaie 29d0db89eb MDL-63785 core_webservice: performance improvement 2018-12-10 14:52:13 +11:00
Shamim Rezaie 66e15651fe MDL-63785 block_rss_client: performance improvement 2018-12-10 14:52:13 +11:00
Shamim Rezaie a6d0837e18 MDL-63785 profilefield_textarea: performance improvement 2018-12-10 14:52:12 +11:00
Shamim Rezaie 1ae48ab484 MDL-63785 profilefield_datetime: performance improvement 2018-12-10 14:52:12 +11:00
Shamim Rezaie 033a061a0a MDL-63785 profilefield_checkbox: performance improvement 2018-12-10 14:52:12 +11:00
Shamim Rezaie 10bbc95e03 MDL-63785 profilefield_text: performance improvement 2018-12-10 14:52:12 +11:00
Shamim Rezaie 2b1efa16da MDL-63785 profilefield_menu: performance improvement 2018-12-10 14:52:12 +11:00
Shamim Rezaie 07bab537a0 MDL-63785 block_community: performance improvement 2018-12-10 14:52:12 +11:00
Shamim Rezaie dfb3677c32 MDL-63785 core_user: performance improvement 2018-12-10 14:52:12 +11:00
Shamim Rezaie 45e6809b1f MDL-63785 repository_onedrive: performance improvement 2018-12-10 14:52:12 +11:00
Shamim Rezaie 6b20a81cb4 MDL-63785 core_repository: performance improvement 2018-12-10 14:52:12 +11:00
Shamim Rezaie d4269920de MDL-63785 block_html : performance improvement 2018-12-10 14:52:12 +11:00
Shamim Rezaie e68a25f395 MDL-63785 auth_oauth2: performance improvement 2018-12-10 14:52:12 +11:00
Shamim Rezaie a246822931 MDL-63785 auth_mnet: performance improvement 2018-12-10 14:52:12 +11:00
Shamim Rezaie 28dfbe77bf MDL-63785 core_portfolio: performance improvement 2018-12-10 14:52:12 +11:00
Shamim Rezaie cb624f41d8 MDL-63785 core_enrol: performance improvement 2018-12-10 14:52:11 +11:00
Shamim Rezaie ab29f4815b MDL-63785 message_airnotifier: performance improvement 2018-12-10 14:52:11 +11:00
Jun Pataleta 0e15a4b92b Merge branch 'MDL-64332' of https://github.com/timhunt/moodle 2018-12-10 09:57:52 +08:00
Peter fa729309c4 MDL-60019 mod_block: Redundant code in block_navigation.php
Remove the redundant code as reported from the mentioned file.
2018-12-10 09:48:00 +08:00
Jake Dallimore 44890bd738 weekly on-sync release 3.7dev 2018-12-10 08:10:39 +08:00
Jake Dallimore ea260b8eb3 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2018-12-10 08:10:39 +08:00
Andrew Nicols 102d6ea352 MDL-64359 core: Respect shutdown handlers on SIG 2018-12-08 17:40:09 +08:00
Adrian Greeve a1b0ac60fe MDL-64339 core_comment: Update comment display to link to profile. 2018-12-07 11:13:16 +01:00
Ryan Wyllie 9acc0bc6ec MDL-64134 message: hide empty sections in search results 2018-12-07 10:56:56 +08:00
Ryan Wyllie e79a79ad83 MDL-64275 message: fix update unread conversation counts 2018-12-07 09:22:24 +08:00
AMOS bot a25c3d3536 Automatically generated installer lang files 2018-12-07 00:09:20 +00:00
Tim Hunt d6388d0acf MDL-64332 questions: idnumber should not prevent easy duplication 2018-12-06 14:41:28 +00:00
Davo Smith 67809990f6 MDL-63773 mod_assign: switch instance form to hideIf 2018-12-06 13:31:45 +00:00
Davo Smith 540a0e23f1 MDL-63773 assignfeedback_comments: switch instance form to hideIf 2018-12-06 13:31:45 +00:00
Davo Smith a029b9aff5 MDL-63773 assignsubmission_file: switch instance form to hideIf 2018-12-06 13:31:45 +00:00
Davo Smith f203fbf9b6 MDL-63773 assignsubmission_onlinetext: switch instance form to hideIf 2018-12-06 13:31:44 +00:00
Adrian Greeve 34adbfe0b1 MDL-62061 core_privacy: Stop directories being created.
This stops directories being created in the root directory
while running unit tests.
2018-12-06 11:25:32 +01:00
papillon326 43dcb956ba MDL-63887 auth_ldap: avoid infinite loop when search limit is reached 2018-12-06 15:39:35 +08:00
papillon326 8707682e3a MDL-63887 auth_ldap: changed variable names to be conform to core 2018-12-06 15:39:35 +08:00
Jun Pataleta 5fd1f89004 Merge branch 'MDL-64283-master' of git://github.com/damyon/moodle 2018-12-06 14:58:01 +08:00
Ryan Wyllie f12864eb0e MDL-64043 message: stop group conversation header re-rendering 2018-12-06 14:51:20 +08:00
Damyon Wiese 3ea40cdb62 MDL-60008 assign: Button height fix
The heights of the buttons to hide/show panels are arbitrarily big. There is not need to set them specifically.
2018-12-06 13:33:21 +08:00
Damyon Wiese 3adea4e265 MDL-60008 assign: editpdf menus
The edit pdf menus are all broken on small screen sizes. They consume 100% of the page with for no reason.
2018-12-06 13:33:21 +08:00
Damyon Wiese 66c262777c MDL-60008 assign: Less z-index
Remove the z-index values from the expand / collapse panels. They cause errors when mixed with dialogues.
2018-12-06 13:33:21 +08:00
Damyon Wiese e3511e7978 MDL-60008 assign: Info messages
Better support for information messages from the conversion process.
2018-12-06 13:33:12 +08:00
Damyon Wiese 86c577093b MDL-60008 assignfeedback_editpdf: Show warnings
When not all files are available in the online pdf, display a warning to graders
that some files must be downloaded.
2018-12-06 12:11:47 +08:00
Damyon Wiese 0888ebc1f9 MDL-60008 assign: Best effort document conversion
Basically we should produce a combined PDF from all the files that it was possible to convert.
If any one submission input file fails conversion, it should just be omitted in the result.
2018-12-06 12:11:47 +08:00
Jake Dallimore c7bd047d24 Merge branch 'MDL-63710-master' of https://github.com/ilya-catalyst/moodle 2018-12-06 11:34:09 +08:00
Jake Dallimore 4f9bb83472 Merge branch 'MDL-46783' of https://github.com/timhunt/moodle 2018-12-06 10:22:57 +08:00
Ilya Tregubov f408e1f888 MDL-63710 repository: Delete orphaned file records. 2018-12-06 12:39:31 +11:00
Jun Pataleta e96eb02e46 Merge branch 'master-MDL-64290-imscc-restore-temp-dir' of https://github.com/mspall/moodle 2018-12-06 08:57:32 +08:00
AMOS bot 2ef4d711e0 Automatically generated installer lang files 2018-12-06 00:07:49 +00:00
Michael Spall f1a22c4a1b MDL-64290 backup imscc: Use correct tempdir for imscc restore
Use configured temp directory $CFG->tempdir instead of hard coded
$CFG->dataroot . '/temp/backup/'
Remove unused variable, $CFG
2018-12-05 10:44:14 -07:00
Tim Hunt ab1272a0da MDL-46783 accesslib: add tests for MDL-63772 and MDL-63818
MDL-46783, MDL-63772 and MDL-63818 were originally coded on the
assumption that MDL-46783 would get integrated first. However it wasn't.
Therefore, it was not easy to add unit tests for MDL-63772 and MDL-63818
at the time, but it is now, so here they are.
2018-12-05 16:44:57 +00:00
Tim Hunt 939218c2b6 MDL-46783 permissions: let some moodle/ caps be overriden in all mods
The capabilities changed ('contextlevel' => CONTEXT_COURSE changed to
'contextlevel' => CONTEXT_MODULE) are:

* moodle/site:accessallgroups
* moodle/site:viewfullnames
* moodle/site:trustcontent
* moodle/site:viewuseridentity

This list came from reviewing the _get_extra_capabilities functions in
all core activities. They were all somewhat inconsistent, but I think it
makes sense that these capabilities are consistently overridable in all
activities. E.g. moodle/site:accessallgroups affects conditional
availability even if there is no other user of groups, and
moodle/site:viewuseridentity and moodle/site:viewfullnames affect the
logs report, if nothing else.

As a result of this, several _get_extra_capabilities functions are no
longer needed, and all the rest have been simplified.
2018-12-05 16:44:25 +00:00
Mark Nelson 0db6fd3603 MDL-64309 core_message: minor string changes to drawer 2018-12-05 18:18:46 +08:00
Jun Pataleta eb1a477635 MDL-62922 core_user: Check auth mechanism before validating password
* External authentication mechanisms (e.g. via oauth2, etc.) don't store
  password in the user table, so we shouldn't be requiring password in
  such case when creating users via the core_user_create_users WS
  function.
2018-12-05 15:29:54 +08:00
Jun Pataleta f8b5fcd304 Merge branch 'MDL-64274-master' of git://github.com/ryanwyllie/moodle 2018-12-05 14:56:21 +08:00
Ryan Wyllie a2bce0d0d8 MDL-64274 message: deleteMessages in message_repository return promise 2018-12-05 14:43:21 +08:00
Jake Dallimore ccf5f09103 Merge branch 'MDL-64198-master' of https://github.com/lucaboesch/moodle 2018-12-05 14:30:16 +08:00
Roger Barras fcebc9b042 MDL-60267 user: Fix set default data for the user profile field 2018-12-05 14:15:48 +08:00
Marina Glancy 4bfcadbaa1 MDL-64324 core_form: randomly generate id attribute on forms
otherwise there are id collisions in forms loaded in AJAX requests
2018-12-04 18:42:05 +01:00
Eloy Lafuente (stronk7) cb7f6a6f99 weekly on-sync release 3.7dev
Amended to keep it on-sync with 3.6.1 emergency release
2018-12-04 17:46:09 +01:00
Luca Bösch c21b42e76a MDL-64198 course: set formatted modulename for togglecompletion js. 2018-12-04 14:35:06 +01:00
Michael Aherne 11361acfb5 MDL-64216 privacy: Split query to use indexes. 2018-12-04 13:01:07 +00:00
Eloy Lafuente (stronk7) 0465a942c3 weekly on-sync release 3.7dev 2018-12-04 13:06:15 +01:00
Jake Dallimore 8108bc0b5e Merge branch 'MDL-63223-master' of git://github.com/bmbrands/moodle 2018-12-04 12:06:13 +08:00
Jun Pataleta a939ad80ba Merge branch 'MDL-64307_master' of git://github.com/markn86/moodle 2018-12-04 12:03:39 +08:00
Mark Nelson 7c8ba89d5e MDL-64307 core_message: do not include disabled conversations in count 2018-12-04 11:48:16 +08:00
Mark Nelson 7bb22a298c MDL-64307 core: set all individual conversations to enabled 2018-12-04 11:45:47 +08:00
Jun Pataleta 6b3931e783 Merge branch 'MDL-64206_master' of git://github.com/markn86/moodle 2018-12-04 10:53:03 +08:00
Damyon Wiese 41c8df2583 Merge branch 'MDL-64286' of https://github.com/timhunt/moodle 2018-12-03 15:46:40 +08:00
Damyon Wiese e67feef907 Merge branch 'MDL-64155-master' of git://github.com/vmdef/moodle 2018-12-03 15:26:08 +08:00
Jake Dallimore 9f79c2dbd6 Merge branch 'MDL-63459' of https://github.com/timhunt/moodle 2018-12-03 14:21:31 +08:00
Mark Nelson 4b0cf053dc MDL-64206 core: updated FB logo URL 2018-12-03 12:20:51 +08:00
Andrew Nicols 0178ee5594 Merge branch 'MDL-64300' of git://github.com/stronk7/moodle 2018-12-03 08:28:06 +08:00
Andrew Nicols feee85a6c1 Merge branch 'MDL-64299' of git://github.com/stronk7/moodle 2018-12-03 07:53:38 +08:00
Eloy Lafuente (stronk7) f47c8f3525 MDL-64300 upgrade: add 3.6.0 separation line to all upgrade scripts 2018-12-02 18:36:40 +01:00
Eloy Lafuente (stronk7) 5471eb1758 MDL-64299 backup: Bump release to 3.7 2018-12-02 18:21:52 +01:00
Eloy Lafuente (stronk7) 2cea0bd6c6 weekly back-to-dev release 3.7dev 2018-12-02 00:25:11 +01:00
Eloy Lafuente (stronk7) 2c608daca7 NOBUG: Change travis.yml back to master 2018-12-02 00:18:46 +01:00
Tim Hunt a3796190a6 MDL-64286 qtype_gapselect: removed unneeded line of code
The extended Behat test show the qtype works fine without it.
2018-11-30 12:33:54 +00:00
Damyon Wiese afd5c94dbf MDL-64283 competency: Correct numbering in tests 2018-11-30 09:30:50 +08:00
Víctor Déniz Falcón 0eac5cf446 MDL-64155 block_recentlyaccessedcourses: considering enrolment status 2018-11-29 15:37:17 +00:00
Victor Deniz fdf2abf871 MDL-64155 core: get_recent_courses considers enrolment status 2018-11-29 15:37:17 +00:00
Víctor Déniz Falcón 87173da483 MDL-64155 core: use favourite API to generate SQL 2018-11-29 15:37:17 +00:00
Bas Brands c8ff3ce496 MDL-63223 theme_boost: flexbox for login pagin footer 2018-11-26 16:06:30 +01:00
Tim Hunt 614077863b MDL-63459 qtype_calculatedmulti: fix incorrect hint object type 2018-11-26 12:52:09 +00:00
Tim Hunt 1e8374c370 MDL-63459 qtype_calculatedmulti: unit test should test this qtype
This also demonstrates the bug to be fixed
2018-11-26 12:49:47 +00:00
Damyon Wiese 263a58338f MDL-64211 badges: Display links to related badges 2018-11-26 14:51:18 +08:00
Marco Ferrante e45c86375a MDL-64071 auth: enhanced diagnostic of LDAP auth config 2018-11-20 13:30:51 +01:00
David Mudrák fcee9eaafa MDL-64061 javascript: Allow js_call_amd() be called without a function
Not all AMD modules need an explicit function call to start working. The
patch makes the function name optional, in which case the js_call_amd()
simply loads the module.
2018-11-16 14:31:57 +01:00
Juan Leyva 34ad1a017e MDL-63958 course: Return raw mimetype apart from description 2018-11-15 14:37:07 +01:00
Tomasz Muras c126a29f5a MDL-52966 core: static cache fix for file types. 2018-07-17 15:37:15 +02:00
4543 changed files with 182201 additions and 108909 deletions
+4 -5
View File
@@ -6,6 +6,7 @@ vendor/
admin/tool/policy/amd/src/jquery-eu-cookie-law-popup.js
admin/tool/usertours/amd/src/tour.js
auth/cas/CAS/
cache/stores/mongodb/MongoDB/
enrol/lti/ims-blti/
filter/algebra/AlgParser.pm
filter/tex/mimetex.*
@@ -63,6 +64,8 @@ lib/amd/src/adapter.js
lib/validateurlsyntax.php
lib/amd/src/popper.js
lib/geopattern-php/
lib/php-jwt/
lib/mdn-polyfills/
media/player/videojs/amd/src/video-lazy.js
media/player/videojs/amd/src/Youtube-lazy.js
media/player/videojs/videojs/
@@ -83,8 +86,4 @@ theme/boost/amd/src/tab.js
theme/boost/amd/src/tooltip.js
theme/boost/amd/src/util.js
theme/boost/amd/src/tether.js
theme/boost/scss/fontawesome/
theme/bootstrapbase/less/bootstrap/
theme/bootstrapbase/javascript/html5shiv.js
theme/bootstrapbase/amd/src/bootstrap.js
theme/bootstrapbase/less/fontawesome/
theme/boost/scss/fontawesome/
+1 -1
View File
@@ -203,7 +203,7 @@
}
},
{
files: ["**/amd/src/*.js"],
files: ["**/amd/src/*.js", "Gruntfile.js"],
// Check AMD with some slightly stricter rules.
rules: {
'no-unused-vars': 'error',
-2
View File
@@ -1,5 +1,3 @@
**/yui/build/** -diff
**/amd/build/** -diff
lib/dml/oci_native_moodle_package.sql text eol=lf
theme/bootstrapbase/style/editor.css -diff
theme/bootstrapbase/style/moodle.css -diff
+10 -2
View File
@@ -9,10 +9,18 @@
#
# See gitignore(5) man page for more details
#
# Swap files (vim)
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Temporary files including undo
*~
#
/config.php
/lib/editor/tinymce/extra/tools/temp/
*~
*.swp
/tags
/TAGS
/cscope.*
+2
View File
@@ -0,0 +1,2 @@
**/amd/**
/*.js
+1
View File
@@ -0,0 +1 @@
v8.16.1
+5 -8
View File
@@ -1,14 +1,13 @@
# Generated by "grunt ignorefiles"
**/yui/build/*
theme/bootstrapbase/style/
theme/clean/style/custom.css
theme/more/style/custom.css
theme/boost/style/moodle.css
theme/classic/style/moodle.css
node_modules/
vendor/
admin/tool/policy/amd/src/jquery-eu-cookie-law-popup.js
admin/tool/usertours/amd/src/tour.js
auth/cas/CAS/
cache/stores/mongodb/MongoDB/
enrol/lti/ims-blti/
filter/algebra/AlgParser.pm
filter/tex/mimetex.*
@@ -66,6 +65,8 @@ lib/amd/src/adapter.js
lib/validateurlsyntax.php
lib/amd/src/popper.js
lib/geopattern-php/
lib/php-jwt/
lib/mdn-polyfills/
media/player/videojs/amd/src/video-lazy.js
media/player/videojs/amd/src/Youtube-lazy.js
media/player/videojs/videojs/
@@ -86,8 +87,4 @@ theme/boost/amd/src/tab.js
theme/boost/amd/src/tooltip.js
theme/boost/amd/src/util.js
theme/boost/amd/src/tether.js
theme/boost/scss/fontawesome/
theme/bootstrapbase/less/bootstrap/
theme/bootstrapbase/javascript/html5shiv.js
theme/bootstrapbase/amd/src/bootstrap.js
theme/bootstrapbase/less/fontawesome/
theme/boost/scss/fontawesome/
+31 -32
View File
@@ -2,8 +2,6 @@
# process (which uses our internal CI system) this file is here for the benefit
# of community developers git clones - see MDL-51458.
sudo: required
# We currently disable Travis notifications entirely until https://github.com/travis-ci/travis-ci/issues/4976
# is fixed.
notifications:
@@ -11,21 +9,20 @@ notifications:
language: php
os: linux
dist: xenial
services:
- mysql
php:
# We only run the highest and lowest supported versions to reduce the load on travis-ci.org.
- 7.2
- 7.0
- 7.3
- 7.1.30 # Make this sticky because current default version (7.1.11) has a bug with redis-extension output (MDL-66062)
addons:
postgresql: "9.6"
packages:
- mysql-server-5.6
- mysql-client-core-5.6
- mysql-client-5.6
# Redis tests are currently failing on php 7.2 due to https://bugs.php.net/bug.php?id=75628
# services:
# - redis-server
env:
# Although we want to run these jobs and see failures as quickly as possible, we also want to get the slowest job to
@@ -35,9 +32,6 @@ env:
# CI Tests should be second-highest in priority as these only take <= 60 seconds to run under normal circumstances.
# Postgres is significantly is pretty reasonable in its run-time.
# Run unit tests on MySQL
- DB=mysqli TASK=PHPUNIT
# Run CI Tests without running PHPUnit.
- DB=none TASK=CITEST
@@ -47,39 +41,39 @@ env:
# Perform an upgrade test too.
- DB=pgsql TASK=UPGRADE
matrix:
jobs:
# Enable fast finish.
# This will fail the build if a single job fails (except those in allow_failures).
# It will not stop the jobs from running.
fast_finish: true
include:
# Run mysql only on 7.3 - it's just too slow
- php: 7.3
env: DB=mysqli TASK=PHPUNIT
# Run grunt/npm install on highest version ('node' is an alias for the latest node.js version.)
- php: 7.2
env: DB=none TASK=GRUNT NVM_VERSION='lts/carbon'
exclude:
# MySQL - it's just too slow.
# Exclude it on all versions except for 7.2
- env: DB=mysqli TASK=PHPUNIT
php: 7.0
cache:
directories:
- $HOME/.composer/cache
- $HOME/.npm
before_install:
# Avoid IPv6 default binding as service (causes redis not to start).
sudo service redis-server start --bind 127.0.0.1
install:
- >
if [ "$DB" = 'mysqli' ];
then
sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=1024m tmpfs /mnt/ramdisk
sudo stop mysql
sudo service mysql stop
sudo mv /var/lib/mysql /mnt/ramdisk
sudo ln -s /mnt/ramdisk/mysql /var/lib/mysql
sudo start mysql
sudo service mysql restart
fi
- >
if [ "$DB" = 'pgsql' ];
@@ -99,10 +93,8 @@ install:
echo 'auth.json' >> .git/info/exclude
fi
# Enable Redis.
# Redis tests are currently failing on php 7.2 due to https://bugs.php.net/bug.php?id=75628
# echo 'extension="redis.so"' > /tmp/redis.ini
# phpenv config-add /tmp/redis.ini
echo 'extension="redis.so"' > /tmp/redis.ini
phpenv config-add /tmp/redis.ini
# Install composer dependencies.
# We need --no-interaction in case we hit API limits for composer. This causes it to fall back to a standard clone.
@@ -173,12 +165,19 @@ before_script:
mkdir -p "$HOME"/roots/phpunit
# The phpunit dataroot and prefix..
# Redis tests are currently failing on php 7.2 due to https://bugs.php.net/bug.php?id=75628
# -e "/require_once/i \\define('TEST_SESSION_REDIS_HOST', '127.0.0.1');" \
sed -i \
-e "/require_once/i \\\$CFG->phpunit_dataroot = '\/home\/travis\/roots\/phpunit';" \
-e "/require_once/i \\\$CFG->phpunit_prefix = 'p_';" \
config.php ;
# Redis cache store tests
sed -i \
-e "/require_once/i \\define('TEST_CACHESTORE_REDIS_TESTSERVERS', '127.0.0.1');" \
config.php ;
# Redis session tests, but not for PHP 7.2 and up. See MDL-60978 for more info.
redissession="define('TEST_SESSION_REDIS_HOST', '127.0.0.1');"
sed -i \
-e "/require_once/i \\${redissession}" \
config.php ;
# Initialise PHPUnit for Moodle.
php admin/tool/phpunit/cli/init.php
@@ -207,7 +206,7 @@ before_script:
# We need the official upstream for comparison
git remote add upstream https://github.com/moodle/moodle.git;
git fetch upstream MOODLE_36_STABLE;
git fetch upstream MOODLE_37_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`
+37 -49
View File
@@ -24,6 +24,7 @@
* Grunt configuration
*/
/* eslint-env node */
module.exports = function(grunt) {
var path = require('path'),
tasks = {},
@@ -111,7 +112,13 @@ module.exports = function(grunt) {
eslint: {
// Even though warnings dont stop the build we don't display warnings by default because
// at this moment we've got too many core warnings.
options: {quiet: !grunt.option('show-lint-warnings')},
// To display warnings call: grunt eslint --show-lint-warnings
// To fail on warnings call: grunt eslint --max-lint-warnings=0
// Also --max-lint-warnings=-1 can be used to display warnings but not fail.
options: {
quiet: (!grunt.option('show-lint-warnings')) && (typeof grunt.option('max-lint-warnings') === 'undefined'),
maxWarnings: ((typeof grunt.option('max-lint-warnings') !== 'undefined') ? grunt.option('max-lint-warnings') : -1)
},
amd: {src: amdSrc},
// Check YUI module source files.
yui: {src: ['**/yui/src/**/*.js', '!*/**/yui/src/*/meta/*.js']}
@@ -126,25 +133,15 @@ module.exports = function(grunt) {
options: {report: 'none'}
}
},
less: {
bootstrapbase: {
files: {
"theme/bootstrapbase/style/moodle.css": "theme/bootstrapbase/less/moodle.less",
"theme/bootstrapbase/style/editor.css": "theme/bootstrapbase/less/editor.less",
},
options: {
compress: false // We must not compress to keep the comments.
}
}
},
sass: {
dist: {
files: {
"theme/boost/style/moodle.css": "theme/boost/scss/preset/default.scss"
"theme/boost/style/moodle.css": "theme/boost/scss/preset/default.scss",
"theme/classic/style/moodle.css": "theme/classic/scss/classicgrunt.scss"
}
},
options: {
includePaths: ["theme/boost/scss/"]
includePaths: ["theme/boost/scss/", "theme/classic/scss/"]
}
},
watch: {
@@ -155,15 +152,14 @@ module.exports = function(grunt) {
files: ['**/amd/src/**/*.js'],
tasks: ['amd']
},
bootstrapbase: {
files: ["theme/bootstrapbase/less/**/*.less"],
tasks: ["css"]
},
yui: {
files: ['**/yui/src/**/*.js'],
tasks: ['yui']
},
gherkinlint: {
options: {
nospawn: false,
},
files: ['**/tests/behat/*.feature'],
tasks: ['gherkinlint']
}
@@ -180,18 +176,6 @@ module.exports = function(grunt) {
}
},
stylelint: {
less: {
options: {
syntax: 'less',
configOverrides: {
rules: {
// These rules have to be disabled in .stylelintrc for scss compat.
"at-rule-no-unknown": true,
}
}
},
src: ['theme/**/*.less']
},
scss: {
options: {syntax: 'scss'},
src: ['*/**/*.scss']
@@ -223,10 +207,8 @@ module.exports = function(grunt) {
var stylelintIgnores = [
'# Generated by "grunt ignorefiles"',
'**/yui/build/*',
'theme/bootstrapbase/style/',
'theme/clean/style/custom.css',
'theme/more/style/custom.css',
'theme/boost/style/moodle.css'
'theme/boost/style/moodle.css',
'theme/classic/style/moodle.css',
].concat(thirdPartyPaths);
grunt.file.write('.stylelintignore', stylelintIgnores.join('\n'));
};
@@ -320,19 +302,27 @@ module.exports = function(grunt) {
};
tasks.gherkinlint = function() {
var done = this.async(),
options = grunt.config('gherkinlint.options');
const done = this.async();
const options = grunt.config('gherkinlint.options');
var args = grunt.file.expand(options.files);
args.unshift(path.normalize(__dirname + '/node_modules/.bin/gherkin-lint'));
grunt.util.spawn({
cmd: 'node',
args: args,
opts: {stdio: 'inherit', env: process.env}
}, function(error, result, code) {
// Propagate the exit code.
done(code === 0);
});
// Grab the gherkin-lint linter and required scaffolding.
const linter = require('gherkin-lint/src/linter.js');
const featureFinder = require('gherkin-lint/src/feature-finder.js');
const configParser = require('gherkin-lint/src/config-parser.js');
const formatter = require('gherkin-lint/src/formatters/stylish.js');
// Run the linter.
const results = linter.lint(
featureFinder.getFeatureFiles(grunt.file.expand(options.files)),
configParser.getConfiguration(configParser.defaultConfigFileName)
);
// Print the results out uncondtionally.
formatter.printResults(results);
// Report on the results.
// The done function takes a bool whereby a falsey statement causes the task to fail.
done(results.every(result => result.errors.length === 0));
};
tasks.startup = function() {
@@ -360,7 +350,6 @@ module.exports = function(grunt) {
grunt.config('eslint.yui.src', files);
grunt.config('uglify.amd.files', [{expand: true, src: files, rename: uglifyRename}]);
grunt.config('shifter.options.paths', files);
grunt.config('stylelint.less.src', files);
grunt.config('gherkinlint.options.files', files);
changedFiles = Object.create(null);
}, 200);
@@ -372,7 +361,6 @@ module.exports = function(grunt) {
// Register NPM tasks.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-eslint');
@@ -387,7 +375,7 @@ module.exports = function(grunt) {
grunt.registerTask('js', ['amd', 'yui']);
// Register CSS taks.
grunt.registerTask('css', ['stylelint:scss', 'sass', 'stylelint:less', 'less:bootstrapbase', 'stylelint:css']);
grunt.registerTask('css', ['stylelint:scss', 'sass', 'stylelint:css']);
// Register the startup task.
grunt.registerTask('startup', 'Run the correct tasks for the current directory', tasks.startup);
@@ -0,0 +1,59 @@
<?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/>.
/**
* Testing outgoing mail configuration form
*
* @package core
* @copyright 2019 Victor Deniz <victor@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace core_admin\form;
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir.'/formslib.php');
/**
* Test mail form
*
* @package core
* @copyright 2019 Victor Deniz <victor@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class testoutgoingmailconf_form extends \moodleform {
/**
* Add elements to form
*/
public function definition() {
$mform = $this->_form;
// Recipient.
$options = ['maxlength' => '100', 'size' => '25'];
$mform->addElement('text', 'recipient', get_string('testoutgoingmailconf_toemail', 'admin'), $options);
$mform->setType('recipient', PARAM_EMAIL);
$mform->addRule('recipient', get_string('required'), 'required');
$buttonarray = array();
$buttonarray[] = $mform->createElement('submit', 'send', get_string('testoutgoingmailconf_sendtest', 'admin'));
$buttonarray[] = $mform->createElement('cancel');
$mform->addGroup($buttonarray, 'buttonar', '', array(' '), false);
$mform->closeHeaderBefore('buttonar');
}
}
+289
View File
@@ -0,0 +1,289 @@
<?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/>.
/**
* Task log table.
*
* @package core_admin
* @copyright 2018 Andrew Nicols <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace core_admin;
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir . '/tablelib.php');
/**
* Table to display list of task logs.
*
* @copyright 2018 Andrew Nicols <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class task_log_table extends \table_sql {
/**
* Constructor for the task_log table.
*
* @param string $filter
* @param int $resultfilter
*/
public function __construct(string $filter = '', int $resultfilter = null) {
global $DB;
if (-1 === $resultfilter) {
$resultfilter = null;
}
parent::__construct('tasklogs');
$columnheaders = [
'classname' => get_string('name'),
'type' => get_string('tasktype', 'admin'),
'userid' => get_string('user', 'admin'),
'timestart' => get_string('task_starttime', 'admin'),
'duration' => get_string('task_duration', 'admin'),
'db' => get_string('task_dbstats', 'admin'),
'result' => get_string('task_result', 'admin'),
'actions' => '',
];
$this->define_columns(array_keys($columnheaders));
$this->define_headers(array_values($columnheaders));
// The name column is a header.
$this->define_header_column('classname');
// This table is not collapsible.
$this->collapsible(false);
// The actions class should not wrap. Use the BS text utility class.
$this->column_class('actions', 'text-nowrap');
// Allow pagination.
$this->pageable(true);
// Allow sorting. Default to sort by timestarted DESC.
$this->sortable(true, 'timestart', SORT_DESC);
// Add filtering.
$where = [];
$params = [];
if (!empty($filter)) {
$orwhere = [];
$filter = str_replace('\\', '\\\\', $filter);
// Check the class name.
$orwhere[] = $DB->sql_like('classname', ':classfilter', false, false);
$params['classfilter'] = '%' . $DB->sql_like_escape($filter) . '%';
$orwhere[] = $DB->sql_like('output', ':outputfilter', false, false);
$params['outputfilter'] = '%' . $DB->sql_like_escape($filter) . '%';
$where[] = "(" . implode(' OR ', $orwhere) . ")";
}
if (null !== $resultfilter) {
$where[] = 'tl.result = :result';
$params['result'] = $resultfilter;
}
$where = implode(' AND ', $where);
$this->set_sql('', '', $where, $params);
}
/**
* Query the db. Store results in the table object for use by build_table.
*
* @param int $pagesize size of page for paginated displayed table.
* @param bool $useinitialsbar do you want to use the initials bar. Bar
* will only be used if there is a fullname column defined for the table.
*/
public function query_db($pagesize, $useinitialsbar = true) {
global $DB;
// Fetch the attempts.
$sort = $this->get_sql_sort();
if ($sort) {
$sort = "ORDER BY $sort";
}
$extrafields = get_extra_user_fields(\context_system::instance());
$userfields = \user_picture::fields('u', $extrafields, 'userid2', 'user');
$where = '';
if (!empty($this->sql->where)) {
$where = "WHERE {$this->sql->where}";
}
$sql = "SELECT
tl.id, tl.type, tl.component, tl.classname, tl.userid, tl.timestart, tl.timeend,
tl.dbreads, tl.dbwrites, tl.result,
tl.dbreads + tl.dbwrites AS db,
tl.timeend - tl.timestart AS duration,
{$userfields}
FROM {task_log} tl
LEFT JOIN {user} u ON u.id = tl.userid
{$where}
{$sort}";
$this->pagesize($pagesize, $DB->count_records_sql("SELECT COUNT('x') FROM {task_log} tl {$where}", $this->sql->params));
if (!$this->is_downloading()) {
$this->rawdata = $DB->get_records_sql($sql, $this->sql->params, $this->get_page_start(), $this->get_page_size());
} else {
$this->rawdata = $DB->get_records_sql($sql, $this->sql->params);
}
}
/**
* Format the name cell.
*
* @param \stdClass $row
* @return string
*/
public function col_classname($row) : string {
$output = '';
if (class_exists($row->classname)) {
$task = new $row->classname;
if ($task instanceof \core\task\scheduled_task) {
$output = $task->get_name();
}
}
$output .= \html_writer::tag('div', "\\{$row->classname}", [
'class' => 'task-class',
]);
return $output;
}
/**
* Format the type cell.
*
* @param \stdClass $row
* @return string
*/
public function col_type($row) : string {
if (\core\task\database_logger::TYPE_SCHEDULED == $row->type) {
return get_string('task_type:scheduled', 'admin');
} else {
return get_string('task_type:adhoc', 'admin');
}
}
/**
* Format the timestart cell.
*
* @param \stdClass $row
* @return string
*/
public function col_result($row) : string {
if ($row->result) {
return get_string('task_result:failed', 'admin');
} else {
return get_string('success');
}
}
/**
* Format the timestart cell.
*
* @param \stdClass $row
* @return string
*/
public function col_timestart($row) : string {
return userdate($row->timestart, get_string('strftimedatetimeshort', 'langconfig'));
}
/**
* Format the duration cell.
*
* @param \stdClass $row
* @return string
*/
public function col_duration($row) : string {
$duration = round($row->timeend - $row->timestart, 2);
if (empty($duration)) {
// The format_time function returns 'now' when the difference is exactly 0.
// Note: format_time performs concatenation in exactly this fashion so we should do this for consistency.
return '0 ' . get_string('secs', 'moodle');
}
return format_time($duration);
}
/**
* Format the DB details cell.
*
* @param \stdClass $row
* @return string
*/
public function col_db($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;
}
/**
* Format the actions cell.
*
* @param \stdClass $row
* @return string
*/
public function col_actions($row) : string {
global $OUTPUT;
$actions = [];
$url = new \moodle_url('/admin/tasklogs.php', ['logid' => $row->id]);
// Quick view.
$actions[] = $OUTPUT->action_icon(
$url,
new \pix_icon('e/search', get_string('view')),
new \popup_action('click', $url)
);
// Download.
$actions[] = $OUTPUT->action_icon(
new \moodle_url($url, ['download' => true]),
new \pix_icon('t/download', get_string('download'))
);
return implode('&nbsp;', $actions);
}
/**
* Format the user cell.
*
* @param \stdClass $row
* @return string
*/
public function col_userid($row) : string {
if (empty($row->userid)) {
return '';
}
$user = (object) [];
username_load_fields_from_object($user, $row, 'user');
return fullname($user);
}
}
+1 -1
View File
@@ -83,7 +83,7 @@ Examples:
Stores the given configuration variable in the shell variable, escaped
so that it can be safely used as a shell argument.
# php cfg.php --name=theme --set=clean
# php cfg.php --name=theme --set=classic
Sets the given configuration variable to the given value.
# php cfg.php --name=noemailever --unset
+98 -89
View File
@@ -514,100 +514,105 @@ if ($interactive) {
$database = $databases[$CFG->dbtype];
// ask for db host
if ($interactive) {
cli_separator();
cli_heading(get_string('databasehost', 'install'));
if ($options['dbhost'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['dbhost']);
// We cannot do any validation until all DB connection data is provided.
$hintdatabase = '';
do {
echo $hintdatabase;
// Ask for db host.
if ($interactive) {
cli_separator();
cli_heading(get_string('databasehost', 'install'));
if ($options['dbhost'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['dbhost']);
} else {
$prompt = get_string('clitypevalue', 'admin');
}
$CFG->dbhost = cli_input($prompt, $options['dbhost']);
} else {
$prompt = get_string('clitypevalue', 'admin');
$CFG->dbhost = $options['dbhost'];
}
$CFG->dbhost = cli_input($prompt, $options['dbhost']);
} else {
$CFG->dbhost = $options['dbhost'];
}
// Ask for db name.
if ($interactive) {
cli_separator();
cli_heading(get_string('databasename', 'install'));
if ($options['dbname'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['dbname']);
} else {
$prompt = get_string('clitypevalue', 'admin');
}
$CFG->dbname = cli_input($prompt, $options['dbname']);
// ask for db name
if ($interactive) {
cli_separator();
cli_heading(get_string('databasename', 'install'));
if ($options['dbname'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['dbname']);
} else {
$prompt = get_string('clitypevalue', 'admin');
$CFG->dbname = $options['dbname'];
}
$CFG->dbname = cli_input($prompt, $options['dbname']);
} else {
$CFG->dbname = $options['dbname'];
}
// Ask for db prefix.
if ($interactive) {
cli_separator();
cli_heading(get_string('dbprefix', 'install'));
//TODO: solve somehow the prefix trouble for oci.
if ($options['prefix'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['prefix']);
} else {
$prompt = get_string('clitypevalue', 'admin');
}
$CFG->prefix = cli_input($prompt, $options['prefix']);
// ask for db prefix
if ($interactive) {
cli_separator();
cli_heading(get_string('dbprefix', 'install'));
//TODO: solve somehow the prefix trouble for oci
if ($options['prefix'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['prefix']);
} else {
$prompt = get_string('clitypevalue', 'admin');
$CFG->prefix = $options['prefix'];
}
$CFG->prefix = cli_input($prompt, $options['prefix']);
} else {
$CFG->prefix = $options['prefix'];
}
// Ask for db port.
if ($interactive) {
cli_separator();
cli_heading(get_string('databaseport', 'install'));
$prompt = get_string('clitypevaluedefault', 'admin', $options['dbport']);
$CFG->dboptions['dbport'] = (int) cli_input($prompt, $options['dbport']);
// ask for db port
if ($interactive) {
cli_separator();
cli_heading(get_string('databaseport', 'install'));
$prompt = get_string('clitypevaluedefault', 'admin', $options['dbport']);
$CFG->dboptions['dbport'] = (int)cli_input($prompt, $options['dbport']);
} else {
$CFG->dboptions['dbport'] = (int)$options['dbport'];
}
if ($CFG->dboptions['dbport'] <= 0) {
$CFG->dboptions['dbport'] = '';
}
// ask for db socket
if ($CFG->ostype === 'WINDOWS') {
$CFG->dboptions['dbsocket'] = '';
} else if ($interactive and empty($CFG->dboptions['dbport'])) {
cli_separator();
cli_heading(get_string('databasesocket', 'install'));
$prompt = get_string('clitypevaluedefault', 'admin', $options['dbsocket']);
$CFG->dboptions['dbsocket'] = cli_input($prompt, $options['dbsocket']);
} else {
$CFG->dboptions['dbsocket'] = $options['dbsocket'];
}
// ask for db user
if ($interactive) {
cli_separator();
cli_heading(get_string('databaseuser', 'install'));
if ($options['dbuser'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['dbuser']);
} else {
$prompt = get_string('clitypevalue', 'admin');
$CFG->dboptions['dbport'] = (int) $options['dbport'];
}
if ($CFG->dboptions['dbport'] <= 0) {
$CFG->dboptions['dbport'] = '';
}
$CFG->dbuser = cli_input($prompt, $options['dbuser']);
} else {
$CFG->dbuser = $options['dbuser'];
}
// Ask for db socket.
if ($CFG->ostype === 'WINDOWS') {
$CFG->dboptions['dbsocket'] = '';
} else if ($interactive and empty($CFG->dboptions['dbport'])) {
cli_separator();
cli_heading(get_string('databasesocket', 'install'));
$prompt = get_string('clitypevaluedefault', 'admin', $options['dbsocket']);
$CFG->dboptions['dbsocket'] = cli_input($prompt, $options['dbsocket']);
} else {
$CFG->dboptions['dbsocket'] = $options['dbsocket'];
}
// Ask for db user.
if ($interactive) {
cli_separator();
cli_heading(get_string('databaseuser', 'install'));
if ($options['dbuser'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['dbuser']);
} else {
$prompt = get_string('clitypevalue', 'admin');
}
$CFG->dbuser = cli_input($prompt, $options['dbuser']);
} else {
$CFG->dbuser = $options['dbuser'];
}
// Ask for db password.
if ($interactive) {
cli_separator();
cli_heading(get_string('databasepass', 'install'));
// ask for db password
if ($interactive) {
cli_separator();
cli_heading(get_string('databasepass', 'install'));
do {
if ($options['dbpass'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['dbpass']);
} else {
@@ -615,19 +620,23 @@ if ($interactive) {
}
$CFG->dbpass = cli_input($prompt, $options['dbpass']);
if (function_exists('distro_pre_create_db')) { // Hook for distros needing to do something before DB creation
$distro = distro_pre_create_db($database, $CFG->dbhost, $CFG->dbuser, $CFG->dbpass, $CFG->dbname, $CFG->prefix, array('dbpersist'=>0, 'dbport'=>$CFG->dboptions['dbport'], 'dbsocket'=>$CFG->dboptions['dbsocket']), $distro);
if (function_exists('distro_pre_create_db')) { // Hook for distros needing to do something before DB creation.
$distro = distro_pre_create_db($database, $CFG->dbhost, $CFG->dbuser, $CFG->dbpass, $CFG->dbname, $CFG->prefix,
array('dbpersist' => 0, 'dbport' => $CFG->dboptions['dbport'], 'dbsocket' => $CFG->dboptions['dbsocket']),
$distro);
}
$hint_database = install_db_validate($database, $CFG->dbhost, $CFG->dbuser, $CFG->dbpass, $CFG->dbname, $CFG->prefix, array('dbpersist'=>0, 'dbport'=>$CFG->dboptions['dbport'], 'dbsocket'=>$CFG->dboptions['dbsocket']));
} while ($hint_database !== '');
$hintdatabase = install_db_validate($database, $CFG->dbhost, $CFG->dbuser, $CFG->dbpass, $CFG->dbname, $CFG->prefix,
array('dbpersist' => 0, 'dbport' => $CFG->dboptions['dbport'], 'dbsocket' => $CFG->dboptions['dbsocket']));
} else {
$CFG->dbpass = $options['dbpass'];
$hint_database = install_db_validate($database, $CFG->dbhost, $CFG->dbuser, $CFG->dbpass, $CFG->dbname, $CFG->prefix, array('dbpersist'=>0, 'dbport'=>$CFG->dboptions['dbport'], 'dbsocket'=>$CFG->dboptions['dbsocket']));
if ($hint_database !== '') {
cli_error(get_string('dbconnectionerror', 'install'));
} else {
$CFG->dbpass = $options['dbpass'];
$hintdatabase = install_db_validate($database, $CFG->dbhost, $CFG->dbuser, $CFG->dbpass, $CFG->dbname, $CFG->prefix,
array('dbpersist' => 0, 'dbport' => $CFG->dboptions['dbport'], 'dbsocket' => $CFG->dboptions['dbsocket']));
if ($hintdatabase !== '') {
cli_error(get_string('dbconnectionerror', 'install'));
}
}
}
} while ($hintdatabase !== '');
// ask for fullname
if ($interactive) {
@@ -710,7 +719,7 @@ if ($interactive) {
cli_separator();
cli_heading(get_string('cliadminemail', 'install'));
$prompt = get_string('clitypevaluedefault', 'admin', $options['adminemail']);
$options['adminemail'] = cli_input($prompt);
$options['adminemail'] = cli_input($prompt, $options['adminemail']);
}
// Validate that the address provided was an e-mail address.
+6 -6
View File
@@ -82,11 +82,6 @@ require_once($CFG->libdir.'/installlib.php');
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/componentlib.class.php');
// make sure no tables are installed yet
if ($DB->get_tables() ) {
cli_error(get_string('clitablesexist', 'install'));
}
$CFG->early_install_lang = true;
get_string_manager(true);
@@ -109,12 +104,17 @@ list($options, $unrecognized) = cli_get_params(
)
);
// We show help text even if tables are installed.
if ($options['help']) {
echo $help;
die;
}
// Make sure no tables are installed yet.
if ($DB->get_tables() ) {
cli_error(get_string('clitablesexist', 'install'));
}
if (!$options['agree-license']) {
cli_error('You have to agree to the license. --help prints out the help'); // TODO: localize
}
+163
View File
@@ -0,0 +1,163 @@
<?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 uninstall plugins.
*
* @package core
* @subpackage cli
* @copyright 2018 Dmitrii Metelkin <dmitriim@catalyst-au.net>
* @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 . '/adminlib.php');
$help = "Command line tool to uninstall plugins.
Options:
-h --help Print this help.
--show-all Displays a list of all installed plugins.
--show-missing Displays a list of plugins missing from disk.
--purge-missing Uninstall all missing from disk plugins.
--plugins=<plugin name> A comma separated list of plugins to be uninstalled. E.g. mod_assign,mod_forum
--run Execute uninstall. If this option is not set, then the script will be run in a dry mode.
Examples:
# php uninstall_plugins.php --show-all
Prints tab-separated list of all installed plugins.
# php uninstall_plugins.php --show-missing
Prints tab-separated list of all missing from disk plugins.
# php uninstall_plugins.php --purge-missing
A dry run of uninstalling all missing plugins.
# php uninstall_plugins.php --purge-missing --run
Run uninstall of all missing plugins.
# php uninstall_plugins.php --plugins=mod_assign,mod_forum
A dry run of uninstalling mod_assign and mod_forum plugins.
# php uninstall_plugins.php --plugins=mod_assign,mod_forum --run
Run uninstall for mod_assign and mod_forum plugins.
";
list($options, $unrecognised) = cli_get_params([
'help' => false,
'show-all' => false,
'show-missing' => false,
'purge-missing' => false,
'plugins' => false,
'run' => false,
], [
'h' => 'help'
]);
if ($unrecognised) {
$unrecognised = implode(PHP_EOL.' ', $unrecognised);
cli_error(get_string('cliunknowoption', 'core_admin', $unrecognised));
}
if ($options['help']) {
cli_writeln($help);
exit(0);
}
$pluginman = core_plugin_manager::instance();
$plugininfo = $pluginman->get_plugins();
if ($options['show-all'] || $options['show-missing']) {
foreach ($plugininfo as $type => $plugins) {
foreach ($plugins as $name => $plugin) {
$pluginstring = $plugin->component . "\t" . $plugin->displayname;
if ($options['show-all']) {
cli_writeln($pluginstring);
} else {
if ($plugin->get_status() === core_plugin_manager::PLUGIN_STATUS_MISSING) {
cli_writeln($pluginstring);
}
}
}
}
exit(0);
}
if ($options['purge-missing']) {
foreach ($plugininfo as $type => $plugins) {
foreach ($plugins as $name => $plugin) {
if ($plugin->get_status() === core_plugin_manager::PLUGIN_STATUS_MISSING) {
$pluginstring = $plugin->component . "\t" . $plugin->displayname;
if ($pluginman->can_uninstall_plugin($plugin->component)) {
if ($options['run']) {
cli_writeln('Uninstalling: ' . $pluginstring);
$progress = new progress_trace_buffer(new text_progress_trace(), true);
$pluginman->uninstall_plugin($plugin->component, $progress);
$progress->finished();
cli_write($progress->get_buffer());
} else {
cli_writeln('Will be uninstalled: ' . $pluginstring);
}
} else {
cli_writeln('Can not be uninstalled: ' . $pluginstring);
}
}
}
}
exit(0);
}
if ($options['plugins']) {
$components = explode(',', $options['plugins']);
foreach ($components as $component) {
$plugin = $pluginman->get_plugin_info($component);
if (is_null($plugin)) {
cli_writeln('Unknown plugin: ' . $component);
} else {
$pluginstring = $plugin->component . "\t" . $plugin->displayname;
if ($pluginman->can_uninstall_plugin($plugin->component)) {
if ($options['run']) {
cli_writeln('Uninstalling: ' . $pluginstring);
$progress = new progress_trace_buffer(new text_progress_trace(), true);
$pluginman->uninstall_plugin($plugin->component, $progress);
$progress->finished();
cli_write($progress->get_buffer());
} else {
cli_writeln('Will be uninstalled: ' . $pluginstring);
}
} else {
cli_writeln('Can not be uninstalled: ' . $pluginstring);
}
}
}
exit(0);
}
cli_writeln($help);
exit(0);
+62
View File
@@ -0,0 +1,62 @@
<?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/>.
/**
* Allows the admin to enable, disable and uninstall custom fields
*
* @package core_admin
* @copyright 2018 Daniel Neis Araujo
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once('../config.php');
require_once($CFG->libdir.'/adminlib.php');
$action = required_param('action', PARAM_ALPHANUMEXT);
$customfieldname = required_param('field', PARAM_PLUGIN);
$syscontext = context_system::instance();
$PAGE->set_url('/admin/customfields.php');
$PAGE->set_context($syscontext);
require_login();
require_capability('moodle/site:config', $syscontext);
require_sesskey();
$return = new moodle_url('/admin/settings.php', array('section' => 'managecustomfields'));
$customfieldplugins = core_plugin_manager::instance()->get_plugins_of_type('customfield');
$sortorder = array_flip(array_keys($customfieldplugins));
if (!isset($customfieldplugins[$customfieldname])) {
print_error('customfieldnotfound', 'error', $return, $customfieldname);
}
switch ($action) {
case 'disable':
if ($customfieldplugins[$customfieldname]->is_enabled()) {
set_config('disabled', 1, 'customfield_'. $customfieldname);
core_plugin_manager::reset_caches();
}
break;
case 'enable':
if (!$customfieldplugins[$customfieldname]->is_enabled()) {
unset_config('disabled', 'customfield_'. $customfieldname);
core_plugin_manager::reset_caches();
}
break;
}
redirect($return);
+545
View File
@@ -2451,6 +2451,7 @@
<VENDOR name="oracle" version="11.2" />
</DATABASE>
<PHP version="7.0.0" level="required">
<RESTRICT function="restrict_php_version_74" message="unsupportedphpversion74" />
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
@@ -2618,4 +2619,548 @@
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="3.7" requires="3.2">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="5.5.31" />
<VENDOR name="mysql" version="5.6" />
<VENDOR name="postgres" version="9.4" />
<VENDOR name="mssql" version="10.0" />
<VENDOR name="oracle" version="11.2" />
</DATABASE>
<PHP version="7.1.0" level="required">
<RESTRICT function="restrict_php_version_74" message="unsupportedphpversion74" />
</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="optional">
<FEEDBACK>
<ON_CHECK message="mbstringrecommended" />
</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="xmlrpc" level="optional">
<FEEDBACK>
<ON_CHECK message="xmlrpcrecommended" />
</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_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_CHECKS>
</MOODLE>
<MOODLE version="3.8" requires="3.2">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="5.5.31" />
<VENDOR name="mysql" version="5.6" />
<VENDOR name="postgres" version="9.4" />
<VENDOR name="mssql" version="11.0" />
<VENDOR name="oracle" version="11.2" />
</DATABASE>
<PHP version="7.1.0" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="optional">
<FEEDBACK>
<ON_CHECK message="mbstringrecommended" />
</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="xmlrpc" level="optional">
<FEEDBACK>
<ON_CHECK message="xmlrpcrecommended" />
</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_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_CHECKS>
</MOODLE>
<MOODLE version="3.9" requires="3.5">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="10.2.29" />
<VENDOR name="mysql" version="5.6" />
<VENDOR name="postgres" version="9.5" />
<VENDOR name="mssql" version="11.0" />
<VENDOR name="oracle" version="11.2" />
</DATABASE>
<PHP version="7.2.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="xmlrpc" level="optional">
<FEEDBACK>
<ON_CHECK message="xmlrpcrecommended" />
</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_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_CHECKS>
</MOODLE>
</COMPATIBILITY_MATRIX>
+30 -11
View File
@@ -226,7 +226,7 @@ if (!core_tables_exist()) {
}
if (empty($confirmrelease)) {
require_once($CFG->libdir.'/environmentlib.php');
list($envstatus, $environment_results) = check_moodle_environment(normalize_version($release), ENV_SELECT_RELEASE);
list($envstatus, $environmentresults) = check_moodle_environment(normalize_version($release), ENV_SELECT_RELEASE);
$strcurrentrelease = get_string('currentrelease');
$PAGE->navbar->add($strcurrentrelease);
@@ -235,7 +235,7 @@ if (!core_tables_exist()) {
$PAGE->set_cacheable(false);
$output = $PAGE->get_renderer('core', 'admin');
echo $output->install_environment_page($maturity, $envstatus, $environment_results, $release);
echo $output->install_environment_page($maturity, $envstatus, $environmentresults, $release);
die();
}
@@ -358,9 +358,9 @@ if (!$cache and $version > $CFG->version) { // upgrade
echo $output->upgrade_confirm_page($a->newversion, $maturity, $testsite);
die();
} else if (empty($confirmrelease)){
} else if (empty($confirmrelease)) {
require_once($CFG->libdir.'/environmentlib.php');
list($envstatus, $environment_results) = check_moodle_environment($release, ENV_SELECT_RELEASE);
list($envstatus, $environmentresults) = check_moodle_environment($release, ENV_SELECT_RELEASE);
$strcurrentrelease = get_string('currentrelease');
$PAGE->navbar->add($strcurrentrelease);
@@ -368,7 +368,7 @@ if (!$cache and $version > $CFG->version) { // upgrade
$PAGE->set_heading($strcurrentrelease);
$PAGE->set_cacheable(false);
echo $output->upgrade_environment_page($release, $envstatus, $environment_results);
echo $output->upgrade_environment_page($release, $envstatus, $environmentresults);
die();
} else if (empty($confirmplugins)) {
@@ -533,7 +533,10 @@ if (!$cache and $branch <> $CFG->branch) { // Update the branch
if (!$cache and moodle_needs_upgrading()) {
$PAGE->set_url(new moodle_url($PAGE->url, array('confirmplugincheck' => $confirmplugins)));
$PAGE->set_url(new moodle_url($PAGE->url, array(
'confirmrelease' => $confirmrelease,
'confirmplugincheck' => $confirmplugins,
)));
check_upgrade_key($upgradekeyhash);
@@ -543,7 +546,21 @@ if (!$cache and moodle_needs_upgrading()) {
$pluginman = core_plugin_manager::instance();
$output = $PAGE->get_renderer('core', 'admin');
if (!$confirmplugins) {
if (empty($confirmrelease)) {
require_once($CFG->libdir . '/environmentlib.php');
list($envstatus, $environmentresults) = check_moodle_environment($release, ENV_SELECT_RELEASE);
$strcurrentrelease = get_string('currentrelease');
$PAGE->navbar->add($strcurrentrelease);
$PAGE->set_title($strcurrentrelease);
$PAGE->set_heading($strcurrentrelease);
$PAGE->set_cacheable(false);
echo $output->upgrade_environment_page($release, $envstatus, $environmentresults);
die();
} else if (!$confirmplugins) {
$strplugincheck = get_string('plugincheck');
$PAGE->navbar->add($strplugincheck);
@@ -802,7 +819,7 @@ $SESSION->admin_critical_warning = ($insecuredataroot==INSECURE_DATAROOT_ERROR);
$adminroot = admin_get_root();
// Check if there are any new admin settings which have still yet to be set
if (any_new_admin_settings($adminroot)){
if (any_new_admin_settings($adminroot)) {
redirect('upgradesettings.php');
}
@@ -823,9 +840,11 @@ if (isset($SESSION->pluginuninstallreturn)) {
// Print default admin page with notifications.
$errorsdisplayed = defined('WARN_DISPLAY_ERRORS_ENABLED');
// We make the assumption that at least one schedule task should run once per day.
$lastcron = $DB->get_field_sql('SELECT MAX(lastruntime) FROM {task_scheduled}');
$lastcron = get_config('tool_task', 'lastcronstart');
$cronoverdue = ($lastcron < time() - 3600 * 24);
$lastcroninterval = get_config('tool_task', 'lastcroninterval');
$expectedfrequency = $CFG->expectedcronfrequency ?? 200;
$croninfrequent = !$cronoverdue && ($lastcroninterval > $expectedfrequency || $lastcron < time() - $expectedfrequency);
$dbproblems = $DB->diagnose();
$maintenancemode = !empty($CFG->maintenance_enabled);
@@ -886,4 +905,4 @@ $output = $PAGE->get_renderer('core', 'admin');
echo $output->admin_notifications_page($maturity, $insecuredataroot, $errorsdisplayed, $cronoverdue, $dbproblems,
$maintenancemode, $availableupdates, $availableupdatesfetch, $buggyiconvnomb,
$registered, $cachewarnings, $eventshandlers, $themedesignermode, $devlibdir,
$mobileconfigured, $overridetossl, $invalidforgottenpasswordurl);
$mobileconfigured, $overridetossl, $invalidforgottenpasswordurl, $croninfrequent);
+100 -26
View File
@@ -25,47 +25,121 @@ require_once(__DIR__ . '/../config.php');
require_once($CFG->dirroot . '/message/lib.php');
require_once($CFG->libdir.'/adminlib.php');
// This is an admin page
// This is an admin page.
admin_externalpage_setup('managemessageoutputs');
// Get the submitted params
$disable = optional_param('disable', 0, PARAM_INT);
$enable = optional_param('enable', 0, PARAM_INT);
// Fetch processors.
$allprocessors = get_message_processors();
$processors = array_filter($allprocessors, function($processor) {
return $processor->enabled;
});
$disabledprocessors = array_filter($allprocessors, function($processor) {
return !$processor->enabled;
});
$headingtitle = get_string('managemessageoutputs', 'message');
// Fetch message providers.
$providers = get_message_providers();
// Fetch the manage message outputs interface.
$preferences = get_message_output_default_preferences();
if (!empty($disable) && confirm_sesskey()) {
if (!$processor = $DB->get_record('message_processors', array('id'=>$disable))) {
print_error('outputdoesnotexist', 'message');
if (($form = data_submitted()) && confirm_sesskey()) {
$newpreferences = array();
// Prepare default message outputs settings.
foreach ($providers as $provider) {
$componentproviderbase = $provider->component.'_'.$provider->name;
$disableprovidersetting = $componentproviderbase.'_disable';
$providerdisabled = false;
if (!isset($form->$disableprovidersetting)) {
$providerdisabled = true;
$newpreferences[$disableprovidersetting] = 1;
} else {
$newpreferences[$disableprovidersetting] = 0;
}
foreach (array('permitted', 'loggedin', 'loggedoff') as $setting) {
$value = null;
$componentprovidersetting = $componentproviderbase.'_'.$setting;
if ($setting == 'permitted') {
// If we deal with permitted select element, we need to create individual
// setting for each possible processor. Note that this block will
// always be processed first after entring parental foreach iteration
// so we can change form values on this stage.
foreach ($processors as $processor) {
$value = '';
if (isset($form->{$componentprovidersetting}[$processor->name])) {
$value = $form->{$componentprovidersetting}[$processor->name];
}
// Ensure that loggedin loggedoff options are set correctly for this permission.
if (($value == 'disallowed') || $providerdisabled) {
// It might be better to unset them, but I can't figure out why that cause error.
$form->{$componentproviderbase.'_loggedin'}[$processor->name] = 0;
$form->{$componentproviderbase.'_loggedoff'}[$processor->name] = 0;
} else if ($value == 'forced') {
$form->{$componentproviderbase.'_loggedin'}[$processor->name] = 1;
$form->{$componentproviderbase.'_loggedoff'}[$processor->name] = 1;
}
// Record the site preference.
$newpreferences[$processor->name.'_provider_'.$componentprovidersetting] = $value;
}
} else {
$newsettings = array();
if (property_exists($form, $componentprovidersetting)) {
// We must be processing loggedin or loggedoff checkboxes.
// Store defained comma-separated processors as setting value.
// Using array_filter eliminates elements set to 0 above.
$newsettings = array_keys(array_filter($form->{$componentprovidersetting}));
}
// Let's join existing setting values for disabled processors.
$property = 'message_provider_'.$componentprovidersetting;
if (property_exists($preferences, $property)) {
$existingsetting = $preferences->$property;
foreach ($disabledprocessors as $disable) {
if (strpos($existingsetting, $disable->name) > -1) {
$newsettings[] = $disable->name;
}
}
}
$value = join(',', $newsettings);
if (empty($value)) {
$value = null;
}
}
if ($setting != 'permitted') {
// We have already recoded site preferences for 'permitted' type.
$newpreferences['message_provider_'.$componentprovidersetting] = $value;
}
}
}
\core_message\api::update_processor_status($processor, 0); // Disable output.
core_plugin_manager::reset_caches();
}
if (!empty($enable) && confirm_sesskey()) {
if (!$processor = $DB->get_record('message_processors', array('id'=>$enable))) {
print_error('outputdoesnotexist', 'message');
// Update database.
$transaction = $DB->start_delegated_transaction();
// Save processors enabled/disabled status.
foreach ($allprocessors as $processor) {
$enabled = isset($form->{$processor->name});
\core_message\api::update_processor_status($processor, $enabled);
}
\core_message\api::update_processor_status($processor, 1); // Enable output.
core_plugin_manager::reset_caches();
}
if ($disable || $enable) {
foreach ($newpreferences as $name => $value) {
set_config($name, $value, 'message');
}
$transaction->allow_commit();
core_plugin_manager::reset_caches();
$url = new moodle_url('message.php');
redirect($url);
}
// Page settings
$PAGE->set_context(context_system::instance());
$PAGE->requires->js_init_call('M.core_message.init_defaultoutputs');
// Grab the renderer
$renderer = $PAGE->get_renderer('core', 'message');
// Display the manage message outputs interface
$processors = get_message_processors();
$messageoutputs = $renderer->manage_messageoutputs($processors);
// Display the page
// Display the page.
echo $OUTPUT->header();
echo $OUTPUT->heading($headingtitle);
echo $messageoutputs;
echo $renderer->manage_messageoutput_settings($allprocessors, $processors, $providers, $preferences);
echo $OUTPUT->footer();
+2 -2
View File
@@ -45,8 +45,8 @@ $error = optional_param('error', '', PARAM_ALPHANUM);
admin_externalpage_setup('registrationmoodleorg');
if ($url !== HUB_MOODLEORGHUBURL) {
// Allow other plugins to confirm registration on hubs other than moodle.net . Plugins implementing this
if (parse_url($url, PHP_URL_HOST) !== parse_url(HUB_MOODLEORGHUBURL, PHP_URL_HOST)) {
// Allow other plugins to confirm registration on custom hubs. Plugins implementing this
// callback need to redirect or exit. See https://docs.moodle.org/en/Hub_registration .
$callbacks = get_plugins_with_function('hub_registration');
foreach ($callbacks as $plugintype => $plugins) {
+1 -2
View File
@@ -32,5 +32,4 @@
defined('MOODLE_INTERNAL') || die();
debugging('Support for alternative hubs has been removed from Moodle in 3.4. For communication with moodle.net ' .
'see lib/classes/hub/ .', DEBUG_DEVELOPER);
debugging('Support for alternative hubs has been removed from Moodle in 3.4.', DEBUG_DEVELOPER);
+6 -6
View File
@@ -22,7 +22,7 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL
* @copyright (C) 1999 onwards Martin Dougiamas http://dougiamas.com
*
* This page displays the site registration form for Moodle.net.
* This page displays the site registration form.
* It handles redirection to the hub to continue the registration workflow process.
* It also handles update operation by web service.
*/
@@ -48,7 +48,7 @@ if ($unregistration && \core\hub\registration::is_registered()) {
}
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('unregisterfrom', 'hub', 'Moodle.net'), 3, 'main');
echo $OUTPUT->heading(get_string('registerwithmoodleorgremove', 'core_hub'), 3, 'main');
$siteunregistrationform->display();
echo $OUTPUT->footer();
exit;
@@ -82,7 +82,7 @@ if ($fromform = $siteregistrationform->get_data()) {
echo $OUTPUT->header();
// Current status of registration on Moodle.net.
// Current status of registration.
$notificationtype = \core\output\notification::NOTIFY_ERROR;
if (\core\hub\registration::is_registered()) {
@@ -104,11 +104,11 @@ if (\core\hub\registration::is_registered()) {
// Heading.
if (\core\hub\registration::is_registered()) {
echo $OUTPUT->heading(get_string('updatesite', 'hub', 'Moodle.net'));
echo $OUTPUT->heading(get_string('registerwithmoodleorgupdate', 'core_hub'));
} else if ($isinitialregistration) {
echo $OUTPUT->heading(get_string('completeregistration', 'hub'));
echo $OUTPUT->heading(get_string('registerwithmoodleorgcomplete', 'core_hub'));
} else {
echo $OUTPUT->heading(get_string('registerwithmoodleorg', 'admin'));
echo $OUTPUT->heading(get_string('registerwithmoodleorg', 'core_hub'));
}
$renderer = $PAGE->get_renderer('core', 'admin');
+3 -3
View File
@@ -39,8 +39,8 @@ $token = optional_param('token', '', PARAM_TEXT);
admin_externalpage_setup('registrationmoodleorg');
if ($url !== HUB_MOODLEORGHUBURL) {
// Allow other plugins to renew registration on hubs other than moodle.net . Plugins implementing this
if (parse_url($url, PHP_URL_HOST) !== parse_url(HUB_MOODLEORGHUBURL, PHP_URL_HOST)) {
// Allow other plugins to renew registration on custom hubs. Plugins implementing this
// callback need to redirect or exit. See https://docs.moodle.org/en/Hub_registration .
$callbacks = get_plugins_with_function('hub_registration');
foreach ($callbacks as $plugintype => $plugins) {
@@ -56,7 +56,7 @@ if ($url !== HUB_MOODLEORGHUBURL) {
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('renewregistration', 'hub'), 3, 'main');
$hublink = html_writer::tag('a', 'Moodle.net', array('href' => HUB_MOODLEORGHUBURL));
$hublink = html_writer::tag('a', HUB_MOODLEORGHUBURL, array('href' => HUB_MOODLEORGHUBURL));
$deletedregmsg = get_string('previousregistrationdeleted', 'hub', $hublink);
+121 -70
View File
@@ -281,6 +281,7 @@ class core_admin_renderer extends plugin_renderer_base {
* @param bool $mobileconfigured Whether the mobile web services have been enabled
* @param bool $overridetossl Whether or not ssl is being forced.
* @param bool $invalidforgottenpasswordurl Whether the forgotten password URL does not link to a valid URL.
* @param bool $croninfrequent If true, warn that cron hasn't run in the past few minutes
*
* @return string HTML to output.
*/
@@ -288,7 +289,7 @@ class core_admin_renderer extends plugin_renderer_base {
$cronoverdue, $dbproblems, $maintenancemode, $availableupdates, $availableupdatesfetch,
$buggyiconvnomb, $registered, array $cachewarnings = array(), $eventshandlers = 0,
$themedesignermode = false, $devlibdir = false, $mobileconfigured = false,
$overridetossl = false, $invalidforgottenpasswordurl = false) {
$overridetossl = false, $invalidforgottenpasswordurl = false, $croninfrequent = false) {
global $CFG;
$output = '';
@@ -302,6 +303,7 @@ class core_admin_renderer extends plugin_renderer_base {
$output .= $this->display_errors_warning($errorsdisplayed);
$output .= $this->buggy_iconv_warning($buggyiconvnomb);
$output .= $this->cron_overdue_warning($cronoverdue);
$output .= $this->cron_infrequent_warning($croninfrequent);
$output .= $this->db_problems($dbproblems);
$output .= $this->maintenance_mode_warning($maintenancemode);
$output .= $this->overridetossl_warning($overridetossl);
@@ -359,14 +361,15 @@ class core_admin_renderer extends plugin_renderer_base {
$output = '';
if ($checker->enabled()) {
$output .= $this->container_start('checkforupdates');
$output .= $this->container_start('checkforupdates mb-4');
$output .= $this->single_button(
new moodle_url($reloadurl, array('fetchupdates' => 1)),
get_string('checkforupdates', 'core_plugin')
);
if ($timefetched = $checker->get_last_timefetched()) {
$timefetched = userdate($timefetched, get_string('strftimedatetime', 'core_langconfig'));
$output .= $this->container(get_string('checkforupdateslast', 'core_plugin', $timefetched), 'lasttimefetched');
$output .= $this->container(get_string('checkforupdateslast', 'core_plugin', $timefetched),
'lasttimefetched small text-muted mt-1');
}
$output .= $this->container_end();
}
@@ -614,6 +617,24 @@ class core_admin_renderer extends plugin_renderer_base {
$this->help_icon('cron', 'admin'));
}
/**
* Render an appropriate message if cron is not being run frequently (recommended every minute).
*
* @param bool $croninfrequent
* @return string HTML to output.
*/
public function cron_infrequent_warning(bool $croninfrequent) : string {
global $CFG;
if (!$croninfrequent) {
return '';
}
$expectedfrequency = $CFG->expectedcronfrequency ?? 200;
return $this->warning(get_string('croninfrequent', 'admin', $expectedfrequency) . '&nbsp;' .
$this->help_icon('cron', 'admin'));
}
/**
* Render an appropriate message if there are any problems with the DB set-up.
* @param bool $dbproblems
@@ -803,7 +824,7 @@ class core_admin_renderer extends plugin_renderer_base {
}
}
$updateinfo .= $this->container_start('checkforupdates');
$updateinfo .= $this->container_start('checkforupdates mt-1');
$fetchurl = new moodle_url('/admin/index.php', array('fetchupdates' => 1, 'sesskey' => sesskey(), 'cache' => 0));
$updateinfo .= $this->single_button($fetchurl, get_string('checkforupdates', 'core_plugin'));
if ($fetch) {
@@ -823,8 +844,7 @@ class core_admin_renderer extends plugin_renderer_base {
*/
protected function registration_warning($registered) {
if (!$registered) {
if (!$registered && site_is_public()) {
if (has_capability('moodle/site:config', context_system::instance())) {
$registerbutton = $this->single_button(new moodle_url('/admin/registration/index.php'),
get_string('register', 'admin'));
@@ -893,7 +913,7 @@ class core_admin_renderer extends plugin_renderer_base {
*/
protected function moodle_available_update_info(\core\update\info $updateinfo) {
$boxclasses = 'moodleupdateinfo';
$boxclasses = 'moodleupdateinfo mb-2';
$info = array();
if (isset($updateinfo->release)) {
@@ -913,7 +933,8 @@ class core_admin_renderer extends plugin_renderer_base {
}
if (isset($updateinfo->download)) {
$info[] = html_writer::link($updateinfo->download, get_string('download'), array('class' => 'info download'));
$info[] = html_writer::link($updateinfo->download, get_string('download'),
array('class' => 'info download btn btn-secondary'));
}
if (isset($updateinfo->url)) {
@@ -921,9 +942,9 @@ class core_admin_renderer extends plugin_renderer_base {
array('class' => 'info more'));
}
$box = $this->output->box_start($boxclasses);
$box .= $this->output->box(implode(html_writer::tag('span', ' ', array('class' => 'separator')), $info), '');
$box .= $this->output->box_end();
$box = $this->output->container_start($boxclasses);
$box .= $this->output->container(implode(html_writer::tag('span', ' | ', array('class' => 'separator')), $info), '');
$box .= $this->output->container_end();
return $box;
}
@@ -1035,7 +1056,7 @@ class core_admin_renderer extends plugin_renderer_base {
$displayname = new html_table_cell(
$icon.
html_writer::span($plugin->displayname, 'pluginname').
html_writer::div($plugin->get_dir(), 'plugindir')
html_writer::div($plugin->get_dir(), 'plugindir text-muted small')
);
$versiondb = new html_table_cell($plugin->versiondb);
@@ -1043,10 +1064,10 @@ class core_admin_renderer extends plugin_renderer_base {
if ($isstandard = $plugin->is_standard()) {
$row->attributes['class'] .= ' standard';
$sourcelabel = html_writer::span(get_string('sourcestd', 'core_plugin'), 'sourcetext label');
$sourcelabel = html_writer::span(get_string('sourcestd', 'core_plugin'), 'sourcetext badge badge-secondary');
} else {
$row->attributes['class'] .= ' extension';
$sourcelabel = html_writer::span(get_string('sourceext', 'core_plugin'), 'sourcetext label label-info');
$sourcelabel = html_writer::span(get_string('sourceext', 'core_plugin'), 'sourcetext badge badge-info');
}
$coredependency = $plugin->is_core_dependency_satisfied($version);
@@ -1055,22 +1076,22 @@ class core_admin_renderer extends plugin_renderer_base {
$statuscode = $plugin->get_status();
$row->attributes['class'] .= ' status-' . $statuscode;
$statusclass = 'statustext label ';
$statusclass = 'statustext badge ';
switch ($statuscode) {
case core_plugin_manager::PLUGIN_STATUS_NEW:
$statusclass .= $dependenciesok ? 'label-success' : 'label-warning';
$statusclass .= $dependenciesok ? 'badge-success' : 'badge-warning';
break;
case core_plugin_manager::PLUGIN_STATUS_UPGRADE:
$statusclass .= $dependenciesok ? 'label-info' : 'label-warning';
$statusclass .= $dependenciesok ? 'badge-info' : 'badge-warning';
break;
case core_plugin_manager::PLUGIN_STATUS_MISSING:
case core_plugin_manager::PLUGIN_STATUS_DOWNGRADE:
case core_plugin_manager::PLUGIN_STATUS_DELETE:
$statusclass .= 'label-important';
$statusclass .= 'badge-danger';
break;
case core_plugin_manager::PLUGIN_STATUS_NODB:
case core_plugin_manager::PLUGIN_STATUS_UPTODATE:
$statusclass .= $dependenciesok ? '' : 'label-warning';
$statusclass .= $dependenciesok ? 'badge-light' : 'badge-warning';
break;
}
$status = html_writer::span(get_string('status_' . $statuscode, 'core_plugin'), $statusclass);
@@ -1080,7 +1101,7 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('abortinstall' => $plugin->component)),
get_string('cancelinstallone', 'core_plugin'),
'post',
array('class' => 'actionbutton cancelinstallone')
array('class' => 'actionbutton cancelinstallone d-block mt-1')
);
}
@@ -1089,7 +1110,7 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('abortupgrade' => $plugin->component)),
get_string('cancelupgradeone', 'core_plugin'),
'post',
array('class' => 'actionbutton cancelupgradeone')
array('class' => 'actionbutton cancelupgradeone d-block mt-1')
);
}
@@ -1159,7 +1180,7 @@ class core_admin_renderer extends plugin_renderer_base {
}
}
$out .= $this->output->container_start('actions');
$out .= $this->output->container_start('actions mb-2');
$installableupdates = $pluginman->filter_installable($pluginman->available_updates());
if ($installableupdates) {
@@ -1167,7 +1188,7 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('installupdatex' => 1)),
get_string('updateavailableinstallall', 'core_admin', count($installableupdates)),
'post',
array('class' => 'singlebutton updateavailableinstallall')
array('class' => 'singlebutton updateavailableinstallall mr-1')
);
}
@@ -1176,7 +1197,7 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('abortinstallx' => 1)),
get_string('cancelinstallall', 'core_plugin', count($installabortable)),
'post',
array('class' => 'singlebutton cancelinstallall')
array('class' => 'singlebutton cancelinstallall mr-1')
);
}
@@ -1185,15 +1206,17 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('abortupgradex' => 1)),
get_string('cancelupgradeall', 'core_plugin', count($upgradeabortable)),
'post',
array('class' => 'singlebutton cancelupgradeall')
array('class' => 'singlebutton cancelupgradeall mr-1')
);
}
$out .= html_writer::div(html_writer::link(new moodle_url($this->page->url, array('showallplugins' => 0)),
get_string('plugincheckattention', 'core_plugin')).' '.html_writer::span($sumattention, 'badge'));
get_string('plugincheckattention', 'core_plugin')).' '.html_writer::span($sumattention, 'badge badge-light'),
'btn btn-link mr-1');
$out .= html_writer::div(html_writer::link(new moodle_url($this->page->url, array('showallplugins' => 1)),
get_string('plugincheckall', 'core_plugin')).' '.html_writer::span($sumtotal, 'badge'));
get_string('plugincheckall', 'core_plugin')).' '.html_writer::span($sumtotal, 'badge badge-light'),
'btn btn-link mr-1');
$out .= $this->output->container_end(); // End of .actions container.
$out .= $this->output->container_end(); // End of #plugins-check-info container.
@@ -1261,12 +1284,13 @@ class core_admin_renderer extends plugin_renderer_base {
}
}
$out = $this->output->container_start('plugins-check-dependencies');
$out = $this->output->container_start('plugins-check-dependencies mb-4');
if ($unavailable or $unknown) {
$out .= $this->output->heading(get_string('misdepsunavail', 'core_plugin'));
if ($unknown) {
$out .= $this->output->notification(get_string('misdepsunknownlist', 'core_plugin', implode($unknown, ', ')));
$out .= $this->output->render((new \core\output\notification(get_string('misdepsunknownlist', 'core_plugin',
implode(', ', $unknown))))->set_show_closebutton(false));
}
if ($unavailable) {
$unavailablelist = array();
@@ -1280,18 +1304,18 @@ class core_admin_renderer extends plugin_renderer_base {
}
$unavailablelist[] = $unavailablelistitem;
}
$out .= $this->output->notification(get_string('misdepsunavaillist', 'core_plugin',
implode($unavailablelist, ', ')));
$out .= $this->output->render((new \core\output\notification(get_string('misdepsunavaillist', 'core_plugin',
implode(', ', $unavailablelist))))->set_show_closebutton(false));
}
$out .= $this->output->container_start('plugins-check-dependencies-actions');
$out .= $this->output->container_start('plugins-check-dependencies-actions mb-4');
$out .= ' '.html_writer::link(new moodle_url('/admin/tool/installaddon/'),
get_string('dependencyuploadmissing', 'core_plugin'));
get_string('dependencyuploadmissing', 'core_plugin'), array('class' => 'btn btn-secondary'));
$out .= $this->output->container_end(); // End of .plugins-check-dependencies-actions container.
}
if ($available) {
$out .= $this->output->heading(get_string('misdepsavail', 'core_plugin'));
$out .= $this->output->container_start('plugins-check-dependencies-actions');
$out .= $this->output->container_start('plugins-check-dependencies-actions mb-2');
$installable = $pluginman->filter_installable($available);
if ($installable) {
@@ -1299,12 +1323,13 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('installdepx' => 1)),
get_string('dependencyinstallmissing', 'core_plugin', count($installable)),
'post',
array('class' => 'singlebutton dependencyinstallmissing')
array('class' => 'singlebutton dependencyinstallmissing d-inline-block mr-1')
);
}
$out .= html_writer::div(html_writer::link(new moodle_url('/admin/tool/installaddon/'),
get_string('dependencyuploadmissing', 'core_plugin')), 'dependencyuploadmissing');
get_string('dependencyuploadmissing', 'core_plugin'), array('class' => 'btn btn-link')),
'dependencyuploadmissing d-inline-block mr-1');
$out .= $this->output->container_end(); // End of .plugins-check-dependencies-actions container.
@@ -1343,9 +1368,9 @@ class core_admin_renderer extends plugin_renderer_base {
$supportedmoodles = array();
foreach ($plugin->version->supportedmoodles as $moodle) {
if ($CFG->branch == str_replace('.', '', $moodle->release)) {
$supportedmoodles[] = html_writer::span($moodle->release, 'label label-success');
$supportedmoodles[] = html_writer::span($moodle->release, 'badge badge-success');
} else {
$supportedmoodles[] = html_writer::span($moodle->release, 'label');
$supportedmoodles[] = html_writer::span($moodle->release, 'badge badge-light');
}
}
@@ -1359,7 +1384,7 @@ class core_admin_renderer extends plugin_renderer_base {
}
$info = html_writer::div(
get_string('requiredby', 'core_plugin', implode(', ', $requriedby)),
'requiredby'
'requiredby mb-1'
);
} else {
$info = '';
@@ -1370,35 +1395,36 @@ class core_admin_renderer extends plugin_renderer_base {
$info .= html_writer::div(
html_writer::link('https://moodle.org/plugins/view.php?plugin='.$plugin->component,
get_string('misdepinfoplugin', 'core_plugin')),
'misdepinfoplugin'
'misdepinfoplugin d-inline-block mr-3 mb-1'
);
$info .= html_writer::div(
html_writer::link('https://moodle.org/plugins/pluginversion.php?id='.$plugin->version->id,
get_string('misdepinfoversion', 'core_plugin')),
'misdepinfoversion'
'misdepinfoversion d-inline-block mr-3 mb-1'
);
$info .= html_writer::div(html_writer::link($plugin->version->downloadurl, get_string('download')), 'misdepdownload');
$info .= html_writer::div(html_writer::link($plugin->version->downloadurl, get_string('download')),
'misdepdownload d-inline-block mr-3 mb-1');
if ($pluginman->is_remote_plugin_installable($plugin->component, $plugin->version->version, $reason)) {
$info .= $this->output->single_button(
new moodle_url($this->page->url, array('installdep' => $plugin->component)),
get_string('dependencyinstall', 'core_plugin'),
'post',
array('class' => 'singlebutton dependencyinstall')
array('class' => 'singlebutton dependencyinstall mr-3 mb-1')
);
} else {
$reasonhelp = $this->info_remote_plugin_not_installable($reason);
if ($reasonhelp) {
$info .= html_writer::div($reasonhelp, 'reasonhelp dependencyinstall');
$info .= html_writer::div($reasonhelp, 'reasonhelp dependencyinstall d-inline-block mr-3 mb-1');
}
}
$info .= $this->output->container_end(); // End of .actions container.
$table->data[] = array(
html_writer::div($plugin->name, 'name').' '.html_writer::div($plugin->component, 'component'),
html_writer::div($plugin->name, 'name').' '.html_writer::div($plugin->component, 'component text-muted small'),
$plugin->version->release,
$plugin->version->version,
implode($supportedmoodles, ' '),
@@ -1444,27 +1470,29 @@ class core_admin_renderer extends plugin_renderer_base {
foreach ($pluginman->resolve_requirements($plugin, $version) as $reqname => $reqinfo) {
if ($reqname === 'core') {
if ($reqinfo->status == $pluginman::REQUIREMENT_STATUS_OK) {
$class = 'requires-ok';
$class = 'requires-ok text-muted';
$label = '';
} else {
$class = 'requires-failed';
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'label label-important');
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'badge badge-danger');
}
if ($reqinfo->reqver != ANY_VERSION) {
$requires[] = html_writer::tag('li',
html_writer::span(get_string('moodleversion', 'core_plugin', $plugin->versionrequires), 'dep dep-core').
' '.$label, array('class' => $class));
}
$requires[] = html_writer::tag('li',
html_writer::span(get_string('moodleversion', 'core_plugin', $plugin->versionrequires), 'dep dep-core').
' '.$label, array('class' => $class));
} else {
$actions = array();
if ($reqinfo->status == $pluginman::REQUIREMENT_STATUS_OK) {
$label = '';
$class = 'requires-ok';
$class = 'requires-ok text-muted';
} else if ($reqinfo->status == $pluginman::REQUIREMENT_STATUS_MISSING) {
if ($reqinfo->availability == $pluginman::REQUIREMENT_AVAILABLE) {
$label = html_writer::span(get_string('dependencymissing', 'core_plugin'), 'label label-warning');
$label .= ' '.html_writer::span(get_string('dependencyavailable', 'core_plugin'), 'label label-warning');
$label = html_writer::span(get_string('dependencymissing', 'core_plugin'), 'badge badge-warning');
$label .= ' '.html_writer::span(get_string('dependencyavailable', 'core_plugin'), 'badge badge-warning');
$class = 'requires-failed requires-missing requires-available';
$actions[] = html_writer::link(
new moodle_url('https://moodle.org/plugins/view.php', array('plugin' => $reqname)),
@@ -1472,24 +1500,24 @@ class core_admin_renderer extends plugin_renderer_base {
);
} else {
$label = html_writer::span(get_string('dependencymissing', 'core_plugin'), 'label label-important');
$label = html_writer::span(get_string('dependencymissing', 'core_plugin'), 'badge badge-danger');
$label .= ' '.html_writer::span(get_string('dependencyunavailable', 'core_plugin'),
'label label-important');
'badge badge-danger');
$class = 'requires-failed requires-missing requires-unavailable';
}
$displayuploadlink = true;
} else if ($reqinfo->status == $pluginman::REQUIREMENT_STATUS_OUTDATED) {
if ($reqinfo->availability == $pluginman::REQUIREMENT_AVAILABLE) {
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'label label-warning');
$label .= ' '.html_writer::span(get_string('dependencyavailable', 'core_plugin'), 'label label-warning');
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'badge badge-warning');
$label .= ' '.html_writer::span(get_string('dependencyavailable', 'core_plugin'), 'badge badge-warning');
$class = 'requires-failed requires-outdated requires-available';
$displayupdateslink = true;
} else {
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'label label-important');
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'badge badge-danger');
$label .= ' '.html_writer::span(get_string('dependencyunavailable', 'core_plugin'),
'label label-important');
'badge badge-danger');
$class = 'requires-failed requires-outdated requires-unavailable';
}
$displayuploadlink = true;
@@ -1513,13 +1541,14 @@ class core_admin_renderer extends plugin_renderer_base {
return '';
}
$out = html_writer::tag('ul', implode("\n", $requires));
$out = html_writer::tag('ul', implode("\n", $requires), array('class' => 'm-0'));
if ($displayuploadlink) {
$out .= html_writer::div(
html_writer::link(
new moodle_url('/admin/tool/installaddon/'),
get_string('dependencyuploadmissing', 'core_plugin')
get_string('dependencyuploadmissing', 'core_plugin'),
array('class' => 'btn btn-secondary btn-sm m-1')
),
'dependencyuploadmissing'
);
@@ -1529,7 +1558,8 @@ class core_admin_renderer extends plugin_renderer_base {
$out .= html_writer::div(
html_writer::link(
new moodle_url($this->page->url, array('sesskey' => sesskey(), 'fetchupdates' => 1)),
get_string('checkforupdates', 'core_plugin')
get_string('checkforupdates', 'core_plugin'),
array('class' => 'btn btn-secondary btn-sm m-1')
),
'checkforupdates'
);
@@ -1753,13 +1783,13 @@ class core_admin_renderer extends plugin_renderer_base {
$source = '';
} else {
$row->attributes['class'] .= ' extension';
$source = html_writer::div(get_string('sourceext', 'core_plugin'), 'source label label-info');
$source = html_writer::div(get_string('sourceext', 'core_plugin'), 'source badge badge-info');
}
if ($status === core_plugin_manager::PLUGIN_STATUS_MISSING) {
$msg = html_writer::div(get_string('status_missing', 'core_plugin'), 'statusmsg label label-important');
$msg = html_writer::div(get_string('status_missing', 'core_plugin'), 'statusmsg badge badge-danger');
} else if ($status === core_plugin_manager::PLUGIN_STATUS_NEW) {
$msg = html_writer::div(get_string('status_new', 'core_plugin'), 'statusmsg label label-success');
$msg = html_writer::div(get_string('status_new', 'core_plugin'), 'statusmsg badge badge-success');
} else {
$msg = '';
}
@@ -1998,15 +2028,15 @@ class core_admin_renderer extends plugin_renderer_base {
// Format error or warning line
if ($errorline) {
$messagetype = 'error';
$statusclass = 'label-important';
$statusclass = 'badge-danger';
} else if ($warningline) {
$messagetype = 'warn';
$statusclass = 'label-warning';
$statusclass = 'badge-warning';
} else {
$messagetype = 'ok';
$statusclass = 'label-success';
$statusclass = 'badge-success';
}
$status = html_writer::span($status, 'label ' . $statusclass);
$status = html_writer::span($status, 'badge ' . $statusclass);
// Here we'll store all the feedback found
$feedbacktext = '';
// Append the feedback if there is some
@@ -2091,6 +2121,27 @@ class core_admin_renderer extends plugin_renderer_base {
* @return string
*/
public function moodleorg_registration_message() {
return format_text(get_string('registermoodlenet', 'admin'), FORMAT_HTML, ['noclean' => true]);
$out = format_text(get_string('registerwithmoodleorginfo', 'core_hub'), FORMAT_MARKDOWN);
$out .= html_writer::link(
new moodle_url('/admin/settings.php', ['section' => 'moodleservices']),
$this->output->pix_icon('i/info', '').' '.get_string('registerwithmoodleorginfoapp', 'core_hub'),
['class' => 'btn btn-link', 'role' => 'opener', 'target' => '_href']
);
$out .= html_writer::link(
HUB_MOODLEORGHUBURL,
$this->output->pix_icon('i/stats', '').' '.get_string('registerwithmoodleorginfostats', 'core_hub'),
['class' => 'btn btn-link', 'role' => 'opener', 'target' => '_href']
);
$out .= html_writer::link(
HUB_MOODLEORGHUBURL.'/sites',
$this->output->pix_icon('i/location', '').' '.get_string('registerwithmoodleorginfosites', 'core_hub'),
['class' => 'btn btn-link', 'role' => 'opener', 'target' => '_href']
);
return $this->output->box($out);
}
}
+2 -5
View File
@@ -36,15 +36,12 @@ if (!is_siteadmin()) {
}
$admisselector = new core_role_admins_existing_selector();
$admisselector->set_extra_fields(array('username', 'email'));
$potentialadmisselector = new core_role_admins_potential_selector();
$potentialadmisselector->set_extra_fields(array('username', 'email'));
if (optional_param('add', false, PARAM_BOOL) and confirm_sesskey()) {
if ($userstoadd = $potentialadmisselector->get_selected_users()) {
$user = reset($userstoadd);
$username = fullname($user) . " ($user->username, $user->email)";
$username = $potentialadmisselector->output_user($user);
echo $OUTPUT->header();
$yesurl = new moodle_url('/admin/roles/admins.php', array('confirmadd'=>$user->id, 'sesskey'=>sesskey()));
echo $OUTPUT->confirm(get_string('confirmaddadmin', 'core_role', $username), $yesurl, $PAGE->url);
@@ -58,7 +55,7 @@ if (optional_param('add', false, PARAM_BOOL) and confirm_sesskey()) {
if ($USER->id == $user->id) {
// Can not remove self.
} else {
$username = fullname($user) . " ($user->username, $user->email)";
$username = $admisselector->output_user($user);
echo $OUTPUT->header();
$yesurl = new moodle_url('/admin/roles/admins.php', array('confirmdel'=>$user->id, 'sesskey'=>sesskey()));
echo $OUTPUT->confirm(get_string('confirmdeladmin', 'core_role', $username), $yesurl, $PAGE->url);
+5 -2
View File
@@ -69,8 +69,11 @@ class core_role_check_users_selector extends user_selector_base {
if ($coursecontext and $coursecontext != SITEID) {
$sql1 = " FROM {user} u
JOIN {user_enrolments} ue ON (ue.userid = u.id)
JOIN {enrol} e ON (e.id = ue.enrolid AND e.courseid = :courseid1)
JOIN (SELECT DISTINCT subu.id
FROM {user} subu
JOIN {user_enrolments} ue ON (ue.userid = subu.id)
JOIN {enrol} e ON (e.id = ue.enrolid AND e.courseid = :courseid1)
) subq ON subq.id = u.id
WHERE $wherecondition";
$params['courseid1'] = $coursecontext->instanceid;
@@ -157,19 +157,19 @@ class core_role_define_role_table_advanced extends core_role_capability_table_wi
// Allowed roles.
$allow = optional_param_array('allowassign', null, PARAM_INT);
if (!is_null($allow)) {
$this->allowassign = $allow;
$this->allowassign = array_filter($allow);
}
$allow = optional_param_array('allowoverride', null, PARAM_INT);
if (!is_null($allow)) {
$this->allowoverride = $allow;
$this->allowoverride = array_filter($allow);
}
$allow = optional_param_array('allowswitch', null, PARAM_INT);
if (!is_null($allow)) {
$this->allowswitch = $allow;
$this->allowswitch = array_filter($allow);
}
$allow = optional_param_array('allowview', null, PARAM_INT);
if (!is_null($allow)) {
$this->allowview = $allow;
$this->allowview = array_filter($allow);
}
// Now read the permissions for each capability.
@@ -589,7 +589,9 @@ class core_role_define_role_table_advanced extends core_role_capability_table_wi
if ($this->roleid == 0) {
$options[-1] = get_string('thisnewrole', 'core_role');
}
return html_writer::select($options, 'allow'.$type.'[]', $selected, false, array('multiple' => 'multiple',
return
html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'allow'.$type.'[]', 'value' => "")) .
html_writer::select($options, 'allow'.$type.'[]', $selected, false, array('multiple' => 'multiple',
'size' => 10, 'class' => 'form-control'));
}
@@ -623,7 +625,7 @@ class core_role_define_role_table_advanced extends core_role_capability_table_wi
echo "</label>\n";
}
if ($helpicon) {
echo '<span class="pull-xs-right text-nowrap">'.$helpicon.'</span>';
echo '<span class="float-sm-right text-nowrap">'.$helpicon.'</span>';
}
echo '</div>';
if (isset($this->errors[$name])) {
+2 -2
View File
@@ -96,7 +96,7 @@ class core_role_permissions_table extends core_role_capability_table_base {
"linkclass" => "preventlink", "adminurl" => $adminurl->out(), "icon" => "", "iconalt" => "");
if (isset($overridableroles[$id]) and ($allowoverrides or ($allowsafeoverrides and is_safe_capability($capability)))) {
$templatecontext['icon'] = 't/delete';
$templatecontext['iconalt'] = get_string('delete');
$templatecontext['iconalt'] = get_string('deletexrole', 'core_role', $name);
}
$neededroles[$id] = $renderer->render_from_template('core/permissionmanager_role', $templatecontext);
}
@@ -109,7 +109,7 @@ class core_role_permissions_table extends core_role_capability_table_base {
"icon" => "", "iconalt" => "");
if (isset($overridableroles[$id]) and prohibit_is_removable($id, $context, $capability->name)) {
$templatecontext['icon'] = 't/delete';
$templatecontext['iconalt'] = get_string('delete');
$templatecontext['iconalt'] = get_string('deletexrole', 'core_role', $name);
}
$forbiddenroles[$id] = $renderer->render_from_template('core/permissionmanager_role', $templatecontext);
}
+1 -1
View File
@@ -51,7 +51,7 @@ M.core_role.init_cap_table_filter = function(Y, tableid, contextid) {
marginRight : 'auto'
});
// Create the capability search input.
this.input = Y.Node.create('<input class="form-control m-x-1" type="text"' +
this.input = Y.Node.create('<input class="form-control mx-1" type="text"' +
' id="'+this.table.get('id')+'capabilitysearch" value="'+Y.Escape.html(filtervalue)+'" />');
// Create a label for the search input.
this.label = Y.Node.create('<label for="' + this.input.get('id') + '">' +
+1 -1
View File
@@ -213,7 +213,7 @@ $arguments = array('contextid' => $contextid,
$PAGE->requires->strings_for_js(
array('roleprohibitinfo', 'roleprohibitheader', 'roleallowinfo', 'roleallowheader',
'confirmunassigntitle', 'confirmroleunprohibit', 'confirmroleprevent', 'confirmunassignyes',
'confirmunassignno'), 'core_role');
'confirmunassignno', 'deletexrole'), 'core_role');
$PAGE->requires->js_call_amd('core/permissionmanager', 'initialize', array($arguments));
$table = new core_role_permissions_table($context, $contextname, $allowoverrides, $allowsafeoverrides, $overridableroles);
echo $OUTPUT->box_start('generalbox capbox');
+9
View File
@@ -153,6 +153,7 @@ $table = new html_table();
$table->id = 'core-search-areas';
$table->head = [
get_string('searcharea', 'search'),
get_string('searchareacategories', 'search'),
get_string('enable'),
get_string('newestdocindexed', 'admin'),
get_string('searchlastrun', 'admin'),
@@ -165,6 +166,14 @@ foreach ($searchareas as $area) {
$areaid = $area->get_area_id();
$columns = array(new html_table_cell($area->get_visible_name()));
$areacategories = [];
foreach (\core_search\manager::get_search_area_categories() as $category) {
if (key_exists($areaid, $category->get_areas())) {
$areacategories[] = $category->get_visiblename();
}
}
$columns[] = new html_table_cell(implode(', ', $areacategories));
if ($area->is_enabled()) {
$columns[] = $OUTPUT->action_icon(admin_searcharea_action_url('disable', $areaid),
new pix_icon('t/hide', get_string('disable'), 'moodle', array('title' => '', 'class' => 'iconsmall')),
+7
View File
@@ -156,4 +156,11 @@ $PAGE->requires->yui_module('moodle-core-formchangechecker',
);
$PAGE->requires->string_for_js('changesmadereallygoaway', 'moodle');
if ($settingspage->has_dependencies()) {
$opts = [
'dependencies' => $settingspage->get_dependencies_for_javascript()
];
$PAGE->requires->js_call_amd('core/showhidesettings', 'init', [$opts]);
}
echo $OUTPUT->footer();
+46 -3
View File
@@ -25,10 +25,52 @@
defined('MOODLE_INTERNAL') || die();
if ($hassiteconfig) {
$settings = new admin_settingpage('analyticssite', new lang_string('analyticssiteinfo', 'analytics'));
$ADMIN->add('analytics', $settings);
if ($ADMIN->fulltree) {
$modeinstructions = [
'facetoface' => get_string('modeinstructionfacetoface', 'analytics'),
'blendedhybrid' => get_string('modeinstructionblendedhybrid', 'analytics'),
'fullyonline' => get_string('modeinstructionfullyonline', 'analytics'),
];
$settings->add(new admin_setting_configmultiselect('analytics/modeinstruction', get_string('modeinstruction', 'analytics'),
'', [], $modeinstructions));
$settings->add(new admin_setting_configtext_with_maxlength('analytics/percentonline',
get_string('percentonline', 'analytics'),
get_string('percentonline_help', 'analytics'), '', PARAM_INT, 3, 3));
$typeinstitutions = [
'typeinstitutionacademic' => get_string('typeinstitutionacademic', 'analytics'),
'typeinstitutiontraining' => get_string('typeinstitutiontraining', 'analytics'),
'typeinstitutionngo' => get_string('typeinstitutionngo', 'analytics'),
];
$settings->add(new admin_setting_configmultiselect('analytics/typeinstitution', get_string('typeinstitution', 'analytics'),
'', [], $typeinstitutions));
$levelinstitutions = [
'levelinstitutionisced0' => get_string('levelinstitutionisced0', 'analytics'),
'levelinstitutionisced1' => get_string('levelinstitutionisced1', 'analytics'),
'levelinstitutionisced2' => get_string('levelinstitutionisced2', 'analytics'),
'levelinstitutionisced3' => get_string('levelinstitutionisced3', 'analytics'),
'levelinstitutionisced4' => get_string('levelinstitutionisced4', 'analytics'),
'levelinstitutionisced5' => get_string('levelinstitutionisced5', 'analytics'),
'levelinstitutionisced6' => get_string('levelinstitutionisced6', 'analytics'),
'levelinstitutionisced7' => get_string('levelinstitutionisced7', 'analytics'),
'levelinstitutionisced8' => get_string('levelinstitutionisced8', 'analytics'),
];
$settings->add(new admin_setting_configmultiselect('analytics/levelinstitution',
get_string('levelinstitution', 'analytics'), '', [], $levelinstitutions));
}
$settings = new admin_settingpage('analyticssettings', new lang_string('analyticssettings', 'analytics'));
$ADMIN->add('analytics', $settings);
if ($ADMIN->fulltree) {
// Select the site prediction's processor.
$predictionprocessors = \core_analytics\manager::get_all_prediction_processors();
$predictors = array();
@@ -75,7 +117,7 @@ if ($hassiteconfig) {
$defaultreader, $options));
// Enable/disable time splitting methods.
$alltimesplittings = \core_analytics\manager::get_all_time_splittings();
$alltimesplittings = \core_analytics\manager::get_time_splitting_methods_for_evaluation(true);
$timesplittingoptions = array();
$timesplittingdefaults = array('\core\analytics\time_splitting\quarters_accum',
@@ -83,8 +125,9 @@ if ($hassiteconfig) {
foreach ($alltimesplittings as $key => $timesplitting) {
$timesplittingoptions[$key] = $timesplitting->get_name();
}
$settings->add(new admin_setting_configmultiselect('analytics/timesplittings',
new lang_string('enabledtimesplittings', 'analytics'), new lang_string('timesplittingmethod_help', 'analytics'),
$settings->add(new admin_setting_configmultiselect('analytics/defaulttimesplittingsevaluation',
new lang_string('defaulttimesplittingmethods', 'analytics'),
new lang_string('defaulttimesplittingmethods_help', 'analytics'),
$timesplittingdefaults, $timesplittingoptions)
);
-1
View File
@@ -25,7 +25,6 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) { // sp
$temp->add(new admin_setting_configcheckbox('allowcohortthemes', new lang_string('allowcohortthemes', 'admin'), new lang_string('configallowcohortthemes', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('allowthemechangeonurl', new lang_string('allowthemechangeonurl', 'admin'), new lang_string('configallowthemechangeonurl', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('allowuserblockhiding', new lang_string('allowuserblockhiding', 'admin'), new lang_string('configallowuserblockhiding', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('allowblockstodock', new lang_string('allowblockstodock', 'admin'), new lang_string('configallowblockstodock', 'admin'), 1));
$temp->add(new admin_setting_configtextarea('custommenuitems', new lang_string('custommenuitems', 'admin'),
new lang_string('configcustommenuitems', 'admin'), '', PARAM_RAW, '50', '10'));
$temp->add(new admin_setting_configtextarea(
+33 -3
View File
@@ -57,9 +57,11 @@ if (($hassiteconfig || has_any_capability(array(
new lang_string('badgesalt_desc', 'badges'),
'badges' . $SITE->timecreated, PARAM_ALPHANUM));
$globalsettings->add(new admin_setting_configcheckbox('badges_allowexternalbackpack',
new lang_string('allowexternalbackpack', 'badges'),
new lang_string('allowexternalbackpack_desc', 'badges'), 1));
$backpacks = badges_get_site_backpacks();
$choices = array();
foreach ($backpacks as $backpack) {
$choices[$backpack->id] = $backpack->backpackweburl;
}
$globalsettings->add(new admin_setting_configcheckbox('badges_allowcoursebadges',
new lang_string('allowcoursebadges', 'badges'),
@@ -91,4 +93,32 @@ if (($hassiteconfig || has_any_capability(array(
array('moodle/badges:createbadge'), empty($CFG->enablebadges)
)
);
$backpacksettings = new admin_settingpage('backpacksettings', new lang_string('backpacksettings', 'badges'),
array('moodle/badges:manageglobalsettings'), empty($CFG->enablebadges));
$backpacksettings->add(new admin_setting_configcheckbox('badges_allowexternalbackpack',
new lang_string('allowexternalbackpack', 'badges'),
new lang_string('allowexternalbackpack_desc', 'badges'), 1));
$backpacksettings->add(new admin_setting_configselect('badges_site_backpack',
new lang_string('sitebackpack', 'badges'),
new lang_string('sitebackpack_help', 'badges'),
1, $choices));
$warning = badges_verify_site_backpack();
if (!empty($warning)) {
$backpacksettings->add(new admin_setting_description('badges_site_backpack_verify',
new lang_string('sitebackpackverify', 'badges'),
$warning));
}
$ADMIN->add('badges', $backpacksettings);
$ADMIN->add('badges',
new admin_externalpage('managebackpacks',
new lang_string('managebackpacks', 'badges'),
new moodle_url('/badges/backpacks.php'),
array('moodle/badges:manageglobalsettings'), empty($CFG->enablebadges) || empty($CFG->badges_allowexternalbackpack)
)
);
}
+35 -1
View File
@@ -37,6 +37,12 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
array('moodle/category:manage', 'moodle/course:create')
)
);
$ADMIN->add('courses',
new admin_externalpage('course_customfield', new lang_string('course_customfield', 'admin'),
$CFG->wwwroot . '/course/customfield.php',
array('moodle/course:configurecustomfields')
)
);
$ADMIN->add('courses',
new admin_externalpage('addcategory', new lang_string('addcategory', 'admin'),
new moodle_url('/course/editcategory.php', array('parent' => 0)),
@@ -330,7 +336,7 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_skip_modif_prev', new lang_string('skipmodifprev', 'backup'), new lang_string('skipmodifprevhelp', 'backup'), 0));
// Automated defaults section.
$temp->add(new admin_setting_heading('automatedsettings', new lang_string('automatedsettings','backup'), ''));
$temp->add(new admin_setting_heading('automatedsettings', new lang_string('automatedsettings','backup'), new lang_string('recyclebin_desc', 'backup')));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_users', new lang_string('generalusers', 'backup'), new lang_string('configgeneralusers', 'backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_role_assignments', new lang_string('generalroleassignments','backup'), new lang_string('configgeneralroleassignments','backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_activities', new lang_string('generalactivities','backup'), new lang_string('configgeneralactivities','backup'), 1));
@@ -452,4 +458,32 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
$ADMIN->add('backups', $temp);
// Create a page for asynchronous backup and restore configuration and defaults.
$temp = new admin_settingpage('asyncgeneralsettings', new lang_string('asyncgeneralsettings', 'backup'));
$temp->add(new admin_setting_configcheckbox('enableasyncbackup', new lang_string('enableasyncbackup', 'backup'),
new lang_string('enableasyncbackup_help', 'backup'), 0, 1, 0));
$temp->add(new admin_setting_configcheckbox(
'backup/backup_async_message_users',
new lang_string('asyncemailenable', 'backup'),
new lang_string('asyncemailenabledetail', 'backup'), 0));
$temp->hide_if('backup/backup_async_message_users', 'enableasyncbackup');
$temp->add(new admin_setting_configtext(
'backup/backup_async_message_subject',
new lang_string('asyncmessagesubject', 'backup'),
new lang_string('asyncmessagesubjectdetail', 'backup'),
new lang_string('asyncmessagesubjectdefault', 'backup')));
$temp->hide_if('backup/backup_async_message_subject', 'backup/backup_async_message_users');
$temp->add(new admin_setting_confightmleditor(
'backup/backup_async_message',
new lang_string('asyncmessagebody', 'backup'),
new lang_string('asyncmessagebodydetail', 'backup'),
new lang_string('asyncmessagebodydefault', 'backup')));
$temp->hide_if('backup/backup_async_message', 'backup/backup_async_message_users');
$ADMIN->add('backups', $temp);
}
+2
View File
@@ -59,6 +59,8 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$temp->add(new admin_setting_configcheckbox('profilingallowme', new lang_string('profilingallowme', 'admin'), new lang_string('profilingallowme_help', 'admin'), false));
// Allow PROFILEALL/PROFILEALLSTOP GPC.
$temp->add(new admin_setting_configcheckbox('profilingallowall', new lang_string('profilingallowall', 'admin'), new lang_string('profilingallowall_help', 'admin'), false));
$temp->add(new admin_setting_configtext('profilingslow', new lang_string('profilingslow', 'admin'),
new lang_string('profilingslow_help', 'admin'), 0, PARAM_FLOAT));
// TODO: Allow to skip PHP functions (XHPROF_FLAGS_NO_BUILTINS)
// TODO: Allow to skip call_user functions (ignored_functions array)
// Specify the life time (in minutes) of profiling runs.
+78
View File
@@ -0,0 +1,78 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Adds messaging related settings links for Messaging category to admin tree.
*
* @copyright 2019 Amaia Anabitarte <amaia@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
if ($hassiteconfig) {
$temp = new admin_settingpage('messages', new lang_string('messagingssettings', 'admin'));
$temp->add(new admin_setting_configcheckbox('messaging',
new lang_string('messaging', 'admin'),
new lang_string('configmessaging', 'admin'),
1));
$temp->add(new admin_setting_configcheckbox('messagingallusers',
new lang_string('messagingallusers', 'admin'),
new lang_string('configmessagingallusers', 'admin'),
0)
);
$temp->add(new admin_setting_configcheckbox('messagingdefaultpressenter',
new lang_string('messagingdefaultpressenter', 'admin'),
new lang_string('configmessagingdefaultpressenter', 'admin'),
1)
);
$options = array(
DAYSECS => new lang_string('secondstotime86400'),
WEEKSECS => new lang_string('secondstotime604800'),
2620800 => new lang_string('nummonths', 'moodle', 1),
7862400 => new lang_string('nummonths', 'moodle', 3),
15724800 => new lang_string('nummonths', 'moodle', 6),
0 => new lang_string('never')
);
$temp->add(new admin_setting_configselect(
'messagingdeletereadnotificationsdelay',
new lang_string('messagingdeletereadnotificationsdelay', 'admin'),
new lang_string('configmessagingdeletereadnotificationsdelay', 'admin'),
604800,
$options)
);
$temp->add(new admin_setting_configselect(
'messagingdeleteallnotificationsdelay',
new lang_string('messagingdeleteallnotificationsdelay', 'admin'),
new lang_string('configmessagingdeleteallnotificationsdelay', 'admin'),
2620800,
$options)
);
$temp->add(new admin_setting_configcheckbox('messagingallowemailoverride',
new lang_string('messagingallowemailoverride', 'admin'),
new lang_string('configmessagingallowemailoverride', 'admin'),
0));
$ADMIN->add('messaging', $temp);
$ADMIN->add('messaging', new admin_page_managemessageoutputs());
// Notification outputs plugins.
$plugins = core_plugin_manager::instance()->get_plugins_of_type('message');
core_collator::asort_objects_by_property($plugins, 'displayname');
foreach ($plugins as $plugin) {
/** @var \core\plugininfo\message $plugin */
$plugin->load_settings($ADMIN, 'messaging', $hassiteconfig);
}
}
+36 -12
View File
@@ -59,6 +59,18 @@ if ($hassiteconfig) {
$plugin->load_settings($ADMIN, 'formatsettings', $hassiteconfig);
}
// Custom fields.
$ADMIN->add('modules', new admin_category('customfieldsettings', new lang_string('customfields', 'core_customfield')));
$temp = new admin_settingpage('managecustomfields', new lang_string('managecustomfields', 'core_admin'));
$temp->add(new admin_setting_managecustomfields());
$ADMIN->add('customfieldsettings', $temp);
$plugins = core_plugin_manager::instance()->get_plugins_of_type('customfield');
core_collator::asort_objects_by_property($plugins, 'displayname');
foreach ($plugins as $plugin) {
/** @var \core\plugininfo\customfield $plugin */
$plugin->load_settings($ADMIN, 'customfieldsettings', $hassiteconfig);
}
// blocks
$ADMIN->add('modules', new admin_category('blocksettings', new lang_string('blocks')));
$ADMIN->add('blocksettings', new admin_page_manageblocks());
@@ -69,17 +81,6 @@ if ($hassiteconfig) {
$plugin->load_settings($ADMIN, 'blocksettings', $hassiteconfig);
}
// message outputs
$ADMIN->add('modules', new admin_category('messageoutputs', new lang_string('messageoutputs', 'message')));
$ADMIN->add('messageoutputs', new admin_page_managemessageoutputs());
$ADMIN->add('messageoutputs', new admin_page_defaultmessageoutputs());
$plugins = core_plugin_manager::instance()->get_plugins_of_type('message');
core_collator::asort_objects_by_property($plugins, 'displayname');
foreach ($plugins as $plugin) {
/** @var \core\plugininfo\message $plugin */
$plugin->load_settings($ADMIN, 'messageoutputs', $hassiteconfig);
}
// authentication plugins
$ADMIN->add('modules', new admin_category('authsettings', new lang_string('authentication', 'admin')));
@@ -564,14 +565,37 @@ if ($hassiteconfig) {
$temp->add(new admin_setting_configduration('searchindextime',
new lang_string('searchindextime', 'admin'), new lang_string('searchindextime_desc', 'admin'),
600));
$temp->add(new admin_setting_heading('searchcoursesheading', new lang_string('searchablecourses', 'admin'), ''));
$options = [
0 => new lang_string('searchallavailablecourses_off', 'admin'),
1 => new lang_string('searchallavailablecourses_on', 'admin')
];
$temp->add(new admin_setting_configselect('searchallavailablecourses',
new lang_string('searchallavailablecourses', 'admin'),
new lang_string('searchallavailablecourses_desc', 'admin'),
new lang_string('searchallavailablecoursesdesc', 'admin'),
0, $options));
$temp->add(new admin_setting_configcheckbox('searchincludeallcourses',
new lang_string('searchincludeallcourses', 'admin'), new lang_string('searchincludeallcourses_desc', 'admin'),
0));
// Search display options.
$temp->add(new admin_setting_heading('searchdisplay', new lang_string('searchdisplay', 'admin'), ''));
$temp->add(new admin_setting_configcheckbox('searchenablecategories',
new lang_string('searchenablecategories', 'admin'),
new lang_string('searchenablecategories_desc', 'admin'),
0));
$options = [];
foreach (\core_search\manager::get_search_area_categories() as $category) {
$options[$category->get_name()] = $category->get_visiblename();
}
$temp->add(new admin_setting_configselect('searchdefaultcategory',
new lang_string('searchdefaultcategory', 'admin'),
new lang_string('searchdefaultcategory_desc', 'admin'),
\core_search\manager::SEARCH_AREA_CATEGORY_ALL, $options));
$temp->add(new admin_setting_configcheckbox('searchhideallcategory',
new lang_string('searchhideallcategory', 'admin'),
new lang_string('searchhideallcategory_desc', 'admin'),
0));
$ADMIN->add('searchplugins', $temp);
$ADMIN->add('searchplugins', new admin_externalpage('searchareas', new lang_string('searchareas', 'admin'),
+98 -2
View File
@@ -4,7 +4,6 @@
if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
// "systempaths" settingpage
$temp = new admin_settingpage('systempaths', new lang_string('systempaths','admin'));
$temp->add(new admin_setting_configexecutable('pathtophp', new lang_string('pathtophp', 'admin'),
@@ -98,7 +97,10 @@ $options = array(
GETREMOTEADDR_SKIP_HTTP_CLIENT_IP => 'HTTP_X_FORWARDED_FOR, REMOTE_ADDR',
GETREMOTEADDR_SKIP_HTTP_X_FORWARDED_FOR => 'HTTP_CLIENT, REMOTE_ADDR',
GETREMOTEADDR_SKIP_HTTP_X_FORWARDED_FOR|GETREMOTEADDR_SKIP_HTTP_CLIENT_IP => 'REMOTE_ADDR');
$temp->add(new admin_setting_configselect('getremoteaddrconf', new lang_string('getremoteaddrconf', 'admin'), new lang_string('configgetremoteaddrconf', 'admin'), 0, $options));
$temp->add(new admin_setting_configselect('getremoteaddrconf', new lang_string('getremoteaddrconf', 'admin'),
new lang_string('configgetremoteaddrconf', 'admin'),
GETREMOTEADDR_SKIP_HTTP_X_FORWARDED_FOR|GETREMOTEADDR_SKIP_HTTP_CLIENT_IP, $options));
$temp->add(new admin_setting_configtext('reverseproxyignore', new lang_string('reverseproxyignore', 'admin'), new lang_string('configreverseproxyignore', 'admin'), ''));
$temp->add(new admin_setting_heading('webproxy', new lang_string('webproxy', 'admin'), new lang_string('webproxyinfo', 'admin')));
$temp->add(new admin_setting_configtext('proxyhost', new lang_string('proxyhost', 'admin'), new lang_string('configproxyhost', 'admin'), '', PARAM_HOST));
@@ -177,6 +179,8 @@ $ADMIN->add('server', $temp);
$ADMIN->add('server', new admin_externalpage('environment', new lang_string('environment','admin'), "$CFG->wwwroot/$CFG->admin/environment.php"));
$ADMIN->add('server', new admin_externalpage('phpinfo', new lang_string('phpinfo'), "$CFG->wwwroot/$CFG->admin/phpinfo.php"));
$ADMIN->add('server', new admin_externalpage('testoutgoingmailconf', new lang_string('testoutgoingmailconf', 'admin'),
new moodle_url("$CFG->wwwroot/$CFG->admin/testoutgoingmailconf.php"), 'moodle/site:config', true));
// "performance" settingpage
@@ -212,6 +216,92 @@ $temp->add(new admin_setting_configtext('curltimeoutkbitrate', new lang_string('
$ADMIN->add('server', $temp);
$ADMIN->add('server', new admin_category('taskconfig', new lang_string('taskadmintitle', 'admin')));
$temp = new admin_settingpage('taskprocessing', new lang_string('taskprocessing','admin'));
$temp->add(
new admin_setting_configtext(
'task_scheduled_concurrency_limit',
new lang_string('task_scheduled_concurrency_limit', 'admin'),
new lang_string('task_scheduled_concurrency_limit_desc', 'admin'),
3,
PARAM_INT
)
);
$temp->add(
new admin_setting_configduration(
'task_scheduled_max_runtime',
new lang_string('task_scheduled_max_runtime', 'admin'),
new lang_string('task_scheduled_max_runtime_desc', 'admin'),
30 * MINSECS
)
);
$temp->add(
new admin_setting_configtext(
'task_adhoc_concurrency_limit',
new lang_string('task_adhoc_concurrency_limit', 'admin'),
new lang_string('task_adhoc_concurrency_limit_desc', 'admin'),
3,
PARAM_INT
)
);
$temp->add(
new admin_setting_configduration(
'task_adhoc_max_runtime',
new lang_string('task_adhoc_max_runtime', 'admin'),
new lang_string('task_adhoc_max_runtime_desc', 'admin'),
30 * MINSECS
)
);
$ADMIN->add('taskconfig', $temp);
$temp = new admin_settingpage('tasklogging', new lang_string('tasklogging','admin'));
$temp->add(
new admin_setting_configselect(
'task_logmode',
new lang_string('task_logmode', 'admin'),
new lang_string('task_logmode_desc', 'admin'),
\core\task\logmanager::MODE_ALL,
[
\core\task\logmanager::MODE_ALL => new lang_string('task_logmode_all', 'admin'),
\core\task\logmanager::MODE_FAILONLY => new lang_string('task_logmode_failonly', 'admin'),
\core\task\logmanager::MODE_NONE => new lang_string('task_logmode_none', 'admin'),
]
)
);
if (\core\task\logmanager::uses_standard_settings()) {
$temp->add(
new admin_setting_configduration(
'task_logretention',
new \lang_string('task_logretention', 'admin'),
new \lang_string('task_logretention_desc', 'admin'),
28 * DAYSECS
)
);
$temp->add(
new admin_setting_configtext(
'task_logretainruns',
new \lang_string('task_logretainruns', 'admin'),
new \lang_string('task_logretainruns_desc', 'admin'),
20,
PARAM_INT
)
);
}
$ADMIN->add('taskconfig', $temp);
if (\core\task\logmanager::uses_standard_settings()) {
$ADMIN->add('taskconfig', new admin_externalpage(
'tasklogs',
new lang_string('tasklogs','admin'),
"{$CFG->wwwroot}/{$CFG->admin}/tasklogs.php"
));
}
// E-mail settings.
$ADMIN->add('server', new admin_category('email', new lang_string('categoryemail', 'admin')));
@@ -241,6 +331,10 @@ $temp->add(new admin_setting_configtextarea('allowedemaildomains',
new lang_string('allowedemaildomains', 'admin'),
new lang_string('configallowedemaildomains', 'admin'),
''));
$url = new moodle_url('/admin/testoutgoingmailconf.php');
$link = html_writer::link($url, get_string('testoutgoingmailconf', 'admin'));
$temp->add(new admin_setting_heading('testoutgoinmailc', new lang_string('testoutgoingmailconf', 'admin'),
new lang_string('testoutgoingmaildetail', 'admin', $link)));
$temp->add(new admin_setting_heading('emaildoesnotfit', new lang_string('doesnotfit', 'admin'),
new lang_string('doesnotfitdetail', 'admin')));
$charsets = get_list_of_charsets();
@@ -263,6 +357,8 @@ $choices = array(new lang_string('never', 'admin'),
new lang_string('onlynoreply', 'admin'));
$temp->add(new admin_setting_configselect('emailfromvia', new lang_string('emailfromvia', 'admin'),
new lang_string('configemailfromvia', 'admin'), 1, $choices));
$temp->add(new admin_setting_configtext('emailsubjectprefix', new lang_string('emailsubjectprefix', 'admin'),
new lang_string('configemailsubjectprefix', 'admin'), '', PARAM_RAW));
$ADMIN->add('email', $temp);
-13
View File
@@ -13,19 +13,6 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$optionalsubsystems->add(new admin_setting_configcheckbox('enablewebservices', new lang_string('enablewebservices', 'admin'), new lang_string('configenablewebservices', 'admin'), 0));
$optionalsubsystems->add(new admin_setting_configcheckbox('messaging', new lang_string('messaging', 'admin'), new lang_string('configmessaging','admin'), 1));
$optionalsubsystems->add(new admin_setting_configcheckbox('messagingallusers',
new lang_string('messagingallusers', 'admin'),
new lang_string('configmessagingallusers', 'admin'),
0)
);
$options = array(DAYSECS=>new lang_string('secondstotime86400'), WEEKSECS=>new lang_string('secondstotime604800'), 2620800=>new lang_string('nummonths', 'moodle', 1), 15724800=>new lang_string('nummonths', 'moodle', 6),0=>new lang_string('never'));
$optionalsubsystems->add(new admin_setting_configselect('messagingdeletereadnotificationsdelay', new lang_string('messagingdeletereadnotificationsdelay', 'admin'), new lang_string('configmessagingdeletereadnotificationsdelay', 'admin'), 604800, $options));
$optionalsubsystems->add(new admin_setting_configcheckbox('messagingallowemailoverride', new lang_string('messagingallowemailoverride', 'admin'), new lang_string('configmessagingallowemailoverride','admin'), 0));
$optionalsubsystems->add(new admin_setting_configcheckbox('enablestats', new lang_string('enablestats', 'admin'), new lang_string('configenablestats', 'admin'), 0));
$optionalsubsystems->add(new admin_setting_configcheckbox('enablerssfeeds', new lang_string('enablerssfeeds', 'admin'), new lang_string('configenablerssfeeds', 'admin'), 0));
+1
View File
@@ -33,6 +33,7 @@ $ADMIN->add('root', new admin_category('competencies', new lang_string('competen
$ADMIN->add('root', new admin_category('badges', new lang_string('badges'), empty($CFG->enablebadges)));
$ADMIN->add('root', new admin_category('location', new lang_string('location','admin')));
$ADMIN->add('root', new admin_category('language', new lang_string('language')));
$ADMIN->add('root', new admin_category('messaging', new lang_string('messagingcategory', 'admin')));
$ADMIN->add('root', new admin_category('modules', new lang_string('plugins', 'admin')));
$ADMIN->add('root', new admin_category('security', new lang_string('security','admin')));
$ADMIN->add('root', new admin_category('appearance', new lang_string('appearance','admin')));
+2 -3
View File
@@ -174,12 +174,11 @@ if ($hassiteconfig
// Options include fields from the user table that might be helpful to
// distinguish when adding or listing users ('I want to add the John
// Smith from Science faculty').
// Username is not included as an option because in some sites, it might
// be a security problem to reveal usernames even to trusted staff.
// Custom user profile fields are not currently supported.
$temp->add(new admin_setting_configmulticheckbox('showuseridentity',
new lang_string('showuseridentity', 'admin'),
new lang_string('showuseridentity_desc', 'admin'), array('email' => 1), array(
'username' => new lang_string('username'),
'idnumber' => new lang_string('idnumber'),
'email' => new lang_string('email'),
'phone1' => new lang_string('phone1'),
@@ -255,4 +254,4 @@ if ($hassiteconfig) {
new lang_string('sitepolicyguest_help', 'core_admin'), (isset($CFG->sitepolicy) ? $CFG->sitepolicy : ''), PARAM_RAW));
$ADMIN->add('privacy', $temp);
}
}
+94
View File
@@ -0,0 +1,94 @@
<?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/>.
/**
* Task log.
*
* @package admin
* @copyright 2018 Andrew Nicols <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__ . '/../config.php');
require_once("{$CFG->libdir}/adminlib.php");
require_once("{$CFG->libdir}/tablelib.php");
require_once("{$CFG->libdir}/filelib.php");
$filter = optional_param('filter', '', PARAM_RAW);
$result = optional_param('result', null, PARAM_INT);
$pageurl = new \moodle_url('/admin/tasklogs.php');
$pageurl->param('filter', $filter);
$PAGE->set_url($pageurl);
$PAGE->set_context(context_system::instance());
$PAGE->set_pagelayout('admin');
$strheading = get_string('tasklogs', 'tool_task');
$PAGE->set_title($strheading);
$PAGE->set_heading($strheading);
require_login();
require_capability('moodle/site:config', context_system::instance());
admin_externalpage_setup('tasklogs');
$logid = optional_param('logid', null, PARAM_INT);
$download = optional_param('download', false, PARAM_BOOL);
if (null !== $logid) {
// Raise memory limit in case the log is large.
raise_memory_limit(MEMORY_HUGE);
$log = $DB->get_record('task_log', ['id' => $logid], '*', MUST_EXIST);
if ($download) {
$filename = str_replace('\\', '_', $log->classname) . "-{$log->id}.log";
header("Content-Disposition: attachment; filename=\"{$filename}\"");
}
readstring_accel($log->output, 'text/plain', false);
exit;
}
$renderer = $PAGE->get_renderer('tool_task');
echo $OUTPUT->header();
echo $OUTPUT->render_from_template('core_admin/tasklogs', (object) [
'action' => $pageurl->out(),
'filter' => $filter,
'resultfilteroptions' => [
(object) [
'value' => -1,
'title' => get_string('all'),
'selected' => (-1 === $result),
],
(object) [
'value' => 0,
'title' => get_string('success'),
'selected' => (0 === $result),
],
(object) [
'value' => 1,
'title' => get_string('task_result:failed', 'admin'),
'selected' => (1 === $result),
],
],
]);
$table = new \core_admin\task_log_table($filter, $result);
$table->baseurl = $pageurl;
$table->out(100, false);
echo $OUTPUT->footer();
+11 -6
View File
@@ -29,6 +29,7 @@
* element - The Element HTML
* forceltr - Force this element to be displayed LTR
* default - Default value
* dependenton - optional message listing the settings this one is dependent on
Example context (json):
{
@@ -43,8 +44,11 @@
"default": "Default value"
}
}}
<div class="form-item clearfix" id="{{id}}">
<div class="form-label">
{{!
Setting.
}}
<div class="form-item row" id="{{id}}">
<div class="form-label col-sm-3 text-sm-right">
<label {{#labelfor}}for="{{labelfor}}"{{/labelfor}}>
{{{title}}}
{{#override}}
@@ -54,16 +58,17 @@
<div class="form-warning">{{warning}}</div>
{{/warning}}
</label>
<span class="form-shortname">{{{name}}}</span>
<span class="form-shortname d-block small text-muted">{{{name}}}</span>
</div>
<div class="form-setting">
<div class="form-setting col-sm-9">
{{#error}}
<div><span class="error">{{error}}</span></div>
{{/error}}
{{{element}}}
{{#default}}
<div class="form-defaultinfo {{#forceltr}}text-ltr{{/forceltr}}">{{{default}}}</div>
<div class="form-defaultinfo text-muted {{#forceltr}}text-ltr{{/forceltr}}">{{{default}}}</div>
{{/default}}
<div class="form-description mt-3">{{{description}}}</div>
{{#dependenton}}<div class="form-dependenton mb-4 text-muted">{{{.}}}</div>{{/dependenton}}
</div>
<div class="form-description">{{{description}}}</div>
</div>
@@ -35,13 +35,16 @@
"haspreviewconfig": false
}
}}
{{!
Setting configcolourpicker.
}}
<div class="form-colourpicker defaultsnext">
<div class="admin_colourpicker clearfix">
{{#icon}}
{{>core/pix_icon}}
{{/icon}}
</div>
<input type="text" name="{{name}}" id="{{id}}" value="{{value}}" size="12" class="text-ltr">
<input type="text" name="{{name}}" id="{{id}}" value="{{value}}" size="12" class="form-control text-ltr">
{{#haspreviewconfig}}
<input type="button" id="{{id}}_preview" value={{#quote}}{{#str}}preview{{/str}}{{/quote}} class="admin_colourpicker_preview">
{{/haspreviewconfig}}
@@ -33,13 +33,18 @@
"options": [ { "name": "Minutes", "value": "mins", "selected": true } ]
}
}}
{{!
Setting configduration.
}}
<div class="form-duration defaultsnext">
<input type="text" size="5" id="{{id}}v" name="{{name}}[v]" value="{{value}}" class="text-ltr">
<label class="accesshide" for="{{id}}u">{{#str}}durationunits, admin{{/str}}</label>
<select id="{{id}}u" name="{{name}}[u]">
{{#options}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/options}}
</select>
<div class="form-inline">
<input type="text" size="5" id="{{id}}v" name="{{name}}[v]" value="{{value}}" class="form-control text-ltr">
<label class="sr-only" for="{{id}}u">{{#str}}durationunits, admin{{/str}}</label>
<select id="{{id}}u" name="{{name}}[u]" class="form-control custom-select">
{{#options}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/options}}
</select>
</div>
</div>
+14 -9
View File
@@ -38,15 +38,20 @@
"valid": false
}
}}
{{!
Setting configfile.
}}
<div class="form-file defaultsnext">
<input type="text" name="{{name}}" id="{{id}}" size="{{size}}" value="{{value}}" class="text-ltr" {{#readonly}}readonly{{/readonly}}>
{{#showvalidity}}
{{#valid}}
<span class="pathok">&#x2714;</span>
{{/valid}}
{{^valid}}
<span class="patherror">&#x2718;</span>
{{/valid}}
{{/showvalidity}}
<div class="form-inline">
<input type="text" name="{{name}}" id="{{id}}" size="{{size}}" value="{{value}}" class="form-control text-ltr" {{#readonly}}readonly{{/readonly}}>
{{#showvalidity}}
{{#valid}}
<span class="text-success">&#x2714;</span>
{{/valid}}
{{^valid}}
<span class="text-danger">&#x2718;</span>
{{/valid}}
{{/showvalidity}}
</div>
</div>
@@ -34,9 +34,12 @@
{ "name": "Option 2", "value": "V", "selected": true } ]
}
}}
{{!
Setting configmultiselect.
}}
<div class="form-select">
<input type="hidden" name="{{name}}[xxxxx]" value="1">
<select id="{{id}}" name="{{name}}[]" size="{{size}}" multiple>
<select id="{{id}}" name="{{name}}[]" size="{{size}}" class="form-control" multiple>
{{#options}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/options}}
@@ -53,13 +53,16 @@
]
}
}}
{{!
Setting configmultiselect with optgroup support.
}}
<div class="form-select">
<input type="hidden" name="{{name}}[xxxxx]" value="1">
<select id="{{id}}" name="{{name}}[]" size="{{size}}" multiple>
{{#options}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/options}}
{{#optgroups}}
<select id="{{id}}" name="{{name}}[]" size="{{size}}" class="form-control" multiple>
{{#options}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/options}}
{{#optgroups}}
<optgroup label="{{label}}">
{{#options}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
@@ -34,8 +34,11 @@
]
}
}}
{{!
Setting configselect.
}}
<div class="form-select defaultsnext">
<select id="{{id}}" name="{{name}}">
<select id="{{id}}" name="{{name}}" class="custom-select">
{{#options}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/options}}
@@ -51,8 +51,11 @@
]
}
}}
{{!
Setting configselect with optgroup support.
}}
<div class="form-select defaultsnext">
<select id="{{id}}" name="{{name}}">
<select id="{{id}}" name="{{name}}" class="custom-select">
{{#options}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/options}}
@@ -66,3 +69,4 @@
</select>
</div>
+4 -1
View File
@@ -37,6 +37,9 @@
"attributes": [ { "name": "readonly", "value": "readonly" } ]
}
}}
{{!
Setting configtext.
}}
<div class="form-text defaultsnext">
<input type="text" name="{{name}}" value="{{value}}" size="{{size}}" id="{{id}}" class="{{#forceltr}}text-ltr{{/forceltr}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
<input type="text" name="{{name}}" value="{{value}}" size="{{size}}" id="{{id}}" class="form-control {{#forceltr}}text-ltr{{/forceltr}}">
</div>
@@ -36,6 +36,9 @@
"id": "test0"
}
}}
{{!
Setting configtextarea.
}}
<div class="form-textarea">
<textarea rows="{{rows}}" cols="{{cols}}" id="{{id}}" name="{{name}}" spellcheck="true" class="{{#forceltr}}text-ltr{{/forceltr}}">{{value}}</textarea>
<textarea rows="{{rows}}" cols="{{cols}}" id="{{id}}" name="{{name}}" spellcheck="true" class="form-control {{#forceltr}}text-ltr{{/forceltr}}">{{value}}</textarea>
</div>
+18 -13
View File
@@ -39,18 +39,23 @@
]
}
}}
<div class="form-time defaultsnext text-ltr">
<label class="accesshide" for="{{id}}h">{{#str}}hours{{/str}}</label>
<select id="{{id}}h" name="{{name}}[h]">
{{#hours}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/hours}}
</select>:
<label class="accesshide" for="{{id}}m">{{#str}}minutes{{/str}}</label>
<select id="{{id}}m" name="{{name}}[m]">
{{#minutes}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/minutes}}
</select>
{{!
Setting configtime.
}}
<div class="form-time defaultsnext">
<div class="form-inline text-ltr">
<label class="sr-only" for="{{id}}h">{{#str}}hours{{/str}}</label>
<select id="{{id}}h" name="{{name}}[h]" class="custom-select">
{{#hours}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/hours}}
</select>:
<label class="sr-only" for="{{id}}m">{{#str}}minutes{{/str}}</label>
<select id="{{id}}m" name="{{name}}[m]" class="custom-select">
{{#minutes}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/minutes}}
</select>
</div>
</div>
@@ -37,9 +37,12 @@
]
}
}}
{{!
Setting courselist_frontpage.
}}
<div class="form-group">
{{#selects}}
<select id="{{id}}{{key}}" name="{{name}}[]" class="form-select">
<select id="{{id}}{{key}}" name="{{name}}[]" class="custom-select">
{{#options}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/options}}
+6 -5
View File
@@ -34,12 +34,13 @@
{{!
Setting description.
}}
<div class="form-item form-horizontal clearfix">
<div class="form-label">
<div class="form-item row">
<div class="form-label col-sm-3 text-sm-right">
<label>
{{{title}}}
</label>
<span class="form-shortname ">{{{name}}}</span>
</div>
<div class="controls felement fstatic">{{{description}}}</div>
</div>
<div class="form-setting col-sm-9">
<div class="form-description">{{{description}}}</div>
</div>
</div>
@@ -29,7 +29,10 @@
]
}
}}
<table class="generaltable">
{{!
Setting devicedetectregex.
}}
<table class="table table-striped">
<thead>
<tr>
<th>{{#str}}devicedetectregexexpression, admin{{/str}}</th>
@@ -40,10 +43,10 @@
{{#expressions}}
<tr>
<td class="c{{index}}">
<input type="text" name="{{name}}[expression{{index}}]" class="form-text text-ltr" value="{{expression}}">
<input type="text" name="{{name}}[expression{{index}}]" class="form-control" value="{{expression}}">
</td>
<td class="c{{index}}">
<input type="text" name="{{name}}[value{{index}}]" class="form-text text-ltr" value="{{value}}">
<input type="text" name="{{name}}[value{{index}}]" class="form-control" value="{{value}}">
</td>
</tr>
{{/expressions}}
+4 -1
View File
@@ -32,6 +32,9 @@
]
}
}}
{{!
Setting emoticons.
}}
<div class="form-group">
<table id="emoticonsetting" class="admintable generaltable">
<thead>
@@ -48,7 +51,7 @@
<tr>
{{#fields}}
<td class="c{{index}}">
<input type="text" name="{{name}}[{{field}}]" class="form-text text-ltr" value="{{value}}">
<input type="text" name="{{name}}[{{field}}]" class="form-text form-control text-ltr" value="{{value}}">
</td>
{{/fields}}
<td>
@@ -37,8 +37,11 @@
"advanced": true
}
}}
{{!
Setting configselect.
}}
<div class="form-group">
<select id="{{id}}" name="{{name}}[value]" class="form-select">
<select id="{{id}}" name="{{name}}[value]" class="form-select custom-select">
{{#options}}
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/options}}
+8 -3
View File
@@ -36,8 +36,11 @@
"showsave": true
}
}}
{{!
Settings.
}}
<form action="{{actionurl}}" method="post" id="adminsettings">
<div class="settingsform clearfix">
<div class="settingsform">
{{#params}}
<input type="hidden" name="{{name}}" value="{{value}}">
<input type="hidden" name="action" value="save-settings">
@@ -49,8 +52,10 @@
{{/title}}
{{{settings}}}
{{#showsave}}
<div class="form-buttons">
<input type="submit" class="form-submit" value={{#quote}}{{#str}}savechanges, admin{{/str}}{{/quote}}>
<div class="row">
<div class="offset-sm-3 col-sm-3">
<button type="submit" class="btn btn-primary">{{#str}}savechanges, admin{{/str}}</button>
</div>
</div>
{{/showsave}}
</div>
@@ -58,8 +58,10 @@
</fieldset>
{{/results}}
{{#showsave}}
<div class="form-buttons">
<input type="submit" class="form-submit" value={{#quote}}{{#str}}savechanges, admin{{/str}}{{/quote}}>
<div class="row">
<div class="offset-sm-3 col-sm-3">
<button type="submit" class="btn btn-primary">{{#str}}savechanges, admin{{/str}}</button>
</div>
</div>
{{/showsave}}
{{/hasresults}}
+34
View File
@@ -0,0 +1,34 @@
{{!
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/>.
}}
{{!
@template core_admin/tasklogs
Task Logs template.
}}
<form class="form-inline" method="GET" action="{{{action}}}">
<label class="sr-only" for="tasklog-filter">{{#str}}filter{{/str}}</label>
<input class="form-control" type="text" id="tasklog-filter" name="filter" value="{{{filter}}}">
<label class="sr-only" for="tasklog-resultfilter">{{#str}}resultfilter, admin{{/str}}</label>
<select class="form-control custom-select" name="result" id="tasklog-resultfilter">
{{#resultfilteroptions}}
<option value="{{{value}}}"{{#selected}} selected="selected"{{/selected}}>{{title}}</option>
{{/resultfilteroptions}}
</select>
<input class="btn btn-primary" type="submit" value="{{#str}}filter{{/str}}">
</form>
+98
View File
@@ -0,0 +1,98 @@
<?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/>.
/**
* Test output mail configuration page
*
* @copyright 2019 Victor Deniz <victor@moodle.com>, based on Michael Milette <michael.milette@tngconsulting.ca> code
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__ . '/../config.php');
require_once($CFG->libdir.'/adminlib.php');
// This is an admin page.
admin_externalpage_setup('testoutgoingmailconf');
$headingtitle = get_string('testoutgoingmailconf', 'admin');
$homeurl = new moodle_url('/admin/category.php', array('category' => 'email'));
$returnurl = new moodle_url('/admin/testoutgoingconf.php');
$form = new core_admin\form\testoutgoingmailconf_form(null, ['returnurl' => $returnurl]);
if ($form->is_cancelled()) {
redirect($homeurl);
}
// Display the page.
echo $OUTPUT->header();
echo $OUTPUT->heading($headingtitle);
$data = $form->get_data();
if ($data) {
$emailuser = new stdClass();
$emailuser->email = $data->recipient;
$emailuser->id = -99;
$subject = get_string('testoutgoingmailconf_subject', 'admin',
format_string($SITE->fullname, true, ['context' => context_system::instance()]));
$messagetext = get_string('testoutgoingmailconf_message', 'admin');
// Manage Moodle debugging options.
$debuglevel = $CFG->debug;
$debugdisplay = $CFG->debugdisplay;
$debugsmtp = $CFG->debugsmtp ?? null; // This might not be set as it's optional.
$CFG->debugdisplay = true;
$CFG->debugsmtp = true;
$CFG->debug = 15;
// Send test email.
ob_start();
$success = email_to_user($emailuser, $USER, $subject, $messagetext);
$smtplog = ob_get_contents();
ob_end_clean();
// Restore Moodle debugging options.
$CFG->debug = $debuglevel;
$CFG->debugdisplay = $debugdisplay;
// Restore the debugsmtp config, if it was set originally.
unset($CFG->debugsmtp);
if (!is_null($debugsmtp)) {
$CFG->debugsmtp = $debugsmtp;
}
if ($success) {
$msgparams = new stdClass();
$msgparams->fromemail = $USER->email;
$msgparams->toemail = $emailuser->email;
$msg = get_string('testoutgoingmailconf_sentmail', 'admin', $msgparams);
$notificationtype = 'notifysuccess';
} else {
$notificationtype = 'notifyproblem';
// No communication between Moodle and the SMTP server - no error output.
if (trim($smtplog) == false) {
$msg = get_string('testoutgoingmailconf_errorcommunications', 'admin');
} else {
$msg = $smtplog;
}
}
// Show result.
echo $OUTPUT->notification($msg, $notificationtype);
}
$form->display();
echo $OUTPUT->footer();
+14 -41
View File
@@ -48,26 +48,16 @@ class behat_admin extends behat_base {
* @param TableNode $table
*/
public function i_set_the_following_administration_settings_values(TableNode $table) {
if (!$data = $table->getRowsHash()) {
return;
}
foreach ($data as $label => $value) {
// We expect admin block to be visible, otherwise go to homepage.
if (!$this->getSession()->getPage()->find('css', '.block_settings')) {
$this->getSession()->visit($this->locate_path('/'));
$this->wait(self::TIMEOUT * 1000, self::PAGE_READY_JS);
}
$this->execute('behat_navigation::i_select_from_flat_navigation_drawer', [get_string('administrationsite')]);
// Search by label.
$searchbox = $this->find_field(get_string('searchinsettings', 'admin'));
$searchbox->setValue($label);
$submitsearch = $this->find('css', 'form.adminsearchform input[type=submit]');
$submitsearch->press();
$this->wait(self::TIMEOUT * 1000, self::PAGE_READY_JS);
$this->execute('behat_forms::i_set_the_field_to', [get_string('query', 'admin'), $label]);
$this->execute("behat_forms::press_button", get_string('search', 'admin'));
// Admin settings does not use the same DOM structure than other moodle forms
// but we also need to use lib/behat/form_field/* to deal with the different moodle form elements.
@@ -78,40 +68,23 @@ class behat_admin extends behat_base {
// Single element settings.
try {
$fieldxpath = "//*[self::input | self::textarea | self::select][not(./@type = 'submit' or ./@type = 'image' or ./@type = 'hidden')]" .
"[@id=//label[contains(normalize-space(.), $label)]/@for or " .
"@id=//span[contains(normalize-space(.), $label)]/preceding-sibling::label[1]/@for]";
$fieldxpath = "//*[self::input | self::textarea | self::select]" .
"[not(./@type = 'submit' or ./@type = 'image' or ./@type = 'hidden')]" .
"[@id=//label[contains(normalize-space(.), $label)]/@for or " .
"@id=//span[contains(normalize-space(.), $label)]/preceding-sibling::label[1]/@for]";
$fieldnode = $this->find('xpath', $fieldxpath, $exception);
$formfieldtypenode = $this->find('xpath', $fieldxpath . "/ancestor::div[@class='form-setting']" .
"/child::div[contains(concat(' ', @class, ' '), ' form-')]/child::*/parent::div");
} catch (ElementNotFoundException $e) {
// Multi element settings, interacting only the first one.
$fieldxpath = "//*[label[normalize-space(.)= $label]|span[normalize-space(.)= $label]]/" .
"ancestor::div[contains(concat(' ', normalize-space(@class), ' '), ' form-item ')]" .
"/descendant::div[@class='form-group']/descendant::*[self::input | self::textarea | self::select]" .
"[not(./@type = 'submit' or ./@type = 'image' or ./@type = 'hidden')]";
$fieldnode = $this->find('xpath', $fieldxpath);
// It is the same one that contains the type.
$formfieldtypenode = $fieldnode;
$fieldxpath = "//*[label[contains(., $label)]|span[contains(., $label)]]" .
"/ancestor::div[contains(concat(' ', normalize-space(@class), ' '), ' form-item ')]" .
"/descendant::div[contains(concat(' ', @class, ' '), ' form-group ')]" .
"/descendant::*[self::input | self::textarea | self::select]" .
"[not(./@type = 'submit' or ./@type = 'image' or ./@type = 'hidden')]";
}
// Getting the class which contains the field type.
$classes = explode(' ', $formfieldtypenode->getAttribute('class'));
foreach ($classes as $class) {
if (substr($class, 0, 5) == 'form-') {
$type = substr($class, 5);
}
}
// Instantiating the appropiate field type.
$field = behat_field_manager::get_field_instance($type, $fieldnode, $this->getSession());
$field->set_value($value);
$this->find_button(get_string('savechanges'))->press();
$this->execute('behat_forms::i_set_the_field_with_xpath_to', [$fieldxpath, $value]);
$this->execute("behat_general::i_click_on", [get_string('savechanges'), 'button']);
}
}
@@ -1,57 +1,74 @@
@core @core_admin
Feature: Enable multiple accounts to have the same email address
In order to have multiple accounts registerd on the system with the same email address
@core @core_admin @core_user
Feature: Allowing multiple accounts to have the same email address
In order to manage user accounts
As an admin
I need to enable multiple accounts to be registered with the same email address and verify it is applied
I need to be able to set whether to allow multiple accounts with the same email or not
Background:
Given I log in as "admin"
Scenario: Enable registration of multiple accounts with the same email address
Scenario Outline: Create a user with the same email as an existing user
Given the following config values are set as admin:
| allowaccountssameemail | 1 |
When I navigate to "Users > Accounts > Add a new user" in site administration
| allowaccountssameemail | <allowsameemail> |
And the following "users" exist:
| username | firstname | lastname | email |
| s1 | John | Doe | s1@example.com |
When I log in as "admin"
And I navigate to "Users > Accounts > Add a new user" in site administration
And I set the following fields to these values:
| Username | testmultiemailuser1 |
| Choose an authentication method | Manual accounts |
| New password | test@User1 |
| First name | Test |
| Surname | Multi1 |
| Email address | testmultiemailuser@example.com |
| Username | s2 |
| First name | Jane |
| Surname | Doe |
| Email address | <email> |
| New password | test |
And I press "Create user"
And I should see "Test Multi1"
And I press "Add a new user"
And I set the following fields to these values:
| Username | testmultiemailuser2 |
| Choose an authentication method | Manual accounts |
| New password | test@User2 |
| First name | Test |
| Surname | Multi2 |
| Email address | testmultiemailuser@example.com |
And I press "Create user"
Then I should see "Test Multi2"
And I should not see "This email address is already registered"
Then I should <expect> "This email address is already registered."
Scenario: Disable registration of multiple accounts with the same email address
Examples:
| allowsameemail | email | expect |
| 0 | s1@example.com | see |
| 0 | S1@EXAMPLE.COM | see |
| 1 | s1@example.com | not see |
| 1 | S1@EXAMPLE.COM | not see |
Scenario Outline: Update a user with the same email as an existing user
Given the following config values are set as admin:
| allowaccountssameemail | 0 |
When I navigate to "Users > Accounts > Add a new user" in site administration
And I set the following fields to these values:
| Username | testmultiemailuser1 |
| Choose an authentication method | Manual accounts |
| New password | test@User1 |
| First name | Test |
| Surname | Multi1 |
| Email address | testmultiemailuser@example.com |
And I press "Create user"
And I should see "Test Multi1"
And I press "Add a new user"
And I set the following fields to these values:
| Username | testmultiemailuser2 |
| Choose an authentication method | Manual accounts |
| New password | test@User2 |
| First name | Test |
| Surname | Multi2 |
| Email address | testmultiemailuser@example.com |
And I press "Create user"
Then I should see "This email address is already registered"
| allowaccountssameemail | <allowsameemail> |
And the following "users" exist:
| username | firstname | lastname | email |
| s1 | John | Doe | s1@example.com |
| s2 | Jane | Doe | s2@example.com |
When I log in as "admin"
And I navigate to "Users > Accounts > Browse list of users" in site administration
And I click on "Edit" "link" in the "Jane Doe" "table_row"
And I set the field "Email address" to "<email>"
And I press "Update profile"
Then I should <expect> "This email address is already registered."
Examples:
| allowsameemail | email | expect |
| 0 | s1@example.com | see |
| 0 | S1@EXAMPLE.COM | see |
| 1 | s1@example.com | not see |
| 1 | S1@EXAMPLE.COM | not see |
| 0 | S2@EXAMPLE.COM | not see |
| 1 | S2@EXAMPLE.COM | not see |
Scenario Outline: Update own user profile with the same email as an existing user
Given the following config values are set as admin:
| allowaccountssameemail | <allowsameemail> |
And the following "users" exist:
| username | firstname | lastname | email |
| s1 | John | Doe | s1@example.com |
| s2 | Jane | Doe | s2@example.com |
When I log in as "s2"
And I open my profile in edit mode
And I set the field "Email address" to "<email>"
And I press "Update profile"
Then I should <expect> "This email address is already registered."
Examples:
| allowsameemail | email | expect |
| 0 | s1@example.com | see |
| 0 | S1@EXAMPLE.COM | see |
| 1 | s1@example.com | not see |
| 1 | S1@EXAMPLE.COM | not see |
| 0 | S2@EXAMPLE.COM | not see |
| 1 | S2@EXAMPLE.COM | not see |
+1
View File
@@ -9,6 +9,7 @@ Feature: Manage tokens
| username | password | firstname | lastname |
| testuser | testuser | Joe | Bloggs |
| testuser2 | testuser2 | TestFirstname | TestLastname |
And I change window size to "small"
And I log in as "admin"
And I am on site homepage
+1 -1
View File
@@ -1 +1 @@
define(["jquery","core/str","core/log","core/notification","core/modal_factory","core/modal_events"],function(a,b,c,d,e,f){var g={clear:{title:{key:"clearpredictions",component:"tool_analytics"},body:{key:"clearmodelpredictions",component:"tool_analytics"}}},h=function(b){return a(b.closest("tr")[0]).find("span.target-name").text()};return{confirmAction:function(i,j){a('[data-action-id="'+i+'"]').on("click",function(i){i.preventDefault();var k=a(i.currentTarget);if("undefined"==typeof g[j])return void c.error('Action "'+j+'" is not allowed.');var l=[g[j].title,g[j].body];l[1].param=h(k);var m=b.get_strings(l),n=e.create({type:e.types.SAVE_CANCEL});a.when(m,n).then(function(a,b){return b.setTitle(a[0]),b.setBody(a[1]),b.setSaveButtonText(a[0]),b.getRoot().on(f.save,function(){window.location.href=k.attr("href")}),b.show(),b}).fail(d.exception)})}}});
define(["jquery","core/str","core/log","core/notification","core/modal_factory","core/modal_events","core/templates"],function(a,b,c,d,e,f,g){var h={clear:{title:{key:"clearpredictions",component:"tool_analytics"},body:{key:"clearmodelpredictions",component:"tool_analytics"}},"delete":{title:{key:"delete",component:"tool_analytics"},body:{key:"deletemodelconfirmation",component:"tool_analytics"}}},i=function(b){var d=a(b).closest("[data-model-name]");return d.length?d.attr("data-model-name"):(c.error("Unexpected DOM error - unable to obtain the model name"),"")};return{confirmAction:function(g,j){a('[data-action-id="'+g+'"]').on("click",function(g){g.preventDefault();var k=a(g.currentTarget);if("undefined"==typeof h[j])return void c.error('Action "'+j+'" is not allowed.');var l=[h[j].title,h[j].body];l[1].param=i(k);var m=b.get_strings(l),n=e.create({type:e.types.SAVE_CANCEL});a.when(m,n).then(function(a,b){return b.setTitle(a[0]),b.setBody(a[1]),b.setSaveButtonText(a[0]),b.getRoot().on(f.save,function(){window.location.href=k.attr("href")}),b.show(),b}).fail(d.exception)})},selectEvaluationOptions:function(c,h,i){a('[data-action-id="'+c+'"]').on("click",function(c){c.preventDefault();var j=a(c.currentTarget),k=b.get_strings([{key:"evaluatemodel",component:"tool_analytics"},{key:"evaluate",component:"tool_analytics"}]),l=e.create({type:e.types.SAVE_CANCEL}),m=g.render("tool_analytics/evaluation_options",{trainedexternally:h,timesplittingmethods:i});a.when(k,l).then(function(b,c){return c.getRoot().on(f.hidden,c.destroy.bind(c)),c.setTitle(b[0]),c.setSaveButtonText(b[1]),c.setBody(m),c.getRoot().on(f.save,function(){var b=a("input[name='evaluationmode']:checked").val();"trainedmodel"==b&&j.attr("href",j.attr("href")+"&mode=trainedmodel");var c=a("#id-evaluation-timesplitting").val();j.attr("href",j.attr("href")+"&timesplitting="+c),window.location.href=j.attr("href")}),c.show(),c}).fail(d.exception)})},selectExportOptions:function(c,h){a('[data-action-id="'+c+'"]').on("click",function(c){c.preventDefault();var i=a(c.currentTarget);if(!h)return i.attr("href",i.attr("href")+"&action=exportmodel&includeweights=0"),void(window.location.href=i.attr("href"));var j=b.get_strings([{key:"export",component:"tool_analytics"}]),k=e.create({type:e.types.SAVE_CANCEL}),l=g.render("tool_analytics/export_options",{});a.when(j,k).then(function(b,c){return c.getRoot().on(f.hidden,c.destroy.bind(c)),c.setTitle(b[0]),c.setSaveButtonText(b[0]),c.setBody(l),c.getRoot().on(f.save,function(){var b=a("input[name='exportoption']:checked").val();"exportdata"==b?i.attr("href",i.attr("href")+"&action=exportdata"):(i.attr("href",i.attr("href")+"&action=exportmodel"),a("#id-includeweights").is(":checked")?i.attr("href",i.attr("href")+"&includeweights=1"):i.attr("href",i.attr("href")+"&includeweights=0")),window.location.href=i.attr("href")}),c.show(),c}).fail(d.exception)})}}});
+143 -3
View File
@@ -20,8 +20,8 @@
* @copyright 2017 David Monllao
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define(['jquery', 'core/str', 'core/log', 'core/notification', 'core/modal_factory', 'core/modal_events'],
function($, Str, log, Notification, ModalFactory, ModalEvents) {
define(['jquery', 'core/str', 'core/log', 'core/notification', 'core/modal_factory', 'core/modal_events', 'core/templates'],
function($, Str, log, Notification, ModalFactory, ModalEvents, Templates) {
/**
* List of actions that require confirmation and confirmation message.
@@ -36,6 +36,15 @@ define(['jquery', 'core/str', 'core/log', 'core/notification', 'core/modal_facto
component: 'tool_analytics'
}
},
'delete': {
title: {
key: 'delete',
component: 'tool_analytics'
}, body: {
key: 'deletemodelconfirmation',
component: 'tool_analytics'
}
}
};
@@ -46,7 +55,15 @@ define(['jquery', 'core/str', 'core/log', 'core/notification', 'core/modal_facto
* @return {String}
*/
var getModelName = function(actionItem) {
return $(actionItem.closest('tr')[0]).find('span.target-name').text();
var wrap = $(actionItem).closest('[data-model-name]');
if (wrap.length) {
return wrap.attr('data-model-name');
} else {
log.error('Unexpected DOM error - unable to obtain the model name');
return '';
}
};
/** @alias module:tool_analytics/model */
@@ -85,6 +102,129 @@ define(['jquery', 'core/str', 'core/log', 'core/notification', 'core/modal_facto
modal.getRoot().on(ModalEvents.save, function() {
window.location.href = a.attr('href');
});
modal.show();
return modal;
}).fail(Notification.exception);
});
},
/**
* Displays evaluation mode and time-splitting method choices.
*
* @param {String} actionId
* @param {Boolean} trainedOnlyExternally
*/
selectEvaluationOptions: function(actionId, trainedOnlyExternally, timeSplittingMethods) {
$('[data-action-id="' + actionId + '"]').on('click', function(ev) {
ev.preventDefault();
var a = $(ev.currentTarget);
var stringsPromise = Str.get_strings([
{
key: 'evaluatemodel',
component: 'tool_analytics'
}, {
key: 'evaluate',
component: 'tool_analytics'
}
]);
var modalPromise = ModalFactory.create({type: ModalFactory.types.SAVE_CANCEL});
var bodyPromise = Templates.render('tool_analytics/evaluation_options', {
trainedexternally: trainedOnlyExternally,
timesplittingmethods: timeSplittingMethods
});
$.when(stringsPromise, modalPromise).then(function(strings, modal) {
modal.getRoot().on(ModalEvents.hidden, modal.destroy.bind(modal));
modal.setTitle(strings[0]);
modal.setSaveButtonText(strings[1]);
modal.setBody(bodyPromise);
modal.getRoot().on(ModalEvents.save, function() {
// Evaluation mode.
var evaluationMode = $("input[name='evaluationmode']:checked").val();
if (evaluationMode == 'trainedmodel') {
a.attr('href', a.attr('href') + '&mode=trainedmodel');
}
// Selected time-splitting id.
var timeSplittingMethod = $("#id-evaluation-timesplitting").val();
a.attr('href', a.attr('href') + '&timesplitting=' + timeSplittingMethod);
window.location.href = a.attr('href');
return;
});
modal.show();
return modal;
}).fail(Notification.exception);
});
},
/**
* Displays export options.
*
* We have two main options: export training data and export configuration.
* The 2nd option has an extra option: include the trained algorithm weights.
*
* @param {String} actionId
* @param {Boolean} isTrained
*/
selectExportOptions: function(actionId, isTrained) {
$('[data-action-id="' + actionId + '"]').on('click', function(ev) {
ev.preventDefault();
var a = $(ev.currentTarget);
if (!isTrained) {
// Export the model configuration if the model is not trained. We can't export anything else.
a.attr('href', a.attr('href') + '&action=exportmodel&includeweights=0');
window.location.href = a.attr('href');
return;
}
var stringsPromise = Str.get_strings([
{
key: 'export',
component: 'tool_analytics'
}
]);
var modalPromise = ModalFactory.create({type: ModalFactory.types.SAVE_CANCEL});
var bodyPromise = Templates.render('tool_analytics/export_options', {});
$.when(stringsPromise, modalPromise).then(function(strings, modal) {
modal.getRoot().on(ModalEvents.hidden, modal.destroy.bind(modal));
modal.setTitle(strings[0]);
modal.setSaveButtonText(strings[0]);
modal.setBody(bodyPromise);
modal.getRoot().on(ModalEvents.save, function() {
var exportOption = $("input[name='exportoption']:checked").val();
if (exportOption == 'exportdata') {
a.attr('href', a.attr('href') + '&action=exportdata');
} else {
a.attr('href', a.attr('href') + '&action=exportmodel');
if ($("#id-includeweights").is(':checked')) {
a.attr('href', a.attr('href') + '&includeweights=1');
} else {
a.attr('href', a.attr('href') + '&includeweights=0');
}
}
window.location.href = a.attr('href');
return;
});
modal.show();
return modal;
}).fail(Notification.exception);
+1 -1
View File
@@ -48,7 +48,7 @@ class clihelper {
foreach ($models as $model) {
$modelid = $model->get_id();
$isenabled = $model->is_enabled() ? get_string('enabled', 'tool_analytics') : get_string('disabled', 'tool_analytics');
$name = $model->get_target()->get_name();
$name = $model->get_name();
echo str_pad($modelid, 15, ' ') . ' ' . str_pad($name, 50, ' ') . ' ' . str_pad($isenabled, 15, ' ') . "\n";
}
}
@@ -45,54 +45,76 @@ class edit_model extends \moodleform {
$mform = $this->_form;
if ($this->_customdata['model']->is_trained()) {
if ($this->_customdata['trainedmodel'] && $this->_customdata['staticmodel'] === false) {
$message = get_string('edittrainedwarning', 'tool_analytics');
$mform->addElement('html', $OUTPUT->notification($message, \core\output\notification::NOTIFY_WARNING));
}
$mform->addElement('advcheckbox', 'enabled', get_string('enabled', 'tool_analytics'));
$indicators = array();
foreach ($this->_customdata['indicators'] as $classname => $indicator) {
$optionname = \tool_analytics\output\helper::class_to_option($classname);
$indicators[$optionname] = $indicator->get_name();
}
$options = array(
'multiple' => true
);
$mform->addElement('autocomplete', 'indicators', get_string('indicators', 'tool_analytics'), $indicators, $options);
$mform->setType('indicators', PARAM_ALPHANUMEXT);
// Target.
if (!empty($this->_customdata['targets'])) {
$targets = array('' => '');
foreach ($this->_customdata['targets'] as $classname => $target) {
$optionname = \tool_analytics\output\helper::class_to_option($classname);
$targets[$optionname] = $target->get_name();
}
$mform->addElement('select', 'target', get_string('target', 'tool_analytics'), $targets);
$mform->addHelpButton('target', 'target', 'tool_analytics');
$mform->addRule('target', get_string('required'), 'required', null, 'client');
}
// Indicators.
if (!$this->_customdata['staticmodel']) {
$indicators = array();
foreach ($this->_customdata['indicators'] as $classname => $indicator) {
$optionname = \tool_analytics\output\helper::class_to_option($classname);
$indicators[$optionname] = $indicator->get_name();
}
$options = array(
'multiple' => true
);
$mform->addElement('autocomplete', 'indicators', get_string('indicators', 'tool_analytics'), $indicators, $options);
$mform->setType('indicators', PARAM_ALPHANUMEXT);
$mform->addHelpButton('indicators', 'indicators', 'tool_analytics');
}
// Time-splitting methods.
$timesplittings = array('' => '');
foreach ($this->_customdata['timesplittings'] as $classname => $timesplitting) {
$optionname = \tool_analytics\output\helper::class_to_option($classname);
$timesplittings[$optionname] = $timesplitting->get_name();
}
$mform->addElement('select', 'timesplitting', get_string('timesplittingmethod', 'analytics'), $timesplittings);
$mform->addHelpButton('timesplitting', 'timesplittingmethod', 'analytics');
$defaultprocessor = \core_analytics\manager::get_predictions_processor_name(
\core_analytics\manager::get_predictions_processor()
);
$predictionprocessors = ['' => get_string('defaultpredictoroption', 'analytics', $defaultprocessor)];
foreach ($this->_customdata['predictionprocessors'] as $classname => $predictionsprocessor) {
if ($predictionsprocessor->is_ready() !== true) {
continue;
// Predictions processor.
if (!$this->_customdata['staticmodel']) {
$defaultprocessor = \core_analytics\manager::get_predictions_processor_name(
\core_analytics\manager::get_predictions_processor()
);
$predictionprocessors = ['' => get_string('defaultpredictoroption', 'analytics', $defaultprocessor)];
foreach ($this->_customdata['predictionprocessors'] as $classname => $predictionsprocessor) {
if ($predictionsprocessor->is_ready() !== true) {
continue;
}
$optionname = \tool_analytics\output\helper::class_to_option($classname);
$predictionprocessors[$optionname] = \core_analytics\manager::get_predictions_processor_name($predictionsprocessor);
}
$optionname = \tool_analytics\output\helper::class_to_option($classname);
$predictionprocessors[$optionname] = \core_analytics\manager::get_predictions_processor_name($predictionsprocessor);
$mform->addElement('select', 'predictionsprocessor', get_string('predictionsprocessor', 'analytics'),
$predictionprocessors);
$mform->addHelpButton('predictionsprocessor', 'predictionsprocessor', 'analytics');
}
$mform->addElement('select', 'predictionsprocessor', get_string('predictionsprocessor', 'analytics'),
$predictionprocessors);
$mform->addHelpButton('predictionsprocessor', 'predictionsprocessor', 'analytics');
if (!empty($this->_customdata['id'])) {
$mform->addElement('hidden', 'id', $this->_customdata['id']);
$mform->setType('id', PARAM_INT);
$mform->addElement('hidden', 'id', $this->_customdata['id']);
$mform->setType('id', PARAM_INT);
$mform->addElement('hidden', 'action', 'edit');
$mform->setType('action', PARAM_ALPHANUMEXT);
$mform->addElement('hidden', 'action', 'edit');
$mform->setType('action', PARAM_ALPHANUMEXT);
}
$this->add_action_buttons();
}
@@ -115,13 +137,15 @@ class edit_model extends \moodleform {
}
}
if (empty($data['indicators'])) {
$errors['indicators'] = get_string('errornoindicators', 'analytics');
} else {
foreach ($data['indicators'] as $indicator) {
$realindicatorname = \tool_analytics\output\helper::option_to_class($indicator);
if (\core_analytics\manager::is_valid($realindicatorname, '\core_analytics\local\indicator\base') === false) {
$errors['indicators'] = get_string('errorinvalidindicator', 'analytics', $realindicatorname);
if (!$this->_customdata['staticmodel']) {
if (empty($data['indicators'])) {
$errors['indicators'] = get_string('errornoindicators', 'analytics');
} else {
foreach ($data['indicators'] as $indicator) {
$realindicatorname = \tool_analytics\output\helper::option_to_class($indicator);
if (\core_analytics\manager::is_valid($realindicatorname, '\core_analytics\local\indicator\base') === false) {
$errors['indicators'] = get_string('errorinvalidindicator', 'analytics', $realindicatorname);
}
}
}
}
@@ -0,0 +1,58 @@
<?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/>.
/**
* Model upload form.
*
* @package tool_analytics
* @copyright 2017 onwards Ankit Agarwal
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_analytics\output\form;
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir.'/formslib.php');
/**
* Model upload form.
*
* @package tool_analytics
* @copyright 2017 onwards Ankit Agarwal
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class import_model extends \moodleform {
/**
* Form definition.
*
* @return null
*/
public function definition () {
$mform = $this->_form;
$mform->addElement('header', 'settingsheader', get_string('importmodel', 'tool_analytics'));
$mform->addElement('filepicker', 'modelfile', get_string('file'), null, ['accepted_types' => '.zip']);
$mform->addRule('modelfile', null, 'required');
$mform->addElement('advcheckbox', 'ignoreversionmismatches', get_string('ignoreversionmismatches', 'tool_analytics'),
get_string('ignoreversionmismatchescheckbox', 'tool_analytics'));
$this->add_action_buttons(true, get_string('import'));
}
}
+49 -2
View File
@@ -45,7 +45,7 @@ class helper {
// Form field is PARAM_ALPHANUMEXT and we are sending fully qualified class names
// as option names, but replacing the backslash for a string that is really unlikely
// to ever be part of a class name.
return str_replace('\\', '2015102400ouuu', $class);
return str_replace('\\', '__', $class);
}
/**
@@ -56,6 +56,53 @@ class helper {
*/
public static function option_to_class($option) {
// Really unlikely but yeah, I'm a bad booyyy.
return str_replace('2015102400ouuu', '\\', $option);
return str_replace('__', '\\', $option);
}
/**
* Sets an analytics > analytics models > $title breadcrumb.
*
* @param string $title
* @param \moodle_url $url
* @param \context|null $context Defaults to context_system
* @return null
*/
public static function set_navbar(string $title, \moodle_url $url, ?\context $context = null) {
global $PAGE;
if (!$context) {
$context = \context_system::instance();
}
$PAGE->set_context($context);
$PAGE->set_url($url);
if ($siteadmin = $PAGE->settingsnav->find('root', \navigation_node::TYPE_SITE_ADMIN)) {
$PAGE->navbar->add($siteadmin->get_content(), $siteadmin->action());
}
if ($analytics = $PAGE->settingsnav->find('analytics', \navigation_node::TYPE_SETTING)) {
$PAGE->navbar->add($analytics->get_content(), $analytics->action());
}
if ($analyticmodels = $PAGE->settingsnav->find('analyticmodels', \navigation_node::TYPE_SETTING)) {
$PAGE->navbar->add($analyticmodels->get_content(), $analyticmodels->action());
}
$PAGE->navbar->add($title);
$PAGE->set_pagelayout('report');
$PAGE->set_title($title);
$PAGE->set_heading($title);
}
/**
* Resets the current page.
*
* Note that this function can only be used by analytics pages that work at the system context.
*
* @return null
*/
public static function reset_page() {
global $PAGE;
$PAGE->reset_theme_and_output();
$PAGE->set_context(\context_system::instance());
}
}
@@ -76,13 +76,17 @@ class invalid_analysables implements \renderable, \templatable {
$offset = $this->page * $this->perpage;
$analysables = $this->model->get_analyser(['notimesplitting' => true])->get_analysables();
$analysables = $this->model->get_analyser(['notimesplitting' => true])->get_analysables_iterator();
$skipped = 0;
$enoughresults = false;
$morepages = false;
$results = array();
foreach ($analysables as $key => $analysable) {
foreach ($analysables as $analysable) {
if (!$analysable) {
continue;
}
$validtraining = $this->model->get_target()->is_valid_analysable($analysable, true);
if ($validtraining === true) {
@@ -117,13 +121,11 @@ class invalid_analysables implements \renderable, \templatable {
$morepages = true;
break;
}
unset($analysables[$key]);
}
// Prepare the context object.
$data = new \stdClass();
$data->modelname = $this->model->get_target()->get_name();
$data->modelname = $this->model->get_name();
if ($this->page > 0) {
$prev = clone $PAGE->url;
@@ -153,6 +155,12 @@ class invalid_analysables implements \renderable, \templatable {
$data->analysables[] = $obj;
}
if (empty($data->analysables)) {
$data->noanalysables = [
'message' => get_string('noinvalidanalysables', 'tool_analytics'),
'announce' => true,
];
}
return $data;
}
}
@@ -41,6 +41,11 @@ class model_logs extends \table_sql {
*/
protected $model = null;
/**
* @var string|false
*/
protected $evaluationmode = false;
/**
* Sets up the table_log parameters.
*
@@ -57,21 +62,32 @@ class model_logs extends \table_sql {
$this->set_attribute('class', 'modellog generaltable generalbox');
$this->set_attribute('aria-live', 'polite');
$this->define_columns(array('time', 'version', 'indicators', 'timesplitting', 'accuracy', 'info', 'usermodified'));
$this->define_columns(array('time', 'version', 'evaluationmode', 'indicators', 'timesplitting',
'accuracy', 'info', 'usermodified'));
$this->define_headers(array(
get_string('time'),
get_string('version'),
get_string('evaluationmode', 'tool_analytics'),
get_string('indicators', 'tool_analytics'),
get_string('timesplittingmethod', 'analytics'),
get_string('accuracy', 'tool_analytics'),
get_string('info', 'tool_analytics'),
get_string('fullnameuser'),
));
$evaluationmodehelp = new \help_icon('evaluationmode', 'tool_analytics');
$this->define_help_for_headers([null, null, $evaluationmodehelp, null, null, null, null, null]);
$this->pageable(true);
$this->collapsible(false);
$this->sortable(false);
$this->is_downloadable(false);
$this->evaluationmode = optional_param('evaluationmode', false, PARAM_ALPHANUM);
if ($this->evaluationmode && $this->evaluationmode != 'configuration' && $this->evaluationmode != 'trainedmodel') {
$this->evaluationmode = '';
}
$this->define_baseurl($PAGE->url);
}
@@ -86,6 +102,15 @@ class model_logs extends \table_sql {
return userdate($log->version, $recenttimestr);
}
/**
* Generate the evaluation mode column.
*
* @param \stdClass $log log data.
* @return string HTML for the evaluationmode column
*/
public function col_evaluationmode($log) {
return get_string('evaluationmodecol' . $log->evaluationmode, 'tool_analytics');
}
/**
* Generate the time column.
*
@@ -63,15 +63,53 @@ class models_list implements \renderable, \templatable {
$data = new \stdClass();
$newmodelmenu = new \action_menu();
$newmodelmenu->set_menu_trigger(get_string('newmodel', 'tool_analytics'), 'btn btn-default');
$newmodelmenu->set_alignment(\action_menu::TL, \action_menu::BL);
$newmodelmenu->add(new \action_menu_link(
new \moodle_url('/admin/tool/analytics/createmodel.php'),
new \pix_icon('i/edit', ''),
get_string('createmodel', 'tool_analytics'),
false
));
$newmodelmenu->add(new \action_menu_link(
new \moodle_url('/admin/tool/analytics/importmodel.php'),
new \pix_icon('i/import', ''),
get_string('importmodel', 'tool_analytics'),
false
));
$newmodelmenu->add(new \action_menu_link(
new \moodle_url('/admin/tool/analytics/restoredefault.php'),
new \pix_icon('i/reload', ''),
get_string('restoredefault', 'tool_analytics'),
false
));
$data->newmodelmenu = $newmodelmenu->export_for_template($output);
$onlycli = get_config('analytics', 'onlycli');
if ($onlycli === false) {
// Default applied if no config found.
$onlycli = 1;
}
// Evaluation options.
$timesplittingmethods = [
['id' => 'all', 'text' => get_string('alltimesplittingmethods', 'tool_analytics')],
];
foreach (\core_analytics\manager::get_time_splitting_methods_for_evaluation(true) as $timesplitting) {
$timesplittingmethods[] = [
'id' => \tool_analytics\output\helper::class_to_option($timesplitting->get_id()),
'text' => $timesplitting->get_name()->out(),
];
}
$data->models = array();
foreach ($this->models as $model) {
$modeldata = $model->export();
$modeldata = $model->export($output);
// Check if there is a help icon for the target to show.
$identifier = $modeldata->target->get_identifier();
@@ -107,6 +145,8 @@ class models_list implements \renderable, \templatable {
$modeldata->indicators = $indicators;
}
$modeldata->indicatorsnum = count($modeldata->indicators);
// Check if there is a help icon for the time splitting method.
if (!empty($modeldata->timesplitting)) {
$identifier = $modeldata->timesplitting->get_identifier();
@@ -141,7 +181,7 @@ class models_list implements \renderable, \templatable {
if ($contextid == SYSCONTEXTID) {
$contextname = get_string('allpredictions', 'tool_analytics');
} else {
$contextname = shorten_text($context->get_context_name(true, true), 90);
$contextname = shorten_text($context->get_context_name(false, true), 40);
}
$predictioncontexts[$contextid] = $contextname;
}
@@ -185,15 +225,30 @@ class models_list implements \renderable, \templatable {
// Evaluate machine-learning-based models.
if (!$onlycli && $model->get_indicators() && !$model->is_static()) {
// Extra is_trained call as trained_locally returns false if the model has not been trained yet.
$trainedonlyexternally = !$model->trained_locally() && $model->is_trained();
$actionid = 'evaluate-' . $model->get_id();
$modeltimesplittingmethods = $timesplittingmethods;
// Include the current time-splitting method as the default selection method the model already have one.
if ($model->get_model_obj()->timesplitting) {
$currenttimesplitting = ['id' => 'current', 'text' => get_string('currenttimesplitting', 'tool_analytics')];
array_unshift($modeltimesplittingmethods, $currenttimesplitting);
}
$evaluateparams = [$actionid, $trainedonlyexternally, $modeltimesplittingmethods];
$PAGE->requires->js_call_amd('tool_analytics/model', 'selectEvaluationOptions', $evaluateparams);
$urlparams['action'] = 'evaluate';
$url = new \moodle_url('model.php', $urlparams);
$icon = new \action_menu_link_secondary($url, new \pix_icon('i/calc', get_string('evaluate', 'tool_analytics')),
get_string('evaluate', 'tool_analytics'));
get_string('evaluate', 'tool_analytics'), ['data-action-id' => $actionid]);
$actionsmenu->add($icon);
}
// Machine-learning-based models evaluation log.
if (!$model->is_static()) {
if (!$model->is_static() && $model->get_logs()) {
$urlparams['action'] = 'log';
$url = new \moodle_url('model.php', $urlparams);
$icon = new \action_menu_link_secondary($url, new \pix_icon('i/report', get_string('viewlog', 'tool_analytics')),
@@ -202,12 +257,10 @@ class models_list implements \renderable, \templatable {
}
// Edit model.
if (!$model->is_static()) {
$urlparams['action'] = 'edit';
$url = new \moodle_url('model.php', $urlparams);
$icon = new \action_menu_link_secondary($url, new \pix_icon('t/edit', get_string('edit')), get_string('edit'));
$actionsmenu->add($icon);
}
$urlparams['action'] = 'edit';
$url = new \moodle_url('model.php', $urlparams);
$icon = new \action_menu_link_secondary($url, new \pix_icon('t/edit', get_string('edit')), get_string('edit'));
$actionsmenu->add($icon);
// Enable / disable.
if ($model->is_enabled() || !empty($modeldata->timesplitting)) {
@@ -227,13 +280,27 @@ class models_list implements \renderable, \templatable {
$actionsmenu->add($icon);
}
// Export training data.
if (!$model->is_static() && $model->is_trained()) {
$urlparams['action'] = 'export';
$url = new \moodle_url('model.php', $urlparams);
$icon = new \action_menu_link_secondary($url, new \pix_icon('i/export',
get_string('exporttrainingdata', 'tool_analytics')), get_string('export', 'tool_analytics'));
$actionsmenu->add($icon);
// Export.
if (!$model->is_static()) {
$fullysetup = $model->get_indicators() && !empty($modeldata->timesplitting);
$istrained = $model->is_trained();
if ($fullysetup || $istrained) {
$url = new \moodle_url('model.php', $urlparams);
// Clear the previous action param from the URL, we will set it in JS.
$url->remove_params('action');
$actionid = 'export-' . $model->get_id();
$PAGE->requires->js_call_amd('tool_analytics/model', 'selectExportOptions',
[$actionid, $istrained]);
$icon = new \action_menu_link_secondary($url, new \pix_icon('i/export',
get_string('export', 'tool_analytics')), get_string('export', 'tool_analytics'),
['data-action-id' => $actionid]);
$actionsmenu->add($icon);
}
}
// Invalid analysables.
@@ -247,7 +314,7 @@ class models_list implements \renderable, \templatable {
}
// Clear model.
if (!empty($predictioncontexts)) {
if (!empty($predictioncontexts) || $model->is_trained()) {
$actionid = 'clear-' . $model->get_id();
$PAGE->requires->js_call_amd('tool_analytics/model', 'confirmAction', [$actionid, 'clear']);
$urlparams['action'] = 'clear';
@@ -258,6 +325,16 @@ class models_list implements \renderable, \templatable {
$actionsmenu->add($icon);
}
// Delete model.
$actionid = 'delete-' . $model->get_id();
$PAGE->requires->js_call_amd('tool_analytics/model', 'confirmAction', [$actionid, 'delete']);
$urlparams['action'] = 'delete';
$url = new \moodle_url('model.php', $urlparams);
$icon = new \action_menu_link_secondary($url, new \pix_icon('t/delete',
get_string('delete', 'tool_analytics')), get_string('delete', 'tool_analytics'),
['data-action-id' => $actionid]);
$actionsmenu->add($icon);
$modeldata->actions = $actionsmenu->export_for_template($output);
$data->models[] = $modeldata;
@@ -81,7 +81,7 @@ class renderer extends plugin_renderer_base {
foreach ($results as $timesplittingid => $result) {
if (!CLI_SCRIPT) {
$output .= $OUTPUT->box_start('generalbox m-b-3');
$output .= $OUTPUT->box_start('generalbox mb-3');
}
// Check that the array key is a string, not all results depend on time splitting methods (e.g. general errors).
@@ -177,7 +177,7 @@ class renderer extends plugin_renderer_base {
}
if ($predictresults || (!empty($predictlogs) && debugging())) {
$output .= $OUTPUT->heading(get_string('predictionresults', 'tool_analytics'), 3, 'main m-t-3');
$output .= $OUTPUT->heading(get_string('predictionresults', 'tool_analytics'), 3, 'main mt-3');
}
if ($predictresults) {
@@ -0,0 +1,142 @@
<?php
// 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/>.
/**
* Provides {@link \tool_analytics\output\restorable_models} class.
*
* @package tool_analytics
* @category output
* @copyright 2019 David Mudrák <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_analytics\output;
defined('MOODLE_INTERNAL') || die();
/**
* Represents the list of default models that can be eventually restored.
*
* @copyright 2019 David Mudrák <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class restorable_models implements \renderable, \templatable {
/** @var array */
protected $models;
/**
* Instantiate an object of this class.
*
* @param array $models List of models as returned by {@link \core_analytics\manager::load_default_models_for_all_components()}
*/
public function __construct(array $models) {
$this->models = $models;
}
/**
* Export the list of models to be rendered.
*
* @param renderer_base $output
* @return string
*/
public function export_for_template(\renderer_base $output) {
$components = [];
foreach ($this->models as $componentname => $modelslist) {
$component = [
'name' => $this->component_name($componentname),
'component' => $componentname,
'models' => [],
];
foreach ($modelslist as $definition) {
list($target, $indicators) = \core_analytics\manager::get_declared_target_and_indicators_instances($definition);
if (\core_analytics\model::exists($target, $indicators)) {
continue;
}
$targetnamelangstring = $target->get_name();
$model = [
'defid' => \core_analytics\manager::model_declaration_identifier($definition),
'targetname' => $targetnamelangstring,
'targetclass' => $definition['target'],
'indicatorsnum' => count($definition['indicators']),
'indicators' => [],
];
if (get_string_manager()->string_exists($targetnamelangstring->get_identifier().'_help',
$targetnamelangstring->get_component())) {
$helpicon = new \help_icon($targetnamelangstring->get_identifier(), $targetnamelangstring->get_component());
$model['targethelp'] = $helpicon->export_for_template($output);
}
foreach ($indicators as $indicator) {
$indicatornamelangstring = $indicator->get_name();
$indicatordata = [
'name' => $indicatornamelangstring,
'classname' => $indicator->get_id(),
];
if (get_string_manager()->string_exists($indicatornamelangstring->get_identifier().'_help',
$indicatornamelangstring->get_component())) {
$helpicon = new \help_icon($indicatornamelangstring->get_identifier(),
$indicatornamelangstring->get_component());
$indicatordata['indicatorhelp'] = $helpicon->export_for_template($output);
}
$model['indicators'][] = $indicatordata;
}
$component['models'][] = $model;
}
if (!empty($component['models'])) {
$components[] = $component;
}
}
$result = [
'hasdata' => !empty($components),
'components' => array_values($components),
'submiturl' => new \moodle_url('/admin/tool/analytics/restoredefault.php'),
'backurl' => new \moodle_url('/admin/tool/analytics/index.php'),
'sesskey' => sesskey(),
];
return $result;
}
/**
* Return a human readable name for the given frankenstyle component.
*
* @param string $component Frankenstyle component such as 'core', 'core_analytics' or 'mod_workshop'
* @return string Human readable name of the component
*/
protected function component_name(string $component): string {
if ($component === 'core' || strpos($component, 'core_')) {
return get_string('componentcore', 'tool_analytics');
} else {
return get_string('pluginname', $component);
}
}
}
@@ -59,10 +59,16 @@ class predict_models extends \core\task\scheduled_task {
}
foreach ($models as $model) {
$renderer = $PAGE->get_renderer('tool_analytics');
$result = $model->predict();
// Reset the page as some indicators may call external functions that overwrite the page context.
\tool_analytics\output\helper::reset_page();
if ($result) {
echo $OUTPUT->heading(get_string('modelresults', 'tool_analytics', $model->get_target()->get_name()));
$renderer = $PAGE->get_renderer('tool_analytics');
echo $OUTPUT->heading(get_string('modelresults', 'tool_analytics', $model->get_name()));
echo $renderer->render_get_predictions_results(false, array(), $result, $model->get_analyser()->get_logs());
}
}
@@ -70,11 +70,15 @@ class train_models extends \core\task\scheduled_task {
continue;
}
$result = $model->train();
if ($result) {
echo $OUTPUT->heading(get_string('modelresults', 'tool_analytics', $model->get_target()->get_name()));
$renderer = $PAGE->get_renderer('tool_analytics');
$renderer = $PAGE->get_renderer('tool_analytics');
$result = $model->train();
// Reset the page as some indicators may call external functions that overwrite the page context.
\tool_analytics\output\helper::reset_page();
if ($result) {
echo $OUTPUT->heading(get_string('modelresults', 'tool_analytics', $model->get_name()));
echo $renderer->render_get_predictions_results($result, $model->get_analyser()->get_logs());
}
}
+24 -2
View File
@@ -35,6 +35,8 @@ Options:
--non-interactive Not interactive questions
--timesplitting Restrict the evaluation to 1 single time splitting method (Optional)
--filter Analyser dependant. e.g. A courseid would evaluate the model using a single course (Optional)
--mode 'configuration' or 'trainedmodel'. You can only use mode=trainedmodel when the trained" .
" model was imported" . "
--reuse-prev-analysed Reuse recently analysed courses instead of analysing the whole site. Set it to false while" .
" coding indicators. Defaults to true (Optional)" . "
-h, --help Print out this help
@@ -50,6 +52,7 @@ list($options, $unrecognized) = cli_get_params(
'modelid' => false,
'list' => false,
'timesplitting' => false,
'mode' => 'configuration',
'reuse-prev-analysed' => true,
'non-interactive' => false,
'filter' => false
@@ -64,16 +67,30 @@ if ($options['help']) {
exit(0);
}
if ($options['list'] || $options['modelid'] === false) {
if ($options['list']) {
\tool_analytics\clihelper::list_models();
exit(0);
}
if ($options['modelid'] === false) {
// All actions but --list require a modelid.
echo $help;
exit(0);
}
// Reformat them as an array.
if ($options['filter'] !== false) {
$options['filter'] = explode(',', $options['filter']);
}
if ($options['mode'] !== 'configuration' && $options['mode'] !== 'trainedmodel') {
cli_error('Error: The provided mode is not supported');
}
if ($options['mode'] == 'trainedmodel' && $options['timesplitting']) {
cli_error('Sorry, no time splitting method can be specified when using \'trainedmodel\' mode.');
}
// We need admin permissions.
\core\session\manager::set_user(get_admin());
@@ -85,15 +102,20 @@ if ($options['reuse-prev-analysed']) {
mtrace(get_string('evaluationinbatches', 'tool_analytics'));
}
$renderer = $PAGE->get_renderer('tool_analytics');
$analyseroptions = array(
'filter' => $options['filter'],
'timesplitting' => $options['timesplitting'],
'reuseprevanalysed' => $options['reuse-prev-analysed'],
'mode' => $options['mode'],
);
// Evaluate its suitability to predict accurately.
$results = $model->evaluate($analyseroptions);
$renderer = $PAGE->get_renderer('tool_analytics');
// Reset the page as some indicators may call external functions that overwrite the page context.
\tool_analytics\output\helper::reset_page();
echo $renderer->render_evaluate_results($results, $model->get_analyser()->get_logs());
// Check that we have, at leasa,t 1 valid dataset (not necessarily good) to use.
@@ -173,7 +173,8 @@ function tool_analytics_calculate_course_dates($course, $options) {
$formatoptions = $format->get_format_options();
// Change this for a course formats API level call in MDL-60702.
if (method_exists($format, 'update_end_date') && $formatoptions['automaticenddate']) {
if ((get_class($format) == 'format_weeks' || is_subclass_of($format, 'format_weeks')) &&
method_exists($format, 'update_end_date') && $formatoptions['automaticenddate']) {
// Special treatment for weeks-based formats with automatic end date.
if ($options['update']) {
@@ -204,9 +205,9 @@ function tool_analytics_calculate_course_dates($course, $options) {
$updateit = false;
if ($course->enddate < $course->startdate) {
$notification .= PHP_EOL . ' ' . get_string('errorendbeforestart', 'analytics', userdate($course->enddate));
$notification .= PHP_EOL . ' ' . get_string('errorendbeforestart', 'course', userdate($course->enddate));
} else if ($course->startdate + (YEARSECS + (WEEKSECS * 4)) > $course->enddate) {
$notification .= PHP_EOL . ' ' . get_string('coursetoolong', 'analytics');
$notification .= PHP_EOL . ' ' . get_string('coursetoolong', 'course');
} else {
$notification .= PHP_EOL . ' ' . get_string('enddate') . ': ' . userdate($course->enddate);
$updateit = true;
+95
View File
@@ -0,0 +1,95 @@
<?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/>.
/**
* Create model form.
*
* @package tool_analytics
* @copyright 2019 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__ . '/../../../config.php');
require_login();
\core_analytics\manager::check_can_manage_models();
$returnurl = new \moodle_url('/admin/tool/analytics/index.php');
$url = new \moodle_url('/admin/tool/analytics/createmodel.php');
$title = get_string('createmodel', 'tool_analytics');
\tool_analytics\output\helper::set_navbar($title, $url);
// Static targets are not editable, we discard them.
$targets = array_filter(\core_analytics\manager::get_all_targets(), function($target) {
return (!$target->based_on_assumptions());
});
$customdata = array(
'trainedmodel' => false,
'staticmodel' => false,
'targets' => $targets,
'indicators' => \core_analytics\manager::get_all_indicators(),
'timesplittings' => \core_analytics\manager::get_all_time_splittings(),
'predictionprocessors' => \core_analytics\manager::get_all_prediction_processors(),
);
$mform = new \tool_analytics\output\form\edit_model(null, $customdata);
if ($mform->is_cancelled()) {
redirect($returnurl);
} else if ($data = $mform->get_data()) {
// Converting option names to class names.
$targetclass = \tool_analytics\output\helper::option_to_class($data->target);
if (empty($targets[$targetclass])) {
throw new \moodle_exception('errorinvalidtarget', 'analytics', '', $targetclass);
}
$target = $targets[$targetclass];
$indicators = array();
foreach ($data->indicators as $indicator) {
$indicatorinstance = \core_analytics\manager::get_indicator(
\tool_analytics\output\helper::option_to_class($indicator)
);
$indicators[$indicatorinstance->get_id()] = $indicatorinstance;
}
$timesplitting = \tool_analytics\output\helper::option_to_class($data->timesplitting);
$predictionsprocessor = \tool_analytics\output\helper::option_to_class($data->predictionsprocessor);
// Insert the model into db.
$model = \core_analytics\model::create($target, []);
// Filter out indicators that can not be used by this target.
$invalidindicators = array_diff_key($indicators, $model->get_potential_indicators());
if ($invalidindicators) {
$indicators = array_diff_key($indicators, $invalidindicators);
}
// Update the model with the valid list of indicators.
$model->update($data->enabled, $indicators, $timesplitting, $predictionsprocessor);
$message = '';
$messagetype = \core\output\notification::NOTIFY_SUCCESS;
if (!empty($invalidindicators)) {
$message = get_string('invalidindicatorsremoved', 'tool_analytics');
}
redirect($returnurl, $message, 0, $messagetype);
}
echo $OUTPUT->header();
$mform->display();
echo $OUTPUT->footer();
+59
View File
@@ -0,0 +1,59 @@
<?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/>.
/**
* Import models tool frontend.
*
* @package tool_analytics
* @copyright 2017 onwards Ankit Agarwal
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__ . '/../../../config.php');
require_login();
\core_analytics\manager::check_can_manage_models();
$returnurl = new \moodle_url('/admin/tool/analytics/index.php');
$url = new \moodle_url('/admin/tool/analytics/importmodel.php');
$title = get_string('importmodel', 'tool_analytics');
\tool_analytics\output\helper::set_navbar($title, $url);
$form = new \tool_analytics\output\form\import_model();
if ($form->is_cancelled()) {
redirect($returnurl);
} else if ($data = $form->get_data()) {
$modelconfig = new \core_analytics\model_config();
$zipfilepath = $form->save_temp_file('modelfile');
list ($modeldata, $unused) = $modelconfig->extract_import_contents($zipfilepath);
if ($error = $modelconfig->check_dependencies($modeldata, $data->ignoreversionmismatches)) {
// The file is not available until the form is validated so we need an alternative method to show errors.
redirect($url, $error, 0, \core\output\notification::NOTIFY_ERROR);
}
\core_analytics\model::import_model($zipfilepath);
redirect($returnurl, get_string('importedsuccessfully', 'tool_analytics'), 0,
\core\output\notification::NOTIFY_SUCCESS);
}
echo $OUTPUT->header();
$form->display();
echo $OUTPUT->footer();
@@ -24,16 +24,26 @@
$string['accuracy'] = 'Accuracy';
$string['allpredictions'] = 'All predictions';
$string['alltimesplittingmethods'] = 'All time-splitting methods';
$string['analysingsitedata'] = 'Analysing the site';
$string['analyticmodels'] = 'Analytics models';
$string['bettercli'] = 'Evaluating models and generating predictions may involve heavy processing. It is recommended to run these actions from the command line.';
$string['cantguessstartdate'] = 'Can\'t guess the start date';
$string['cantguessenddate'] = 'Can\'t guess the end date';
$string['classdoesnotexist'] = 'Class {$a} does not exist';
$string['clearpredictions'] = 'Clear predictions';
$string['clearmodelpredictions'] = 'Are you sure you want to clear all "{$a}" predictions?';
$string['clienablemodel'] = 'You can enable the model by selecting a time-splitting method by its ID. Note that you can also enable it later using the web interface (\'none\' to exit).';
$string['clievaluationandpredictions'] = 'A scheduled task iterates through enabled models and gets predictions. Models evaluation via the web interface is disabled. You can allow these processes to be executed manually via the web interface by disabling the <a href="{$a}">\'onlycli\'</a> analytics setting.';
$string['clievaluationandpredictionsnoadmin'] = 'A scheduled task iterates through enabled models and gets predictions. Models evaluation via the web interface is disabled. It may be enabled by a site administrator.';
$string['component'] = 'Component';
$string['componentcore'] = 'Core';
$string['componentselect'] = 'Select all models provided by the component \'{$a}\'';
$string['componentselectnone'] = 'Unselect all';
$string['createmodel'] = 'Create model';
$string['currenttimesplitting'] = 'Current time-splitting method';
$string['delete'] = 'Delete';
$string['deletemodelconfirmation'] = 'Are you sure you want to delete "{$a}"? These changes cannot be reverted.';
$string['disabled'] = 'Disabled';
$string['editmodel'] = 'Edit "{$a}" model';
$string['edittrainedwarning'] = 'This model has already been trained. Note that changing its indicators or its time-splitting method will delete its previous predictions and start generating new predictions.';
@@ -42,39 +52,64 @@ $string['errorcantenablenotimesplitting'] = 'You need to select a time-splitting
$string['errornoenabledandtrainedmodels'] = 'There are no enabled and trained models to predict.';
$string['errornoenabledmodels'] = 'There are no enabled models to train.';
$string['errornoexport'] = 'Only trained models can be exported';
$string['errornostaticedit'] = 'Models based on assumptions cannot be edited.';
$string['errornostaticevaluated'] = 'Models based on assumptions cannot be evaluated. They are always 100% correct according to how they were defined.';
$string['errornostaticlog'] = 'Models based on assumptions cannot be evaluated because there is no performance log.';
$string['erroronlycli'] = 'Execution only allowed via command line';
$string['errortrainingdataexport'] = 'The model training data could not be exported';
$string['evaluate'] = 'Evaluate';
$string['evaluatemodel'] = 'Evaluate model';
$string['evaluationmode'] = 'Evaluation mode';
$string['evaluationmode_help'] = 'There are two evaluation modes:
* Trained model - Site data is used as testing data to evaluate the accuracy of the trained model.
* Configuration - Site data is split into training and testing data, to both train and test the accuracy of the model configuration.
Trained model is only available if a trained model has been imported into the site, and has not yet been re-trained using site data.';
$string['evaluationmodeinfo'] = 'This model has been imported into the site. You can either evaluate the performance of the model, or you can evaluate the performance of the model configuration using site data.';
$string['evaluationmodetrainedmodel'] = 'Evaluate the trained model';
$string['evaluationmodecoltrainedmodel'] = 'Trained model';
$string['evaluationmodecolconfiguration'] = 'Configuration';
$string['evaluationmodeconfiguration'] = 'Evaluate the model configuration';
$string['evaluationinbatches'] = 'The site contents are calculated and stored in batches. The evaluation process may be stopped at any time. The next time it is run, it will continue from the point when it was stopped.';
$string['export'] = 'Export';
$string['exportincludeweights'] = 'Include the weights of the trained model';
$string['exportmodel'] = 'Export configuration';
$string['exporttrainingdata'] = 'Export training data';
$string['getpredictionsresultscli'] = 'Results using {$a->name} (id: {$a->id}) course duration splitting';
$string['getpredictionsresults'] = 'Results using {$a->name} course duration splitting';
$string['getpredictionsresultscli'] = 'Results using {$a->name} (id: {$a->id}) time-splitting method';
$string['getpredictionsresults'] = 'Results using {$a->name} time-splitting method';
$string['extrainfo'] = 'Info';
$string['generalerror'] = 'Evaluation error. Status code {$a}';
$string['getpredictions'] = 'Get predictions';
$string['goodmodel'] = 'This is a good model for using to obtain predictions. Enable it to start obtaining predictions.';
$string['importmodel'] = 'Import model';
$string['indicators'] = 'Indicators';
$string['indicators_help'] = 'The indicators are what you think will lead to an accurate prediction of the target.';
$string['indicators_link'] = 'Indicators';
$string['indicatorsnum'] = 'Number of indicators: {$a}';
$string['info'] = 'Info';
$string['ignoreversionmismatches'] = 'Ignore version mismatches';
$string['ignoreversionmismatchescheckbox'] = 'Ignore the differences between this site version and the original site version.';
$string['importedsuccessfully'] = 'The model has been successfully imported.';
$string['insights'] = 'Insights';
$string['invalidanalysables'] = 'Invalid site elements';
$string['invalidanalysablesinfo'] = 'This pages lists this site analysable elements that can not be used by this prediction model. The listed elements can not be used neither to train the prediction model nor the prediction model can get predictions for them.';
$string['invalidanalysablesinfo'] = 'This page lists analysable elements that can\'t be used by this prediction model. The listed elements can\'t be used either to train the prediction model nor can the prediction model obtain predictions for them.';
$string['invalidanalysablestable'] = 'Invalid site analysable elements table';
$string['invalidindicatorsremoved'] = 'A new model has been added. Indicators that do not work with the selected target have been automatically removed.';
$string['invalidprediction'] = 'Invalid to get predictions';
$string['invalidtraining'] = 'Invalid to train the model';
$string['loginfo'] = 'Log extra info';
$string['missingmoodleversion'] = 'Imported file doesn\'t define a version number';
$string['modelid'] = 'Model ID';
$string['modelinvalidanalysables'] = 'Invalid analysable elements for "{$a}" model';
$string['modelname'] = 'Model name';
$string['modelresults'] = '{$a} results';
$string['modeltimesplitting'] = 'Time splitting';
$string['newmodel'] = 'New model';
$string['nextpage'] = 'Next page';
$string['nodatatoevaluate'] = 'There is no data to evaluate the model';
$string['nodatatopredict'] = 'No new elements to get predictions for';
$string['nodatatotrain'] = 'There is no new data that can be used for training';
$string['noinvalidanalysables'] = 'This site does not contain any invalid analysable element.';
$string['notdefined'] = 'Not yet defined';
$string['pluginname'] = 'Analytic models';
$string['predictionresults'] = 'Prediction results';
@@ -82,16 +117,26 @@ $string['predictmodels'] = 'Predict models';
$string['predictorresultsin'] = 'Predictor logged information in {$a} directory';
$string['predictionprocessfinished'] = 'Prediction process finished';
$string['previouspage'] = 'Previous page';
$string['restoredefault'] = 'Restore default models';
$string['restoredefaultempty'] = 'Please select models to be restored.';
$string['restoredefaultinfo'] = 'These default models are missing or have changed since being installed. You can restore selected default models.';
$string['restoredefaultnone'] = 'All default models provided by core and installed plugins have been created. No new models were found; there is nothing to restore.';
$string['restoredefaultsome'] = 'Succesfully re-created {$a->count} new model(s).';
$string['restoredefaultsubmit'] = 'Restore selected';
$string['samestartdate'] = 'Current start date is good';
$string['sameenddate'] = 'Current end date is good';
$string['selecttimesplittingforevaluation'] = 'Select the time-splitting method you want to use to evaluate the model configuration.';
$string['target'] = 'Target';
$string['target_help'] = 'The target is what the model will predict.';
$string['target_link'] = 'Targets';
$string['timesplittingnotdefined'] = 'Time splitting is not defined.';
$string['timesplittingnotdefined_help'] = 'You need to select a time-splitting method before enabling the model.';
$string['trainandpredictmodel'] = 'Training model and calculating predictions';
$string['trainingprocessfinished'] = 'Training process finished';
$string['trainingresults'] = 'Training results';
$string['trainmodels'] = 'Train models';
$string['viewlog'] = 'Log';
$string['versionnotsame'] = 'Imported file was from a different version ({$a->importedversion}) than the current one ({$a->version})';
$string['viewlog'] = 'Evaluation log';
$string['weeksenddateautomaticallyset'] = 'End date automatically set based on start date and the number of sections';
$string['weeksenddatedefault'] = 'End date automatically calculated from the course start date.';
$string['privacy:metadata'] = 'The Analytic models plugin does not store any personal data.';
+83 -36
View File
@@ -23,24 +23,24 @@
*/
require_once(__DIR__ . '/../../../config.php');
require_once($CFG->libdir . '/filelib.php');
$id = required_param('id', PARAM_INT);
$action = required_param('action', PARAM_ALPHANUMEXT);
$context = context_system::instance();
require_login();
$model = new \core_analytics\model($id);
\core_analytics\manager::check_can_manage_models();
$returnurl = new \moodle_url('/admin/tool/analytics/index.php');
$params = array('id' => $id, 'action' => $action);
$url = new \moodle_url('/admin/tool/analytics/model.php', $params);
switch ($action) {
case 'edit':
$title = get_string('editmodel', 'tool_analytics', $model->get_target()->get_name());
$title = get_string('editmodel', 'tool_analytics', $model->get_name());
break;
case 'evaluate':
$title = get_string('evaluatemodel', 'tool_analytics');
@@ -57,8 +57,14 @@ switch ($action) {
case 'disable':
$title = get_string('disable');
break;
case 'export':
$title = get_string('export', 'tool_analytics');
case 'delete':
$title = get_string('delete');
break;
case 'exportdata':
$title = get_string('exporttrainingdata', 'tool_analytics');
break;
case 'exportmodel':
$title = get_string('exportmodel', 'tool_analytics');
break;
case 'clear':
$title = get_string('clearpredictions', 'tool_analytics');
@@ -70,11 +76,7 @@ switch ($action) {
throw new moodle_exception('errorunknownaction', 'analytics');
}
$PAGE->set_context($context);
$PAGE->set_url($url);
$PAGE->set_pagelayout('report');
$PAGE->set_title($title);
$PAGE->set_heading($title);
\tool_analytics\output\helper::set_navbar($title, $url);
$onlycli = get_config('analytics', 'onlycli');
if ($onlycli === false) {
@@ -88,48 +90,59 @@ switch ($action) {
confirm_sesskey();
$model->enable();
redirect(new \moodle_url('/admin/tool/analytics/index.php'));
redirect($returnurl);
break;
case 'disable':
confirm_sesskey();
$model->update(0, false, false);
redirect(new \moodle_url('/admin/tool/analytics/index.php'));
redirect($returnurl);
break;
case 'delete':
confirm_sesskey();
$model->delete();
redirect($returnurl);
break;
case 'edit':
confirm_sesskey();
if ($model->is_static()) {
echo $OUTPUT->header();
throw new moodle_exception('errornostaticedit', 'tool_analytics');
}
$customdata = array(
'id' => $model->get_id(),
'model' => $model,
'trainedmodel' => $model->is_trained(),
'staticmodel' => $model->is_static(),
'indicators' => $model->get_potential_indicators(),
'timesplittings' => \core_analytics\manager::get_enabled_time_splitting_methods(),
'timesplittings' => \core_analytics\manager::get_all_time_splittings(),
'predictionprocessors' => \core_analytics\manager::get_all_prediction_processors()
);
$mform = new \tool_analytics\output\form\edit_model(null, $customdata);
if ($mform->is_cancelled()) {
redirect(new \moodle_url('/admin/tool/analytics/index.php'));
redirect($returnurl);
} else if ($data = $mform->get_data()) {
// Converting option names to class names.
$indicators = array();
foreach ($data->indicators as $indicator) {
$indicatorclass = \tool_analytics\output\helper::option_to_class($indicator);
$indicators[] = \core_analytics\manager::get_indicator($indicatorclass);
}
$timesplitting = \tool_analytics\output\helper::option_to_class($data->timesplitting);
$predictionsprocessor = \tool_analytics\output\helper::option_to_class($data->predictionsprocessor);
if (!$model->is_static()) {
// Converting option names to class names.
$indicators = array();
foreach ($data->indicators as $indicator) {
$indicatorclass = \tool_analytics\output\helper::option_to_class($indicator);
$indicators[] = \core_analytics\manager::get_indicator($indicatorclass);
}
$predictionsprocessor = \tool_analytics\output\helper::option_to_class($data->predictionsprocessor);
} else {
// These fields can not be modified.
$indicators = false;
$predictionsprocessor = false;
}
$model->update($data->enabled, $indicators, $timesplitting, $predictionsprocessor);
redirect(new \moodle_url('/admin/tool/analytics/index.php'));
redirect($returnurl);
}
echo $OUTPUT->header();
@@ -147,8 +160,6 @@ switch ($action) {
case 'evaluate':
confirm_sesskey();
echo $OUTPUT->header();
if ($model->is_static()) {
throw new moodle_exception('errornostaticevaluate', 'tool_analytics');
}
@@ -160,7 +171,31 @@ switch ($action) {
// Web interface is used by people who can not use CLI nor code stuff, always use
// cached stuff as they will change the model through the web interface as well
// which invalidates the previously analysed stuff.
$results = $model->evaluate(array('reuseprevanalysed' => true));
$options = ['reuseprevanalysed' => true];
$mode = optional_param('mode', false, PARAM_ALPHANUM);
if ($mode == 'trainedmodel') {
$options['mode'] = 'trainedmodel';
} else {
// All is the default in core_analytics\model::evaluate() as well.
$timesplitting = optional_param('timesplitting', 'all', PARAM_ALPHANUMEXT);
if ($timesplitting === 'current') {
$options['timesplitting'] = \core_analytics\manager::get_time_splitting($model->get_model_obj()->timesplitting);
} else if ($timesplitting !== 'all') {
$options['timesplitting'] = \core_analytics\manager::get_time_splitting(
\tool_analytics\output\helper::option_to_class($timesplitting)
);
}
}
$results = $model->evaluate($options);
// We reset the theme and the output as some indicators may be using external functions
// which reset $PAGE.
\tool_analytics\output\helper::reset_page();
echo $OUTPUT->header();
$renderer = $PAGE->get_renderer('tool_analytics');
echo $renderer->render_evaluate_results($results, $model->get_analyser()->get_logs());
break;
@@ -168,8 +203,6 @@ switch ($action) {
case 'getpredictions':
confirm_sesskey();
echo $OUTPUT->header();
if ($onlycli) {
throw new moodle_exception('erroronlycli', 'tool_analytics');
}
@@ -187,6 +220,11 @@ switch ($action) {
$predictlogs = array();
}
// We reset the theme and the output as some indicators may be using external functions
// which reset $PAGE.
\tool_analytics\output\helper::reset_page();
echo $OUTPUT->header();
$renderer = $PAGE->get_renderer('tool_analytics');
echo $renderer->render_get_predictions_results($trainresults, $trainlogs, $predictresults, $predictlogs);
break;
@@ -203,7 +241,7 @@ switch ($action) {
echo $renderer->render_table($modellogstable);
break;
case 'export':
case 'exportdata':
if ($model->is_static() || !$model->is_trained()) {
throw new moodle_exception('errornoexport', 'tool_analytics');
@@ -211,7 +249,7 @@ switch ($action) {
$file = $model->get_training_data();
if (!$file) {
redirect(new \moodle_url('/admin/tool/analytics/index.php'), get_string('errortrainingdataexport', 'tool_analytics'),
redirect($returnurl, get_string('errortrainingdataexport', 'tool_analytics'),
null, \core\output\notification::NOTIFY_ERROR);
}
@@ -219,11 +257,20 @@ switch ($action) {
send_file($file, $filename, null, 0, false, true);
break;
case 'exportmodel':
$includeweights = optional_param('includeweights', 1, PARAM_INT);
$zipfilename = 'model-' . $model->get_unique_id() . '-' . microtime(false) . '.zip';
$zipfilepath = $model->export_model($zipfilename, $includeweights);
send_temp_file($zipfilepath, $zipfilename);
break;
case 'clear':
confirm_sesskey();
$model->clear();
redirect(new \moodle_url('/admin/tool/analytics/index.php'));
redirect($returnurl);
break;
case 'invalidanalysables':
+79
View File
@@ -0,0 +1,79 @@
<?php
// 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/>.
/**
* Check and create missing default prediction models.
*
* @package tool_analytics
* @copyright 2019 David Mudrák <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__ . '/../../../config.php');
require_login();
\core_analytics\manager::check_can_manage_models();
$confirmed = optional_param('confirmed', false, PARAM_BOOL);
$restoreids = optional_param_array('restoreid', [], PARAM_ALPHANUM);
$returnurl = new \moodle_url('/admin/tool/analytics/index.php');
$myurl = new \moodle_url('/admin/tool/analytics/restoredefault.php');
\tool_analytics\output\helper::set_navbar(get_string('restoredefault', 'tool_analytics'), $myurl);
if (data_submitted()) {
require_sesskey();
if (empty($restoreids)) {
$message = get_string('restoredefaultempty', 'tool_analytics');
$type = \core\output\notification::NOTIFY_WARNING;
redirect($myurl, $message, null, $type);
}
$numcreated = 0;
foreach (\core_analytics\manager::load_default_models_for_all_components() as $componentname => $modelslist) {
foreach ($modelslist as $definition) {
if (!in_array(\core_analytics\manager::model_declaration_identifier($definition), $restoreids)) {
// This model has not been selected by the user.
continue;
}
list($target, $indicators) = \core_analytics\manager::get_declared_target_and_indicators_instances($definition);
if (\core_analytics\model::exists($target, $indicators)) {
// This model exists (normally this should not happen as we do not show such models in the UI to select).
continue;
}
\core_analytics\manager::create_declared_model($definition);
$numcreated++;
}
}
$message = get_string('restoredefaultsome', 'tool_analytics', ['count' => $numcreated]);
$type = \core\output\notification::NOTIFY_SUCCESS;
redirect($returnurl, $message, null, $type);
}
$models = \core_analytics\manager::load_default_models_for_all_components();
$ui = new \tool_analytics\output\restorable_models($models);
echo $OUTPUT->header();
echo $PAGE->get_renderer('tool_analytics')->render($ui);
echo $OUTPUT->footer();
@@ -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/>.
}}
{{!
@template tool_analytics/evaluation_options
Evaluation selector.
The purpose of this template is to render the evaluation mode options.
Classes required for JS:
* none
Data attributes required for JS:
* none
Example context (json):
{
"trainedexternally": "1",
"timesplittingmethods": [
{
"id": "ou",
"name": "Quarters"
}, {
"id": "yeah",
"name": "Tenths"
}
]
}
}}
{{#trainedexternally}}
<div class="box mb-4">{{#str}} evaluationmodeinfo, tool_analytics {{/str}}</div>
<div class="custom-control custom-radio">
<input class="custom-control-input" type="radio" name="evaluationmode" id="id-mode-trainedmodel" value="trainedmodel" checked>
<label class="custom-control-label" for="id-mode-trainedmodel">{{#str}} evaluationmodetrainedmodel, tool_analytics {{/str}}</label>
</div>
<div class="custom-control custom-radio">
<input class="custom-control-input" type="radio" name="evaluationmode" id="id-mode-configuration" value="configuration">
<label class="custom-control-label" for="id-mode-configuration">{{#str}} evaluationmodeconfiguration, tool_analytics {{/str}}</label>
</div>
{{/trainedexternally}}
{{! Hidden by default if #trainedexternally as the default option is trainedmodel in this case.}}
<div id="id-evaluation-timesplitting-container" class="m-t-1 {{#trainedexternally}}hidden{{/trainedexternally}}">
{{#str}} selecttimesplittingforevaluation, tool_analytics {{/str}}
<div>
<select id="id-evaluation-timesplitting" name="timesplitting" class="custom-select m-t-1">
{{#timesplittingmethods}}
<option value="{{id}}">{{text}}</option>
{{/timesplittingmethods}}
</select>
</div>
</div>
{{#js}}
require(['jquery'], function($) {
$("input[name='evaluationmode']:radio").change(function() {
if ($(this).val() == 'configuration') {
$('#id-evaluation-timesplitting-container').show();
} else {
$('#id-evaluation-timesplitting-container').hide();
}
});
});
{{/js}}
@@ -0,0 +1,57 @@
{{!
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/>.
}}
{{!
@template tool_analytics/export_options
Export options.
The purpose of this template is to render the exporting options.
Classes required for JS:
* none
Data attributes required for JS:
* none
Example context (json):
{
}
}}
<div class="custom-control custom-radio">
<input class="custom-control-input" type="radio" name="exportoption" id="id-mode-exportdata" value="exportdata">
<label class="custom-control-label" for="id-mode-exportdata">{{#str}} exporttrainingdata, tool_analytics {{/str}}</label>
</div>
<div class="custom-control custom-radio">
<input class="custom-control-input" type="radio" name="exportoption" id="id-mode-exportmodel" value="exportmodel" checked>
<label class="custom-control-label" for="id-mode-exportmodel">{{#str}} exportmodel, tool_analytics {{/str}}</label>
</div>
<div class="custom-control custom-checkbox m-l-2" id="id-includeweights-container">
<input class="custom-control-input" type="checkbox" id="id-includeweights" value="1" checked>
<label class="custom-control-label" for="id-includeweights">{{#str}} exportincludeweights, tool_analytics {{/str}}</label>
</div>
{{#js}}
require(['jquery'], function($) {
$("input[name='exportoption']:radio").change(function() {
if ($(this).val() == 'exportdata') {
$('#id-includeweights-container').hide();
} else {
$('#id-includeweights-container').show();
}
});
});
{{/js}}
@@ -48,31 +48,38 @@
<div class="box">
<h3>{{#str}}modelinvalidanalysables, tool_analytics, {{modelname}}{{/str}}</h3>
<div>{{#str}}invalidanalysablesinfo, tool_analytics{{/str}}</div>
<div class="m-t-2 m-b-1">
<span>{{#prev}}{{> core/single_button}}{{/prev}}</span>
<span>{{#next}}{{> core/single_button}}{{/next}}</span>
</div>
<table class="generaltable fullwidth">
<caption class="accesshide">{{#str}}invalidanalysablestable, tool_analytics{{/str}}</caption>
<thead>
<tr>
<th scope="col">{{#str}}name{{/str}}</th>
<th scope="col">{{#str}}invalidtraining, tool_analytics{{/str}}</th>
<th scope="col">{{#str}}invalidprediction, tool_analytics{{/str}}</th>
</tr>
</thead>
<tbody>
{{#analysables}}
<tr>
<td>{{{url}}}</td>
<td>{{validtraining}}</td>
<td>{{validprediction}}</td>
</tr>
{{/analysables}}
</tbody>
</table>
<div class="m-t-1 m-b-2">
<span>{{#prev}}{{> core/single_button}}{{/prev}}</span>
<span>{{#next}}{{> core/single_button}}{{/next}}</span>
</div>
{{#noanalysables}}
<div class="mt-2 mb-1">
{{> core/notification_info}}
</div>
{{/noanalysables}}
{{^noanalysables}}
<div class="mt-2 mb-1">
<span>{{#prev}}{{> core/single_button}}{{/prev}}</span>
<span>{{#next}}{{> core/single_button}}{{/next}}</span>
</div>
<table class="generaltable fullwidth">
<caption class="accesshide">{{#str}}invalidanalysablestable, tool_analytics{{/str}}</caption>
<thead>
<tr>
<th scope="col">{{#str}}name{{/str}}</th>
<th scope="col">{{#str}}invalidtraining, tool_analytics{{/str}}</th>
<th scope="col">{{#str}}invalidprediction, tool_analytics{{/str}}</th>
</tr>
</thead>
<tbody>
{{#analysables}}
<tr>
<td>{{{url}}}</td>
<td>{{validtraining}}</td>
<td>{{validprediction}}</td>
</tr>
{{/analysables}}
</tbody>
</table>
<div class="mt-1 mb-2">
<span>{{#prev}}{{> core/single_button}}{{/prev}}</span>
<span>{{#next}}{{> core/single_button}}{{/next}}</span>
</div>
{{/noanalysables}}
</div>
@@ -20,85 +20,122 @@
Template for models list.
Classes required for JS:
* none
* The list od models wrapped within a id="predictionmodelslist" element.
Data attributes required for JS:
* none
* [data-widget="toggle"] indicates the clickable element for expanding/collapsing
the list of indicators used by the given model.
* [data-model-name="..."] should be provided by an element wrapping the model's actions menu
and contain the plain text name of the model.
Context variables required for this template:
* none
* models: array - list of models to display
- id: int - model unique identifier
- modelname: string - name of the model
- name: object - data for the inplace editable element template
- target: string - name of the target associated with the model
- targetclass: string - fully qualified name of the target class
- targethelp: object - data for the help tooltip template
- enabled: bool - is the model enabled
- indicatorsnum: int - number of indicators
- indicators: array - list of indicators used by the model
+ name: string - name of the indicator
+ help: object - data for the help tooltip template
- insights: object - data for the single select template
- noinsights: string - text to display instead of insights
* warnings: array - list of data for notification warning template
* infos: array - list of data for notification info template
* createmodelurl: string - URL to create a new model
* importmodelurl: string - URL to import a model
Example context (json):
{
"models": [
{
"id": 11,
"modelname": "Prevent devs at risk",
"name": {
"component": "local_analyticsdemo",
"itemtype": "modelname",
"itemid": 42,
"displayvalue": "Prevent devs at risk",
"value": ""
},
"target": "Prevent devs at risk",
"targethelp": [
{
"title": "Help with something",
"url": "http://example.org/help",
"linktext": "",
"icon":{
"extraclasses": "iconhelp",
"attributes": [
{"name": "src", "value": "../../../pix/help.svg"},
{"name": "alt", "value": "Help icon"}
]
}
"targetclass": "\\local_analyticsdemo\\analytics\\target\\dev_risk",
"targethelp": {
"title": "Help with Prevent devs at risk",
"text": "This target blah blah ...",
"url": "http://example.org/help",
"linktext": "",
"icon": {
"extraclasses": "iconhelp",
"attributes": [
{"name": "src", "value": "../../../pix/help.svg"},
{"name": "alt", "value": "Help icon"}
]
}
],
},
"enabled": 1,
"indicators": [{
"name": "Indicator 1",
"help": [{
"title": "Help with something",
"indicatorsnum": 2,
"indicators": [
{
"name": "Indicator 1",
"help": {
"text": "This indicator blah blah ...",
"title": "Help with Indicator 1",
"url": "http://example.org/help",
"linktext": "",
"icon":{
"icon": {
"extraclasses": "iconhelp",
"attributes": [
{"name": "src", "value": "../../../pix/help.svg"},
{"name": "alt", "value": "Help icon"}
]
}
}]
}
},
{
"name": "Indicator 2",
"help": [{
"title": "Help with something",
"name": "Indicator 2",
"help": {
"text": "This indicator blah blah ...",
"title": "Help with Indicator 2",
"url": "http://example.org/help",
"linktext": "",
"icon":{
"icon": {
"extraclasses": "iconhelp",
"attributes": [
{"name": "src", "value": "../../../pix/help.svg"},
{"name": "alt", "value": "Help icon"}
]
}
}]
}],
"timesplitting": "Quarters",
"timesplittinghelp": [
{
"title": "Help with something",
"url": "http://example.org/help",
"linktext": "",
"icon":{
"extraclasses": "iconhelp",
"attributes": [
{"name": "src", "value": "../../../pix/help.svg"},
{"name": "alt", "value": "Help icon"}
]
}
}
],
"timesplitting": "Quarters",
"timesplittinghelp": {
"text": "This time splitting methof blah blah ...",
"title": "Help with Quarters",
"url": "http://example.org/help",
"linktext": "",
"icon": {
"extraclasses": "iconhelp",
"attributes": [
{"name": "src", "value": "../../../pix/help.svg"},
{"name": "alt", "value": "Help icon"}
]
}
},
"noinsights": "No insights available yet"
}
],
"warnings": {
"message": "Hey, this is a warning"
}
"warnings": [
{
"message": "Be ware, this is just an example!"
}
],
"createmodelurl": "#",
"importmodelurl": "#"
}
}}
@@ -110,11 +147,16 @@
{{/infos}}
<div class="box">
<table class="generaltable fullwidth">
<div class="top-nav d-flex">
{{#newmodelmenu}}
{{>core/action_menu}}
{{/newmodelmenu}}
</div>
<table id="predictionmodelslist" class="generaltable fullwidth">
<caption>{{#str}}analyticmodels, tool_analytics{{/str}}</caption>
<thead>
<tr>
<th scope="col">{{#str}}target, tool_analytics{{/str}}</th>
<th scope="col">{{#str}}modelname, tool_analytics{{/str}}</th>
<th scope="col">{{#str}}enabled, tool_analytics{{/str}}</th>
<th scope="col">{{#str}}indicators, tool_analytics{{/str}}</th>
<th scope="col">{{#str}}modeltimesplitting, tool_analytics{{/str}}</th>
@@ -124,12 +166,17 @@
</thead>
<tbody>
{{#models}}
<tr>
<tr data-model-name="{{modelname}}">
<td>
<span class="target-name">{{target}}</span>
{{#targethelp}}
{{>core/help_icon}}
{{/targethelp}}
{{#name}}
<span class="model-name">{{>core/inplace_editable}}</span>
{{/name}}
<div>
<small class="target-class">{{targetclass}}</small>
{{#targethelp}}
{{>core/help_icon}}
{{/targethelp}}
</div>
</td>
<td>
{{#enabled}}
@@ -140,7 +187,15 @@
{{/enabled}}
</td>
<td>
<ul>
<a data-widget="toggle"
title="{{#str}} clicktohideshow {{/str}}"
aria-expanded="false"
aria-controls="indicators-{{id}}"
role="button"
href="">
{{#str}} indicatorsnum, tool_analytics, {{indicatorsnum}} {{/str}}
</a>
<ul class="hidden" id="indicators-{{id}}">
{{#indicators}}
<li>
{{name}}
@@ -184,3 +239,22 @@
</tbody>
</table>
</div>
{{#js}}
require(['jquery'], function($) {
// Toggle the visibility of the indicators list.
$('#predictionmodelslist').on('click', '[data-widget="toggle"]', function(e) {
e.preventDefault();
var toggle = $(e.currentTarget);
var listid = toggle.attr('aria-controls');
$(document.getElementById(listid)).toggle();
if (toggle.attr('aria-expanded') == 'false') {
toggle.attr('aria-expanded', 'true');
} else {
toggle.attr('aria-expanded', 'false');
}
});
});
{{/js}}
@@ -0,0 +1,225 @@
{{!
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/>.
}}
{{!
@template tool_analytics/restorable_models
Displays the list of missing prediction models that can be restored.
Classes required for JS:
* The list should be wrapped within a id="restorablemodelslist" element.
Data attributes required for JS:
* [data-widget="toggle"] indicates the clickable element for expanding/collapsing
the list of indicators used by the given model.
* [data-select] indicates a clickable element used for selecting multiple checkboxes.
* [data-component] should be set for checkboxes that select the particular model.
Context variables required for this template:
* hasdata: boolean - do we have data to display
* submiturl: string - URL where the form should be submitted
* backurl: string - URL where the user should be sent without making any changes
* sesskey: string
* components: array - list of components to display
- name: string - human readable name of the component
- component: string - frankenstyle name of the component
- models: array - list of restorable models provided by the component
+ defid: string - model definition identifier
+ targetname: string - human readable name of the target
+ targetclass: string - fully qualified classname of the target
+ indicatorsnum: int - number of indicators
+ indicators: array - list of indicators
~ name: string - human readable name of the indicator
~ classname: string - fully qualified classname of the indicator
Example context (json):
{
"hasdata": true,
"submiturl": "https://example.com/moodle/admin/tool/analytics/restoredefault.php",
"backurl": "https://example.com/moodle/admin/tool/analytics/index.php",
"sesskey": "abcdefg123456",
"components": [
{
"name": "Core",
"component": "core",
"models": [
{
"defid": "id24680aceg",
"targetname": "No teaching",
"targetclass": "\\core\\analytics\\target\\no_teaching",
"indicatorsnum": 2,
"indicators": [
{
"name": "There are no teachers",
"classname": "\\core\\analytics\\indicator\\no_teacher"
},
{
"name": "There are no students",
"classname": "\\core\\analytics\\indicator\\no_students"
}
]
},
{
"defid": "id13579bdfi",
"targetname": "Students at risk of dropping out",
"targetclass": "\\core\\analytics\\target\\course_dropout",
"indicatorsnum": 1,
"indicators": [
{
"name": "Read actions amount",
"classname": "\\core\\analytics\\indicator\\read_actions"
}
]
}
]
},
{
"name": "Custom analytics plugin",
"component": "tool_customanalytics",
"models": [
{
"defid": "id566dsgffg655",
"targetname": "Cheater",
"targetclass": "\\tool_customanalytics\\analytics\\target\\cheater",
"indicatorsnum": 1,
"indicators": [
{
"name": "Copy-pasted submissions",
"classname": "\\tool_customanalytics\\analytics\\indicator\\copy_paster_submissions"
}
]
}
]
}
]
}
}}
<div class="box">
{{^hasdata}}
<p>{{#str}} restoredefaultnone, tool_analytics {{/str}}</p>
<div><a href="{{backurl}}" class="btn btn-secondary">{{#str}} back {{/str}}</a></div>
{{/hasdata}}
{{#hasdata}}
<p>{{#str}} restoredefaultinfo, tool_analytics {{/str}}</p>
<form method="post" action="{{submiturl}}">
<table id="restorablemodelslist" class="generaltable fullwidth">
<colgroup>
<col width="10%">
<col width="45%">
<col width="45%">
</colgroup>
<thead>
<tr>
<th scope="col"><a href="" data-select="*">{{#str}} selectall {{/str}}</a></th>
<th scope="col">{{#str}} target, tool_analytics {{/str}}</th>
<th scope="col">{{#str}} indicators, tool_analytics {{/str}}</th>
</tr>
</thead>
<tbody>
{{#components}}
<tr>
<th scope="rowgroup" colspan="3">
<span class="component-name">
<a href=""
title="{{#str}} componentselect, tool_analytics, {{name}} {{/str}}"
data-select="{{component}}">
{{name}}
</a>
</span>
<div><small class="component-frankenstyle">{{component}}</small></div>
</th>
</tr>
{{#models}}
<tr>
<td>
<input data-component="{{component}}" type="checkbox" name="restoreid[]" value="{{defid}}">
</td>
<td>
<span class="target-name">{{targetname}}</span>
{{#targethelp}}
{{>core/help_icon}}
{{/targethelp}}
<div><small class="target-class">{{targetclass}}</small></div>
</td>
<td>
<a data-widget="toggle"
title="{{#str}} clicktohideshow {{/str}}"
aria-expanded="false"
aria-controls="indicators-{{defid}}"
role="button"
href="">
{{#str}} indicatorsnum, tool_analytics, {{indicatorsnum}} {{/str}}
</a>
<ul class="hidden listunstyled" id="indicators-{{defid}}">
{{#indicators}}
<li>
{{name}}
{{#indicatorhelp}}
{{>core/help_icon}}
{{/indicatorhelp}}
<div><small>{{classname}}</small></div>
</li>
{{/indicators}}
</ul>
</td>
</tr>
{{/models}}
{{/components}}
</tbody>
</table>
<div>
<input class="btn btn-primary" type="submit" value="{{#str}} restoredefaultsubmit, tool_analytics {{/str}}">
<input class="btn btn-secondary" type="reset" value="{{#str}} componentselectnone, tool_analytics {{/str}}">
<a href="{{backurl}}" class="btn btn-secondary">{{#str}} back {{/str}}</a>
<input type="hidden" name="sesskey" value="{{sesskey}}">
</div>
</form>
{{/hasdata}}
</div>
{{#js}}
require(['jquery'], function($) {
// Toggle the visibility of the indicators list.
$('#restorablemodelslist').on('click', '[data-widget="toggle"]', function(e) {
e.preventDefault();
var toggle = $(e.currentTarget);
var listid = toggle.attr('aria-controls');
$(document.getElementById(listid)).toggle();
if (toggle.attr('aria-expanded') == 'false') {
toggle.attr('aria-expanded', 'true');
} else {
toggle.attr('aria-expanded', 'false');
}
});
// Selecting all / all in component checkboxes.
$('#restorablemodelslist').on('click', '[data-select]', function(e) {
e.preventDefault();
var handler = $(e.currentTarget);
var component = handler.attr('data-select');
if (component == '*') {
$('input[data-component]').prop('checked', true);
} else {
$('input[data-component="' + component + '"]').prop('checked', true);
}
});
});
{{/js}}
@@ -0,0 +1,103 @@
@tool @tool_analytics
Feature: Restoring default models
In order to get prediction models into their initial state
As a manager
I need to be able to restore deleted default models
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| manager | Max | Manager | man@example.com |
And the following "role assigns" exist:
| user | role | contextlevel | reference |
| manager | manager | System | |
Scenario: Restore a single deleted default model
Given I log in as "manager"
And I navigate to "Analytics > Analytics models" in site administration
# Delete 'No teaching' model.
And I click on "Delete" "link" in the "No teaching" "table_row"
And I should see "Analytics models"
And I should not see "No teaching"
# Delete 'Students at risk of dropping out' model.
And I click on "Delete" "link" in the "Students at risk of dropping out" "table_row"
And I should see "Analytics models"
And I should not see "Students at risk of dropping out"
# Go to the page for restoring deleted models.
When I click on "Restore default models" "link"
And I should see "No teaching"
And I should see "Students at risk of dropping out"
# Select and restore the 'No teaching' model.
And I set the field with xpath "//tr[contains(normalize-space(.), 'No teaching')]//input[@type='checkbox']" to "1"
And I click on "Restore selected" "button"
Then I should see "Succesfully re-created 1 new model(s)."
And I should see "Analytics models"
And I should see "No teaching"
And I should not see "Students at risk of dropping out"
Scenario: Restore multiple deleted default models at once
Given I log in as "manager"
And I navigate to "Analytics > Analytics models" in site administration
# Delete 'No teaching' model.
And I click on "Delete" "link" in the "No teaching" "table_row"
And I should see "Analytics models"
And I should not see "No teaching"
# Delete 'Students at risk of dropping out' model.
And I click on "Delete" "link" in the "Students at risk of dropping out" "table_row"
And I should see "Analytics models"
And I should not see "Students at risk of dropping out"
# Go to the page for restoring deleted models.
When I click on "Restore default models" "link"
And I should see "No teaching"
And I should see "Students at risk of dropping out"
# Select and restore both models.
And I set the field with xpath "//tr[contains(normalize-space(.), 'No teaching')]//input[@type='checkbox']" to "1"
And I set the field with xpath "//tr[contains(normalize-space(.), 'Students at risk of dropping out')]//input[@type='checkbox']" to "1"
And I click on "Restore selected" "button"
Then I should see "Succesfully re-created 2 new model(s)."
And I should see "Analytics models"
And I should see "No teaching"
And I should see "Students at risk of dropping out"
Scenario: Going to the restore page while no models can be restored
Given I log in as "manager"
And I navigate to "Analytics > Analytics models" in site administration
And I should see "Analytics models"
And I should see "No teaching"
When I click on "Restore default models" "link"
Then I should see "All default models provided by core and installed plugins have been created. No new models were found; there is nothing to restore."
And I click on "Back" "link"
And I should see "Analytics models"
@javascript
Scenario: User can select and restore all missing models
Given I log in as "manager"
And I navigate to "Analytics > Analytics models" in site administration
# Delete 'No teaching' model.
And I click on "Actions" "link" in the "No teaching" "table_row"
And I click on "Delete" "link" in the "No teaching" "table_row"
And I click on "Delete" "button" in the "Delete" "dialogue"
And I should see "Analytics models"
And I should not see "No teaching"
# Delete 'Students at risk of dropping out' model.
And I click on "Actions" "link" in the "Students at risk of dropping out" "table_row"
And I click on "Delete" "link" in the "Students at risk of dropping out" "table_row"
And I click on "Delete" "button" in the "Delete" "dialogue"
And I should see "Analytics models"
And I should not see "No teaching"
And I should not see "Students at risk of dropping out"
# Go to the page for restoring deleted models.
And I click on "New model" "link"
And I click on "Restore default models" "link"
And I should see "No teaching"
And I should see "Students at risk of dropping out"
# Attempt to submit the form without selecting any model.
And I click on "Restore selected" "button"
And I should see "Please select models to be restored."
# Select all models.
When I click on "Select all" "link"
And I click on "Restore selected" "button"
Then I should see "Succesfully re-created 2 new model(s)."
And I should see "Analytics models"
And I should see "No teaching"
And I should see "Students at risk of dropping out"
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2018120300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2018112800; // Requires this Moodle version.
$plugin->version = 2019052000; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2019051100; // Requires this Moodle version.
$plugin->component = 'tool_analytics'; // Full name of the plugin (used for diagnostics).
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2018120300;
$plugin->requires = 2018112800;
$plugin->version = 2019052000;
$plugin->requires = 2019051100;
$plugin->component = 'tool_availabilityconditions';
+11
View File
@@ -109,6 +109,17 @@ require_once(__DIR__ . '/../../../../lib/behat/lib.php');
require_once(__DIR__ . '/../../../../lib/behat/classes/behat_command.php');
require_once(__DIR__ . '/../../../../lib/behat/classes/behat_config_manager.php');
// Remove error handling overrides done in config.php. This is consistent with admin/tool/behat/cli/util_single_run.php.
$CFG->debug = (E_ALL | E_STRICT);
$CFG->debugdisplay = 1;
error_reporting($CFG->debug);
ini_set('display_errors', '1');
ini_set('log_errors', '1');
// Import the necessary libraries.
require_once($CFG->libdir . '/setuplib.php');
require_once($CFG->libdir . '/behat/classes/util.php');
// For drop option check if parallel site.
if ((empty($options['parallel'])) && ($options['drop']) || $options['updatesteps']) {
$options['parallel'] = behat_config_manager::get_behat_run_config_value('parallel');
+1 -1
View File
@@ -218,7 +218,7 @@ if ($options['install']) {
// Run behat command to get steps in feature files.
$featurestepscmd = behat_command::get_behat_command(true);
$featurestepscmd .= ' --config ' . behat_config_manager::get_behat_cli_config_filepath();
$featurestepscmd .= ' --dry-run --format=moodle_step_count';
$featurestepscmd .= ' --dry-run --format=moodle_stepcount';
$processes = cli_execute_parallel(array($featurestepscmd), __DIR__ . "/../../../../");
$status = print_update_step_output(array_pop($processes), $behatstepfile);
+1 -1
View File
@@ -32,7 +32,7 @@ require_once($CFG->libdir . '/behat/classes/behat_config_manager.php');
// systems, but let's allow room for expansion.
core_php_time_limit::raise(300);
$filter = optional_param('filter', '', PARAM_ALPHANUMEXT);
$filter = optional_param('filter', '', PARAM_NOTAGS);
$type = optional_param('type', false, PARAM_ALPHAEXT);
$component = optional_param('component', '', PARAM_ALPHAEXT);
+2 -1
View File
@@ -24,13 +24,14 @@
$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 Mobile 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.';
$string['errorsetconfig'] = '$CFG->behat_dataroot, $CFG->behat_prefix and $CFG->behat_wwwroot need to be set in config.php.';
$string['erroruniqueconfig'] = '$CFG->behat_dataroot, $CFG->behat_prefix and $CFG->behat_wwwroot values need to be different than $CFG->dataroot, $CFG->prefix, $CFG->wwwroot, $CFG->phpunit_dataroot and $CFG->phpunit_prefix values.';
$string['fieldvalueargument'] = 'Field value arguments';
$string['fieldvalueargument_help'] = 'This argument should be completed by a field value. There are many field types, including simple ones like checkboxes, selects or textareas, or complex ones like date selectors. See the dev documentation <a href="http://docs.moodle.org/dev/Acceptance_testing" target="_blank">Acceptance_testing</a> for details of expected field values.';
$string['fieldvalueargument_help'] = 'This argument should be completed by a field value. There are many field types, including simple ones like checkboxes, selects or textareas, or complex ones like date selectors. See the dev documentation <a href="https://docs.moodle.org/dev/Acceptance_testing" target="_blank">Acceptance_testing</a> for details of expected field values.';
$string['giveninfo'] = 'Given. Processes to set up the environment';
$string['infoheading'] = 'Info';
$string['installinfo'] = 'Read {$a} for installation and tests execution info';
+2 -2
View File
@@ -55,13 +55,13 @@ class tool_behat {
// The loaded steps depends on the component specified.
behat_config_manager::update_config_file($component, false);
// The Moodle\BehatExtension\HelpPrinter\MoodleDefinitionsPrinter will parse this search format.
// The Moodle\BehatExtension\Definition\Printer\ConsoleDefinitionInformationPrinter will parse this search format.
if ($type) {
$filter .= '&&' . $type;
}
if ($filter) {
$filteroption = ' -d "' . $filter . '"';
$filteroption = ' -d ' . escapeshellarg($filter);
} else {
$filteroption = ' -di';
}

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