Compare commits

...

1716 Commits

Author SHA1 Message Date
Andrew Nicols e05d1c34cd Moodle release 3.6.8 2020-01-10 13:03:34 +08:00
Andrew Nicols fd43070bbc Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2020-01-10 13:03:32 +08:00
AMOS bot dd8fa044d9 Automatically generated installer lang files 2020-01-10 00:12:29 +00:00
Sara Arjona 57f962a915 weekly release 3.6.7+ 2020-01-09 15:43:01 +01:00
Eloy Lafuente (stronk7) 050ab7d479 Merge branch 'MDL-67469-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2020-01-07 23:00:17 +01:00
Jake Dallimore d20bd99b07 weekly release 3.6.7+ 2020-01-03 11:25:14 +08:00
Jake Dallimore 8ac197d07f Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2020-01-03 11:25:12 +08:00
AMOS bot 593b942437 Automatically generated installer lang files 2020-01-03 00:12:25 +00:00
Adrian Greeve 25dcb6f193 Merge branch 'MDL-67599-36' of https://github.com/snake/moodle into MOODLE_36_STABLE 2020-01-02 15:18:37 +08:00
Jake Dallimore 98f33548d4 MDL-67599 behat: fix behat tests assuming Jan 2020 is a future date 2020-01-02 13:53:19 +08:00
AMOS bot feff218f2f Automatically generated installer lang files 2020-01-02 00:10:37 +00:00
Jake Dallimore 668cba6e7e MDL-67593 core_iplookup: update lang string describing download process
Let users know they need to register on maxmind before granted download
access.
2020-01-01 20:53:48 +01:00
Jake Dallimore 2bc8f72dff 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.
2020-01-01 20:52:33 +01:00
Jun Pataleta 4d504d86b7 Merge branch 'MDL-63996-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-12-31 15:18:49 +08:00
Adrian Greeve 10e40f0366 Merge branch 'MDL-65809-36-onlyenv' of git://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-12-24 14:57:21 +08:00
AMOS bot 53bc7655aa Automatically generated installer lang files 2019-12-21 00:11:13 +00:00
Andrew Nicols 1c127290cf MDL-63996 core/tags: Pending JS for all tag code 2019-12-18 12:02:40 +08:00
Andrew Nicols dd8f4b46d4 MDL-63996 behat: Fix multi-tag autocomplete usage 2019-12-18 10:25:52 +08:00
AMOS bot 920fb333c0 Automatically generated installer lang files 2019-12-14 00:11:08 +00:00
Jun Pataleta 4c24a03e08 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:04:59 +08:00
AMOS bot 2c0c7e5e71 Automatically generated installer lang files 2019-12-13 00:11:25 +00:00
AMOS bot 26a05fb33f Automatically generated installer lang files 2019-12-11 13:50:23 +00:00
AMOS bot 6f7aea5351 Automatically generated installer lang files 2019-12-06 00:09:57 +00:00
Sara Arjona c66e551c11 MDL-65809 environment: mbstring extension required 2019-12-05 14:02:07 +01:00
Sara Arjona 526fbf8a47 MDL-65809 environment: PHP 7.2 required 2019-12-05 14:02:07 +01:00
Sara Arjona 64d99256ef MDL-65809 environment: postgres requirement up to 9.5 2019-12-05 14:02:07 +01:00
Sara Arjona 8b39496a87 MDL-65809 environment: mariadb requirement up to 10.2 2019-12-05 14:02:07 +01:00
Sara Arjona 577b37cb2c MDL-65809 environment: 3.5 (LTS) required 2019-12-05 14:02:07 +01:00
Sara Arjona 205201f7b3 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:02:07 +01:00
Eloy Lafuente (stronk7) 08c86b9e9b weekly release 3.6.7+ 2019-11-22 00:17:05 +01:00
Andrew Nicols 3aa4bf022a Merge branch 'MDL-48024_36' of https://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-11-21 19:46:37 +08:00
Eloy Lafuente (stronk7) 1f2d7d154a MDL-48024 quiz: return void is only php >= 71
this branch supports php 70, so taking rid of it
2019-11-21 12:31:43 +01:00
Tim Hunt 5884f9a07b 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:37:08 +08:00
Eloy Lafuente (stronk7) 27d0c2181b Moodle release 3.6.7 2019-11-09 11:57:42 +01:00
Sara Arjona c6b6921b4e weekly release 3.6.6+ 2019-11-08 15:39:41 +01:00
Sara Arjona 1328297d48 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-11-08 15:39:38 +01:00
Adrian Greeve b5c18dedf0 Merge branch 'MDL-67169_36' of https://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-11-08 10:45:30 +08:00
Jake Dallimore 4c9c8e00db Merge branch 'MDL-67016-36-user-profile-see-own-courses' of https://github.com/danowar2k/moodle into MOODLE_36_STABLE 2019-11-08 10:22:58 +08:00
Sara Arjona 0c79de9112 Merge branch 'MDL-66683-36' of git://github.com/cescobedo/moodle into MOODLE_36_STABLE 2019-11-07 17:41:43 +01:00
cescobedo 829c7c9a1b 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:31:04 +01:00
Jake Dallimore abd981c6a7 MDL-66257 tool_cohortroles: unit test for users in multiple cohorts 2019-11-07 23:48:34 +08:00
cescobedo 4d10388df2 MDL-66257 tool_cohortroles: Unassign the role on removal cohortroles. 2019-11-07 23:48:34 +08:00
Eloy Lafuente (stronk7) d89e40d7d6 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:30 +01:00
Jun Pataleta 3efab60a57 Merge branch 'MDL-67084-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-11-07 19:37:40 +08:00
Marina Glancy 1d7543be8c MDL-67084 core_form: duration element should export arrays 2019-11-07 19:22:15 +08:00
Jun Pataleta 116d8541d2 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:44:43 +08:00
Jun Pataleta 78d51b1fc6 MDL-66598 auth_oauth2: Add warning messages in confirm emails 2019-11-07 18:44:43 +08:00
Jun Pataleta fd753889a2 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:44:43 +08:00
Eloy Lafuente (stronk7) f6822347de Merge branch 'MDL-42638-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-11-06 22:47:41 +01:00
Sara Arjona dcd13e2b08 Merge branch 'MDL-66984-change_password_url-with-user-MOODLE_36_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_36_STABLE 2019-11-06 08:31:01 +01:00
Michael Hawkins 1137b7d072 MDL-66161 output: Escaping fatal error message and URL strings 2019-11-06 01:26:37 +01:00
Juan Leyva c7a5fc2f35 MDL-66377 user: Only allow active users to retrieve files via tokenpluginfile.php 2019-11-06 01:26:37 +01:00
Paul Holden 167a8dc276 MDL-66228 mod_lesson: ensure return URL parameters are always local. 2019-11-06 01:26:37 +01:00
AMOS bot bf569af16b Automatically generated installer lang files 2019-11-06 00:16:42 +00:00
Adrian Greeve 7c34492487 Merge branch 'MDL-67136-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-11-06 08:16:41 +08:00
Luca Bösch 9d1ded28c2 MDL-42638 filters: Have emoticons respect <pre>. 2019-11-05 16:09:04 +01:00
Eloy Lafuente (stronk7) a9749a86b8 weekly release 3.6.6+ 2019-11-05 13:34:23 +01:00
Eloy Lafuente (stronk7) 030b9db219 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-11-05 13:34:21 +01:00
Mihail Geshoski 3cbb18b105 MDL-67136 mod_assign: Fix expand/collapse text submission in clean 2019-11-05 13:28:14 +08:00
Jake Dallimore b50f1289b6 Merge branch 'MDL-66455-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-11-05 11:43:31 +08:00
AMOS bot 23c4e59166 Automatically generated installer lang files 2019-11-05 00:10:35 +00:00
Brendan Heywood ddc5472056 MDL-66984 auth: Allow $USER to be used in change_password_url 2019-11-05 10:32:47 +11:00
Jun Pataleta 3139dba346 Merge branch 'MDL-66582-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-11-04 19:35:11 +08:00
Juan Leyva 768057b4db 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-11-04 10:21:19 +01:00
Johan Dobbelstein e91e315d19 MDL-66582 auth: Fix empty auth_logo in 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-11-04 10:13:48 +01:00
Jake Dallimore c8238b4d45 Merge branch 'MDL-67093-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-11-04 15:41:32 +08:00
Jake Dallimore dcb601fede Merge branch 'MDL-67009_36' of https://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-11-04 14:56:35 +08:00
Adrian Greeve 1fc5f07ed3 Merge branch 'MDL-43189-36' of git://github.com/snake/moodle into MOODLE_36_STABLE 2019-11-04 09:25:17 +08:00
Eloy Lafuente (stronk7) 1652dfe456 Merge branch 'MDL-66990-36-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-11-03 23:15:29 +01:00
AMOS bot 3a4b7e8995 Automatically generated installer lang files 2019-11-02 00:09:38 +00:00
Helen Foster 716143b33c MDL-66990 lang: Import fixed English strings (en_fix)
Significant string changes:

* 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:28:31 +01:00
Shamim Rezaie 74ac275d08 MDL-43189 core: improve validating db settings during cli install 2019-11-01 15:39:55 +08:00
Shamim Rezaie 7a902dea3a MDL-43189 core: Validate db prefix during installation 2019-11-01 15:39:55 +08:00
Daniel Poggenpohl 88b7f71a50 MDL-67016 profile: current user should see his own courses 2019-10-31 14:40:53 +01:00
Eloy Lafuente (stronk7) a78ed9eed1 weekly release 3.6.6+ 2019-10-31 13:33:12 +01:00
Simey Lameze b4f299ec91 MDL-66455 calendar: add coverage for event types in subscription page 2019-10-31 18:48:15 +08:00
Simey Lameze 74d9dbf696 MDL-66455 calendar: show site level subscriptions 2019-10-31 18:48:15 +08:00
Adrian Greeve 567fa6adc3 Merge branch 'MDL-66247-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-10-31 14:41:10 +08:00
Andrew Nicols 4c3a2ea83c MDL-67093 grading: Fetch cm with get_fast_modinfo 2019-10-31 13:29:00 +08:00
Andrew Nicols c3cad10fcf Merge branch 'MDL-67088-36' of git://github.com/marinaglancy/moodle into MOODLE_36_STABLE 2019-10-31 11:08:34 +08:00
Marina Glancy e6993ed682 MDL-67088 mod_assign: compare time without case for MacOS compat 2019-10-30 19:21:43 +01:00
Andrew Nicols ac2b9ee95c MDL-66247 accessibility: Correct notification alert role support 2019-10-30 09:01:18 +08:00
Eloy Lafuente (stronk7) 55749ae39f weekly release 3.6.6+ 2019-10-29 21:01:40 +01:00
Eloy Lafuente (stronk7) d56954a828 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-10-29 21:01:33 +01:00
Jake Dallimore 4eb1e079b3 Merge branch 'MDL-66945_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-10-29 14:56:35 +08:00
Andrew Nicols d673f8abd7 Merge branch 'MDL-67027-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-10-29 09:36:07 +08:00
Andrew Nicols 398dde36b3 MDL-66945 composer: Update behat extension
(using php70 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:40:23 +01:00
Jun Pataleta c92e401361 Merge branch 'm36_MDL-65811_Fix_Incorrect_ORDER_BY_Search' of https://github.com/scara/moodle into MOODLE_36_STABLE 2019-10-28 11:30:24 +08:00
AMOS bot ebb4054cd6 Automatically generated installer lang files 2019-10-28 00:09:26 +00:00
AMOS bot 7a68e34f61 Automatically generated installer lang files 2019-10-27 00:09:23 +00:00
Matteo Scaramuccia 9c82b32001 MDL-65811 database: Fix subsetting in MSSQL 2019-10-25 23:06:58 +02:00
Paul Holden 99c79db0c7 MDL-67027 calendar: fix event update form validation. 2019-10-25 17:36:47 +01:00
Eloy Lafuente (stronk7) 3f26d44a6f weekly release 3.6.6+ 2019-10-25 15:29:37 +02:00
Eloy Lafuente (stronk7) 48878c24fd Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-10-25 15:29:34 +02:00
Jake Dallimore 8dd23a1375 Merge branch 'MOODLE_36_MDL-66973' of https://github.com/golenkovm/moodle into MOODLE_36_STABLE 2019-10-25 11:10:42 +08:00
Jun Pataleta d1bd09fa41 Merge branch 'MDL-66543-36' of github.com:junpataleta/moodle into MOODLE_36_STABLE 2019-10-24 23:17:08 +08:00
Jun Pataleta db88f1f307 MDL-66543 core_form: Fix illegal whitespace 2019-10-24 23:14:47 +08:00
Jun Pataleta 03f1265690 Merge branch 'MDL-66543-36' of git://github.com/tobiasreischmann/moodle into MOODLE_36_STABLE 2019-10-24 23:08:29 +08:00
Tobias Reischmann 8fd70353e6 MDL-66543 forms: Make (hard) frozen textareas readonly (or disabled) 2019-10-24 13:43:07 +02:00
Eloy Lafuente (stronk7) 9d57a8057f Merge branch 'MDL-67001-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-10-24 13:27:54 +02:00
Eloy Lafuente (stronk7) 1f77d72592 MDL-67009 behat: get rid of invalid void type hinting for php70 2019-10-24 10:48:12 +02:00
Eloy Lafuente (stronk7) e2442de0b6 Merge branch 'MDL-66935-lock-clashes-MOODLE_36_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_36_STABLE 2019-10-24 10:03:55 +02:00
Adrian Greeve 5d5d2e6e42 Merge branch 'MDL-66876-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-10-24 15:17:25 +08:00
Luca Bösch 4112274408 MDL-67001 question: alignment and form spaces. 2019-10-24 07:59:24 +02:00
Brendan Heywood 1aabe01886 MDL-66935 core_lock: Fix resource key clashes in db and postgres locks 2019-10-24 15:07:49 +11:00
AMOS bot 734a176cf0 Automatically generated installer lang files 2019-10-24 00:09:34 +00:00
Eloy Lafuente (stronk7) d1d8f42cde Merge branch 'MDL-64298-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-10-23 22:22:00 +02:00
Eloy Lafuente (stronk7) 0123b42676 Merge branch 'MDL-67001-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-10-23 22:17:48 +02:00
Juan Leyva cb63696054 MDL-64298 gradereport_user: Fix WS returned parameter description
feedbackformat must be optional always
2019-10-23 17:16:30 +02:00
Juan Leyva a3bc3ce5b6 MDL-66876 core_filter: Fix context in Web Service warning 2019-10-23 17:07:47 +02:00
Luca Bösch d029483cde MDL-67001 question: alignment and form spaces. 2019-10-23 11:08:50 +02:00
Adrian Greeve 19115e20a7 Merge branch 'MDL-63125-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-10-23 11:10:31 +08:00
Sara Arjona 8cda42019a weekly release 3.6.6+ 2019-10-22 14:48:02 +02:00
Sara Arjona 4aca40f697 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-10-22 14:47:59 +02:00
Mikhail Golenkov 84a8b1b2df MDL-66973 search: Reset Content writer after test. 2019-10-22 09:43:15 +11:00
Paul Holden 880dcd0f94 MDL-63125 forms: Behat test for form autocomplete element. 2019-10-21 23:25:21 +01:00
Eloy Lafuente (stronk7) 269bb26b3c Merge branch 'MDL-66980_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-10-21 20:27:03 +02:00
Sara Arjona 7d87eef1fc Merge branch 'MDL-61121-36-5' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-10-21 14:46:42 +02:00
Tim Hunt de672b1357 MDL-66980 question bank: fix load_many_for_cache missing record check 2019-10-21 11:19:06 +01:00
Jun Pataleta f48f788115 Merge branch 'MDL-66009-36' of https://github.com/grabs/moodle into MOODLE_36_STABLE 2019-10-21 16:15:07 +08:00
Jake Dallimore a0a3400c59 Merge branch 'MDL-66915-36' of https://github.com/MartinGauk/moodle into MOODLE_36_STABLE 2019-10-21 15:56:50 +08:00
Andrew Nicols 49592cea31 Merge branch 'MDL-66962-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-10-21 14:24:10 +08:00
Luca Bösch b4bc353659 MDL-66962 questions: Question bank table T title non breaking. 2019-10-21 08:17:45 +02:00
Andrew Nicols f074a0ee86 Merge branch 'MDL-66944_36' of https://github.com/t-schroeder/moodle into MOODLE_36_STABLE 2019-10-21 13:49:12 +08:00
Andrew Nicols 9c2abf9a02 Merge branch 'MDL-66946_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-10-21 13:08:34 +08:00
Jake Dallimore 17d08f6cc5 Merge branch 'MDL-66930-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-10-21 11:56:10 +08:00
Jake Dallimore 85fec2dfe4 Merge branch 'MDL-66960-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-10-21 10:42:12 +08:00
AMOS bot cd99faeb67 Automatically generated installer lang files 2019-10-19 00:09:27 +00:00
Tim Schroeder 9e0c4e13d7 MDL-66944 course: fixed copy-paste-error in comment 2019-10-19 00:06:58 +02:00
Tim Hunt ee2c305e37 MDL-66946 quiz reports: incorrectly show teachers sometimes 2019-10-18 17:43:23 +01:00
Luca Bösch 4a3222dc50 MDL-66960 questions: Top align all question bank titles exc "select all" 2019-10-18 16:35:30 +02:00
Luca Bösch 0abefe1f2b MDL-66930 quiz: Question type icon size and alignment in Boost. 2019-10-18 13:51:39 +02:00
Eloy Lafuente (stronk7) caa6f445e4 weekly release 3.6.6+ 2019-10-18 10:31:24 +02:00
Mihail Geshoski 907312d17a MDL-61121 assign: Declare variables in the local scope 2019-10-18 14:00:55 +08:00
Mihail Geshoski 14b13ec478 MDL-61121 assign: Improve accessibility in quick grading page tables 2019-10-18 14:00:55 +08:00
Mihail Geshoski 9e687b46e9 MDL-61121 assign: Improve accessibility - view full/view summary control 2019-10-18 14:00:55 +08:00
Jun Pataleta 5cd189b68d Merge branch 'MDL-66806_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-10-18 09:34:24 +08:00
Andrew Nicols 5a774101e0 Merge branch 'MDL-66919_36' of https://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-10-18 08:28:26 +08:00
Eloy Lafuente (stronk7) 6019d849b2 Merge branch 'MDL-64064-m36' of https://github.com/NeillM/moodle into MOODLE_36_STABLE 2019-10-17 23:09:24 +02:00
Andreas Grabs 3b1d619baf MDL-66009 mod_feedback: Nested dependency fails again 2019-10-17 09:19:43 +02:00
Eloy Lafuente (stronk7) 9eb88d21ba MDL-66919 behat: fix typo in error message
Also fix a couple of phpdocs that were incorrect.
2019-10-16 00:49:13 +02:00
Eloy Lafuente (stronk7) f2d10a9bb9 weekly release 3.6.6+ 2019-10-15 22:59:53 +02:00
Martin Gauk 580d8124c0 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 15:55:06 +02:00
Tim Hunt af46f59162 MDL-66796 question bank: fix more bugs with category editing 2019-10-15 11:23:20 +08:00
Jun Pataleta e194ef059f Merge branch 'MDL-66821_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-10-15 07:36:31 +08:00
Andrew Nicols a9be3e27e3 Merge branch 'MDL-66335_36' of https://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-10-15 07:31:42 +08:00
Eloy Lafuente (stronk7) 0f9ed5c5e0 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:04:11 +02:00
Eloy Lafuente (stronk7) 989faa4667 Merge branch 'MDL-66335_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-10-14 18:56:50 +02:00
Paul Holden 45d210a442 MDL-63125 forms: allow item removal from single-select autocomplete. 2019-10-14 17:07:46 +01:00
Eloy Lafuente (stronk7) d0577075b6 Merge branch 'MDL-66559-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-10-14 16:41:05 +02:00
Tim Hunt 96e9075ac9 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:14:45 +01:00
Tim Hunt d714e336b6 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:14:41 +01:00
Tim Hunt 10bf14282c MDL-66335 behat: generic step for navigating direct to specific pages 2019-10-14 13:13:32 +01:00
Tim Hunt fa963675f4 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 12:00:03 +01:00
Sara Arjona 7511cf3462 Merge branch 'MDL-66836-m36' of https://github.com/sammarshallou/moodle into MOODLE_36_STABLE 2019-10-14 12:27:23 +02:00
Jake Dallimore 78be4e8724 Merge branch 'MDL-66659-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-10-14 15:34:32 +08:00
Andrew Nicols 86a58a82d8 MDL-66559 behat: Register component selectors earlier 2019-10-14 14:24:05 +08:00
Andrew Nicols 17342a4ff3 MDL-66559 behat: Update running suite 2019-10-14 14:17:47 +08:00
Jun Pataleta 3e50a250e9 Merge branch 'MDL-66796-36-fix' of https://github.com/snake/moodle into MOODLE_36_STABLE 2019-10-14 13:48:16 +08:00
Jake Dallimore 0143e8bcf4 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:41:40 +08:00
Jake Dallimore 21ee8ef703 Merge branch 'MDL-66559-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-10-14 11:10:35 +08:00
Jake Dallimore 77ccb0f467 Merge branch 'MDL-66796_36' of git://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-10-14 07:42:10 +08:00
Eloy Lafuente (stronk7) d12b2d9822 Merge branch 'MDL-66851-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-10-13 16:51:27 +02:00
Eloy Lafuente (stronk7) 6a81c53788 Merge branch 'MDL-65243-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-10-13 16:31:37 +02:00
Eloy Lafuente (stronk7) e2a4284326 Merge branch 'MDL-66779-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-10-13 02:13:27 +02:00
Eloy Lafuente (stronk7) ed9c55b892 Merge branch 'MOODLE_36_MDL-66864' of https://github.com/golenkovm/moodle into MOODLE_36_STABLE 2019-10-13 02:09:01 +02:00
Eloy Lafuente (stronk7) 4462ed30c7 Merge branch 'MDL-65584-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-10-13 01:49:59 +02:00
Eloy Lafuente (stronk7) badb6a92c4 weekly release 3.6.6+ 2019-10-11 22:43:37 +02:00
Eloy Lafuente (stronk7) c6f435069e Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-10-11 22:43:25 +02:00
Neill Magill ff9be7de2c 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:39:14 +01:00
Tim Hunt eec220f2fc MDL-66559 behat: Documentation for component selectors 2019-10-11 12:58:16 +08:00
Andrew Nicols 8694eaac19 MDL-66559 behat: Allow per-component selectors and replacements 2019-10-11 12:58:16 +08:00
Jake Dallimore 8aeddd78bf Merge branch 'MDL-66804-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-10-11 09:58:49 +08:00
Jun Pataleta 3df36d632c Merge branch 'MDL-66450-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-10-11 09:20:21 +08:00
AMOS bot 7c31894342 Automatically generated installer lang files 2019-10-11 00:11:43 +00:00
Eloy Lafuente (stronk7) 8f89e0bde5 Merge branch 'MDL-66815_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-10-11 00:50:51 +02:00
Bas Brands 102e20c11b MDL-66450 theme_bootstrapbase: form autocomplete truncate listitems 2019-10-10 17:18:22 +02:00
David Monllaó ff698a03ec MDL-66806 analytics: No predictions for hidden courses 2019-10-10 10:09:43 +08:00
AMOS bot c917c9860c Automatically generated installer lang files 2019-10-10 00:09:35 +00:00
sam marshall fdf8e3668f 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:56 +01:00
Jun Pataleta 6d791cfa86 Merge branch 'MDL-66835_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-10-09 20:44:27 +08:00
Jun Pataleta e3d4c8d5a4 Merge branch 'MDL-66450-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-10-09 20:39:15 +08:00
Bas Brands 6594812c15 MDL-66450 themes: form autocomplete truncate listitems 2019-10-09 14:28:05 +02:00
Tim Hunt ece21a4a2b MDL-66835 behat: steps for setting/checking fields in containers 2019-10-09 13:24:19 +01:00
Sara Arjona 479eda9446 Merge branch 'MDL-66852-36' of github.com:lucaboesch/moodle into MOODLE_36_STABLE 2019-10-09 12:58:16 +02:00
Damyon Wiese d498f9b7da MDL-65243 badges: Use real time api
Never add or subtract timestamps - use the time api to do it correctly.
2019-10-09 11:56:12 +08:00
Andrew Nicols 976ad2a7de MDL-66779 phpunit: Correct component name for core_grades 2019-10-09 09:35:16 +08:00
Andrew Nicols 507928af8a Merge branch 'MDL-66118-36-byebyemoodlenet' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-10-09 08:51:55 +08:00
Luca Bösch 6b8b0e2468 MDL-66852 quiz: Style "Try another question like this one" button. 2019-10-08 11:26:08 +02:00
Eloy Lafuente (stronk7) df05ccb9af weekly release 3.6.6+ 2019-10-08 10:43:25 +02:00
Eloy Lafuente (stronk7) 1d82d302bd Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-10-08 10:43:18 +02:00
Mihail Geshoski 10a1109b79 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:23 +08:00
AMOS bot d6a6c93a88 Automatically generated installer lang files 2019-10-08 00:10:13 +00:00
Paul Holden d6fdedd4ab 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:43 +01:00
Eloy Lafuente (stronk7) a3de11a763 Merge branch 'MDL-66801_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-10-08 01:16:57 +02:00
Eloy Lafuente (stronk7) 051e6b38e2 Merge branch 'MDL-66764_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-10-07 22:51:25 +02:00
Mikhail Golenkov 2d1b49b953 MDL-66864 upgrade: Delete non-mutual contacts in chunks. 2019-10-07 16:34:42 +11:00
David Mudrák 71f49c970e 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:44:02 +02:00
David Mudrák 3bef0a6cf2 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:44:02 +02:00
David Mudrák 168a1fed2a 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:42:09 +02:00
Eloy Lafuente (stronk7) 3016cb824d weekly release 3.6.6+ 2019-10-04 16:01:35 +02:00
Jun Pataleta 9b1c66d4e5 Merge branch 'MDL-65315-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-10-04 10:24:59 +08:00
Peter 496eeb0f73 MDL-65315 badges: Update the class and issuer OBv2.0 url 2019-10-04 07:46:53 +08:00
Eloy Lafuente (stronk7) 77414d0d57 Merge branch 'MDL-56649-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-10-03 19:37:34 +02:00
Jun Pataleta d1dbe6db4a Merge branch 'MDL-61450-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-10-03 15:42:01 +08:00
Jun Pataleta 7070a23d97 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:25 +08:00
Simey Lameze dec2ad8603 MDL-61450 calendar: fix course event type permissions 2019-10-03 15:39:25 +08:00
Eloy Lafuente (stronk7) c89a1b99fd Merge branch 'MDL-66774-36-macedonia' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-10-03 00:59:15 +02:00
Eloy Lafuente (stronk7) f30091c8dc Merge branch 'MDL-66197-36' of git://github.com/marinaglancy/moodle into MOODLE_36_STABLE 2019-10-03 00:45:52 +02:00
Eloy Lafuente (stronk7) 6f32cfee2b Merge branch 'MDL-65335_36_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_36_STABLE 2019-10-01 23:22:43 +02:00
Tim Hunt d6f442bf41 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:41 +01:00
Eloy Lafuente (stronk7) 896db11641 Merge branch 'MDL-65522-m36' of https://github.com/NeillM/moodle into MOODLE_36_STABLE 2019-10-01 16:13:16 +02:00
Eloy Lafuente (stronk7) fb23adbcd3 Merge branch 'MDL-66542_36' of https://github.com/t-schroeder/moodle into MOODLE_36_STABLE 2019-10-01 15:58:58 +02:00
Paul Holden 9bdca4fbe0 MDL-66659 core: observe viewfullnames capability in flexible_table. 2019-10-01 10:15:25 +01:00
Paul Holden 6442cf75ee MDL-66804 user: consistent user access times in privacy export. 2019-09-30 23:15:05 +01:00
Tim Hunt ed3fc39176 MDL-66801 questions: XML import/export should include category idnumbers 2019-09-30 19:00:37 +01:00
Tim Hunt eaca013a20 MDL-66796 question bank: 0 is a valid question category idnumber 2019-09-30 14:19:22 +01:00
Tim Schroeder 864cd27438 MDL-66542 lib: Fix quote escaping in JS quote helper 2019-09-30 10:11:33 +02:00
Neill Magill 0aa44e4539 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 09:00:15 +01:00
Jun Pataleta 4897a4a166 weekly release 3.6.6+ 2019-09-27 11:12:20 +08:00
Jun Pataleta 0bad3d746d Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-09-27 11:12:19 +08:00
David Mudrák 67125ee5f4 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:55:29 +02:00
Jun Pataleta 9d30d31afb Merge branch 'MDL-66262_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-09-26 11:34:33 +08:00
Eloy Lafuente (stronk7) cff6fab1cd Merge branch 'MDL-51327-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-09-26 00:05:06 +02:00
Eloy Lafuente (stronk7) d3843bbc7e Merge branch 'MDL-66685_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-09-25 23:58:07 +02:00
Eloy Lafuente (stronk7) f47a98b31f Merge branch 'MDL-66675-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-09-25 20:06:25 +02:00
Marina Glancy 48d8fb92ff MDL-66197 core: correct get parent language 2019-09-25 17:41:45 +02:00
Bas Brands d5f83a1a23 MDL-56649 themes: filepicker file exists buttons spacing 2019-09-25 12:25:10 +02:00
Tim Hunt a29971b021 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:24 +01:00
Jun Pataleta 16ec7c1d7c Merge branch 'MDL-66354-36' of http://github.com/dravek/moodle into MOODLE_36_STABLE 2019-09-25 16:42:46 +08:00
David Matamoros 4f4d28b56b MDL-66354 core_calendar: Notices in error.log on calendar events 2019-09-25 09:13:03 +02:00
Jun Pataleta 6de29467ce Merge branch 'MDL-66644-36-versionrequires' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-09-25 14:53:20 +08:00
Eloy Lafuente (stronk7) cfc96245ba Merge branch 'MDL-65621-dimmed-courses-MOODLE_3.6' of https://github.com/stopfstedt/moodle into MOODLE_36_STABLE 2019-09-24 19:09:22 +02:00
Mihail Geshoski 935d259396 MDL-51327 core_course: Allow subdirs in edit section form 2019-09-24 09:09:38 +08:00
AMOS bot 9cfbcde257 Automatically generated installer lang files 2019-09-22 00:09:27 +00:00
Sara Arjona 9d7fd4b062 Merge branch 'MDL-46978-MOODLE_36_STABLE' of github.com:tuanngocnguyen/moodle into MOODLE_36_STABLE 2019-09-20 13:08:15 +02:00
Sara Arjona f1659f3f40 Merge branch 'MDL-66090_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-09-20 12:46:36 +02:00
Mark Johnson c63863df2b MDL-65335 auth: Make oauth2 enabled check more efficient 2019-09-20 08:56:06 +01:00
Jake Dallimore 2fb35f856c Merge branch 'MDL-65970-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-09-20 14:29:29 +08:00
Sara Arjona 6709fdbb6d weekly release 3.6.6+ 2019-09-19 21:19:16 +02:00
Stefan Topfstedt 7f9e015071 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:09:39 -07:00
Eloy Lafuente (stronk7) da01d735a1 Merge branch 'MDL-65878-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-09-19 15:57:58 +02:00
Luca Bösch 8ad9815afc MDL-65878 core_output: Move button not sticky to select field. 2019-09-19 12:16:45 +02:00
Luca Bösch a1ed46a130 MDL-65878 core_output: Move button not sticky to select field. 2019-09-19 12:04:15 +02:00
Eloy Lafuente (stronk7) c62a946756 Merge branch 'MDL-65878-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-09-19 09:41:26 +02:00
Luca Bösch 0846707178 MDL-65878 forum: add padding for export to portfolio option. 2019-09-19 09:23:22 +02:00
Nathan Nguyen 9b6d7fc1e0 MDL-46978 core_grades: preserve category total visibility 2019-09-19 14:11:52 +10:00
David Monllaó 51e71e8aa9 MDL-66090 analytics: Support user for notifications 2019-09-19 08:00:26 +08:00
Andrew Nicols e46ad4a1a1 MDL-66675 behat: Fix typo in step function name 2019-09-19 07:30:42 +08:00
Andrew Nicols dec33c29aa MDL-66675 behat: Add option to pause on behat failures 2019-09-19 07:30:41 +08:00
Andrew Nicols e44811963c MDL-66675 CLI: Add ANSI formatting options 2019-09-19 07:30:40 +08:00
Eloy Lafuente (stronk7) cb5ae56e63 Merge branch 'MDL-66641_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-09-18 20:30:14 +02:00
Eloy Lafuente (stronk7) 10f73026e9 Merge branch 'MDL-65878-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-09-18 20:08:09 +02:00
Luca Bösch d30be99a47 MDL-65878 core_output: Move button not sticky to select field. 2019-09-18 19:10:50 +02:00
Eloy Lafuente (stronk7) 9467ac7707 Merge branch 'MDL-63895-36' of git://github.com/vmdef/moodle into MOODLE_36_STABLE 2019-09-18 17:33:36 +02:00
Sara Arjona 4bac2a4bdb Merge branch 'MDL-66614_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-09-18 17:11:15 +02:00
Sara Arjona 790cae52ca Merge branch 'MDL-63293-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-09-18 13:40:16 +02:00
Sara Arjona e943107851 Merge branch 'MDL-66156-36' of https://github.com/snake/moodle into MOODLE_36_STABLE 2019-09-18 12:25:55 +02:00
Eloy Lafuente (stronk7) 3ff1ef47f8 Merge branch 'MDL-65026-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-09-18 01:01:55 +02:00
Juan Leyva 305111bcd3 MDL-65970 airnotifier: Set lower timeout for Push curl requests 2019-09-17 16:51:39 +02:00
Eloy Lafuente (stronk7) aadce0acfa Merge branch 'MDL-62915-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-09-17 16:22:16 +02:00
Sara Arjona fd0a5bef1e Merge branch 'MDL-66113-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-09-17 12:04:04 +02:00
Paul Holden e8c2c263b7 MDL-62915 tool_dataprivacy: don't let primary admin delete themselves. 2019-09-16 23:41:05 +01:00
Eloy Lafuente (stronk7) 878e330148 Merge branch 'MDL-66293-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-09-16 20:38:41 +02:00
Tim Hunt fd4de847ce MDL-66685 questions: should able to save an empty question usage 2019-09-16 14:36:17 +01:00
Juan Leyva a25615ff66 MDL-66113 assign: Apply user overrides in get_submission_status WS 2019-09-16 12:08:42 +02:00
Paul Holden 56d043a636 MDL-63293 enrol_manual: observe user paging config in enrol dialog. 2019-09-15 21:48:22 +01:00
Eloy Lafuente (stronk7) 1ed4e401f1 MDL-66262 env: Moodle 3.6.x and 3.7.x do not support PHP 7.4 2019-09-13 17:44:36 +02:00
Jake Dallimore f1246ad631 weekly release 3.6.6+ 2019-09-13 11:30:17 +08:00
Jake Dallimore b91f9efddc Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-09-13 11:30:16 +08:00
Eloy Lafuente (stronk7) 4c03ce0895 Merge branch 'MDL-66550-36-2' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-09-12 15:32:01 +02:00
Víctor Déniz Falcón 470e23e25b 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:58:09 +01:00
Shamim Rezaie 2af29ca628 MDL-66293 javascript: set maximum paging bar size to 10 2019-09-12 18:05:59 +10:00
Shamim Rezaie 5cb6386af1 MDL-66293 theme_bootstrapbase: Support setting bar size for paging bars 2019-09-12 18:05:59 +10:00
Andrew Nicols 0ac32aff37 MDL-66550 admin: The execute wrapper MUST be used in behat 2019-09-12 16:04:16 +08:00
Andrew Nicols 9400966aa9 MDL-66550 theme: Wrap JS calls in pendingJS 2019-09-12 14:59:17 +08:00
Jake Dallimore 55f56db61f MDL-66156 block_myoverview: remove orphaned course favourite records 2019-09-12 13:12:13 +08:00
Jake Dallimore 09b691381c MDL-66156 block_myoverview: purge course favourites on course deletion. 2019-09-12 13:12:12 +08:00
Shamim Rezaie 37e349dd89 MDL-66293 javascript: Added support to set bar size for paging bars 2019-09-12 14:24:34 +10:00
Andrew Nicols ddd9d6e95e Merge branch 'MDL-66498_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-09-12 11:18:11 +08:00
Jake Dallimore 34a5bd4223 Merge branch 'MDL-64917-MOODLE_36_STABLE' of https://github.com/tuanngocnguyen/moodle into MOODLE_36_STABLE 2019-09-12 09:28:32 +08:00
Nathan Nguyen 734cd75ed3 MDL-64917 filepicker: change event dispatch 2019-09-12 11:00:43 +10:00
AMOS bot ee73cabac3 Automatically generated installer lang files 2019-09-12 00:09:30 +00:00
Andrew Nicols 9455300763 Merge branch 'MDL-66489-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-09-12 07:08:17 +08:00
Shamim Rezaie 5f4a113242 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:35:04 +10:00
Andrew Nicols b680e40303 Merge branch 'MDL-65429-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-09-11 14:23:04 +08:00
Jake Dallimore d1221854c8 Merge branch 'MDL-65493-36-2' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-09-11 13:45:56 +08:00
David Monllaó ec77087e21 MDL-66498 analytics: get_samples() with no params limit 2019-09-11 12:46:54 +08:00
David Monllaó af06a498dc MDL-66498 analytics: Avoid get_in_or_equal for big arrays
Also, join directly with context table.
2019-09-11 12:46:55 +08:00
Andrew Nicols 2ba7a4066d Merge branch 'MDL-66328_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-09-11 12:21:45 +08:00
Jake Dallimore 3475c90d37 Merge branch 'MDL-66550-36-2' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-09-11 10:40:32 +08:00
Eloy Lafuente (stronk7) f6c82c8a86 Merge branch 'MDL-65310-36' of https://github.com/tsmilan/moodle into MOODLE_36_STABLE 2019-09-11 00:44:53 +02:00
David Mudrák 8a65065551 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 18:11:35 +02:00
Andrew Nicols ec372682b8 MDL-66550 forum: Target fields in a fieldset for behat test 2019-09-10 21:24:20 +08:00
Andrew Nicols 85b30e2ac5 MDL-66550 behat: Transform fields to search in a fieldset 2019-09-10 21:24:20 +08:00
Andrew Nicols 0c7478e4fa MDL-66550 behat: Standardise finding in core functionality 2019-09-10 21:24:20 +08:00
Andrew Nicols 1b52ec70f0 MDL-66550 behat: Add ability to transform a specific selector 2019-09-10 21:24:15 +08:00
Andrew Nicols f4f245e011 MDL-66550 behat: Normalise selectors better 2019-09-10 21:24:07 +08:00
Tim Hunt 7d8ad43bd2 MDL-66641 quiz stats: discriminativeefficiency is already out of 100 2019-09-10 12:12:16 +01:00
Jake Dallimore a3de6b7961 Merge branch 'MDL-66409-edit-numerical/moodle36' of https://github.com/RaAstons/moodle into MOODLE_36_STABLE 2019-09-10 13:35:21 +08:00
Andrew Nicols 153502a7f5 Merge branch 'MDL-63250-36' of https://github.com/Kathrin84/moodle into MOODLE_36_STABLE 2019-09-10 12:41:01 +08:00
Tim Hunt d5bb3640d5 MDL-66328 groups: overview page can require lots of memory 2019-09-09 11:20:30 +01:00
Raphaël Santos 5c37c61b42 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:41:49 +02:00
David Monllao 926ff49e12 MDL-66498 analytics: SQL IN in chunks 2019-09-06 13:35:54 +08:00
Jake Dallimore 7de0c0f1ad Moodle release 3.6.6 2019-09-06 11:50:42 +08:00
Trisha Milan 90b9c2e2d3 MDL-65310 block_timeline: Hide activities without due date 2019-09-06 13:49:00 +10:00
Andrew Nicols c50947b75e MDL-65493 core: Add pendingJS around pubsub.publish 2019-09-06 08:41:11 +08:00
Andrew Nicols c61928e007 MDL-65493 message: The execute wrapper MUST be used 2019-09-06 08:41:11 +08:00
Andrew Nicols 6f09229a3d MDL-65493 message: JS fixes for random behat fails 2019-09-06 08:41:11 +08:00
Andrew Nicols 16291ec5bd MDL-65493 theme_bootstrapbase: Emulate transition ends for BS2 events 2019-09-06 08:41:11 +08:00
Andrew Nicols d96c728295 MDL-65493 theme_bootstrapbase: Pending JS checks for transitions 2019-09-06 08:41:11 +08:00
Eloy Lafuente (stronk7) 95abbe12ba weekly release 3.6.5+ 2019-09-05 17:14:37 +02:00
Eloy Lafuente (stronk7) 2e33ec271b Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-09-05 17:14:34 +02:00
Andrew Nicols 17da93d42b 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:05:27 +01:00
Eloy Lafuente (stronk7) 2efbb5dcc0 Merge branch 'MDL-66560-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-09-05 15:58:38 +02:00
Jake Dallimore 8a7f86f387 Merge branch 'MDL-56223-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-09-05 17:20:50 +08:00
Simey Lameze 0b5aad45af MDL-56223 calendar: fix wrong create_calendar_events WS phpdoc 2019-09-05 17:16:14 +08:00
Simey Lameze aa97b1530f MDL-56223 calendar: show the number of deleted events 2019-09-05 17:16:14 +08:00
Simey Lameze a2a489d1f8 MDL-56223 calendar: skip events updating if nothing has changed 2019-09-05 17:16:14 +08:00
Luca Bösch c04c03594e MDL-66560 import: Format course search UI elements. 2019-09-05 06:39:56 +02:00
Jake Dallimore e3147eec7d Merge branch 'MDL-66551-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-09-05 11:16:53 +08:00
Simey Lameze 37e178e755 MDL-66551 core_user: remove orphaned calendar subscriptions 2019-09-05 10:59:04 +08:00
Simey Lameze 3ee7064392 MDL-66551 core_user: delete_user() should remove users calendar subs 2019-09-05 10:52:38 +08:00
Andrew Nicols de6225210d Merge branch 'MDL-66391-36' of https://bitbucket.org/isprynt/moodle into MOODLE_36_STABLE 2019-09-05 10:00:27 +08:00
Eloy Lafuente (stronk7) f9dc45fee6 Merge branch 'MDL-66072-36-3' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-09-05 02:48:32 +02:00
Peter d5f387f922 MDL-66072 core: Remove ancillary sharing functions and code 2019-09-05 08:44:36 +08:00
Peter c3ef9e4380 MDL-66072 core: Remove course sharing and related capabilities 2019-09-05 08:44:30 +08:00
Eloy Lafuente (stronk7) 99a75cba2c Merge branch 'MDL-66560-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-09-05 02:18:04 +02:00
AMOS bot 5000628be5 Automatically generated installer lang files 2019-09-05 00:12:06 +00:00
Luca Bösch 3d348a4638 MDL-66560 import: Format course search UI elements. 2019-09-05 00:41:53 +02:00
Segun Babalola 1d88fac6f6 MDL-66391 core_course: Fix to send correct Ajax parameter for userid 2019-09-04 12:22:36 +01:00
Andrew Nicols 179762bd02 Merge branch 'MDL-66137-36_mod_assign_marking_workflow_incorrect_grade_display' of https://github.com/tomdickman/moodle into MOODLE_36_STABLE 2019-09-04 13:48:18 +08:00
Tom Dickman b51509778b 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:08:49 +10:00
Andrew Nicols 245e70eeab Merge branch 'MDL-66554-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-09-04 12:41:30 +08:00
Andrew Nicols 98e7475aea Merge branch 'MDL-66500-36-unoconvwarning' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-09-04 12:14:53 +08:00
Ryan Wyllie 6981a6f83b 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:24:05 +08:00
Ryan Wyllie d41890c0f7 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:24:05 +08:00
Jake Dallimore 3f3cace28c Merge branch 'MDL-66265-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-09-04 11:07:17 +08:00
Andrew Nicols ba4d2dee9a MDL-66265 javascript: More specific overrides in eslintrc 2019-09-04 10:49:13 +08:00
Eloy Lafuente (stronk7) d8cb31ce19 Merge branch 'MDL-66265-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-09-04 02:14:28 +02:00
AMOS bot aa0f8fd86d Automatically generated installer lang files 2019-09-04 00:11:18 +00:00
Eloy Lafuente (stronk7) c4b7a43793 Merge branch 'MDL-66532-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-09-04 02:01:30 +02:00
Andrew Nicols 98a450e721 MDL-66265 javascript: Add jshint ignore for ES6 files in root dir 2019-09-04 06:53:45 +08:00
Andrew Nicols f8e02a34a7 MDL-66265 javascript: Add basic jshint ignores 2019-09-04 06:53:45 +08:00
Andrew Nicols b8a1748e48 MDL-66265 javascript: Bump jshint version 2019-09-04 06:53:45 +08:00
Andrew Nicols b043d306c3 MDL-66532 javascript: Lock NPM version for NVM 2019-09-04 06:53:44 +08:00
Andrew Nicols dd159713a8 MDL-66532 javascript: Lock NPM version for NVM 2019-09-04 06:45:51 +08:00
Eloy Lafuente (stronk7) 53c8bd1b2f Merge branch 'MDL-63315-m36' of https://github.com/sammarshallou/moodle into MOODLE_36_STABLE 2019-09-04 00:19:33 +02:00
Eloy Lafuente (stronk7) ed903633b3 Merge branch 'MDL-66120-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-09-03 12:12:47 +02:00
Andrew Nicols a029dfbc5b Merge branch 'MDL-66434-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-09-03 12:41:27 +08:00
Andrew Nicols 4aa04de246 Merge branch 'MDL-62161-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-09-03 11:50:34 +08:00
Andrew Nicols b1aba64aee Merge branch 'MDL-65042-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-09-03 09:29:51 +08:00
AMOS bot 51759ac646 Automatically generated installer lang files 2019-09-03 00:11:42 +00:00
Eloy Lafuente (stronk7) 0e884990f0 Merge branch 'MDL-66457-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-09-03 00:55:04 +02:00
sam marshall 7b2442a913 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:58 +01:00
Peter efe8b11186 MDL-66120 block_community: Disable community block and related caps
Disable community block access
2019-09-02 15:57:58 +08:00
Juan Leyva 1dca6b0fcf MDL-66501 tool_mobile: Prevent URLs in custom scheme 2019-09-02 15:29:55 +08:00
Jun Pataleta 64f0c4ceaa MDL-66187 format_singleactivity: Make sure available types is not empty 2019-09-02 05:06:37 +02:00
Andrew Nicols eacdff4e4f MDL-66187 course: Respect :addinstance in single activity format 2019-09-02 05:06:37 +02:00
Simey Lameze 1acf5e5da2 MDL-65749 lib: fix phpmailer file handling 2019-09-02 05:06:37 +02:00
Andrew Nicols 49523e0349 MDL-66181 course: Only assign roles that the user is allowed to assign 2019-09-02 05:06:37 +02:00
Andrew Nicols f63284d2eb MDL-66181 behat: You check checkboxes, not click them 2019-09-02 05:06:37 +02:00
Michael Hawkins 08e8818abe MDL-55451 mod_forum: Limit subscription redirect to internal URLs 2019-09-02 05:06:37 +02:00
David Monllaó 9dce35eae8 MDL-66069 mlbackend_python: Bump to a new version of the package 2019-09-02 05:06:37 +02:00
Andrew Nicols 8c21a3d340 Merge branch 'MDL-66472-36' of https://github.com/Dagefoerde/moodle into MOODLE_36_STABLE 2019-09-02 11:03:58 +08:00
Andrew Nicols 4a7316c071 Merge branch 'MDL-33087-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-09-02 10:48:35 +08:00
David Mudrák 1f69f00697 MDL-66504 lang: Use the new strings in the Behat scenario 2019-09-01 12:36:22 +02:00
Helen Foster 7334de1e6c 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:35:25 +02:00
Paul Holden ca1929d390 MDL-62161 user: preserve all selected users between searches. 2019-08-30 14:37:27 +01:00
Paul Holden 0fb84542b5 MDL-33087 tool_capability: correct role override link. 2019-08-30 14:34:41 +01:00
Andrew Nicols 2bfb88591a MDL-66457 behat: simplify selector search 2019-08-30 15:13:07 +08:00
Luca Bösch 46ebab12cf MDL-66434 mod_data: Align 'Field description' field as all other fields. 2019-08-30 07:56:10 +02:00
Jake Dallimore 2baf9a81d8 weekly release 3.6.5+ 2019-08-30 13:12:09 +08:00
Peter e49444d535 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:19 +08:00
Juan Leyva 1da54dc846 MDL-66554 mod_scorm: Set module viewed in WS 2019-08-29 20:46:18 +01:00
Jake Dallimore 0e314a4320 Merge branch 'MDL-66139_36' of https://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-08-29 11:51:56 +08:00
Adrian Greeve 23fe5c9110 Merge branch 'MDL-65975-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-08-29 10:20:39 +08:00
Netica Informática 4639c08029 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:59:28 +02:00
Eloy Lafuente (stronk7) 3aa3952340 Merge branch 'MDL-63852-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-08-28 17:41:20 +02:00
Eloy Lafuente (stronk7) 80d85657b7 Merge branch 'MOODLE_36_STABLE_MDL-65116' of https://github.com/yao9394/moodle into MOODLE_36_STABLE 2019-08-28 16:59:28 +02:00
Adrian Greeve d631bfb4ef Merge branch 'MDL-66230-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-08-28 14:57:10 +08:00
Eloy Lafuente (stronk7) 6191d50b8a MDL-66184 core: Update composer to apply for php 7.0.0 as min
With behat extension v3.36.2 we started requiring php 7.0.0
(same requirement than core 3.6.x). This bumps all the components
in the lock file to suit that requirement.

Generated with php 7.0.x.
2019-08-27 00:32:36 +02:00
David Mudrák 2bcad30213 MDL-66500 lang: Do not mark unoconvwarning as deprecated
It has been deprecated by mistake.
2019-08-26 21:31:06 +02:00
Eloy Lafuente (stronk7) a93b0d75ed Merge branch 'MDL-66309-m36' of https://github.com/sammarshallou/moodle into MOODLE_36_STABLE 2019-08-26 20:25:28 +02:00
Eloy Lafuente (stronk7) ec160fed59 Merge branch 'MDL-66312-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-08-26 19:42:18 +02:00
Jan Dageförde 7ef1e8818d MDL-66472 forms: Fix regression autocomplete not closing 2019-08-26 17:55:53 +02:00
Eloy Lafuente (stronk7) 5f5e77c4ef weekly release 3.6.5+ 2019-08-23 19:16:28 +02:00
Jun Pataleta a7a2fb253f Merge branch 'MDL-66483_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-08-23 20:14:56 +08:00
sam marshall 14ba75116b MDL-66309 block_recentlyaccesseditems: Improve upgrade performance 2019-08-23 11:36:20 +01:00
Eloy Lafuente (stronk7) 07508900e4 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:32:30 +02:00
Luca Bösch 7fd442d168 MDL-63852 behat: Using correct exception class path. 2019-08-23 07:55:04 +02:00
Adrian Greeve b6f9a29a5e weekly release 3.6.5+ 2019-08-23 12:55:26 +08:00
Adrian Greeve f753d02aea Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-08-23 12:55:18 +08:00
John Yao dc8bac39e3 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:13:34 +10:00
Jun Pataleta 325f268cb1 Merge branch 'MDL-66110-36-fix' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-08-23 10:21:42 +08:00
Jun Pataleta 46e9a19620 MDL-66110 core: Require setuplib.php once as it's required by xmlize.php 2019-08-23 10:16:15 +08:00
Jun Pataleta 67cf6f02c3 Merge branch 'MDL-66110-36-fix' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-08-22 16:26:55 +08:00
Jun Pataleta 14404f91ea MDL-66110 dml: Undo table name fix when table name's used as parameter 2019-08-22 16:18:04 +08:00
Ryan Wyllie cdc64ab1dd 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:18:04 +08:00
Adrian Greeve 955937a856 Merge branch 'MDL-66378-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-08-22 09:30:38 +08:00
Andrew Nicols 0ae284c15b MDL-66378 behat: Increase window size for rubric tests 2019-08-22 07:56:19 +08:00
Andrew Nicols 879946be6a MDL-66378 behat: Change screen size to small to work around UI bugs 2019-08-22 07:56:19 +08:00
Adrian Greeve 0287fd6499 Merge branch 'MDL-65443-m36' of https://github.com/NeillM/moodle into MOODLE_36_STABLE 2019-08-21 16:39:57 +08:00
Neill Magill 0d51c25e85 MDL-65443 core: Improve class descriptions for locking events 2019-08-21 09:05:19 +01:00
Jun Pataleta d113822e72 Merge branch 'MDL-66110-36' of https://github.com/ryanwyllie/moodle into MOODLE_36_STABLE 2019-08-21 09:57:23 +08:00
Adrian Greeve 8839000d68 Merge branch 'MDL-66378-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-08-21 09:02:39 +08:00
Andrew Nicols ceb89d1fb0 MDL-66378 behat: Correct grammar of resize step 2019-08-21 08:39:51 +08:00
Andrew Nicols 53b41d3a84 MDL-66378 grade: Set window size to large for rubric tests 2019-08-21 08:39:28 +08:00
Andrew Nicols 33c9f1fa48 MDL-66378 behat: All args are required for document.evaluate 2019-08-21 08:24:08 +08:00
AMOS bot c4cf607c19 Automatically generated installer lang files 2019-08-21 00:11:25 +00:00
Neill Magill e8b4c32290 MDL-65443 core: Log when a context is locked or unlocked 2019-08-20 09:33:03 +01:00
Jun Pataleta a3b6b58f19 Merge branch 'MDL-64437-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-08-20 14:19:08 +08:00
Adrian Greeve f18c63e584 Merge branch 'MDL-66378-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-08-20 14:10:51 +08:00
Jun Pataleta 46f06e7697 Merge branch 'MDL-65507-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-08-20 11:57:05 +08:00
Jun Pataleta ac858f44ae Merge branch 'MDL-66248_36' of https://github.com/dvdcastro/moodle into MOODLE_36_STABLE 2019-08-20 10:58:23 +08:00
Adrian Greeve dfba6ffe7f Merge branch 'MDL-65083-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-08-20 10:06:13 +08:00
David Castro 5cfa863adc MDL-66248 mod_forum: Fixes on portofolio command url styling. 2019-08-19 20:56:06 -05:00
Adrian Greeve 904caddecb Merge branch 'MDL-65561-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-08-20 09:38:18 +08:00
AMOS bot d8d1c97ef7 Automatically generated installer lang files 2019-08-20 00:10:51 +00:00
Adrian Greeve f026d258b8 Merge branch 'MDL-65604-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-08-19 16:29:21 +08:00
Bas Brands e4854c6653 MDL-65561 themes: user date filters display fixes 2019-08-19 08:25:24 +02:00
Bas Brands 9b36c1408e MDL-65083 theme_boost: update uses of pull-xs-right 2019-08-19 08:22:13 +02:00
Mihail Geshoski 1b8a5338dd MDL-64437 assignment: Fix element overlaping in low screen resolution 2019-08-19 13:32:02 +08:00
Mihail Geshoski 5d64e8eef1 MDL-65507 mod_data: Remove unnecessary record created event 2019-08-19 13:27:36 +08:00
Andrew Nicols 2076f32acb MDL-66378 competency: Add pending promises to competency chooser 2019-08-19 08:16:40 +08:00
Andrew Nicols 28b8712820 MDL-66378 behat: JS does not work with newlines in an xpath 2019-08-19 08:16:40 +08:00
Andrew Nicols 5680713966 MDL-66378 behat: Fix use of before/after selectors 2019-08-19 08:16:40 +08:00
Andrew Nicols f782dcffdc MDL-66378 behat: Backport expand autocomplete step 2019-08-17 16:37:40 +08:00
Andrew Nicols 9e812c35a7 MDL-66378 behat: Add partial named selector for whole autocomplete field 2019-08-17 16:37:40 +08:00
Andrew Nicols 38a64383f1 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 16:37:40 +08:00
Andrew Nicols 7d84120a0e MDL-66378 behat: Add non-JS fallback for before/after 2019-08-17 16:37:40 +08:00
sam marshall a4dcb6a26a 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 16:37:40 +08:00
Andrew Nicols 26a36d2595 MDL-66378 behat: Correct invalid uses of selection from dropdown 2019-08-17 16:37:40 +08:00
Andrew Nicols 10b49eabb1 MDL-66378 report_participation: Correct label for target 2019-08-17 16:37:40 +08:00
Andrew Nicols 2b937e35d6 MDL-66378 gradereport_singleview: Add missing label for dropdown 2019-08-17 16:37:40 +08:00
Andrew Nicols d47457b4aa MDL-66378 behat: Update screen sizes to Y2K standards 2019-08-17 10:32:19 +08:00
Andrew Nicols fb7a713f4c MDL-66378 behat: Update dependencies for chrome webdriver fix 2019-08-17 10:32:19 +08:00
Juan Leyva 0cf9600c9b MDL-65042 rating: Fix incorrect image generated for user in rating 2019-08-16 15:41:50 +01:00
Juan Leyva 19cedc5bf8 MDL-65026 course: Fix modules intro formatting in WS
The Web Service seems to be doing excessive text cleaning.
2019-08-16 11:55:13 +01:00
Andrew Nicols 55515e15dc 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 d36b3034d0 weekly release 3.6.5+ 2019-08-16 11:06:58 +08:00
Andrew Nicols 9353a72693 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-08-16 11:06:56 +08:00
Juan Leyva c580658cf0 MDL-65975 tool_mobile: Backport features admin should be able to disable 2019-08-15 13:04:33 +01:00
Andrew Nicols f51040346d Merge branch 'MDL-35939-36-fix' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-08-15 16:10:03 +08:00
Jun Pataleta ee6c9e92ae MDL-35939 mod_quiz: Add quiz attempt generator function 2019-08-15 16:06:13 +08:00
Andrew Nicols ab44453bde Merge branch 'MDL-35939-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-08-15 12:04:12 +08:00
Jun Pataleta 6e3a15df95 Merge branch 'm36_MDL-66140_Mitigate_PECL_Solr_issue_Ref_72740' of https://github.com/scara/moodle into MOODLE_36_STABLE 2019-08-15 11:17:50 +08:00
Shamim Rezaie 01a06cb489 MDL-35939 mod_quiz: use descriptive titles for pages 2019-08-15 12:27:05 +10:00
Shamim Rezaie f0143c5a5e MDL-35939 mod_quiz: phpdoc fix 2019-08-15 12:27:05 +10:00
Shamim Rezaie 5dd2654b6f MDL-35939 mod_quiz: new functions to generate title for attempt pages 2019-08-15 12:27:03 +10:00
AMOS bot 350823fe15 Automatically generated installer lang files 2019-08-15 00:13:03 +00:00
Jun Pataleta 7adb08d1ad Merge branch 'MDL-65925-grade-page-broken-for-deleted-submission-MOODLE_36_STABLE' of https://github.com/ilya-catalyst/moodle into MOODLE_36_STABLE 2019-08-14 15:26:29 +08:00
Andrew Nicols 247f3431d5 Merge branch 'patch-3' of https://github.com/aspark21/moodle into MOODLE_36_STABLE 2019-08-14 11:38:21 +08:00
Adrian Greeve 7313f15abc Merge branch 'MDL-52849-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-08-14 09:08:37 +08:00
Jun Pataleta 7ea95c10dd Merge branch 'MDL-62034-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-08-13 14:20:27 +08:00
Andrew Nicols 06259d40ae MDL-62034 assign: Add hint for user tour reset 2019-08-13 14:13:12 +08:00
Ryan Wyllie 678d682b35 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:14:24 +08:00
Jun Pataleta 9f4959bd87 Merge branch 'MDL-66104_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-08-12 14:51:45 +08:00
Peter 051d6f74e4 MDL-52849 core: Focus reader onto popup with ajax errors 2019-08-12 10:52:18 +08:00
Ilya Tregubov 40b81687d6 MDL-65925 assign: Grade page broken if submission was deleted. 2019-08-12 09:27:26 +10:00
Matteo Scaramuccia c77c2a8a06 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:07:52 +02:00
Andrew Nicols 10720c81cd 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:53:09 +08:00
AMOS bot 916ca9c774 Automatically generated installer lang files 2019-08-10 00:11:27 +00:00
Jun Pataleta 0f07f03670 weekly release 3.6.5+ 2019-08-09 16:24:03 +08:00
Jun Pataleta 600b85f83a Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-08-09 16:24:01 +08:00
Jun Pataleta 7cfc31d809 Merge branch 'MDL-65679-36-fix' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-08-09 11:39:44 +08:00
Andrew Nicols 5543c95ccd MDL-65679 assignfeedback_editpdf: Adjust z-indexes for editpdf 2019-08-09 08:35:40 +08:00
Victor Deniz Falcon b791a215ff MDL-66272 core_renderer: fix favicon method PHPDoc 2019-08-08 12:47:58 +08:00
Amaia Anabitarte b8846767fe MDL-60636 behat: Fixing modified xpath 2019-08-08 11:58:17 +08:00
Andrew Nicols bcd7c897d1 Merge branch 'MDL-65595-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-08-08 10:28:52 +08:00
Jun Pataleta 7e11f3c83c Merge branch 'MDL-57239_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-08-08 08:48:05 +08:00
Bas Brands ffbbf7d9f2 MDL-60636 themes: form autocomplete chevron down 3.6 extra fix 2019-08-07 16:11:24 +08:00
Andrew Nicols 2770a205b6 Merge branch 'MDL-66039-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-08-07 15:33:13 +08:00
Jun Pataleta 0b44aeaf9d Merge branch 'MDL-56789-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-08-07 13:58:19 +08:00
Shamim Rezaie 0157d682d5 MDL-56789 core: Improve unit tests 2019-08-07 15:36:09 +10:00
Shamim Rezaie ae0e8015c5 MDL-56789 core: Recycle bin warn only if a grade item is being deleted 2019-08-07 15:34:44 +10:00
Sara Arjona 4f91fb9538 Merge branch 'MDL-63198-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-08-07 11:08:09 +08:00
Sara Arjona ad4427fc31 Merge branch 'MDL-60636-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-08-07 10:01:07 +08:00
Alistair Spark 553732088e MDL-66071 user: username is required with non-internal auth method 2019-08-07 01:03:03 +02:00
Sara Arjona 3cbf774ef0 Merge branch 'MDL-64598-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-08-06 15:30:23 +08:00
Andrew Nicols c9d36709fc Merge branch 'MDL-65679-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-08-06 13:18:26 +08:00
Andrew Nicols 6b8b1afb50 Merge branch 'MDL-65992-36' of git://github.com/Chocolate-lightning/moodle into MOODLE_36_STABLE 2019-08-06 09:14:22 +08:00
Andrew Nicols 63aa3dc1af Merge branch 'MDL-33884_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-08-05 14:34:13 +08:00
Sara Arjona aee7b3c316 Merge branch 'MDL-66281-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-08-05 13:41:17 +08:00
Shamim Rezaie 202c04bbcd MDL-63198 forms: click on scrollbar should not close the suggestions box 2019-08-05 13:17:50 +10:00
Tim Hunt 8a14da2383 MDL-57239 qbehaviour_interactive: fix Try again button when reviewing 2019-08-02 11:46:55 +01:00
Luca Bösch 71eba0cb1d MDL-64598 pix: Adding width/height information to emoji SVG images. 2019-08-02 11:53:44 +02:00
AMOS bot 871454b2dc Automatically generated installer lang files 2019-08-02 00:11:32 +00:00
AMOS bot f8f338c2c8 Automatically generated installer lang files 2019-08-02 00:11:32 +00:00
Mihail Geshoski 2207bea33c 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:14 +08:00
Eloy Lafuente (stronk7) a58897441e 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:53:16 +02:00
Eloy Lafuente (stronk7) 0e4e2ce352 weekly release 3.6.5+ 2019-08-01 17:07:02 +02:00
Eloy Lafuente (stronk7) 946e06bbdc Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-08-01 17:06:59 +02:00
Shamim Rezaie 36f588f8fb MDL-56789 core: Added unit test for course_modules_pending_deletion 2019-08-01 19:16:37 +10:00
Eloy Lafuente (stronk7) c9b3d8e710 Merge branch 'MDL-50472-36' of git://github.com/Chocolate-lightning/moodle into MOODLE_36_STABLE 2019-08-01 10:12:05 +02:00
Mathew May c8ac8de2c7 MDL-50472 boost: Add maintenance message to the login page. 2019-08-01 14:38:45 +08:00
Sara Arjona c89aaced1a Merge branch 'MDL-42451-36' of git://github.com/Chocolate-lightning/moodle into MOODLE_36_STABLE 2019-08-01 09:53:58 +08:00
Eloy Lafuente (stronk7) 99fb1c8c7b Merge branch 'MDL-50472-36' of git://github.com/Chocolate-lightning/moodle into MOODLE_36_STABLE 2019-08-01 00:28:50 +02:00
Eloy Lafuente (stronk7) 2b22c47ac3 Merge branch 'MDL-57342-36' of git://github.com/Chocolate-lightning/moodle into MOODLE_36_STABLE 2019-07-31 18:56:44 +02:00
Tim Hunt a1cb73feea 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:40:11 +01:00
Mathew May ecbd999ca3 MDL-42451 installation: Add some Bootstrap classes for install 2019-07-31 14:41:01 +08:00
Mathew May 35d3396f21 MDL-65992 travis: Migrate to Xenial distro and default MySQL service 2019-07-31 13:03:15 +08:00
Peter 2ce7e21395 MDL-65595 core: Remove the nowrap from the form's radio template 2019-07-31 08:20:20 +08:00
AMOS bot baa3eec946 Automatically generated installer lang files 2019-07-31 00:09:23 +00:00
Paul Holden 67d288f6c2 MDL-66230 tool_usertours: account for deleted tours in privacy export. 2019-07-30 09:56:55 +01:00
Sara Arjona 22ecbc36c7 Merge branch 'MDL-64195-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-07-30 16:35:05 +08:00
Jun Pataleta 39789fcbd1 MDL-66281 tool_dataprivacy: Set sensitive data processing default value 2019-07-30 13:59:29 +08:00
Sara Arjona b861e09e65 Merge branch 'MDL-63458_36' of https://github.com/rlorenzo/moodle into MOODLE_36_STABLE 2019-07-30 11:59:47 +08:00
Adrian Greeve e974568f89 Merge branch 'MDL-66174-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-07-29 14:41:13 +08:00
Mathew May 28a27595e3 MDL-42451 installation: Allow enter key to proceed 2019-07-29 11:07:13 +08:00
Mathew May 7c5d2ebc95 MDL-50472 auth: Add maintenance message to the login page. 2019-07-29 10:51:22 +08:00
Jake Dallimore da6bf80c2f Merge branch 'MDL-65219-36' of https://github.com/ryanwyllie/moodle into MOODLE_36_STABLE 2019-07-26 15:21:53 +08:00
Eloy Lafuente (stronk7) 325b025522 weekly release 3.6.5+ 2019-07-25 13:44:53 +02:00
Adrian Greeve 24a8a6a043 Merge branch 'MDL-65078-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-07-24 09:53:55 +08:00
Mathew May 11cfdfb171 MDL-57342 admin: confightml will check if returned data is empty 2019-07-23 13:29:45 +08:00
Eloy Lafuente (stronk7) ac224b87a9 Merge branch 'MDL-65788-36' of git://github.com/Chocolate-lightning/moodle into MOODLE_36_STABLE 2019-07-22 21:33:52 +02:00
Eloy Lafuente (stronk7) 6bc76a5086 Merge branch 'MDL-66132-m36' of https://github.com/sammarshallou/moodle into MOODLE_36_STABLE 2019-07-22 20:40:54 +02:00
Bas Brands b23aa517f8 MDL-64195 theme_bootstrapbase: message drawer position
* prevent hiding the navbar behind the message drawer on small devices
2019-07-22 17:10:25 +02:00
Adrian Greeve 8a2dfa7ea1 Merge branch 'MDL-66136-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-07-22 10:43:14 +08:00
Mihail Geshoski d59b0eefac MDL-66136 assign: Verify presence of resources in online text submission 2019-07-22 08:02:57 +08:00
Mihail Geshoski d6c09ba2f3 MDL-66136 assignfeedback_comments: Extend testcase 2019-07-22 08:02:57 +08:00
Eloy Lafuente (stronk7) 62238e0117 Merge branch 'MDL-50733_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-07-20 00:25:03 +02:00
Mathew May 5610176e3c MDL-50733 core: Update composer to updated behat-extension 2019-07-19 16:22:25 +02:00
Eloy Lafuente (stronk7) bde0f62364 weekly release 3.6.5+ 2019-07-18 17:11:39 +02:00
Eloy Lafuente (stronk7) 2a7d48cd1a Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-07-18 17:11:37 +02:00
Kathrin Osswald 9d2fbd521b MDL-63250 mediaplugin: Fixed video player size in specific tables 2019-07-18 13:53:36 +02:00
Peter d47848dbc4 MDL-66174 mod_assign: Remove the strict widths on the annotation menu 2019-07-18 12:56:11 +08:00
Mathew May 23aae2b6ea MDL-65788 tool_policy: Move accept_policy JS call into an array 2019-07-18 10:48:36 +08:00
Andrew Nicols 7cf1f6d8d5 Merge branch 'MDL-59911-conv_cleanup_check-36' of git://github.com/leonstr/moodle into MOODLE_36_STABLE 2019-07-18 08:25:56 +08:00
Andrew Nicols 2f3ef4c515 Merge branch 'MDL-66163-36' of git://github.com/marinaglancy/moodle into MOODLE_36_STABLE 2019-07-18 08:16:59 +08:00
AMOS bot 93fab635bd Automatically generated installer lang files 2019-07-18 00:09:13 +00:00
Eloy Lafuente (stronk7) e284dc2042 Merge branch 'MDL-66115_36' of https://github.com/dvdcastro/moodle into MOODLE_36_STABLE 2019-07-17 23:10:01 +02:00
Bas Brands 59af2fc881 MDL-60636 themes: form autocomplete chevron down on mobile 2019-07-17 13:40:25 +02:00
Andrew Nicols 4adb26ca32 Merge branch 'MDL-65538-36' of git://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-07-17 10:56:34 +08:00
Bas Brands 493ed38380 MDL-65357 themes: position enrolment icons in course listing 2019-07-17 09:42:29 +08:00
Eloy Lafuente (stronk7) fc22282d3b Merge branch 'MDL-66032-MOODLE_36_STABLE_awarded_badges_criteria' of https://github.com/andrewmadden/moodle into MOODLE_36_STABLE 2019-07-17 01:32:05 +02:00
Eloy Lafuente (stronk7) a6006f5a4b Merge branch 'MDL-65908-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-07-17 01:21:26 +02:00
Marina Glancy 9684f897ac 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:09 +03:00
Leon Stringer cce561cdfe 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 16:23:30 +01:00
Eloy Lafuente (stronk7) c53c3bbe03 Merge branch 'MDL-65555_MOODLE_36_STABLE' of https://github.com/tuanngocnguyen/moodle into MOODLE_36_STABLE 2019-07-16 12:36:38 +02:00
Andrew Nicols fbfbff8046 Merge branch 'MOODLE_36_STABLE_MDL-65517' of https://github.com/yao9394/moodle into MOODLE_36_STABLE 2019-07-16 12:23:38 +08:00
Andrew Nicols 8dc48409ab Merge branch 'MDL-65409-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-07-16 11:37:06 +08:00
Nathan Nguyen 5a1de3de31 MDL-65555 mod_lesson: fix group override backup and restore 2019-07-16 12:57:31 +10:00
Nathan Nguyen 6cb12d596f MDL-65555 mod_quiz: fix group override backup and restore 2019-07-16 12:56:23 +10:00
Ryan Wyllie 75d82cfa72 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:49:54 +08:00
Damyon Wiese b0487262ec 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:48:16 +08:00
Andrew Madden fab4db0994 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:35:23 +10:00
Sara Arjona 8504b17c4a MDL-65538 competency: fix behat errors with firefox
There is a random behat error in 3.7 and master 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:22:46 +02:00
Eloy Lafuente (stronk7) ae2a7a21cb Merge branch 'MDL-58026-36' of https://github.com/MartinGauk/moodle into MOODLE_36_STABLE 2019-07-15 13:39:05 +02:00
Peter e024a6ca05 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:44:28 +08:00
Peter fe8fcea294 MDL-65908 assign: Overflow and positioning updates
Draw all annotation within the drawing canvas instead of the region
2019-07-15 08:42:48 +08:00
Peter d75d48f497 MDL-65908 assign: Revert overflow scroll fix
Revert "MDL-65484 assign: Scrolling overflow CSS"

This reverts commit 5bda066caa.
2019-07-15 08:40:02 +08:00
Mathew May bc68cb69ca 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:54:07 +08:00
AMOS bot 9b06a22e03 Automatically generated installer lang files 2019-07-14 00:08:58 +00:00
David Castro a6b048b60b 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
2019-07-12 14:35:32 -05:00
sam marshall d351dc5a59 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:40:16 +01:00
Damyon Wiese 6cbef68ec2 MDL-65409 files: Allow location header
Allow incorrect capitals in location header response.
2019-07-12 08:45:05 +08:00
John Yao c1bcad4ea7 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:18:43 +10:00
Eloy Lafuente (stronk7) 5701d69f99 weekly release 3.6.5+ 2019-07-11 23:33:45 +02:00
Eloy Lafuente (stronk7) 5755a823e1 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-07-11 23:33:43 +02:00
Bas Brands c0bbdc4c20 MDL-66039 themes: remove duplicate css
* removed duplicate #page { margin-top: 50px };
2019-07-11 14:55:34 +02:00
Jun Pataleta 99f0d38c56 Merge branch 'MDL-65926-MOODLE_36_STABLE_lowercase_username_sql_query' of https://github.com/andrewmadden/moodle into MOODLE_36_STABLE 2019-07-11 11:00:19 +08:00
AMOS bot 602d1c020f Automatically generated installer lang files 2019-07-11 00:09:11 +00:00
Andrew Madden 87bcae7a57 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:56:36 +10:00
Jun Pataleta bee49acf1e Merge branch 'MDL-66012-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-07-10 12:15:55 +08:00
Simey Lameze 59aae6ab8c MDL-66012 calendar: fix no event message on calendar views
Ahhh Jun. Thanks legend :)
2019-07-10 11:33:32 +08:00
Eloy Lafuente (stronk7) 31b6ef812b Merge branch 'MDL-56835_36-coursetimecreated' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2019-07-10 00:15:10 +02:00
Jun Pataleta 03b29c9b75 Merge branch 'MDL-66081-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-07-09 17:10:00 +08:00
Andrew Nicols c26796c0e7 Merge branch 'MDL-64258-36' of https://github.com/HuongNV13/moodle into MOODLE_36_STABLE 2019-07-09 14:51:39 +08:00
Andrew Nicols e6d981b3c2 Merge branch 'MDL-65965-36-fix' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-07-09 11:00:47 +08:00
Jun Pataleta a73230bf10 MDL-65965 behat: Do not fetch grouping IDs for empty grouping idnumbers 2019-07-09 10:49:18 +08:00
Mark Nelson 0b7e375d32 MDL-56835 report_participation: remove unreachable if condition 2019-07-09 09:15:16 +08:00
Mark Nelson 4a8da9b005 MDL-56835 report_participation: initialise action variables 2019-07-09 08:32:20 +08:00
Mark Nelson c241a52e12 MDL-56835 report_participation: use course timecreated as minlog 2019-07-09 08:32:12 +08:00
Matt Porritt fec1ffae54 MDL-56835 report_participation: release session lock 2019-07-09 08:31:47 +08:00
Eloy Lafuente (stronk7) dbcdedffd6 Merge branch 'MDL-66054-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-07-09 00:57:36 +02:00
Eloy Lafuente (stronk7) 0242b2596a Merge branch 'MDL-65965-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-07-09 00:55:17 +02:00
Martin Gauk ee3cecc141 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:15:27 +00:00
AMOS bot 719e34fba7 Automatically generated installer lang files 2019-07-08 00:10:18 +00:00
AMOS bot a36a01c543 Automatically generated installer lang files 2019-07-07 00:09:05 +00:00
Sara Arjona c88d732e39 Moodle release 3.6.5 2019-07-05 12:27:19 +02:00
Simey Lameze 32265ff372 MDL-66081 calendar: fix typo in attribute description 2019-07-05 17:08:13 +08:00
AMOS bot 09323d63f1 Automatically generated installer lang files 2019-07-05 00:09:56 +00:00
Eloy Lafuente (stronk7) 61d76db67b weekly release 3.6.4+ 2019-07-04 16:50:57 +02:00
Eloy Lafuente (stronk7) 86efefc1eb Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-07-04 16:50:52 +02:00
AMOS bot acc147bb29 Automatically generated installer lang files 2019-07-04 00:08:48 +00:00
Shamim Rezaie 7f1c38ea92 MDL-61114 mod_assign: Check if the teacher can access the override 2019-07-03 18:05:59 +02:00
Shamim Rezaie 2451ef2ba5 MDL-61114 mod_assign: assignment overrides to observe group membership 2019-07-03 18:05:59 +02:00
Shamim Rezaie 5e9dd950a1 MDL-61115: mod_lesson: Check if the teacher can access the override 2019-07-03 17:50:23 +02:00
Shamim Rezaie 1aa9422c9f MDL-61115 mod_lesson: Lesson overrides to observe group membership 2019-07-03 17:50:23 +02:00
Sara Arjona c53515f170 Merge branch 'MDL-65958-36-v3' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-07-03 14:53:52 +02:00
Simey Lameze 5aaf5d99d7 MDL-65958 calendar: cover students default event type visibility 2019-07-03 20:41:21 +08:00
Simey Lameze a337b28093 MDL-65958 calendar: students should not see course event type 2019-07-03 20:41:20 +08:00
Simey Lameze 002437681b MDL-65958 calendar: add behat to test calendar_adminseesall behaviour 2019-07-03 20:41:20 +08:00
Simey Lameze ee905caef5 MDL-65958 calendar: fix adminseesall logic in the event form 2019-07-03 20:41:19 +08:00
Sara Arjona a76b3ea7c8 Merge branch 'MDL-64794_36' of https://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-07-03 11:15:52 +02:00
Huong Nguyen 95594d39df MDL-64258 Group: Performance problem on the enrol group members page 2019-07-03 15:29:52 +07:00
Huong Nguyen 7d58ebbb19 MDL-64258 Group: Unit Test for find_users function 2019-07-03 15:29:42 +07:00
Eloy Lafuente (stronk7) 82002907b5 Merge branch 'MDL-65845_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-07-03 02:25:53 +02:00
AMOS bot edf7b72716 Automatically generated installer lang files 2019-07-03 00:08:54 +00:00
AMOS bot f4f079fa42 Automatically generated installer lang files 2019-07-03 00:08:54 +00:00
Eloy Lafuente (stronk7) fb1b60d0b4 Merge branch 'MDL-63268-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-07-03 00:13:49 +02:00
Sara Arjona 57f681365d Merge branch 'MDL-64614_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-07-02 21:21:46 +02:00
Luca Bösch 45a5c7bfa5 MDL-63268 tool_uploadcourse: Keep source course section number. 2019-07-02 19:48:57 +02:00
Eloy Lafuente (stronk7) a2bd8bec84 Merge branch 'MDL-65707-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-07-02 16:40:57 +02:00
Sara Arjona 821c578ff3 Merge branch 'MDL-65101_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2019-07-02 14:50:34 +02:00
Eloy Lafuente (stronk7) 6b4a4fba82 Merge branch 'MDL-66001-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-07-02 12:10:12 +02:00
Sara Arjona 8a81a31fd8 Merge branch 'MDL-65839_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-07-02 10:42:19 +02:00
Eloy Lafuente (stronk7) d2015975ed Merge branch 'MDL-65853_m36' of git://github.com/gjb2048/moodle into MOODLE_36_STABLE 2019-07-02 10:25:51 +02:00
Shamim Rezaie d51f3d032e MDL-34411 mod_quiz: Check if the teacher can access the override 2019-07-02 08:16:43 +02:00
Shamim Rezaie 5622de1179 MDL-34411 groups: copy/paste error in test_groups_user_groups_visible 2019-07-02 08:16:43 +02:00
Shamim Rezaie 6faeafa53d MDL-34411 mod_quiz: quiz overrides to observe group membership 2019-07-02 08:16:43 +02:00
Damyon Wiese af45515fe1 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:16:43 +02:00
Damyon Wiese f3a81b5b3d 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:16:43 +02:00
Sara Arjona 393e396080 Merge branch 'MDL-65901-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-07-02 08:10:42 +02:00
Eloy Lafuente (stronk7) 54a250b5fa Merge branch 'MDL-64935-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-07-02 00:07:45 +02:00
Shamim Rezaie 5876688def MDL-66054 behat: typo fix 2019-07-02 04:05:52 +10:00
Eloy Lafuente (stronk7) 5fa331fc19 Merge branch 'MDL-64511-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-07-01 18:52:44 +02:00
Sara Arjona 5b502e1c04 Merge branch 'MDL-65297-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-07-01 18:35:18 +02:00
Luca Bösch 48a860601e MDL-65901 forum: Style advanced search form properly. 2019-07-01 18:03:41 +02:00
Sara Arjona 061f29c7ef Merge branch 'MDL-65973-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-07-01 13:14:19 +02:00
Dan Marsden b48c1715df MDL-60347 core: debugsmtp should be a developer only setting. 2019-07-01 12:16:48 +02:00
Sara Arjona 3a8a5c7968 Merge branch 'MDL-57884_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-07-01 09:58:02 +02:00
Eloy Lafuente (stronk7) a7547d531f MDL-64614 environment: mssql requirement up to 2012 (11.0) 2019-06-30 11:58:33 +02:00
Eloy Lafuente (stronk7) cbebe6810c 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:33 +02:00
AMOS bot 390d427b2a Automatically generated installer lang files 2019-06-30 00:09:24 +00:00
AMOS bot 839da4abbe Automatically generated installer lang files 2019-06-30 00:09:24 +00:00
AMOS bot b9cda33903 Automatically generated installer lang files 2019-06-29 00:09:27 +00:00
AMOS bot df4aa5380f Automatically generated installer lang files 2019-06-29 00:09:27 +00:00
David Monllaó 20083e193d 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:53 +02:00
David Monllaó e2c7bd75ef MDL-65839 core_analytics: New indicator instances for each analysable 2019-06-28 21:00:41 +02:00
Paul Holden 0ecea81e24 MDL-64511 privacy: encode data URL when loading content.
Previously paths that included ? or # characters would break loading.
2019-06-28 13:17:18 +01:00
Paul Holden f058a0ae79 MDL-65297 atto_managefiles: improve filename decoding.
Filenames containing # character would previously be missed.
2019-06-28 13:14:35 +01:00
Sara Arjona ea99ff8801 Merge branch 'MDL-65506-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-06-28 12:16:41 +02:00
Mark Nelson 885b98991b MDL-65101 core_message: add Behat test 2019-06-28 18:14:39 +08:00
Mark Nelson 1ba6407a66 MDL-65101 core_message: 'canmessage' should trump 'requirescontract' 2019-06-28 15:41:29 +08:00
AMOS bot 824840cf1f Automatically generated installer lang files 2019-06-28 00:09:56 +00:00
Gareth Barnard 12ffbefe4a MDL-65853 format_base: Labels counted in section activity summary. 2019-06-27 23:38:16 +01:00
Eloy Lafuente (stronk7) e60503f77c weekly release 3.6.4+ 2019-06-27 18:54:35 +02:00
Eloy Lafuente (stronk7) 6be471293b Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-06-27 18:54:32 +02:00
Andrew Nicols 03e8d1d8f8 Merge branch 'MDL-53778_36' of https://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-06-27 08:37:11 +08:00
Eloy Lafuente (stronk7) 616755e129 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:13:11 +02:00
Eloy Lafuente (stronk7) 6585acf84d 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:13:11 +02:00
Eloy Lafuente (stronk7) 97516416ad Merge branch 'MDL-66003-36-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-06-26 23:04:38 +02:00
Nicolas Dunand 029c0fdb85 MDL-63458 core_user: Remove send message if messaging is disabled 2019-06-26 11:29:35 -07:00
Sara Arjona 2681c83fb8 Merge branch 'MDL-60088-36' of git://github.com/Chocolate-lightning/moodle into MOODLE_36_STABLE 2019-06-26 18:11:24 +02:00
Eloy Lafuente (stronk7) d6adc76343 Merge branch 'MDL-53778_36' of https://github.com/anieminen/moodle into MOODLE_36_STABLE 2019-06-26 17:50:50 +02:00
Eloy Lafuente (stronk7) 232168c8f2 Merge branch 'MDL-65249-36-fix' of https://github.com/snake/moodle into MOODLE_36_STABLE 2019-06-26 10:29:54 +02:00
Jake Dallimore 2eef46fb46 MDL-65249 session: use redis host constant in unit tests 2019-06-26 16:11:50 +08:00
Jake Dallimore 4f8912ac4e Merge branch 'MDL-65249-redis-catch-exception-after-retry-MOODLE_36_STABLE' of https://github.com/ilya-catalyst/moodle into MOODLE_36_STABLE 2019-06-26 14:50:24 +08:00
Jake Dallimore d3552b500f Merge branch 'MDL-60978-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-06-26 13:23:15 +08:00
AMOS bot 0af69b05b1 Automatically generated installer lang files 2019-06-26 00:09:35 +00:00
Eloy Lafuente (stronk7) f9d5f0bedc Merge branch 'MDL-65181-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-06-26 00:44:00 +02:00
David Mudrák ff0847e74b MDL-66003 lang: Use the updated strings in the tests 2019-06-25 22:07:44 +02:00
Helen Foster ec1f3ffb7a 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 22:06:14 +02:00
Arto Nieminen a63a6643e5 MDL-53778 quiz settings: Ensure that disabled checkboxes have value 0 2019-06-25 13:28:08 +03:00
Ilya Tregubov f7c13d3996 MDL-65249 Session: Throw exception if number of attempts exceeded. 2019-06-25 15:08:16 +10:00
Simey Lameze e39814b41a MDL-65707 calendar: behat scenario to test default event type 2019-06-25 10:07:00 +08:00
Simey Lameze b92a61734c MDL-65707 calendar: set the correct event type on site calendar 2019-06-25 10:01:02 +08:00
AMOS bot 79421e92f2 Automatically generated installer lang files 2019-06-25 00:09:26 +00:00
Eloy Lafuente (stronk7) 106294da28 Merge branch 'MDL-64340-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-06-25 00:54:10 +02:00
Bas Brands acb53bb1f0 MDL-64935 theme: prevent activitynavigation link overflowing container 2019-06-24 14:50:58 +02:00
Bas Brands 2dfa8e8d74 MDL-66001 block_myoverview: fix incorrect closing tag 2019-06-24 12:10:48 +02:00
Jake Dallimore f056ce4e0d Merge branch 'MDL-65893-36' of https://github.com/nicoroeser/moodle into MOODLE_36_STABLE 2019-06-24 11:42:53 +08:00
AMOS bot be3ed34e68 Automatically generated installer lang files 2019-06-24 00:08:25 +00:00
Mathew May d3c46e052e 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:57:33 +08:00
Jun Pataleta 5a0a757830 MDL-65965 behat: Map grouping for activity data generator 2019-06-21 15:41:04 +08:00
Jun Pataleta bdd0fce48d MDL-65965 availability: Behat test for activity grouping restriction 2019-06-21 15:41:04 +08:00
Andrew Nicols 8215efe451 MDL-60978 session: Run redis tests in isolation 2019-06-21 14:36:13 +08:00
Andrew Nicols af1a436b2b MDL-60978 testing: Support ability to run phpunit in isolated process 2019-06-21 14:36:13 +08:00
Shamim Rezaie ad8a4d8252 MDL-64340 mod_quiz: not display "add random question" when no permission 2019-06-21 08:53:57 +10:00
Eloy Lafuente (stronk7) 3cb2c5657a weekly release 3.6.4+ 2019-06-20 17:43:02 +02:00
Eloy Lafuente (stronk7) 1f1a74a431 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-06-20 17:42:58 +02:00
Juan Leyva 20a3b1b194 MDL-65973 calendar: Avoid sesskey checks in WS
External function submit_create_update_form should avoid any sesskey checks.
2019-06-20 15:59:24 +02:00
Jake Dallimore 99d4117301 Merge branch 'MDL-65084-m36' of https://github.com/NeillM/moodle into MOODLE_36_STABLE 2019-06-20 09:44:13 +08:00
Andrew Nicols 360920f41b Merge branch 'MDL-61319-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-06-20 08:11:07 +08:00
Eloy Lafuente (stronk7) 1d6b2c6e08 Merge branch 'MDL-64975-36' of https://github.com/nicoroeser/moodle into MOODLE_36_STABLE 2019-06-20 00:18:07 +02:00
Eloy Lafuente (stronk7) 15e212555e Merge branch 'MDL-65910-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-06-19 20:54:49 +02:00
Eloy Lafuente (stronk7) cde9e41fc2 Merge branch 'MDL-65665-36-2' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-06-19 20:29:52 +02:00
Eloy Lafuente (stronk7) 164c68f3e5 Merge branch 'MDL-65806-m36' of https://github.com/sammarshallou/moodle into MOODLE_36_STABLE 2019-06-19 18:27:29 +02:00
Eloy Lafuente (stronk7) a1069966fd Merge branch 'MDL-65864_36' of git://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-06-19 18:09:55 +02:00
Eloy Lafuente (stronk7) ba82320484 Merge branch 'MDL-55821-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-06-19 18:05:29 +02:00
Neill Magill e597b88315 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()
2019-06-19 09:06:17 +01:00
Neill Magill 662c071f65 MDL-65084 recent items: Test handling of deleted courses 2019-06-19 09:06:14 +01:00
Jake Dallimore 0243fd369b Merge branch 'MDL-65904-36' of git://github.com/merrill-oakland/moodle into MOODLE_36_STABLE 2019-06-19 15:03:12 +08:00
Tim Hunt 81b386b9ae MDL-57884 quiz: autosave should not send the value of submit buttons 2019-06-18 17:47:55 +01:00
Bas Brands 97bfff5c12 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:52:12 +02:00
M Kassaei b4bec70f7d 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:46:02 +08:00
AMOS bot e1255d9a68 Automatically generated installer lang files 2019-06-18 00:08:45 +00:00
Eloy Lafuente (stronk7) efb364d5ff Merge branch 'MDL-64383-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-06-17 23:03:07 +02:00
Shamim Rezaie 7f682a5392 MDL-65506 forms: get the correct value for advcheckbox fields in js 2019-06-16 17:10:10 +10:00
AMOS bot 8e7363baa6 Automatically generated installer lang files 2019-06-15 00:08:22 +00:00
Nicolas Roeser 3f40483351 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:03:07 +02:00
Paul Holden 11e1774de7 MDL-65181 mod_data: show required field indicator for textarea fields. 2019-06-14 09:55:28 +01:00
Nicolas Roeser c68f118e35 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:36:14 +02:00
Jun Pataleta fffbcd1641 MDL-65910 report_stats: Add stattype query condition for consistency 2019-06-14 13:01:41 +08:00
Mihail Geshoski fd7738bc17 MDL-65665 forum: WS does not respect subscribe on reply user preference 2019-06-14 08:47:55 +08:00
Mihail Geshoski 48efb6d287 MDL-65665 forum: Add unit test 2019-06-14 08:47:55 +08:00
Tim Hunt c82b6e01b1 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:02:05 +01:00
Eloy Lafuente (stronk7) 43c501a6da weekly release 3.6.4+ 2019-06-13 18:15:42 +02:00
Eloy Lafuente (stronk7) 99ed7c1161 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-06-13 18:15:40 +02:00
Andrew Nicols fe2bc7f69e Merge branch 'MDL-65814-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-06-13 11:44:53 +08:00
Jun Pataleta 176457450a MDL-65814 block_timeline: Bring back item counts for action events 2019-06-13 11:30:14 +08:00
Jun Pataleta 07caf1b933 Merge branch 'MDL-55997-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-06-13 10:28:49 +08:00
Peter fb4769c30a MDL-55997 core_reports: modify user stats query to fix duplicate rows 2019-06-13 07:46:12 +08:00
Eloy Lafuente (stronk7) 0e94568f01 Merge branch 'MDL-64484-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-06-12 20:08:28 +02:00
Eric Merrill d49423d131 MDL-65904 theme: Compile fallback css in the correct order 2019-06-12 13:09:18 -04:00
Paul Holden 3d61b21764 MDL-64484 user: cross-DB compatible profile field ordering. 2019-06-12 17:02:01 +01:00
Jun Pataleta 8b7c7ae5d2 Merge branch 'MDL-65803-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-06-12 13:58:39 +08:00
Andrew Nicols 939b429054 Merge branch 'MDL-65703-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-06-12 12:39:20 +08:00
Peter 086dd3c269 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:17:55 +08:00
Andrew Nicols 4b2d298d3e Merge branch 'MDL-65829_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-06-12 10:33:37 +08:00
Andrew Nicols 023a8a778f Merge branch 'MDL-64484-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-06-12 09:01:59 +08:00
sam marshall c4c0589a91 MDL-65806 Search: Solr does not find words in italic 2019-06-11 16:44:18 +01:00
Paul Holden 3703f2eec6 MDL-64484 user: show full profile field name in filter element. 2019-06-11 14:24:15 +01:00
Andrew Nicols ae6616a7b1 Merge branch 'MDL-65817_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-06-11 11:06:27 +08:00
Andrew Nicols da0762f95d Merge branch 'MDL-65183-MOODLE-36' of https://github.com/kristian-94/moodle into MOODLE_36_STABLE 2019-06-11 11:03:19 +08:00
Jun Pataleta 5a4937049c Merge branch 'MDL-55592-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-06-10 15:22:57 +08:00
Andrew Nicols 0380b49e1b Merge branch 'm36_MDL-61038_Fix_uuid_extensions_usage_v2' of https://github.com/scara/moodle into MOODLE_36_STABLE 2019-06-10 14:11:51 +08:00
Matteo Scaramuccia b7d9f9e827 MDL-61038 setuplib: Fixed PECL UUID extension support 2019-06-08 23:13:40 +02:00
AMOS bot 20227eee86 Automatically generated installer lang files 2019-06-07 00:09:56 +00:00
Kristian Ringer f203630918 MDL-65183 block_timeline: escape newline characters 2019-06-07 09:34:21 +10:00
Eloy Lafuente (stronk7) 92708b3f8b 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:06 +02:00
David Monllaó 48bb66e3d3 MDL-65829 analytics: Accept enrol start time after analysis time 2019-06-06 19:05:55 +02:00
Eloy Lafuente (stronk7) 4f64c3f57c weekly release 3.6.4+ 2019-06-06 16:46:45 +02:00
Eloy Lafuente (stronk7) 1575e0551d Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-06-06 16:46:43 +02:00
Damyon Wiese 3a37d96479 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:37 +08:00
Damyon Wiese 5a4f04c54f 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:34 +08:00
AMOS bot 3a4603871a Automatically generated installer lang files 2019-06-06 00:08:25 +00:00
Sara Arjona f447d028f7 Merge branch 'MDL-65777-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-06-05 09:01:20 +02:00
Mihail Geshoski 20d6fcf956 MDL-65777 assignment: Respect user full name in downloaded submissions 2019-06-05 11:14:59 +08:00
Adrian Greeve 115a493b7f Merge branch 'MDL-65731_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-06-05 10:42:17 +08:00
AMOS bot 200818f912 Automatically generated installer lang files 2019-06-05 00:08:27 +00:00
Eloy Lafuente (stronk7) 0eed941c68 Merge branch 'MDL-65689-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-06-04 23:32:30 +02:00
Eloy Lafuente (stronk7) 4295445828 Merge branch 'MDL-65576-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-06-04 21:40:12 +02:00
Eloy Lafuente (stronk7) 0cbc68d58b Merge branch 'm36_MDL-65686_Fix_Incorrect_Function_Call' of https://github.com/scara/moodle into MOODLE_36_STABLE 2019-06-04 20:05:14 +02:00
Simey Lameze 76162e5ed2 MDL-65703 calendar: do not add course param for site calendar 2019-06-04 19:37:50 +08:00
Andreas Grabs bc7a35db6a MDL-65703 core_calendar: fix user event type filtering logic 2019-06-04 19:37:49 +08:00
Jun Pataleta 792d9c26d3 Merge branch 'MDL-65696-MOODLE-36' of https://github.com/kristian-94/moodle into MOODLE_36_STABLE 2019-06-04 16:54:06 +08:00
AMOS bot 748d9bd512 Automatically generated installer lang files 2019-06-04 00:08:22 +00:00
Eloy Lafuente (stronk7) 7730b4b575 Merge branch 'MDL-63240-36' of https://github.com/Kathrin84/moodle into MOODLE_36_STABLE 2019-06-03 17:58:04 +02:00
AMOS bot 4e78dd9921 Automatically generated installer lang files 2019-06-03 00:08:25 +00:00
Kristian Ringer 2f3ac0e51c MDL-65696 assign: Fix width of editpdf comments 2019-06-03 09:28:25 +10:00
Andrew Nicols fecba4307a MDL-65576 behat: Reset Selenium driver between scorm scenarios 2019-05-31 08:09:25 +08:00
Eloy Lafuente (stronk7) 2e58ffbe4c MDL-64794 tcpdf: Bump to tcpdf 6.2.26 2019-05-30 23:48:36 +02:00
Matteo Scaramuccia 7bd829fa56 MDL-65686 setuplib: Fix missing round brackets 2019-05-30 22:43:04 +02:00
Eloy Lafuente (stronk7) 124ac3bcf7 weekly release 3.6.4+ 2019-05-30 12:18:32 +02:00
Eloy Lafuente (stronk7) 77d98b8215 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-05-30 12:18:29 +02:00
Tim Hunt 697de172a1 MDL-65731 quiz manual grading: fix ambiguous order by idnumber 2019-05-29 16:55:14 +01:00
Kathrin Osswald ebdc693048 MDL-63240 theme Boost: Removed z-indexes for border styling in navdrawer 2019-05-29 17:55:08 +02:00
Marina Glancy fd37432a6e MDL-65726 core_roles: allow to create roles in install.php 2019-05-29 10:44:32 +02:00
Damyon Wiese 4bafd61443 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:43 +08:00
Adrian Greeve ff6112f675 Merge branch 'MDL-57729-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-05-29 11:42:27 +08:00
Adrian Greeve fe4a9a28e4 Merge branch 'MDL-65726-36' of git://github.com/marinaglancy/moodle into MOODLE_36_STABLE 2019-05-29 11:08:42 +08:00
Mihail Geshoski 75dacc6329 MDL-57729 enrol_lti: Escape the property values of the xpath elements 2019-05-29 09:57:02 +08:00
Jake Dallimore 72436b5a0b Merge branch 'MDL-65326-MOODLE_36_STABLE' of https://github.com/dmitriim/moodle into MOODLE_36_STABLE 2019-05-29 09:35:39 +08:00
AMOS bot 8a01a9dbe6 Automatically generated installer lang files 2019-05-29 00:09:28 +00:00
Marina Glancy df597afcfb MDL-65726 role: do not fail unittest if plugins create their roles 2019-05-28 19:11:58 +02:00
Jake Dallimore 9131d460b8 Merge branch 'MDL-65657-36-int-fix-1' of https://github.com/ryanwyllie/moodle into MOODLE_36_STABLE 2019-05-28 14:06:34 +08:00
Ryan Wyllie 350cb520b8 MDL-65657 message: reduce message poll timer for behat tests 2019-05-28 13:36:16 +08:00
Jun Pataleta 3eec169ce6 Merge branch 'MDL-65697-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-05-28 13:31:01 +08:00
Dmitrii Metelkin 131da11055 MDL-65326 backup: check caps exist before assigning 2019-05-28 11:18:08 +10:00
Jun Pataleta 2273ca23ff Merge branch 'MDL-65606-36' of https://github.com/Chocolate-lightning/moodle into MOODLE_36_STABLE 2019-05-27 16:27:09 +08:00
Jake Dallimore 814c969f70 Merge branch 'MDL-64330-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-05-27 15:24:02 +08:00
Andrew Nicols 18d595089b MDL-64330 course: Correct course test assumptions 2019-05-27 15:08:48 +08:00
Jake Dallimore 600166489c Merge branch 'MDL-65657-36' of https://github.com/ryanwyllie/moodle into MOODLE_36_STABLE 2019-05-27 13:31:57 +08:00
Mathew May 1b3bb25b6a MDL-65606 mod_data: Add approvalstatusclass to template 2019-05-27 13:13:19 +08:00
Ryan Wyllie 4c74b7d17b MDL-65657 message: revert polling timeout back to old algorithm 2019-05-27 11:59:02 +08:00
Adrian Greeve 183bce3a77 Merge branch 'MDL-64523-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-05-27 10:50:44 +08:00
AMOS bot 0b92419829 Automatically generated installer lang files 2019-05-25 00:08:42 +00:00
Shamim Rezaie 42ce94472f MDL-65689 task: fix typo in help string 2019-05-25 05:19:49 +10:00
Shamim Rezaie e011a40e21 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:28:05 +10:00
Shamim Rezaie d69e87b2ba MDL-64523 core_access: Fix js racing issue when overriding permissions 2019-05-25 04:28:05 +10:00
Shamim Rezaie ec5d9e968a MDL-64523 core_access: Improve the title of the delete role links 2019-05-25 04:28:05 +10:00
Sara Arjona bc6bb763aa Merge branch 'MDL-65060-36' of git://github.com/aanabit/moodle into MOODLE_36_STABLE 2019-05-24 12:35:39 +02:00
Amaia Anabitarte 8f03499b61 MDL-65060 core_message: Delete messages behat test 2019-05-24 12:15:14 +02:00
AMOS bot 0e2dec33de Automatically generated installer lang files 2019-05-24 00:15:15 +00:00
Simey Lameze c62871aa9d MDL-65697 qtype_missingtype: include missing class 2019-05-24 07:02:20 +08:00
Eloy Lafuente (stronk7) baebbcc341 weekly release 3.6.4+ 2019-05-23 20:35:26 +02:00
Eloy Lafuente (stronk7) 66eca74041 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-05-23 20:35:24 +02:00
Amaia Anabitarte 9ee809d685 MDL-65060 core_message: Group message data generator 2019-05-23 15:35:11 +02:00
Jun Pataleta 40acd3985c Merge branch 'MDL-55197_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-05-23 11:58:07 +08:00
Andrew Nicols ae0fc8eef2 Merge branch 'MDL-59650-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-05-23 10:29:18 +08:00
Adrian Greeve f467121ce0 Merge branch 'MDL-65549_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-05-23 10:11:27 +08:00
Adrian Greeve e793a8e368 Merge branch 'MDL-65634_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-05-23 09:55:59 +08:00
Andrew Nicols d4fe51c7d7 Merge branch 'MDL-65654-36' of https://github.com/danielneis/moodle into MOODLE_36_STABLE 2019-05-23 09:49:01 +08:00
AMOS bot a97610ac5b Automatically generated installer lang files 2019-05-23 00:12:53 +00:00
Jun Pataleta 92a8b46a79 Merge branch 'MDL-65636_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-05-22 19:35:59 +08:00
Tim Hunt 0925ecdbd4 MDL-55197 filter_multilang: handle 'en' as parent lang better 2019-05-22 11:17:59 +01:00
Tim Hunt 0bff3507f7 MDL-55197 filter_multilang: move preg_callback fn into class 2019-05-22 11:12:06 +01:00
Tim Hunt 957e78388a 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 11:04:07 +01:00
Adrian Greeve 3377d26e2a Merge branch 'MDL-65067_36' of https://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-05-22 16:32:03 +08:00
Paul Holden d3f44d65d3 MDL-64784 core: update tablelib tests for explicit sort direction. 2019-05-22 14:50:52 +08:00
Paul Holden 3853eb7bb8 MDL-64784 core: consistent column sort direction in flexible_table. 2019-05-22 14:50:45 +08:00
Andrew Nicols a41c7cd69a Merge branch 'MDL-65630-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-05-22 09:41:34 +08:00
Daniel Neis Araujo ecc9ffd797 MDL-65654 tool_uploaduser: Fix undefined variable warning 2019-05-21 14:01:24 -03:00
David Monllaó 1928283c91 MDL-65549 tool_analytics: Reduce the context name length in models_view 2019-05-21 17:34:51 +02:00
David Monllaó 474e5c539d MDL-65634 analytics: Discard late and early student enrolments 2019-05-21 17:22:41 +02:00
Sara Arjona 7074cdc2c8 Merge branch 'MDL-65605-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-05-21 13:47:55 +02:00
Amaia Anabitarte 9772b2e138 MDL-65060 core_message: Group_message_message_content selector 2019-05-21 13:16:53 +02:00
Ryan Wyllie ad4aad6c29 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-21 13:05:17 +02:00
Jun Pataleta aad80c974d Merge branch 'MDL-65274-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-05-21 18:49:17 +08:00
Jun Pataleta 20025aadf5 Merge branch 'MDL-60407-36' of git://github.com/vmdef/moodle into MOODLE_36_STABLE 2019-05-21 18:44:39 +08:00
Juan Leyva df6a6ed97e 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-21 10:41:04 +02:00
Simey Lameze ec67afb944 MDL-59650 core_calendar: remove limit from calendar UI 2019-05-21 15:23:20 +08:00
Simey Lameze bdd12dc368 MDL-59650 core_calendar: remove limit from event exporter 2019-05-21 15:23:20 +08:00
Adrian Greeve 3f1e909ae8 Merge branch 'MDL-65572-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-05-21 15:21:44 +08:00
AMOS bot 060e6702e7 Automatically generated installer lang files 2019-05-21 00:12:55 +00:00
AMOS bot 14a8a5d649 Automatically generated installer lang files 2019-05-21 00:12:55 +00:00
Shamim Rezaie f7ced50b6b MDL-65630 mod_quiz: Allow redo within an attempt with random questions 2019-05-20 23:50:34 +10:00
Shamim Rezaie b90ac61667 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:34 +10:00
Shamim Rezaie 9cc1dfda95 MDL-65605 core_question: Fix the issue when get_draft_files returns nul 2019-05-20 23:49:25 +10:00
Shamim Rezaie f29ba322b8 MDL-65605 mod_lesson: Fix the issue when get_draft_files returns null 2019-05-20 23:49:25 +10:00
Damyon Wiese 1ad4891169 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:30 +08:00
Eloy Lafuente (stronk7) 89722fc4d9 weekly release 3.6.4+ 2019-05-19 11:17:45 +02:00
Eloy Lafuente (stronk7) 43a40d987c Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-05-19 11:17:42 +02:00
Eloy Lafuente (stronk7) e316048830 Merge branch 'MDL-65641_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-05-19 10:25:46 +02:00
Eloy Lafuente (stronk7) 3083a5a80d 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:06:36 +02:00
AMOS bot 7a79046285 Automatically generated installer lang files 2019-05-18 00:12:38 +00:00
David Monllaó 7ad4cd3728 MDL-65067 tool_analytics: Limit update_end_date to format_weeks 2019-05-17 17:01:45 +02:00
Didier 'OdyX' Raboud 940608f34f 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-17 16:59:28 +02:00
AMOS bot 60a9b9736d Automatically generated installer lang files 2019-05-17 00:14:30 +00:00
Eloy Lafuente (stronk7) 6e65843268 weekly release 3.6.4+ 2019-05-16 10:56:53 +02:00
Sara Arjona ede4c60b54 Merge branch 'MDL-65596-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-05-15 14:19:56 +02:00
Bas Brands ed674e43c2 MDL-65596 core_message: dropdown menu blocked by contact request message 2019-05-14 13:27:11 +02:00
Sara Arjona f47a36f707 weekly release 3.6.4+ 2019-05-14 13:21:45 +02:00
Víctor Déniz Falcón d8e0afc38a 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-14 09:17:20 +01:00
Sara Arjona d305985604 Merge branch 'MDL-65581-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-05-13 21:19:27 +02:00
Bas Brands ca8cf5444e 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:29:48 +02:00
Eloy Lafuente (stronk7) 4972dd43dd Moodle release 3.6.4 2019-05-11 23:17:47 +02:00
Eloy Lafuente (stronk7) 2f1ed94388 weekly release 3.6.3+ 2019-05-10 20:31:19 +02:00
Eloy Lafuente (stronk7) f49a92efa5 Merge branch 'MDL-65537-36-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-05-10 20:08:45 +02:00
David Mudrák 7fb7ab13dc MDL-65537 lang: Use fixed strings in tests, too 2019-05-10 16:12:10 +02:00
Helen Foster 34d9787dec MDL-65537 lang: Import fixed English strings (en_fix) 2019-05-10 16:11:45 +02:00
Eloy Lafuente (stronk7) d890ed6adf Merge branch 'MDL-65558-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-05-10 11:30:10 +02:00
Jun Pataleta ed10f401df Merge branch 'MDL-65540-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-05-10 15:58:46 +08:00
Andrew Nicols df5e6e00fb MDL-65558 enrol_database: use , as port separator 2019-05-10 12:24:42 +08:00
Andrew Nicols 84eed6a5a4 MDL-65558 auth_db: use , as port separator 2019-05-10 12:24:42 +08:00
Andrew Nicols cb857db4f2 MDL-63959 feedback: Adjust unit test for perf 2019-05-10 11:42:51 +08:00
Andrew Nicols ff2435d89c Merge branch 'MDL-63959-36' of git://github.com/tobiasreischmann/moodle into MOODLE_36_STABLE 2019-05-10 11:41:47 +08:00
Shamim Rezaie 111bca500e MDL-65540 core_search: Explicit component name in the str helper 2019-05-10 08:07:31 +08:00
Shamim Rezaie 4701196ce8 MDL-65540 tool_dataprivacy: Explicit component name in the str helper 2019-05-10 08:07:27 +08:00
Eloy Lafuente (stronk7) 8d4f985112 Merge branch 'MDL-65197-36' of https://github.com/paulholden/moodle into MOODLE_36_STABLE 2019-05-09 20:02:38 +02:00
Eloy Lafuente (stronk7) ac3f1bdecd Merge branch 'MDL-29320-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-05-09 19:49:48 +02:00
Jun Pataleta 953195bf38 Merge branch 'MDL-65445_36-qtype_ddwtos' of https://github.com/jonof/moodle into MOODLE_36_STABLE 2019-05-09 15:58:36 +08:00
Andrew Nicols fa6a5a4b29 Merge branch 'MDL-65479_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-05-09 15:17:01 +08:00
Andrew Nicols 6be75c49ec Merge branch 'MDL-65435_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-05-09 14:51:36 +08:00
Jun Pataleta 5d9bf8fe28 Merge branch 'MDL-65141-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-05-09 12:27:39 +08:00
Adrian Greeve c1143b3932 Merge branch 'MDL-58315_36_boost_block_classes' of https://github.com/zpottie/moodle into MOODLE_36_STABLE 2019-05-09 11:33:40 +08:00
Adrian Greeve e2df9eabc5 Merge branch 'MDL-65387-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-05-09 11:23:44 +08:00
Eloy Lafuente (stronk7) 42481b9ca0 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:23:00 +02:00
Luca Bösch ecd0e011ee MDL-65387 dataformats: Table download formats choose pulldown style. 2019-05-08 20:21:33 +02:00
Eloy Lafuente (stronk7) e82c80f706 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:27:21 +02:00
Michael Hawkins a8c51871f4 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:56:47 +02:00
Dan Marsden d5067bffd2 MDL-64708 cohort: Return url is not used anywhere in core. 2019-05-08 17:56:47 +02:00
Mark Nelson a3d19efab4 MDL-65365 core_message: prevent users from viewing all conversations 2019-05-08 17:56:47 +02:00
Eloy Lafuente (stronk7) 888f55e41e weekly release 3.6.3+ 2019-05-08 17:48:46 +02:00
Adrian Greeve f22174be37 Merge branch 'MDL-65484-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-05-08 17:38:32 +02:00
Andrew Nicols eff5fd4984 Merge branch 'MDL-35396-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-05-08 17:38:28 +02:00
Damyon Wiese 09543c0123 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:21:33 +08:00
Mihail Geshoski 29924b65e3 MDL-35396 lesson: Fix detailed statistics display for essay questions 2019-05-07 13:59:23 +08:00
Jun Pataleta 7819b928b1 Merge branch 'MDL-65313-36-fix' of https://github.com/snake/moodle into MOODLE_36_STABLE 2019-05-07 11:25:53 +08:00
Jake Dallimore 151fc538de MDL-65313 core: fix deletion of group conversation favourites
This now requires itemid, which cannot be null. This is safer. The
context is still used an an additional filter.
2019-05-07 11:03:28 +08:00
Jun Pataleta 391d53f871 Merge branch 'MDL-65153-36-fix1' of http://github.com/damyon/moodle into MOODLE_36_STABLE 2019-05-07 10:08:39 +08:00
Damyon Wiese 64f1f9ed5a MDL-65153 competencies: course competencies page
The webservice to fetch the data for the course competencies page requires the
pluginbaseurl to be set.
2019-05-07 10:02:29 +08:00
Sara Arjona c6631a119c MDL-65313 core_favourite: fix issue with groups_delete_group 2019-05-06 13:03:02 +02:00
Sara Arjona 6af01fb2e4 Merge branch 'MDL-65374-36' of https://github.com/lucaboesch/moodle into
MOODLE_36_STABLE
2019-05-06 12:09:31 +02:00
Jun Pataleta 83af30b285 MDL-65313 core: Fix orphaned favourites cleanup 2019-05-06 16:48:43 +08:00
Jun Pataleta 37858eb4a8 Merge branch 'MDL-65399-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-05-06 16:26:34 +08:00
Sara Arjona 569b5eeac1 Merge branch 'MDL-65396-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-05-06 10:20:07 +02:00
Jun Pataleta 43a538205f Merge branch 'MDL-65153-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-05-06 16:13:51 +08:00
Shamim Rezaie 5557ec004c MDL-65399 mod_quiz: Handling the edge case when section name is '' 2019-05-06 18:13:42 +10:00
Shamim Rezaie fe3d98f0a0 MDL-65399 mod_quiz: UI should prevent deleting the last slot of section 2019-05-06 18:13:41 +10:00
Shamim Rezaie 2b9c3f1089 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 18:13:41 +10:00
Shamim Rezaie e6b2cb22d0 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 18:13:40 +10:00
Jun Pataleta 6f1ffbdf1f Merge branch 'MDL-65313-36' of https://github.com/snake/moodle into MOODLE_36_STABLE 2019-05-06 16:02:10 +08:00
Adrian Greeve 65faf38134 Merge branch 'MDL-64968-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-05-06 15:59:10 +08:00
Jake Dallimore a3b8e03c1c 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:14:38 +08:00
Jake Dallimore daea8b596f MDL-65313 core: delete relevant favourites when deleting a conversation 2019-05-06 14:13:24 +08:00
Adrian Greeve 84d3af595b Merge branch 'MDL-65104-36' of git://git.cameron1729.xyz/moodle into MOODLE_36_STABLE 2019-05-06 11:59:27 +08:00
Adrian Greeve a402077cf2 Merge branch 'MDL-65296_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-05-06 11:03:17 +08:00
Jake Dallimore d199355889 Merge branch 'MDL-64988-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-05-06 10:34:31 +08:00
Luca Bösch bdf593e235 MDL-65396 theme_boost: Style duration chooser pulldown select. 2019-05-04 11:02:01 +02:00
Luca Bösch 2ca8477af4 MDL-65374 core_grades: style "Move selected items to" pulldown. 2019-05-04 11:01:50 +02:00
Luca Bösch 947a322df7 MDL-64968 mod_lesson: Style "Yes, I'd like to try again" button. 2019-05-04 11:01:43 +02:00
Eloy Lafuente (stronk7) 0442f44049 weekly release 3.6.3+ 2019-05-03 17:52:10 +02:00
Shamim Rezaie 43b55f1354 MDL-64988 mod_quiz: Fix questions always being added to the last section 2019-05-03 20:19:33 +10:00
zpottie 24bcd5b772 MDL-58315 core: Add support for custom block classes in Boost 2019-05-03 16:14:31 +12:00
Alexander Bias 07c0e0e090 MDL-65157 core_completion: no progress for untracked users
This is a backport of the code from MDL-64898 by Dmitrii Metelkin to Moodle 3.6
2019-05-03 11:54:15 +08:00
Andrew Nicols dde68b8c47 Merge branch 'MDL-65299_boost_theme-colors_override_M36' of https://github.com/Dave-B/moodle into MOODLE_36_STABLE 2019-05-03 11:12:53 +08:00
Adrian Greeve 2b918bc767 Merge branch 'MDL-64851-36' of https://github.com/s-cenni/MDL-64851 into MOODLE_36_STABLE 2019-05-03 10:44:50 +08:00
Jake Dallimore f411cdd29a Merge branch 'MDL-65134-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-05-03 10:05:42 +08:00
Andrew Nicols f3b6ddec28 Merge branch 'MDL-65262-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-05-03 10:02:54 +08:00
Simey Lameze 091cad4be8 MDL-65262 core_calendar: change location param type 2019-05-03 09:43:02 +08:00
Andrew Nicols d941f7a2bd Merge branch 'MDL-64394-accesslog-MOODLE_36_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_36_STABLE 2019-05-03 08:50:26 +08:00
Sara Arjona cf91bb38cf MDL-65169 core_message: remove extra line at the end 2019-05-02 15:44:48 +02:00
Sara Arjona c487276abc Merge branch 'MDL-65169-36' of https://github.com/snake/moodle into MOODLE_36_STABLE 2019-05-02 15:29:22 +02:00
Andrew Nicols 687af3bae7 MDL-65447 theme: Apply pendingJS checks to BS transitions 2019-05-02 13:34:25 +02:00
Jun Pataleta 525db9e050 Merge branch 'MDL-65411-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-05-02 17:02:43 +08:00
Ryan Wyllie 07d60fe334 MDL-65134 core_message: Introduce event specific function
Introduced an event specific formatting function.
Additional catch on render fn calls
2019-05-02 16:24:13 +08:00
Peter 3a7b1b4d6e 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-05-02 16:17:54 +08:00
Jun Pataleta 3332b5ed21 Merge branch 'MDL-65446-36' of https://github.com/ryanwyllie/moodle into MOODLE_36_STABLE 2019-05-02 15:01:14 +08:00
Jake Dallimore f05770656d Merge branch 'MDL-64439-MOODLE_36_STABLE' of https://github.com/ilya-catalyst/moodle into MOODLE_36_STABLE 2019-05-02 14:52:39 +08:00
Jun Pataleta 61dec4c904 Merge branch 'MDL-65273-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-05-01 17:25:12 +08:00
Paul Holden e7bc8b35ee MDL-65197 editor: handle empty user preference in privacy export. 2019-05-01 09:53:32 +01:00
Jun Pataleta 17a25fbe04 Merge branch 'MDL-65250_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-05-01 16:04:12 +08:00
Luca Bösch 168ac5c80a MDL-65273 roles: Roles permissions buttons styles. 2019-05-01 09:28:32 +02:00
Adrian Greeve b0d6391ab7 Merge branch 'MDL-65149-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-05-01 14:59:26 +08:00
Adrian Greeve c74b156127 Merge branch 'MDL-64959_36_STABLE' of https://github.com/abhimanyuZ/moodle into MOODLE_36_STABLE 2019-05-01 14:31:12 +08:00
Adrian Greeve a11e641a3a Merge branch 'MDL-65031-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-05-01 14:05:00 +08:00
Adrian Greeve 832292c29e Merge branch 'MDL-65178-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-05-01 11:57:52 +08:00
Simey Lameze f5dedb71e1 MDL-65411 core_calendar: wrap long description text 2019-05-01 09:55:13 +08:00
Jake Dallimore e7e5880c0f Merge branch 'MDL-60851-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-05-01 09:33:14 +08:00
Damyon Wiese 4d6a6fb033 MDL-60851 backup: coding style fixes 2019-05-01 08:51:22 +08:00
Damyon Wiese f86abcf932 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:51:22 +08:00
Damyon Wiese 42c6dadcd4 MDL-60851 backup: Fix undefined $value 2019-05-01 08:51:22 +08:00
Damyon Wiese cb49d89ba4 MDL-60851 backup: More unit tests for dependencies 2019-05-01 08:51:22 +08:00
Eloy Lafuente (stronk7) f2c4f5cd07 Merge branch 'MDL-65397-36-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-05-01 01:43:03 +02:00
Eloy Lafuente (stronk7) 3bbf743330 weekly release 3.6.3+ 2019-05-01 00:28:47 +02:00
Eloy Lafuente (stronk7) edad20f8e4 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-05-01 00:28:45 +02:00
Juan Leyva 9c5af7f9ec MDL-65141 tool_mobile: Return all the language translations 2019-04-30 15:25:39 +02:00
Jun Pataleta 9a6022b235 MDL-29320 user: Make email query case-insensitive 2019-04-30 16:21:25 +08:00
Jun Pataleta 90f26d99ab 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:21:25 +08:00
Jun Pataleta 35ed170068 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 16:21:25 +08:00
Tobias Reischmann c106bcfc54 MDL-63959 mod_feedback: Add phpunit tests for get_pages in completion 2019-04-30 07:57:17 +02:00
Zoltán Szarvas f4e974d2fc 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-30 07:57:16 +02:00
Ryan Wyllie 9075a96e5d MDL-65446 admin: fix admin email option for cli install 2019-04-30 13:35:43 +08:00
Jake Dallimore a1afcb2e7a 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:26:40 +08:00
Jonathon Fowler ed35b34461 MDL-65445 qtype_ddwtos: reposition draggables when the drops move 2019-04-30 12:47:04 +10:00
Jake Dallimore baa7be6a86 MDL-65169 core_message: add behat step allowing searching for a string
New step: 'I search for "xx" in messaging'.
2019-04-30 10:40:48 +08:00
Eloy Lafuente (stronk7) acc98001f0 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 08:50:12 +08:00
AMOS bot e1282ad929 Automatically generated installer lang files 2019-04-30 00:12:26 +00:00
Eloy Lafuente (stronk7) e24d2a78e5 Merge branch 'MDL-65293-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-04-29 22:46:05 +02:00
Eloy Lafuente (stronk7) 7cc659b2b9 Merge branch 'MDL-65439-36' of git://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-04-29 22:41:59 +02:00
Eloy Lafuente (stronk7) 030ed9e798 Merge branch 'MDL-63137-36' of git://github.com/aanabit/moodle into MOODLE_36_STABLE 2019-04-29 20:10:51 +02:00
cescobedo 98c19db4c4 MDL-65439 core_message: Behat tests for manage preferences 2019-04-29 13:28:31 +02:00
cescobedo 344f8adeed MDL-65439 core_message: New step to open settings preferences 2019-04-29 13:20:39 +02:00
Helen Foster 506317da3a 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
2019-04-29 11:45:16 +02:00
Jun Pataleta 1e8361252d Merge branch 'MDL-65279-36' of https://github.com/tkorner/moodle into MOODLE_36_STABLE 2019-04-29 17:09:20 +08:00
Sara Arjona d437812525 Merge branch 'MDL-64702-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-04-29 08:42:44 +02:00
Jun Pataleta 87f24237dc Merge branch 'MDL-65206-36' of git://github.com/tobiasreischmann/moodle into MOODLE_36_STABLE 2019-04-29 12:44:43 +08:00
AMOS bot 927c441b10 Automatically generated installer lang files 2019-04-27 00:12:43 +00:00
Eloy Lafuente (stronk7) 138460e98b weekly release 3.6.3+ 2019-04-26 18:41:15 +02:00
Amaia Anabitarte c42a9a49b4 MDL-63137 mod_feedback: PHPUnit tests for new userid parameter 2019-04-26 17:33:14 +02:00
Amaia Anabitarte 3f80870619 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:33:14 +02:00
Amaia Anabitarte 9c52e5ea99 MDL-63137 mod_feedback: Pointing TODO tasks to right deprecation issue 2019-04-26 17:33:14 +02:00
Sara Arjona cafb171c3a Merge branch 'MDL-64676-36-fix' of https://github.com/snake/moodle into MOODLE_36_STABLE 2019-04-26 11:50:40 +02:00
Jake Dallimore e8b9a60126 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:59:26 +08:00
Damyon Wiese 748117eb47 MDL-64702 badges: Add missing data to backup
Backup and restore of badges is missing data:
* related badges
* alignments
* endorsement

Also added to "clone" (duplicate a badge).
2019-04-26 09:38:37 +08:00
Eloy Lafuente (stronk7) 6c948829cd MDL-60418 Behat: Fix missing $installurl 2019-04-25 23:38:58 +02:00
Eloy Lafuente (stronk7) 605d3e8d98 Merge branch 'MDL-60418_36' of git://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-04-25 23:26:06 +02:00
Tim Hunt ba61f2f91b MDL-60418 Behat: Fix broken docs links in Behat code. 2019-04-25 21:39:27 +01:00
David Monllaó 8cd7ebf239 Merge branch 'MDL-64673-36' of git://github.com/aanabit/moodle into MOODLE_36_STABLE 2019-04-25 18:41:46 +02:00
Amaia Anabitarte eae54c38f7 MDL-64673 core_message: Modifying group_messate_tab xpath 2019-04-25 10:07:53 +02:00
Eloy Lafuente (stronk7) 6bfe5a229d Merge branch 'MDL-65170-36' of https://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-04-24 20:37:23 +02:00
David Monllaó 937b5c4c69 Merge branch 'MDL-64672-36' of git://github.com/aanabit/moodle into MOODLE_36_STABLE 2019-04-24 20:07:06 +02:00
Sara Arjona cab2c6ed9b 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:53:17 +02:00
Amaia Anabitarte 808c1d1407 MDL-64673 core_message: Starring conversations behat test 2019-04-24 18:16:24 +02:00
Amaia Anabitarte 6a6da30b4d MDL-64666 core_message: Favourite private conversations data generator 2019-04-24 18:16:24 +02:00
David Monllaó 5413077874 Merge branch 'MDL-64985-36' of git://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-04-24 18:13:56 +02:00
David Monllaó 6ffae61d70 Merge branch 'MDL-64666-36' of git://github.com/aanabit/moodle into MOODLE_36_STABLE 2019-04-24 18:07:50 +02:00
Sara Arjona ab20b56894 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 18:04:34 +02:00
Sara Arjona e2d400a136 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 18:04:27 +02:00
Sara Arjona 0f7c44657e 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 18:04:20 +02:00
Amaia Anabitarte 4c9c07a855 MDL-64666 core_message: New behat test for delete conversation 2019-04-24 17:43:52 +02:00
Amaia Anabitarte 7e60d9f35f MDL-64666 core_message: Favourite private conversations data generator 2019-04-24 17:43:52 +02:00
Eloy Lafuente (stronk7) 25e6630c5d Merge branch 'MDL-64267-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-04-24 15:23:37 +02:00
Eloy Lafuente (stronk7) d4f2b45455 Merge branch 'MDL-64151-36-fix' of https://github.com/marinaglancy/moodle into MOODLE_36_STABLE 2019-04-24 12:49:27 +02:00
Bas Brands bc270ce303 MDL-64267 core_message: fix z-index on sticky positioned notification 2019-04-24 11:58:45 +02:00
Marina Glancy 90667b82e8 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:40:39 +02:00
Jake Dallimore 09d7853909 Merge branch 'MDL-64267-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-04-24 16:55:19 +08:00
Amaia Anabitarte 179f527ae3 MDL-64672 core_message: Behat tests for unread messages 2019-04-24 10:00:52 +02:00
Amaia Anabitarte e2c4522e8c MDL-64666 core_message: Favourite private conversations data generator 2019-04-24 10:00:52 +02:00
Bas Brands 57ec34a9cc MDL-64267 core_message: sticky positioning of contact request info 2019-04-24 09:31:38 +02:00
Tobias Reischmann 7d02fe560a 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:31:37 +02:00
Tobias Reischmann 408efe43c5 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:31:37 +02:00
Sara Arjona ea210f78e4 Merge branch 'MDL-65170-36' of https://github.com/snake/moodle into MOODLE_36_STABLE 2019-04-24 09:02:35 +02:00
Adrian Greeve debc37f3c2 Merge branch 'MDL-65375-m36' of https://github.com/sammarshallou/moodle into MOODLE_36_STABLE 2019-04-24 10:30:22 +08:00
Adrian Greeve e642c550c4 Merge branch 'MDL-65308_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-04-24 09:28:41 +08:00
Eloy Lafuente (stronk7) dfc4176c4a Merge branch 'MDL-64676-36' of https://github.com/aanabit/moodle into MOODLE_36_STABLE 2019-04-23 19:48:42 +02:00
Eloy Lafuente (stronk7) 796a7c9b67 Merge branch 'MDL-64151-36' of git://github.com/marinaglancy/moodle into MOODLE_36_STABLE 2019-04-23 19:38:40 +02:00
Eloy Lafuente (stronk7) 972146bb1e weekly release 3.6.3+ 2019-04-23 17:36:27 +02:00
David Monllaó eaba78a8b2 Merge branch 'MDL-64102-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-04-23 13:34:06 +02:00
David Monllaó e9a8d6e781 Merge branch 'MDL-65102-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-04-23 13:34:03 +02:00
Damyon Wiese da59e61407 MDL-64702 badges: Add to privacy
Add endorsement, related badges and alignment to privacy export.
2019-04-23 11:15:32 +08:00
Eloy Lafuente (stronk7) 7bdb7736b3 weekly release 3.6.3+ 2019-04-23 11:15:32 +08:00
AMOS bot dfd771cddb Automatically generated installer lang files 2019-04-23 11:15:31 +08:00
sam marshall 2327fedbea MDL-65375 Restore: Null data in other field should be serialised
If the 'other' field is empty, then following a restore of course
logs, it should still be serialised so that it is consistent with
the normal behaviour when logging.

Without this change, an event with null value for other has the
field set to NULL if you restore it, but 'N;' when the event is
initially created.
2019-04-18 15:04:18 +01:00
Adrian Greeve 5c0c0f1ceb Merge branch 'MDL-29318-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-04-18 13:49:52 +08:00
Eloy Lafuente (stronk7) 2711a4013a weekly release 3.6.3+ 2019-04-17 20:04:27 +02:00
Eloy Lafuente (stronk7) 5e650c09fc Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-04-17 20:04:23 +02:00
Eloy Lafuente (stronk7) f62ab50109 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 02:13:40 +02:00
AMOS bot 85e6250179 Automatically generated installer lang files 2019-04-13 00:13:21 +00:00
Eloy Lafuente (stronk7) 808a369677 weekly release 3.6.3+ 2019-04-12 21:35:15 +02:00
Eloy Lafuente (stronk7) 29e6d9d9eb Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-04-12 21:35:13 +02:00
Jake Dallimore 604796406c Merge branch 'MDL-62974-36' of github.com:abgreeve/moodle into MOODLE_36_STABLE 2019-04-12 11:17:50 +08:00
Adrian Greeve 25f240bd6f MDL-62974 mod_lesson: Minor update to html class. 2019-04-12 11:08:46 +08:00
Eloy Lafuente (stronk7) 29c5b2b01f Merge branch 'MDL-62974-36' of https://github.com/jmvedrine/moodle into MOODLE_36_STABLE 2019-04-11 23:50:07 +02:00
Marina Glancy dd971a0a45 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 16:46:40 +02:00
Sara Cenni 0a1a11aae4 MDL-64851 badge: reviewing badges of invisible courses 2019-04-11 13:29:57 +02:00
Adrian Greeve a017a672bb Merge branch 'MDL-64719-purge_user_cache-36' of git://github.com/leonstr/moodle into MOODLE_36_STABLE 2019-04-11 13:39:16 +08:00
David Balch 0df5a25aca MDL-65299 Boost: Allow default.scss theme-colors override. 2019-04-10 14:13:18 +00:00
Adrian Greeve 39a920802e Merge branch 'MDL-46975-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-04-10 14:25:30 +08:00
AMOS bot 23d1362718 Merge branch 'MOODLE_36_STABLE' into install_36_STABLE 2019-04-10 00:12:20 +00:00
Jean-Michel Vedrine 58b6b184b3 MDL-62974 lesson: Suppress HTML font tags 2019-04-09 22:58:13 +02:00
Eloy Lafuente (stronk7) dcaa783741 weekly release 3.6.3+ 2019-04-09 20:37:08 +02:00
Eloy Lafuente (stronk7) ad55a7047e Merge branch 'MDL-64819-36' of https://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-04-09 16:03:25 +02:00
Sara Arjona 550c3afcd8 MDL-64819 course: fix behat errors with the move icon
Some errors have been detected when using Clean + Goutte.
2019-04-09 14:13:56 +02:00
AMOS bot efcf91a9a1 Automatically generated installer lang files 2019-04-09 00:11:24 +00:00
AMOS bot 04a30bd4df Automatically generated installer lang files 2019-04-09 00:11:24 +00:00
Amaia Anabitarte eeb0c2f410 MDL-64676 core_message: Fix old behat tests affected by new messaging 2019-04-08 19:49:56 +02:00
Sara Arjona 4831903987 Merge branch 'MDL-64819-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-04-08 14:20:41 +02:00
Tim Hunt 991ecfec28 MDL-65296 questions: field should be declared
It was already being set, but IDE autocomplete etc did not know that.
2019-04-08 12:24:49 +01:00
Sara Arjona f32bb17861 Merge branch 'MDL-64669-36' of git://github.com/aanabit/moodle into MOODLE_36_STABLE 2019-04-08 13:12:49 +02:00
Bas Brands 828b40dca1 MDL-64102 core_message: add message tails to match ux design 2019-04-08 12:37:22 +02:00
Adrian Greeve 01872fd505 Merge branch 'MDL-65218-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-04-08 16:55:10 +08:00
Amaia Anabitarte a64fdeacd8 MDL-64669 core_message: Waiting for buttons to hide before login out 2019-04-08 10:25:02 +02:00
Amaia Anabitarte 1118af2a3b MDL-64669 core_message: New steps and selectors for messaging 2019-04-08 10:24:35 +02:00
Amaia Anabitarte 018aecdeb5 MDL-64669 core_message: Behat tests for send messages 2019-04-08 10:24:35 +02:00
Damyon Wiese fadc44f298 MDL-64819 output: Hide icons with no title
When output from javascript they should match what gets output from php.
2019-04-08 15:41:18 +08:00
Shamim Rezaie 1987a409b8 MDL-65293 core_calendar: Privacy deletion fix
Deleting in course context should not delete from course modules
2019-04-08 15:39:36 +10:00
Jake Dallimore b93b0d6355 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:04:54 +08:00
Jake Dallimore e3b664447b 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:04:54 +08:00
Eloy Lafuente (stronk7) 6155dd23d2 weekly release 3.6.3+ 2019-04-05 18:32:39 +02:00
Thomas Korner 0553a6d90c MDL-65279 core: typo in categoriesandcourses fixed
AMOS BEGIN
 MOV [categoriesandcoures,core],[categoriesandcourses,core]
AMOS END
2019-04-05 14:36:27 +02:00
Damyon Wiese 9223d556fb MDL-64819 output: Activity menu icons
Remove duplciate alt text from activity menu icons and the links to add new sections.
2019-04-05 12:02:56 +08:00
Eloy Lafuente (stronk7) 8e1ab8a382 Merge branch 'MDL-65029_36' of git://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-04-05 00:40:38 +02:00
Eloy Lafuente (stronk7) 4cb5500048 Merge branch 'MDL-65127-36' of git://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-04-05 00:13:10 +02:00
Eloy Lafuente (stronk7) 9cc403d680 Merge branch 'MDL-65094-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-04-04 22:38:29 +02:00
Eloy Lafuente (stronk7) 8d98d2c9fd Merge branch 'MDL-65038_MOODLE_36_STABLE' of https://github.com/maksudr/moodle into MOODLE_36_STABLE 2019-04-04 20:31:13 +02:00
Eloy Lafuente (stronk7) 44160cf213 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 11:39:12 +08:00
Jun Pataleta 1b57e6b87a Merge branch 'MDL-62307_MOODLE_36_STABLE' of https://github.com/maksudr/moodle into MOODLE_36_STABLE 2019-04-03 16:50:14 +08:00
Jun Pataleta 885cf9f06a Merge branch 'MDL-65112-MOODLE_36_STABLE' of https://github.com/dmitriim/moodle into MOODLE_36_STABLE 2019-04-03 16:19:28 +08:00
Jake Dallimore 8923fb3bb1 Merge branch 'MDL-65087-36' of git://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-04-03 14:12:53 +08:00
Jake Dallimore e246171b56 Merge branch 'MDL-65247-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-04-03 13:47:12 +08:00
Jun Pataleta 1ecc0f0769 MDL-65247 core: Fix action_modal Behat tests 2019-04-03 08:46:00 +08:00
Eloy Lafuente (stronk7) 21573d41f7 MDL-65250 core: Fix some undefined variables in compact()
Since PHP 7.3 they throw a PHP Notice.
2019-04-03 02:43:58 +02:00
Eloy Lafuente (stronk7) b553489c13 Merge branch 'MDL-65213-36' of git://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-04-03 00:23:06 +02:00
Eloy Lafuente (stronk7) b7fe40f96a Merge branch 'MDL-64994-36-pythonmlversion' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-04-03 00:09:38 +02:00
Sara Arjona 3efb002aaa MDL-65213 core_message: fix random failures when declining contacts 2019-04-02 20:28:41 +02:00
Eloy Lafuente (stronk7) 2bcef03b09 weekly release 3.6.3+ 2019-04-02 15:53:01 +02:00
Eloy Lafuente (stronk7) 7a13dabb1a Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-04-02 15:52:54 +02:00
Jun Pataleta 97e3be3cf6 Merge branch 'MDL-64331-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-04-02 10:56:54 +08:00
Adrian Greeve 7388f721e9 Merge branch 'MDL-65144-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-04-02 10:16:29 +08:00
Damyon Wiese 3f9247df88 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:03:03 +08:00
Brendan Heywood 4ad8be5c62 MDL-64394 core: Fixed bug when using access log with pre_loginpage_hook 2019-04-02 11:41:25 +11:00
Ilya Tregubov a6b98fe716 MDL-64439 auth: Refresh $cm in require_login after pre_loginpage_hook. 2019-04-02 10:23:40 +11:00
Leon Stringer 435d91e4bb 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:35:21 +01:00
Damyon Wiese baccabf20b 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:51:18 +08:00
Jake Dallimore 9dcb7d057d Merge branch 'MDL-65089_36' of https://github.com/dvdcastro/moodle into MOODLE_36_STABLE 2019-04-01 15:30:27 +08:00
Jake Dallimore 77fe79ff6d Merge branch 'MDL-64194-36_block_myoverview_incorrect_pagination' of https://github.com/tomdickman/moodle into MOODLE_36_STABLE 2019-04-01 14:36:24 +08:00
Jun Pataleta 21e0be247c Merge branch 'MDL-64524-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-04-01 13:46:41 +08:00
Jun Pataleta 564019efff Merge branch 'MDL-63906_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-04-01 10:32:00 +08:00
Adrian Greeve b5dfcb9e07 Merge branch 'MDL-65173_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2019-04-01 10:22:36 +08:00
Eloy Lafuente (stronk7) 49681cd03d MDL-65218 recycle bin: cover immunization via settings provider
Both for course and category recycle bins
2019-04-01 09:26:50 +08:00
Eloy Lafuente (stronk7) cdcc3ab5da 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-04-01 09:26:50 +08:00
Eloy Lafuente (stronk7) 165baf349b 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-04-01 09:26:50 +08:00
Tim Hunt 5b898cb5e0 MDL-65029 questions: refactor generation of question div id
We are planning to change the id in Moodle 3.7. However, the new
method name has been back-ported to stable branches, because we
know a lot of third-party question types like to have a single
branch which supports multiple Moodle versions.
2019-03-29 13:24:53 +00:00
Tobias Reischmann 24e4f1d1c8 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:14:24 +01:00
Sara Arjona 26e2d21925 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:50 +01:00
Sara Arjona bc1d3f2e2a 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:34:13 +01:00
Sara Arjona b185b38288 MDL-65087 message: add aria-label to search, settings and starred 2019-03-29 09:34:13 +01:00
Sara Arjona 88426ca6bf 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:34:13 +01:00
Sara Arjona 644ecdcaf3 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:34:13 +01:00
Jun Pataleta 07b01e4ff7 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:38:34 +08:00
Jun Pataleta 9b7293b190 MDL-46975 auth_email: Behat test for email validation on signup 2019-03-29 13:38:34 +08:00
Jun Pataleta 8c515e95b7 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:32:59 +08:00
Jun Pataleta 06c88be18f MDL-29318 login: Additional test for forgot_password_data_provider() 2019-03-29 13:32:59 +08:00
Jun Pataleta 8cb4579884 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:32:59 +08:00
Jun Pataleta b53ec2bb74 MDL-29318 core: More unit tests for get_complete_user_data() 2019-03-29 13:30:04 +08:00
Tom Dickman a9883c6ee7 MDL-64194 block_myoverview: fix incorrect pagination
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:53:10 +11:00
AMOS bot 1446f3f89c Automatically generated installer lang files 2019-03-29 00:15:26 +00:00
David Castro 709cf42e06 MDL-65089 glossary: Enforcing case comparison in SQL. 2019-03-28 18:33:53 -05:00
Dmitrii Metelkin 0d493433d3 MDL-65112 mod_lesson: fix html for shortanswer responses 2019-03-29 08:32:04 +11:00
Eloy Lafuente (stronk7) 318fd402e1 weekly release 3.6.3+ 2019-03-28 16:49:19 +01:00
Eloy Lafuente (stronk7) 1671a9f7fd Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-03-28 16:49:13 +01:00
Shamim Rezaie 72f0984c4e MDL-65102 core_form: autocomplete element to handle submit event 2019-03-28 15:17:50 +11:00
Eloy Lafuente (stronk7) 7da687624c Merge branch 'MDL-63196-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-03-28 00:12:41 +01:00
Eloy Lafuente (stronk7) 4ecc15449c Merge branch 'MDL-64996-36-untrainedstaticmodels' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-03-27 23:45:41 +01:00
Eloy Lafuente (stronk7) b05f3cdc4b Merge branch 'MDL-62992-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-03-27 23:06:15 +01:00
Eloy Lafuente (stronk7) 4c627b6a57 Merge branch 'MDL-64664-36' of git://github.com/cescobedo/moodle into MOODLE_36_STABLE 2019-03-27 22:58:40 +01:00
cescobedo d0770f8154 MDL-64664 core_message: Create more specific selector to contact menu 2019-03-27 13:57:44 +01:00
Jun Pataleta 25d5103a4c Merge branch 'MDL-65008_moodle_36_stable' of https://github.com/dvdcastro/moodle into MOODLE_36_STABLE 2019-03-27 10:40:37 +08:00
Simey Lameze 98ab2d0a44 MDL-62992 quiz: fix tags filtering on random question modal 2019-03-27 10:26:19 +08:00
Simey Lameze d57c35472a MDL-62992 question: conditionaly enable question tags feature 2019-03-27 10:26:19 +08:00
Paul Holden ed88c64a5c 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-27 00:17:59 +01:00
Eloy Lafuente (stronk7) f1d125b08e Merge branch 'MDL-65081-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-03-26 22:43:54 +01:00
Eloy Lafuente (stronk7) 9d84af2a52 Merge branch 'MDL-63152-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-03-26 13:28:21 +01:00
Eloy Lafuente (stronk7) 1c52897f85 Merge branch 'MDL-63149-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-03-26 13:25:11 +01:00
Eloy Lafuente (stronk7) 0a9117bd61 Merge branch 'MDL-63151-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-03-26 13:15:55 +01:00
Shamim Rezaie abe0e8fbad MDL-65094 registration: don't encourage registration if on localhost 2019-03-26 17:26:21 +11:00
Damyon Wiese a05eb5558e MDL-65178 competencies: count_competencies fix
Fix sql error in course_module_competency::count_competencies() function.
2019-03-26 09:49:00 +08:00
Sara Arjona 2bf03fc2e0 Merge branch 'MDL-64615-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-03-25 18:20:13 +01:00
Sara Arjona 17aaad9033 Merge branch 'MDL-64790-36_apidoc_fix' of https://github.com/nicoroeser/moodle into MOODLE_36_STABLE 2019-03-25 12:38:06 +01:00
Mark Nelson 22f75de983 MDL-65173 message_email: removed bogus logic
This reverts commit 844a59c301.
2019-03-25 17:18:34 +08:00
David Mudrák a825339917 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:06 +01:00
David Mudrák 0e91160efe 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:06 +01:00
David Mudrák 6b1ce97894 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 09:02:10 +01:00
David Mudrák 38ce5978dd 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:59:33 +01:00
Adrian Greeve 5b4c20944d Merge branch 'MDL-60339-36' of git://github.com/Chocolate-lightning/moodle into MOODLE_36_STABLE 2019-03-25 11:11:04 +08:00
Adrian Greeve 12c256a78b Merge branch 'MDL-64492-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-03-25 10:59:19 +08:00
AMOS bot 6b45969dc6 Automatically generated installer lang files 2019-03-25 00:09:24 +00:00
Abhimanyu Kumar 4abab60161 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:35:51 +05:30
maksudr 5bdbf3185d MDL-62307 mod_feedback: Decode HTML special char in add_form_element() 2019-03-22 15:45:47 +00:00
Mathew May 159f20a93e 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:50:49 +08:00
Damyon Wiese 24335e6c2b 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:17:56 +08:00
Jun Pataleta fe4763e560 MDL-65081 core_output: Unit tests for single_select and url_select 2019-03-22 11:15:10 +08:00
Jun Pataleta 8a80d01b70 MDL-65081 core_output: Set single_select and url_select attributes 2019-03-22 11:15:10 +08:00
Damyon Wiese ee21767d92 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:37 +08:00
Simey Lameze d1e488ab9b MDL-63196 core_calendar: add behat scenario 2019-03-22 10:45:47 +08:00
Simey Lameze 5863a07a46 MDL-63196 calendar: add missing option to export category events 2019-03-22 10:45:46 +08:00
Damyon Wiese 50a8ba5661 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:06:39 +08:00
Eloy Lafuente (stronk7) 673922a628 weekly release 3.6.3+ 2019-03-21 20:19:44 +01:00
Cameron Ball 3282dda765 MDL-65104 registration: Ensure $registration is always null when no record exists 2019-03-21 16:12:30 +08:00
Adrian Greeve 5da126bc67 Merge branch 'MDL-46803-greedy-roles-reset-MOODLE_36' of https://github.com/DSI-Universite-Rennes2/moodle into MOODLE_36_STABLE 2019-03-21 11:22:23 +08:00
Eloy Lafuente (stronk7) b503eca0d4 Merge branch 'wip-36-MDL-64563' of https://github.com/adpe/moodle into MOODLE_36_STABLE 2019-03-21 00:43:03 +01:00
Eloy Lafuente (stronk7) 95e75e70b5 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:14:51 +01:00
Eloy Lafuente (stronk7) d86ad34353 Merge branch 'MDL-63263-MOODLE_36_STABLE' of https://github.com/tuanngocnguyen/moodle into MOODLE_36_STABLE 2019-03-20 23:16:09 +01:00
Eloy Lafuente (stronk7) c0b2cf55e4 Merge branch 'MDL-65022-36' of https://github.com/Dagefoerde/moodle into MOODLE_36_STABLE 2019-03-20 22:31:55 +01:00
Jan Dageförde bdb8dec713 MDL-65059 messaging: don't refer to block plugin type
AMOS BEGIN
 CPY [block,core],[blockuserconfirmbutton,core_message]
AMOS END
2019-03-20 22:22:11 +01:00
M d4fc00666b MDL-65038 core_files: Fix typo in function mock_response 2019-03-20 20:51:28 +00:00
Jun Pataleta 248f5a1efc Merge branch 'MDL-62872-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-03-20 16:30:29 +08:00
Adrian Greeve 036e58c5b5 Merge branch 'MDL-65005-36-fix' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-03-20 13:57:17 +08:00
Jun Pataleta ba7cf5ad88 MDL-65005 tool_policy: Ensure the user's on the Dashboard after agreeing 2019-03-20 13:13:23 +08:00
Eloy Lafuente (stronk7) 3f8bd31bf3 Merge branch 'MDL-65085_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-03-20 00:40:28 +01:00
Eloy Lafuente (stronk7) de8c665fe3 Merge branch 'MDL-64990_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2019-03-19 23:05:03 +01:00
Eloy Lafuente (stronk7) 23cd28f38c Merge branch 'MDL-64979-m36' of https://github.com/sammarshallou/moodle into MOODLE_36_STABLE 2019-03-19 22:07:51 +01:00
sam marshall 00c706dc8a MDL-64979 Behat: Add option to increase timeouts 2019-03-19 17:14:46 +00:00
Eloy Lafuente (stronk7) 93973e0472 Merge branch 'MDL-65005-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-03-19 17:57:50 +01:00
Adrian Greeve 3e46ac327a Merge branch 'MDL-64958-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-03-19 13:42:36 +08:00
Adrian Greeve a9afba6a38 Merge branch 'MDL-63144-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-03-19 11:26:03 +08:00
Eloy Lafuente (stronk7) 95764ed91d Merge branch 'MDL-64974-36' of git://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-03-19 00:23:45 +01:00
Eloy Lafuente (stronk7) b1dbc661bb Merge branch 'MDL-64987-36' of git://github.com/abgreeve/moodle into MOODLE_36_STABLE 2019-03-19 00:21:23 +01:00
Eloy Lafuente (stronk7) 809901f7c8 Merge branch 'MDL-65006-36' of git://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-03-18 23:35:59 +01:00
Julien Boulen f8c209cf25 MDL-46803 course: Prevent unenrol users with multiple roles during reset 2019-03-18 11:18:46 +01:00
cescobedo 564ad754a8 MDL-64664 core_message: Behat tests to manage contacts 2019-03-18 09:50:00 +01:00
cescobedo d940ccbe0b MDL-64664 core_message: New data generator for contacts 2019-03-18 09:50:00 +01:00
cescobedo cbf62420e0 MDL-64664 core_message: New step for open contact menu 2019-03-18 09:50:00 +01:00
David Monllaó 066673fb37 MDL-63906 analytics: Release the lock on \Throwable received 2019-03-18 09:09:50 +01:00
Damyon Wiese 0bec5987c8 MDL-64524 gradingform_guide: Marking guide comments
When there are too many comments, scroll the list so they still fit in the dialogue.
2019-03-18 15:57:11 +08:00
Damyon Wiese 7c5c76bcdf 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-03-18 15:57:11 +08:00
Shamim Rezaie 4ef107fccb MDL-63152 mod_workshop: Add userid param to calendar callbacks 2019-03-18 15:53:28 +11:00
Shamim Rezaie 9addd44bb4 MDL-63152 mod_workshop: check if the module is visible to the user 2019-03-18 15:53:27 +11:00
Shamim Rezaie 0bc2276751 MDL-62872 atto_recordrtc: max_filesize detection fix 2019-03-18 15:20:38 +11:00
Jake Dallimore 3612fa390d Merge branch 'MDL-65291_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-03-16 07:17:47 +08:00
Eloy Lafuente (stronk7) 76e06c15c6 Merge branch 'MDL-65179-m36' of https://github.com/sammarshallou/moodle into MOODLE_36_STABLE 2019-04-16 20:45:23 +02:00
David Monllaó ba22230a4f Merge branch 'MDL-62572-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-04-15 11:07:08 +02:00
David Monllaó cf77a2d72d Merge branch 'wip-MDL-65220-MOODLE_36_STABLE' of https://github.com/jason-platts/moodle into MOODLE_36_STABLE 2019-04-15 07:58:18 +02:00
David Monllaó e8fd0db959 Merge branch 'MDL-64894-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-04-15 07:45:41 +02:00
David Monllaó 99c7dc1929 Merge branch 'MDL-29317-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-04-15 07:41:45 +02:00
Eloy Lafuente (stronk7) ceba417524 MDL-65291 phpunit: Make a test immune to DST changes 2019-04-15 01:22:41 +02:00
Damyon Wiese 4e5cd5956d MDL-62572 backup: Duplicating an activity
Don't apply admin defaults for import when using the duplicate function.
2019-04-12 14:05:06 +08:00
Trisha Milan c116d32f39 MDL-64894 Theme: Fix unable to expand collapsible topics 2019-04-01 14:54:26 +08:00
Jason Platts e2338e14a7 MDL-65220 behat: test scenarios sometimes do not clear database data 2019-03-29 15:32:43 +00:00
Jun Pataleta 057a4fc85b 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:49 +08:00
Jun Pataleta dfcad939ff MDL-29317 gradeimport_csv: Tests for case-insensitivity 2019-03-29 13:29:49 +08:00
sam marshall db6be2a885 MDL-65179 Web service: Token last access is updated too frequently 2019-03-28 17:14:02 +00:00
David Monllaó 5dfaf89ba2 MDL-65085 analytics: noreply user sends insights 2019-03-15 13:49:49 +01:00
Nicolas Roeser 0d72003e6e 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:12:40 +01:00
Nathan Nguyen 47b4f21994 MDL-63263 tool_recyclebin: Apply automated backup setting
Use Automated backup settings as settings for Recycle bin backup and restore.
2019-03-15 14:55:08 +11:00
Rex Lorenzo 8e6e56c066 MDL-63263 tool_recyclebin: Recycle bin should always save user data. 2019-03-15 14:55:08 +11:00
Jake Dallimore f3ad037584 weekly release 3.6.3+ 2019-03-15 11:01:30 +08:00
Paul Holden 13898c79db 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-14 01:27:30 +01:00
Eloy Lafuente (stronk7) 323801ad4b Merge branch 'MDL-63146-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-03-14 01:22:07 +01:00
Eloy Lafuente (stronk7) c013bb2cbc Merge branch 'MDL-61585_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-03-14 01:15:59 +01:00
Eloy Lafuente (stronk7) 8789bc4fa6 Merge branch 'MDL-63524-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-03-13 23:55:36 +01:00
Andrew Nicols f02688e713 MDL-63524 behat: Do not skip tests on Step 0 error 2019-03-14 06:54:37 +08:00
Amaia Anabitarte 5eefd56230 MDL-64670 core_message: fixing selector xpath 2019-03-13 17:52:42 +01:00
Juan Leyva 51ee36d039 MDL-64615 tool_mobile: Do not modify custom download URLs 2019-03-13 17:10:28 +01:00
Adrian Greeve db65a2ca7e Merge branch 'MDL-64568_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2019-03-13 15:48:40 +08:00
Amaia Anabitarte 6eef6e3ab9 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-12 18:15:14 +01:00
Amaia Anabitarte 3dbced7596 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-12 18:15:13 +01:00
Jan Dageförde 86bef7c3b5 MDL-65022 wiki: declare the cancel button secondary 2019-03-12 09:05:42 +01:00
Shamim Rezaie 2436022f22 MDL-63151 mod_wiki: Add userid param to mod_wiki calendar callbacks 2019-03-12 17:16:53 +11:00
Shamim Rezaie 7fbf87df43 MDL-63151 mod_wiki: check if the module is visible to the user 2019-03-12 17:16:53 +11:00
Sara Arjona ce2e9f1cfb MDL-64974 badges: add missing configurecriteria capability check 2019-03-11 10:25:55 +01:00
David Monllaó 5bf54816e8 MDL-61585 analytics: Include missing indicators 2019-03-11 09:38:40 +01:00
Damyon Wiese 560b5b0efc MDL-65031 theme_boost: gradebook notifications
Tell the gradebook page to stack things vertically so that notifications
take the correct amount of space.
2019-03-11 12:47:21 +08:00
Jun Pataleta b211eb7afe MDL-64958 gradeimport_csv: Better unit tests for check_user_exists() 2019-03-11 09:35:45 +08:00
Jun Pataleta fc6d1fe719 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:35:45 +08:00
Mark Nelson 93f39f3db6 MDL-64568 core_group: delete conversation and members on group deletion 2019-03-11 09:24:44 +08:00
Mark Nelson c47c19634e MDL-64568 core: upgrade step to remove orphaned group conversations 2019-03-11 09:24:44 +08:00
Mark Nelson 5806a1f251 MDL-64990 tool_usertours: do not show messaging tour when disabled 2019-03-11 07:50:29 +08:00
David Castro 803d87c60f MDL-65008 question: Query enhancement.
Adding core_question as an additional filter to the tag backup.
2019-03-08 16:35:12 -05:00
Sara Arjona 4d3a32dde9 Moodle release 3.6.3 2019-03-08 11:03:15 +01:00
Sara Arjona ff27e31a89 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:02:28 +01:00
Adrian Greeve 949282574a MDL-64987 repository_nextcloud: Remove duplicate string. 2019-03-08 14:35:34 +08:00
Jun Pataleta c42c551cff MDL-65005 block_timeline: Behat fixes 2019-03-08 14:06:41 +08:00
Jun Pataleta d3507a690a MDL-65005 block_timeline: Fix accessibility of Day filter menu 2019-03-08 14:06:41 +08:00
Jun Pataleta 36a5774a81 MDL-65005 block_timeline: Fix accessibility of Sort-by menu 2019-03-08 14:06:37 +08:00
AMOS bot bba5a34bc2 Automatically generated installer lang files 2019-03-08 00:15:20 +00:00
Eloy Lafuente (stronk7) 5c592fcf75 weekly release 3.6.2+ 2019-03-07 16:42:00 +01:00
Eloy Lafuente (stronk7) 763f673820 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-03-07 16:41:57 +01:00
Shamim Rezaie ace9ed3fc8 MDL-63149 mod_survey: Add userid param to mod_survey calendar callbacks 2019-03-07 17:54:43 +11:00
Shamim Rezaie 9042827e3f MDL-63144 mod_lti: Add userid param to mod_lti calendar callbacks 2019-03-07 17:49:16 +11:00
Shamim Rezaie 8b7eb8620a MDL-63144 mod_lti: Check if the module is visible to the user 2019-03-07 17:49:16 +11:00
Adrian Greeve 09f9f81835 Merge branch 'MDL-63905_36' of git://github.com/jmvedrine/moodle into MOODLE_36_STABLE 2019-03-07 09:13:00 +08:00
Andrew Nicols 5ee3cbc624 MDL-64410 access: Unit tests for context locking SQL 2019-03-06 12:36:26 +01:00
Andrew Nicols 90c2e5e707 MDL-64410 access: Check for context locking in cap functions 2019-03-06 12:36:26 +01:00
Jun Pataleta f33bc18d2d Merge branch 'MDL-64333_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2019-03-06 17:34:02 +08:00
Mark Nelson 00ee6158fc MDL-64333 core_message: add migration message to new UI 2019-03-06 17:26:24 +08:00
Andrew Nicols da40ba154c Merge branch 'MDL-64774-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-03-06 15:46:33 +08:00
Jean-Michel Vedrine 5f9d6e34a3 MDL-63905 qtype_multianswer: validate imported questions 2019-03-06 08:38:21 +01:00
Andrew Nicols 552877454c Merge branch 'MDL-64950-36-2' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-03-06 13:47:54 +08:00
Jun Pataleta 732698302e MDL-64950 core: Handle username in a case-insensitive fashion 2019-03-06 12:46:01 +08:00
Jun Pataleta c4d39ba7d7 MDL-64950 core: Unit tests for get_complete_user_data() 2019-03-06 12:46:01 +08:00
Jun Pataleta 3ca7a701a6 MDL-64950 login: core_login_validate_forgot_password_data() unit tests 2019-03-06 12:46:01 +08:00
Andrew Nicols e389c5cd31 MDL-64971 access: Ensure that the capability exists when fetching 2019-03-06 10:15:55 +08:00
Jun Pataleta 7766baeb63 MDL-64774 user: Make email query case-insensitive 2019-03-06 09:00:18 +08:00
Jun Pataleta 5f779f05e8 MDL-64774 user: Better unit tests for updating users with similar emails 2019-03-06 09:00:18 +08:00
AMOS bot be998e5e63 Automatically generated installer lang files 2019-03-06 00:09:32 +00:00
Eloy Lafuente (stronk7) 8971a35e38 Merge branch 'MDL-64943_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-03-05 22:49:43 +01:00
Eloy Lafuente (stronk7) f6d98c3c8d MDL-64943 behat: fix some remaining uses of old strings 2019-03-05 17:02:08 +01:00
Eloy Lafuente (stronk7) 70602491f6 Merge branch 'MDL-64943-36-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-03-05 11:09:27 +01:00
Jun Pataleta b6f517c251 Merge branch 'MDL-62465-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-03-05 15:30:17 +08:00
Adrian Greeve 7ea5221a52 Merge branch 'MDL-64342-36' of git://github.com/cescobedo/moodle into MOODLE_36_STABLE 2019-03-05 15:02:00 +08:00
Damyon Wiese 7dac132efc 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:49:02 +08:00
Adrian Greeve d9bb99f336 Merge branch 'MDL-64864-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-03-05 14:26:16 +08:00
Adrian Greeve 248639d3ae Merge branch 'MDL-64678-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-03-05 13:52:53 +08:00
Andrew Nicols 45f4d171d4 Merge branch 'MDL-64961-m36' of https://github.com/sammarshallou/moodle into MOODLE_36_STABLE 2019-03-05 13:24:47 +08:00
Andrew Nicols fdb8f40617 Merge branch 'MDL-64981_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-03-05 13:22:35 +08:00
Shamim Rezaie 8223305818 MDL-63146 mod_quiz: Add userid param to mod_quiz calendar callbacks 2019-03-05 14:23:33 +11:00
Shamim Rezaie 5226cc8a50 MDL-64830 core_calendar: Do cap check on event edit form 2019-03-05 04:16:40 +01:00
Damyon Wiese 1fc481dd7b MDL-64651 comments: Do not send referrer
Use blanktarget option on all comments to prevent malicious links.
2019-03-05 04:16:40 +01:00
Viktor cd3060d941 MDL-62702 core_lib: fix broken verification signature 2019-03-05 04:16:40 +01:00
Mark Nelson 868a80972c MDL-62702 core_lib: updated the 'ltiprovider' readme_moodle.txt 2019-03-05 04:16:40 +01:00
Brendan Cox 430f685834 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:16:40 +01:00
Ryan Wyllie a37e26d2ef 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:16:40 +01:00
Luca Bösch 7f22b14efb MDL-64706 theme_boost: Remove logo link in secure template 2019-03-05 04:16:40 +01:00
Jun Pataleta 78fa8d7e8e Merge branch 'MDL-64652-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-03-05 11:13:40 +08:00
Adrian Greeve c355be438d Merge branch 'MDL-64941-36' of https://github.com/MartinGauk/moodle into MOODLE_36_STABLE 2019-03-05 11:10:27 +08:00
Andrew Nicols c2a6c7c134 MDL-64652 mod_data: Break LEFT JOINs to multiple INNER 2019-03-05 10:14:15 +08:00
Andrew Nicols 309931c876 MDL-64652 glossary: Break LEFT JOINs to multiple INNER 2019-03-05 10:14:15 +08:00
Andrew Nicols 445deddb96 MDL-64652 forum: Use an inner join when fetching ratings 2019-03-05 10:14:15 +08:00
Andrew Nicols 842723567c MDL-64652 rating: Add optional inner join option to sql 2019-03-05 10:14:12 +08:00
Andrew Nicols 28fc193cf6 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:13:16 +08:00
Adrian Greeve 650d667817 Merge branch 'MDL-64863-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-03-05 09:53:37 +08:00
Jun Pataleta 4dcbcc6f93 Merge branch 'MDL-62143-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-03-05 09:44:46 +08:00
Damyon Wiese 781b8153dd 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:53:24 +08:00
Damyon Wiese 6cc9fd7dc1 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:47:04 +08:00
AMOS bot d1a13ec7ce Automatically generated installer lang files 2019-03-04 00:09:44 +00:00
cescobedo 9779a220fa 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:35:38 +01:00
sam marshall 68157ec22f MDL-64961 REST web service: Fatal error in error handler 2019-03-01 11:57:33 +00:00
Tim Hunt 4ed6bb0c22 MDL-64981 dml tests: pgsql_native_recordset_testcase port number 2019-03-01 11:13:16 +00:00
Martin Gauk f484cf49c4 MDL-64941 qtype_multianswer: keep order of existing wrapped questions 2019-03-01 09:49:26 +00:00
AMOS bot fdd78199a2 Automatically generated installer lang files 2019-03-01 00:15:45 +00:00
David Mudrák 7be07980d9 MDL-64943 lang: Fix regression in the test caused by the reworded string 2019-02-28 19:58:41 +01:00
Eloy Lafuente (stronk7) b39b8eb2f5 weekly release 3.6.2+ 2019-02-28 18:51:48 +01:00
Eloy Lafuente (stronk7) 9d3bcd1abf Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-02-28 18:51:45 +01:00
David Mudrák d2a16b6e81 MDL-64943 lang: Fix regressions in Behat caused by reworded strings 2019-02-28 17:58:03 +01:00
Helen Foster 9fb3f4ca10 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 17:55:05 +01:00
Eloy Lafuente (stronk7) 0130945cf5 Merge branch 'MDL-64444-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-02-28 01:21:10 +01:00
Eloy Lafuente (stronk7) e7bf9748c5 Merge branch 'MDL-64878-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-02-27 19:01:03 +01:00
Sara Arjona 2dd56328a7 Merge branch 'MDL-55135-36-competencies-manage-in-coursecontext' of https://github.com/wjroes/moodle into MOODLE_36_STABLE 2019-02-27 11:51:42 +01:00
Sara Arjona 352ed37ac4 Merge branch 'MDL-62454-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-02-27 08:58:11 +01:00
Andrew Nicols c4edcf9960 Merge branch 'MDL-64889_36_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_36_STABLE 2019-02-27 14:43:54 +08:00
Andrew Nicols 7b0134f69d Merge branch 'wip-36-MDL-62345' of https://github.com/adpe/moodle into MOODLE_36_STABLE 2019-02-27 14:14:02 +08:00
Andrew Nicols a1eb4ad4d3 Merge branch 'MDL-63674-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-02-27 13:01:46 +08:00
Damyon Wiese 7cd7f20202 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:40:02 +08:00
Damyon Wiese 1a3faa11b7 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:40:02 +08:00
Andrew Nicols 8152908f69 Merge branch 'MDL-64591_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-02-27 09:54:51 +08:00
AMOS bot aca4c2a49c Automatically generated installer lang files 2019-02-27 00:09:43 +00:00
Eloy Lafuente (stronk7) 24ffbc4e2b Merge branch 'MDL-63417-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-02-26 23:19:12 +01:00
Sara Arjona aa1279b7cf Merge branch 'MDL-43428-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-02-26 14:09:06 +01:00
Tim Hunt 2cbf3ea580 MDL-64591 User tours: don't show during redirects & other bad times 2019-02-26 13:05:51 +00:00
Shamim Rezaie 63559b4796 MDL-43428 accessrule_timelimit: timeclose can be ealier than timelimit 2019-02-26 14:45:24 +11:00
Andrew Nicols 39113784bc Merge branch 'MDL-64663_36' of git://github.com/aanabit/moodle into MOODLE_36_STABLE 2019-02-26 11:08:02 +08:00
Sara Arjona 71dc512e46 Merge branch 'MDL-64862-36-workshopgradepass' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-02-25 18:31:26 +01:00
Sara Arjona fb62fb8e69 Merge branch 'MDL-64931_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2019-02-25 17:19:33 +01:00
Adrian Greeve fff6f3fa55 Merge branch 'MDL-64640-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-02-25 10:28:11 +01:00
Amaia Anabitarte ec32dbcd8c MDL-64663 core_message: Behat to test admin settings 2019-02-25 10:16:17 +01:00
Andrew Nicols fc13071f37 Merge branch 'MDL-64561-36-test' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-02-25 15:52:23 +08:00
Charles Fulton 7b37ec0381 MDL-64561 install: show help text before database check 2019-02-25 16:44:22 +11:00
Shamim Rezaie 1e2491b9ea MDL-63674 core_messaging: Fix message drawer's shadow in RTL 2019-02-25 14:41:07 +11:00
Shamim Rezaie 9e0958bb49 MDL-63674 core_messaging: Bidi text support 2019-02-25 14:41:07 +11:00
Mark Nelson 2c50550271 MDL-64931 core_message: fixed PHP error when users are deleted from DB 2019-02-25 07:49:39 +08:00
Adrian Perez ddce5a8d34 MDL-62345 navigation: Change data-key for dashboard rootnode 2019-02-22 16:57:43 +01:00
Andrew Nicols 289475f3da weekly release 3.6.2+ 2019-02-22 10:51:34 +08:00
Andrew Nicols 63c7118de6 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-02-22 10:51:30 +08:00
Bas Brands be1e22c5f0 MDL-62454 theme_boost: numerical qtype answer inline 2019-02-21 14:35:40 +01:00
Adrian Greeve 61451240d2 Merge branch 'MDL-64729-36' into MOODLE_36_STABLE 2019-02-21 12:33:07 +01:00
John Beedell 1d4da3c1b6 MDL-64729 mod_glossary: glossary_get_entries_search case sensitivity 2019-02-21 12:31:59 +01:00
Andrew Nicols a628bbe9f7 Merge branch 'MDL-64571-36' of git://github.com/cescobedo/moodle into MOODLE_36_STABLE 2019-02-21 08:38:29 +08:00
Adrian Greeve b406ced13c Merge branch 'MDL_64856_m36v1' of git://github.com/sbourget/moodle into MOODLE_36_STABLE 2019-02-20 18:04:44 +01:00
Adrian Greeve baa408f1af Merge branch 'MDL-64200-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-02-20 15:59:16 +01:00
Adrian Greeve c61a082515 Merge branch 'MDL-64450-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-02-20 11:37:45 +01:00
Matteo Scaramuccia 4945e2e146 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-20 10:22:34 +01:00
David Monllaó 5d25911f42 MDL-64500 tool_analytics: noanalysables negation better than analysables 2019-02-20 10:09:58 +01:00
Andrew Nicols 09ad6346b2 Merge branch 'MDL-64570-36-fix1' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-02-20 10:55:09 +08:00
Damyon Wiese 5c6553f4bb MDL-64570 user: input field purpose
Do not autocomplete the user fields when editing another user.
2019-02-20 09:49:29 +08:00
Eloy Lafuente (stronk7) 3909b0e461 Merge branch 'MDL-64679_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-02-20 00:07:00 +01:00
Eloy Lafuente (stronk7) 0b4d0426ea Merge branch 'MDL-63134-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-02-20 00:01:01 +01:00
Eloy Lafuente (stronk7) 98c4307560 Merge branch 'MDL-64806-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-02-19 23:34:47 +01:00
Eloy Lafuente (stronk7) 7ce55f6f3e Merge branch 'MDL-64242_36' of git://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-02-19 23:23:00 +01:00
Eloy Lafuente (stronk7) 272004978a Merge branch 'MDL-64791-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-02-19 17:43:06 +01:00
Eloy Lafuente (stronk7) 8db7687f02 Merge branch 'MDL-62008-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-02-19 17:23:52 +01:00
Eloy Lafuente (stronk7) db75278d93 Merge branch 'MDL-64500_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-02-19 17:10:47 +01:00
Damyon Wiese 2165cd3410 MDL-64540 assign: Backport of MDL-60008
This patch combines the following changes:

* 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.
* When not all files are available in the online pdf, display a warning to graders
that some files must be downloaded.
* Better support for information messages from the conversion process.
* Remove the z-index values from the expand / collapse panels. They cause errors when mixed with dialogues.
* The edit pdf menus are all broken on small screen sizes. They consume 100% of the page with for no reason.
* The heights of the buttons to hide/show panels are arbitrarily big. There is not need to set them specifically.

Amended on integration to get rid if incorrect 'destroyed' block of
code. See the issue for more information.
2019-02-19 15:53:36 +01:00
Adrian Greeve 02bcf4644d Merge branch 'MDL-60459_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2019-02-19 11:49:45 +01:00
David Monllaó e0ca602e98 MDL-64570 user: Remove empty line 2019-02-19 09:27:13 +01:00
David Monllaó 1825a5a6dc Merge branch 'MDL-64570-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-02-19 09:26:20 +01:00
David Monllaó 7bab771a8b Merge branch 'MDL-45151-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-02-19 06:40:28 +01:00
Damyon Wiese f63afeb168 MDL-64570 user: coding style
Fix cibot warnings on line length.
2019-02-19 09:45:21 +08:00
Damyon Wiese fbf75a8605 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:45:21 +08:00
Damyon Wiese 633e97845f 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-02-19 09:45:21 +08:00
David Mudrák 0488a0b30b 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 17:46:11 +01:00
Adrian Greeve b07174669f Merge branch 'MDL-64452-36-cachesession' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-02-18 15:53:51 +01:00
Mark Johnson 0c81fe1f2e MDL-64889 completion: Fix performance of get_course_progress_percentage 2019-02-18 14:07:37 +00:00
willem bef3421021 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 11:00:04 +01:00
AMOS bot e28cb2630d Automatically generated installer lang files 2019-02-16 00:13:48 +00:00
David Mudrák 9fb92df867 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:37:51 +01:00
David Mudrák c2922fab27 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:37:51 +01:00
David Monllaó ce23f4f65c MDL-64679 tool_analytics: Allow trained models to be cleared 2019-02-15 08:43:24 +01:00
Damyon Wiese d531638e2d 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:10:27 +08:00
Andrew Nicols 22430761b1 weekly release 3.6.2+ 2019-02-15 08:29:28 +08:00
Andrew Nicols b83543bb45 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-02-15 08:29:26 +08:00
Stephen Bourget d0aa6e157a MDL-64856 mod_glossary: Always show the settings cog on the view page. 2019-02-14 12:45:30 -05:00
Jun Pataleta 55d1f79921 Merge branch 'MDL-64736-36-2' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-02-14 15:00:48 +08:00
Andrew Nicols 3b0b9777be Merge branch 'MDL-64788_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2019-02-14 09:40:37 +08:00
Jun Pataleta 38a80c43db Merge branch 'MDL-63892-36-rework' of git://github.com/mickhawkins/moodle into MOODLE_36_STABLE 2019-02-13 21:01:05 +08:00
Michael Hawkins 1ddc6cc840 MDL-63892 mod_forum: Behat update for post order 2019-02-13 17:24:38 +08:00
Jun Pataleta 10ddb5d90c Merge branch 'MDL-64835-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-02-13 16:27:08 +08:00
Andrew Nicols 4ad618ec4d Merge branch 'MDL-64714-36' of git://github.com/cescobedo/moodle into MOODLE_36_STABLE 2019-02-13 11:24:26 +08:00
Andrew Nicols 8bc84e2fd9 Merge branch 'MDL-63892-36-rework' of git://github.com/mickhawkins/moodle into MOODLE_36_STABLE 2019-02-13 10:19:15 +08:00
Andrew Nicols e556c94666 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:43 +08:00
Andrew Nicols 44bc92dfdd 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:13:43 +08:00
AMOS bot 519ce6aef9 Automatically generated installer lang files 2019-02-13 00:11:44 +00:00
Eloy Lafuente (stronk7) d64e812632 Merge branch 'MDL-64420-2_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-02-12 12:56:35 +01:00
David Monllaó 38ba693c91 Merge branch 'MDL-64590_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-02-12 12:46:57 +01:00
David Monllaó bb10d3523e Merge branch 'MDL-64730-lti-adv-0score-36' of https://github.com/CengageEng/moodle into MOODLE_36_STABLE 2019-02-12 12:33:44 +01:00
John Beedell fb77164490 MDL-64420 qtype: gapselect unit tests unsafe 2019-02-12 11:27:02 +00:00
David Monllaó 0b796573d4 Merge branch 'MDL-32096-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-02-12 09:41:41 +01:00
Andrew Nicols 51e5aebafc Merge branch 'MDL-64291_36' of https://github.com/KietChan/moodle into MOODLE_36_STABLE 2019-02-12 10:55:32 +08:00
Jun Pataleta 1385b3a3cb Merge branch 'MDL-64493-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-02-12 10:11:58 +08:00
cescobedo 1796fe1494 MDL-64571 core_message: Fix duplicate footer in msg notification email 2019-02-12 00:44:01 +01:00
Andrew Nicols f37e6ca42a MDL-64736 course: Rewrite behat step to avoid changing a checkbox 2019-02-12 07:43:37 +08:00
Eloy Lafuente (stronk7) 7005a8da73 Merge branch 'MDL-61326-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-02-12 00:20:29 +01:00
Peter 4a8d7f56cd MDL-61326 repository_equella: Pass proper labels for roles with no name 2019-02-12 07:11:31 +08:00
Eloy Lafuente (stronk7) 695b639f4b Merge branch 'MDL-64694_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-02-12 00:10:26 +01:00
Eloy Lafuente (stronk7) 2af09bc931 Merge branch 'MDL-64606-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-02-12 00:02:32 +01:00
Eloy Lafuente (stronk7) e1c332acbb Merge branch 'MDL-64238-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-02-11 23:56:55 +01:00
Peter e7f53ec0c8 MDL-64238 mod_quiz: Check enrollment on calendar_action generator
* Updated unit tests to account for participants
2019-02-12 06:26:40 +08:00
Peter 0cf0c2f339 MDL-64238 mod_lesson: Check enrollment calendar_action generator
* Updated unit tests to account for participants
2019-02-12 06:26:40 +08:00
Eloy Lafuente (stronk7) 44e3097e3d Merge branch 'MDL-64725-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-02-11 17:04:45 +01:00
Eloy Lafuente (stronk7) 98e572b770 Merge branch 'M3.6-MDL-64599' of https://github.com/marcusboon/moodle into MOODLE_36_STABLE 2019-02-11 12:51:06 +01:00
Eloy Lafuente (stronk7) 152ec9fda2 Merge branch 'MDL-64385-36' of git://github.com/aanabit/moodle into MOODLE_36_STABLE 2019-02-11 12:35:34 +01:00
Sara Arjona 2b4b6c934e Merge branch 'MDL-64031-36' of https://github.com/lethevinh/moodle into MOODLE_36_STABLE 2019-02-11 12:33:13 +01:00
David Monllaó 0e3b2bab1b Merge branch 'MDL-64391_36' of git://github.com/vmdef/moodle into MOODLE_36_STABLE 2019-02-11 11:09:23 +01:00
Sara Arjona f87961e5ef Merge branch 'MDL-48338-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-02-11 10:41:15 +01:00
David Monllaó 188d64d2b0 Merge branch 'MDL-62666-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-02-11 09:49:05 +01:00
Tim Hunt f2d827461d MDL-64242 qtype_essay: more efficient query in restore code
Thanks to Juan Ibarra for the suggestion that lead to this fix.
2019-02-11 08:40:43 +00:00
Andrew Nicols 02606519d6 Merge branch 'MDL-64597-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-02-11 16:35:28 +08:00
Jun Pataleta 8729365749 Merge branch 'MDL-64488-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-02-11 16:05:45 +08:00
Jun Pataleta aecc41b81c Merge branch 'MDL-64644_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2019-02-11 15:28:55 +08:00
Andrew Nicols 29062ac7b6 Merge branch 'MDL-64393_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-02-11 15:11:38 +08:00
Shamim Rezaie 5848b3abf5 MDL-63134 mod_chat: Check if the module is visible to the user 2019-02-11 16:10:23 +11:00
Shamim Rezaie 659a617729 MDL-63134 mod_chat: Add userid param to mod_chat calendar callbacks 2019-02-11 16:10:23 +11:00
AMOS bot 20fd621fcb Automatically generated installer lang files 2019-02-10 00:10:16 +00:00
Adrian Perez eaaaeface3 MDL-64563 theme_boost: Add page site admin category name word-break 2019-02-09 20:16:21 +01:00
Luca Bösch e4f0b24b18 MDL-64606 templates: Show & instead of &amp; in url-select. 2019-02-08 13:22:58 +01:00
Jun Pataleta bc41eabea5 weekly release 3.6.2+ 2019-02-08 14:54:37 +08:00
Damyon Wiese d050b00a71 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:37:18 +08:00
Juan Leyva 181e04ce5d MDL-64791 messages: Bring back 'messagecontactrequests' message 2019-02-07 12:07:01 +01:00
Eloy Lafuente (stronk7) a28ffd62d9 Merge branch 'MDL-62680-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-02-07 10:22:53 +01:00
Anthony Ales 841709bbb5 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:17:03 +08:00
Andrew Nicols 4f4d5af3ed Merge branch 'MDL-64633-36' of https://github.com/ewallah/moodle into MOODLE_36_STABLE 2019-02-07 14:54:26 +08:00
Andrew Nicols 6be3214047 Merge branch 'MDL-64577-36-fix' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-02-07 11:54:50 +08:00
Jun Pataleta 29c224ce81 MDL-64577 grade: Put back the accidentally deleted value attribute 2019-02-07 11:26:49 +08:00
Peter Eliyahu Kornfeld a5720360db MDL-60459 core_course: set default for 'visibleoncoursepage' 2019-02-07 10:54:09 +08:00
Damyon Wiese 6f70544c44 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:12:08 +08:00
Eloy Lafuente (stronk7) 747db5e953 Merge branch 'MDL-64577-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-02-07 00:45:38 +01:00
Eloy Lafuente (stronk7) 574831353e Merge branch 'MDL-64551-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-02-06 23:44:43 +01:00
Eloy Lafuente (stronk7) 00e5454374 Merge branch 'MDL-64469-36' of https://github.com/lethevinh/moodle into MOODLE_36_STABLE 2019-02-06 22:55:11 +01:00
Eloy Lafuente (stronk7) fa10771730 Merge branch 'MDL-63148-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-02-06 13:28:30 +01:00
Eloy Lafuente (stronk7) 3fb2606779 Merge branch 'MDL-63614_M36v1' of https://github.com/sbourget/moodle into MOODLE_36_STABLE 2019-02-06 13:19:47 +01:00
Jun Pataleta c45f8a01bc Merge branch 'MDL-63967_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-02-06 16:58:28 +08:00
Mihail Geshoski 7cfe8b3567 MDL-63417 lesson: Re-apply class variable to the question response 2019-02-06 15:02:17 +08:00
Mark Nelson 85b4823199 MDL-64788 core_message: removed unused temporary page 2019-02-06 13:56:29 +08:00
Jun Pataleta 967fd3b748 Merge branch 'MDL-61405-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-02-06 13:12:42 +08:00
Damyon Wiese fc5d655fa4 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:36:27 +08:00
Eloy Lafuente (stronk7) d3d6bd7fbf Merge branch 'MDL-63516-MOODLE_36_STABLE' of https://github.com/dmitriim/moodle into MOODLE_36_STABLE 2019-02-06 00:16:37 +01:00
Dmitrii Metelkin bf2e077fc8 MDL-63516 groups: fix unexpected debugging message 2019-02-06 09:23:32 +11:00
Sara Arjona 3d0a5f7c54 Merge branch 'MDL-62893_36' of https://github.com/mfabriczy/moodle into MOODLE_36_STABLE 2019-02-05 20:06:41 +01:00
Eloy Lafuente (stronk7) be388ba917 Merge branch 'MDL-61441_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-02-05 16:11:46 +01:00
Jun Pataleta 795465cb0a Merge branch 'MDL-64632_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2019-02-05 22:40:51 +08:00
cescobedo 63b1eaf29c MDL-64714 core_auth: Fix early break foreach in delete_data_for_user 2019-02-05 12:52:02 +01:00
Marcus Fabriczy 3394af753d 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:09:30 +10:30
Peter 6b5d5ce16f 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:55:37 +08:00
Olivier Piton 24eae720fa MDL-61535 report_security: SQL Perf improvement 2019-02-05 01:44:07 +01:00
Eloy Lafuente (stronk7) eb9f552ac9 Merge branch 'wip-MDL-64404-36' of https://github.com/Beedell/moodle into MOODLE_36_STABLE 2019-02-05 01:30:53 +01:00
Eloy Lafuente (stronk7) 0b0b26f356 Merge branch 'MDL-64649-36' of https://github.com/felicemcc/moodle into MOODLE_36_STABLE 2019-02-04 16:50:55 +01:00
Eloy Lafuente (stronk7) 3de8463fc1 Merge branch 'MDL-63975-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-02-04 13:21:50 +01:00
Damyon Wiese 361b66bdff 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:46:28 +08:00
Mark Nelson 9ee908f314 MDL-64632 core_message: fixed PHP error when users are deleted from DB 2019-02-04 13:07:11 +08:00
Damyon Wiese 9a4056cbc4 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:31 +08:00
Damyon Wiese aa88adf108 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:31 +08:00
Damyon Wiese 534e9692c5 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:31 +08:00
Jun Pataleta 7493ad56cb MDL-64725 composer: Use lowercase for package name of dev dependencies 2019-02-04 09:37:53 +08:00
Eloy Lafuente (stronk7) 74647f9ca3 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:24 +01:00
David Monllaó 220c8920c9 MDL-64694 report_insights: Remove unnecessary cell classes 2019-02-01 09:10:01 +01:00
Luca Bösch b83af3894d MDL-64577 grade: style "Add ID numbers" button. 2019-02-01 07:09:15 +01:00
David Monllao e3d3ae2e18 MDL-64500 tool_analytics: No invalid analysables message 2019-02-01 06:59:14 +01:00
Damyon Wiese 3926512713 MDL-45151 assign: Add anonymous flag to events if blindmarking 2019-02-01 09:13:31 +08:00
Jun Pataleta 2188da9eed weekly release 3.6.2+ 2019-02-01 08:57:15 +08:00
Jun Pataleta ebd32e0241 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-02-01 08:57:14 +08:00
Eloy Lafuente (stronk7) c254bb8471 Merge branch 'MDL-64737-36-attoprivacysql' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-01-31 22:46:24 +01:00
Sara Arjona 32117f2d12 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:30 +01:00
David Mudrák 6a5f60d419 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:51:18 +01:00
David Mudrák 1ac0d67ee8 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 12:51:17 +01:00
Felice Candilio 2c7a567491 MDL-64649 amd: Removing underscores from icons in [Roles/Groups] forms 2019-01-31 11:07:01 +01:00
Damyon Wiese 8027c1dd30 MDL-63975 assign: Fix error when there is no grader 2019-01-31 13:09:27 +08:00
Damyon Wiese 11f2f7efad 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:54:09 +08:00
Eloy Lafuente (stronk7) cb41802683 Merge branch 'MDL-64320_36' of git://github.com/dmonllao/moodle into MOODLE_36_STABLE 2019-01-31 00:29:34 +01:00
Eloy Lafuente (stronk7) 9666362605 Merge branch 'MDL-64521_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-01-30 23:48:57 +01:00
Eloy Lafuente (stronk7) e3c859bfb3 Merge branch 'MDL-62514-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-01-30 23:01:02 +01:00
Claude Vervoort 703d3f1a05 MDL-64730 LTI Adv: do not ignore 0 score 2019-01-30 16:13:03 -05:00
Eloy Lafuente (stronk7) bdecee10d6 MDL-64528 core_completion: new cap version bump 2019-01-30 21:25:58 +01:00
Charles Fulton f7afadd846 MDL-64528 core_completion: prevent toggling completion in frozen context 2019-01-30 21:25:09 +01:00
Sara Arjona a7e2a7fecf Merge branch 'MOODLE_36_STABLE' of https://github.com/kristian-94/moodle into MOODLE_36_STABLE 2019-01-30 19:09:11 +01:00
Juan Leyva ff28d273e0 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:27:49 +01:00
Sara Arjona 730b017a9c Merge branch 'MDL-47247-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-01-30 14:03:03 +01:00
David Monllao 4939925fd0 MDL-64320 analytics: Validate discrete indicators separately 2019-01-30 12:11:34 +01:00
Sara Arjona 4b07fd7203 Merge branch 'MDL-64566_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2019-01-30 09:32:08 +01:00
Sara Arjona e2ba0043cf Merge branch 'MDL-64143-36' of https://github.com/ryanwyllie/moodle into MOODLE_36_STABLE 2019-01-30 09:22:42 +01:00
Ryan Wyllie 4293c035a6 MDL-64143 message: make message drawer contacts bold 2019-01-30 09:02:41 +08:00
Andrew Nicols 977cfafd53 MDL-62514 behat: Inplace editable pendingjs wrapper 2019-01-30 08:26:18 +08:00
Andrew Nicols f24c46b406 MDL-62514 behat: Remove potentially conflicting names from description 2019-01-30 08:26:18 +08:00
Andrew Nicols e809dc3394 MDL-62514 behat: Add additional autocomplete validation 2019-01-30 08:26:18 +08:00
Andrew Nicols 55efc4667d 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:26:18 +08:00
Andrew Nicols dd3fa5c531 MDL-62514 behat: Add a wait_for_pending_js to form field 2019-01-30 08:26:18 +08:00
AMOS bot 0ada596ccb Automatically generated installer lang files 2019-01-30 00:10:15 +00:00
Eloy Lafuente (stronk7) 2e65323d4f Merge branch 'MDL-64424-36-expiredfrontpage' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-01-29 23:48:21 +01:00
Eloy Lafuente (stronk7) 4557f2c67b Merge branch 'MDL-64464_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-01-29 19:40:38 +01:00
Ryan Wyllie ffaa6c9f20 MDL-64144 message: show message date in message search results 2019-01-29 16:08:37 +01:00
Sara Arjona 7ab09d0dcc Merge branch 'MDL-63168_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2019-01-29 13:01:00 +01:00
Sara Arjona e14e6a434f Merge branch 'MDL-64313-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-01-29 12:35:40 +01:00
Sara Arjona de4e98c355 Merge branch 'MDL-61623-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-01-29 11:20:20 +01:00
Damyon Wiese 7f0ebd3510 MDL-61623 accessibility: Use role, not aria-role 2019-01-29 14:00:04 +08:00
Mihail Geshoski 0932a5b52e MDL-47247 mod_folder: Apply site config when showexpanded is not set 2019-01-29 08:58:38 +08:00
Sara Arjona f1a21cb9ce Merge branch 'MDL-62668-36' of git://github.com/jleyva/moodle into MOODLE_36_STABLE 2019-01-28 19:43:16 +01:00
Binh Thai be3cc9bed3 MDL-64291 GDPR export: Context paths can be very long, not unique 2019-01-28 20:01:54 +07:00
Sara Arjona cfe678062e Merge branch 'MDL-56604-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-01-28 13:32:49 +01:00
Sara Arjona 485fd16ae0 Merge branch 'MDL-63378-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-01-28 11:38:11 +01:00
Sara Arjona 7152b86394 Merge branch 'MDL-54804_36' of https://github.com/mfabriczy/moodle into MOODLE_36_STABLE 2019-01-28 10:21:41 +01:00
Garrett Boone bc3ba913e7 MDL-64640 feedback: Fix target link on deletion 2019-01-27 18:15:35 +08:00
Andrew Nicols 52804421a0 MDL-64640 usertours: Fix target link on deletion 2019-01-27 18:15:35 +08:00
Kristian Ringer 8237a017d0 MDL-64700 block_recentlyaccessedcourses: don't escape course names 2019-01-25 10:25:34 +11:00
Eloy Lafuente (stronk7) cc8d7ee698 weekly release 3.6.2+ 2019-01-24 15:12:36 +01:00
Eloy Lafuente (stronk7) 8339c17385 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-01-24 15:12:34 +01:00
Shamim Rezaie e02b7243e0 MDL-52132 qbehaviour_manualgraded: no change when comment is left blank 2019-01-24 16:20:10 +08:00
Damyon Wiese 1cf6ed5a17 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:34:17 +08:00
Jun Pataleta a48bccf753 MDL-64597 behat: Properly import behat_util when dropping parallel sites 2019-01-24 12:52:03 +08:00
Damyon Wiese f30ed91534 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:37:16 +08:00
Damyon Wiese 72ea6fc68e 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:32:13 +08:00
Eloy Lafuente (stronk7) 2ad0e72498 Merge branch 'MDL-64240-36' of git://github.com/mickhawkins/moodle into MOODLE_36_STABLE 2019-01-24 00:56:50 +01:00
Eloy Lafuente (stronk7) da13ccc61f Merge branch 'MDL-62963-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-01-24 00:38:28 +01:00
Juan Leyva e76b511228 MDL-62668 mod_workshop: Return feedback for reviewer in assessment phase
Teachers were not able to view the existing feedback.
2019-01-23 18:10:46 +01:00
Eloy Lafuente (stronk7) ff9ba586a1 Merge branch 'MDL-64609-36' of git://github.com/merrill-oakland/moodle into MOODLE_36_STABLE 2019-01-23 18:05:36 +01:00
Mark Sharp eafc25c718 MDL-64391 core_analytics: courseextendednamedisplay 2019-01-23 12:02:15 +00:00
David Mudrák 8bd88a1ecd 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:12:25 +01:00
Mark Nelson 04ae9eeb9f MDL-64644 completion: fixed assertions in privacy test 2019-01-23 17:31:06 +08:00
Mark Nelson d7cc2c8444 MDL-64644 completion: set status correctly in provider 2019-01-23 17:31:06 +08:00
Mark Nelson dacceac522 MDL-64644 completion: ensure we return array for provider 2019-01-23 17:31:06 +08:00
Sara Arjona 663c66b8c0 Merge branch 'MDL-64107-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-01-23 10:19:07 +01:00
Sara Arjona 16d059cf92 Merge branch 'MDL-63628-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-01-23 08:24:34 +01:00
Mark Nelson a0c78cc672 MDL-63168 core_message: added unit test 2019-01-23 13:24:06 +08:00
eWallah 534b0b6147 MDL-63168 core_message: fix failures in migrate_message_data task. 2019-01-23 13:24:06 +08:00
Eric Merrill b2ac807c9f MDL-64609 gradebook: Prevent infinite loop in regrading 2019-01-22 21:40:52 -05:00
Jake Dallimore b92327307a Merge branch 'MDL-52132-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-01-23 09:21:17 +08:00
Eloy Lafuente (stronk7) 7832112121 Merge branch 'MDL-63870_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-01-23 00:09:37 +01:00
Eloy Lafuente (stronk7) 69e8445ac2 Merge branch 'MDL-64465_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-01-23 00:01:48 +01:00
Eloy Lafuente (stronk7) 613c607593 Merge branch 'MDL-64412-36' of https://github.com/snake/moodle into MOODLE_36_STABLE 2019-01-22 23:49:13 +01:00
Eloy Lafuente (stronk7) 56310c4e30 Merge branch 'MDL-64629-36' of git://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-01-22 19:00:54 +01:00
Eloy Lafuente (stronk7) f6857e42fe Merge branch 'MDL-64441-36' of git://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-01-22 18:49:17 +01:00
Shamim Rezaie 0e835752a3 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:43:33 +00:00
Tim Hunt 186fa09d2b 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:43:31 +00:00
Sara Arjona c5fcf18d69 Merge branch 'MDL-63480-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2019-01-22 15:19:02 +01:00
Justus Dieckmann d783d4759c MDL-58256 group: prevents users to be added to a group twice 2019-01-22 13:02:22 +01:00
eWallah d5e0ef78b1 MDL-64633 behat: fix FormatterNotFoundException when updating steps. 2019-01-22 11:39:36 +01:00
Sara Arjona 691da3a929 Merge branch 'MDL-64486-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-01-22 08:23:20 +01:00
Michael Hawkins 8c28651948 MDL-63892 mod_forum: Updating lib unit test 2019-01-22 13:54:54 +08:00
Michael Hawkins ecc36f6066 MDL-63892 mod_forum: Fix last post details in forum view 2019-01-22 13:54:54 +08:00
Michael Hawkins 7f166e30a7 MDL-63892 mod_forum: Correction to timestamp added to edit strings 2019-01-22 13:54:54 +08:00
Peter 86f1a6ba5f MDL-32096 core_report: Remove duplicate filters in reports
* Remove duplicate filters from activity completion and course completion report pages
2019-01-22 13:41:44 +08:00
Damyon Wiese bad1713693 MDL-63628 accessibility: Trigger file links with keyboard 2019-01-22 08:40:49 +08:00
AMOS bot 94ef41597a Automatically generated installer lang files 2019-01-22 00:09:58 +00:00
David Mudrák 9b90c17f74 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 13:26:33 +01:00
Jake Dallimore 3741df64fe Merge branch 'MDL-28445-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2019-01-21 15:58:50 +08:00
Jun Pataleta 843e909b7f MDL-62666 course: Only set the groups setting to true when necessary
* Plus update the comment to be more descriptive.
2019-01-21 14:43:01 +08:00
Andrew Hancox 7ed127cfbb MDL-62666 course: Ignore restore_general_groups on activity duplication 2019-01-21 14:43:01 +08:00
Mihail Geshoski ee724278d3 MDL-63480 reports: Fix name filters in completion reports 2019-01-21 09:24:08 +08:00
Jake Dallimore cbd56f1537 Merge branch 'MDL-60972-36_delete_section_files' of https://github.com/awagner/moodle into MOODLE_36_STABLE 2019-01-21 09:04:40 +08:00
Tim Hunt aa8e765a5d MDL-64590 questions: wrong comments shown in the state history table 2019-01-18 18:06:50 +00:00
Sara Arjona ee59fe2276 MDL-64629 theme_clean: Remove underscore near the help icon 2019-01-18 14:32:53 +01:00
Sara Arjona c8ebfd55a2 Merge branch 'MDL-62968-36' of git://github.com/mickhawkins/moodle into MOODLE_36_STABLE 2019-01-18 12:39:56 +01:00
Amaia Anabitarte 2fcf9253b7 MDL-64385 user: Case insensitive comparison for email domains 2019-01-18 10:05:56 +01:00
Marcus Boon 2e7607d68c MDL-64599 phpunit: Fix typo in arraydataset 2019-01-18 07:09:06 +10:00
Tim Hunt a7428f69ad MDL-63870 quiz: new preview should abandon, not finish, current attempt 2019-01-17 17:55:39 +00:00
Eloy Lafuente (stronk7) 7412ad6141 weekly release 3.6.2+ 2019-01-17 17:48:02 +01:00
Andreas Wagner 1f7b1ad0f2 MDL-60972 core_course: delete section files, when section is deleted. 2019-01-17 08:22:32 +01:00
Peter 68e6a93c70 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:59:30 +08:00
Eloy Lafuente (stronk7) 1732de328b Merge branch 'MDL-63103-m36' of https://github.com/NeillM/moodle into MOODLE_36_STABLE 2019-01-16 19:02:28 +01:00
Sara Arjona 1e559e85a8 Merge branch 'MDL-63916-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-01-16 15:33:23 +01:00
Ryan Wyllie 59305e78ed MDL-64134 message: hide empty sections in search results 2019-01-16 13:12:20 +01:00
Ryan Wyllie 63ab57ef42 MDL-64166 message: reduce size of conversation counts in overview 2019-01-16 08:50:41 +01:00
Eloy Lafuente (stronk7) 1f0f6452bb Merge branch 'MDL-63607-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-01-16 00:37:09 +01:00
Sara Arjona 41da53abe4 Merge branch 'MDL-64346-36' of git://github.com/abgreeve/moodle into MOODLE_36_STABLE 2019-01-15 15:38:28 +01:00
Adrian Greeve 793727d8f4 MDL-64346 mod_resource: Fix problems with # in file name. 2019-01-15 14:29:18 +01:00
Sara Arjona 1c8abf9e96 Merge branch 'MDL-64171-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-01-15 13:55:04 +01:00
Sara Arjona 6a6d78107c Merge branch 'MDL-64425-36' of git://github.com/lameze/moodle into MOODLE_36_STABLE 2019-01-15 13:21:05 +01:00
Sara Arjona 4944798626 Merge branch 'MDL-64432_m36' of git://github.com/gjb2048/moodle into MOODLE_36_STABLE 2019-01-15 12:57:48 +01:00
Sara Arjona 33788a4b5f Merge branch 'MDL-62439-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-01-15 12:02:24 +01:00
Sara Arjona 356e345fb5 Merge branch 'MDL-63881-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2019-01-15 11:39:02 +01:00
Andrew Nicols 1ed1421f0f MDL-52132 core_question: Comment is different if format has changed 2019-01-15 18:57:16 +11:00
Shamim Rezaie 32636f9c2c MDL-52132 qbehaviour_manualgraded: unit test for changing comment format 2019-01-15 18:57:16 +11:00
Eloy Lafuente (stronk7) 0d3c7b21be Merge branch 'MDL-63677-36' of git://github.com/sarjona/moodle into MOODLE_36_STABLE 2019-01-14 23:03:59 +01:00
Mark Nelson 81eb28ab34 MDL-64519 core_message: add missing strings causing AMOS issues 2019-01-14 13:30:02 +01:00
Sara Arjona 64fd3da15d Merge branch 'MDL-60082-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-01-14 12:26:35 +01:00
Shamim Rezaie 5428bcca6c MDL-64551 core_question: Fix double ampersand escaping in tag button 2019-01-14 18:23:59 +11:00
Mark Nelson 624922d3d5 MDL-64566 core_message: removed unnecessary DB call 2019-01-14 09:46:19 +08:00
Eloy Lafuente (stronk7) 68b59f336b Moodle release 3.6.2 2019-01-12 13:26:00 +01:00
Tim Hunt 5361e60e93 MDL-64465 qtypes: fix incorrect context passed to format_string 2019-01-11 11:12:52 +00:00
Tim Hunt a747d9311a 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:12:37 +00:00
Tim Hunt 814dee2184 MDL-64393 drag-drop qtypes: be more robust when page layout changes 2019-01-11 11:11:50 +00:00
Tim Hunt 7fbca34efb MDL-61441 accesslib: get_users_by_capability groups perf improvement 2019-01-11 10:55:31 +00:00
Sara Arjona 4be3c44a5b 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:23:04 +01:00
Neill Magill 3e14b40724 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 09:03:58 +00:00
VinhLe 173d968f87 MDL-64031 enrol_manual: Fix hard-coded list of user fields.
Respect get_extra_user_fields() in PHP code
2019-01-11 11:37:05 +07:00
VinhLe 0b4bb56b4d 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:29:53 +07:00
Luca Bösch 18581165c5 MDL-63881 tool_dataprivacy: 'Contact the privacy officer' profile link. 2019-01-10 22:17:12 +01:00
Luca Bösch 6efd56e074 MDL-62439 output: Debugstringids in overlay windows. 2019-01-10 22:16:48 +01:00
Sara Arjona dfd605320e weekly release 3.6.1+ 2019-01-10 17:51:31 +01:00
Sara Arjona 8f6ba8afc4 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2019-01-10 17:51:30 +01:00
Jake Dallimore b41a94128a Merge branch 'MDL-64004-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-01-10 11:00:25 +08:00
AMOS bot 7365115cf3 Automatically generated installer lang files 2019-01-10 00:08:42 +00:00
Eloy Lafuente (stronk7) 5f85b35305 Merge branch 'MDL-64479_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2019-01-09 23:36:57 +01:00
Ryan Wyllie ea2f42bde4 MDL-64043 message: stop group conversation header re-rendering 2019-01-09 18:46:54 +01:00
Marcus Fabriczy c049e374c3 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-09 23:56:28 +10:30
Eloy Lafuente (stronk7) 3dd8792045 Merge branch 'MDL-63686-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-01-09 12:36:33 +01:00
Andrew Nicols a335f9c4c0 MDL-63686 core: recordset => records when fetching contexts 2019-01-09 19:08:08 +08:00
Tim Hunt 6873ac11a0 MDL-64479 dd-qtypes: fix questions with non-consecutive groups 2019-01-09 10:20:01 +00:00
Jake Dallimore a022611e09 Merge branch 'MDL-64375-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-01-09 15:33:27 +08:00
Damyon Wiese 0d72593a7c MDL-62143 accessibility: Label breadcrumbs 2019-01-09 15:18:36 +08:00
Andrew Nicols 97a0132511 Merge branch 'MDL-62550-36-2' of https://github.com/snake/moodle into MOODLE_36_STABLE 2019-01-09 15:10:12 +08:00
Jake Dallimore 210429d952 Merge branch 'MDL-64345-36' of https://github.com/s-cenni/MDL-64345 into MOODLE_36_STABLE 2019-01-09 14:14:28 +08:00
Jake Dallimore aeb7c0026d 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:31:54 +08:00
Jake Dallimore 19c1651247 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:31:52 +08:00
Jake Dallimore f369450561 Merge branch 'MDL-63761-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2019-01-09 09:07:07 +08:00
Eloy Lafuente (stronk7) b60fa84aad Merge branch 'MDL-64285-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2019-01-09 00:03:13 +01:00
Andrew Nicols 0c8852c98b Merge branch 'MDL-24951_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-01-09 06:43:45 +08:00
Andrew Nicols 0f44be2b7a Merge branch 'MDL-64426_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-01-09 06:38:34 +08:00
Eloy Lafuente (stronk7) db729d9510 MDL-64426 core_message: fix context::instance_by_id() wrong use 2019-01-08 23:07:22 +01:00
Eloy Lafuente (stronk7) e41fd189dd MDL-24951 mod_forum: Apply new string to related scenarios
Plus amend an scenario name that was clearly incorrect.
2019-01-08 16:51:21 +01:00
Michael Hawkins 279df86c7f MDL-64395 groups: Added XSS Risk to the manage groups capability 2019-01-08 16:26:48 +01:00
Michael Hawkins 2e057f082d MDL-64372 userpix: Escape fullname string on userpix index page 2019-01-08 16:26:48 +01:00
Sara Arjona 20c3619d77 MDL-64222 badge: Removed backpackurl from the edit_form 2019-01-08 16:26:48 +01:00
Eloy Lafuente (stronk7) d21c67114f Merge branch 'MDL-64509-36-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_36_STABLE 2019-01-08 16:18:31 +01:00
Andrew Nicols d55a0b81d6 Merge branch 'MDL-58596-36' of git://github.com/vmdef/moodle into MOODLE_36_STABLE 2019-01-08 16:15:34 +08:00
Andrew Nicols 987e822c5e Merge branch 'MDL-64426-36-2' of https://github.com/snake/moodle into MOODLE_36_STABLE 2019-01-08 16:10:06 +08:00
Leon Stringer 7ad3a22b79 MDL-58596 core_stats: fixed infinite loop cause by DST change 2019-01-08 08:08:14 +00:00
Jake Dallimore 0c638fda5c 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:51:32 +08:00
Jake Dallimore caa2b2ce21 Merge branch 'MDL-63686-36' of git://github.com/andrewnicols/moodle into MOODLE_36_STABLE 2019-01-08 14:38:07 +08:00
Andrew Nicols afba820e1d MDL-63686 core: Preload parent contexts 2019-01-08 14:11:53 +08:00
Andrew Nicols 1e59e03e60 Merge branch 'MDL-24951-36' of git://github.com/Chocolate-lightning/moodle into MOODLE_36_STABLE 2019-01-08 13:52:35 +08:00
Andrew Nicols a155e8cb75 Merge branch 'MDL-64497-m36' of https://github.com/sammarshallou/moodle into MOODLE_36_STABLE 2019-01-08 12:28:56 +08:00
Andrew Nicols 6aa1364030 Merge branch 'MDL-63722-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-01-08 12:12:55 +08:00
Andrew Nicols 691a2997b8 Merge branch 'MDL-64400-36' of git://github.com/aanabit/moodle into MOODLE_36_STABLE 2019-01-08 08:28:21 +08:00
Andrew Nicols bd5464547a Merge branch 'MDL-63276_36' of https://github.com/stronk7/moodle into MOODLE_36_STABLE 2019-01-08 06:56:13 +08:00
Eloy Lafuente (stronk7) 90fc88b56d Merge branch 'MDL-63809-36-5' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2019-01-07 22:13:00 +01:00
Helen Foster bb7ebc0ee5 MDL-64509 lang: Import fixed English strings (en_fix)
Significant string change: enablerunnow_desc,tool_task - including
mention of pathtophp requirement
2019-01-07 20:09:48 +01:00
Sara Arjona 8555878283 Merge branch 'MDL-64419-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2019-01-07 14:18:23 +01:00
Andrew Nicols 5a04efc1eb Merge branch 'MDL-57636_m36' of https://github.com/dasistwas/moodle into MOODLE_36_STABLE 2019-01-07 13:48:08 +08:00
David Bogner 352ddf9d42 MDL-57636 frontpage: Fix display enrolled courses 2019-01-04 11:00:25 +01:00
Damyon Wiese 20ad67d21d 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:38 +08:00
sam marshall 6e7597f569 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 17:05:47 +00:00
Jake Dallimore 1f2934b656 Merge branch 'MDL-49651-36' of git://github.com/Chocolate-lightning/moodle into MOODLE_36_STABLE 2019-01-03 10:46:36 +08:00
Peter a03105e4b1 MDL-64486 mod_glossary: Add missing separator for special links 2019-01-03 08:39:59 +08:00
Eloy Lafuente (stronk7) 7bdf798d6a MDL-63276 environment: PHP 7.1 and Moodle 3.2 required 2019-01-03 01:19:48 +01:00
Eloy Lafuente (stronk7) fd1fb3e6db 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.
2019-01-03 01:19:48 +01:00
Jake Dallimore 61bdf6fab3 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:39 +08:00
Jake Dallimore bed5aa4d13 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:34 +08:00
Peter 07deeb497c 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:36:31 +08:00
Michael Hawkins 2fd170c550 MDL-62968 Boost: Adding editor SCSS support 2019-01-02 14:21:22 +08:00
Damyon Wiese e607001e7e 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:25:04 +08:00
Amaia Anabitarte 844a59c301 MDL-64400 core_messages: Mark notifications sent via email as read 2018-12-27 09:18:14 +01:00
Amaia Anabitarte f10c2934aa MDL-64400 core_messages: Allow cron to delete unread notifications too 2018-12-27 09:18:14 +01:00
Mathew efe7f18200 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:35:38 +08:00
Mathew 0df8f503a3 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:14:39 +08:00
Gareth Barnard 6a9e87112c MDL-64432 theme_bootstrapbase: Favourites myoverview icon tooltip. 2018-12-21 11:24:20 +00:00
AMOS bot c4b911d645 Automatically generated installer lang files 2018-12-21 00:08:07 +00:00
Sara Arjona 7534d21e59 MDL-64441 badges: Remove notice when language is empty 2018-12-20 16:29:28 +01:00
Víctor Déniz Falcón 524e1fa64e MDL-58596 core_stats: unit test for stats_get_base_weekly 2018-12-20 13:59:34 +00:00
Adrian Greeve 7f234acc6e weekly release 3.6.1+ 2018-12-20 11:09:17 +01:00
Adrian Greeve 1003775c7c NOBUG: Fixed SVG browser compatibility 2018-12-20 11:09:17 +01:00
Adrian Greeve 025c532aa9 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2018-12-20 11:09:16 +01:00
Andrew Nicols b1c50364d0 Merge branch 'MDL-64038-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2018-12-20 13:56:45 +08:00
Andrew Nicols eac010fbb9 Merge branch 'MDL-63512-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2018-12-20 13:03:49 +08:00
Peter c556416385 MDL-63512 mod_lesson: Update the lesson css to exclude mediaplugin div 2018-12-20 12:51:04 +08:00
Peter 1f91c082c5 MDL-63512 mod_lesson: Fix video links provided in feedback 2018-12-20 12:51:04 +08:00
Stephen Bourget f4c843d00b MDL-63614 badges: Add COMPLETION_FAIL support to badge criteria 2018-12-19 10:30:27 -05:00
Adrian Greeve 421358bc47 Merge branch 'MDL-64392-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2018-12-19 12:04:29 +01:00
Adrian Greeve 7b661b8d6f MDL-59954 course: Remove unused global. 2018-12-19 10:48:27 +01:00
Peter 74780ef62b 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 10:47:01 +01:00
Shamim Rezaie a9223b49a0 MDL-63722 javascript: misinterpret as outside click if DOM is modified 2018-12-19 16:06:38 +11:00
Jake Dallimore 50e3951acc Merge branch 'MDL-64229_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2018-12-19 11:37:40 +08:00
Jake Dallimore e4cac445c2 Merge branch 'MDL-64216-m36' of https://github.com/micaherne/moodle into MOODLE_36_STABLE 2018-12-19 11:08:05 +08:00
Andrew Nicols 1dca8a6679 Merge branch 'MDL-63512-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2018-12-19 10:00:10 +08:00
AMOS bot 2f90c2a35d Automatically generated installer lang files 2018-12-19 00:09:03 +00:00
Simey Lameze 6f76116cd2 MDL-64425 block_timeline: fix incorrect get_string parameter 2018-12-19 07:42:25 +08:00
Adrian Greeve 30ff131e71 Merge branch 'MDL-64025-36' of https://github.com/christianwolters/moodle into MOODLE_36_STABLE 2018-12-18 16:00:47 +01:00
Bas Brands 6d66740146 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:39:17 +01:00
Michael Hawkins a7c9b0b43d 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:12:47 +08:00
Michael Hawkins 38a757cc18 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:12:47 +08:00
Shamim Rezaie 10c38b2e34 MDL-63809 question: handling bad questions in question_has_capability_on 2018-12-18 15:44:20 +11:00
Tim Hunt 636a752d11 MDL-63809 question bank: ensure question_has_capability_on can be called 2018-12-18 15:44:20 +11:00
Damyon Wiese 73d4d4f8c3 MDL-60082 assign: Grading worksheet with no grade
If the grade type is NONE - do not include the maxgrade column.
2018-12-18 11:14:17 +08:00
Jake Dallimore 909b8fe981 Merge branch 'MDL-64309_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2018-12-18 11:11:45 +08:00
Damyon Wiese 1e96000bb3 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:08:17 +08:00
Bas Brands ceb92a3553 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:51:19 +01:00
John Beedell 79265f94a9 MDL-64404 qtype: gapselect currency like options dont show 2018-12-17 12:34:31 +00:00
Sara Cenni 9d235abdb4 MDL-64345 core: Make FB logo upgrade cross-DB compatible 2018-12-17 11:22:27 +01:00
Jun Pataleta c9e518f483 Merge branch 'MDL-59629-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2018-12-17 15:56:13 +08:00
Andrew Nicols bcc163c6fd MDL-63607 behat: Remove theme from config whitelist 2018-12-17 15:55:03 +08:00
Damyon Wiese 391eed0198 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:47:49 +08:00
Tomasz Muras c9f765452f MDL-52966 core: static cache fix for file types. 2018-12-17 15:40:39 +08:00
Andrew Nicols 6dea9ae21e Merge branch 'MDL-61633-36' of https://github.com/lucisgit/moodle into MOODLE_36_STABLE 2018-12-17 15:29:12 +08:00
Andrew Nicols b9ada50b92 Merge branch 'MDL-60518-36' of git://github.com/aanabit/moodle into MOODLE_36_STABLE 2018-12-17 14:59:39 +08:00
Jun Pataleta ff42789a76 Merge branch 'MDL-63260_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2018-12-17 14:10:12 +08:00
Damyon Wiese 174c288c0f 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:02:56 +08:00
Damyon Wiese 1e6296c745 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:46 +08:00
Jake Dallimore 4cb644cf24 Merge branch 'MDL-62756_MOODLE_36' of https://github.com/miotto/moodle into MOODLE_36_STABLE 2018-12-17 11:24:59 +08:00
Andrew Nicols 867a3147ad Merge branch 'MDL-64388-36' of git://github.com/bmbrands/moodle into MOODLE_36_STABLE 2018-12-17 09:14:36 +08:00
Christian Wolters 26640d3831 MDL-64025 admin_bookmarks: Enable bookmarking of admin categories 2018-12-16 15:48:12 +01:00
AMOS bot 24aa36db21 Automatically generated installer lang files 2018-12-15 00:09:15 +00:00
Bas Brands 0cd2c36605 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:30:52 +01:00
Bas Brands ea6ae74019 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:13:51 +01:00
Bas Brands 99440d3db7 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:30:30 +01:00
Mirko Otto 89f8d4adde MDL-62756 form: Remove any click handler first.
The handler has the old state variable. Remove any click handler first.
2018-12-14 10:30:49 +01:00
Amaia Anabitarte 7b11b53d51 MDL-60518 core_competency: Set $USER global variable for tests 2018-12-14 10:25:44 +01:00
Frédéric Massart dd815d254f MDL-60518 core_user: A user with ID 0 is never a real user 2018-12-14 10:25:44 +01:00
Jun Pataleta aa0b2c74dd MDL-64285 core: Skip 64 bits check for 32-bit PHP versions in unit tests 2018-12-14 11:21:00 +08:00
Jun Pataleta 06b76ab9c8 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:21:00 +08:00
Peter 90ec922213 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:30:07 +08:00
Peter 54ff8c77bf MDL-63512 mod_lesson: Fix video links provided in feedback 2018-12-14 10:27:24 +08:00
Jake Dallimore 9c85ac5d89 weekly release 3.6.1+ 2018-12-14 07:51:49 +08:00
Jake Dallimore 4a087d2701 Merge branch 'install_36_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_36_STABLE 2018-12-14 07:51:48 +08:00
Tony Butler 79c7162899 MDL-61633 assignfeedback_editpdf: Scroll back to top when changing pages 2018-12-13 12:18:43 +00:00
Mark Nelson fd12e12d8c MDL-64229 core_message: ensure profile pic links to profile 2018-12-13 12:15:13 +08:00
Jake Dallimore 19a759649c Merge branch 'MDL-62624-36' of git://github.com/mihailges/moodle into MOODLE_36_STABLE 2018-12-12 16:13:44 +08:00
Damyon Wiese 467efca6aa MDL-63916 backup: Do not display timestamp
Convert the date+time field to a userdate for display.
2018-12-12 12:20:13 +08:00
Jun Pataleta 39fbf414ad Merge branch 'MDL-41507-36' of git://github.com/rezaies/moodle into MOODLE_36_STABLE 2018-12-12 11:17:40 +08:00
Shamim Rezaie 6299c142c4 MDL-41507 core_group: Consistent default value for FEATURE_GROUPS 2018-12-12 14:04:47 +11:00
Jake Dallimore 17fccfc78b Merge branch 'MDL-64003-36' of https://github.com/aanabit/moodle into MOODLE_36_STABLE 2018-12-12 10:03:22 +08:00
Jake Dallimore 7c073af175 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:43:04 +08:00
Jake Dallimore 3b114369bc Merge branch 'MDL-63887_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2018-12-12 09:42:55 +08:00
Jake Dallimore 1641091ae7 Merge branch 'MDL-63150-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2018-12-12 08:32:35 +08:00
Jake Dallimore 6b391174e4 Merge branch 'MDL-63145-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2018-12-12 08:30:00 +08:00
Jake Dallimore 5c2cae3d9c Merge branch 'MDL-63147-36' of git://github.com/peterRd/moodle into MOODLE_36_STABLE 2018-12-12 08:25:28 +08:00
Peter 8eae354c0f 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:32:09 +08:00
Peter 8a1ebcf100 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:18:40 +08:00
Peter c8289ad180 MDL-63147 mod_resource: Accept userid in resource event_action 2018-12-12 07:08:25 +08:00
Tim Hunt a637d77826 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 14:04:13 +00:00
Amaia Anabitarte 00302ce7a2 MDL-64003 core_message: Use sql_like_escape() in message_search_users 2018-12-11 11:41:52 +01:00
Jake Dallimore 9617c3a660 Merge branch 'MDL-64357_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2018-12-11 17:44:27 +08:00
Mark Nelson 0ccc7a8a5c MDL-64357 ltiservice_gradebookservices: updated unit tests 2018-12-11 17:03:15 +08:00
Claude Vervoort 8d84ee97da MDL-64357 ltiservice_gradebookservices: fix cleanup deleting lineitems 2018-12-11 17:03:15 +08:00
Damyon Wiese 59f6c0c7dd MDL-64313 assign: feedback viewed event
When a student views their submission, if it has feedback create an event.
2018-12-11 14:07:12 +08:00
Jake Dallimore c8de0b91a0 Merge branch 'MDL-62922-36' of git://github.com/junpataleta/moodle into MOODLE_36_STABLE 2018-12-11 12:50:36 +08:00
Jun Pataleta 841c9314ba Merge branch 'MDL-64280-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2018-12-11 09:53:51 +08:00
AMOS bot bcab22a63b Automatically generated installer lang files 2018-12-11 00:10:00 +00:00
Luca Bösch 3fba5b6826 MDL-64280 core_outcome: Add/remove outcome buttons style. 2018-12-10 17:56:13 +01:00
Ryan Wyllie 67db9af9db MDL-64275 message: fix update unread conversation counts 2018-12-10 15:07:22 +08:00
Jun Pataleta 6b34db6b00 Merge branch 'MDL-62061-36' of git://github.com/abgreeve/moodle into MOODLE_36_STABLE 2018-12-10 14:46:44 +08:00
Mihail Geshoski 36d683c805 MDL-62624 lesson: Fix alignment in matching questions in boost 2018-12-10 13:47:37 +08:00
Jun Pataleta 6fe370eef9 Merge branch 'MDL-64332_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2018-12-10 09:37:51 +08:00
Jake Dallimore 11d0c68d56 weekly release 3.6.1+ 2018-12-10 08:10:21 +08:00
Andrew Nicols 0cd5cf60de Merge branch 'MDL-46783-36-fix' of https://github.com/snake/moodle into MOODLE_36_STABLE 2018-12-10 08:09:09 +08:00
Jake Dallimore e8cabad431 MDL-46783 accesslib: add recordrtc cap check to match master branch 2018-12-10 08:04:54 +08:00
Tim Hunt 343f4e9d56 MDL-64332 questions: idnumber should not prevent easy duplication 2018-12-06 14:41:58 +00:00
Adrian Greeve 6ff8d9bb2c 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:37:41 +01:00
papillon326 53949e65a7 MDL-63887 auth_ldap: avoid infinite loop when search limit is reached 2018-12-06 15:40:34 +08:00
papillon326 946bef37bf MDL-63887 auth_ldap: changed variable names to be conform to core 2018-12-06 15:40:34 +08:00
Jun Pataleta ed9ee5743d Merge branch 'MDL-64283-36' of git://github.com/damyon/moodle into MOODLE_36_STABLE 2018-12-06 14:57:41 +08:00
Damyon Wiese 115b696f30 MDL-64283 competency: Correct numbering in tests 2018-12-06 14:27:26 +08:00
Jake Dallimore 8f0bd4fb15 Merge branch 'MDL-63710-MOODLE_36' of https://github.com/ilya-catalyst/moodle into MOODLE_36_STABLE 2018-12-06 11:41:11 +08:00
Jake Dallimore 4071cbebf5 Merge branch 'MDL-46783_36' of https://github.com/timhunt/moodle into MOODLE_36_STABLE 2018-12-06 10:23:32 +08:00
Ilya Tregubov 3b9f40920a MDL-63710 repository: Delete orphaned file records. 2018-12-06 12:35:47 +11:00
Jun Pataleta 866de1e3ff Merge branch 'MOODLE_36_STABLE-MDL-64290-imscc-restore-temp-dir' of https://github.com/mspall/moodle into MOODLE_36_STABLE 2018-12-06 08:57:09 +08:00
Michael Spall 60c93464b5 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 11:09:20 -07:00
Tim Hunt 0c081d2468 MDL-46783 accesslib: add tests for MDL-63818
MDL-46783 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-63818
at the time, but it is now, so here they are.
2018-12-05 16:46:20 +00:00
Tim Hunt 550c4bdf6e 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:46:15 +00:00
Mark Nelson 54fc0f1b28 MDL-64309 core_message: minor string changes to drawer 2018-12-05 19:34:12 +08:00
Jun Pataleta 6522f66dd7 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:32:09 +08:00
Ryan Wyllie e7691f15b9 MDL-64274 message: deleteMessages in message_repository return promise 2018-12-05 14:57:43 +08:00
Jake Dallimore fe1d7d118e Merge branch 'MDL-64198-36' of https://github.com/lucaboesch/moodle into MOODLE_36_STABLE 2018-12-05 14:30:43 +08:00
Damyon Wiese 7e2f393054 Merge branch 'MDL-60267-master' of https://github.com/rogerbaba/moodle into MOODLE_36_STABLE 2018-12-05 12:46:51 +08:00
Eloy Lafuente (stronk7) d09dc52b0a Moodle release 3.6.1 2018-12-04 17:42:58 +01:00
Luca Bösch c192c5e4e3 MDL-64198 course: set formatted modulename for togglecompletion js. 2018-12-04 14:33:34 +01:00
Michael Aherne 3ff4fc8e45 MDL-64216 privacy: Split query to use indexes. 2018-12-04 13:31:10 +00:00
Eloy Lafuente (stronk7) 6e19850f6e weekly release 3.6+ 2018-12-04 13:06:09 +01:00
Bas Brands 5d30474242 MDL-63223 theme_boost: flexbox for login pagin footer 2018-12-04 12:06:49 +08:00
Jun Pataleta 1b972c31ac Merge branch 'MDL-64307_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2018-12-04 12:03:08 +08:00
Mark Nelson 29b6ac23e9 MDL-64307 core_message: do not include disabled conversations in count 2018-12-04 11:48:54 +08:00
Mark Nelson 44b6ffb68c MDL-64307 core: set all individual conversations to enabled 2018-12-04 11:44:59 +08:00
Jun Pataleta 79abbd9adc Merge branch 'MDL-64206_36' of git://github.com/markn86/moodle into MOODLE_36_STABLE 2018-12-04 11:13:37 +08:00
Tim Hunt 270524858e MDL-64286 qtype_gapselect: removed unneeded line of code
The extended Behat test show the qtype works fine without it.
2018-12-04 11:12:52 +08:00
Damyon Wiese 60f9a401a9 Merge branch 'MDL-64155-master' of git://github.com/vmdef/moodle into MOODLE_36_STABLE 2018-12-03 15:26:56 +08:00
Tim Hunt ac0b8201a9 MDL-63459 qtype_calculatedmulti: fix incorrect hint object type 2018-12-03 14:25:41 +08:00
Tim Hunt be27fc0fe3 MDL-63459 qtype_calculatedmulti: unit test should test this qtype
This also demonstrates the bug to be fixed
2018-12-03 14:25:17 +08:00
Mark Nelson ebd104448f MDL-64206 core: updated FB logo URL 2018-12-03 12:23:47 +08:00
Andrew Nicols c69f425a7a Merge branch 'MDL-64300_36' of git://github.com/stronk7/moodle into MOODLE_36_STABLE 2018-12-03 08:35:32 +08:00
Eloy Lafuente (stronk7) e38e718441 MDL-64300 upgrade: add 3.6.0 separation line to all upgrade scripts 2018-12-02 18:37:59 +01: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
Roger Barras 6959abc816 MDL-60267 user: Fix set default data for the user profile field 2018-11-02 20:09:04 +01:00
1504 changed files with 32151 additions and 9909 deletions
+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',
+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
+7 -6
View File
@@ -11,6 +11,11 @@ notifications:
language: php
dist: xenial
services:
- mysql
php:
# We only run the highest and lowest supported versions to reduce the load on travis-ci.org.
- 7.2
@@ -18,10 +23,6 @@ php:
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:
@@ -76,10 +77,10 @@ install:
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' ];
+1
View File
@@ -24,6 +24,7 @@
* Grunt configuration
*/
/* eslint-env node */
module.exports = function(grunt) {
var path = require('path'),
tasks = {},
+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
}
+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>
+1 -1
View File
@@ -46,7 +46,7 @@ $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
// 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');
+2 -2
View File
@@ -40,7 +40,7 @@ $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
// 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);
+28 -6
View File
@@ -823,8 +823,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'));
@@ -1450,9 +1449,11 @@ class core_admin_renderer extends plugin_renderer_base {
$class = 'requires-failed';
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'label label-important');
}
$requires[] = html_writer::tag('li',
html_writer::span(get_string('moodleversion', 'core_plugin', $plugin->versionrequires), 'dep dep-core').
' '.$label, array('class' => $class));
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));
}
} else {
$actions = array();
@@ -2091,6 +2092,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);
}
}
+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;
@@ -623,7 +623,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
@@ -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');
+1 -1
View File
@@ -330,7 +330,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));
+22 -2
View File
@@ -21,8 +21,28 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
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));
$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')
);
$optionalsubsystems->add(new admin_setting_configselect(
'messagingdeletereadnotificationsdelay',
new lang_string('messagingdeletereadnotificationsdelay', 'admin'),
new lang_string('configmessagingdeletereadnotificationsdelay', 'admin'),
604800,
$options)
);
$optionalsubsystems->add(new admin_setting_configselect(
'messagingdeleteallnotificationsdelay',
new lang_string('messagingdeleteallnotificationsdelay', 'admin'),
new lang_string('configmessagingdeleteallnotificationsdelay', 'admin'),
2620800,
$options)
);
$optionalsubsystems->add(new admin_setting_configcheckbox('messagingallowemailoverride', new lang_string('messagingallowemailoverride', 'admin'), new lang_string('configmessagingallowemailoverride','admin'), 0));
+5 -29
View File
@@ -48,7 +48,6 @@ 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;
}
@@ -57,17 +56,12 @@ class behat_admin extends behat_base {
// 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_forms::i_am_on_homepage');
}
// 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('searchinsettings', 'admin'), $label]);
$this->execute("behat_general::i_click_on_in_the", [get_string('search', 'admin'), 'button', '.block_settings', 'css_element']);
// 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.
@@ -83,35 +77,17 @@ class behat_admin extends behat_base {
"@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;
}
// 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
@@ -153,6 +153,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;
}
}
@@ -141,7 +141,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;
}
@@ -247,7 +247,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';
@@ -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']) {
@@ -62,7 +62,7 @@ $string['indicators'] = 'Indicators';
$string['info'] = 'Info';
$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['invalidprediction'] = 'Invalid to get predictions';
$string['invalidtraining'] = 'Invalid to train the model';
@@ -75,6 +75,7 @@ $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';
@@ -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="m-t-2 m-b-1">
{{> core/notification_info}}
</div>
{{/noanalysables}}
{{^noanalysables}}
<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>
+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
@@ -30,7 +30,7 @@ $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';
+3 -3
View File
@@ -162,11 +162,11 @@ class tool_behat_renderer extends plugin_renderer_base {
$html .= $this->output->heading($title);
// Info.
$installurl = behat_command::DOCS_URL . '#Installation';
$installurl = behat_command::DOCS_URL;
$installlink = html_writer::tag('a', $installurl, array('href' => $installurl, 'target' => '_blank'));
$writetestsurl = behat_command::DOCS_URL . '#Writing_features';
$writetestsurl = 'https://docs.moodle.org/dev/Writing acceptance tests';
$writetestslink = html_writer::tag('a', $writetestsurl, array('href' => $writetestsurl, 'target' => '_blank'));
$writestepsurl = behat_command::DOCS_URL . '#Adding_steps_definitions';
$writestepsurl = 'https://docs.moodle.org/dev/Writing_new_acceptance_test_step_definitions';
$writestepslink = html_writer::tag('a', $writestepsurl, array('href' => $writestepsurl, 'target' => '_blank'));
$infos = array(
get_string('installinfo', 'tool_behat', $installlink),
@@ -20,12 +20,12 @@ Feature: Edit capabilities
And I set the following system permissions of "Teacher" role:
| capability | permission |
| block/mnet_hosts:myaddinstance | Allow |
| moodle/community:add | Inherit |
| moodle/site:messageanyuser | Inherit |
| moodle/grade:managesharedforms | Prevent |
| moodle/course:request | Prohibit |
When I follow "Edit Teacher role"
Then "block/mnet_hosts:myaddinstance" capability has "Allow" permission
And "moodle/community:add" capability has "Not set" permission
And "moodle/site:messageanyuser" capability has "Not set" permission
And "moodle/grade:managesharedforms" capability has "Prevent" permission
And "moodle/course:request" capability has "Prohibit" permission
@@ -0,0 +1,27 @@
@tool_behat
Feature: Behat steps for interacting with form work
In order to test my Moodle code
As a developer
I need the Behat steps for form elements to work reliably
@javascript
Scenario: Test fields in containers
Given the following "courses" exist:
| fullname | shortname |
| Course 1 | C1 |
When I log in as "admin"
And I am on "Course 1" course homepage
# Just get to any form.
And I navigate to "Edit settings" in current page administration
And I set the field "Course full name" in the "General" "fieldset" to "Frog"
And I set the following fields in the "Appearance" "fieldset" to these values:
| Show activity reports | Yes |
| Number of announcements | 1 |
Then the field "Show activity reports" in the "Appearance" "fieldset" matches value "Yes"
And the field "Show activity reports" in the "Appearance" "fieldset" does not match value "No"
And the following fields in the "region-main" "region" match these values:
| Course full name | Frog |
| Number of announcements | 1 |
And the following fields in the "region-main" "region" do not match these values:
| Course full name | Course 1 |
| Number of announcements | 5 |
+11 -9
View File
@@ -114,15 +114,17 @@ class tool_capability_renderer extends plugin_renderer_base {
}
// Start the list item, and print the context name as a link to the place to make changes.
if ($contextid == context_system::instance()->id) {
$url = new moodle_url('/admin/roles/manage.php');
$title = get_string('changeroles', 'tool_capability');
} else {
$url = new moodle_url('/admin/roles/override.php', array('contextid' => $contextid));
$title = get_string('changeoverrides', 'tool_capability');
}
$context = context::instance_by_id($contextid);
$html = $this->output->heading(html_writer::link($url, $context->get_context_name(), array('title' => $title)), 3);
if ($context instanceof context_system) {
$url = new moodle_url('/admin/roles/manage.php');
} else {
$url = new moodle_url('/admin/roles/permissions.php', ['contextid' => $contextid]);
}
$title = get_string('permissionsincontext', 'core_role', $context->get_context_name());
$html = $this->output->heading(html_writer::link($url, $context->get_context_name(), ['title' => $title]), 3);
$html .= html_writer::table($table);
// If there are any child contexts, print them recursively.
if (!empty($contexts[$contextid]->children)) {
@@ -133,4 +135,4 @@ class tool_capability_renderer extends plugin_renderer_base {
return $html;
}
}
}
+42
View File
@@ -222,6 +222,48 @@ class api {
}
}
// Clean the legacy role assignments which are stale.
$paramsclean['usercontext'] = CONTEXT_USER;
$paramsclean['component'] = 'tool_cohortroles';
$sql = 'SELECT DISTINCT(ra.id), ra.roleid, ra.userid, ra.contextid, ctx.instanceid
FROM {role_assignments} ra
JOIN {context} ctx ON ctx.id = ra.contextid AND ctx.contextlevel = :usercontext
JOIN {cohort_members} cm ON cm.userid = ctx.instanceid
LEFT JOIN {tool_cohortroles} tc ON tc.cohortid = cm.cohortid
AND tc.userid = ra.userid
AND tc.roleid = ra.roleid
WHERE ra.component = :component
AND tc.id is null';
if ($candidatelegacyassignments = $DB->get_records_sql($sql, $paramsclean)) {
$sql = 'SELECT DISTINCT(ra.id)
FROM {role_assignments} ra
JOIN {context} ctx ON ctx.id = ra.contextid AND ctx.contextlevel = :usercontext
JOIN {cohort_members} cm ON cm.userid = ctx.instanceid
JOIN {tool_cohortroles} tc ON tc.cohortid = cm.cohortid AND tc.userid = ra.userid
WHERE ra.component = :component';
if ($currentvalidroleassignments = $DB->get_records_sql($sql, $paramsclean)) {
foreach ($candidatelegacyassignments as $candidate) {
if (!array_key_exists($candidate->id, $currentvalidroleassignments)) {
role_unassign($candidate->roleid, $candidate->userid, $candidate->contextid, 'tool_cohortroles');
$rolesremoved[] = array(
'useridassignedto' => $candidate->userid,
'useridassignedover' => $candidate->instanceid,
'roleid' => $candidate->roleid
);
}
}
} else {
foreach ($candidatelegacyassignments as $candidate) {
role_unassign($candidate->roleid, $candidate->userid, $candidate->contextid, 'tool_cohortroles');
$rolesremoved[] = array(
'useridassignedto' => $candidate->userid,
'useridassignedover' => $candidate->instanceid,
'roleid' => $candidate->roleid
);
}
}
}
return array('rolesadded' => $rolesadded, 'rolesremoved' => $rolesremoved);
}
@@ -103,5 +103,4 @@ class cohort_role_assignment extends persistent {
return true;
}
}
+82 -7
View File
@@ -50,8 +50,6 @@ class tool_cohortroles_api_testcase extends advanced_testcase {
* Setup function- we will create a course and add an assign instance to it.
*/
protected function setUp() {
global $DB;
$this->resetAfterTest(true);
// Create some users.
@@ -133,14 +131,91 @@ class tool_cohortroles_api_testcase extends advanced_testcase {
public function test_delete_cohort_role_assignment() {
$this->setAdminUser();
$params = (object) array(
// Create a cohort role assigment.
$params = (object) [
'userid' => $this->userassignto->id,
'roleid' => $this->roleid,
'cohortid' => $this->cohort->id
);
$result = api::create_cohort_role_assignment($params);
$worked = api::delete_cohort_role_assignment($result->get('id'));
$this->assertTrue($worked);
];
$cohortroleassignment = api::create_cohort_role_assignment($params);
$sync = api::sync_all_cohort_roles();
$rolesadded = [
[
'useridassignedto' => $this->userassignto->id,
'useridassignedover' => $this->userassignover->id,
'roleid' => $this->roleid
]
];
$expected = [
'rolesadded' => $rolesadded,
'rolesremoved' => []
];
$this->assertEquals($sync, $expected);
// Delete the cohort role assigment and confirm the roles are removed.
$result = api::delete_cohort_role_assignment($cohortroleassignment->get('id'));
$this->assertTrue($result);
$sync = api::sync_all_cohort_roles();
$expected = [
'rolesadded' => [],
'rolesremoved' => $rolesadded
];
$this->assertEquals($expected, $sync);
}
/**
* Test case verifying that syncing won't remove role assignments if they are valid for another cohort role assignment.
*/
public function test_delete_cohort_role_assignment_cohorts_having_same_members() {
$this->setAdminUser();
// Create 2 cohorts, with a 1 user (user1) present in both,
// and user2 and user3 members of 1 cohort each.
$cohort1 = $this->getDataGenerator()->create_cohort();
$cohort2 = $this->getDataGenerator()->create_cohort();
$user1 = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$user3 = $this->getDataGenerator()->create_user();
cohort_add_member($cohort1->id, $user1->id);
cohort_add_member($cohort1->id, $user2->id);
cohort_add_member($cohort2->id, $user1->id);
cohort_add_member($cohort2->id, $user3->id);
// And a role and a user to assign that role to.
$user4 = $this->getDataGenerator()->create_user(); // A cohort manager, for example.
$roleid = create_role('Role 1', 'myrole', 'test');
// Assign the role for user4 in both cohorts.
$params = (object) [
'userid' => $user4->id,
'roleid' => $roleid,
'cohortid' => $cohort1->id
];
$cohort1roleassignment = api::create_cohort_role_assignment($params);
$params->cohortid = $cohort2->id;
$cohort2roleassignment = api::create_cohort_role_assignment($params);
$sync = api::sync_all_cohort_roles();
// There is no guarantee about the order of roles assigned.
// so confirm we have 3 role assignments, and they are for the users 1, 2 and 3.
$this->assertCount(3, $sync['rolesadded']);
$addedusers = array_column($sync['rolesadded'], 'useridassignedover');
$this->assertContains($user1->id, $addedusers);
$this->assertContains($user2->id, $addedusers);
$this->assertContains($user3->id, $addedusers);
// Remove the role assignment for user4/cohort1.
// Verify only 1 role is unassigned as the others are still valid for the other cohort role assignment.
$result = api::delete_cohort_role_assignment($cohort1roleassignment->get('id'));
$this->assertTrue($result);
$sync = api::sync_all_cohort_roles();
$this->assertCount(0, $sync['rolesadded']);
$this->assertCount(1, $sync['rolesremoved']);
$removedusers = array_column($sync['rolesremoved'], 'useridassignedover');
$this->assertContains($user2->id, $removedusers);
}
public function test_list_cohort_role_assignments() {
+3
View File
@@ -41,5 +41,8 @@ function xmldb_tool_customlang_upgrade($oldversion) {
// Automatically generated Moodle v3.5.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.6.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
@@ -920,9 +920,17 @@ class expired_contexts_manager {
* @return bool
*/
protected static function is_course_context_expired_or_unprotected_for_user(\context $context, \stdClass $user) {
$expiryrecords = self::get_nested_expiry_info_for_courses($context->path);
$info = $expiryrecords[$context->path]->info;
if ($context->get_course_context()->instanceid == SITEID) {
// The is an activity in the site course (front page).
$purpose = data_registry::get_effective_contextlevel_value(CONTEXT_SYSTEM, 'purpose');
$info = static::get_expiry_info($purpose);
} else {
$expiryrecords = self::get_nested_expiry_info_for_courses($context->path);
$info = $expiryrecords[$context->path]->info;
}
if ($info->is_fully_expired()) {
// This context is fully expired.
return true;
@@ -440,6 +440,9 @@ class purpose extends persistent {
}
if (!empty($data->sensitivedatareasons) && is_array($data->sensitivedatareasons)) {
$data->sensitivedatareasons = implode(',', $data->sensitivedatareasons);
} else {
// Nothing selected. Set default value of null.
$data->sensitivedatareasons = null;
}
// A single value.
@@ -127,13 +127,17 @@ class process_data_request_task extends adhoc_task {
$thing = $fs->create_file_from_pathname($filerecord, $exportedcontent);
$completestatus = api::DATAREQUEST_STATUS_DOWNLOAD_READY;
} else if ($request->type == api::DATAREQUEST_TYPE_DELETE) {
// Delete the data.
$manager = new \core_privacy\manager();
$manager->set_observer(new \tool_dataprivacy\manager_observer());
// Delete the data for users other than the primary admin, which is rejected.
if (is_primary_admin($foruser->id)) {
$completestatus = api::DATAREQUEST_STATUS_REJECTED;
} else {
$manager = new \core_privacy\manager();
$manager->set_observer(new \tool_dataprivacy\manager_observer());
$manager->delete_data_for_user($approvedclcollection);
$completestatus = api::DATAREQUEST_STATUS_DELETED;
$deleteuser = !$foruser->deleted;
$manager->delete_data_for_user($approvedclcollection);
$completestatus = api::DATAREQUEST_STATUS_DELETED;
$deleteuser = !$foruser->deleted;
}
}
// When the preparation of the metadata finishes, update the request status to awaiting approval.
@@ -134,6 +134,10 @@ class tool_dataprivacy_data_request_form extends moodleform {
$errors['type'] = get_string('errorrequestalreadyexists', 'tool_dataprivacy');
}
if ($data['type'] == api::DATAREQUEST_TYPE_DELETE && is_primary_admin($data['userid'])) {
$errors['type'] = get_string('errorcannotdeleteadmin', 'tool_dataprivacy');
}
return $errors;
}
}
+3
View File
@@ -313,5 +313,8 @@ function xmldb_tool_dataprivacy_upgrade($oldversion) {
upgrade_plugin_savepoint(true, 2018112500, 'tool', 'dataprivacy');
}
// Automatically generated Moodle v3.6.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
@@ -124,6 +124,7 @@ $string['editpurposes'] = 'Edit purposes';
$string['effectiveretentionperiodcourse'] = '{$a} (after the course end date)';
$string['effectiveretentionperioduser'] = '{$a} (since the last time the user accessed the site)';
$string['emailsalutation'] = 'Dear {$a},';
$string['errorcannotdeleteadmin'] = 'Cannot create deletion request for the primary site admin';
$string['errorinvalidrequestcreationmethod'] = 'Invalid request creation method!';
$string['errorinvalidrequeststatus'] = 'Invalid request status!';
$string['errorinvalidrequesttype'] = 'Invalid request type!';
@@ -277,7 +278,7 @@ $string['resubmitrequestasnew'] = 'Resubmit as new request';
$string['resubmitrequest'] = 'Resubmit {$a->type} request for {$a->username}';
$string['resubmittedrequest'] = 'The existing {$a->type} request for {$a->username} was cancelled and resubmitted';
$string['resultdeleted'] = 'You recently requested to have your account and personal data in {$a} to be deleted. This process has been completed and you will no longer be able to log in.';
$string['resultdownloadready'] = 'Your copy of your personal data in {$a} that you recently requested is now available for download. Please click on the link below to go to the download page.';
$string['resultdownloadready'] = 'Your copy of your personal data from {$a} that you recently requested is now available for download from the following link.';
$string['reviewdata'] = 'Review data';
$string['retentionperiod'] = 'Retention period';
$string['retentionperiod_help'] = 'The retention period specifies the length of time that data should be kept for. When the retention period has expired, the data is flagged and listed for deletion, awaiting admin confirmation.';
+1 -1
View File
@@ -78,7 +78,7 @@ function tool_dataprivacy_myprofile_navigation(tree $tree, $user, $iscurrentuser
// Check if the user has an ongoing data deletion request.
$hasdeleterequest = \tool_dataprivacy\api::has_ongoing_request($user->id, \tool_dataprivacy\api::DATAREQUEST_TYPE_DELETE);
// Show data deletion link only if the user doesn't have an ongoing data deletion request.
if (!$hasdeleterequest) {
if (!$hasdeleterequest && !is_primary_admin($user->id)) {
$deleteparams = ['type' => \tool_dataprivacy\api::DATAREQUEST_TYPE_DELETE];
$deleteurl = new moodle_url('/admin/tool/dataprivacy/createdatarequest.php', $deleteparams);
$deletenode = new core_user\output\myprofile\node('privacyandpolicies', 'requestdatadeletion',
-10
View File
@@ -15,16 +15,6 @@
overflow-y: scroll;
}
dd a.contactdpo {
/* Reverting dd's left margin */
margin-left: -10px;
}
.card dd a.contactdpo {
/* Reverting dd's left margin */
margin-left: inherit;
}
[data-region="data-requests-table"] .moodle-actionmenu {
min-width: 150px;
}
@@ -137,7 +137,7 @@
}} data-status="{{status}}"{{!
}}>
<td>{{typename}}</td>
<td>{{#userdate}} {{timecreated}}, {{#str}} strftimedatetime {{/str}} {{/userdate}}</td>
<td>{{#userdate}} {{timecreated}}, {{#str}} strftimedatetime, core_langconfig {{/str}} {{/userdate}}</td>
<td><a href="{{requestedbyuser.profileurl}}" title="{{#str}}viewprofile{{/str}}">{{requestedbyuser.fullname}}</a></td>
<td>
<span class="label {{statuslabelclass}}" title="{{statuslabeltitle}}">{{statuslabel}}</span>
@@ -67,7 +67,8 @@
<a href="mailto:{{foruser.email}}">{{foruser.email}}</a>
<div class="clearfix m-t-1 m-b-1">
<span class="pull-left m-r-1">
<strong>{{#str}}daterequesteddetail, tool_dataprivacy{{/str}}</strong> {{#userdate}} {{timecreated}}, {{#str}} strftimedatetime {{/str}} {{/userdate}}
<strong>{{#str}}daterequesteddetail, tool_dataprivacy{{/str}}</strong>
{{#userdate}} {{timecreated}}, {{#str}} strftimedatetime, core_langconfig {{/str}} {{/userdate}}
</span>
<span class="pull-left m-r-1">
<strong>{{#str}}statusdetail, tool_dataprivacy{{/str}}</strong>
+28
View File
@@ -301,6 +301,34 @@ class tool_dataprivacy_api_testcase extends advanced_testcase {
$datarequest = api::create_data_request($student->id, api::DATAREQUEST_TYPE_EXPORT);
$requestid = $datarequest->get('id');
// Login as a user without DPO role.
$this->setUser($teacher);
$this->expectException(required_capability_exception::class);
api::approve_data_request($requestid);
}
/**
* Test that deletion requests for the primary admin are rejected
*/
public function test_reject_data_deletion_request_primary_admin() {
$this->resetAfterTest();
$this->setAdminUser();
$datarequest = api::create_data_request(get_admin()->id, api::DATAREQUEST_TYPE_DELETE);
// Approve the request and execute the ad-hoc process task.
ob_start();
api::approve_data_request($datarequest->get('id'));
$this->runAdhocTasks('\tool_dataprivacy\task\process_data_request_task');
ob_end_clean();
$request = api::get_request($datarequest->get('id'));
$this->assertEquals(api::DATAREQUEST_STATUS_REJECTED, $request->get('status'));
// Confirm they weren't deleted.
$user = core_user::get_user($request->get('userid'));
core_user::require_active_user($user);
}
/**
@@ -88,6 +88,12 @@ Feature: Data delete from the privacy API
And I navigate to "Users > Privacy and policies > Data requests" in site administration
And I should see "Deleted"
@javascript
Scenario: As a primary admin, the link to create a data deletion request should not be shown.
Given I log in as "admin"
When I follow "Profile" in the user menu
Then I should not see "Delete my account"
@javascript
Scenario: As a parent, request account and data deletion for my child
Given I log in as "parent"
@@ -2222,6 +2222,40 @@ class tool_dataprivacy_expired_contexts_testcase extends advanced_testcase {
$this->assertTrue(expired_contexts_manager::is_context_expired_or_unprotected_for_user($blockcontext, $user));
}
/**
* Test the is_context_expired functions when supplied with the front page course.
*/
public function test_is_context_expired_frontpage() {
$this->resetAfterTest();
$purposes = $this->setup_basics('PT1H', 'PT1H', 'P1D');
$frontcourse = get_site();
$frontcoursecontext = \context_course::instance($frontcourse->id);
$sitenews = $this->getDataGenerator()->create_module('forum', ['course' => $frontcourse->id]);
$cm = get_coursemodule_from_instance('forum', $sitenews->id);
$sitenewscontext = \context_module::instance($cm->id);
$user = $this->getDataGenerator()->create_user(['lastaccess' => time() - YEARSECS]);
$this->assertFalse(expired_contexts_manager::is_context_expired($frontcoursecontext));
$this->assertFalse(expired_contexts_manager::is_context_expired($sitenewscontext));
$this->assertTrue(expired_contexts_manager::is_context_expired_or_unprotected_for_user($frontcoursecontext, $user));
$this->assertTrue(expired_contexts_manager::is_context_expired_or_unprotected_for_user($sitenewscontext, $user));
// Protecting the course contextlevel does not impact the front page.
$purposes->course->set('protected', 1)->save();
$this->assertTrue(expired_contexts_manager::is_context_expired_or_unprotected_for_user($frontcoursecontext, $user));
$this->assertTrue(expired_contexts_manager::is_context_expired_or_unprotected_for_user($sitenewscontext, $user));
// Protecting the system contextlevel affects the front page, too.
$purposes->system->set('protected', 1)->save();
$this->assertFalse(expired_contexts_manager::is_context_expired_or_unprotected_for_user($frontcoursecontext, $user));
$this->assertFalse(expired_contexts_manager::is_context_expired_or_unprotected_for_user($sitenewscontext, $user));
}
/**
* Test the is_context_expired functions when supplied with an expired course.
*/
@@ -137,14 +137,14 @@ abstract class restore_tool_log_logstore_subplugin extends restore_subplugin {
}
}
}
// Now we want to serialize it so we can store it in the DB.
$data->other = serialize($data->other);
} else {
$message = "Event class not found: \"$eventclass\". Skipping log record.";
$this->log($message, backup::LOG_DEBUG);
return; // No such class, can not restore.
}
}
// Now we want to serialize it so we can store it in the DB.
$data->other = serialize($data->other);
return $data;
}
+3
View File
@@ -45,5 +45,8 @@ function xmldb_tool_log_upgrade($oldversion) {
// Automatically generated Moodle v3.5.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.6.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
+1 -1
View File
@@ -24,7 +24,7 @@
$string['actlogshdr'] = 'Available log stores';
$string['configlogplugins'] = 'Please enable all required plugins and arrange them in appropriate order.';
$string['exportlog'] = 'Include logs when exporting.';
$string['exportlog'] = 'Include logs when exporting';
$string['exportlogdetail'] = 'Include logs that relate to the user when exporting.';
$string['logging'] = 'Logging';
$string['managelogging'] = 'Manage log stores';
@@ -39,5 +39,8 @@ function xmldb_logstore_database_upgrade($oldversion) {
// Automatically generated Moodle v3.5.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.6.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
@@ -39,5 +39,8 @@ function xmldb_logstore_standard_upgrade($oldversion) {
// Automatically generated Moodle v3.5.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.6.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
define(["jquery","core/notification","tool_lp/dialogue","core/str","core/ajax","core/templates"],function(a,b,c,d,e,f){var g=function(b){a(b).on("click",this.configureSettings.bind(this))};return g.prototype._dialogue=null,g.prototype.configureSettings=function(e){var g=a(e.target).closest("a").data("courseid"),h=a(e.target).closest("a").data("pushratingstouserplans"),i={courseid:g,settings:{pushratingstouserplans:h}};e.preventDefault(),f.render("tool_lp/course_competency_settings",i).done(function(a){d.get_string("configurecoursecompetencysettings","tool_lp").done(function(b){this._dialogue=new c(b,a,this.addListeners.bind(this))}.bind(this)).fail(b.exception)}.bind(this)).fail(b.exception)},g.prototype.addListeners=function(){var a=this._find('[data-action="save"]');a.on("click",this.saveSettings.bind(this));var b=this._find('[data-action="cancel"]');b.on("click",this.cancelChanges.bind(this))},g.prototype.cancelChanges=function(a){a.preventDefault(),this._dialogue.close()},g.prototype._find=function(b){return a('[data-region="coursecompetencysettings"]').find(b)},g.prototype.saveSettings=function(a){a.preventDefault();var c=this._find('input[name="pushratingstouserplans"]:checked').val(),d=this._find('input[name="courseid"]').val(),f={pushratingstouserplans:c};e.call([{methodname:"core_competency_update_course_competency_settings",args:{courseid:d,settings:f}}])[0].done(function(){this.refreshCourseCompetenciesPage()}.bind(this)).fail(b.exception)},g.prototype.refreshCourseCompetenciesPage=function(){var c=this._find('input[name="courseid"]').val();e.call([{methodname:"tool_lp_data_for_course_competencies_page",args:{courseid:c}}])[0].done(function(c){f.render("tool_lp/course_competencies_page",c).done(function(b,c){a('[data-region="coursecompetenciespage"]').replaceWith(b),f.runTemplateJS(c),this._dialogue.close()}.bind(this)).fail(b.exception)}.bind(this)).fail(b.exception)},g});
define(["jquery","core/notification","tool_lp/dialogue","core/str","core/ajax","core/templates","core/pending"],function(a,b,c,d,e,f,g){var h=function(b){a(b).on("click",this.configureSettings.bind(this))};return h.prototype._dialogue=null,h.prototype.configureSettings=function(e){var h=new g,i=a(e.target).closest("a").data("courseid"),j=a(e.target).closest("a").data("pushratingstouserplans"),k={courseid:i,settings:{pushratingstouserplans:j}};e.preventDefault(),a.when(d.get_string("configurecoursecompetencysettings","tool_lp"),f.render("tool_lp/course_competency_settings",k)).then(function(a,b){return this._dialogue=new c(a,b[0],this.addListeners.bind(this)),this._dialogue}.bind(this)).then(h.resolve)["catch"](b.exception)},h.prototype.addListeners=function(){var a=this._find('[data-action="save"]');a.on("click",this.saveSettings.bind(this));var b=this._find('[data-action="cancel"]');b.on("click",this.cancelChanges.bind(this))},h.prototype.cancelChanges=function(a){a.preventDefault(),this._dialogue.close()},h.prototype._find=function(b){return a('[data-region="coursecompetencysettings"]').find(b)},h.prototype.saveSettings=function(a){var c=new g;a.preventDefault();var d=this._find('input[name="pushratingstouserplans"]:checked').val(),f=this._find('input[name="courseid"]').val(),h={pushratingstouserplans:d};e.call([{methodname:"core_competency_update_course_competency_settings",args:{courseid:f,settings:h}}])[0].then(function(){return this.refreshCourseCompetenciesPage()}.bind(this)).then(c.resolve)["catch"](b.exception)},h.prototype.refreshCourseCompetenciesPage=function(){var c=this._find('input[name="courseid"]').val(),d=new g;e.call([{methodname:"tool_lp_data_for_course_competencies_page",args:{courseid:c}}])[0].then(function(a){return f.render("tool_lp/course_competencies_page",a)}).then(function(b,c){f.replaceNode(a('[data-region="coursecompetenciespage"]'),b,c),this._dialogue.close()}.bind(this)).then(d.resolve)["catch"](b.exception)},h});
+1 -1
View File
@@ -1 +1 @@
define(["jquery","core/notification","core/templates","tool_lp/dialogue","tool_lp/event_base","core/str"],function(a,b,c,d,e,f){var g=function(a){e.prototype.constructor.apply(this,[]),this._ratingOptions=a};return g.prototype=Object.create(e.prototype),g.prototype._popup=null,g.prototype._ratingOptions=null,g.prototype._afterRender=function(){var b=this._find('[data-action="rate"]'),c=this._find('[name="rating"]'),d=this._find('[name="comment"]');this._find('[data-action="cancel"]').click(function(a){a.preventDefault(),this._trigger("cancelled"),this.close()}.bind(this)),c.change(function(){var c=a(this);c.val()?b.prop("disabled",!1):b.prop("disabled",!0)}).change(),b.click(function(a){a.preventDefault();var b=c.val();b&&(this._trigger("rated",{rating:b,note:d.val()}),this.close())}.bind(this))},g.prototype.close=function(){this._popup.close(),this._popup=null},g.prototype.display=function(){return this._render().then(function(a){return f.get_string("rate","tool_lp").then(function(b){this._popup=new d(b,a,this._afterRender.bind(this))}.bind(this))}.bind(this)).fail(b.exception)},g.prototype._find=function(b){return a(this._popup.getContent()).find(b)},g.prototype._render=function(){var a={cangrade:this._canGrade,ratings:this._ratingOptions};return c.render("tool_lp/competency_grader",a)},g});
define(["jquery","core/notification","core/templates","tool_lp/dialogue","tool_lp/event_base","core/str"],function(a,b,c,d,e,f){var g=function(a){e.prototype.constructor.apply(this,[]),this._ratingOptions=a};return g.prototype=Object.create(e.prototype),g.prototype._popup=null,g.prototype._ratingOptions=null,g.prototype._afterRender=function(){var b=this._find('[data-action="rate"]'),c=this._find('[name="rating"]'),d=this._find('[name="comment"]');this._find('[data-action="cancel"]').click(function(a){a.preventDefault(),this._trigger("cancelled"),this.close()}.bind(this)),c.change(function(){var c=a(this);c.val()?b.prop("disabled",!1):b.prop("disabled",!0)}).change(),b.click(function(a){a.preventDefault();var b=c.val();b&&(this._trigger("rated",{rating:b,note:d.val()}),this.close())}.bind(this))},g.prototype.close=function(){this._popup.close(),this._popup=null},g.prototype.display=function(){return a.when(f.get_string("rate","tool_lp"),this._render()).then(function(a,b){return this._popup=new d(a,b[0],this._afterRender.bind(this)),this._popup}.bind(this))["catch"](b.exception)},g.prototype._find=function(b){return a(this._popup.getContent()).find(b)},g.prototype._render=function(){var a={cangrade:this._canGrade,ratings:this._ratingOptions};return c.render("tool_lp/competency_grader",a)},g});
@@ -1 +1 @@
define(["jquery","core/notification","core/ajax","core/log","tool_lp/grade_dialogue","tool_lp/event_base","tool_lp/scalevalues"],function(a,b,c,d,e,f,g){var h=function(b,c,d,e,g,h,i){f.prototype.constructor.apply(this,[]);var j=a(b);if(!j.length)throw new Error("Could not find the trigger");this._scaleId=c,this._competencyId=d,this._userId=e,this._planId=g,this._courseId=h,this._chooseStr=i,this._setUp(),j.click(function(a){a.preventDefault(),this._dialogue.display()}.bind(this)),this._planId?(this._methodName="core_competency_grade_competency_in_plan",this._args={competencyid:this._competencyId,planid:this._planId}):this._courseId?(this._methodName="core_competency_grade_competency_in_course",this._args={competencyid:this._competencyId,courseid:this._courseId,userid:this._userId}):(this._methodName="core_competency_grade_competency",this._args={userid:this._userId,competencyid:this._competencyId})};return h.prototype=Object.create(f.prototype),h.prototype._setUp=function(){var a=[],d=this,f=g.get_values(d._scaleId);f.done(function(f){a.push({value:"",name:d._chooseStr});for(var g=0;g<f.length;g++){var h=f[g];a.push({value:h.id,name:h.name})}d._dialogue=new e(a),d._dialogue.on("rated",function(a,e){var f=d._args;f.grade=e.rating,f.note=e.note,c.call([{methodname:d._methodName,args:f,done:function(a){d._trigger("competencyupdated",{args:f,evidence:a})},fail:b.exception}])})}).fail(b.exception)},h.prototype._scaleId=null,h.prototype._competencyId=null,h.prototype._userId=null,h.prototype._planId=null,h.prototype._courseId=null,h.prototype._chooseStr=null,h.prototype._dialogue=null,h});
define(["jquery","core/notification","core/ajax","core/log","tool_lp/grade_dialogue","tool_lp/event_base","tool_lp/scalevalues"],function(a,b,c,d,e,f,g){var h=function(b,c,d,e,g,h,i){f.prototype.constructor.apply(this,[]);var j=a(b);if(!j.length)throw new Error("Could not find the trigger");this._scaleId=c,this._competencyId=d,this._userId=e,this._planId=g,this._courseId=h,this._chooseStr=i,this._setUp(),j.click(function(a){a.preventDefault(),this._dialogue.display()}.bind(this)),this._planId?(this._methodName="core_competency_grade_competency_in_plan",this._args={competencyid:this._competencyId,planid:this._planId}):this._courseId?(this._methodName="core_competency_grade_competency_in_course",this._args={competencyid:this._competencyId,courseid:this._courseId,userid:this._userId}):(this._methodName="core_competency_grade_competency",this._args={userid:this._userId,competencyid:this._competencyId})};return h.prototype=Object.create(f.prototype),h.prototype._setUp=function(){var a=[],d=this,f=g.get_values(d._scaleId);f.then(function(b){a.push({value:"",name:d._chooseStr});for(var c=0;c<b.length;c++){var e=b[c];a.push({value:e.id,name:e.name})}return a}).then(function(a){return new e(a)}).then(function(a){return a.on("rated",function(a,e){var f=d._args;f.grade=e.rating,f.note=e.note,c.call([{methodname:d._methodName,args:f,done:function(a){d._trigger("competencyupdated",{args:f,evidence:a})},fail:b.exception}])}),a}).then(function(a){d._dialogue=a}).fail(b.exception)},h.prototype._scaleId=null,h.prototype._competencyId=null,h.prototype._userId=null,h.prototype._planId=null,h.prototype._courseId=null,h.prototype._chooseStr=null,h.prototype._dialogue=null,h});
+28 -15
View File
@@ -27,8 +27,9 @@ define(['jquery',
'core/templates',
'core/str',
'tool_lp/competencypicker',
'tool_lp/dragdrop-reorder'],
function($, notification, ajax, templates, str, Picker, dragdrop) {
'tool_lp/dragdrop-reorder',
'core/pending'],
function($, notification, ajax, templates, str, Picker, dragdrop, Pending) {
/**
* Constructor
@@ -117,6 +118,7 @@ define(['jquery',
* Pick a competency
*
* @method pickCompetency
* @return {Promise}
*/
competencies.prototype.pickCompetency = function() {
var self = this;
@@ -132,6 +134,7 @@ define(['jquery',
self.pickerInstance = new Picker(self.pageContextId, false, pageContextIncludes);
self.pickerInstance.on('save', function(e, data) {
var compIds = data.competencyIds;
var pendingPromise = new Pending();
if (self.itemtype === "course") {
requests = [];
@@ -181,17 +184,20 @@ define(['jquery',
pagerender = 'tool_lp/plan_page';
pageregion = 'plan-page';
}
ajax.call(requests)[requests.length - 1].then(function(context) {
ajax.call(requests)[requests.length - 1]
.then(function(context) {
return templates.render(pagerender, context);
}).then(function(html, js) {
$('[data-region="' + pageregion + '"]').replaceWith(html);
templates.runTemplateJS(js);
})
.then(function(html, js) {
templates.replaceNode($('[data-region="' + pageregion + '"]'), html, js);
return;
}).catch(notification.exception);
})
.then(pendingPromise.resolve)
.catch(notification.exception);
});
}
self.pickerInstance.display();
return self.pickerInstance.display();
};
/**
@@ -302,6 +308,7 @@ define(['jquery',
if (localthis.itemtype == 'course') {
// Course completion rule handling.
$('[data-region="coursecompetenciespage"]').on('change', 'select[data-field="ruleoutcome"]', function(e) {
var pendingPromise = new Pending();
var requests = [];
var pagerender = 'tool_lp/course_competencies_page';
var pageregion = 'coursecompetenciespage';
@@ -314,18 +321,24 @@ define(['jquery',
args: {courseid: localthis.itemid}}
]);
requests[1].done(function(context) {
templates.render(pagerender, context).done(function(html, js) {
$('[data-region="' + pageregion + '"]').replaceWith(html);
templates.runTemplateJS(js);
}).fail(notification.exception);
}).fail(notification.exception);
requests[1].then(function(context) {
return templates.render(pagerender, context);
})
.then(function(html, js) {
return templates.replaceNode($('[data-region="' + pageregion + '"]'), html, js);
})
.then(pendingPromise.resolve)
.catch(notification.exception);
});
}
$('[data-region="actions"] button').click(function(e) {
var pendingPromise = new Pending();
e.preventDefault();
localthis.pickCompetency();
localthis.pickCompetency()
.then(pendingPromise.resolve)
.catch();
});
$('[data-action="delete-competency-link"]').click(function(e) {
e.preventDefault();
+10 -3
View File
@@ -33,8 +33,12 @@ define(['jquery',
'tool_lp/menubar',
'tool_lp/competencypicker',
'tool_lp/competency_outcomes',
'tool_lp/competencyruleconfig'],
function($, url, templates, notification, str, ajax, dragdrop, Ariatree, Dialogue, menubar, Picker, Outcomes, RuleConfig) {
'tool_lp/competencyruleconfig',
'core/pending',
],
function(
$, url, templates, notification, str, ajax, dragdrop, Ariatree, Dialogue, menubar, Picker, Outcomes, RuleConfig, Pending
) {
// Private variables and functions.
/** @var {Object} treeModel - This is an object representing the nodes in the tree. */
@@ -412,6 +416,7 @@ define(['jquery',
if (!pickerInstance) {
pickerInstance = new Picker(pageContextId, relatedTarget.competencyframeworkid);
pickerInstance.on('save', function(e, data) {
var pendingPromise = new Pending();
var compIds = data.competencyIds;
var calls = [];
@@ -436,7 +441,9 @@ define(['jquery',
templates.runTemplateJS(js);
updatedRelatedCompetencies();
return;
}).catch(notification.exception);
})
.then(pendingPromise.resolve)
.catch(notification.exception);
});
}
+8 -2
View File
@@ -31,8 +31,10 @@ define(['jquery',
'core/templates',
'tool_lp/dialogue',
'core/str',
'tool_lp/tree'],
function($, Notification, Ajax, Templates, Dialogue, Str, Tree) {
'tool_lp/tree',
'core/pending'
],
function($, Notification, Ajax, Templates, Dialogue, Str, Tree, Pending) {
/**
* Competency picker class.
@@ -157,6 +159,7 @@ define(['jquery',
// Add listener for add.
self._find('[data-region="competencylinktree"] [data-action="add"]').click(function(e) {
e.preventDefault();
var pendingPromise = new Pending();
if (!self._selectedCompetencies.length) {
return;
}
@@ -168,7 +171,10 @@ define(['jquery',
self._trigger('save', {competencyId: self._selectedCompetencies[0]});
}
// The dialogue here is a YUI dialogue and doesn't support Promises at all.
// However, it is typically synchronous so this shoudl suffice.
self.close();
pendingPromise.resolve();
});
// The list of selected competencies will be modified while looping (because of the listeners above).
@@ -26,8 +26,10 @@ define(['jquery',
'tool_lp/dialogue',
'core/str',
'core/ajax',
'core/templates'],
function($, notification, Dialogue, str, ajax, templates) {
'core/templates',
'core/pending'
],
function($, notification, Dialogue, str, ajax, templates, Pending) {
/**
* Constructor
@@ -48,6 +50,7 @@ define(['jquery',
* @method configureSettings
*/
settingsMod.prototype.configureSettings = function(e) {
var pendingPromise = new Pending();
var courseid = $(e.target).closest('a').data('courseid');
var currentValue = $(e.target).closest('a').data('pushratingstouserplans');
var context = {
@@ -56,16 +59,21 @@ define(['jquery',
};
e.preventDefault();
templates.render('tool_lp/course_competency_settings', context).done(function(html) {
str.get_string('configurecoursecompetencysettings', 'tool_lp').done(function(title) {
this._dialogue = new Dialogue(
title,
html,
this.addListeners.bind(this)
);
}.bind(this)).fail(notification.exception);
}.bind(this)).fail(notification.exception);
$.when(
str.get_string('configurecoursecompetencysettings', 'tool_lp'),
templates.render('tool_lp/course_competency_settings', context)
)
.then(function(title, templateResult) {
this._dialogue = new Dialogue(
title,
templateResult[0],
this.addListeners.bind(this)
);
return this._dialogue;
}.bind(this))
.then(pendingPromise.resolve)
.catch(notification.exception);
};
/**
@@ -108,6 +116,7 @@ define(['jquery',
* @method saveSettings
*/
settingsMod.prototype.saveSettings = function(e) {
var pendingPromise = new Pending();
e.preventDefault();
var newValue = this._find('input[name="pushratingstouserplans"]:checked').val();
@@ -117,9 +126,12 @@ define(['jquery',
ajax.call([
{methodname: 'core_competency_update_course_competency_settings',
args: {courseid: courseId, settings: settings}}
])[0].done(function() {
this.refreshCourseCompetenciesPage();
}.bind(this)).fail(notification.exception);
])[0]
.then(function() {
return this.refreshCourseCompetenciesPage();
}.bind(this))
.then(pendingPromise.resolve)
.catch(notification.exception);
};
@@ -131,18 +143,23 @@ define(['jquery',
*/
settingsMod.prototype.refreshCourseCompetenciesPage = function() {
var courseId = this._find('input[name="courseid"]').val();
var pendingPromise = new Pending();
ajax.call([
{methodname: 'tool_lp_data_for_course_competencies_page',
args: {courseid: courseId}}
])[0].done(function(context) {
templates.render('tool_lp/course_competencies_page', context).done(function(html, js) {
$('[data-region="coursecompetenciespage"]').replaceWith(html);
templates.runTemplateJS(js);
this._dialogue.close();
}.bind(this)).fail(notification.exception);
}.bind(this)).fail(notification.exception);
])[0]
.then(function(context) {
return templates.render('tool_lp/course_competencies_page', context);
})
.then(function(html, js) {
templates.replaceNode($('[data-region="coursecompetenciespage"]'), html, js);
this._dialogue.close();
return;
}.bind(this))
.then(pendingPromise.resolve)
.catch(notification.exception);
};
return /** @alias module:tool_lp/configurecoursecompetencysettings */ settingsMod;
+14 -9
View File
@@ -102,15 +102,20 @@ define(['jquery',
* @return {Promise}
*/
Grade.prototype.display = function() {
return this._render().then(function(html) {
return Str.get_string('rate', 'tool_lp').then(function(title) {
this._popup = new Dialogue(
title,
html,
this._afterRender.bind(this)
);
}.bind(this));
}.bind(this)).fail(Notification.exception);
return $.when(
Str.get_string('rate', 'tool_lp'),
this._render()
)
.then(function(title, templateResult) {
this._popup = new Dialogue(
title,
templateResult[0],
this._afterRender.bind(this)
);
return this._popup;
}.bind(this))
.catch(Notification.exception);
};
/**
@@ -95,7 +95,7 @@ define(['jquery',
self = this;
var promise = ScaleValues.get_values(self._scaleId);
promise.done(function(scalevalues) {
promise.then(function(scalevalues) {
options.push({
value: '',
name: self._chooseStr
@@ -109,8 +109,13 @@ define(['jquery',
});
}
self._dialogue = new GradeDialogue(options);
self._dialogue.on('rated', function(e, data) {
return options;
})
.then(function(options) {
return new GradeDialogue(options);
})
.then(function(dialogue) {
dialogue.on('rated', function(e, data) {
var args = self._args;
args.grade = data.rating;
args.note = data.note;
@@ -123,7 +128,15 @@ define(['jquery',
fail: notification.exception
}]);
});
}).fail(notification.exception);
return dialogue;
})
.then(function(dialogue) {
self._dialogue = dialogue;
return;
})
.fail(notification.exception);
};
/** @type {Number} The scale id for this competency. */
+1
View File
@@ -422,6 +422,7 @@ class external extends external_api {
'comppath' => competency_path_exporter::get_read_structure(),
))),
'manageurl' => new external_value(PARAM_LOCALURL, 'Url to the manage competencies page.'),
'pluginbaseurl' => new external_value(PARAM_LOCALURL, 'Url to the course competencies page.'),
));
}
@@ -113,6 +113,7 @@ class course_competencies_page implements renderable, templatable {
$data->courseid = $this->courseid;
$data->pagecontextid = $this->context->id;
$data->competencies = array();
$data->pluginbaseurl = (new moodle_url('/admin/tool/lp'))->out(true);
$gradable = is_enrolled($this->context, $USER, 'moodle/competency:coursecompetencygradable');
if ($gradable) {
@@ -75,7 +75,7 @@ class manage_competency_frameworks_page implements renderable, templatable {
);
$this->navigation[] = $addpage;
$competenciesrepository = new single_button(
new moodle_url('https://moodle.net/competencies'),
new moodle_url('https://archive.moodle.net/competencies'),
get_string('competencyframeworksrepository', 'tool_lp'),
'get'
);
@@ -66,7 +66,7 @@
<div class="clearfix"></div>
{{/canmanagecoursecompetencies}}
{{#competency}}
<a href="{{pluginbaseurl}}user_competency_in_course.php?courseid={{courseid}}&competencyid={{competency.id}}&userid={{gradableuserid}}"
<a href="{{pluginbaseurl}}/user_competency_in_course.php?courseid={{courseid}}&competencyid={{competency.id}}&userid={{gradableuserid}}"
id="competency-info-link-{{competency.id}}"
title="{{#str}}viewdetails, tool_lp{{/str}}">
<p><strong>{{{competency.shortname}}} <em>{{competency.idnumber}}</em></strong></p>
@@ -38,6 +38,9 @@
<div class="pull-xs-right card card-block">
<p>{{{groupselector}}}</p>
<form class="user-competency-course-navigation">
<input type="hidden" name="userid" value="{{userid}}"/>
<input type="hidden" name="competencyid" value="{{competencyid}}"/>
<input type="hidden" name="courseid" value="{{courseid}}"/>
{{#hasusers}}
<span>
<label for="user-nav-{{uniqid}}" class="accesshide">{{#str}}jumptouser, tool_lp{{/str}}</label>
@@ -6,6 +6,7 @@ Feature: Manage competency frameworks
Background:
Given I log in as "admin"
And I change window size to "small"
And I am on site homepage
Scenario: Create a new framework
@@ -6,6 +6,7 @@ Feature: Manage plearning plan templates
Background:
Given I log in as "admin"
And I change window size to "small"
And I am on site homepage
Scenario: Create a new learning plan template
+1 -1
View File
@@ -116,7 +116,7 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
$this->userrole = create_role('User role', 'lpuserrole', 'learning plan user role description');
assign_capability('moodle/competency:competencymanage', CAP_ALLOW, $this->creatorrole, $syscontext->id);
assign_capability('moodle/competency:competencycompetencyconfigure', CAP_ALLOW, $this->creatorrole, $syscontext->id);
assign_capability('moodle/competency:coursecompetencyconfigure', CAP_ALLOW, $this->creatorrole, $syscontext->id);
assign_capability('moodle/competency:planmanage', CAP_ALLOW, $this->creatorrole, $syscontext->id);
assign_capability('moodle/competency:planmanagedraft', CAP_ALLOW, $this->creatorrole, $syscontext->id);
assign_capability('moodle/competency:planmanageown', CAP_ALLOW, $this->creatorrole, $syscontext->id);
@@ -274,7 +274,6 @@ class framework_importer {
// We are calling from browser, display progress bar.
if ($this->useprogressbar === true) {
$this->progress = new \core\progress\display_if_slow(get_string('processingfile', 'tool_lpimportcsv'));
$this->progress->start_html();
} else {
// Avoid html output on CLI scripts.
$this->progress = new \core\progress\none();
@@ -464,7 +463,6 @@ class framework_importer {
$framework = api::create_framework($record);
if ($this->useprogressbar === true) {
$this->progress = new \core\progress\display_if_slow(get_string('importingfile', 'tool_lpimportcsv'));
$this->progress->start_html();
} else {
$this->progress = new \core\progress\none();
}
@@ -672,7 +672,7 @@ class manager {
$attachment->charset = $partdata->getCharset();
$attachment->description = $partdata->getDescription();
$attachment->contentid = $partdata->getContentId();
$attachment->filesize = $messagedata->getBodyPartSize($part);
$attachment->filesize = $partdata->getBytes();
if (!empty($CFG->antiviruses)) {
mtrace("--> Attempting virus scan of '{$attachment->filename}'");
@@ -105,11 +105,11 @@ $string['requirevalidation'] = 'Validate sender address';
$string['name'] = 'Name';
$string['ssl'] = 'SSL (Auto-detect SSL version)';
$string['sslv2'] = 'SSLv2 (Force SSL Version 2)';
$string['sslv3'] = 'SSLv2 (Force SSL Version 3)';
$string['sslv3'] = 'SSLv3 (Force SSL Version 3)';
$string['taskcleanup'] = 'Cleanup of unverified incoming email';
$string['taskpickup'] = 'Incoming email pickup';
$string['tls'] = 'TLS (TLS; started via protocol-level negotiation over unencrypted channel; RECOMMENDED way of initiating secure connection)';
$string['tlsv1'] = 'TLSv1 (TLS direct version 1.x connection to server)';
$string['tlsv1'] = 'TLSv1 (direct connection to TLS server version 1.x)';
$string['validateaddress'] = 'Validate sender email address';
$string['validateaddress_help'] = 'When a message is received from a user, Moodle attempts to validate the message by comparing the email address of the sender with the email address in their user profile.
+12 -1
View File
@@ -99,7 +99,7 @@ class api {
$lang = array();
if (!empty($addoninfo['lang'])) {
$stringmanager = get_string_manager();
$langs = $stringmanager->get_list_of_translations();
$langs = $stringmanager->get_list_of_translations(true);
foreach ($langs as $langid => $langname) {
foreach ($addoninfo['lang'] as $stringinfo) {
$lang[$langid][$stringinfo[0]] =
@@ -206,6 +206,12 @@ class api {
$identityprovidersdata = \auth_plugin_base::prepare_identity_providers_for_output($identityproviders, $OUTPUT);
if (!empty($identityprovidersdata)) {
$settings['identityproviders'] = $identityprovidersdata;
// Clean URLs to avoid breaking Web Services.
// We can't do it in prepare_identity_providers_for_output() because it may break the web output.
foreach ($settings['identityproviders'] as &$ip) {
$ip['url'] = (!empty($ip['url'])) ? clean_param($ip['url'], PARAM_URL) : '';
$ip['iconurl'] = (!empty($ip['iconurl'])) ? clean_param($ip['iconurl'], PARAM_URL) : '';
}
}
// If age is verified, return also the admin contact details.
@@ -382,6 +388,8 @@ class api {
$features = array(
'NoDelegate_CoreOffline' => new lang_string('offlineuse', 'tool_mobile'),
'$mmLoginEmailSignup' => new lang_string('startsignup'),
'NoDelegate_CoreComments' => new lang_string('comments'),
'NoDelegate_CoreRating' => new lang_string('ratings', 'rating'),
"$mainmenu" => array(
'$mmSideMenuDelegate_mmCourses' => new lang_string('mycourses'),
'$mmSideMenuDelegate_mmaFrontpage' => new lang_string('sitehome'),
@@ -390,6 +398,7 @@ class api {
'$mmSideMenuDelegate_mmaNotifications' => new lang_string('notifications', 'message'),
'$mmSideMenuDelegate_mmaMessages' => new lang_string('messages', 'message'),
'$mmSideMenuDelegate_mmaCalendar' => new lang_string('calendar', 'calendar'),
'CoreMainMenuDelegate_AddonBlog' => new lang_string('blog', 'blog'),
'$mmSideMenuDelegate_mmaFiles' => new lang_string('files'),
'$mmSideMenuDelegate_website' => new lang_string('webpage'),
'$mmSideMenuDelegate_help' => new lang_string('help'),
@@ -403,6 +412,7 @@ class api {
'$mmCoursesDelegate_mmaNotes' => new lang_string('notes', 'notes'),
'NoDelegate_CoreCourseDownload' => new lang_string('downloadcourse', 'tool_mobile'),
'NoDelegate_CoreCoursesDownload' => new lang_string('downloadcourses', 'tool_mobile'),
'CoreCourseOptionsDelegate_AddonBlog' => new lang_string('blog', 'blog'),
),
"$user" => array(
'$mmUserDelegate_mmaBadges' => new lang_string('badges', 'badges'),
@@ -414,6 +424,7 @@ class api {
'$mmUserDelegate_mmaMessages:blockContact' => new lang_string('blockcontact', 'message'),
'$mmUserDelegate_mmaNotes:addNote' => new lang_string('addnewnote', 'notes'),
'$mmUserDelegate_picture' => new lang_string('userpic'),
'CoreCourseOptionsDelegate_AddonBlog' => new lang_string('blog', 'blog'),
),
"$files" => array(
'files_privatefiles' => new lang_string('privatefiles'),
+2 -2
View File
@@ -81,7 +81,7 @@ $string['mobileappearance'] = 'Mobile appearance';
$string['mobileauthentication'] = 'Mobile authentication';
$string['mobilecssurl'] = 'CSS';
$string['mobilefeatures'] = 'Mobile features';
$string['mobilenotificationsdisabledwarning'] = 'Mobile notifications are not enabled. They should be enabled in Manage message outputs.';
$string['mobilenotificationsdisabledwarning'] = 'Mobile notifications are not enabled. They should be enabled in Notification settings.';
$string['mobilesettings'] = 'Mobile settings';
$string['offlineuse'] = 'Offline use';
$string['pluginname'] = 'Moodle app tools';
@@ -89,7 +89,7 @@ $string['pluginnotenabledorconfigured'] = 'Plugin not enabled or configured.';
$string['remoteaddons'] = 'Remote add-ons';
$string['selfsignedoruntrustedcertificatewarning'] = 'It seems that the HTTPS certificate is self-signed or not trusted. The mobile app will only work with trusted sites.';
$string['setuplink'] = 'App download page';
$string['setuplink_desc'] = 'URL of page with links to download the mobile app from the App Store and Google Play.';
$string['setuplink_desc'] = 'URL of page with options to download the mobile app from the App Store and Google Play. The app download page link is displayed in the page footer and in a user\'s profile. Leave blank to not display a link.';
$string['smartappbanners'] = 'App Banners';
$string['typeoflogin'] = 'Type of login';
$string['typeoflogin_desc'] = 'If the site uses a SSO authentication method, then select via a browser window or via an embedded browser. An embedded browser provides a better user experience, though it doesn\'t work with all SSO plugins.';
+1 -1
View File
@@ -30,7 +30,7 @@ require_once($CFG->libdir . '/externallib.php');
$serviceshortname = required_param('service', PARAM_ALPHANUMEXT);
$passport = required_param('passport', PARAM_RAW); // Passport send from the app to validate the response URL.
$urlscheme = optional_param('urlscheme', 'moodlemobile', PARAM_NOTAGS); // The URL scheme the app supports.
$urlscheme = optional_param('urlscheme', 'moodlemobile', PARAM_ALPHANUM); // The URL scheme the app supports.
$confirmed = optional_param('confirmed', false, PARAM_BOOL); // If we are being redirected after user confirmation.
$oauthsso = optional_param('oauthsso', 0, PARAM_INT); // Id of the OpenID issuer (for OAuth direct SSO).
+6
View File
@@ -66,6 +66,12 @@ function tool_mobile_create_app_download_url() {
}
$downloadurl = new moodle_url($mobilesettings->setuplink);
// Do not update the URL if it is a custom one (we may break it completely).
if ($mobilesettings->setuplink != 'https://download.moodle.org/mobile') {
return $downloadurl;
}
$downloadurl->param('version', $CFG->version);
$downloadurl->param('lang', current_language());
+1 -1
View File
@@ -63,7 +63,7 @@ if ($hassiteconfig) {
$temp->add(new admin_setting_configtext('tool_mobile/forcedurlscheme',
new lang_string('forcedurlscheme_key', 'tool_mobile'),
new lang_string('forcedurlscheme', 'tool_mobile'), '', PARAM_NOTAGS));
new lang_string('forcedurlscheme', 'tool_mobile'), '', PARAM_ALPHANUM));
$ADMIN->add('mobileapp', $temp);
@@ -98,6 +98,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
);
$this->assertEquals($expected, $result);
$this->setAdminUser();
// Change some values.
set_config('registerauth', 'email');
$authinstructions = 'Something with <b>html tags</b>';
@@ -111,6 +112,18 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
set_config('lang', 'a_b'); // Set invalid lang.
set_config('disabledfeatures', 'myoverview', 'tool_mobile');
// Enable couple of issuers.
$issuer = \core\oauth2\api::create_standard_issuer('google');
$irecord = $issuer->to_record();
$irecord->clientid = 'mock';
$irecord->clientsecret = 'mock';
core\oauth2\api::update_issuer($irecord);
set_config('user_attribute', 'test', 'auth_shibboleth');
set_config('auth_logo', 'http://invalidurl.com//invalid/', 'auth_shibboleth');
set_config('auth', 'oauth2,shibboleth');
list($authinstructions, $notusedformat) = external_format_text($authinstructions, FORMAT_MOODLE, $context->id);
$expected['registerauth'] = 'email';
$expected['authinstructions'] = $authinstructions;
@@ -132,7 +145,26 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
$result = external::get_public_config();
$result = external_api::clean_returnvalue(external::get_public_config_returns(), $result);
// First check providers.
$identityproviders = $result['identityproviders'];
unset($result['identityproviders']);
$this->assertEquals('Google', $identityproviders[0]['name']);
$this->assertEquals($irecord->image, $identityproviders[0]['iconurl']);
$this->assertContains($CFG->wwwroot, $identityproviders[0]['url']);
$this->assertEquals('Shibboleth Login', $identityproviders[1]['name']);
$this->assertEmpty($identityproviders[1]['iconurl']);
$this->assertContains($CFG->wwwroot, $identityproviders[1]['url']);
$this->assertEquals($expected, $result);
// Change providers img.
$newurl = 'validimage.png';
set_config('auth_logo', $newurl, 'auth_shibboleth');
$result = external::get_public_config();
$result = external_api::clean_returnvalue(external::get_public_config_returns(), $result);
$this->assertContains($newurl, $result['identityproviders'][1]['iconurl']);
}
/**
+3
View File
@@ -79,5 +79,8 @@ function xmldb_tool_monitor_upgrade($oldversion) {
// Automatically generated Moodle v3.5.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.6.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
+5 -5
View File
@@ -64,11 +64,11 @@ $string['managerules'] = 'Event monitoring rules';
$string['messageprovider:notification'] = 'Notifications of rule subscriptions';
$string['messagetemplate'] = 'Notification message';
$string['messagetemplate_help'] = 'A notification message is sent to subscribers once the notification threshold has been reached. It can include any or all of the following placeholders:
<br /><br />
* Link to the location of the event {link}<br />
* Link to the area monitored {modulelink}<br />
* Rule name {rulename}<br />
* Description {description}<br />
* Link to the location of the event {link}
* Link to the area monitored {modulelink}
* Rule name {rulename}
* Description {description}
* Event {eventname}';
$string['messagetemplate_link'] = 'admin/tool/monitor/managerules';
$string['moduleinstance'] = 'Instance';
+2 -1
View File
@@ -28,6 +28,7 @@ defined('MOODLE_INTERNAL') || die();
use \tool_monitor\privacy\provider;
use \core_privacy\local\request\approved_contextlist;
use \core_privacy\local\request\approved_userlist;
use \core_privacy\tests\provider_testcase;
/**
* Privacy test for the event monitor
@@ -37,7 +38,7 @@ use \core_privacy\local\request\approved_userlist;
* @copyright 2018 Adrian Greeve <adriangreeve.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_monitor_privacy_testcase extends advanced_testcase {
class tool_monitor_privacy_testcase extends provider_testcase {
/**
* Set up method.
+9 -3
View File
@@ -46,6 +46,9 @@ class issuer extends persistent {
/** @var string $type */
protected $type;
/** @var boolean $showrequireconfirm Whether to show the require confirmation email checkbox or not. */
protected $showrequireconfirm;
/**
* Constructor.
*
@@ -71,6 +74,7 @@ class issuer extends persistent {
if (array_key_exists('type', $customdata)) {
$this->type = $customdata['type'];
}
$this->showrequireconfirm = !empty($customdata['showrequireconfirm']);
parent::__construct($action, $customdata, $method, $target, $attributes, $editable, $ajaxformdata);
}
@@ -157,9 +161,11 @@ class issuer extends persistent {
$mform->addElement('checkbox', 'showonloginpage', get_string('issuershowonloginpage', 'tool_oauth2'));
$mform->addHelpButton('showonloginpage', 'issuershowonloginpage', 'tool_oauth2');
// Require confirmation email for new accounts.
$mform->addElement('advcheckbox', 'requireconfirmation', get_string('issuerrequireconfirmation', 'tool_oauth2'));
$mform->addHelpButton('requireconfirmation', 'issuerrequireconfirmation', 'tool_oauth2');
if ($this->showrequireconfirm) {
// Require confirmation email for new accounts.
$mform->addElement('advcheckbox', 'requireconfirmation', get_string('issuerrequireconfirmation', 'tool_oauth2'));
$mform->addHelpButton('requireconfirmation', 'issuerrequireconfirmation', 'tool_oauth2');
}
$mform->addElement('hidden', 'sortorder');
$mform->setType('sortorder', PARAM_INT);
+37 -7
View File
@@ -58,7 +58,24 @@ if ($action == 'edit') {
$PAGE->navbar->add(get_string('createnewissuer', 'tool_oauth2'));
}
$mform = new \tool_oauth2\form\issuer(null, ['persistent' => $issuer]);
$showrequireconfirm = false;
if (!empty($issuerid)) {
// Show the "Require confirmation email" checkbox for trusted issuers like Google, Facebook and Microsoft.
$likefacebook = $DB->sql_like('url', ':facebook');
$likegoogle = $DB->sql_like('url', ':google');
$likemicrosoft = $DB->sql_like('url', ':microsoft');
$params = [
'issuerid' => $issuerid,
'facebook' => '%facebook%',
'google' => '%google%',
'microsoft' => '%microsoft%',
];
$select = "issuerid = :issuerid AND ($likefacebook OR $likegoogle OR $likemicrosoft)";
// We're querying from the oauth2_endpoint table because the base URLs of FB and Microsoft can be empty in the issuer table.
$showrequireconfirm = $DB->record_exists_select('oauth2_endpoint', $select, $params);
}
$mform = new \tool_oauth2\form\issuer(null, ['persistent' => $issuer, 'showrequireconfirm' => $showrequireconfirm]);
}
if ($mform && $mform->is_cancelled()) {
@@ -108,9 +125,11 @@ if ($mform && $mform->is_cancelled()) {
$type = required_param('type', PARAM_ALPHA);
$docs = required_param('docslink', PARAM_ALPHAEXT);
$showrequireconfirm = optional_param('showrequireconfirm', false, PARAM_BOOL);
require_sesskey();
$issuer = core\oauth2\api::init_standard_issuer($type);
$mform = new \tool_oauth2\form\issuer(null, ['persistent' => $issuer, 'type' => $type]);
$mform = new \tool_oauth2\form\issuer(null, ['persistent' => $issuer, 'type' => $type,
'showrequireconfirm' => $showrequireconfirm]);
echo $OUTPUT->header();
$mform->display();
@@ -178,26 +197,37 @@ if ($mform && $mform->is_cancelled()) {
$issuers = core\oauth2\api::get_all_issuers();
echo $renderer->issuers_table($issuers);
// Google template.
$docs = 'admin/tool/oauth2/issuers/google';
$params = ['action' => 'edittemplate', 'type' => 'google', 'sesskey' => sesskey(), 'docslink' => $docs];
$params = ['action' => 'edittemplate', 'type' => 'google', 'sesskey' => sesskey(), 'docslink' => $docs,
'showrequireconfirm' => true];
$addurl = new moodle_url('/admin/tool/oauth2/issuers.php', $params);
echo $renderer->single_button($addurl, get_string('createnewgoogleissuer', 'tool_oauth2'));
// Microsoft template.
$docs = 'admin/tool/oauth2/issuers/microsoft';
$params = ['action' => 'edittemplate', 'type' => 'microsoft', 'sesskey' => sesskey(), 'docslink' => $docs];
$params = ['action' => 'edittemplate', 'type' => 'microsoft', 'sesskey' => sesskey(), 'docslink' => $docs,
'showrequireconfirm' => true];
$addurl = new moodle_url('/admin/tool/oauth2/issuers.php', $params);
echo $renderer->single_button($addurl, get_string('createnewmicrosoftissuer', 'tool_oauth2'));
// Facebook template.
$docs = 'admin/tool/oauth2/issuers/facebook';
$params = ['action' => 'edittemplate', 'type' => 'microsoft', 'sesskey' => sesskey(), 'docslink' => $docs];
$params = ['action' => 'edittemplate', 'type' => 'facebook', 'sesskey' => sesskey(), 'docslink' => $docs];
$params = ['action' => 'edittemplate', 'type' => 'facebook', 'sesskey' => sesskey(), 'docslink' => $docs,
'showrequireconfirm' => true];
$addurl = new moodle_url('/admin/tool/oauth2/issuers.php', $params);
echo $renderer->single_button($addurl, get_string('createnewfacebookissuer', 'tool_oauth2'));
$addurl = new moodle_url('/admin/tool/oauth2/issuers.php', ['action' => 'edit']);
// Nextcloud template.
$docs = 'admin/tool/oauth2/issuers/nextcloud';
$params = ['action' => 'edittemplate', 'type' => 'nextcloud', 'sesskey' => sesskey(), 'docslink' => $docs];
$addurl = new moodle_url('/admin/tool/oauth2/issuers.php', $params);
echo $renderer->single_button($addurl, get_string('createnewnextcloudissuer', 'tool_oauth2'));
// Generic issuer.
$addurl = new moodle_url('/admin/tool/oauth2/issuers.php', ['action' => 'edit']);
echo $renderer->single_button($addurl, get_string('createnewissuer', 'tool_oauth2'));
echo $OUTPUT->footer();
}
+1 -1
View File
@@ -1 +1 @@
define(["jquery","core/ajax","core/notification","core/modal_factory","core/modal_events"],function(a,b,c,d,e){var f={VIEW_POLICY:'[data-action="view"]'},g=function(){this.registerEvents()};return g.prototype.registerEvents=function(){a(f.VIEW_POLICY).click(function(f){f.preventDefault();var g=a(this).data("versionid"),h=a(this).data("behalfid"),i={versionid:g,behalfid:h},j={methodname:"tool_policy_get_policy_version",args:i},k=a.Deferred(),l=a.Deferred(),m=d.create({title:k,body:l,large:!0}).then(function(a){return a.getRoot().on(e.hidden,function(){a.destroy()}),a}).then(function(a){return a.show(),a})["catch"](c.exception),n=b.call([j]);a.when(n[0]).then(function(a){if(a.result.policy)return k.resolve(a.result.policy.name),l.resolve(a.result.policy.content),a;throw new Error(a.warnings[0].message)})["catch"](function(a){return m.then(function(a){return a.hide(),a.destroy(),a})["catch"](c.exception),c.addNotification({message:a,type:"error"})})})},{init:function(){return new g}}});
define(["jquery","core/ajax","core/notification","core/modal_factory","core/modal_events"],function(a,b,c,d,e){var f=function(a){this.registerEvents(a)};return f.prototype.registerEvents=function(f){f.on("click",function(f){f.preventDefault();var g=a(this).data("versionid"),h=a(this).data("behalfid"),i={versionid:g,behalfid:h},j={methodname:"tool_policy_get_policy_version",args:i},k=a.Deferred(),l=a.Deferred(),m=d.create({title:k,body:l,large:!0}).then(function(a){return a.getRoot().on(e.hidden,function(){a.destroy()}),a}).then(function(a){return a.show(),a})["catch"](c.exception),n=b.call([j]);a.when(n[0]).then(function(a){if(a.result.policy)return k.resolve(a.result.policy.name),l.resolve(a.result.policy.content),a;throw new Error(a.warnings[0].message)})["catch"](function(a){return m.then(function(a){return a.hide(),a.destroy(),a})["catch"](c.exception),c.addNotification({message:a,type:"error"})})})},{init:function(b){return b=a(b),new f(b)}}});
+7 -15
View File
@@ -29,27 +29,18 @@ define([
'core/modal_events'],
function($, Ajax, Notification, ModalFactory, ModalEvents) {
/**
* List of action selectors.
*
* @type {{VIEW_POLICY: string}}
*/
var ACTIONS = {
VIEW_POLICY: '[data-action="view"]'
};
/**
* PolicyActions class.
*/
var PolicyActions = function() {
this.registerEvents();
var PolicyActions = function(root) {
this.registerEvents(root);
};
/**
* Register event listeners.
*/
PolicyActions.prototype.registerEvents = function() {
$(ACTIONS.VIEW_POLICY).click(function(e) {
PolicyActions.prototype.registerEvents = function(root) {
root.on("click", function(e) {
e.preventDefault();
var versionid = $(this).data('versionid');
@@ -127,8 +118,9 @@ function($, Ajax, Notification, ModalFactory, ModalEvents) {
* @method init
* @return {PolicyActions}
*/
'init': function() {
return new PolicyActions();
'init': function(root) {
root = $(root);
return new PolicyActions(root);
}
};
});
@@ -111,7 +111,7 @@ class accept_policy extends \moodleform {
}
}
$PAGE->requires->js_call_amd('tool_policy/policyactions', 'init');
$PAGE->requires->js_call_amd('tool_policy/policyactions', 'init', ['[data-action="view"]']);
}
/**
@@ -197,4 +197,4 @@ class accept_policy extends \moodleform {
}
}
}
}
}
@@ -301,6 +301,8 @@ class page_agreedocs implements renderable, templatable {
redirect(new moodle_url('/admin/tool/policy/view.php', $urlparams));
}
} else {
// Update the policyagreed for the user to avoid infinite loop because there are no policies to-be-accepted.
api::update_policyagreed($userid);
$this->redirect_to_previous_url();
}
}
+3
View File
@@ -60,5 +60,8 @@ function xmldb_tool_policy_upgrade($oldversion) {
upgrade_plugin_savepoint(true, 2018091800, 'tool', 'policy');
}
// Automatically generated Moodle v3.6.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
@@ -58,7 +58,7 @@ require(['jquery', 'tool_policy/jquery-eu-cookie-law-popup', 'tool_policy/policy
"<ul>{{#policies}}" +
"<li>" +
"<a href=\"{{pluginbaseurl}}/view.php?versionid={{id}}{{#returnurl}}&amp;returnurl={{.}}{{/returnurl}}\" " +
" data-action=\"view\" data-versionid=\"{{id}}\" data-behalfid=\"1\" >" +
" data-action=\"view-guest\" data-versionid=\"{{id}}\" data-behalfid=\"1\" >" +
"{{{name}}}" +
"</a>" +
"</li>" +
@@ -81,7 +81,7 @@ require(['jquery', 'tool_policy/jquery-eu-cookie-law-popup', 'tool_policy/policy
{{/haspolicies}}
// Initialise the JS for the modal window which displays the policy versions.
ActionsMod.init();
ActionsMod.init('[data-action="view-guest"]');
});
});
@@ -143,6 +143,6 @@
{{#js}}
// Initialise the JS for the modal window which displays the policy versions.
require(['tool_policy/policyactions'], function(ActionsMod) {
ActionsMod.init();
ActionsMod.init('[data-action="view"]');
});
{{/js}}
@@ -73,6 +73,6 @@
{{#js}}
// Initialise the JS for the modal window which displays the policy versions.
require(['tool_policy/policyactions'], function(ActionsMod) {
ActionsMod.init();
ActionsMod.init('[data-action="view"]');
});
{{/js}}
@@ -82,7 +82,7 @@ Feature: Viewing acceptances reports and accepting on behalf of other users
And I press "Next"
And I set the field "I agree to the This site policy" to "1"
And I press "Next"
And I should not see "Next"
And I should see "Course overview"
And I navigate to "Users > Privacy and policies > Manage policies" in site administration
And I click on "1 of 4 (25%)" "link" in the "This site policy" "table_row"
And I click on "Accept This site policy" "link" in the "User One" "table_row"
@@ -292,3 +292,23 @@ Feature: Viewing acceptances reports and accepting on behalf of other users
When I press "Give consent"
Then "Accepted on user's behalf" "text" should exist in the "User One" "table_row"
And "Accepted on user's behalf" "text" should exist in the "User Two" "table_row"
Scenario: View acceptances made by users on their own after inactivating a policy
Given I log in as "user1"
And I should see "This site policy"
And I should not see "Course overview"
And I press "Next"
And I set the field "I agree to the This site policy" to "1"
And I press "Next"
And I should see "Course overview"
And I log out
And I log in as "admin"
And I navigate to "Users > Privacy and policies > Manage policies" in site administration
And I click on "Actions" "link_or_button" in the "This privacy policy" "table_row"
And I click on "Set status to \"Active\"" "link" in the "This privacy policy" "table_row"
And I press "Continue"
And I click on "Set status to \"Inactive\"" "link" in the "This privacy policy" "table_row"
And I press "Continue"
And I log out
When I log in as "user1"
Then I should see "Course overview"

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