Compare commits

..

908 Commits

Author SHA1 Message Date
Eloy Lafuente (stronk7) 70fa678586 Moodle release 3.2.2 2017-03-11 22:16:10 +01:00
AMOS bot 0c6de97371 Automatically generated installer lang files 2017-03-12 00:04:17 +08:00
AMOS bot 63981e5a82 Automatically generated installer lang files 2017-03-12 00:04:17 +08:00
Eloy Lafuente (stronk7) 6a0dfc60d6 weekly release 3.2.1+ 2017-03-10 20:59:59 +01:00
Eloy Lafuente (stronk7) 38c4435a37 Merge branch 'install_32_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_32_STABLE 2017-03-10 20:59:55 +01:00
Damyon Wiese 3cc4e2f725 MDL-57596 forms: CLEANHTML in persistent forms
Add special handling for text fields with the CLEANHTML type. This should
be used when students and teachers can edit the same field (you can't trust those students).

Applies cleaning on submitted data, and on data stored in the DB before it is put back in an editing form.
2017-03-10 18:07:55 +00:00
Marina Glancy ca3cbbc233 MDL-58010 user: allow to update only whitelisted user preferences 2017-03-10 18:07:54 +00:00
Andrew Nicols 7d196ef3b3 Merge branch 'wip-mdl-57940-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-03-10 18:07:53 +00:00
Eloy Lafuente (stronk7) 069b9d5820 Merge branch 'MDL-58123-32' of git://github.com/junpataleta/moodle into MOODLE_32_STABLE 2017-03-10 18:07:53 +00:00
Dan Poltawski 454a3d34d5 Merge branch 'MDL-58035_32' of git://github.com/timhunt/moodle into MOODLE_32_STABLE 2017-03-10 18:07:52 +00:00
Ankit Agarwal db3a985faf MDL-56526 userlib: Do not allow not loggedin users if forceloginforprofile is set 2017-03-10 18:07:52 +00:00
Ankit Agarwal c535520966 MDL-56526 globalsearch: Fix bug in phpdocs 2017-03-10 18:07:51 +00:00
David Mudrák e35ad40de1 MDL-57597 competency: Fix serving of prior learning evidence files
For security reasons, all files submitted by students must be disposed
as attachments, not inline contents.
2017-03-10 18:07:51 +00:00
AMOS bot 436acc27fe Automatically generated installer lang files 2017-03-10 00:04:27 +08:00
Dan Poltawski 73fd6f2928 Merge branch 'MDL-57990-32' of git://github.com/crazyserver/moodle into MOODLE_32_STABLE 2017-03-07 13:59:15 -03:00
AMOS bot 84e17f59c5 Automatically generated installer lang files 2017-03-08 00:05:55 +08:00
Eloy Lafuente (stronk7) 63464df041 Merge branch 'MDL-58064-32-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_32_STABLE 2017-03-07 16:37:36 +01:00
Dan Poltawski 17c82085fc Merge branch 'wip-mdl-58056-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-03-07 11:08:23 -03:00
Dan Poltawski 5e3ce67f37 Merge branch 'MDL-57361-32' of git://github.com/jleyva/moodle into MOODLE_32_STABLE 2017-03-07 11:07:46 -03:00
Tim Hunt ec02a34e1f MDL-58035 tool_templatelibrary: fix unit test using removed base theme 2017-03-07 13:35:34 +00:00
Tim Hunt 1e1e1b8229 MDL-58035 lib: log when the expected theme cannot be initialised 2017-03-07 13:35:32 +00:00
David Monllao f7af2c5fc7 Merge branch 'MDL-58106_32' of git://github.com/timhunt/moodle into MOODLE_32_STABLE 2017-03-07 13:38:18 +01:00
David Monllao 92194c1c8d Merge branch 'wip-mdl-58091-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-03-07 13:16:03 +01:00
David Mudrák 7bbe8a1c76 MDL-58064 lang: Clarify the PHP 7.x limitations
These are related to SQL*Server support only and affect all PHP 7
versions, not just 7.0.x. Credit goes to Eloy Lafuente for spotting
this.
2017-03-07 13:00:46 +01:00
Dan Poltawski 22ee65c275 MDL-58040 blocks: add upgrade.txt note 2017-03-07 08:34:54 -03:00
Dan Poltawski 9354f9de64 Merge branch 'MDL-58040_32' of git://github.com/timhunt/moodle into MOODLE_32_STABLE 2017-03-07 08:34:48 -03:00
David Monllao 04d2305788 Merge branch 'wip-MDL-57485-32' of git://github.com/abgreeve/moodle into MOODLE_32_STABLE 2017-03-07 12:16:48 +01:00
David Monllao e21e294072 Merge branch 'MDL-58057-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2017-03-07 12:09:35 +01:00
Dan Poltawski 19b7ac05ad Merge branch 'MDL-55859-32' of git://github.com/ankitagarwal/moodle into MOODLE_32_STABLE 2017-03-07 07:02:31 -03:00
Dan Poltawski 4294bbd50f Merge branch 'MDL-58052_behat_get_session_user_MOODLE_32_STABLE' of https://github.com/gthomas2/moodle into MOODLE_32_STABLE 2017-03-07 06:54:34 -03:00
Adrian Greeve b1ffb73177 MDL-57485 themes: Set images to default display type.
Imported images in atto would no longer hold a URL
tag around it. display: block was the culprit.
2017-03-07 17:33:23 +08:00
Ankit Agarwal cde1ac3eea MDL-57362 assign: Fix permission checks 2017-03-07 13:04:01 +05:30
Jake Dallimore 059759aab9 MDL-58057 core_files: properly trim curl whitelist config when fetching 2017-03-07 09:49:50 +08:00
Dan Poltawski 188d41ccc9 Merge branch 'MDL-57362-32' of git://github.com/ankitagarwal/moodle into MOODLE_32_STABLE 2017-03-06 10:18:30 -03:00
gthomas2 0b5f9f6e60 MDL-58052 behat: user session function - use to edit current profile 2017-03-03 12:29:47 +00:00
Pau Ferrer Ocaña fa60a11522 MDL-57990 course: Add sortorder as public field 2017-03-03 11:52:10 +01:00
Eloy Lafuente (stronk7) 29cdf58116 weekly release 3.2.1+ 2017-03-03 10:33:52 +01:00
Eloy Lafuente (stronk7) 3db24b8015 Merge branch 'install_32_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_32_STABLE 2017-03-03 10:33:47 +01:00
Tim Hunt b21b210f41 MDL-58106 random Q restore: avoid MySQL performance issues 2017-03-02 19:40:53 +00:00
Ankit Agarwal 79482e3fe8 MDL-55859 assign_editpdf: cleanup htmlfile in case of errors 2017-03-02 21:16:37 +05:30
Cameron Ball 3935371599 MDL-57321 theme_boost: Remove extra quotation mark 2017-03-02 16:05:55 +08:00
Jun Pataleta 14026572ae MDL-58123 mod_lesson: Fix lesson table name in refresh_events DB query 2017-03-02 10:55:42 +08:00
Eloy Lafuente (stronk7) ee66d63054 Merge branch 'MDL-57321-32' of git://github.com/cameron1729/moodle into MOODLE_32_STABLE 2017-03-02 00:01:47 +01:00
Juan Leyva af2d6085cd MDL-57361 auth_email: Force policy agreed on sign-up 2017-03-01 18:20:59 +01:00
Cameron Ball e615d70923 MDL-57321 theme_boost: Remove duplicate aria-labelledby attribute 2017-03-01 11:37:29 +08:00
Cameron Ball ae8388d51c MDL-57321 theme_boost: Fix improperly nested ul elements in footer 2017-03-01 11:37:28 +08:00
Cameron Ball 962e3eb662 MDL-57321 theme_boost: Use div instead of span for dropdown items 2017-03-01 11:37:28 +08:00
Cameron Ball 4c586b025e MDL-57321 theme_boost: Consistently apply attributes on elements 2017-03-01 11:37:28 +08:00
Andrew Nicols 8612c8aa3e Merge branch 'MDL-58072_32_tabtree_mustache' of https://github.com/mchurchward/moodle into MOODLE_32_STABLE 2017-03-01 11:10:18 +08:00
Eloy Lafuente (stronk7) a7db91030b Merge branch 'wip-MDL-48228-32' of git://github.com/abgreeve/moodle into MOODLE_32_STABLE 2017-03-01 02:57:16 +01:00
Adrian Greeve d807d3c603 MDL-48228 database: Unit test addition and update. 2017-03-01 09:05:40 +08:00
Adrian Greeve 8f61b909e8 MDL-48228 database: Make utf8mb4 the default character set for mysql.
Thanks to Jetha Chan for providing the initial patch that this is
based on.
2017-03-01 09:05:40 +08:00
Eloy Lafuente (stronk7) e44ce23c9f Merge branch 'MDL-58071-32' of git://github.com/jleyva/moodle into MOODLE_32_STABLE 2017-02-28 23:00:42 +01:00
Eloy Lafuente (stronk7) 6c87b08240 Merge branch 'MDL-55762-32' of git://github.com/ankitagarwal/moodle into MOODLE_32_STABLE 2017-02-28 20:40:51 +01:00
David Monllao 9afdc8fc12 MDL-51833 docs: Move upgrade note under 3.2.2 2017-02-28 11:32:39 +01:00
David Monllao e30a500fb9 Merge branch 'wip-MDL-51833-32' of git://github.com/abgreeve/moodle into MOODLE_32_STABLE 2017-02-28 11:31:09 +01:00
Ankit Agarwal 121d3e0d29 MDL-57362 assignlib: Fix minor bug in phpdocs 2017-02-28 10:34:41 +05:30
Ankit Agarwal 5b7356cdde MDL-57362 assignlib: Check for sep groups edge case 2017-02-28 10:34:41 +05:30
Andrew Nicols 169d972bf6 Merge branch 'MDL-58038-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2017-02-28 12:25:43 +08:00
Rajesh Taneja 4fef0dadf0 MDL-58091 behat: Added missing @_file_upload tag 2017-02-28 11:22:38 +08:00
Andrew Nicols 96a0d1bc7a Merge branch 'MDL-35980-32' of git://github.com/snake/moodle into MOODLE_32_STABLE 2017-02-28 10:34:00 +08:00
Jake Dallimore 01c2ca76c0 MDL-35980 behat: fix link text in submission_comments feature 2017-02-28 10:24:53 +08:00
Andrew Nicols 46c68c1b42 MDL-55547 tool_monitor: Coding style fixes 2017-02-28 09:42:44 +08:00
Andrew Nicols e65f6a7e40 Merge branch 'wip-MDL-55547-32' of git://github.com/marinaglancy/moodle into MOODLE_32_STABLE 2017-02-28 09:42:39 +08:00
Eloy Lafuente (stronk7) 800da1b13d Merge branch 'MDL-58041_32' of https://github.com/sam-moodle/moodle into MOODLE_32_STABLE 2017-02-28 02:35:20 +01:00
Eloy Lafuente (stronk7) a53008f1f0 Merge branch 'MDL-57524_M32' of https://github.com/nadavkav/moodle into MOODLE_32_STABLE 2017-02-28 01:40:54 +01:00
Eloy Lafuente (stronk7) f1a117b86b Merge branch 'MDL-58030_32' of git://github.com/aolley/moodle into MOODLE_32_STABLE 2017-02-27 22:47:22 +01:00
Helen Foster bcbd4140a1 MDL-58064 lang: Merge English strings from the en_fix language pack 2017-02-27 10:20:17 +01:00
Rajesh Taneja c99c5a436e MDL-57940 behat: Allow behat parallel run to start with delay
Behat parallel run if executed together
then selenium might fail to launch browser
and timeout. It would be nice to have a
custom delay between the start of each process
2017-02-27 16:16:06 +08:00
Andrew Nicols b7d36bdbaf Merge branch 'MDL-50719-fast-locks-MOODLE_32_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_32_STABLE 2017-02-27 13:47:02 +08:00
Andrew Nicols c21f12e786 Merge branch 'MDL-35980-32' of git://github.com/snake/moodle into MOODLE_32_STABLE 2017-02-27 12:20:02 +08:00
Ankit Agarwal 2dd1bb44c2 MDL-55762 assignpdf: Handle errored pages better 2017-02-27 09:27:23 +05:30
Ankit Agarwal 63de9b5cdb MDL-55762 assignpdf: Fix bug in phpdocs 2017-02-27 09:27:23 +05:30
Andrew Nicols 24a00cadec Merge branch 'MDL-58032-32' of git://github.com/ankitagarwal/moodle into MOODLE_32_STABLE 2017-02-27 11:51:13 +08:00
Adrian Greeve 3f709d3272 MDL-51833 tool_monitor: Improve access check for monitor. 2017-02-27 09:00:54 +08:00
Nadav Kavalerchik def32a798d MDL-57524 theme_boost: Fix ignored input size on admin pages 2017-02-24 21:51:43 +02:00
Juan Leyva b63524492f MDL-58071 user: Return usernotfullysetup exception in WS
If there is an empty required custom user profile field, Web Services
should return the usernotfullysetup exception instead ignoring it.
The mobile app already handles this exception for core fields
redirecting the user to web in order to fill the missing field.
2017-02-24 20:17:19 +01:00
Mike Churchward 46f0136a5a MDL-58072 theme_boost: Added quotes to title; removed extra spaces. 2017-02-24 11:10:56 -05:00
Brendan Heywood 83dbc72f38 MDL-50719 cron: Fixed parallel task lock contention issues 2017-02-24 13:19:12 +11:00
Jake Dallimore c6911cefb4 MDL-56364 javascript: Prevent bad prototype chains in core dialogue
The DIALOGUE object was using Y.clone to copy the input config, messing
up the prototype chains for any objects in the config param. Really,
this doesn't need to clone the config, so I've refactored to avoid doing
so. Also moved some of the other attribute init and setup calls to the
appropriate places (initializer and modifyAttrs).
2017-02-24 08:27:44 +08:00
Jake Dallimore dfbdf40af9 MDL-35980 comment: add comment info to delete button for screen readers
For each delete button in the comments widget, make the spoken text a
string containing the name of the poster and the datetime.
2017-02-24 08:16:38 +08:00
Jake Dallimore 3e0fb6862e MDL-58038 email: make sure all allowedemaildomain entries are respected
Fixes a bug with exploding the config var, in which trailing carriage
returns were causing string matches to fail.
2017-02-24 08:07:59 +08:00
AMOS bot 0e8eba7e1f Automatically generated installer lang files 2017-02-24 00:07:41 +08:00
David Monllao d0209e611f weekly release 3.2.1+ 2017-02-23 08:07:49 +01:00
David Monllao ec9ed6d067 Merge branch 'install_32_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_32_STABLE 2017-02-23 08:07:48 +01:00
Rajesh Taneja 3e340aba45 MDL-58056 behat: Ensure form element exists
Before getting form field, ensure node is
visible. Else it may fail to get form
field
2017-02-23 14:45:43 +08:00
Rajesh Taneja de80be59bb MDL-58056 behat: Catch webdriver exception if element removed
While checking for element visibility, ensure
that element is there in dom
2017-02-23 14:45:43 +08:00
AMOS bot 310172571b Automatically generated installer lang files 2017-02-23 00:05:42 +08:00
David Monllao a550b70a94 MDL-58014 messaging: Note about behavioural change in message_count_unread_messages 2017-02-22 09:47:12 +01:00
Ankit Agarwal 3cd6842501 MDL-58032 core_user: Fix case when acting user is a visitor 2017-02-22 09:55:58 +05:30
Rajesh Taneja f17c1aadb3 MDL-57765 behat: Allow exact selectors to be used
In Blocks with boost theme selector to
find block with name is partial match
it might fail in some cases. It would
be nice to use exact match to avoid
unexpected failures
2017-02-21 23:57:37 +01:00
Sam Chaffee 043dffdd34 MDL-58041 tool_monitor: Fix event monitor subscription behat failures 2017-02-21 11:24:17 -07:00
Tim Hunt 6fef2ab3db MDL-58040 blocklib: never use global in block manager class
This switches everything to ->page, including coverting static method to real one.
2017-02-21 15:19:55 +00:00
Adam Olley 9ffcf8a3e9 MDL-58030 gradingform_guide: Init $commentchooser before use
The initialisation of $commentschooser was moved into an IF condition,
whilst still using it outside of that IF conditions scope. As such, if
there are no comments to choose from, the variable is never init'd but
it still goes to use it, emitting a PHP notice.
2017-02-21 14:36:49 +10:30
Eloy Lafuente (stronk7) 56b8f8c8be Merge branch 'wip-MDL-57113-MOODLE_32_STABLE' of https://github.com/kwiliarty/moodle into MOODLE_32_STABLE 2017-02-21 01:00:53 +01:00
Eloy Lafuente (stronk7) fede68a0ac Merge branch 'wip-mdl-56616-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-02-21 00:58:13 +01:00
Eloy Lafuente (stronk7) 6588079c5d Merge branch 'MDL-55867_m32v1' of https://github.com/sbourget/moodle into MOODLE_32_STABLE 2017-02-21 00:53:21 +01:00
Eloy Lafuente (stronk7) f7e4c3627c Merge branch 'MDL-56206_32-text-enrolled-users-page-aligned' of https://github.com/lucaboesch/moodle into MOODLE_32_STABLE 2017-02-20 19:26:35 +01:00
David Monllao 6c3f7e0ae6 Merge branch 'MDL-57576-32-updatefeedbackfile' of git://github.com/roperto/moodle into MOODLE_32_STABLE 2017-02-20 12:27:33 +01:00
Dan Poltawski 89d948d86b Merge branch 'MDL-57962-32' of git://github.com/dpalou/moodle into MOODLE_32_STABLE 2017-02-20 11:19:17 +00:00
David Monllao e1dcad3d13 Merge branch 'MDL-57795-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2017-02-20 10:28:23 +01:00
David Monllao 07d000c51e Merge branch 'MDL-57801-32' of https://github.com/lucisgit/moodle into MOODLE_32_STABLE 2017-02-20 10:10:15 +01:00
David Monllao 636e7a13b6 Merge branch 'MDL-58014_32' of git://github.com/markn86/moodle into MOODLE_32_STABLE 2017-02-20 09:34:43 +01:00
David Monllao a57bdfa055 Merge branch 'MDL-56679-32' of git://github.com/junpataleta/moodle into MOODLE_32_STABLE 2017-02-20 09:20:26 +01:00
David Monllao 80a57cf924 Merge branch 'MDL-57274-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2017-02-20 09:07:25 +01:00
David Monllao 059d6ffd9f Merge branch 'MDL-50729-32' of git://github.com/ankitagarwal/moodle into MOODLE_32_STABLE 2017-02-20 08:27:07 +01:00
Mark Nelson fd13953a8a MDL-58014 core_message: fixed unread message count 2017-02-20 13:59:33 +08:00
Marina Glancy 488e115027 MDL-55547 tool_monitor: fix exceptions when course was deleted
Delete subscriptions when course is deleted
2017-02-20 12:16:27 +08:00
Jake Dallimore 72e3ff3c15 MDL-57274 upgrade: fix curl security notices during upgrade/install
Handles the case where $CFG->curlsecurityxxx vars don't yet exist
during install or upgrade by treating not set the same as empty.
2017-02-20 08:56:47 +08:00
Jake Dallimore bd4f6ce186 MDL-57795 mod_assign: fix for filters killing review pane when grading
Fixes a bug in which the review pane was destroyed if the user selected
a combination of filters resulting in no matched users. Now, the pane
is just hidden in such cases, and displayed again if subsequent filter
changes return one or more users.
2017-02-20 08:53:00 +08:00
Dan Poltawski 5416d932d7 Merge branch 'MDL-57967_32' of git://github.com/markn86/moodle into MOODLE_32_STABLE 2017-02-19 19:44:51 +00:00
Matteo Scaramuccia 27e719e709 MDL-57379 Files: Improved file argument evaluation.
get_file_argument() is responsible to extract the relative path
of the file to be served by a specific Moodle component
like a theme or a module.
Some modules like scorm and imscp require slasharguments support
and they force it when creating the URLs to serve their files.
It should honor the slasharguments setting but this could break
those instances where existing hard-coded links still make usage of
the "old" format, the one when slasharguments is set to No i.e. '?file='.

Its logic has been improved by looking at when the URL is related to
serving a plug-in file in a "forced" slasharguments way of serving it
i.e. using '/pluginfile.php/' and not '/pluginfile.php?'.
2017-02-19 18:44:48 +00:00
Tony Butler b577d34861 MDL-57801 core_filestorage: Delete temp file if disk space runs out 2017-02-16 12:46:46 +00:00
Tony Butler dcd27d9cee MDL-57801 core_filestorage: Verify hash of temp file before committing
This addresses an edge scenario on NFS filesystems with no space
remaining, where subsequent uploads fail silently while zero byte files
are saved to the pool (and for some reason the filesize check passes).
2017-02-16 12:46:46 +00:00
Gergely Kún 863dcb14a8 MDL-56679 core: Initialise $SESSION if necessary 2017-02-16 16:19:42 +08:00
Dan Poltawski 1a754e8446 weekly release 3.2.1+ 2017-02-16 08:14:54 +00:00
Dan Poltawski 95e9f4cc02 Merge branch 'install_32_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_32_STABLE 2017-02-16 08:14:48 +00:00
Mark Nelson bac13609ca MDL-57967 core_message: do not process conversations from deleted users 2017-02-16 13:03:02 +08:00
Rajesh Taneja df90a44f3f MDL-57030 behat: Save run status after execution 2017-02-15 10:38:43 +01:00
Eloy Lafuente (stronk7) 23fd4f3afc Merge branch 'MDL-53991_m32v4' of https://github.com/sbourget/moodle into MOODLE_32_STABLE 2017-02-14 18:16:24 +01:00
Eloy Lafuente (stronk7) 9b39a92170 Merge branch 'wip-mdl-57030-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-02-14 16:53:59 +01:00
David Monllao 69c5e60f8c MDL-56122 editpdf: Fix ghostscript checking 2017-02-14 13:45:39 +01:00
Brendan Heywood cc36a37ea4 MDL-57810 lib: Disable nginx buffers when not required 2017-02-14 11:36:01 +00:00
Dani Palou 2678ee4e81 MDL-57962 forum: Allow creating new discussions with groupid -1 2017-02-14 10:44:00 +01:00
David Monllao 5a9f3039a7 Merge branch 'MDL-56122-32' of https://github.com/lucisgit/moodle into MOODLE_32_STABLE 2017-02-14 09:53:39 +01:00
Ankit Agarwal 667784420f MDL-50729 gradelib: Regrade event should be assigned to system 2017-02-14 11:40:54 +05:30
Ankit Agarwal f628e0ecf6 MDL-50729 events: Add user constants to events base class 2017-02-14 11:40:54 +05:30
Damyon Wiese 9ae3b89cc5 MDL-57766 assign: Put back the manual marker filter
I removed too much from gradingtable.php in the last patch.
2017-02-14 10:19:15 +08:00
Eloy Lafuente (stronk7) 098a875e4e Merge branch 'MDL-57868-32' of git://github.com/jleyva/moodle into MOODLE_32_STABLE 2017-02-13 23:42:46 +01:00
Eloy Lafuente (stronk7) 9d64f4f078 Merge branch 'MDL-57708-32' of git://github.com/merrill-oakland/moodle into MOODLE_32_STABLE 2017-02-13 23:33:00 +01:00
Tony Butler 5fac573391 MDL-56122 assignfeedback_editpdf: Add test assertions for pdf generation 2017-02-13 17:30:15 +00:00
Tony Butler def9c15904 MDL-56122 assignfeedback_editpdf: Regenerate PDF & page images if blank 2017-02-13 17:30:15 +00:00
Dan Poltawski d4e9fe521e Merge branch 'MDL-56841_32' of https://github.com/andrewhancox/moodle into MOODLE_32_STABLE 2017-02-13 16:39:39 +00:00
B Krishnan Iyer 343cdba46b MDL-57354 output: Render continue button as a primary button. 2017-02-13 15:50:43 +00:00
Davo Smith aca74d0d74 MDL-57752 session: fix check_security() session termination 2017-02-13 13:54:43 +00:00
Dan Poltawski ce01dbab40 Merge branch 'MDL-57768-webservice-config-error-MOODLE_32_STABLE' of https://github.com/ilya-catalyst/moodle into MOODLE_32_STABLE 2017-02-13 13:31:04 +00:00
David Monllao 21cf201536 Merge branch 'MDL-57766-32' of git://github.com/damyon/moodle into MOODLE_32_STABLE 2017-02-13 09:44:25 +01:00
David Monllao dfefe26665 Merge branch 'wip-MDL-50770-32' of git://github.com/marinaglancy/moodle into MOODLE_32_STABLE 2017-02-13 09:15:08 +01:00
Rajesh Taneja de70bc556c MDL-56616 theme_boost: Fix style for performance info 2017-02-13 14:39:23 +08:00
AMOS bot 7b06a12ef3 Automatically generated installer lang files 2017-02-11 00:11:46 +08:00
Ilya Tregubov a415eb505e MDL-57768 webservice: Delete manual setting of config in test 2017-02-10 11:48:44 +11:00
Damyon Wiese 54a20ea8fc MDL-57766 mod_assign: Marker allocation fixes
Marking allocation was only ever applied in the view for the grading table. It should
have been added to the list_participants function because that is used by webservices and
the new grading UI.
2017-02-09 17:15:10 +08:00
David Monllao a1740aad65 weekly release 3.2.1+ 2017-02-09 08:00:10 +01:00
David Monllao 3680b1efa0 Merge branch 'install_32_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_32_STABLE 2017-02-09 08:00:09 +01:00
Ryan Wyllie b90c2e2627 MDL-57370 message: add unread count to conversation tests 2017-02-09 13:46:31 +08:00
Ryan Wyllie 5c53893f97 MDL-57370 message: improve message union sql 2017-02-09 13:46:30 +08:00
Rajesh Taneja 3049c086a3 MDL-57030 behat: Added option to automatically rerun failures 2017-02-09 07:16:00 +08:00
Eric Merrill c644b03f02 MDL-57708 assign: Fix display of overridden submissions 2017-02-08 14:54:11 -05:00
David Monllao 7693409caa Merge branch 'wip-MDL-57316-32' of git://github.com/marinaglancy/moodle into MOODLE_32_STABLE 2017-02-08 13:11:40 +01:00
Dan Poltawski eac59c38f8 Merge branch 'MDL-57370-32-int-fix-1' of git://github.com/ryanwyllie/moodle into MOODLE_32_STABLE 2017-02-08 09:14:22 +00:00
Dan Poltawski cd6612b079 MDL-57370 messaging: fix mesed up versions
(Again, I didn't have a good day yesterday...)
2017-02-08 09:08:02 +00:00
Ryan Wyllie 7d88829470 MDL-57370 message: fix duplicate ids 2017-02-08 07:43:14 +00:00
Rajesh Taneja 9fde80dfa0 MDL-56954 behat: Fixed string to pass behat
colon is not concatenated to Search courses string
2017-02-08 12:19:26 +08:00
Damyon Wiese e787fa6ab4 MDL-57009 javascript: Fix "failed to prefetch"
The scanForPartials in amd/src/templates.js function is not handling
nested sections (the list of tokens is a tree not a flat list).
2017-02-08 11:17:39 +08:00
Marina Glancy 24cfd4c7d8 MDL-57316 media: create different instances for different pages 2017-02-08 10:17:18 +08:00
AMOS bot de33f85405 Automatically generated installer lang files 2017-02-08 00:09:21 +08:00
Damyon Wiese 57e38e1d12 MDL-57009 javascript: Reject on all errors
Not all error paths were resulting in a reject() call to fail a promise.
2017-02-07 12:37:10 +00:00
Damyon Wiese ddbf8c29ae MDL-57009 javascript: Always use when.apply
Or it does not really wait for the promises.
2017-02-07 12:37:02 +00:00
Dan Poltawski f265312fcf Merge branch 'MDL-57009-32' of git://github.com/damyon/moodle into MOODLE_32_STABLE 2017-02-07 12:36:27 +00:00
Dan Poltawski 7dc6674cc4 MDL-57370 upgrade: fix versions 2017-02-07 10:49:49 +00:00
Dan Poltawski c1b9c51914 Merge branch 'MDL-57370-32' of git://github.com/ryanwyllie/moodle into MOODLE_32_STABLE 2017-02-07 10:25:27 +00:00
Luca Bösch 14da7f58a4 MDL-56206 themes: Text on Enrolled users page well aligned
Helps to align the table row content.
2017-02-07 07:19:37 +01:00
Eloy Lafuente (stronk7) 18221902bc Merge branch 'MDL-56954-32' of git://github.com/lameze/moodle into MOODLE_32_STABLE 2017-02-07 06:35:08 +01:00
Ryan Wyllie 7d9ee66a2f MDL-57370 message: change indexes on message tables 2017-02-07 01:44:39 +00:00
John Okely de60425a16 MDL-57316 media: Setup media plugins in media_manager::instance() 2017-02-07 09:43:49 +08:00
John Okely 4eb3f8d9b7 MDL-57316 videojs: Add behat tests for lesson, url and resource 2017-02-07 09:43:48 +08:00
Ryan Wyllie 994e94bf76 MDL-57370 message: unit tests for get_conversations 2017-02-07 01:43:33 +00:00
Ryan Wyllie 2f9f8b5903 MDL-57370 message: remove joins from get_conversations
I have broken up the single query that was doing multiple joins on the
messaging and user tables. It no longer does any joins and will instead
query each data set individually.

This may cost more in terms of PHP processing but it will mean that
standard database tunings should be able to handle larger data sets.

For example this function was taking a long time to run on moodle.org
and was causing the MySQL join buffer to overflow.
2017-02-07 01:43:32 +00:00
Eloy Lafuente (stronk7) 3923610e6c Merge branch 'wip-mdl-57851-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-02-07 01:26:21 +01:00
Eloy Lafuente (stronk7) 0913eb3c2a Merge branch 'wip-mdl-57853-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-02-06 21:55:05 +01:00
AMOS bot f5b50e0472 Automatically generated installer lang files 2017-02-07 00:05:29 +08:00
Eloy Lafuente (stronk7) 09261027b6 Merge branch 'MDL-53349-32' of https://github.com/xow/moodle into MOODLE_32_STABLE 2017-02-06 16:09:46 +01:00
Dan Poltawski e0c4e6496f Merge branch 'MDL-57660-32' of git://github.com/junpataleta/moodle into MOODLE_32_STABLE 2017-02-06 13:47:29 +00:00
Dan Poltawski 672ce4c6cd Merge branch 'MDL-57587_32' of git://github.com/timhunt/moodle into MOODLE_32_STABLE 2017-02-06 11:04:00 +00:00
Juan Leyva 13a2a8344c MDL-57868 mod_feedback: Fix incorrect query parameters order
get_records_menu call get_records using the same params ordering, it is
causing a duplicated value error for the first column
2017-02-06 11:32:33 +01:00
David Monllao 8184f47d6c Merge branch 'MDL-57777-m32' of https://github.com/micaherne/moodle into MOODLE_32_STABLE 2017-02-06 09:41:52 +01:00
Rajesh Taneja 7a7320af90 MDL-57853 phpunit: Remove use of setExpectedException 2017-02-06 11:45:45 +08:00
Stephen Bourget 70fd9fbb39 MDL-55867 block_activity_results: Sort activities alphabetically. 2017-02-05 21:30:01 -05:00
Rajesh Taneja e16448d3f1 MDL-57851 behat: Add some more wait for scenario to pass
On slow machine with phnatomjs profile
this scenario keeps failing. Add some more
wait to ensure the page is stable and next
step can be executed
2017-02-03 12:54:45 +08:00
AMOS bot 2b4eb2cb71 Automatically generated installer lang files 2017-02-03 00:04:16 +08:00
Andrew Hancox ed798679bb MDL-56841 mod_folder: Display edit and download buttons inline 2017-02-02 15:17:00 +00:00
Simey Lameze 299dcca1b1 MDL-56954 theme_boost: apply bs4 styles to course management page 2017-02-02 15:52:51 +08:00
Andrew Nicols c16c53d137 weekly release 3.2.1+ 2017-02-02 11:32:16 +08:00
Andrew Nicols 52723e1e3f Merge branch 'MDL-57630-m32' of https://github.com/micaherne/moodle into MOODLE_32_STABLE 2017-02-02 09:19:08 +08:00
Rajesh Taneja 0bcbd5b205 MDL-54628 behat: Rerun command now include replace option passed 2017-02-02 08:21:31 +08:00
Nadav Kavalerchik ec319d13df MDL-53349 Autocomplete: Support multi lingual COMMA keycode (44) 2017-02-01 16:30:23 +08:00
Ankit Agarwal 0c4422af0b MDL-57300 lti: Make tool provider page more readable 2017-02-01 11:51:32 +05:30
Ankit Agarwal 40dcbac3d6 MDL-57027 accesslib: Improve perf of sql 2017-02-01 13:06:03 +08:00
Petr Skoda 62eb5ef8eb MDL-57027 fix get_users_by_capability()
Change-Id: I98dc88784dfa0293f88a19c3d36e7a46a3f52672
2017-02-01 13:06:02 +08:00
Eloy Lafuente (stronk7) 434e8abac8 Merge branch 'MDL-57592-32' of https://github.com/mwehr/moodle into MOODLE_32_STABLE 2017-02-01 13:06:01 +08:00
Dan Poltawski 28add18d9b Merge branch 'MDL-57588_32' of git://github.com/timhunt/moodle into MOODLE_32_STABLE 2017-02-01 13:06:01 +08:00
Dan Poltawski f9220d8138 Merge branch 'wip-mdl-54628-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-02-01 13:06:00 +08:00
Dan Poltawski 32237b8308 Merge branch 'MDL-57300-32' of git://github.com/ankitagarwal/moodle into MOODLE_32_STABLE 2017-02-01 13:06:00 +08:00
Dan Poltawski c2ae90c553 Merge branch 'MDL-57728_m32v1' of https://github.com/sbourget/moodle into MOODLE_32_STABLE 2017-02-01 13:05:59 +08:00
Michael Aherne 7035e0f5b5 MDL-57777 rss: Return 404 when context not found. 2017-01-31 09:31:31 +00:00
Andrew Nicols 6a3777f90c Merge branch 'wip-MDL-57785-32' of git://github.com/amygroshek/moodle into MOODLE_32_STABLE 2017-01-31 12:21:37 +08:00
Andrew Nicols de7a6ff47e Merge branch 'MDL-35978-32-blockfix' of https://github.com/snake/moodle into MOODLE_32_STABLE 2017-01-31 11:51:17 +08:00
Jake Dallimore 46e26a1b69 MDL-35978 comments: fix for comments block which has no toggler 2017-01-31 11:33:02 +08:00
Andrew Nicols 0db0a63e50 Merge branch 'MDL-57296-32' of git://github.com/ankitagarwal/moodle into MOODLE_32_STABLE 2017-01-31 08:54:47 +08:00
wehr 120798e85f MDL-57592 assignment: Adds filtering of assignment name in grader view 2017-01-30 18:25:17 +01:00
Tim Hunt 4679634e36 MDL-57588 questions: regrading should not lose flags 2017-01-30 14:32:16 +00:00
Dan Poltawski 1c0462deb3 Merge branch 'wip-MDL-57782-32' of git://github.com/marinaglancy/moodle into MOODLE_32_STABLE 2017-01-30 10:08:28 +00:00
Dan Poltawski 7dc8cc1ab6 Merge branch 'MDL-35978-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2017-01-30 09:54:13 +00:00
Dan Poltawski 170cd579ff Merge branch 'MDL-36233-32' of git://github.com/lameze/moodle into MOODLE_32_STABLE 2017-01-30 09:34:54 +00:00
Ankit Agarwal 6c83de1d51 MDL-57296 gradelib: Fix get_hidding_effect for grade_type_none items 2017-01-30 13:49:57 +05:30
Ankit Agarwal 0ef42d5f6d MDL-57296 gradebook: Fix issue with gradebook while collapsing grades 2017-01-30 13:49:57 +05:30
Mike Churchward ffc60d23b4 MDL-36233 mod_assign: fixed submission time comparison sql and test. 2017-01-30 09:26:39 +08:00
Rajesh Taneja 4f5a6ca40e MDL-54628 behat: Set behat dir for each run under behat_dataroot
Before this patch behat_dataroot for parallel runs
were created at same level as ->behat_dataroot
After this patch, it will be created 1 level under
->behat_dataroot with BEHAT_PARALLEL_SITE_NAME
prefix and run number as suffix. This will allow
common files as test enabled and parallel run info
to be saved in parent directory and access it easily.
2017-01-30 09:23:58 +08:00
Rajesh Taneja a669c6b21e MDL-54628 behat: Show parallel run command with proper rerun option 2017-01-30 09:23:58 +08:00
Kevin Wiliarty e7734513b8 MDL-57113 boost: min-width for region-main in grade views 2017-01-28 11:47:13 -05:00
Amy Groshek 44b4f83298 MDL-57785 scorm: Prevents SCORM nav refresh when nav not shown.
This improvement prevents refresh of SCORM 1.2 navigation menu
when the navigation menu is not displayed.
2017-01-27 09:12:45 -06:00
Marina Glancy 49053808a2 MDL-57782 enrol_self: fix check when email needs to be sent
Thanks to Leandro for providing a fix
2017-01-27 14:25:17 +08:00
Helson Castro 8ea5d72218 MDL-57568 forms: Added missing include for button element. 2017-01-27 14:01:16 +08:00
Jake Dallimore e33b7b342a MDL-35978 comments: expandable comments announce change when toggled
Added role and aria-expanded attributes to the toggler link and added
a key handler for the space and enter keys.
2017-01-27 13:07:12 +08:00
Jun Pataleta f33a8d4eee MDL-57660 mod_forum: Preserve forum ID selection after form submission 2017-01-27 10:09:54 +08:00
Eloy Lafuente (stronk7) 6a4a1d812c weekly release 3.2.1+ 2017-01-27 00:28:06 +01:00
Eloy Lafuente (stronk7) c94dce9c89 Merge branch 'install_32_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_32_STABLE 2017-01-27 00:28:01 +01:00
Tim Hunt a551ea0210 MDL-57587 question file access: fix regression caused by MDL-53744 2017-01-26 18:54:28 +00:00
Michael Aherne 72b489ef65 MDL-57777 rss: Return 404 when context not found. 2017-01-26 10:51:47 +00:00
Eloy Lafuente (stronk7) 827d93f88a Merge branch 'MDL-55915_32' of https://github.com/rezaies/moodle into MOODLE_32_STABLE 2017-01-24 22:11:41 +01:00
AMOS bot 884f4d3ec3 Automatically generated installer lang files 2017-01-25 00:04:42 +08:00
Ankit Agarwal a072271853 MDL-57300 lti: Rename lti2 as registration url
AMOS BEGIN
CPY [registrationurl,mod_lti],[registrationurl,enrol_lti]
AMOS END
2017-01-24 16:41:04 +05:30
Ankit Agarwal 95c794075a MDL-57300 lti: Fix incorrect variable types in docs 2017-01-24 16:41:04 +05:30
Dan Poltawski 890f84cdb2 Merge branch 'MDL-57639-32' of git://github.com/andrewnicols/moodle into MOODLE_32_STABLE 2017-01-24 10:11:29 +00:00
Dan Poltawski b4e1bbef47 Merge branch 'MDL-57667-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2017-01-24 09:40:57 +00:00
Andrew Nicols 678d051bee Merge branch 'm32_MDL-46782' of git://github.com/danmarsden/moodle into MOODLE_32_STABLE 2017-01-24 10:44:03 +08:00
Dan Marsden c83ef7e25b MDL-46782 mod_scorm: fix completion test, remove redundant test. 2017-01-24 13:06:57 +13:00
Dan Poltawski 1ee447d3a4 Merge branch 'wip_32_mdl-50625_ldap_better_check_paged_results_support' of https://github.com/iarenaza/moodle into MOODLE_32_STABLE 2017-01-23 16:21:02 +00:00
Dan Poltawski 217d523d43 Merge branch 'wip-MDL-57511-32' of git://github.com/Beedell/moodle into MOODLE_32_STABLE 2017-01-23 15:39:57 +00:00
Dan Poltawski 76cebe50cb Merge branch 'MDL-57415_m32v1' of https://github.com/sbourget/moodle into MOODLE_32_STABLE 2017-01-23 12:24:11 +00:00
Dan Poltawski 7dfc04ff98 Merge branch 'MDL-57287-32' of git://github.com/snake/moodle into MOODLE_32_STABLE 2017-01-23 12:19:23 +00:00
Dan Poltawski ff037d9698 Merge branch 'mdl57668-moodle32' of https://github.com/tlock/moodle into MOODLE_32_STABLE 2017-01-23 12:05:33 +00:00
Dan Poltawski 39dc183d9f Merge branch 'wip-mdl-57700-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-01-23 11:59:11 +00:00
Dan Poltawski f7ddcd23f8 Merge branch 'MDL-57677-32-usermodified' of git://github.com/mudrd8mz/moodle into MOODLE_32_STABLE 2017-01-23 09:48:12 +00:00
Dan Poltawski 92f57f8397 Merge branch 'm32_MDL-46782' of git://github.com/danmarsden/moodle into MOODLE_32_STABLE 2017-01-23 09:28:31 +00:00
Dan Poltawski 98f246ae97 Merge branch 'MDL-57737-32' of git://github.com/crazyserver/moodle into MOODLE_32_STABLE 2017-01-23 09:26:56 +00:00
Pau Ferrer Ocaña f9e7ee4534 MDL-57737 glossary: Add entry description accepts HTML 2017-01-20 13:26:02 +01:00
Shamim Rezaie b14507a31f MDL-55915 enrol_manual: let fullname()know if user has viewfullnames cap
fullname() relies on its second parameter to determine wheter it should use fullnamedisplay or alternativefullnameformat.
We need to check for moodle/site:viewfullnames capability and pass true as the second parameter to fullname() whereever
the user has this capability.
2017-01-20 19:31:08 +11:00
Shamim Rezaie 4436b9e9dd MDL-55915 core_user: let fullname() know if user has viewfullnames cap
Added $viewfullnames property to the user_selector_base class so anyone using a child class of this class can
let it know if user has viewfullnames capability or not.
2017-01-20 19:30:21 +11:00
Shamim Rezaie 2568183232 MDL-55915 Gradebook: let fullname() know if user has viewfullnames cap
Instruct fullname() to format names on the gradebook grader report with alternativefullnameformat when user
has moodle/site:viewfullnames capability.
2017-01-20 19:28:36 +11:00
Shamim Rezaie bcca23f9c5 MDL-55915 mod_assign: let fullname() know if user has viewfullnames cap
Instruct fullname() to format names on the assignment grading page with alternativefullnameformat when user
has moodle/site:viewfullnames capability.
2017-01-20 19:26:33 +11:00
Rajesh Taneja bab24efe70 MDL-57700 behat: Fixed undefined RuntimeException 2017-01-20 11:05:10 +08:00
Jake Dallimore 45a46ecbd8 MDL-57667 theme: change base layout for boost to columns2
Ensures capability errors are displayed on a page with full navigation.
2017-01-20 08:48:38 +08:00
Stephen Bourget 64cfe467f8 MDL-57728 theme: Fix text display when using tabs 2017-01-19 11:32:52 -05:00
AMOS bot 48f0ebcd49 Automatically generated installer lang files 2017-01-20 00:07:16 +08:00
John Beedell 6537c557b5 MDL-57511 Quiz: Attempts report shows non-unique debugging 2017-01-19 14:44:16 +00:00
Iñaki Arenaza 225e039e73 MDL-50625 auth_ldap: Better check for paged results support
There is at least one LDAP server (Sun Directory Server) that doesn't
support Paged Results extension, even if it supports LDAP version 3. So
checking just for LDAP version is not enough.

If possible, we check the supportedControl attribute of the LDAP rootDSE
and see if the paged results control is available. This needs an LDAP
connection, which might not be possible to establish before we configure
some essential LDAP settings (server, bind user, password, etc.). Thus
we try to establish the connection and check the supportedControl
attribute. But if we fail, we perform only basic checks that are less
accurate and err on the side of cautiousness.
2017-01-19 10:58:13 +01:00
Andrew Nicols c8dddb5ccb MDL-57639 mod_forum: Update to use correct variable name
This addresses a regression where unnecessary attributes were removed
from the old variable. This one was missed.
2017-01-19 13:47:45 +08:00
Andrew Nicols 3e276d6efa weekly release 3.2.1+ 2017-01-19 12:17:57 +08:00
Andrew Nicols adf2ea6166 Merge branch 'install_32_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_32_STABLE 2017-01-19 12:17:56 +08:00
Andrew Nicols fd90d0e925 MDL-57613 enrol_lti: Correct location of upgrade step 2017-01-19 07:56:17 +08:00
Tim Lock 58a4ce4774 MDL-57668 mod_assign: Fix optional_param() form processing 2017-01-19 08:08:07 +10:30
Stephen Bourget b44972cc8b MDL-57415 user: Add missing bootstrap classes to participants page 2017-01-18 10:38:33 -05:00
Dan Poltawski 655570df00 MDL-57604 mod_assign: fix empty case in user selector
Sadly the js arguments object gives an arguments.length of 1 when
no arguments are passed, so we have to explicitly check for it.
2017-01-18 09:59:33 +01:00
Dan Marsden dbf70dec42 MDL-46782 mod_scorm: Load first incomplete sco on re-entry. 2017-01-18 21:03:52 +13:00
Rajesh Taneja c40ed5f6ff MDL-45821 behat: navigate back to scorm to avoid scroll
On Exiting scrom activity, it goes back to course
and scrolls to section. On slow machines next step
fails. To avoid such case navigate to home screen
and then follow next step.
2017-01-18 13:03:07 +08:00
Andrew Nicols 2827c7f997 Merge branch 'MDL-57634-m32' of https://github.com/micaherne/moodle into MOODLE_32_STABLE 2017-01-18 12:38:14 +08:00
Andrew Nicols 2259fb5f36 Merge branch 'wip_MDL-57590_32_forum_search' of https://github.com/mchurchward/moodle into MOODLE_32_STABLE 2017-01-18 08:38:10 +08:00
Dan Poltawski 6dc7039af9 MDL-57604 mod_assign: Adding some missing stuff in 32_STABLE
In order to keep 31, 32 and master the same.
2017-01-18 01:04:48 +01:00
Eloy Lafuente (stronk7) ee7b977a8b Merge branch 'MDL-57604-32' of git://github.com/danpoltawski/moodle into MOODLE_32_STABLE 2017-01-18 00:17:11 +01:00
Eloy Lafuente (stronk7) f4841f394c Merge branch 'wip-MDL-57608-32-3' of git://github.com/marinaglancy/moodle into MOODLE_32_STABLE 2017-01-17 20:46:19 +01:00
David Mudrák 6973e38a91 MDL-57677 mod_forum: Fix wrong user displayed as the last post's author
In the recent issue MDL-56225, we started to record the current user as
the usermodified in the forum_discussions table when updating a forum
post. It made sense but it was a mistake.

Even if the current user really modifies the discussion by updating the
post, the field usermodified has actually been always interpreted and
displayed as the last post' author. Not as the last user who touched the
discussion.

This patch reverts that particular change to the previous behaviour and
adds explicit unit test for it.
2017-01-17 19:39:40 +01:00
AMOS bot c1b158b569 Automatically generated installer lang files 2017-01-18 00:07:24 +08:00
Dan Poltawski 21a8a95869 Merge branch 'wip-mdl-57669-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-01-17 10:28:52 +00:00
sam marshall 359914c8f6 MDL-57515 Resource: 'not very efficient' with a large number of files
Fixes bug where the resource module loads metadata for all files while
building course modinfo, even though it only needs the first file.
(This causes problems if you have ~10k files.)
2017-01-17 10:22:13 +00:00
Jake Dallimore 95208fe135 MDL-57287 themes: fix buttons in default dashboard page header
This fix modifies styling for pages having no navbar, such as the
dashboard, site home and default dashboard pages and fixes an overlap
problem with the buttons and context header.
2017-01-17 15:55:39 +08:00
Rajesh Taneja df428648ee MDL-57669 behat: Exit with error code if step undefined 2017-01-17 10:32:47 +08:00
Dan Poltawski 9148905e9a Merge branch 'MDL-57368-32-2' of https://github.com/snake/moodle into MOODLE_32_STABLE 2017-01-16 16:19:57 +00:00
Dan Poltawski 64df3fed13 Merge branch 'MDL-57613-32' of https://github.com/xow/moodle into MOODLE_32_STABLE 2017-01-16 16:17:16 +00:00
Mike Churchward ed4aaea57b MDL-57590 mod_forum: fixed search form with forumid and actionurl. 2017-01-16 11:16:27 -05:00
AMOS bot 163fc8588d Automatically generated installer lang files 2017-01-17 00:08:10 +08:00
Dan Poltawski 39e34b9586 Merge branch 'MDL-57452_behat_completion_fix_master_MOODLE_32_STABLE' of https://github.com/gthomas2/moodle into MOODLE_32_STABLE 2017-01-16 13:34:09 +00:00
Dan Poltawski 5c63ab7ee8 Merge branch 'MDL-57601-m32' of https://github.com/sammarshallou/moodle into MOODLE_32_STABLE 2017-01-16 12:23:06 +00:00
Dan Poltawski 3e3068cd11 Merge branch 'MDL-57374_m32' of https://github.com/dasistwas/moodle into MOODLE_32_STABLE 2017-01-16 12:10:51 +00:00
Dan Poltawski a27dde0ba7 Merge branch 'MDL-57554-32' of git://github.com/crazyserver/moodle into MOODLE_32_STABLE 2017-01-16 11:17:59 +00:00
Dan Poltawski b92400a49f Merge branch 'm32_MDL-45821' of git://github.com/danmarsden/moodle into MOODLE_32_STABLE 2017-01-16 09:17:50 +00:00
Dan Poltawski a477c8b752 Merge branch 'wip-MDL-56271-32' of git://github.com/marinaglancy/moodle into MOODLE_32_STABLE 2017-01-16 08:01:23 +00:00
Pau Ferrer Ocaña 7f52d5c740 MDL-57554 forum: Mark as read on view_forum_discussion calls 2017-01-13 09:27:06 +01:00
John Okely f52bdbb885 MDL-57613 enrol_lti: Allow longer nonces 2017-01-13 11:22:19 +08:00
David Bogner 7c519588f1 MDL-57374 editor: Pasting plain text in Atto removes all styles/classes 2017-01-12 18:00:37 +01:00
AMOS bot 7345917de4 Automatically generated installer lang files 2017-01-13 00:05:19 +08:00
Stephen Bourget 8a71b10a68 MDL-53991 calendar: fix repeating events on course import 2017-01-12 09:40:38 -05:00
Michael Aherne 18907a51d5 MDL-57634 messaging: Ensure test uses a configured plugin 2017-01-12 12:31:56 +00:00
gthomas2 11d04ffe8a MDL-57452 behat: Make completion check work with manual completion input 2017-01-12 11:38:59 +00:00
Dan Poltawski 5e1014a76e weekly release 3.2.1+ 2017-01-12 07:42:37 +00:00
Dan Poltawski 6e497e6e7d Merge branch 'install_32_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_32_STABLE 2017-01-12 07:42:36 +00:00
Jake Dallimore 66a4a376ee MDL-57368 mod_feeback: fix drag and drop question reordering in boost 2017-01-12 11:37:43 +08:00
Jake Dallimore 3563244314 MDL-57368 templates: add example context to core_form/element-template 2017-01-12 11:37:34 +08:00
Dan Poltawski bf02dc9819 MDL-57608 media_videojs: lazily load videojs on demand
The videojs javascript is over 1MB of javascript which we don't need to
load on every page, now that we only require it demand, the js can be
lazily loaded when its needed, which keeps the first.js smaller and more
likely to stay in browser cache.
2017-01-12 10:56:06 +08:00
Dan Poltawski 8e8c066448 MDL-57608 media_videojs: fix third party locations 2017-01-12 10:56:06 +08:00
Marina Glancy 67f83d9279 MDL-57608 media_videojs: load youtube module only when requested 2017-01-12 10:56:06 +08:00
Michael Aherne bcd1915dd0 MDL-57630 messaging: Pass unit test with third-party plugins 2017-01-11 16:39:31 +00:00
Eloy Lafuente (stronk7) 992ffccfd2 Merge branch 'wip-mdl-57595-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-01-11 02:29:56 +01:00
Dan Poltawski 97fd5a9841 Merge branch 'MDL-57480-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2017-01-10 08:40:12 +00:00
Marina Glancy 6b47a070e7 MDL-56271 mod_feedback: recaptcha was not working 2017-01-10 14:08:26 +08:00
David Monllao b4cfb7d733 Merge branch 'MDL-57385-32-2' of git://github.com/junpataleta/moodle into MOODLE_32_STABLE 2017-01-10 05:27:11 +01:00
Marina Glancy a9fa51024f MDL-50770 blocks: copy sitewide blocks positions when cloning dashboards 2017-01-10 11:40:27 +08:00
Jun Pataleta 2eec6ffc6c MDL-57385 core: Set page layouts of non-mydashboard pages to standard
The following pages are using the "mydashboard" page layout:
* User preferences > Badges > Manage badges
* User preferences > Badges > Backpack settings
* User preferences > Repositories > Manage instances
* Private files
However, the "mydashboard" page layout should only be used for the user's
dashboard page. Changing these to use the "standard" page layout.
2017-01-10 09:46:18 +08:00
Rajesh Taneja 3f1574f849 MDL-57595 behat: Added redirect and wait to ensure next step pass 2017-01-10 08:45:43 +08:00
Jake Dallimore 40b78a23e9 MDL-57480 core_course: make drag and drop fire a dom updated event
When adding media via drag and drop, the notifyFilterContentUpdated
event should be called after the item is added to the DOM. This allows
things like videojs for example, to process the new content.
2017-01-10 07:47:18 +08:00
Dan Poltawski fb5655b5c2 MDL-57604 mod_assign: fix incorrect user being selector from chooser
Previously there was a logic bug where by if some students were filtered
from the list, the label for another student could be attached to the
'filered' student.

This fix reworks the promises a bit so we render the student summary and
then build an row with the explict user id, rather than itterating through
the array later.

I also remove the storing of the initial promise in a varible because
this is an easy way to introduce a bug (not waiting for the .then()
chained promise)
2017-01-09 20:28:01 +00:00
sam marshall 405dcba6f3 MDL-57601 Grade report: Error for ungraded quiz without view hidden
If a course contains an ungraded quiz (max grade set to 0), and there
is a user account which can view the grader reports but does not have
permission to view hidden grades, they will get errors.
2017-01-09 17:14:44 +00:00
Dan Poltawski 7f32c5a447 Merge branch 'MDL-57427_m32' of https://github.com/jrchamp/moodle into MOODLE_32_STABLE 2017-01-09 16:26:18 +00:00
AMOS bot ec3eeb7ace Automatically generated installer lang files 2017-01-10 00:04:55 +08:00
Jonathan Champ 1af3d13bf3 MDL-57427 cache: Use perfdebug only when enabled 2017-01-09 10:18:41 -05:00
David Monllao 84122523ba Merge branch 'wip-mdl-55042-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-01-09 12:56:12 +01:00
godric 382c069e52 MDL-40132 lib: Using compare rule results in fatal error.
In getValidationScript function variable $element can be an array or object.
Function attempt get non-existing attributes.
To avoid this we should check before accessing.
2017-01-09 10:30:03 +00:00
Dan Poltawski 3f58a36504 Merge branch 'wip-mdl-56211-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-01-09 09:58:42 +00:00
Dan Poltawski 9e41e4e8ea Merge branch 'MDL-57373-32' of git://github.com/ankitagarwal/moodle into MOODLE_32_STABLE 2017-01-09 09:42:17 +00:00
Dan Poltawski 7523d99558 Merge branch 'MDL-53367_32' of https://github.com/juancs/moodle into MOODLE_32_STABLE 2017-01-09 08:27:56 +00:00
Dan Marsden 9a375bdf6c MDL-45821 mod_scorm: Check lesson_status correctly for multi-sco. 2017-01-09 20:08:10 +13:00
Eloy Lafuente (stronk7) 07f6358b03 Moodle release 3.2.1 2017-01-08 11:04:37 +01:00
AMOS bot 7ffb98d0f5 Automatically generated installer lang files 2017-01-08 00:04:57 +08:00
Dan Poltawski dda99bb3f2 weekly release 3.2+ 2017-01-06 01:30:59 +00:00
Dan Poltawski 9cff26295b Merge branch 'install_32_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_32_STABLE 2017-01-06 01:30:57 +00:00
Rajesh Taneja 2fd5ceadb5 MDL-56211 behat: Add suite name to faildump path
If suite is not default then add suite name
to end of faildump file name
2017-01-06 09:20:10 +08:00
David Mudrák 5865a6875b MDL-57580 mod_assign: Fix the incorrect type of some input parameters
The PARAM_TEXT has been misused in certain cases here. The 'action'
parameter seems to always be alphabetic, with values like
savesubmission, editsubmission and others as handled in assign::view().

Fixing the action handling fixes the reported XSS issue. While working
on it, I spotted two more places where PARAM_TEXT does not seem
appropriate. I include changes for them too, even if they are no
strictly related to the reported bug and there are no known ways to
abuse it.

* The 'plugin' looks like PARAM_PLUGIN and is even declared as such in
  some other parts of the assignment code (such as feedback forms).

* The 'workflowstate' is one of the ASSIGN_MARKING_WORKFLOW_STATE
  constants and is supposed to be alpha in external function input
  parameters handling, too.
2017-01-05 17:39:51 +01:00
Dan Poltawski ef2eed1b3c Merge branch 'MDL-57563-32-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_32_STABLE 2017-01-05 10:11:40 +00:00
Rajesh Taneja 6601017d02 MDL-57531 behat: Set noreplyaddress to valid address
noreplyaddress should be a valid address, else
it will not be saved. For behat we don't send
email, so set it to noreply@example.com, to
avoid failing validation on localhost
2017-01-05 06:52:06 +00:00
Daniel Thee Roperto a204d7d921 MDL-57576 assignment: Overwrite feedback file if it has the same name. 2017-01-05 15:32:51 +11:00
Damyon Wiese bf345fc4ca MDL-57009 javascript: cibot nagging 2017-01-05 09:36:09 +08:00
Damyon Wiese 2722404791 MDL-57009 javascript: Dont rely on async ajax
Recursively pre-scan mustache templates to extract the list of blocks and partials. Then
we can pre-fetch them all and don't have to rely on jquery async ajax (which is deprecated).

This is part of a refactoring of the promises code in the templates module to prevent duplicate requests.
2017-01-05 09:36:09 +08:00
Damyon Wiese 256f820dfd MDL-57009 js: Do not fetch the same template twice
Also clean up promises use of done vs then.
2017-01-05 09:36:09 +08:00
Damyon Wiese 173f5515e3 MDL-57009 js: Skip ajax request for same string
This is done by caching the first promise generated to fetch a string.
2017-01-05 09:36:09 +08:00
David Mudrák 7ed6f330c6 MDL-57563 lang: Use the new newsitemsnumber wording in behat 2017-01-04 22:19:32 +01:00
Helen Foster 418d01aaf4 MDL-57563 lang: Merge English strings from the en_fix language pack 2017-01-04 22:18:31 +01:00
AMOS bot 11f9ff55e1 Automatically generated installer lang files 2017-01-05 00:05:20 +08:00
Dan Poltawski 04d4796089 Merge branch 'MDL-57531-32-phpmailer' of git://github.com/mudrd8mz/moodle into MOODLE_32_STABLE 2017-01-04 13:28:39 +00:00
David Mudrák e889aee562 MDL-57531 mail: Validate the sender's email address
The patch adds validation for the noreplyaddress setting variable, for
the explicit $replyto parameter and for the sender's email. In case of
misconfigured noreplyaddress setting, it falls back to the default
noreply address value. In case of invalid email in the user's record,
the email is not sent.

The patch also adds unit test for the value returned by the function
generate_email_processing_address() so that it can be considered as a
valid email, too.

This is supposed to significantly minimise the risk of exploiting the
vulnerability in PHPMailer's Sender field.
2017-01-04 12:37:36 +01:00
David Mudrák 228157ebf5 MDL-57531 mail: Do not let admins set invalid email addresses
The noreply and support emails should always be valid.
2017-01-04 12:37:36 +01:00
Eloy Lafuente (stronk7) c77ae4e017 Merge branch 'MDL-57192-32' of git://github.com/ankitagarwal/moodle into MOODLE_32_STABLE 2017-01-04 11:34:23 +00:00
David Mudrák 1da3022e50 MDL-56225 mod_forum: Fix inability to edit attachments
The 'attachments' is not a real DB field here. It comes from the form's
filepicker and holds the id of the attachments filearea. The function
forum_add_attachment() expects it as a property of the first argument.

There were two possible approaches here. Either to pass the raw $newpost
to forum_add_attachment(), or add the attachments into the list
modifiable fields. The second approach is safer.
2017-01-04 11:34:22 +00:00
David Monllao f6507b8e35 Merge branch 'm32_MDL-49557' of git://github.com/danmarsden/moodle into MOODLE_32_STABLE 2017-01-04 11:34:22 +00:00
David Monllao d52b937932 MDL-57338 templates: Fix modal_cancel template name 2017-01-04 11:34:21 +00:00
Rajesh Taneja ce36e3626f MDL-57536 availability: Fixed css for clean theme 2017-01-04 11:34:21 +00:00
Ankit Agarwal 063f7c198b MDL-56992 core_scss: Don't allow invalid files to be included
We allow only .scss files so allow files to be included only and only if they end in .scss and they exist on server under theme directory.
2017-01-04 11:34:20 +00:00
Andrew Nicols 83dedbcd33 MDL-56225 mod_forum: Remove unnecessary attributes from update 2017-01-04 11:34:20 +00:00
Dan Marsden 0ad466926d MDL-49557 mod_scorm: optionally strip quotes. 2017-01-04 15:45:08 +13:00
Ankit Agarwal ced9a33352 MDL-57192 dml: Temporarily disable query logging during setup 2017-01-03 17:27:08 +05:30
Ankit Agarwal 3b4fba5588 MDL-57192 dml: Support temporarily disabling query logs during setup 2017-01-03 17:27:08 +05:30
Rajesh Taneja 926d5a53ff MDL-55042 phpunit: Get sorted sections
Sometimes db doesn't return records in order
So enusre it is in order so that last record
doesn't have section equal 0. As section 0
can't be deleted.
2017-01-03 10:00:05 +08:00
Eloy Lafuente (stronk7) 9cc9dabf17 Merge branch 'wip-mdl-57494-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2017-01-03 02:35:10 +01:00
Eloy Lafuente (stronk7) cb8be0b6b8 Merge branch 'MDL-57536-32' of git://github.com/jleyva/moodle into MOODLE_32_STABLE 2017-01-02 18:59:55 +01:00
Juan Leyva c6bd4c1a45 MDL-57536 availability: Document required selectors changes
MDL-55839 Introduced some changes in CSS selectors used by the form.js
file.

This caused contributed plugins to not work (javascript stop working)
when editing a module.
2017-01-02 18:52:22 +01:00
Davo Smith 31e4c05002 MDL-47198 filelib: fix curl handling headers with no value 2017-01-02 16:43:52 +01:00
Dan Poltawski c5f11c0f3c Merge branch 'm32_MDL-49557' of git://github.com/danmarsden/moodle into MOODLE_32_STABLE 2017-01-02 12:35:10 +00:00
Dan Poltawski 6158379f75 Merge branch 'MDL-57080-m32' of https://github.com/micaherne/moodle into MOODLE_32_STABLE 2017-01-02 12:15:02 +00:00
Dan Poltawski bc076bf1b8 Merge branch 'wip-MDL-57464-32' of git://github.com/abgreeve/moodle into MOODLE_32_STABLE 2017-01-02 11:16:24 +00:00
Dan Poltawski 27a3a42efd MDL-57532 calendar: tidy up button grouping 2017-01-02 10:45:24 +00:00
Dan Poltawski b0c2ea4640 Merge branch 'MDL-57532_m32v1' of https://github.com/sbourget/moodle into MOODLE_32_STABLE 2017-01-02 10:45:20 +00:00
David Monllao 00ef7b1caa Merge branch 'MDL-56926_32' of git://github.com/dmonllao/moodle into MOODLE_32_STABLE 2016-12-30 10:00:08 +01:00
David Monllao 7914b0035f MDL-56926 theme_boost: Restore filepicker's filename and icons original spacing 2016-12-30 09:57:41 +01:00
Nadav Kavalerchik cb358279b7 MDL-56926 Theme/Boost: Fix filepicker folder tree YUI guides 2016-12-30 09:57:35 +01:00
AMOS bot 339edb47e2 Automatically generated installer lang files 2016-12-30 00:05:21 +08:00
Dan Poltawski bd6bc508df Merge branch 'MDL-57512-32' of git://github.com/crazyserver/moodle into MOODLE_32_STABLE 2016-12-29 11:50:58 +00:00
Dan Poltawski c53194f3f9 Merge branch 'm32_MDL-50643' of git://github.com/danmarsden/moodle into MOODLE_32_STABLE 2016-12-29 11:46:48 +00:00
Pau Ferrer Ocaña c477dc23c0 MDL-57512 categories: Use maxcategorydepth only when getting all cats 2016-12-29 12:05:27 +01:00
David Monllao 8cd421e941 Merge branch 'MDL-57338-32' of git://github.com/danpoltawski/moodle into MOODLE_32_STABLE 2016-12-29 10:52:30 +01:00
Dan Poltawski f18c2a9d15 MDL-57338 templates: fix missing example variables
From Davids review, thanks
2016-12-29 08:05:04 +00:00
David Monllao 403e0d96e5 Merge branch 'MDL-57331-32' of https://github.com/xow/moodle into MOODLE_32_STABLE 2016-12-28 22:32:33 +01:00
Dan Poltawski 5984ffded4 Merge branch 'MDL-57451-32' of https://github.com/lucisgit/moodle into MOODLE_32_STABLE 2016-12-28 21:17:48 +00:00
Dan Poltawski cd9a925e6a Merge branch 'MDL-55955_32' of git://github.com/markn86/moodle into MOODLE_32_STABLE 2016-12-28 21:17:47 +00:00
Dan Poltawski 40471ed54c Merge branch 'wip-MDL-57366-32' of git://github.com/abgreeve/moodle into MOODLE_32_STABLE 2016-12-28 21:17:46 +00:00
David Monllao 000b0949e6 Merge branch 'MDL-57491_m32v3' of https://github.com/sbourget/moodle into MOODLE_32_STABLE 2016-12-28 21:17:46 +00:00
Dan Poltawski 6c7f60dbc0 Merge branch 'MDL-57417-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2016-12-28 21:17:45 +00:00
David Monllao 3b37e372f2 Merge branch 'MDL-52366-32-mustachethemedir' of git://github.com/mudrd8mz/moodle into MOODLE_32_STABLE 2016-12-28 12:23:49 +01:00
David Monllao 44b94d9324 Merge branch 'MDL-57450-32' of git://github.com/danpoltawski/moodle into MOODLE_32_STABLE 2016-12-28 11:48:05 +01:00
Dan Poltawski e5bc84f84f MDL-57251 upgrade: bump versions
and remove uncessary ->mark_dirty()
2016-12-28 10:28:37 +00:00
Dan Poltawski a38d0650d4 Merge branch 'wip-MDL-57251-32' of git://github.com/abgreeve/moodle into MOODLE_32_STABLE 2016-12-28 10:28:31 +00:00
David Monllao 8d9edc0e7c Merge branch 'MDL-57357-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2016-12-28 11:17:11 +01:00
David Monllao 4e0357c1e3 Merge branch 'MDL-56488-32' of git://github.com/danpoltawski/moodle into MOODLE_32_STABLE 2016-12-28 10:58:22 +01:00
Dan Poltawski 9efd73abec Merge branch 'wip-MDL-57292-32' of git://github.com/abgreeve/moodle into MOODLE_32_STABLE 2016-12-28 09:13:37 +00:00
Dan Poltawski c31b5bbf9d Merge branch 'MDL-57474-32-messageid' of git://github.com/mudrd8mz/moodle into MOODLE_32_STABLE 2016-12-28 08:56:06 +00:00
Dan Marsden 7606ba2133 MDL-49557 mod_scorm: fix AICC pre-requisite handling. 2016-12-28 10:09:00 +13:00
Ankit Agarwal 88c0fcb03f MDL-57373 navigation: Fix course names in flat nav 2016-12-27 12:21:02 +05:30
Stephen Bourget 51b7f8f0a4 MDL-57532 calendar: Add missing bootstrap classes 2016-12-26 11:41:50 -05:00
AMOS bot 40fdf0f84f Automatically generated installer lang files 2016-12-27 00:08:58 +08:00
AMOS bot 3e99f4f642 Automatically generated installer lang files 2016-12-26 00:05:52 +08:00
AMOS bot 324e613b48 Automatically generated installer lang files 2016-12-25 00:04:37 +08:00
Adrian Greeve 502397dcbc MDL-57464 mod_lesson: fix notice with sub-clusters. 2016-12-23 11:12:27 +08:00
Jake Dallimore f1f83c3ba1 MDL-57357 auth: add behat coverage for remember username login feature 2016-12-23 11:04:19 +08:00
Jake Dallimore 2c3f09ccf7 MDL-57357 auth: fix the remember username feature on login page 2016-12-23 10:45:06 +08:00
Adrian Greeve e2f5592b8f MDL-57366 mod_lesson: Zero now acceptable numeric answer.
When creating a numerical question. If the answer to the
question is 0 then the answer will not save.
2016-12-23 10:36:12 +08:00
Mark Nelson 522fcf2ffc MDL-55955 mod_quiz: ensure duplicated override events are removed 2016-12-23 10:02:47 +08:00
Jake Dallimore 96e743ff78 MDL-57417 navigation: fix legacy_activity_onclick_handler callback scope 2016-12-23 08:43:37 +08:00
Dan Marsden e514ae345e MDL-50643 mod_scorm: redirect using current window instead of parent. 2016-12-23 10:18:52 +13:00
Stephen Bourget 2659b808ab MDL-57491 report_log: Improve filtering code by using static entries 2016-12-22 16:12:34 -05:00
AMOS bot 54037cf3e2 Automatically generated installer lang files 2016-12-23 00:04:18 +08:00
Dan Poltawski b0773d70c6 MDL-57338 message: fix template component 2016-12-22 12:57:11 +00:00
Dan Poltawski 4348fffe0c MDL-57338 templates: add missing example context 2016-12-22 12:57:11 +00:00
Dan Poltawski 216c68b834 MDL-57338 chart: add example context
And fix aria roles
2016-12-22 12:57:11 +00:00
Dan Poltawski a3c1bd86ed MDL-57338 mustache: fix admin_setting_tabs
* Add example context
* Fix validation issue (need role="tablist" to contain the tabs)
2016-12-22 12:57:11 +00:00
Michael Aherne e0006399ff MDL-57080 completion: Update completion expected date on reset 2016-12-22 11:43:39 +00:00
Tony Butler 2084c59b82 MDL-57451 theme_boost: Add checkboxgroup class to checkbox input element 2016-12-22 11:30:24 +00:00
Dan Poltawski a09a9879e5 weekly release 3.2+ 2016-12-22 08:15:17 +00:00
Dan Poltawski a3a095b6eb Merge branch 'install_32_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_32_STABLE 2016-12-22 08:15:15 +00:00
Adrian Greeve 0edf724367 MDL-57292 tool_lpimportcsv: Fix for unit tests. 2016-12-22 14:41:32 +08:00
Simey Lameze a953ac5942 MDL-57292 tool_lpimportcsv: display progress bar for large imports 2016-12-22 14:41:17 +08:00
Rajesh Taneja 5627b0b1a1 MDL-57494 behat: Fixed tags and removed reset in after_scenario
1. Added missing switch_window tags
2. Fixed switch_frame tags to use switch_iframe
3. Removed reset from after_scenario.
2016-12-22 12:44:38 +08:00
David Monllao 5d3a7be453 Merge branch 'MDL-55575_B_32' of https://github.com/bostelm/moodle into MOODLE_32_STABLE 2016-12-21 05:50:17 +01:00
David Mudrák 8f27fdf1ab MDL-57474 mailer: Make sure that our exlicit MessageID is trimmed
The new version of phpmailer shipped with Moodle 3.2 has added check
that the explicitly provided MessageID matches /^<.*@.*>$/.

Values coming from our overridden moodle_phpmailer::addCustomHeader()
had a whitespace at the start. So the requested value was not used as
the Message-ID header and the default phpmailer value was used.

As a result, forum posts threading was broken in email clients.
2016-12-21 01:11:32 +01:00
AMOS bot 1d5c2c6560 Automatically generated installer lang files 2016-12-21 00:04:00 +08:00
Simey Lameze 18317c7c1c MDL-57114 filemanager: apply btn-sm class to buttons
This commit also creates a new css rule to fix the file picker icons misalignment.
2016-12-20 10:34:08 +00:00
Dan Poltawski b83fd5b1fe Merge branch 'MDL-54996_m32v1' of https://github.com/sbourget/moodle into MOODLE_32_STABLE 2016-12-20 09:19:27 +00:00
Juan Segarra Montesinos 972304f4cb MDL-53367 mod_forum: Subscribe current users when importing a forum
Subscribes currently enrolled users when importing a forum with
automatic subscription enabled.
2016-12-20 08:55:34 +01:00
Adrian Greeve 11eeb2e347 MDL-57251 navigation: Correct permission shows site admin
If the user does not have the moodle/site:configview
capability then do not show them the site administration
link.
2016-12-20 14:54:34 +08:00
Adrian Greeve 0aa8b11f5c MDL-57251 administration: Updated coursecreator role.
The coursecreator role now has the moodle/site:configview
capability so that they have access to the required admin
pages.
2016-12-20 14:54:34 +08:00
John Okely 829cafc050 MDL-57331 messaging: Fix sent messages appearing twice. 2016-12-20 10:48:01 +08:00
John Okely 25474b5e84 MDL-57268 auth_db: Unit tests for deletion from a large user set 2016-12-20 02:27:05 +01:00
Rafal Domagalski b7f902b5b3 MDL-52366 themes: check for templates in themedir 2016-12-19 18:08:37 +01:00
Dan Poltawski 11488775eb Merge branch 'MDL-57386-32' of git://github.com/damyon/moodle into MOODLE_32_STABLE 2016-12-19 15:46:59 +00:00
Dan Poltawski 32ec7e3d30 Merge branch 'MDL-55568_m32v2' of https://github.com/sbourget/moodle into MOODLE_32_STABLE 2016-12-19 14:33:06 +00:00
Dan Poltawski 1a1eef4345 Merge branch 'wip-MDL-56912-32' of git://github.com/marinaglancy/moodle into MOODLE_32_STABLE 2016-12-19 12:21:23 +00:00
Eloy Lafuente (stronk7) 4942dfc7cd Merge branch 'MDL-57270_32' of git://github.com/markn86/moodle into MOODLE_32_STABLE 2016-12-19 13:04:25 +01:00
Eloy Lafuente (stronk7) d469fb2181 Merge branch 'MDL-57293-32' of git://github.com/danpoltawski/moodle into MOODLE_32_STABLE 2016-12-19 13:02:16 +01:00
Dan Poltawski 0213ce081c Merge branch 'MDL-52098_32_STABLE' of git://github.com/Chocolate-lightning/moodle into MOODLE_32_STABLE 2016-12-19 11:25:49 +00:00
David Monllao 70b6a6618a Merge branch 'MDL-57402_32' of git://github.com/timhunt/moodle into MOODLE_32_STABLE 2016-12-19 12:23:45 +01:00
Dan Poltawski 089cf944f3 MDL-57450 enviroment: remove tls library check
Unfortunately it has come to light that the version sniffing is just not
reliable at all, operating system vendors backport security patches to
older versions - so in many cases we reporting a problem which is not a
problem. False positives and the solution to self-compile or something
like php will be causing more harm than good.
2016-12-19 10:53:59 +00:00
Dan Poltawski 68d9adcba8 Merge branch 'MDL-53044-m32' of https://github.com/ak4t0sh/moodle into MOODLE_32_STABLE 2016-12-19 08:47:23 +00:00
Dan Poltawski 32636d1757 Merge branch 'MDL-55715_m32v1' of https://github.com/sbourget/moodle into MOODLE_32_STABLE 2016-12-19 08:35:43 +00:00
Stephen Bourget 48ff43d3bd MDL-54996 Calendar: Fix dates for future multi-day events
Thanks to Martin Cunliffe for providing the fix
2016-12-17 10:53:00 -05:00
Mathew May 725863abe4 MDL-52098 enrol: cohort now looks at instance status 2016-12-16 11:22:06 +13:00
Arnaud Trouve 9de4bbf8a8 MDL-53044 auth : force change on expired password 2016-12-15 15:11:30 +01:00
Dan Poltawski cd7ca81fdd MDL-57293 lang/email: Improve emailvia string
* Strip the https? part of url for existing strings
* Switch the string to (via shortname)
2016-12-15 09:54:34 +00:00
Andrew Nicols 1ca30f2503 weekly release 3.2+ 2016-12-15 11:34:25 +08:00
Andrew Nicols c47a9439d3 Merge branch 'install_32_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_32_STABLE 2016-12-15 11:34:21 +08:00
Damyon Wiese 2ce5b1d637 MDL-57386 blocklib: wrong variable in is_block_present
This isn't reachable code in core moodle, but themes/plugins could call is_block_present to trigger it.
2016-12-15 10:51:31 +08:00
Tim Hunt c4ade76ee5 MDL-57402 quiz editing: fix add heading after remove page break 2016-12-14 16:35:17 +00:00
AMOS bot 62fc665ff6 Automatically generated installer lang files 2016-12-15 00:04:14 +08:00
Dan Poltawski 263865899e MDL-56488 boost: validate scss settings for parsable scss
* Parses the scss and fails validation if a parse error is found

* Does not detect the situation when variables are not present - this
  would involve us parsing the entire tree and would be slow. It could
  also change over time, depending on whats defined in the scss
  from themes.

* Introduces a new admin_setting_scsscode to do this
2016-12-14 11:34:25 +00:00
Mark Nelson f927f3e196 MDL-57270 core_message: trim message before it is sent 2016-12-14 12:19:24 +08:00
Stephen Bourget 70f5e9ba61 MDL-55715 calendar: Only update events from the current subscription
The iCal import should only update calendar events from the current
subscription not any subscription that contains the same event.
2016-12-13 22:06:44 -05:00
Andrew Nicols 3b7bf2cee0 Merge branch 'wip-mdl-57380-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2016-12-14 09:56:57 +08:00
Mark Nelson a57a9053d7 MDL-55062 tool_uploaduser: prevent defaults when not selected 2016-12-14 09:49:04 +08:00
Rajesh Taneja 0292245755 MDL-57380 behat: Check for list tags and text
after list tag span can be added on few browsers
like chrome 51.0, so test if text starts with
list tag and contains text
2016-12-14 09:38:35 +08:00
Stephen Bourget dd7aa695b2 MDL-55568 chat: chat_refresh_events should only create published events 2016-12-13 18:53:40 -05:00
Eloy Lafuente (stronk7) 2626dce64c Merge branch 'MDL-55809-32' of https://github.com/xow/moodle into MOODLE_32_STABLE 2016-12-13 20:05:23 +01:00
Dan Poltawski 7e2e135943 Merge branch 'MDL-57125-32' of git://github.com/lameze/moodle into MOODLE_32_STABLE 2016-12-13 16:34:58 +00:00
Matt Davidson cc15b9d46f MDL-56810 unoconv: task fails if user removed
If the user is removed from a course after a submission has been made,
the task will crash and never continue.  This removes submissions from
the cron task if the user isn't enrolled in the course.
2016-12-13 14:56:52 +00:00
Eloy Lafuente (stronk7) ce47bacfe9 Merge branch 'MOODLE_32_STABLE' of https://github.com/fwsl/moodle into MOODLE_32_STABLE 2016-12-13 12:00:58 +01:00
ak4t0sh 7c89091995 MDL-55720 course: fix potential undefined variable and cleaning
This commit replace $e usage by $returnfromfunc.
Indeed $returnfromfunc always exists in the scope and take $e value in case of moodle_exception.

This commit also remove useless $modcontext affectation.
2016-12-13 11:49:32 +01:00
Henning Bostelmann 7766ffc618 MDL-55575 mod_glossary: Allow viewing all entries on one page 2016-12-13 11:46:03 +01:00
Mark Nelson 75efa0860c MDL-57250 core: show admin settings when only one category exists 2016-12-13 10:25:19 +00:00
Dan Poltawski d31412392c Merge branch 'MDL-56859-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2016-12-13 09:45:19 +00:00
Dan Poltawski da694c75ff Merge branch 'MDL-57074-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2016-12-13 09:26:08 +00:00
Adrian Greeve 76f5d7b9ab MDL-57216 navigation: Updated parent behat test. 2016-12-13 09:04:40 +00:00
Adrian Greeve e7d8926583 MDL-57216 navigation: Added missing grade overview link.
For theme_boost the grade overview link has been added
to the user profile page.
2016-12-13 09:04:36 +00:00
Dan Poltawski c87f1ac4c7 Merge branch 'MDL-57182-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2016-12-13 08:47:35 +00:00
Dan Poltawski 75c4f5b0ca Merge branch 'wip-MDL-57257-32' of git://github.com/abgreeve/moodle into MOODLE_32_STABLE 2016-12-13 08:46:03 +00:00
Marina Glancy f7b3774380 MDL-56912 feedback: empty multichoice questions do not submit 2016-12-13 15:01:04 +08:00
Andrew Nicols 78293c74bf Merge branch 'MDL-57213-32-2' of git://github.com/junpataleta/moodle into MOODLE_32_STABLE 2016-12-13 13:06:25 +08:00
Simey Lameze 406fc019c1 MDL-57125 comment: prevent js execution if there are no comments 2016-12-13 11:55:05 +08:00
Jun Pataleta 903cd37434 MDL-57213 navigation: Load all my course categories into navigation tree
* Load all of the relevant course categories of the courses that a user
  is enrolled in.
2016-12-13 11:43:22 +08:00
Nadav Kavalerchik 6fd8b0098a MDL-57056 Theme/Boost: Fix "Skip to" link when Tab key pressed 2016-12-13 10:47:50 +08:00
Jan Dageförde 34954a6050 MDL-57257 lesson: Validate type of numerical answer 2016-12-13 10:34:36 +08:00
Mark Nelson 949d8ae04e MDL-57222 mod_assign: show validation message on visible element 2016-12-13 10:30:38 +08:00
Eloy Lafuente (stronk7) 1c7cbed23c Merge branch 'wip-mdl-57328-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2016-12-13 02:30:06 +01:00
Eloy Lafuente (stronk7) 9156498826 Merge branch 'mdl32_MDL-57324' of git://github.com/danmarsden/moodle into MOODLE_32_STABLE 2016-12-13 02:02:02 +01:00
Jake Dallimore 71adc9a9a3 MDL-57182 navigation: fix login failures display in page footer.
A bug introduced with MDL-45893 meant that the failure count was being
reset, causing the footer code to be skipped. This patch fixes that
bug and adds behat tests covering the displayloginfailures feature.
2016-12-13 07:20:58 +08:00
Eloy Lafuente (stronk7) 49612b733f Merge branch 'MDL-57319-32' of git://github.com/danpoltawski/moodle into MOODLE_32_STABLE 2016-12-12 16:23:20 +01:00
Arnaud Trouve bc0721c7d9 MDL-56525 forum: remove targeted user enrolment check
By removing the check on the targeted user's enrolment we allow to show his forum posts even if he is unenrol from a course (obviouly we need to have access to this course to view them)
2016-12-12 14:10:21 +00:00
Ryan Wyllie c5452484ee MDL-55782 groups: wrap long group names (theme: boost)
In the groups UI if a group name is very long it now no longer underlaps
the user column on its right hand side.
2016-12-12 13:19:18 +00:00
= 74eecb6078 MDL-55782 groups: wrap long group names
In the groups UI if a group name is very long it now no longer underlaps the user
column on its right hand side.
2016-12-12 13:19:15 +00:00
Dan Poltawski 725be51c11 Merge branch 'wip-mdl-52796-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2016-12-12 13:00:56 +00:00
Philipp Hager d0d8a7f984 MDL-57198 course: add css-classes to restrictbygroup-button 2016-12-12 12:46:52 +00:00
Adrian Greeve 4a50811ae3 MDL-57299 Atto: Theme boost fix for manage files.
Theme boost removed a selector that was being used
to remove used files and so the page wasn't loading
properly.
2016-12-12 12:40:09 +00:00
Dan Poltawski b82ddcbcac Merge branch 'wip-mdl-57325-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2016-12-12 12:23:25 +00:00
Dan Poltawski 6e4cc6caf4 Merge branch 'wip-mdl-57314-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2016-12-12 12:21:31 +00:00
Dan Poltawski fe8e9b1b4e Merge branch 'wip-mdl-57343-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2016-12-12 12:21:13 +00:00
Dan Poltawski 72770e9a60 Merge branch 'MDL-57171-32-2' of git://github.com/junpataleta/moodle into MOODLE_32_STABLE 2016-12-12 10:31:13 +00:00
Dan Poltawski a847efc70b Merge branch 'MDL-56566_32' of https://github.com/bostelm/moodle into MOODLE_32_STABLE 2016-12-12 09:20:13 +00:00
Ilya Tregubov 9e99327888 MDL-55906 table: Update user preferences table when reset preferences 2016-12-12 09:07:30 +00:00
Andrew Nicols 9973eebb91 Merge branch 'MDL-46714-32-nadav' of git://github.com/FMCorz/moodle into MOODLE_32_STABLE 2016-12-12 13:26:58 +08:00
Nadav Kavalerchik a162f636d8 MDL-46714 Calendar: Properly order Date & Time fields in RTL mode 2016-12-12 12:38:45 +08:00
Rajesh Taneja 8ff8d598fe MDL-57343 behat: Ensure we wait enough for page to be fully loaded 2016-12-12 10:38:32 +08:00
Ramindu Deshapriya 8704d2e5fc MDL-52796 behat: Behat feature to test reset wiki page, tags & comments 2016-12-12 10:27:44 +08:00
Bram Tassyns f9dd21a17a MDL-56859 SCORM: player shouldn't display TOC while loading 2016-12-12 09:11:50 +08:00
Jake Dallimore eb349bdfc4 MDL-57074 Filepicker: Fix alias and link icons in RTL mode
Fixed alignment of the images in RTL mode. Also fixed a z-index problem
in which the icons were displayed above the open drawer on narrow
screens.
2016-12-12 08:48:15 +08:00
AMOS bot 89d186af72 Automatically generated installer lang files 2016-12-10 00:04:00 +08:00
Dan Poltawski 65de977483 MDL-57319 outputlib: raise timeout for scss/less compilation 2016-12-09 08:47:05 +00:00
Rajesh Taneja e167481759 MDL-57328 core: Remove xdebug extension, so test run faster 2016-12-09 10:24:01 +08:00
Rajesh Taneja 457c913461 MDL-57325 behat: Fixed backup/restore steps to use proper api 2016-12-09 09:31:13 +08:00
Rajesh Taneja 422449dca8 MDL-57328 core: Run tests with php 7.1 2016-12-09 08:49:21 +08:00
Dan Marsden 53c8f0ca3c MDL-57324 scorm: exclude objective raw.score from grade update 2016-12-09 10:13:20 +13:00
Henning Bostelmann b094b88a9a MDL-56566 mod_assign: ignore "doanything" in course overview
Do not count site admin "doanything" capability for determining
what should be shown in the course overview for assignments.
2016-12-08 20:28:10 +00:00
AMOS bot 49e5d04a8d Merge branch 'MOODLE_32_STABLE' into install_32_STABLE 2016-12-09 00:04:15 +08:00
AMOS bot 38e28dfbcd Automatically generated installer lang files 2016-12-08 18:11:21 +08:00
Dan Poltawski 44047dc78d weekly release 3.2+ 2016-12-08 08:43:05 +00:00
Marina Glancy c06b8145b1 MDL-56614 behat: add missing wait for page is ready 2016-12-08 13:51:53 +08:00
Franziska Hübler 79da2c5bfa MDL-55809 glossary: Keep file author and license across import/export 2016-12-08 12:28:22 +08:00
Andrew Nicols a5800adaf0 Merge branch 'MDL-57278-32-5' of https://github.com/xow/moodle into MOODLE_32_STABLE 2016-12-08 10:53:37 +08:00
John Okely c1c3f50965 MDL-57278 signup: Fix double encoding of confirmation links 2016-12-08 10:17:50 +08:00
John Okely cff14cf0d1 MDL-57278 signup: Unit tests covering confirmation link generation 2016-12-08 10:17:50 +08:00
Rajesh Taneja c95ea731bc MDL-57314 behat: Press enter after setting password unmask 2016-12-08 09:24:37 +08:00
Rajesh Taneja b98f14632b MDL-56642 dataformat: Fixed method_exits parameters 2016-12-08 00:37:03 +01:00
Mark Nelson a1e1b45ae7 MDL-57283 core: fixed function call on null 2016-12-07 10:17:36 +00:00
Kenneth Hendricks 2d44bb544b MDL-56674 core: Fix test_get_all_observers 2016-12-07 08:46:04 +00:00
Marina Glancy c60d333578 MDL-56614 behat: corrections to new steps 2016-12-07 14:58:39 +08:00
Andrew Nicols 182690b018 Merge branch 'wip-mdl-56353-m32' of https://github.com/rajeshtaneja/moodle into MOODLE_32_STABLE 2016-12-07 12:03:36 +08:00
Rajesh Taneja b36b54179d MDL-56353 behat: Added test for multi select dependency 2016-12-07 11:19:01 +08:00
Andrew Nicols fc4b768e25 Merge branch 'wip-MDL-56642-32' of git://github.com/marinaglancy/moodle into MOODLE_32_STABLE 2016-12-07 10:00:59 +08:00
Andrew Nicols 7e0f1972f1 Merge branch 'MDL-57266_32' of git://github.com/stronk7/moodle into MOODLE_32_STABLE 2016-12-07 09:54:33 +08:00
Andrew Nicols 93e64c823c Merge branch 'MDL-56240_32' of git://github.com/stronk7/moodle into MOODLE_32_STABLE 2016-12-07 09:51:07 +08:00
Rajesh Taneja 20d598f094 MDL-56614 behat: Fixed steps to use new definition 2016-12-07 09:43:06 +08:00
Marina Glancy e376549179 MDL-56642 dataformat: set temp dir
Thanks to Chien Wen-Chang for proposing a patch
2016-12-07 09:30:25 +08:00
Rajesh Taneja 163a317bcc MDL-57137 behat: Subcategory has black space before name 2016-12-07 09:13:26 +08:00
Dan Poltawski 7ecf13ac1d Merge branch 'MDL-45873_32' of https://github.com/bostelm/moodle into MOODLE_32_STABLE 2016-12-06 15:56:28 +00:00
Ankit Agarwal 2fbe4fca87 MDL-57284 boost: Fix booktool_print icons 2016-12-06 15:50:57 +00:00
Jun Pataleta d07a8ebd7e MDL-57171 admin: Make environment check table look better
* Use Bootstrap label classes for the text under the status column.
* theme_bootstrapbase:
  - Cleanup unnecessary classes and make .error styles consistent
    with .warn styles
* theme_boost:
  - Set font color appropriate for success, warning and error strings.
* Enclose report text in div so that the feedback texts will be
  displayed right below it.
2016-12-06 22:18:55 +08:00
SSRF d4feb70e17 MDL-53677 tool_spamcleaner: CSRF Fix
Resolves minor CSRF within Moodle spamcleaner.
2016-12-06 12:48:31 +00:00
Dan Poltawski f477809e38 Merge branch 'MDL-56836-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2016-12-06 12:46:19 +00:00
Daniel Thee Roperto 94caed45db MDL-56233 forms library: Fixed form identifier when mocking a form.
If the plugin is using namespaces instead of frankenstyle class name,
get_called_class() will return 'type\name' instead of 'type_name'.

Added code to replace backslashes to underscores and fix that issue.
2016-12-06 12:42:17 +00:00
Dan Poltawski 8c4fdb1073 MDL-56778 enrol: add note about legacy css 2016-12-06 12:32:30 +00:00
Nadav Kavalerchik e5bbe44230 MDL-56778 Enrollment: Fix enroll users dialog in RTL mode (theme:Boost) 2016-12-06 12:32:23 +00:00
Tim Hunt d0a58fe035 MDL-57199 question preview: make HTML ids unique 2016-12-06 12:25:45 +00:00
Michael Aherne 9c68157292 MDL-56971 enrol: Use autoloading in enrol_get_plugin() 2016-12-06 11:08:17 +00:00
Grzegorz Ziółek 44f71599df MDL-56830 config_log: Add block plugin visibility changes to config_log. 2016-12-06 11:51:48 +01:00
Alexander Melihov 1fac7b914b MDL-57137 quiz: Create question category with specified parent category
Fix question category generator bug. Now it is possible to specify parent category of subcategory, supply only name of parent category
2016-12-06 15:34:13 +08:00
Tony Butler cede73411f MDL-56346 assignfeedback_editpdf: Correct typo in property name 2016-12-06 14:38:01 +08:00
Andrew Nicols 47deb83b5c Merge branch 'MDL-56301-32' of https://github.com/snake/moodle into MOODLE_32_STABLE 2016-12-06 14:27:03 +08:00
Andrew Nicols 4ea56c1c80 Merge branch 'wip-MDL-56614-m32-2' of https://github.com/marinaglancy/moodle into MOODLE_32_STABLE 2016-12-06 13:38:08 +08:00
Marina Glancy 311121b16c MDL-56614 behat: add navigation block when required
Most of these hacks have links to corresponding MDL issues
2016-12-06 13:35:40 +08:00
Marina Glancy 5863f1b073 MDL-56614 behat: rename step for navigating in the gradebook 2016-12-06 13:35:40 +08:00
Marina Glancy 2bb195f64f MDL-56614 behat: navigate without navigation and admin blocks 2016-12-06 13:35:40 +08:00
Marina Glancy f6b50d9901 MDL-56614 block_navigation: Add block in behat tests 2016-12-06 13:35:39 +08:00
Marina Glancy a0b0234a18 MDL-56614 behat: new steps for navigation without blocks 2016-12-06 13:35:39 +08:00
Andrew Nicols f8b8a363ae Merge branch 'MDL-57161-32' of git://github.com/lameze/moodle into MOODLE_32_STABLE 2016-12-06 13:10:40 +08:00
Donald Barrett b197272987 MDL-56301 course: Use value for intro field if set in a mods function
Respects a module that has set a value for the db field intro in it's lib function modulename_add_instance.
2016-12-06 10:40:49 +08:00
Juan Leyva e4976aefc5 MDL-57255 gradereport_user: Fix default value for graderaw
graderaw is a PARAM_FLOAT, the default to empty string was incorrect
2016-12-06 10:18:53 +08:00
David Monllao dcd408b81f MDL-57161 search: Set the correct HTTP header
All credit goes to Test Valley School
2016-12-06 10:00:07 +08:00
Simey Lameze 4a564ca40b MDL-56759 themes: fix badge list alignment issues 2016-12-06 09:24:31 +08:00
Eloy Lafuente (stronk7) 5da06d632a MDL-57266 upgrade: add 3.2.0 separation line to all upgrade scripts 2016-12-05 17:17:54 +01:00
Eloy Lafuente (stronk7) d797e57255 MDL-56240 upgrade: delete incorrect lines, manually added
Note that, with MDL-57266, we are changine the comment to be:

// Automatically generated Moodle v3.2.0 release upgrade line

in order to make to make to make it clearer that it's an
automatic (part of the release process) comment and should not
be added manually ever.
2016-12-05 16:52:31 +01:00
Frederic Massart 55d2042f0a MDL-56459 competency: Invalid use of indirect property key
This change ensures that PHP7 and earlier work the same way. Before
the patch PHP < 7 would not expand the property as we expected it.

More information here:
http://php.net/manual/en/migration70.incompatible.php#migration70.incompatible.variable-handling.indirect
2016-12-05 15:48:47 +00:00
David Mudrák 8cd6972966 MDL-57256 course: Fix display of the Legacy course files link
The patch fixes the classical operator precedence bug.
2016-12-05 15:45:38 +00:00
Henning Bostelmann 9cbc0a0cdb MDL-45873 mode_data: Allow "0" entries in menu field 2016-12-05 09:21:07 +00:00
John Okely 931d12b589 MDL-54921 signup: Only clear wanturl when necessary
Thanks to Juho Jaakkola for original patch idea.
2016-12-05 15:35:25 +08:00
Shamim Rezaie 0beeb95a8a MDL-52840 assignsubmission_file: Change default setting file size
The default value of the assignsubmission_file/maxbytes setting is changed to $CFG->maxbytes.
2016-12-05 13:02:20 +08:00
Mark Nelson 617f8bb911 MDL-57084 core_message: prevent duplication of day separator 2016-12-05 12:28:56 +08:00
Michael Spall 75dd21a002 MDL-56893 grades: Fix edit grade item when grade_report_showmin is false
Check to make sure $data['grademin'] exists. When grade_report_showmin
is false $data['grademin'] doesn't exist.
2016-12-05 12:05:19 +08:00
Bram Tassyns a0c13477ab MDL-56836 SCORM: player doesn't remember display mode when not logged in 2016-12-05 09:25:31 +08:00
Eloy Lafuente (stronk7) b182239f21 Moodle release 3.2 2016-12-03 14:26:15 +01:00
Eloy Lafuente (stronk7) 9c46f5c6fb NOBUG: Change travis.yml to MOODLE_32_STABLE 2016-12-03 14:26:15 +01:00
Dan Poltawski 1b00e27281 Moodle release 3.2rc5 2016-12-02 15:19:10 +00:00
Dan Poltawski 6a6b1bd782 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2016-12-02 15:19:09 +00:00
Dan Poltawski 65cc788bb1 Merge branch 'wip-mdl-57232' of https://github.com/rajeshtaneja/moodle 2016-12-02 15:00:48 +00:00
Rajesh Taneja 54348ea6d7 MDL-57232 behat: Add blocks in boost theme
Currently behat in boost depend on blocks
so make sure we have them.
2016-12-02 22:48:13 +08:00
Eloy Lafuente (stronk7) 72edf2ef13 Merge branch 'wip-mdl-57245' of https://github.com/rajeshtaneja/moodle 2016-12-02 14:15:27 +01:00
Rajesh Taneja 43b3cf0f25 MDL-57245 behat: Use correct @_file_upload tag 2016-12-02 19:04:32 +08:00
Eloy Lafuente (stronk7) dadbe55c81 Merge branch 'MDL-57193-master-notest' of git://github.com/FMCorz/moodle 2016-12-02 11:41:02 +01:00
Dan Poltawski 1acd568793 MDL-56553 usertours: fix apostrophe use 2016-12-02 09:22:42 +00:00
Frederic Massart 7fc7486f49 MDL-57193 auth_db: Flip the array outside the loop for better perf
Also as the recent changes where affecting the whitespaces quite
a lot, I took the liberty of aligning a few lines which weren't.
2016-12-02 16:29:47 +08:00
John Okely ec3e79134f MDL-57193 auth_db: Use a recordset and array_key_exists 2016-12-02 16:29:47 +08:00
Josh Willcock 34949c1a55 MDL-57193 auth_db: Fixed bug suspends all users if external DB has > 10k 2016-12-02 16:29:47 +08:00
David Monllao b9278260c7 MDL-56553 usertours: Removing trailing ^M 2016-12-02 16:23:03 +08:00
Ryan Wyllie 1459415f93 MDL-56553 tool_usertours: change add a block step to position right 2016-12-02 07:53:07 +00:00
David Monllao 76e337ab96 Merge branch 'MDL-57232-master' of git://github.com/damyon/moodle 2016-12-02 14:20:17 +08:00
David Monllao 80ee8a3eb0 Merge branch 'MDL-57209-master' of git://github.com/crmpicco/moodle 2016-12-02 13:26:56 +08:00
Damyon Wiese 9d1402abd8 MDL-57232 blocks: Split undeletableblocktypes
There are 2 kinds of blocks that are undeletable. Those required by the
theme and those protected via the admin page ui. We only want the theme
ones to be auto created site wide if they don't exist - so we need to
rename the theme ones and split the logic.
2016-12-02 12:32:03 +08:00
Andrew Nicols 666b9fcb6a MDL-57243 search: Correct todo doc 2016-12-02 10:53:52 +08:00
Andrew Nicols ddcb68b284 Merge branch 'MDL-57243_master' of git://github.com/dmonllao/moodle 2016-12-02 10:49:34 +08:00
David Monllao 5f654ea2c0 MDL-57243 search: Note about search area base classes relocation 2016-12-02 09:51:05 +08:00
Andrew Nicols d8326d8364 MDL-57101 media_videojs: Load legacy events before use 2016-12-02 08:58:19 +08:00
Eloy Lafuente (stronk7) f200f74552 Merge branch 'wip-MDL-57234-master' of https://github.com/Beedell/moodle 2016-12-01 17:58:51 +01:00
John Beedell 6c45e525fc MDL-57234 Quiz report: fix exception in Responses for all users 2016-12-01 16:23:18 +00:00
Dan Poltawski 063d5c28cf Merge branch 'MDL-57220-master' of git://github.com/damyon/moodle 2016-12-01 13:20:15 +00:00
Dan Poltawski a8bac97613 Merge branch 'MDL-57194-master' of git://github.com/lameze/moodle 2016-12-01 12:20:01 +00:00
David Monllao 2b114798b9 Merge branch 'MDL-57210-master' of git://github.com/ryanwyllie/moodle 2016-12-01 16:12:25 +08:00
Andrew Nicols 53cbfac2b9 Merge branch 'MDL-57101-master-fixup' of https://github.com/FMCorz/moodle 2016-12-01 15:07:42 +08:00
Frederic Massart b52c562a8c MDL-57101 media_videojs: Dynamic loader works on self-matching nodes 2016-12-01 14:51:40 +08:00
Frederic Massart 36e6789b27 MDL-57101 filter: Load globally available filters on every page
Previous commits were overlooked, they should have passed the
system context to filter_manager::setup_page_for_fitlers(), the
page context was passed instead. Regardless, the processing of
the latter is too excessive for what we need, but, more importantly,
it does not return "Off, but available" filters which we also need.
2016-12-01 14:51:40 +08:00
Frederic Massart 39a9ac4098 MDL-57101 core_media: Only instantiate enabled plugins 2016-12-01 14:50:04 +08:00
Simey Lameze 7d17256a75 MDL-57194 core_charts: Allow colors to be overridden by setting 2016-12-01 14:44:00 +08:00
Andrew Nicols 8f5de6f268 Merge branch 'MDL-56553-master-2' of git://github.com/ryanwyllie/moodle 2016-12-01 14:31:45 +08:00
Andrew Nicols 1f16e4e68e Merge branch 'MDL-57219-master' of git://github.com/damyon/moodle 2016-12-01 13:30:23 +08:00
Andrew Nicols 995c6d2787 Merge branch 'MDL-57206-master' of https://github.com/snake/moodle 2016-12-01 12:21:25 +08:00
David Monllao bb8b3ba6f8 Merge branch 'wip-mdl-57229' of https://github.com/rajeshtaneja/moodle 2016-12-01 11:38:59 +08:00
Rajesh Taneja 04bfccdce6 MDL-57229 enrol: Enrol dialog should have relative position
On clean theme it is absolute position and on small
screen user can't scroll to enrol user
2016-12-01 11:13:46 +08:00
Ryan Wyllie 3cc12bd747 MDL-57210 theme_boost: fix header buttons on smaller resolutions 2016-12-01 02:21:25 +00:00
Damyon Wiese e7d0de87c9 MDL-57219 blocks: Dont create and empty block for spacing
Change box to an empty container. We are after tiny tiny changes ATM.
2016-12-01 10:12:29 +08:00
Damyon Wiese ef06bc18b0 MDL-57220 boost: Fix for date selector inline template
It was putting the label on a separate line.
2016-12-01 09:48:59 +08:00
Damyon Wiese 52ee200368 MDL-57220 boost: minimal fix for radio button template
It still does not match
http://v4-alpha.getbootstrap.com/components/forms/#radios
but I don't want to make radical changes before 3.2 release.
2016-12-01 09:48:06 +08:00
Ryan Wyllie 10df630ee8 MDL-56553 tool_usertours: add admin and course tours 2016-12-01 00:44:29 +00:00
Ryan Wyllie 3eb3d916cb MDL-56553 tool_usertours: allow tours to be shipped with Moodle 2016-12-01 00:36:02 +00:00
Jake Dallimore bb316e0764 MDL-57206 core: describe newly introduced hooks in upgrade.txt
Added a description and example for the
<component>_course_module_background_deletion_recommended hook.
2016-12-01 08:25:28 +08:00
AMOS bot 5544189dd1 Automatically generated installer lang files 2016-12-01 00:05:38 +08:00
AMOS bot 09ade73632 Merge branch 'master' into install_master 2016-12-01 00:05:38 +08:00
Dan Poltawski ce7149b10c MDL-57197 js: fix AMD module warnings
In 3.2 we are free of AMD lint warnings, unfortunately we can't expose
them through grunt yet due to
"File ignored because of a matching ignore pattern. Use "--no-ignore" to
override"

ps. this isn't related to MDL-57197 at all, i'm just a Rebel
2016-11-30 13:50:38 +00:00
Dan Poltawski 5814817ceb Merge branch 'MDL-57169_master' of git://github.com/markn86/moodle 2016-11-30 11:04:38 +00:00
Dan Poltawski a9b85245f2 Merge branch 'MDL-52199-incoming-nice-fail' of https://github.com/brendanheywood/moodle 2016-11-30 09:52:35 +00:00
Dan Poltawski 10461a04c6 Merge branch 'MDL-57207-master' of git://github.com/cameron1729/moodle 2016-11-30 09:51:21 +00:00
Cameron Ball 9a22c99ea9 MDL-57207 mod_lti: Remove redundant popover() call
Since MDL-56748 popovers are properly delegated. Making manual calls
to .popover redundant.
2016-11-30 17:45:41 +08:00
Andrew Nicols b95107ca83 Merge branch 'MDL-57205-master' of git://github.com/damyon/moodle 2016-11-30 15:03:43 +08:00
Andrew Nicols 432ed35484 Merge branch 'MDL-57127-master' of git://github.com/FMCorz/moodle 2016-11-30 14:27:23 +08:00
David Monllao f4aec377fc Merge branch 'MDL-56682_master' of git://github.com/markn86/moodle 2016-11-30 13:56:08 +08:00
David Monllao 99d2667f5c Merge branch 'MDL-57072-master' of git://github.com/junpataleta/moodle 2016-11-30 13:36:32 +08:00
Andrew Nicols a57699ead8 Merge branch 'MDL-57177-master' of git://github.com/cameron1729/moodle 2016-11-30 13:15:58 +08:00
Craig R Morton f6f0cb49aa MDL-57209 forms: Notice: Undefined index: options in profile edit page
Skipping a loop iteration if the option group has no options.
2016-11-30 13:08:56 +08:00
Frederic Massart 061a39ac5d MDL-57127 output: Increase memory limit when parsing CSS 2016-11-30 12:19:03 +08:00
Andrew Nicols 3f342da584 Merge branch 'MDL-57101-master-2nd' of git://github.com/FMCorz/moodle 2016-11-30 12:13:54 +08:00
David Monllao 4495ddcf9f Merge branch 'MDL-56955-master' of git://github.com/lameze/moodle 2016-11-30 11:34:29 +08:00
Simey Lameze 45cd101f80 MDL-56955 theme_boost: fix login failure displaying on user menu 2016-11-30 11:32:38 +08:00
David Monllao c5a5f26ce2 Merge branch 'MDL-57090-master' of git://github.com/ankitagarwal/moodle 2016-11-30 10:43:16 +08:00
Damyon Wiese 7c0725857a MDL-57205 forms: Prevent debugging in selectgroups
Sometimes the option group has no options I guess. The same check is in
exportValue.
2016-11-30 10:38:51 +08:00
Andrew Nicols 70f0e8353d Merge branch 'wip-MDL-57186-master' of https://github.com/marinaglancy/moodle 2016-11-30 10:20:31 +08:00
David Monllao 8c291fb06e Merge branch 'wip-MDL-56829-master-2' of git://github.com/marinaglancy/moodle 2016-11-30 10:05:16 +08:00
David Monllao 449b730e09 Merge branch 'MDL-57095-master' of git://github.com/ryanwyllie/moodle 2016-11-30 09:26:07 +08:00
Andrew Nicols 8018dc63c7 Merge branch 'MDL-57174_master' of git://github.com/markn86/moodle 2016-11-30 09:12:54 +08:00
Jun Pataleta 8ace7b6c34 MDL-57072 theme_boost: Render action menu for category management 2016-11-30 09:11:32 +08:00
Eloy Lafuente (stronk7) 3f083d9a33 MDL-57197 versions: main version bump 2016-11-29 22:58:22 +01:00
Eloy Lafuente (stronk7) 04649747a4 MDL-57197 versions: bump all versions and requires near release
version = 2016120500 release version
requires= 2016112900 current rc4 version
2016-11-29 22:57:05 +01:00
Eloy Lafuente (stronk7) eb80018202 Merge branch 'MDL-57133-master-enfix' of git://github.com/mudrd8mz/moodle 2016-11-29 22:36:29 +01:00
AMOS bot f3317a0eac Automatically generated installer lang files 2016-11-30 00:04:41 +08:00
Dan Poltawski a0352aa95e Moodle release 3.2rc4 2016-11-29 13:33:15 +00:00
Dan Poltawski d5d1d56f9c Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2016-11-29 13:33:13 +00:00
David Mudrák 1270616023 MDL-56800 theme_boost: Radios should not have name if soft frozen, too 2016-11-29 11:32:28 +00:00
Andrew Nicols 06ded0ed5f MDL-56800 theme_boost: Remove name from hardFrozen radio 2016-11-29 08:11:31 +00:00
Ryan Wyllie c22141bd0c MDL-57095 theme: fix content styling for notification page 2016-11-29 07:14:05 +00:00
Marina Glancy 6f19da0549 MDL-57186 media: fix link in security report 2016-11-29 13:54:49 +08:00
Andrew Nicols 220f3ac711 MDL-56858 theme_boost: Correct bad merge conflict 2016-11-29 13:49:18 +08:00
David Monllao 1e102ca3ca Merge branch 'wip-mdl-57168-m1' of git://github.com/rajeshtaneja/moodle 2016-11-29 13:41:55 +08:00
David Monllao 7621fe8399 Merge branch 'MDL-57158-int-fix-1' of github.com:ryanwyllie/moodle 2016-11-29 13:36:52 +08:00
Damyon Wiese 0d5f5f7357 MDL-57124 boost: I want really tiny logos.
Said no-one ever.

Use max-height so very small logos will not be scaled up.
2016-11-29 13:21:35 +08:00
Marina Glancy 7d94f001e2 MDL-56829 media_videojs: play inline on iPhone with ios 10 2016-11-29 13:02:31 +08:00
Frederic Massart e37c128686 MDL-57101 filter: Always set-up the page for filters 2016-11-29 12:36:28 +08:00
Frederic Massart a174f2474f MDL-57101 media_videojs: Set-up player on dynamically loaded content 2016-11-29 12:36:26 +08:00
Andrew Nicols 805659e1fa Merge branch 'MDL-56919-master' of git://github.com/junpataleta/moodle 2016-11-29 12:06:56 +08:00
Jun Pataleta 01dc1c11ec MDL-56919 mod_forum: Assign check icon for selected subscription mode 2016-11-29 12:03:34 +08:00
Andrew Nicols 740dbe77a2 Merge branch 'MDL-56858_master-alt-2' of git://github.com/markn86/moodle 2016-11-29 11:52:32 +08:00
David Monllao 8b516a6a55 Merge branch 'MDL-57163_master' of git://github.com/dmonllao/moodle 2016-11-29 11:46:55 +08:00
David Monllao 4a1165ba39 MDL-57163 install: Check curl availability before curl_version() 2016-11-29 11:46:06 +08:00
David Herney 5634310997 MDL-57169 backup: ensure images in category descriptions are shown 2016-11-29 11:40:47 +08:00
Rajesh Taneja 9eb8f6ec56 MDL-57168 behat: Don't press continue as it will go to Annotate PDF
This might cause random failures as the draft files are being accessed by other user
2016-11-29 10:53:02 +08:00
David Monllao dc3e3c0831 Merge branch 'MDL-57097-master' of git://github.com/lameze/moodle 2016-11-29 10:51:10 +08:00
Cameron Ball d91cbe1e62 MDL-57177 theme_boost: Use regular ! for advanced form fields
Previously we used U+2757 on advanced form fields, which was problematic
as it's part of emoji and displays differently on different platforms.
This is a problem since we explicitly style it to be blue, but, for
example on OS X it's red (since it gets replaced with their emoji).
2016-11-29 10:48:38 +08:00
Mark Nelson 8599ac9e56 MDL-57174 mod_lesson: show settings menu on edit.php page 2016-11-29 10:24:55 +08:00
Damyon Wiese 4d41cec8db MDL-57124 boost: Show pageheaderbutton when no navbar
Even if there is no navbar - if there is a pageheaderbutton we need to
show it (E.g. Customise this page on dashboard).
2016-11-29 10:07:16 +08:00
David Mudrák 5e45c34221 MDL-57133 lang: Reword the strings in Behat tests too 2016-11-29 01:59:31 +01:00
Helen Foster 67823776a0 MDL-57133 lang: Merge English strings from the en_fix language pack 2016-11-29 01:49:28 +01:00
Ryan Wyllie 12f7202177 MDL-57158 theme: add margin for icon in pull right menu 2016-11-29 00:34:44 +00:00
Rajesh Taneja 8392a86068 MDL-57168 behat: Check for button not text 2016-11-29 07:36:43 +08:00
Mark Nelson dc801cb6b9 MDL-56858 theme_boost: separate input description and label
Also added missing advanced and required form symbols.
2016-11-28 18:24:16 +08:00
Mark Nelson 4a8c6b4259 MDL-56682 mod_assign: ensure the variable is not null 2016-11-28 16:47:00 +08:00
Dan Poltawski 1cbc346092 Merge branch 'MDL-57176-master' of git://github.com/damyon/moodle 2016-11-28 08:30:37 +00:00
David Monllao c56c23720b Merge branch 'MDL-57124-master' of git://github.com/damyon/moodle 2016-11-28 15:22:46 +08:00
Damyon Wiese 7ad1d2da47 MDL-57124 Boost: Login page styles (and signup)
Center logo / site name.
Add padding to logo / site name.
Serve retina images and resize with css.
Add a line under the logo / site name.
Don't show site name if there is a logo.
Obey nonavbar option in core_renderer.
2016-11-28 15:20:35 +08:00
Ankit Agarwal 3d1be67752 MDL-57090 hubs: Replace smart select with searchableselect 2016-11-28 12:22:25 +05:30
Damyon Wiese 58ec5a315b MDL-57176 blocks: Never never never dup blocks
Dont create duplicate blocks 'requiredbytheme' for any reason.
2016-11-28 14:48:02 +08:00
David Monllao 6ee691d71b Merge branch 'MDL-57158-master' of git://github.com/ryanwyllie/moodle 2016-11-28 14:39:22 +08:00
Ryan Wyllie 60ff24c0f1 MDL-57158 theme: fix icon margin in action menus 2016-11-28 06:37:08 +00:00
David Monllao c811356efb Merge branch 'MDL-57156-master' of https://github.com/snake/moodle 2016-11-28 14:00:50 +08:00
Vladimir Zhirov acefc7d963 MDL-57163 installation: fixed "Call to undefined function curl_version" 2016-11-28 13:25:41 +08:00
David Monllao f59bab60c0 Merge branch 'wip-mdl-57168' of https://github.com/rajeshtaneja/moodle 2016-11-28 12:59:11 +08:00
Rajesh Taneja 47b03b9170 MDL-57168 behat: Fixed xpath to ensure active link is checked 2016-11-28 12:57:56 +08:00
Rajesh Taneja d442a3169c MDL-57168 behat: Return link is the existing category 2016-11-28 12:57:56 +08:00
Rajesh Taneja 3df6e801b5 MDL-57168 behat: Ensure drawer is open before clicking the link 2016-11-28 12:57:55 +08:00
David Monllao 920778eb93 Merge branch 'MDL-56619-master' of git://github.com/ryanwyllie/moodle 2016-11-28 12:45:46 +08:00
David Monllao d826c64c57 Merge branch 'wip-mdl-57147' of https://github.com/rajeshtaneja/moodle 2016-11-28 12:40:27 +08:00
David Monllao 085e077fa3 Merge branch 'MDL-57146-master' of git://github.com/damyon/moodle 2016-11-28 12:15:30 +08:00
Ryan Wyllie 341da3e3fb MDL-56619 theme: filemanager_selectlayout bootstrap 4 form styling 2016-11-28 03:42:40 +00:00
Jake Dallimore 0395ec28e2 MDL-57156 themes: override caption alignment in theme boost 2016-11-28 11:35:11 +08:00
David Monllao dd106016ee Merge branch 'MDL-57122-master' of git://github.com/ankitagarwal/moodle 2016-11-28 11:31:05 +08:00
Ankit Agarwal 2adf5ef946 MDL-57122 boost: Don't escape strings twice
Strings should always be escaped in templates not before
2016-11-28 08:22:41 +05:30
Ankit Agarwal 6c4aba1e7e MDL-57122 boost: Add context docs to login template 2016-11-28 08:22:41 +05:30
Jun Pataleta 894b1825f6 MDL-56919 boost: Render non-action menu items as disabled action links 2016-11-28 10:20:18 +08:00
Jun Pataleta 27a3843d05 MDL-56919 templates: action_link template fixes when disabled
For the case where the action_link template is shown as disabled:
* Allow extra classes to be set on on the class attribute.
* Allow extra attributes to be set.
2016-11-28 10:20:18 +08:00
Rajesh Taneja 96813571b1 MDL-57147 phpunit: Check if time is greater than or equal to
Some windows only have 1/100 microtime resolution
so a lot of times it does not advance enough.
2016-11-28 09:40:21 +08:00
AMOS bot c1722505e1 Automatically generated installer lang files 2016-11-27 00:05:45 +08:00
Dan Poltawski 39f621305d Merge branch 'MDL-57134-master' of git://github.com/lameze/moodle 2016-11-25 12:35:17 +00:00
Dan Poltawski 1f5fbd1696 Merge branch 'wip-mdl-56659' of https://github.com/rajeshtaneja/moodle 2016-11-25 11:17:36 +00:00
Dan Poltawski cdef9e91a3 Merge branch 'MDL-56800-master-radio' of git://github.com/mudrd8mz/moodle 2016-11-25 10:44:19 +00:00
David Monllao 3eabedbb92 Moodle release 3.2rc3 2016-11-25 15:58:02 +08:00
David Monllao 9441af9596 NOBUG: Fixed file access permissions 2016-11-25 15:58:02 +08:00
David Monllao c08a263134 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2016-11-25 15:58:01 +08:00
Marina Glancy 392367c4f7 MDL-56586 behat: fix behat tests to work with new add block 2016-11-25 14:04:10 +08:00
Rajesh Taneja 350d0ae6b7 MDL-56659 core: Enable password field when label is clicked 2016-11-25 12:09:37 +08:00
Rajesh Taneja dfa707c994 MDL-56659 core: No need for noscript tag and set size later
1. BrowserKitDriver::setValue only checks if the element is
   disabled. It still is able to set value on hidden elements
   So there is no need for noscript tag in password unmask
2. Set size on hidden field is not valid html, so set it later
   when text element is displayed
2016-11-25 12:09:37 +08:00
David Monllao 0d9d55a3ad Merge branch 'MDL-56584-master-fix1' of http://github.com/damyon/moodle 2016-11-25 11:15:32 +08:00
David Monllao b4f82837ba Merge branch 'MDL-55324-master-fix' of git://github.com/cameron1729/moodle 2016-11-25 11:11:20 +08:00
David Monllao bae517c616 Merge branch 'MDL-57094-int-patch-1' of github.com:ryanwyllie/moodle 2016-11-25 10:52:00 +08:00
David Monllao b68af8e6f8 Merge branch 'MDL-56801-master' of git://github.com/lameze/moodle 2016-11-25 10:40:39 +08:00
Ryan Wyllie af46d1dd23 MDL-57094 admin_tool: fix subscription behat tests 2016-11-25 02:24:33 +00:00
David Monllao b35c209d76 MDL-56551 calendar: Update behat test according to DOM changes 2016-11-25 10:06:36 +08:00
Damyon Wiese a1e8265d48 MDL-57146 boost: New tabbed settings page missing branch links
Branches that are also links were not showing as links.
2016-11-25 10:00:22 +08:00
David Monllao b71149c9ac Merge branch 'MDL-56761-master' of git://github.com/ryanwyllie/moodle 2016-11-25 09:36:17 +08:00
Damyon Wiese 262253f624 MDL-56584 boost: Use tabindex-1 on nav drawer
Also use aria-hidden on unicode symbol for hamburger.
2016-11-25 09:27:17 +08:00
David Monllao c15f993cde Merge branch 'wip-mdl-56898-fix4' of https://github.com/rajeshtaneja/moodle 2016-11-25 09:24:24 +08:00
Rajesh Taneja d2a44a71ac MDL-56898 behat: Focus only works with JS 2016-11-25 09:20:52 +08:00
David Monllao 92fa8b8fde Merge branch 'MDL-57126-master' of https://github.com/snake/moodle 2016-11-25 09:18:26 +08:00
David Monllao 29c96d214b Merge branch 'MDL-55857-master' of git://github.com/danpoltawski/moodle 2016-11-25 08:46:04 +08:00
Marina Glancy 1adf21fc1d MDL-57019 behat: corrections to the selectors, adding waiting 2016-11-25 08:38:24 +08:00
Jake Dallimore d714aeb4f5 MDL-57126 core: add 'scss' to list of core filetypes.
This allows filetype restrictions to work when uploading additional
preset files on the Boost admin settings page.
2016-11-25 07:53:59 +08:00
David Mudrák c03f1de198 MDL-56800 theme_boost: Clean up rendering of the radio buttons
The <input type="radio"> element does not support the size attribute so
there is no point of rendering it. Also fixed the example data as the
field name must not contain any whitespace.
2016-11-24 23:50:21 +01:00
David Mudrák edd837038a MDL-56800 theme_boost: Display frozen form's radios as disabled
For frozen (read-only) forms, the radio widget was not displayed at all
and only the legend text was displayed. So it was not possible to see
which one of the radios in a group was selected.

This patch mimics the original quick form rendering and displays the
radio as disabled.
2016-11-24 23:47:39 +01:00
Dan Poltawski ad76556b76 Merge branch 'MDL-56948-master' of https://github.com/lucisgit/moodle 2016-11-24 15:58:05 +00:00
Dan Poltawski 9cc9690575 Merge branch 'MDL-57102-master' of git://github.com/jleyva/moodle 2016-11-24 10:43:21 +00:00
Dan Poltawski b001cd4b17 Merge branch 'MDL-56431-filter-fix' of git://github.com/abgreeve/moodle 2016-11-24 09:45:53 +00:00
Dan Poltawski 74b8557661 Merge branch 'MDL-57013_master' of https://github.com/nadavkav/moodle 2016-11-24 09:44:32 +00:00
Adrian Greeve 72a5842bd7 MDL-56431 messaging: Added aria label to filter.
Added an aria label to the course filter in the
messaging page.
2016-11-24 17:33:22 +08:00
Dan Poltawski 304e8a8d0c Merge branch 'wip-MDL-56586-master-2' of git://github.com/marinaglancy/moodle 2016-11-24 09:30:29 +00:00
Dan Poltawski c5c8f3a6f5 Merge branch 'MDL-57118-master' of git://github.com/damyon/moodle 2016-11-24 09:26:52 +00:00
Marina Glancy 86ac6a3763 MDL-57019 behat: make tab navigation compatible with boost 2016-11-24 16:47:00 +08:00
Simey Lameze 539de849cd MDL-57134 core_badges: add missing badgeslib.php include 2016-11-24 16:45:17 +08:00
David Monllao 68dde67d9f Merge branch 'MDL-57094-master' of git://github.com/ryanwyllie/moodle 2016-11-24 15:53:26 +08:00
David Monllao 8b81daf4dd Merge branch 'MDL-56429-master' of git://github.com/ryanwyllie/moodle 2016-11-24 15:47:31 +08:00
David Monllao 4de871f4ca Merge branch 'MDL-57001-master' of git://github.com/damyon/moodle 2016-11-24 15:29:04 +08:00
Damyon Wiese a955cf531c MDL-57118 boost: Participants cog shows too much
Because 0 == 'participants' in php.
2016-11-24 15:27:17 +08:00
Andrew Nicols 9a102866be Merge branch 'MDL-56564-master-2' of git://github.com/junpataleta/moodle 2016-11-24 15:22:12 +08:00
David Monllao 8411e0a508 Merge branch 'wip-mdl-56797' of https://github.com/rajeshtaneja/moodle 2016-11-24 15:19:18 +08:00
Ryan Wyllie 1fb687ea8f MDL-56761 theme: fix RTL styling for hover tooltip 2016-11-24 07:12:46 +00:00
Damyon Wiese 2fedc0da7c MDL-57001 roles: Do access check for switchroles
Put it in the API so it can't be skipped.
2016-11-24 15:11:19 +08:00
Damyon Wiese 7dba450fd4 MDL-57001 user_menu: Hide switch roles students
Check that there are switchable roles before showing the link in the user menu.
2016-11-24 15:11:19 +08:00
Damyon Wiese 22b8c5b842 MDL-57001 user_menu: Fixes for unit tests
We added a link to the user menu so we have to adjust the tests.
2016-11-24 15:11:19 +08:00
Damyon Wiese 8c224317ee MDL-57001 switchroles: Add a cancel link to the page. 2016-11-24 15:11:19 +08:00
Damyon Wiese 70b03eff02 MDL-57001 switchroles: Move to user menu
Take this out of the navigation and force it in the user menu.
2016-11-24 15:11:19 +08:00
Damyon Wiese 7095f5be97 MDL-57001 usermenu: Add switch role to the bottom of the user menu 2016-11-24 15:11:19 +08:00
Andrew Nicols 4213f7e236 Merge branch 'wip-MDL-57019-fix' of https://github.com/marinaglancy/moodle 2016-11-24 15:09:43 +08:00
Simey Lameze 45d5594ecb MDL-56801 theme_boost: remove registration_textfield rule
The registration_textfield conflicts with the form default styling and breaks form layout.
2016-11-24 14:40:38 +08:00
Marina Glancy bf07b81543 MDL-56586 blocks: use template for non-JS add block selector 2016-11-24 14:24:59 +08:00
Damyon Wiese be2247fb24 MDL-56586 blocks: Do the addblock in a modal 2016-11-24 14:24:59 +08:00
Marina Glancy b1e5624ad9 MDL-56586 blocks: Fix mess with links to permissions
problem 1: links to blocks permissions changes were missing in boost
problem 2: when modifying link from dashboard user is returned to profile ('returnurl' passed but not respected)
problem 3: link to check permissions missing from category management page
fix: instead of respecting both 'return' and 'returnurl' parameter use only 'returnurl'
fix: use 'popup' layout when modifying permissions for a block
2016-11-24 14:24:59 +08:00
Marina Glancy b11916d3e7 MDL-56586 blocks: allow theme to manage "Add a block" select 2016-11-24 14:24:56 +08:00
Ryan Wyllie de4ca62e7a MDL-56429 theme: add margin to processor settings form controls
Add a top margin to the form controls in the processor settings modal on
the notification preferences page to separate the content from the
controls.
2016-11-24 06:12:27 +00:00
Marina Glancy b0842f61f4 MDL-57019 behat: new step to navigate to gradebook section 2016-11-24 12:46:27 +08:00
Cameron Ball 4d85886b5f MDL-55324 atto_media: Reduce maximum height of atto modal
Previously after adding a few sources or expanding a few fieldsets
the modal would be pushed off the bottom of the screen. Here we
reduce the maximum height to allow it to remain visible.
2016-11-24 12:31:30 +08:00
David Monllao 692c1bf345 Merge branch 'MDL-56391_master-fix' of https://github.com/markn86/moodle 2016-11-24 11:28:00 +08:00
Mark Nelson bb3a1d6f39 MDL-56391 core_user: fixed failing behat 2016-11-24 11:24:32 +08:00
Simey Lameze b6f549d139 MDL-57097 mod_assign: add event listener to avoid form submit 2016-11-24 11:24:25 +08:00
Jun Pataleta 144c149704 MDL-56564 mod_lti: Reset fields before updating tool matches 2016-11-24 11:09:03 +08:00
Andrew Nicols 2ecb3ffa97 Merge branch 'wip-mdl-56898-fix3' of https://github.com/rajeshtaneja/moodle 2016-11-24 11:08:55 +08:00
David Monllao fa42b7bc69 Merge branch 'MDL-57069_master' of git://github.com/markn86/moodle 2016-11-24 11:04:28 +08:00
Cameron Ball e24699cc7a MDL-55324 atto_media: Preserve help text when adding sources 2016-11-24 10:55:05 +08:00
David Monllao ff8b71ef7b Merge branch 'MDL-56871_master' of git://github.com/markn86/moodle 2016-11-24 09:53:45 +08:00
David Monllao 55f8edfdf2 Merge branch 'MDL-56993-master' of git://github.com/damyon/moodle 2016-11-24 09:50:31 +08:00
David Monllao 654efef456 Merge branch 'MDL-56551-master' of git://github.com/damyon/moodle 2016-11-24 09:47:18 +08:00
Andrew Nicols 65f0ef9e34 Merge branch 'wip-mdl-57112' of https://github.com/rajeshtaneja/moodle 2016-11-24 08:43:45 +08:00
Rajesh Taneja febbb9f8cd MDL-57112 behat: Social activity block is by default present 2016-11-24 07:45:55 +08:00
Rajesh Taneja 8c35e49b37 MDL-56898 behat: No need to trigger error, as it sometimes hangs behat 2016-11-24 07:31:38 +08:00
Rajesh Taneja b3502be320 MDL-56898 behat: Ensure we have button in viewport and page is stable 2016-11-24 07:27:19 +08:00
Juan Leyva 851b291998 MDL-57102 tool_mobile: Return launchurl when sign-up enabled 2016-11-23 19:35:08 +00:00
Juan Leyva 813320fbb6 MDL-57102 auth: Add new signup_is_enabled function
And apply the function in:
- login/signup.php
- blocks/login/block_login.php
2016-11-23 19:35:08 +00:00
Damyon Wiese 9d44510d60 MDL-57100 JS: Exceptions give exceptions
Exceptions returned from ajax are not in the format expected by the JS, so
an error occurs and the exception popups are not appearing.
2016-11-23 18:07:26 +00:00
Dan Poltawski 4b287476f3 Merge branch 'MDL-53964' of https://github.com/timhunt/moodle 2016-11-23 16:07:28 +00:00
AMOS bot c61d7c0802 Merge branch 'master' into install_master 2016-11-24 00:06:13 +08:00
Dan Poltawski 183b1d6785 MDL-56995 boost: fix css lint warning 2016-11-23 15:47:12 +00:00
Dan Poltawski 2a55269ce8 Merge branch 'MDL-56584-master' of git://github.com/damyon/moodle 2016-11-23 15:44:29 +00:00
Dan Poltawski 2ec4ed4dba Merge branch 'MDL-56995-master' of git://github.com/damyon/moodle 2016-11-23 15:07:26 +00:00
Damyon Wiese 242997744d MDL-56995 boost: Hide navigation for print media
Hide the navigation elements, flat navigation settings menus etc when
printing.
2016-11-23 22:32:20 +08:00
Dan Poltawski 203f51d627 MDL-57064 tests: update externallib test 2016-11-23 13:00:29 +00:00
Dan Poltawski 9f82774a8b Merge branch 'MDL-57064-master' of git://github.com/FMCorz/moodle 2016-11-23 12:46:18 +00:00
Dan Poltawski c8012422eb Merge branch 'MDL-35949' of https://github.com/timhunt/moodle 2016-11-23 12:31:22 +00:00
Dan Poltawski 68153d5cbc Merge branch 'MDL-56564-master-2' of git://github.com/junpataleta/moodle 2016-11-23 11:27:20 +00:00
Dan Poltawski be58f604b5 Merge branch 'MDL-57112-master' of git://github.com/cameron1729/moodle 2016-11-23 10:34:33 +00:00
Dan Poltawski 93b68886e9 Merge branch 'MDL-57093-master' of git://github.com/ryanwyllie/moodle 2016-11-23 10:32:01 +00:00
Dan Poltawski fd111ccabf MDL-57061 boost: build js 2016-11-23 10:23:02 +00:00
Dan Poltawski 2664ef1861 Merge branch 'MDL-57061-master' of git://github.com/FMCorz/moodle 2016-11-23 10:18:48 +00:00
Adrian Greeve 58c2684db2 MDL-56431 messaging: Set focus to the write a message box. 2016-11-23 09:13:51 +00:00
Adrian Greeve d14207fd25 MDL-56431 messaging: Adding access to messaging.
This adds the most crucial elements needed for making
the messaging page accessible. There are still some other
areas that need addressing.
2016-11-23 09:13:50 +00:00
Damyon Wiese c0f89860ec MDL-56993 boost: Add behat tests for boost nav menus 2016-11-23 16:47:25 +08:00
Mark Nelson cb8057531f MDL-56871 core_message: fix inconsistent online status between panels 2016-11-23 16:32:46 +08:00
Dan Poltawski 19d8b0f9e1 Merge branch 'MDL-56182-master' of git://github.com/FMCorz/moodle 2016-11-23 08:26:38 +00:00
Cameron Ball 1b367ac6e8 MDL-57112 blocks: Add back social_activities block for social courses.
Courses in the social format are difficult to use. This patch
simply adds back the social activities block to the social
course format.
2016-11-23 16:06:37 +08:00
Andrew Nicols a954685767 Merge branch 'MDL-56988-master' of git://github.com/lameze/moodle 2016-11-23 15:53:49 +08:00
Andrew Nicols 020fb9d2dc Merge branch 'MDL-56733-master' of git://github.com/ankitagarwal/moodle 2016-11-23 15:50:38 +08:00
Ankit Agarwal 2c0dfa7d33 MDL-56733 boost: Add a preset repo link 2016-11-23 13:14:48 +05:30
Damyon Wiese ea5084f7f1 MDL-56993 boost: Fix navigation for singleactivity format
The single activity course format has no course front page, so we need
to make a special case for it so it's possible to get to the course
admin menu and put the course nodes in the flat navigation.
2016-11-23 15:31:27 +08:00
Simey Lameze 270b2e443c MDL-56988 report: review and apply boosty styles to all reports 2016-11-23 15:30:32 +08:00
Mark Nelson afa68a8174 MDL-57069 core_message: prevent past messages being loaded 2016-11-23 14:26:14 +08:00
Andrew Nicols 2a58fef860 Merge branch 'MDL-57059-master' of git://github.com/lameze/moodle 2016-11-23 14:15:42 +08:00
David Monllao d062d64fb8 Merge branch 'MDL-56116-master' of git://github.com/FMCorz/moodle 2016-11-23 14:01:48 +08:00
Frederic Massart 862816eec3 MDL-56116 theme_boost: Improve developer documentation related to themes 2016-11-23 13:55:28 +08:00
Ryan Wyllie b487a7c028 MDL-57094 message: change view more link in notification popover 2016-11-23 05:54:07 +00:00
Simey Lameze bea19e0dec MDL-57059 theme_boost: add rule to fix slot number misalignment 2016-11-23 13:37:55 +08:00
Jun Pataleta 1b669ebeba MDL-56564 mod_lti: External tool form fixes
* Revert disabling of the Preconfigured tool field on edit mode
* Reset LTI tool configuration fields when selecting a different
  preconfigured tool.
* Behat fixes for UI changes.
2016-11-23 13:10:51 +08:00
Frederic Massart e0c5ffb681 MDL-57061 theme_boost: Focus the invalid form elements on error 2016-11-23 12:11:57 +08:00
Andrew Nicols 5bda9fe900 Merge branch 'MDL-55324-master' of git://github.com/cameron1729/moodle 2016-11-23 12:09:46 +08:00
Cameron Ball 28e93cc41b MDL-55324 atto_media: Implement HTML compliant media plugin
This patch completely reworks the atto media plugin to allow
insertion of HTML media elements.
2016-11-23 11:57:33 +08:00
Cameron Ball a60a98d900 MDL-55324 filepicker: Explicitly set callback from showFilePicker
Prior to this patch the callback passed to showFilePicker was saved
and reused for subsequent calls. This doesn't allow the use of a function
for generating the callback.

This patch explicitly sets the callback each time.
2016-11-23 11:56:40 +08:00
Andrew Nicols 44cf94a877 Merge branch 'wip-MDL-57019-master' of git://github.com/marinaglancy/moodle 2016-11-23 11:54:16 +08:00
David Monllao d5c2829b06 MDL-56902 version: Triggering a major upgrade 2016-11-23 11:50:26 +08:00
David Monllao b3440a13cc Merge branch 'MDL-56902-master-fix1' of http://github.com/damyon/moodle 2016-11-23 11:48:44 +08:00
Ryan Wyllie 52aeda247c MDL-57093 forum: less specific unread styling
Changed the CSS for unread styling to no longer use ids because the
rules are too specific and override other elements with the .unread
class on the forum pages.
2016-11-23 03:40:30 +00:00
Damyon Wiese 48489fb93a MDL-56551 calendar: cibot fixes from this issue 2016-11-23 11:25:57 +08:00
Damyon Wiese 7ee4a28719 MDL-56551 calendar: Events list fixes for boost
The events list is now a list of cards with headers.
Spacing and layout is now done with bootstrap utility classes.
The existing classes were kept - and the styles for bootstrapbase are not changed much.
Also calendar colours can be overridden from a preset.
2016-11-23 11:25:52 +08:00
Damyon Wiese 1ac36fa9f7 MDL-56902 blocks: No theme blocks if fake blocks only
When showing only fake blocks, never auto create the blocks for the
theme. This would give you double blocks.
2016-11-23 11:07:32 +08:00
Frederic Massart 6b7e523b5d MDL-56182 mod_lti: Include the query string when comparing type URLs 2016-11-23 10:16:50 +08:00
David Monllao 8fb1b3bb68 Merge branch 'MDL-56391_master' of git://github.com/markn86/moodle 2016-11-23 09:49:03 +08:00
Dan Poltawski 3fd840072f MDL-56988 report: attempt to improve styling of reports 2016-11-23 08:50:06 +08:00
David Monllao 44c3d0775c Merge branch 'MDL-56902-master' of git://github.com/damyon/moodle 2016-11-23 08:29:41 +08:00
David Monllao 111d6b8f24 Merge branch 'MDL-57089-master' of git://github.com/ankitagarwal/moodle 2016-11-23 08:20:13 +08:00
David Monllao 74138c7cd0 Merge branch 'MDL-57087_master' of git://github.com/markn86/moodle 2016-11-23 08:01:25 +08:00
Dan Poltawski 0484a0d511 Merge branch 'MDL-57075-master' of git://github.com/ryanwyllie/moodle 2016-11-22 21:14:20 +00:00
Dan Poltawski 95b25310ce Merge branch 'MDL-56795-master' of git://github.com/damyon/moodle 2016-11-22 21:01:59 +00:00
Dan Poltawski 1da2cf3bc0 Merge branch 'MDL-57018-master' of git://github.com/damyon/moodle 2016-11-22 20:59:17 +00:00
Dan Poltawski cb151980c4 Merge branch 'MDL-56656-master' of git://github.com/ankitagarwal/moodle 2016-11-22 18:05:10 +00:00
Dan Poltawski 03f450c10d Merge branch 'MDL-56987-master' of git://github.com/damyon/moodle 2016-11-22 18:01:38 +00:00
Dan Poltawski d3b13065ce Merge branch 'MDL-57012-master' of git://github.com/damyon/moodle 2016-11-22 18:01:10 +00:00
Dan Poltawski 73430100ff Merge branch 'MDL-57042-master' of git://github.com/damyon/moodle 2016-11-22 18:00:45 +00:00
AMOS bot 499f4a7823 Automatically generated installer lang files 2016-11-23 00:04:53 +08:00
Eloy Lafuente (stronk7) 0fbe41f4cd Moodle release 3.2rc2 2016-11-22 16:22:21 +01:00
Dan Poltawski e122972d3f Merge branch 'MDL-56938-master-fix1' of http://github.com/damyon/moodle 2016-11-22 10:26:52 +00:00
Ankit Agarwal 7597ab0b99 MDL-56656 messages: Proper multilang formating in messaging pages 2016-11-22 14:51:12 +05:30
Damyon Wiese 57bfb7c30a MDL-56938 filter_media: Responsive size fallback player
Apply responsive sizing to any video element in a media filter div.

This applys to the HTML5 video player and the fall back player if
video.js fails to load.
2016-11-22 17:04:55 +08:00
Ankit Agarwal 2561e79fca MDL-57089 boost: Fix single select rendering
Also added context docs to the template file
2016-11-22 14:06:59 +05:30
John Okely 529e944a8c MDL-56782 custommenu add multilang example 2016-11-22 15:12:55 +08:00
Damyon Wiese 45ed4271b7 MDL-56902 blocks: no nav / settings in boost
Upgraded sites switching to boost should not see nav/settings blocks.
2016-11-22 15:02:51 +08:00
Damyon Wiese 51718b752d MDL-56902 blocks: Prevent blocks returning when switching themes.
Now if the current theme requires some blocks that don't exist, they
will be created - but with a new flag that indicates this block should
only be returned if the current theme requires it. This allows flipping back
and forth between boost and clean without restoring the nav and settings blocks
in boost.
2016-11-22 14:53:24 +08:00
Mark Nelson 9c6c29932a MDL-56391 core_message: addressed confusing links on the profile page
1) Use the string 'Send message' rather than 'View messages'.
2) Removed the 'View messages' string as it is no longer used
   and was introduced in the new messaging UI.
3) Removed the 'View profile' link and made the user's profile
   picture a link to their profile instead, this was only
   recently plausible because of MDL-57036.
2016-11-22 14:35:19 +08:00
Damyon Wiese 8cdff4beda MDL-56584 boost: Focus on drawer when it is opened 2016-11-22 14:05:43 +08:00
Damyon Wiese 95210c6650 MDL-56987 bootstrapbase: Center align in page modals 2016-11-22 13:31:50 +08:00
Mark Nelson 3c1cdac63f MDL-57087 core_message: ignore site policy if logged in as admin 2016-11-22 13:20:49 +08:00
Frederic Massart 84979ab793 MDL-57064 course: Return all properties when getting navigation options 2016-11-22 12:58:52 +08:00
Andrew Nicols 8d294e729f Merge branch 'MDL-57035-master' of git://github.com/FMCorz/moodle 2016-11-22 12:02:45 +08:00
Damyon Wiese a51122983c MDL-57018 boost: Style marking guide entry form
Add boost styles to marking guide entry form.
2016-11-22 11:47:45 +08:00
David Monllao 82f9746962 Merge branch 'MDL-56782-master' of git://github.com/damyon/moodle 2016-11-22 11:46:13 +08:00
Frederic Massart cbca970ab7 MDL-57035 repository_skydrive: Compability with converged type apps
http://go.microsoft.com/fwlink/p/?LinkID=615760
2016-11-22 11:46:05 +08:00
Damyon Wiese e466e337b0 MDL-57018 marking guide: Style frequent comments
Style frequently used comments for bootstrap 4.
2016-11-22 11:46:01 +08:00
Ryan Wyllie a6a277f06c MDL-57075 message: notification popover see all link
The "see all" link in the notification popover should link to the full
notifications page similar to how the "see all" link in the message
popover links to the messaging page.
2016-11-22 03:44:26 +00:00
Andrew Nicols 282f0437f1 Merge branch 'wip-mdl-56898-fixup' of https://github.com/rajeshtaneja/moodle 2016-11-22 11:33:25 +08:00
Andrew Nicols 873a7e1e86 Merge branch 'MDL-56683-master' of git://github.com/damyon/moodle 2016-11-22 11:27:28 +08:00
Andrew Nicols 38a8590ed0 Merge branch 'wip-mdl-56994' of https://github.com/rajeshtaneja/moodle 2016-11-22 11:22:30 +08:00
Rajesh Taneja 45e862c4bd MDL-56898 behat: Wait for pending JS after setting password 2016-11-22 11:20:30 +08:00
Andrew Nicols d51d8ca2af Merge branch 'MDL-55838-master' of git://github.com/damyon/moodle 2016-11-22 11:17:33 +08:00
Rajesh Taneja f4565e7147 MDL-56994 behat: Fixed activity selector to find proper li
Previous to this patch, only 1 activity was
expected and if there are more than 1 activities
then it will fail. Improved step to find the
correct activity node by name
2016-11-22 11:02:52 +08:00
Damyon Wiese 52a51514f6 MDL-56683 theme_boost: Popovers on dynamic content 2016-11-22 10:28:25 +08:00
David Monllao 42cf4a3470 Merge branch 'MDL-57023-master' of git://github.com/andrewnicols/moodle 2016-11-22 10:23:21 +08:00
Damyon Wiese 5d03ab36b5 MDL-55838 theme_boost: Fix secure layout
It was out of date with the columns2 layout and had links outside it's content.
2016-11-22 10:22:17 +08:00
Andrew Nicols 727145bf1c MDL-56407 message: Additional unit test for unblocked user 2016-11-22 09:45:52 +08:00
Brendan Heywood 3d8fbf39f7 MDL-52199 core_message: IMAP errors passed to task api 2016-11-22 12:44:30 +11:00
Andrew Nicols d10ca75b8c Merge branch 'MDL-56407-master-2' of git://github.com/junpataleta/moodle 2016-11-22 09:06:09 +08:00
Andrew Nicols aacdf8e280 MDL-57023 tool_usertours: Ensure that the tour key is unique
The tour key was already unique, but this change makes it unique to the
current user too.
2016-11-22 09:05:31 +08:00
Andrew Nicols aabebc7516 MDL-57023 tool_usertours: Update to v0.9.10
This new version of the library brings with it storage of the current
step number in the browser session storage.

This allows the page to reload whilst viewing a tour and have the tour
continue.
2016-11-22 09:05:31 +08:00
David Monllao 5009bcd9b4 Merge branch 'MDL-56986-master-fix' of https://github.com/lameze/moodle 2016-11-22 09:04:26 +08:00
Andrew Nicols 4b2790c580 Merge branch 'MDL-56809-master' of git://github.com/ankitagarwal/moodle 2016-11-22 08:49:18 +08:00
Simey Lameze 5e43ccd3b9 MDL-56986 block_course_summary: remove edit icon scenario from behat 2016-11-22 08:39:35 +08:00
Andrew Nicols 783ef76bfc Merge branch 'MDL-56716-master' of git://github.com/damyon/moodle 2016-11-22 08:10:11 +08:00
Rajesh Taneja 49cf53dd93 MDL-56797 theme_boost: Fixed css on rubric icon so text wraps 2016-11-22 07:26:25 +08:00
Dan Poltawski 4b631c2d87 Merge branch 'wip-mdl-56898-fix2' of https://github.com/rajeshtaneja/moodle 2016-11-21 15:07:49 +00:00
Damyon Wiese 00f5c95590 MDL-57012 boost: Filepicker layout fix
Use container-fluid which is always 100% wide.
2016-11-21 21:35:12 +08:00
Damyon Wiese 7e81bd114e MDL-56782 custommenu - update docs
We don't support sub-menus in all themes (boost) so we want to update
the docs and example.
2016-11-21 21:17:43 +08:00
Dan Poltawski 9446cb507c Merge branch 'MDL-56318-master' of git://github.com/damyon/moodle 2016-11-21 09:55:09 +00:00
Damyon Wiese ef25d51f5b MDL-56795 boost: Close drawer after navigating on mobile 2016-11-21 17:26:45 +08:00
Damyon Wiese 21a5c3c447 MDL-56318 assign: Polish for assign grading in boost
These styles mostly remove the responsiveness from the grading form.
2016-11-21 16:59:39 +08:00
David Monllao 9557be1542 Merge branch 'MDL-57063-master' of git://github.com/FMCorz/moodle 2016-11-21 16:53:44 +08:00
Dan Poltawski 05551a935a Merge branch 'MDL-56849-master' of git://github.com/damyon/moodle 2016-11-21 08:36:27 +00:00
Dan Poltawski f7d76254fd Merge branch 'MDL-56994-master-2' of git://github.com/junpataleta/moodle 2016-11-21 07:30:58 +00:00
Damyon Wiese 28f2458448 MDL-56849 mod_wiki: Update styles for boost
Make sure all form field have bootstrap styles. Use bootstrap tables on
tables. Remove custom styling. Prefer left-aligned text.
2016-11-21 15:19:16 +08:00
Damyon Wiese e283c6ca33 MDL-56716 boost: Fix styling for review options
The checkbox form template was changed, so this custom rule needs
updating.
2016-11-21 15:08:41 +08:00
Rajesh Taneja 26fef01b6b MDL-56898 behat: Go to a non html page to avoid any unwanted ajax calls
After scenario is finished, go to README.txt, so
there is no JS/AJAX calls pending and site is ready
for reset before next scenario
2016-11-21 14:16:49 +08:00
Rajesh Taneja d9a9a87835 MDL-56898 behat: Ensure the page is stable before executing 2016-11-21 14:16:48 +08:00
David Monllao e0ba33697f Merge branch 'MDL-56938-master' of git://github.com/damyon/moodle 2016-11-21 14:09:43 +08:00
Ankit Agarwal f318b74b49 MDL-56809 boost: Don't escape html in single select options 2016-11-21 11:38:51 +05:30
Ankit Agarwal 63531fff79 MDL-56809 boost: Add template context info 2016-11-21 11:38:51 +05:30
Andrew Nicols 51e8968635 Merge branch 'MDL-56612_master' of git://github.com/dmonllao/moodle 2016-11-21 13:40:00 +08:00
Andrew Nicols e67c14053e Merge branch 'MDL-56974-master' of git://github.com/jleyva/moodle 2016-11-21 13:21:27 +08:00
David Monllao 30f023b1b3 Merge branch 'MDL-56975-master' of git://github.com/jleyva/moodle 2016-11-21 13:15:40 +08:00
Damyon Wiese fce0f1c235 MDL-56938 messages: Images and videos display badly in messaging
Make sure they get minimum and maximum width so they don't overflow and
don't appear tiny.
2016-11-21 13:01:36 +08:00
David Monllao 57c01bca0e MDL-56612 navigation: Remove redundant load_courses_enrolled call 2016-11-21 12:42:09 +08:00
David Monllao 7d432be4e9 Merge branch 'MDL-57017-master' of git://github.com/andrewnicols/moodle 2016-11-21 12:40:26 +08:00
Andrew Nicols 2380daba7b Merge branch 'MDL-57054-master' of git://github.com/jleyva/moodle 2016-11-21 12:38:05 +08:00
Damyon Wiese 9741087ffd MDL-57042 messaging: When selecting a user, go to send message
This is the whole point of this UI - make it the default action after
searching and selecting a user. You can still get to their profile by
clicking their name in the header of the messaging pane.
2016-11-21 12:22:30 +08:00
David Monllao 2f5208ea1b Merge branch 'MDL-57049-master' of https://github.com/snake/moodle 2016-11-21 11:49:59 +08:00
Andrew Nicols 1e9487092d Merge branch 'MDL-56877' of https://github.com/eSrem/moodle 2016-11-21 11:08:01 +08:00
Frederic Massart 3d3fb328b4 MDL-57063 backup: Do not try to set default value on locked setting
We cannot set a default value on settings which are 'config' or
'permission' locked or an exception will be thrown from
base_setting::set_value.
2016-11-21 11:03:41 +08:00
Andrew Nicols 23bb1871b3 Merge branch 'MDL-55275' of https://github.com/tobiasreischmann/moodle 2016-11-21 11:01:40 +08:00
Andrew Nicols 896718ef79 Merge branch 'MDL-56943-master' of git://github.com/danpoltawski/moodle 2016-11-21 10:54:09 +08:00
David Monllao dfe7cbe4cf Merge branch 'MDL-57036_master' of git://github.com/markn86/moodle 2016-11-21 10:51:29 +08:00
Jun Pataleta 25bfa25190 MDL-56994 mod_forum: Auto-create news forum if course format supports it 2016-11-21 10:05:05 +08:00
Jun Pataleta e47d61e198 MDL-56994 course: Show News field only if course format supports news 2016-11-21 10:05:01 +08:00
Jun Pataleta 87799e9fba MDL-56994 course: New method to check if format supports news forum 2016-11-21 09:50:55 +08:00
David Monllao 30cfed3731 Merge branch 'MDL-57052-master' of git://github.com/jleyva/moodle 2016-11-21 09:47:51 +08:00
David Monllao 406f1eb76d Merge branch 'MDL-57051-master' of git://github.com/jleyva/moodle 2016-11-21 09:45:44 +08:00
Marina Glancy fc14932c40 MDL-57019 core_grades: change default navigation to tabs
without navigation block in boost it is not easy to navigation between gradebook sections
2016-11-21 09:31:49 +08:00
Rajesh Taneja 7f24e5e654 MDL-56898 behat: Click on logout link in footer, it's faster 2016-11-21 09:25:35 +08:00
Rajesh Taneja 65eb39c0b4 MDL-56898 behat: Increase autosavefrequency for behat tests
We don't need editor to autosave, as this cause
unwanted ajax request
2016-11-21 09:25:35 +08:00
Rajesh Taneja 1bce723292 MDL-56898 behat: Try data reset if it fails because of pending process 2016-11-21 09:25:35 +08:00
David Monllao f48cc821db Merge branch 'MDL-56972-master' of https://github.com/snake/moodle 2016-11-21 09:05:40 +08:00
Jake Dallimore 0a5cafcbe9 MDL-57049 libraries: update jqueryui version in requirejs path 2016-11-21 08:57:53 +08:00
Andrew Nicols 5084343b3f Merge branch 'MDL-42977-master' of git://github.com/lameze/moodle 2016-11-21 08:52:42 +08:00
David Monllao a4abacc9a6 Merge branch 'MDL-56986-master' of git://github.com/lameze/moodle 2016-11-21 08:51:47 +08:00
David Monllao ff687b9c15 Merge branch 'MDL-56843-master' of git://github.com/lameze/moodle 2016-11-21 08:48:22 +08:00
Andrew Nicols b0db945b11 Merge branch 'MDL-57002-master' of git://github.com/FMCorz/moodle 2016-11-21 08:21:31 +08:00
Tim Hunt edf2f7bdf1 MDL-53964 qtype_ddmarker: marker label 0 should be allowed 2016-11-20 21:32:55 +00:00
Tim Hunt 030d8f22c2 MDL-35949 quiz accessibility: move input outside label 2016-11-20 16:59:00 +00:00
Juan Leyva d0da94cdf4 MDL-56974 auth_email: Incorrect param type for redirect in sign_up WS 2016-11-19 18:21:56 +00:00
Juan Leyva 02bb0c0637 MDL-56975 tool_mobile: Fix page set_url 2016-11-19 18:15:59 +00:00
Juan Leyva 8abfb7b1bb MDL-57054 mod_quiz: check_updates_since not returning questionids 2016-11-19 17:44:48 +00:00
Juan Leyva 0840b3e687 MDL-57052 course: Missing required file in check_module_updates_since 2016-11-19 17:27:01 +00:00
Juan Leyva 6706c1cb12 MDL-57051 course: Do not return directories in check_module_updates 2016-11-19 16:54:31 +00:00
Tony Butler 40e0baf08e MDL-56948 mod_assign: Don't call get_grade_item() unless we have one 2016-11-18 15:37:09 +00:00
Dan Poltawski 835f1f9add Merge branch 'MDL-57038-master' of git://github.com/FMCorz/moodle 2016-11-18 14:41:56 +00:00
Dan Poltawski b3fd942b52 Merge branch 'MDL-56693_master' of git://github.com/dmonllao/moodle 2016-11-18 14:25:20 +00:00
EizEddin AlKatrib af28ceb945 MDL-42977 course: Fixed the default behaviour of the Collapse/Expand all link 2016-11-18 14:24:42 +08:00
Frederic Massart 538ce414a5 MDL-57002 repository_webdav: Use default temporary file name
The WebDAV library does not like when there are UTF-8 characters
in the temporary file name. It changes the path but does not return
it, so the file ends up being saved somewhere unknown. As we do not
need the file name at all, we let repository::prepare_file()
generate one.
2016-11-18 12:47:59 +08:00
David Monllao f2e599d51c MDL-56693 boost: Highlight config.php settings in admin UI 2016-11-18 12:22:59 +08:00
Jake Dallimore fe9864f488 MDL-56972 backup: fix question category stamp duplicates during restore
To kerb future stamp duplication, MDL-54864 added a unique index to the
question_categories table (stamp, contextid) and added an upgrade step
to fix existing duplicate stamps. It missed the case where a course with
duplicate stamps in the same context is directly restored into moodle
3.1, causing index clashes. This issue provides a fix for that.
2016-11-18 11:15:02 +08:00
Mark Nelson f4c39cb983 MDL-57036 core_message: always show profile picture on messaging UI 2016-11-18 11:13:36 +08:00
Frederic Massart 3d66b5a100 MDL-57038 theme_bootstrapbase: Fix expand icon with RTL auto-flipped 2016-11-18 11:05:10 +08:00
Simey Lameze b95a05a536 MDL-56843 theme_boost: remove top margin from repository search div 2016-11-18 09:47:30 +08:00
Simey Lameze 2da36b3750 MDL-56986 block_course_summary: remove unnecessary small cog icon 2016-11-18 09:18:46 +08:00
Virgil Ashruf 5ceb68d169 MDL-56877 autogroup form: no limit on cohorts 2016-11-17 10:46:53 +01:00
Andrew Nicols c6b4421524 MDL-57017 tool_usertours: Allow targetting of the frontpage 2016-11-17 10:23:00 +08:00
Jun Pataleta 26dca05d02 MDL-56407 message: Indicate user is blocked in message area 2016-11-17 09:11:37 +08:00
Nadav Kavalerchik 6e402aeb0a MDL-57013 Theme_boost: Fix inline edit tooltip in RTL mode. 2016-11-16 23:38:28 +02:00
Dan Poltawski a4e2d64571 MDL-56943 boost: correct ARIA roles
* role="navigation" can't go directly on a list
* role="banner" should only be done once and not on a link
2016-11-16 16:52:03 +00:00
Tobias Reischmann 1cca9a3479 MDL-55275 assign: Prevent exception under admin role assignment.
In group mode the submission status was displayed to admins.
This caused an exception when the admins were enrolled as teachers
in a course while being the only member of a group.
2016-11-16 16:55:22 +01:00
Dan Poltawski 05a25f86dd MDL-55857 boost: add example context 2016-11-16 13:24:24 +00:00
Dan Poltawski 8515e2d16d MDL-55857 boost: template for checkboxes in repo plugins
Thanks to Damyon for the suggested markup
2016-11-16 13:12:18 +00:00
1450 changed files with 18087 additions and 6164 deletions
+2 -1
View File
@@ -56,7 +56,8 @@ lib/amd/src/chartjs-lazy.js
lib/maxmind/GeoIp2/
lib/maxmind/MaxMind/
lib/ltiprovider/
media/player/videojs/amd/src/
media/player/videojs/amd/src/video-lazy.js
media/player/videojs/amd/src/Youtube-lazy.js
media/player/videojs/videojs/
mod/assign/feedback/editpdf/fpdi/
repository/s3/S3.php
+2 -1
View File
@@ -57,7 +57,8 @@ lib/amd/src/chartjs-lazy.js
lib/maxmind/GeoIp2/
lib/maxmind/MaxMind/
lib/ltiprovider/
media/player/videojs/amd/src/
media/player/videojs/amd/src/video-lazy.js
media/player/videojs/amd/src/Youtube-lazy.js
media/player/videojs/videojs/
mod/assign/feedback/editpdf/fpdi/
repository/s3/S3.php
+11 -11
View File
@@ -13,7 +13,7 @@ language: php
php:
# We only run the highest and lowest supported versions to reduce the load on travis-ci.org.
- 7.0
- 7.1
- 5.6
services:
@@ -23,7 +23,7 @@ env:
# Although we want to run these jobs and see failures as quickly as possible, we also want to get the slowest job to
# start first so that the total run time is not too high.
#
# We only run MySQL on PHP 7.0, so run that first.
# We only run MySQL on PHP 7.1, so run that first.
# CI Tests should be second-highest in priority as these only take <= 60 seconds to run under normal circumstances.
# Postgres is significantly is pretty reasonable in its run-time.
@@ -47,22 +47,22 @@ matrix:
include:
# Run grunt/npm install on lowest supported npm version
- php: 7
- php: 7.1
env: DB=none TASK=GRUNT NVM_VERSION='4'
# Run grunt/npm install on highest version ('node' is an alias for the latest node.js version.)
- php: 7
- php: 7.1
env: DB=none TASK=GRUNT NVM_VERSION='node'
exclude:
# MySQL - it's just too slow.
# Exclude it on all versions except for 7.0
# Exclude it on all versions except for 7.1
- env: DB=mysqli TASK=PHPUNIT
php: 5.6
# Moodle 2.7 is not compatible with PHP 7 for the upgrade test.
- env: DB=pgsql TASK=UPGRADE
php: 7.0
php: 7.1
cache:
directories:
@@ -70,9 +70,6 @@ cache:
- $HOME/.npm
install:
# Disable xdebug. We aren't generating code coverage, and it has a huge impact upon test performance.
- rm /home/travis/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini
- >
if [ "$TASK" = 'PHPUNIT' ];
then
@@ -99,6 +96,7 @@ install:
fi
before_script:
- phpenv config-rm xdebug.ini
- >
if [ "$TASK" = 'PHPUNIT' -o "$TASK" = 'UPGRADE' ];
then
@@ -136,11 +134,13 @@ before_script:
sed -i \
-e "s%= 'pgsql'%= 'mysqli'%" \
-e "s%= 'username'%= 'travis'%" \
-e "s%=> 'utf8mb4_unicode_ci'%=> 'utf8mb4_bin'%" \
config.php;
mysql -u root -e 'SET GLOBAL innodb_file_format=barracuda;' ;
mysql -u root -e 'SET GLOBAL innodb_file_per_table=ON;' ;
mysql -e 'CREATE DATABASE travis_ci_test DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;' ;
mysql -u root -e 'SET GLOBAL innodb_large_prefix=ON;' ;
mysql -e 'CREATE DATABASE travis_ci_test DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_bin;' ;
fi
fi
@@ -184,7 +184,7 @@ before_script:
# We need the official upstream for comparison
git remote add upstream https://github.com/moodle/moodle.git;
git fetch upstream master;
git fetch upstream MOODLE_32_STABLE;
export GIT_PREVIOUS_COMMIT="`git merge-base FETCH_HEAD $TRAVIS_COMMIT`";
export GIT_COMMIT="$TRAVIS_COMMIT";
export UPSTREAM_FETCH_HEAD=`git rev-parse FETCH_HEAD`
+7 -22
View File
@@ -4,6 +4,7 @@
require_once('../config.php');
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/blocklib.php');
require_once($CFG->libdir.'/tablelib.php');
admin_externalpage_setup('manageblocks');
@@ -36,6 +37,7 @@
print_error('blockdoesnotexist', 'error');
}
$DB->set_field('block', 'visible', '0', array('id'=>$block->id)); // Hide block
add_to_config_log('block_visibility', $block->visible, '0', $block->name);
core_plugin_manager::reset_caches();
admin_get_root(true, false); // settings not required - only pages
}
@@ -45,40 +47,23 @@
print_error('blockdoesnotexist', 'error');
}
$DB->set_field('block', 'visible', '1', array('id'=>$block->id)); // Show block
add_to_config_log('block_visibility', $block->visible, '1', $block->name);
core_plugin_manager::reset_caches();
admin_get_root(true, false); // settings not required - only pages
}
if (!isset($CFG->undeletableblocktypes) || (!is_array($CFG->undeletableblocktypes) && !is_string($CFG->undeletableblocktypes))) {
$undeletableblocktypes = array('navigation', 'settings');
} else if (is_string($CFG->undeletableblocktypes)) {
$undeletableblocktypes = explode(',', $CFG->undeletableblocktypes);
} else {
$undeletableblocktypes = $CFG->undeletableblocktypes;
}
if (!empty($protect) && confirm_sesskey()) {
if (!$block = $DB->get_record('block', array('id'=>$protect))) {
print_error('blockdoesnotexist', 'error');
}
if (!in_array($block->name, $undeletableblocktypes)) {
$undeletableblocktypes[] = $block->name;
set_config('undeletableblocktypes', implode(',', $undeletableblocktypes));
}
block_manager::protect_block((int)$protect);
admin_get_root(true, false); // settings not required - only pages
}
if (!empty($unprotect) && confirm_sesskey()) {
if (!$block = $DB->get_record('block', array('id'=>$unprotect))) {
print_error('blockdoesnotexist', 'error');
}
if (in_array($block->name, $undeletableblocktypes)) {
$undeletableblocktypes = array_diff($undeletableblocktypes, array($block->name));
set_config('undeletableblocktypes', implode(',', $undeletableblocktypes));
}
block_manager::unprotect_block((int)$unprotect);
admin_get_root(true, false); // settings not required - only pages
}
$undeletableblocktypes = block_manager::get_undeletable_block_types();
echo $OUTPUT->header();
echo $OUTPUT->heading($strmanageblocks);
+86 -5
View File
@@ -64,6 +64,71 @@ if (!empty($options['collation'])) {
cli_error("Error: collation '$collation' is not available on this server!");
}
$collationinfo = explode('_', $collation);
$charset = reset($collationinfo);
$engine = strtolower($DB->get_dbengine());
// Do checks for utf8mb4.
if (strpos($collation, 'utf8mb4') === 0) {
// Do we have the right engine?
if ($engine !== 'innodb' && $engine !== 'xtradb') {
cli_error("Error: '$collation' requires InnoDB or XtraDB set as the engine.");
}
// Are we using Barracuda?
if ($DB->get_row_format() != 'Barracuda') {
// Try setting it here.
try {
$DB->execute("SET GLOBAL innodb_file_format=Barracuda");
} catch (dml_exception $e) {
cli_error("Error: '$collation' requires the file format to be set to Barracuda.
An attempt was made to change the format, but it failed. Please try doing this manually.");
}
echo "GLOBAL SETTING: innodb_file_format changed to Barracuda\n";
}
// Is one file per table being used?
if (!$DB->is_file_per_table_enabled()) {
try {
$DB->execute("SET GLOBAL innodb_file_per_table=1");
} catch (dml_exception $e) {
cli_error("Error: '$collation' requires the setting 'innodb_file_per_table' be set to 'ON'.
An attempt was made to change the format, but it failed. Please try doing this manually.");
}
echo "GLOBAL SETTING: innodb_file_per_table changed to 1\n";
}
// Is large prefix set?
if (!$DB->is_large_prefix_enabled()) {
try {
$DB->execute("SET GLOBAL innodb_large_prefix=1");
} catch (dml_exception $e) {
cli_error("Error: '$collation' requires the setting 'innodb_large_prefix' be set to 'ON'.
An attempt was made to change the format, but it failed. Please try doing this manually.");
}
echo "GLOBAL SETTING: innodb_large_prefix changed to 1\n";
}
}
$sql = "SHOW VARIABLES LIKE 'collation_database'";
if (!$dbcollation = $DB->get_record_sql($sql)) {
cli_error("Error: Could not access collation information on the database.");
}
$sql = "SHOW VARIABLES LIKE 'character_set_database'";
if (!$dbcharset = $DB->get_record_sql($sql)) {
cli_error("Error: Could not access character set information on the database.");
}
if ($dbcollation->value !== $collation || $dbcharset->value !== $charset) {
// Try to convert the DB.
echo "Converting database to '$collation' for $CFG->wwwroot:\n";
$sql = "ALTER DATABASE $CFG->dbname DEFAULT CHARACTER SET $charset DEFAULT COLLATE = $collation";
try {
$DB->change_database_structure($sql);
} catch (exception $e) {
cli_error("Error: Tried to alter the database with no success. Please try manually changing the database
to the new collation and character set and then run this script again.");
}
echo "DATABASE CONVERTED\n";
}
echo "Converting tables and columns to '$collation' for $CFG->wwwroot:\n";
$prefix = $DB->get_prefix();
$prefix = str_replace('_', '\\_', $prefix);
@@ -80,7 +145,7 @@ if (!empty($options['collation'])) {
$skipped++;
} else {
$DB->change_database_structure("ALTER TABLE $table->name DEFAULT COLLATE = $collation");
$DB->change_database_structure("ALTER TABLE $table->name DEFAULT CHARACTER SET $charset DEFAULT COLLATE = $collation");
echo "CONVERTED\n";
$converted++;
}
@@ -96,18 +161,32 @@ if (!empty($options['collation'])) {
continue;
}
// Check for utf8mb4 collation.
$rowformat = $DB->get_row_format_sql($engine, $collation);
if ($column->type === 'tinytext' or $column->type === 'mediumtext' or $column->type === 'text' or $column->type === 'longtext') {
$notnull = ($column->null === 'NO') ? 'NOT NULL' : 'NULL';
$default = (!is_null($column->default) and $column->default !== '') ? "DEFAULT '$column->default'" : '';
// primary, unique and inc are not supported for texts
$sql = "ALTER TABLE $table->name MODIFY COLUMN $column->field $column->type COLLATE $collation $notnull $default";
$sql = "ALTER TABLE $table->name
MODIFY COLUMN $column->field $column->type
CHARACTER SET $charset
COLLATE $collation $notnull $default";
$DB->change_database_structure($sql);
} else if (strpos($column->type, 'varchar') === 0) {
$notnull = ($column->null === 'NO') ? 'NOT NULL' : 'NULL';
$default = !is_null($column->default) ? "DEFAULT '$column->default'" : '';
// primary, unique and inc are not supported for texts
$sql = "ALTER TABLE $table->name MODIFY COLUMN $column->field $column->type COLLATE $collation $notnull $default";
if ($rowformat != '') {
$sql = "ALTER TABLE $table->name $rowformat";
$DB->change_database_structure($sql);
}
$sql = "ALTER TABLE $table->name
MODIFY COLUMN $column->field $column->type
CHARACTER SET $charset
COLLATE $collation $notnull $default";
$DB->change_database_structure($sql);
} else {
echo "ERROR (unknown column type: $column->type)\n";
@@ -180,7 +259,9 @@ function mysql_get_collations() {
global $DB;
$collations = array();
$sql = "SHOW COLLATION WHERE Collation LIKE 'utf8\_%' AND Charset = 'utf8'";
$sql = "SHOW COLLATION
WHERE Collation LIKE 'utf8\_%' AND Charset = 'utf8'
OR Collation LIKE 'utf8mb4\_%' AND Charset = 'utf8mb4'";
$rs = $DB->get_recordset_sql($sql);
foreach ($rs as $collation) {
$collations[$collation->collation] = $collation->collation;
+30 -5
View File
@@ -1723,6 +1723,21 @@
<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_CHECKS>
</MOODLE>
<MOODLE version="3.2" requires="2.7">
@@ -1868,16 +1883,26 @@
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_tls_libraries" level="optional">
<FEEDBACK>
<ON_CHECK message="tlswarning" />
</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_CHECKS>
</MOODLE>
</COMPATIBILITY_MATRIX>
+10 -3
View File
@@ -1899,14 +1899,21 @@ class core_admin_renderer extends plugin_renderer_base {
} else {
$report = $this->doc_link(join($linkparts, '/'), get_string($stringtouse, 'admin', $rec));
}
// Enclose report text in div so feedback text will be displayed underneath it.
$report = html_writer::div($report);
// Format error or warning line
if ($errorline || $warningline) {
$messagetype = $errorline? 'error':'warn';
if ($errorline) {
$messagetype = 'error';
$statusclass = 'label-important';
} else if ($warningline) {
$messagetype = 'warn';
$statusclass = 'label-warning';
} else {
$messagetype = 'ok';
$statusclass = 'label-success';
}
$status = '<span class="'.$messagetype.'">'.$status.'</span>';
$status = html_writer::span($status, 'label ' . $statusclass);
// Here we'll store all the feedback found
$feedbacktext = '';
// Append the feedback if there is some
+16 -23
View File
@@ -29,7 +29,7 @@ define("MAX_USERS_TO_LIST_PER_ROLE", 10);
$contextid = required_param('contextid', PARAM_INT);
$roleid = optional_param('roleid', 0, PARAM_INT);
$returnto = optional_param('return', null, PARAM_ALPHANUMEXT);
$returnurl = optional_param('returnurl', null, PARAM_LOCALURL);
list($context, $course, $cm) = get_context_info_array($contextid);
@@ -53,7 +53,13 @@ if ($course) {
// Security.
require_login($course, false, $cm);
require_capability('moodle/role:assign', $context);
$PAGE->set_url($url);
navigation_node::override_active_url($url);
$pageurl = new moodle_url($url);
if ($returnurl) {
$pageurl->param('returnurl', $returnurl);
}
$PAGE->set_url($pageurl);
$PAGE->set_context($context);
$contextname = $context->get_context_name();
@@ -141,6 +147,10 @@ if (!empty($user) && ($user->id != $USER->id)) {
}
$PAGE->set_pagelayout('admin');
if ($context->contextlevel == CONTEXT_BLOCK) {
// Do not show blocks when changing block's settings, it is confusing.
$PAGE->blocks->show_only_fake_blocks(true);
}
$PAGE->set_title($title);
switch ($context->contextlevel) {
@@ -186,9 +196,6 @@ if ($roleid) {
// Print the form.
$assignurl = new moodle_url($PAGE->url, array('roleid'=>$roleid));
if ($returnto !== null) {
$assignurl->param('return', $returnto);
}
?>
<form id="assignform" method="post" action="<?php echo $assignurl ?>"><div>
<input type="hidden" name="sesskey" value="<?php echo sesskey() ?>" />
@@ -235,18 +242,10 @@ if ($roleid) {
// Print a form to swap roles, and a link back to the all roles list.
echo '<div class="backlink">';
$newroleurl = new moodle_url($PAGE->url);
if ($returnto !== null) {
$newroleurl->param('return', $returnto);
}
$select = new single_select($newroleurl, 'roleid', $nameswithcounts, $roleid, null);
$select = new single_select($PAGE->url, 'roleid', $nameswithcounts, $roleid, null);
$select->label = get_string('assignanotherrole', 'core_role');
echo $OUTPUT->render($select);
$backurl = new moodle_url('/admin/roles/assign.php', array('contextid' => $contextid));
if ($returnto !== null) {
$backurl->param('return', $returnto);
}
echo '<p><a href="' . $backurl->out() . '">' . get_string('backtoallroles', 'core_role') . '</a></p>';
echo '<p><a href="' . $PAGE->url . '">' . get_string('backtoallroles', 'core_role') . '</a></p>';
echo '</div>';
} else if (empty($assignableroles)) {
@@ -284,9 +283,6 @@ if ($roleid) {
}
} else if ($assigncounts[$roleid] > MAX_USERS_TO_LIST_PER_ROLE) {
$assignurl = new moodle_url($PAGE->url, array('roleid'=>$roleid));
if ($returnto !== null) {
$assignurl->param('return', $returnto);
}
$roleholdernames[$roleid] = '<a href="'.$assignurl.'">'.$strmorethanmax.'</a>';
} else {
$roleholdernames[$roleid] = '';
@@ -307,9 +303,6 @@ if ($roleid) {
foreach ($assignableroles as $roleid => $rolename) {
$description = format_string($DB->get_field('role', 'description', array('id'=>$roleid)));
$assignurl = new moodle_url($PAGE->url, array('roleid'=>$roleid));
if ($returnto !== null) {
$assignurl->param('return', $returnto);
}
$row = array('<a href="'.$assignurl.'">'.$rolename.'</a>',
$description, $assigncounts[$roleid]);
if ($showroleholders) {
@@ -322,8 +315,8 @@ if ($roleid) {
if ($context->contextlevel > CONTEXT_USER) {
if ($context->contextlevel === CONTEXT_COURSECAT && $returnto === 'management') {
$url = new moodle_url('/course/management.php', array('categoryid' => $context->instanceid));
if ($returnurl) {
$url = new moodle_url($returnurl);
} else {
$url = $context->get_url();
}
+19 -12
View File
@@ -25,6 +25,7 @@
require_once(__DIR__ . '/../../config.php');
$contextid = required_param('contextid', PARAM_INT);
$returnurl = optional_param('returnurl', null, PARAM_LOCALURL);
list($context, $course, $cm) = get_context_info_array($contextid);
@@ -49,7 +50,13 @@ require_login($course, false, $cm);
if (!has_any_capability(array('moodle/role:assign', 'moodle/role:safeoverride', 'moodle/role:override', 'moodle/role:manage'), $context)) {
print_error('nopermissions', 'error', '', get_string('checkpermissions', 'core_role'));
}
$PAGE->set_url($url);
navigation_node::override_active_url($url);
$pageurl = new moodle_url($url);
if ($returnurl) {
$pageurl->param('returnurl', $returnurl);
}
$PAGE->set_url($pageurl);
if ($context->contextlevel == CONTEXT_USER and $USER->id != $context->instanceid) {
$PAGE->navbar->includesettingsbase = true;
@@ -75,6 +82,10 @@ $userselector->set_rows(20);
$title = get_string('checkpermissionsin', 'core_role', $contextname);
$PAGE->set_pagelayout('admin');
if ($context->contextlevel == CONTEXT_BLOCK) {
// Do not show blocks when changing block's settings, it is confusing.
$PAGE->blocks->show_only_fake_blocks(true);
}
$PAGE->set_title($title);
switch ($context->contextlevel) {
@@ -156,16 +167,7 @@ if (!is_null($reportuser)) {
// Show UI for choosing a user to report on.
echo $OUTPUT->box_start('generalbox boxwidthnormal boxaligncenter', 'chooseuser');
echo '<form method="get" action="' . $CFG->wwwroot . '/' . $CFG->admin . '/roles/check.php" >';
// Hidden fields.
echo '<input type="hidden" name="contextid" value="' . $context->id . '" />';
if (!empty($user->id)) {
echo '<input type="hidden" name="userid" value="' . $user->id . '" />';
}
if ($isfrontpage) {
echo '<input type="hidden" name="courseid" value="' . $courseid . '" />';
}
echo '<form method="post" action="' . $PAGE->url . '" >';
// User selector.
echo $OUTPUT->heading('<label for="reportuser">' . $selectheading . '</label>', 3);
@@ -180,7 +182,12 @@ echo $OUTPUT->box_end();
// Appropriate back link.
if ($context->contextlevel > CONTEXT_USER) {
echo html_writer::start_tag('div', array('class'=>'backlink'));
echo html_writer::tag('a', get_string('backto', '', $contextname), array('href'=>$context->get_url()));
if ($returnurl) {
$backurl = new moodle_url($returnurl);
} else {
$backurl = $context->get_url();
}
echo html_writer::link($backurl, get_string('backto', '', $contextname));
echo html_writer::end_tag('div');
}
+15 -4
View File
@@ -33,7 +33,7 @@ $prevent = optional_param('prevent', 0, PARAM_BOOL);
$allow = optional_param('allow', 0, PARAM_BOOL);
$unprohibit = optional_param('unprohibit', 0, PARAM_BOOL);
$prohibit = optional_param('prohibit', 0, PARAM_BOOL);
$return = optional_param('return', null, PARAM_ALPHANUMEXT);
$returnurl = optional_param('returnurl', null, PARAM_LOCALURL);
list($context, $course, $cm) = get_context_info_array($contextid);
@@ -56,7 +56,13 @@ if ($course) {
// Security first.
require_login($course, false, $cm);
require_capability('moodle/role:review', $context);
$PAGE->set_url($url);
navigation_node::override_active_url($url);
$pageurl = new moodle_url($url);
if ($returnurl) {
$pageurl->param('returnurl', $returnurl);
}
$PAGE->set_url($pageurl);
if ($context->contextlevel == CONTEXT_USER and $USER->id != $context->instanceid) {
$PAGE->navbar->includesettingsbase = true;
@@ -85,6 +91,11 @@ $straction = get_string('permissions', 'core_role'); // Used by tabs.php.
$currenttab = 'permissions';
$PAGE->set_pagelayout('admin');
if ($context->contextlevel == CONTEXT_BLOCK) {
// Do not show blocks when changing block's settings, it is confusing.
$PAGE->blocks->show_only_fake_blocks(true);
}
$PAGE->set_title($title);
switch ($context->contextlevel) {
case CONTEXT_SYSTEM:
@@ -219,8 +230,8 @@ echo $OUTPUT->box_end();
if ($context->contextlevel > CONTEXT_USER) {
if ($context->contextlevel === CONTEXT_COURSECAT && $return === 'management') {
$url = new moodle_url('/course/management.php', array('categoryid' => $context->instanceid));
if ($returnurl) {
$url = new moodle_url($returnurl);
} else {
$url = $context->get_url();
}
+2 -1
View File
@@ -53,7 +53,8 @@ if (has_capability('moodle/grade:manage', $systemcontext)
'3' => '3',
'4' => '4',
'5' => '5')));
$temp->add(new admin_setting_configselect('grade_navmethod', new lang_string('navmethod', 'grades'), null, 0,
$temp->add(new admin_setting_configselect('grade_navmethod', new lang_string('navmethod', 'grades'), null,
GRADE_NAVMETHOD_TABS,
array(GRADE_NAVMETHOD_DROPDOWN => new lang_string('dropdown', 'grades'),
GRADE_NAVMETHOD_TABS => new lang_string('tabs', 'grades'),
GRADE_NAVMETHOD_COMBO => new lang_string('combo', 'grades'))));
+3 -3
View File
@@ -29,9 +29,9 @@ if ($primaryadmin) {
$primaryadminname = NULL;
}
$temp->add(new admin_setting_configtext('supportname', new lang_string('supportname', 'admin'),
new lang_string('configsupportname', 'admin'), $primaryadminname, PARAM_NOTAGS));
new lang_string('configsupportname', 'admin'), $primaryadminname, PARAM_NOTAGS));
$setting = new admin_setting_configtext('supportemail', new lang_string('supportemail', 'admin'),
new lang_string('configsupportemail', 'admin'), $primaryadminemail, PARAM_NOTAGS);
new lang_string('configsupportemail', 'admin'), $primaryadminemail, PARAM_EMAIL);
$setting->set_force_ltr(true);
$temp->add($setting);
$temp->add(new admin_setting_configtext('supportpage', new lang_string('supportpage', 'admin'), new lang_string('configsupportpage', 'admin'), '', PARAM_URL));
@@ -237,7 +237,7 @@ $temp->add(new admin_setting_configtext('smtpmaxbulk', new lang_string('smtpmaxb
$temp->add(new admin_setting_heading('noreplydomainheading', new lang_string('noreplydomain', 'admin'),
new lang_string('noreplydomaindetail', 'admin')));
$temp->add(new admin_setting_configtext('noreplyaddress', new lang_string('noreplyaddress', 'admin'),
new lang_string('confignoreplyaddress', 'admin'), 'noreply@' . get_host_from_url($CFG->wwwroot), PARAM_NOTAGS));
new lang_string('confignoreplyaddress', 'admin'), 'noreply@' . get_host_from_url($CFG->wwwroot), PARAM_EMAIL));
$temp->add(new admin_setting_configtextarea('allowedemaildomains',
new lang_string('allowedemaildomains', 'admin'),
new lang_string('configallowedemaildomains', 'admin'),
@@ -35,35 +35,25 @@
}}
<div class="form-password">
<span data-passwordunmask="wrapper" data-passwordunmaskid="{{ id }}">
<span class="visibleifjs">
<span data-passwordunmask="editor">
<input type="hidden"
name="{{ name }}"
id="{{ id }}"
value="{{ value }}"
size="{{ size }}"
>
</span>
<a href="#" data-passwordunmask="edit" title="{{ edithint }}">
<span data-passwordunmask="displayvalue">{{> core_form/element-passwordunmask-fill }}</span>
{{# pix }} t/passwordunmask-edit, core, {{# str }} passwordunmaskedithint, form {{/ str }}{{/ pix }}
</a>
<a href="#" data-passwordunmask="unmask" title="{{ unmaskhint }}">
{{# pix }} t/passwordunmask-reveal, core, {{# str }} passwordunmaskrevealhint, form {{/ str }}{{/ pix }}
</a>
<span data-passwordunmask="instructions" class="form-text text-muted" style="display: none;">
{{# str }} passwordunmaskinstructions, form {{/ str }}
</span>
</span>
<noscript>
<!-- Backwards compatability for Behat -->
<input type="password"
<span data-passwordunmask="editor">
<input type="hidden"
name="{{ name }}"
id="{{ id }}"
value="{{ value }}"
size="{{ size }}"
data-size="{{ size }}"
class="form-control d-inline-block"
>
</noscript>
</span>
<a href="#" data-passwordunmask="edit" title="{{ edithint }}">
<span data-passwordunmask="displayvalue">{{> core_form/element-passwordunmask-fill }}</span>
{{# pix }} t/passwordunmask-edit, core, {{# str }} passwordunmaskedithint, form {{/ str }}{{/ pix }}
</a>
<a href="#" data-passwordunmask="unmask" title="{{ unmaskhint }}">
{{# pix }} t/passwordunmask-reveal, core, {{# str }} passwordunmaskrevealhint, form {{/ str }}{{/ pix }}
</a>
<span data-passwordunmask="instructions" class="form-text text-muted" style="display: none;">
{{# str }} passwordunmaskinstructions, form {{/ str }}
</span>
</span>
</div>
{{#js}}
+1 -1
View File
@@ -38,5 +38,5 @@
}
}}
<div class="form-text defaultsnext">
<input type="text" name="{{name}}" value="{{value}}" size="{{size}}" id="{{id}}" class="{{#forceltr}}text-ltr{{/forceltr}}" {{#attributes}} {{name}}="{{value}}"{{/attributes}}>
<input type="text" name="{{name}}" value="{{value}}" size="{{size}}" id="{{id}}" class="{{#forceltr}}text-ltr{{/forceltr}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
</div>
@@ -16,8 +16,7 @@ Feature: Display extended course names
And I should not see "C_shortname Course fullname"
Scenario: Courses list with extended course names
Given I expand "Site administration" node
And I click on "Courses" "link" in the "//div[@id='settingsnav']/descendant::li[contains(concat(' ', normalize-space(@class), ' '), ' type_setting ')][contains(., 'Appearance')]" "xpath_element"
Given I navigate to "Appearance > Courses" in site administration
And I set the field "Display extended course names" to "1"
When I press "Save changes"
And I am on site homepage
+1 -1
View File
@@ -25,7 +25,7 @@ Feature: An administrator can filter user accounts by role, cohort and other pro
And I log in as "admin"
And I add "User Two (two@example.com)" user to "CH1" cohort members
And I add "User Three (three@example.com)" user to "CH1" cohort members
And I follow "Browse list of users"
And I navigate to "Users > Accounts > Browse list of users" in site administration
Scenario: Filter user accounts by role and cohort
When I set the following fields to these values:
+3 -3
View File
@@ -24,7 +24,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->version = 2016120500;
$plugin->requires = 2016112900;
$plugin->component = 'tool_assignmentupgrade';
$plugin->dependencies = array('mod_assign' => 2016051900);
$plugin->dependencies = array('mod_assign' => 2016112900);
@@ -8,6 +8,8 @@ Feature: Manage availability conditions
Scenario: Display list of availability conditions
# Check the report doesn't show when not enabled.
Given I log in as "admin"
And I press "Customise this page"
And I add the "Administration" block if not present
And the following config values are set as admin:
| enableavailability | 0 |
And I expand "Site administration" node
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->version = 2016120500;
$plugin->requires = 2016112900;
$plugin->component = 'tool_availabilityconditions';
+225 -89
View File
@@ -54,6 +54,8 @@ list($options, $unrecognised) = cli_get_params(
'fromrun' => 1,
'torun' => 0,
'single-run' => false,
'rerun' => 0,
'auto-rerun' => 0,
),
array(
'h' => 'help',
@@ -77,6 +79,8 @@ Options:
--replace Replace args string with run process number, useful for output.
--fromrun Execute run starting from (Used for parallel runs on different vms)
--torun Execute run till (Used for parallel runs on different vms)
--rerun Re-run scenarios that failed during last execution.
--auto-rerun Automatically re-run scenarios that failed during last execution.
-h, --help Print out this help
@@ -91,11 +95,31 @@ if (!empty($options['help'])) {
exit(0);
}
$parallelrun = behat_config_manager::get_parallel_test_runs($options['fromrun']);
$parallelrun = behat_config_manager::get_behat_run_config_value('parallel');
// Default torun is maximum parallel runs.
if (empty($options['torun'])) {
$options['torun'] = $parallelrun;
// Check if the options provided are valid to run behat.
if ($parallelrun === false) {
// Parallel run should not have fromrun or torun options greater than 1.
if (($options['fromrun'] > 1) || ($options['torun'] > 1)) {
echo "Test site is not initialized for parallel run." . PHP_EOL;
exit(1);
}
} else {
// Ensure fromrun is within limits of initialized test site.
if (!empty($options['fromrun']) && ($options['fromrun'] > $parallelrun)) {
echo "From run (" . $options['fromrun'] . ") is more than site with parallel runs (" . $parallelrun . ")" . PHP_EOL;
exit(1);
}
// Default torun is maximum parallel runs and should be less than equal to parallelruns.
if (empty($options['torun'])) {
$options['torun'] = $parallelrun;
} else {
if ($options['torun'] > $parallelrun) {
echo "To run (" . $options['torun'] . ") is more than site with parallel runs (" . $parallelrun . ")" . PHP_EOL;
exit(1);
}
}
}
// Capture signals and ensure we clean symlinks.
@@ -127,7 +151,7 @@ if ($options['profile']) {
exit(1);
}
$extraopts[] = '--profile="' . $profile . '"';
$extraopts['profile'] = '--profile="' . $profile . '"';
// By default, profile tags will be used.
if (!empty($CFG->behat_config[$profile]['filters']['tags'])) {
$tags = $CFG->behat_config[$profile]['filters']['tags'];
@@ -137,117 +161,205 @@ if ($options['profile']) {
// Command line tags have precedence (std behat behavior).
if ($options['tags']) {
$tags = $options['tags'];
$extraopts[] = '--tags="' . $tags . '"';
$extraopts['tags'] = '--tags="' . $tags . '"';
}
// Add suite option if specified.
if ($options['suite']) {
$extraopts[] = '--suite="' . $options['suite'] . '"';
$extraopts['suite'] = '--suite="' . $options['suite'] . '"';
}
// Feature should be added to last, for behat command.
if ($options['feature']) {
$extraopts[] = $options['feature'];
$extraopts['feature'] = $options['feature'];
// Only run 1 process as process.
// Feature file is picked from absolute path provided, so no need to check for behat.yml.
$options['torun'] = $options['fromrun'];
}
// Set of options to pass to behat.
$extraopts = implode(' ', $extraopts);
$extraoptstr = implode(' ', $extraopts);
// If empty parallelrun then just check with user if it's a run single behat test.
// If rerun is passed then ensure we just run the failed processes.
$lastfailedstatus = 0;
$lasttorun = $options['torun'];
$lastfromrun = $options['fromrun'];
if ($options['rerun']) {
// Get last combined failed status.
$lastfailedstatus = behat_config_manager::get_behat_run_config_value('lastcombinedfailedstatus');
$lasttorun = behat_config_manager::get_behat_run_config_value('lasttorun');
$lastfromrun = behat_config_manager::get_behat_run_config_value('lastfromrun');
if ($lastfailedstatus !== false) {
$extraoptstr .= ' --rerun';
}
// If torun is less than last torun, then just set this to min last to run and similar for fromrun.
if ($options['torun'] < $lasttorun) {
$options['torun'];
}
if ($options['fromrun'] > $lastfromrun) {
$options['fromrun'];
}
unset($options['rerun']);
}
$cmds = array();
$exitcodes = array();
$status = 0;
$verbose = empty($options['verbose']) ? false : true;
// Execute behat run commands.
if (empty($parallelrun)) {
$cwd = getcwd();
chdir(__DIR__);
$runtestscommand = behat_command::get_behat_command(false, false, true);
$runtestscommand .= ' --config ' . behat_config_manager::get_behat_cli_config_filepath();
$runtestscommand .= ' ' . $extraopts;
$runtestscommand .= ' ' . $extraoptstr;
$cmds['singlerun'] = $runtestscommand;
echo "Running single behat site:" . PHP_EOL;
passthru("php $runtestscommand", $code);
passthru("php $runtestscommand", $status);
$exitcodes['singlerun'] = $status;
chdir($cwd);
exit($code);
}
} else {
$cmds = array();
echo "Running " . ($options['torun'] - $options['fromrun'] + 1) . " parallel behat sites:" . PHP_EOL;
echo "Running " . ($options['torun'] - $options['fromrun'] + 1) . " parallel behat sites:" . PHP_EOL;
for ($i = $options['fromrun']; $i <= $options['torun']; $i++) {
$CFG->behatrunprocess = $i;
for ($i = $options['fromrun']; $i <= $options['torun']; $i++) {
$lastfailed = 1 & $lastfailedstatus >> ($i - 1);
// Options parameters to be added to each run.
$myopts = !empty($options['replace']) ? str_replace($options['replace'], $i, $extraopts) : $extraopts;
// Bypass if not failed in last run.
if ($lastfailedstatus && !$lastfailed && ($i <= $lasttorun) && ($i >= $lastfromrun)) {
continue;
}
$behatcommand = behat_command::get_behat_command(false, false, true);
$behatconfigpath = behat_config_manager::get_behat_cli_config_filepath($i);
$CFG->behatrunprocess = $i;
// Command to execute behat run.
$cmds[BEHAT_PARALLEL_SITE_NAME . $i] = $behatcommand . ' --config ' . $behatconfigpath . " " . $myopts;
echo "[" . BEHAT_PARALLEL_SITE_NAME . $i . "] " . $cmds[BEHAT_PARALLEL_SITE_NAME . $i] . PHP_EOL;
}
// Options parameters to be added to each run.
$myopts = !empty($options['replace']) ? str_replace($options['replace'], $i, $extraoptstr) : $extraoptstr;
if (empty($cmds)) {
echo "No commands to execute " . PHP_EOL;
exit(1);
}
$behatcommand = behat_command::get_behat_command(false, false, true);
$behatconfigpath = behat_config_manager::get_behat_cli_config_filepath($i);
// Create site symlink if necessary.
if (!behat_config_manager::create_parallel_site_links($options['fromrun'], $options['torun'])) {
echo "Check permissions. If on windows, make sure you are running this command as admin" . PHP_EOL;
exit(1);
}
// Execute all commands, relative to moodle root directory.
$processes = cli_execute_parallel($cmds, __DIR__ . "/../../../../");
$stoponfail = empty($options['stop-on-failure']) ? false : true;
// Print header.
print_process_start_info($processes);
// Print combined run o/p from processes.
$exitcodes = print_combined_run_output($processes, $stoponfail);
$time = round(microtime(true) - $time, 1);
echo "Finished in " . gmdate("G\h i\m s\s", $time) . PHP_EOL . PHP_EOL;
ksort($exitcodes);
// Print exit info from each run.
// Status bits contains pass/fail status of parallel runs.
$status = 0;
$processcounter = 0;
foreach ($exitcodes as $exitcode) {
if ($exitcode) {
$status |= (1 << $processcounter);
}
$processcounter++;
}
// Run finished. Show exit code and output from individual process.
$verbose = empty($options['verbose']) ? false : true;
$verbose = $verbose || !empty($status);
// Show exit code from each process, if any process failed.
if ($verbose) {
// Echo exit codes.
echo "Exit codes for each behat run: " . PHP_EOL;
foreach ($exitcodes as $run => $exitcode) {
echo $run . ": " . $exitcode . PHP_EOL;
// Command to execute behat run.
$cmds[BEHAT_PARALLEL_SITE_NAME . $i] = $behatcommand . ' --config ' . $behatconfigpath . " " . $myopts;
echo "[" . BEHAT_PARALLEL_SITE_NAME . $i . "] " . $cmds[BEHAT_PARALLEL_SITE_NAME . $i] . PHP_EOL;
}
// Show failed re-run commands.
if ($status) {
echo "To re-run failed processes, you can use following commands:" . PHP_EOL;
foreach ($cmds as $name => $cmd) {
if (!empty($exitcodes[$name])) {
echo "[" . $name . "] " . $cmd . PHP_EOL;
if (empty($cmds)) {
echo "No commands to execute " . PHP_EOL;
exit(1);
}
// Create site symlink if necessary.
if (!behat_config_manager::create_parallel_site_links($options['fromrun'], $options['torun'])) {
echo "Check permissions. If on windows, make sure you are running this command as admin" . PHP_EOL;
exit(1);
}
// Save torun and from run, so it can be used to detect if it was executed in last run.
behat_config_manager::set_behat_run_config_value('lasttorun', $options['torun']);
behat_config_manager::set_behat_run_config_value('lastfromrun', $options['fromrun']);
// Keep no delay by default, between each parallel, let user decide.
if (!defined('BEHAT_PARALLEL_START_DELAY')) {
define('BEHAT_PARALLEL_START_DELAY', 0);
}
// Execute all commands, relative to moodle root directory.
$processes = cli_execute_parallel($cmds, __DIR__ . "/../../../../", BEHAT_PARALLEL_START_DELAY);
$stoponfail = empty($options['stop-on-failure']) ? false : true;
// Print header.
print_process_start_info($processes);
// Print combined run o/p from processes.
$exitcodes = print_combined_run_output($processes, $stoponfail);
// Time to finish run.
$time = round(microtime(true) - $time, 1);
echo "Finished in " . gmdate("G\h i\m s\s", $time) . PHP_EOL . PHP_EOL;
ksort($exitcodes);
// Print exit info from each run.
// Status bits contains pass/fail status of parallel runs.
foreach ($exitcodes as $name => $exitcode) {
if ($exitcode) {
$runno = str_replace(BEHAT_PARALLEL_SITE_NAME, '', $name);
$status |= (1 << ($runno - 1));
}
}
// Print each process information.
print_each_process_info($processes, $verbose, $status);
}
// Save final exit code containing which run failed.
behat_config_manager::set_behat_run_config_value('lastcombinedfailedstatus', $status);
// Show exit code from each process, if any process failed and how to rerun failed process.
if ($verbose || $status) {
// Check if status of last run is failure and rerun is suggested.
if (!empty($options['auto-rerun']) && $status) {
// Rerun for the number of tries passed.
for ($i = 0; $i < $options['auto-rerun']; $i++) {
// Run individual commands, to avoid parallel failures.
foreach ($exitcodes as $behatrunname => $exitcode) {
// If not failed in last run, then skip.
if ($exitcode == 0) {
continue;
}
// This was a failure.
echo "*** Re-running behat run: $behatrunname ***" . PHP_EOL;
if ($verbose) {
echo "Executing: " . $cmds[$behatrunname] . " --rerun" . PHP_EOL;
}
passthru("php $cmds[$behatrunname] --rerun", $rerunstatus);
// Update exit code.
$exitcodes[$behatrunname] = $rerunstatus;
}
}
// Update status after auto-rerun finished.
foreach ($exitcodes as $name => $exitcode) {
if ($exitcode) {
if (!empty($parallelrun)) {
$runno = str_replace(BEHAT_PARALLEL_SITE_NAME, '', $name);
} else {
$runno = 1;
}
$status |= (1 << ($runno - 1));
}
}
}
// Show final o/p with re-run commands.
if ($status) {
if (!empty($parallelrun)) {
// Echo exit codes.
echo "Exit codes for each behat run: " . PHP_EOL;
foreach ($exitcodes as $run => $exitcode) {
echo $run . ": " . $exitcode . PHP_EOL;
}
unset($extraopts['fromrun']);
unset($extraopts['torun']);
if (!empty($options['replace'])) {
$extraopts['replace'] = '--replace="' . $options['replace'] . '"';
}
}
echo "To re-run failed processes, you can use following command:" . PHP_EOL;
$extraopts['rerun'] = '--rerun';
$extraoptstr = implode(' ', $extraopts);
echo behat_command::get_behat_command(true, true, true) . " " . $extraoptstr . PHP_EOL;
}
echo PHP_EOL;
}
print_each_process_info($processes, $verbose);
// Remove site symlink if necessary.
behat_config_manager::drop_parallel_site_links();
@@ -364,23 +476,47 @@ function print_combined_run_output($processes, $stoponfail = false) {
* @param array $processes list of processes to loop though.
* @param bool $verbose Show verbose output for each process.
*/
function print_each_process_info($processes, $verbose = false) {
function print_each_process_info($processes, $verbose = false, $status = 0) {
foreach ($processes as $name => $process) {
echo "**************** [" . $name . "] ****************" . PHP_EOL;
if ($verbose) {
echo $process->getOutput();
echo $process->getErrorOutput();
} else {
$op = explode(PHP_EOL, $process->getOutput());
foreach ($op as $line) {
// Don't print progress .
if (trim($line) && (strpos($line, '.') !== 0) && (strpos($line, 'Moodle ') !== 0) &&
(strpos($line, 'Server OS ') !== 0) && (strpos($line, 'Started at ') !== 0) &&
(strpos($line, 'Browser specific fixes ') !== 0)) {
echo $line . PHP_EOL;
}
} else if ($status) {
// Only show failed o/p.
$runno = str_replace(BEHAT_PARALLEL_SITE_NAME, '', $name);
if ((1 << ($runno - 1)) & $status) {
echo $process->getOutput();
echo $process->getErrorOutput();
} else {
echo get_status_lines_from_run_op($process);
}
} else {
echo get_status_lines_from_run_op($process);
}
echo PHP_EOL;
}
}
/**
* Extract status information from behat o/p and return.
* @param Symfony\Component\Process\Process $process
* @return string
*/
function get_status_lines_from_run_op(Symfony\Component\Process\Process $process) {
$statusstr = '';
$op = explode(PHP_EOL, $process->getOutput());
foreach ($op as $line) {
// Don't print progress .
if (trim($line) && (strpos($line, '.') !== 0) && (strpos($line, 'Moodle ') !== 0) &&
(strpos($line, 'Server OS ') !== 0) && (strpos($line, 'Started at ') !== 0) &&
(strpos($line, 'Browser specific fixes ') !== 0)) {
$statusstr .= $line . PHP_EOL;
}
}
return $statusstr;
}
+42 -6
View File
@@ -36,11 +36,7 @@ define('NO_OUTPUT_BUFFERING', true);
define('IGNORE_COMPONENT_CACHE', true);
define('ABORT_AFTER_CONFIG', true);
require_once(__DIR__ . '/../../../../config.php');
require_once(__DIR__ . '/../../../../lib/clilib.php');
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');
// CLI options.
list($options, $unrecognized) = cli_get_params(
@@ -103,14 +99,26 @@ if (!empty($options['help'])) {
$cwd = getcwd();
// If Behat parallel site is being initiliased, then define a param to be used to ignore single run install.
if (!empty($options['parallel'])) {
define('BEHAT_PARALLEL_UTIL', true);
}
require_once(__DIR__ . '/../../../../config.php');
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');
// For drop option check if parallel site.
if ((empty($options['parallel'])) && ($options['drop']) || $options['updatesteps']) {
// Get parallel run info from first run.
$options['parallel'] = behat_config_manager::get_parallel_test_runs($options['fromrun']);
$options['parallel'] = behat_config_manager::get_behat_run_config_value('parallel');
}
// If not a parallel site then open single run.
if (empty($options['parallel'])) {
// Set run config value for single run.
behat_config_manager::set_behat_run_config_value('singlerun', 1);
chdir(__DIR__);
// Check if behat is initialised, if not exit.
passthru("php util_single_run.php --diag", $status);
@@ -147,6 +155,21 @@ if ($options['diag'] || $options['enable'] || $options['disable']) {
$status = (bool)$status || (bool)$exitcode;
}
// Remove run config file.
$behatrunconfigfile = behat_config_manager::get_behat_run_config_file_path();
if (file_exists($behatrunconfigfile)) {
if (!unlink($behatrunconfigfile)) {
behat_error(BEHAT_EXITCODE_PERMISSIONS, 'Can not delete behat run config file');
}
}
// Remove test file path.
if (file_exists(behat_util::get_test_file_path())) {
if (!unlink(behat_util::get_test_file_path())) {
behat_error(BEHAT_EXITCODE_PERMISSIONS, 'Can not delete test file enable info');
}
}
} else if ($options['install']) {
// This is intensive compared to behat itself so run them in chunk if option maxruns not set.
if ($options['maxruns']) {
@@ -233,6 +256,19 @@ if ($options['install']) {
} else if ($options['enable']) {
echo "Acceptance tests environment enabled on $CFG->behat_wwwroot, to run the tests use:" . PHP_EOL;
echo behat_command::get_behat_command(true, true);
// Save fromrun and to run information.
if (isset($options['fromrun'])) {
behat_config_manager::set_behat_run_config_value('fromrun', $options['fromrun']);
}
if (isset($options['torun'])) {
behat_config_manager::set_behat_run_config_value('torun', $options['torun']);
}
if (isset($options['parallel'])) {
behat_config_manager::set_behat_run_config_value('parallel', $options['parallel']);
}
echo PHP_EOL;
} else if ($options['disable']) {
+3 -6
View File
@@ -143,7 +143,7 @@ if ($options['run']) {
$run = $options['run'];
// If parallel option is not passed, then try get it form config.
if (!$options['parallel']) {
$parallel = behat_config_manager::get_parallel_test_runs();
$parallel = behat_config_manager::get_behat_run_config_value('parallel');
} else {
$parallel = $options['parallel'];
}
@@ -176,10 +176,7 @@ if ($options['install']) {
} else if ($options['enable']) {
if (!empty($parallel)) {
// Save parallel site info for enable and install options.
$filepath = behat_config_manager::get_parallel_test_file_path();
if (!file_put_contents($filepath, $parallel)) {
behat_error(BEHAT_EXITCODE_PERMISSIONS, 'File ' . $filepath . ' can not be created');
}
behat_config_manager::set_behat_run_config_value('behatsiteenabled', 1);
}
// Enable test mode.
@@ -200,7 +197,7 @@ if ($options['install']) {
}
} else if ($options['disable']) {
behat_util::stop_test_mode();
behat_util::stop_test_mode($run);
// This is only displayed once for parallel install.
if (empty($run)) {
mtrace("Acceptance tests environment disabled");
@@ -59,8 +59,7 @@ Feature: Set up contextual data for tests
When I log in as "admin"
And I am on site homepage
And I follow "Course 1"
And I expand "Users" node
And I follow "Groups"
And I navigate to "Users > Groups" in current page administration
Then I should see "Group 1"
And I should see "Group 2"
And I follow "Groupings"
@@ -90,8 +89,7 @@ Feature: Set up contextual data for tests
When I log in as "admin"
And I am on site homepage
And I follow "Course 1"
And I expand "Users" node
And I follow "Permissions"
And I navigate to "Users > Permissions" in current page administration
And I set the field "Advanced role override" to "Student (1)"
Then "mod/forum:editanypost" capability has "Allow" permission
And I press "Cancel"
@@ -134,30 +132,31 @@ Feature: Set up contextual data for tests
And the following "course enrolments" exist:
| user | course | role |
| user4 | C1 | custom1 |
| user2 | C1 | student |
| user3 | C1 | editingteacher |
And the following "role assigns" exist:
| user | role | contextlevel | reference |
| user1 | manager | System | |
| user2 | editingteacher | Category | CAT1 |
| user3 | editingteacher | Course | C1 |
| user5 | custom2 | System | |
When I log in as "user1"
And I am on site homepage
Then I should see "Front page settings"
Then "Edit settings" "link" should exist in current page administration
And I log out
And I log in as "user2"
And I am on site homepage
And I follow "Course 1"
And I should see "Turn editing on"
And "Turn editing on" "link" should exist in current page administration
And I log out
And I log in as "user3"
And I am on site homepage
And I follow "Course 1"
And I should see "Turn editing on"
And "Turn editing on" "link" should exist in current page administration
And I log out
And I log in as "user4"
And I am on site homepage
And I follow "Course 1"
And I should see "Turn editing on"
And "Turn editing on" "link" should exist in current page administration
And I log out
And I log in as "user5"
And I should see "You are logged in as"
@@ -264,8 +263,7 @@ Feature: Set up contextual data for tests
When I log in as "admin"
And I am on site homepage
And I follow "Course 1"
And I expand "Users" node
And I follow "Groups"
And I navigate to "Users > Groups" in current page administration
Then the "groups" select box should contain "Group 1 (1)"
And the "groups" select box should contain "Group 2 (1)"
And I set the field "groups" to "Group 1 (1)"
@@ -302,7 +300,7 @@ Feature: Set up contextual data for tests
| System cohort A | 1 |
| System cohort B | 2 |
And I should not see "Cohort in category"
And I follow "Courses"
And I am on course index
And I follow "Cat 1"
And I follow "Cohorts"
And I should not see "System cohort"
@@ -322,10 +320,9 @@ Feature: Set up contextual data for tests
| fullname | course | gradecategory |
| Grade sub category 2 | C1 | Grade category 1 |
When I log in as "admin"
And I am on site homepage
And I follow "Courses"
And I am on course index
And I follow "Course 1"
And I click on "Grades" "link" in the "Navigation" "block"
And I navigate to "View > Grader report" in the course gradebook
Then I should see "Grade category 1"
And I should see "Grade sub category 2"
@@ -349,9 +346,7 @@ Feature: Set up contextual data for tests
When I log in as "admin"
And I am on site homepage
And I follow "Course 1"
And I click on "Grades" "link" in the "Navigation" "block"
And I expand "Setup" node
And I follow "Gradebook setup"
And I navigate to "Setup > Gradebook setup" in the course gradebook
Then I should see "Test Grade Item 1"
And I follow "Edit Test Grade Item 1"
And I expand all fieldsets
@@ -380,8 +375,7 @@ Feature: Set up contextual data for tests
When I log in as "admin"
And I am on site homepage
And I follow "Course 1"
And I click on "Grades" "link" in the "Navigation" "block"
And I follow "Scales"
And I navigate to "Scales" in the course gradebook
Then I should see "Test Scale 1"
And I should see "Disappointing, Good, Very good, Excellent"
@@ -432,9 +426,7 @@ Feature: Set up contextual data for tests
When I log in as "admin"
And I am on site homepage
And I follow "Course 1"
And I click on "Grades" "link" in the "Navigation" "block"
And I expand "Setup" node
And I follow "Gradebook setup"
And I navigate to "Setup > Gradebook setup" in the course gradebook
Then I should see "Test Outcome Grade Item 1"
And I follow "Edit Test Outcome Grade Item 1"
And the field "Outcome" matches value "Grade outcome 1"
@@ -32,8 +32,7 @@ Feature: Edit capabilities
Scenario: Course capabilities overrides
Given I log in as "teacher1"
And I follow "Course 1"
And I expand "Users" node
And I follow "Permissions"
And I navigate to "Users > Permissions" in current page administration
And I override the system permissions of "Student" role with:
| mod/forum:deleteanypost | Prohibit |
| mod/forum:editanypost | Prevent |
@@ -52,7 +51,7 @@ Feature: Edit capabilities
| Forum name | I'm the name |
| Description | I'm the introduction |
And I follow "I'm the name"
And I navigate to "Permissions" node in "Forum administration"
And I navigate to "Permissions" in current page administration
And I override the system permissions of "Student" role with:
| mod/forum:deleteanypost | Prohibit |
| mod/forum:editanypost | Prevent |
@@ -33,8 +33,6 @@ Feature: Verify that all form fields values can be get and set
| activity | course | idnumber | name | intro | firstpagetitle | wikimode | visible |
| wiki | C1 | wiki1 | Test this one | Test this one | Test this one | collaborative | 0 |
And I log in as "admin"
And I expand "Site administration" node
And I expand "Appearance" node
And I am on site homepage
And I follow "Course 1"
And I navigate to "Reset" node in "Course administration"
@@ -60,9 +58,8 @@ Feature: Verify that all form fields values can be get and set
| HTML format | Student page contents |
And I press "Save"
Then I should see "Student page contents" in the "region-main" "region"
And I click on "Edit" "link" in the "Administration" "block"
# Select (multi-select) - Checking "I set the field".
And I click on "Edit settings" "link" in the "Administration" "block"
And I navigate to "Edit settings" in current page administration
And I expand all fieldsets
# Checkbox - Checking "I set the field".
And I set the field "Display description on course page" to "1"
@@ -75,7 +72,7 @@ Feature: Verify that all form fields values can be get and set
And I press "Save and return to course"
And I should see "Test this one"
And I follow "Test this one"
And I click on "Edit settings" "link" in the "Administration" "block"
And I navigate to "Edit settings" in current page administration
# Checkbox - Checking "the field matches value" and "the following fields match these values".
And the following fields match these values:
| Display description on course page | 1 |
@@ -91,7 +88,7 @@ Feature: Verify that all form fields values can be get and set
# Select (simple) - Checking "I set the field".
And I set the field "Group mode" to "Separate groups"
And I press "Save and display"
And I click on "Edit settings" "link" in the "Administration" "block"
And I navigate to "Edit settings" in current page administration
And the following fields match these values:
| Default format | NWiki |
| Group mode | Separate groups |
@@ -134,8 +131,7 @@ Feature: Verify that all form fields values can be get and set
@javascript
Scenario: with JS enabled all form fields getters and setters works as expected
Then I follow "Course 1"
And I expand "Users" node
And I follow "Groups"
And I navigate to "Users > Groups" in current page administration
# Select (multi-select & AJAX) - Checking "I set the field" and "select box should contain".
And I set the field "groups" to "Group 2"
And the "members" select box should contain "Student 2"
@@ -158,7 +154,7 @@ Feature: Verify that all form fields values can be get and set
And the "available[day]" "field" should be enabled
And the field "deadline[enabled]" matches value "1"
And I press "Save and display"
And I click on "Edit settings" "link" in the "Administration" "block"
And I navigate to "Edit settings" in current page administration
And the field "available[enabled]" matches value "1"
And the "available[day]" "field" should be enabled
And the field "deadline[enabled]" matches value "1"
@@ -7,14 +7,14 @@ Feature: Forms manipulation
@javascript
Scenario: Basic forms manipulation
Given I log in as "admin"
And I follow "Preferences" in the user menu
And I click on "Edit profile" "link" in the "region-main" "region"
And I open my profile in edit mode
When I set the field "First name" to "Field value"
And I set the field "Select a country" to "Japan"
And I set the field "New password" to "TestPass"
Then the field "First name" matches value "Field value"
And the "Select a country" select box should contain "Japan"
And the field "New password" matches value "TestPass"
And I take focus off "Update profile" "button"
And I press "Update profile"
@javascript
@@ -10,8 +10,7 @@ Feature: Transform steps arguments
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And I log in as "admin"
And I follow "Preferences" in the user menu
And I click on "Edit profile" "link" in the "region-main" "region"
And I open my profile in edit mode
Scenario: Use nasty strings on steps arguments
When I set the field "Surname" to "$NASTYSTRING1"
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016112900; // Requires this Moodle version
$plugin->component = 'tool_behat'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'tool_capability'; // Full name of the plugin (used for diagnostics).
+2 -2
View File
@@ -25,8 +25,8 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'tool_cohortroles'; // Full name of the plugin (used for diagnostics).
$plugin->dependencies = array(
+3
View File
@@ -41,5 +41,8 @@ function xmldb_tool_customlang_upgrade($oldversion) {
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
+2 -2
View File
@@ -25,6 +25,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->version = 2016120500;
$plugin->requires = 2016112900;
$plugin->component = 'tool_customlang'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'tool_dbtransfer'; // Full name of the plugin (used for diagnostics).
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->version = 2016120500;
$plugin->requires = 2016112900;
$plugin->component = 'tool_filetypes';
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->version = 2016120500;
$plugin->requires = 2016112900;
$plugin->component = 'tool_generator';
+2 -2
View File
@@ -25,8 +25,8 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016112900; // Requires this Moodle version
$plugin->component = 'tool_health'; // Full name of the plugin (used for diagnostics)
$plugin->maturity = MATURITY_ALPHA; // this version's maturity level
+2 -2
View File
@@ -25,6 +25,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016112900; // Requires this Moodle version
$plugin->component = 'tool_innodb'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'tool_installaddon';
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->version = 2016120500;
$plugin->requires = 2016112900;
$plugin->maturity = MATURITY_STABLE;
+2 -2
View File
@@ -25,6 +25,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016112900; // Requires this Moodle version
$plugin->component = 'tool_langimport'; // Full name of the plugin (used for diagnostics)
+3
View File
@@ -45,5 +45,8 @@ function xmldb_tool_log_upgrade($oldversion) {
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
@@ -39,5 +39,8 @@ function xmldb_logstore_database_upgrade($oldversion) {
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'logstore_database'; // Full name of the plugin (used for diagnostics).
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'logstore_legacy'; // Full name of the plugin (used for diagnostics).
@@ -56,5 +56,8 @@ function xmldb_logstore_standard_upgrade($oldversion) {
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'logstore_standard'; // Full name of the plugin (used for diagnostics).
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'tool_log'; // Full name of the plugin (used for diagnostics).
+1 -1
View File
@@ -99,7 +99,7 @@ class competency extends persistent {
// Description.
$mform->addElement('editor', 'description',
get_string('description', 'tool_lp'), array('rows' => 4));
$mform->setType('description', PARAM_RAW);
$mform->setType('description', PARAM_CLEANHTML);
// ID number.
$mform->addElement('text', 'idnumber', get_string('idnumber', 'tool_lp'), 'maxlength="100"');
$mform->setType('idnumber', PARAM_RAW);
@@ -62,7 +62,7 @@ class competency_framework extends persistent {
// Description.
$mform->addElement('editor', 'description',
get_string('description', 'tool_lp'), array('rows' => 4));
$mform->setType('description', PARAM_RAW);
$mform->setType('description', PARAM_CLEANHTML);
// ID number.
$mform->addElement('text', 'idnumber', get_string('idnumber', 'tool_lp'), 'maxlength="100"');
$mform->setType('idnumber', PARAM_RAW);
@@ -184,8 +184,14 @@ abstract class persistent extends moodleform {
$data = $this->get_persistent()->to_record();
$class = static::$persistentclass;
$properties = $class::get_formatted_properties();
$allproperties = $class::properties_definition();
foreach ($data as $field => $value) {
// Clean data if it is to be displayed in a form.
if (isset($allproperties[$field]['type'])) {
$data->$field = clean_param($data->$field, $allproperties[$field]['type']);
}
// Convert formatted properties.
if (isset($properties[$field])) {
$data->$field = array(
+1 -1
View File
@@ -59,7 +59,7 @@ class plan extends persistent {
$mform->addRule('name', get_string('maximumchars', '', 100), 'maxlength', 100, 'client');
// Description.
$mform->addElement('editor', 'description', get_string('plandescription', 'tool_lp'), array('rows' => 4));
$mform->setType('description', PARAM_RAW);
$mform->setType('description', PARAM_CLEANHTML);
$mform->addElement('date_time_selector', 'duedate', get_string('duedate', 'tool_lp'), array('optional' => true));
$mform->addHelpButton('duedate', 'duedate', 'tool_lp');
+1 -1
View File
@@ -58,7 +58,7 @@ class template extends persistent {
// Description.
$mform->addElement('editor', 'description',
get_string('description', 'tool_lp'), array('rows' => 4));
$mform->setType('description', PARAM_RAW);
$mform->setType('description', PARAM_CLEANHTML);
$mform->addElement('selectyesno', 'visible',
get_string('visible', 'tool_lp'));
$mform->addElement('date_time_selector',
+1 -1
View File
@@ -54,7 +54,7 @@ class user_evidence extends persistent {
$mform->addRule('name', get_string('maximumchars', '', 100), 'maxlength', 100, 'client');
// Description.
$mform->addElement('editor', 'description', get_string('userevidencedescription', 'tool_lp'), array('rows' => 10));
$mform->setType('description', PARAM_RAW);
$mform->setType('description', PARAM_CLEANHTML);
$mform->addElement('url', 'url', get_string('userevidenceurl', 'tool_lp'), array('size' => '60'), array('usefilepicker' => false));
$mform->setType('url', PARAM_RAW_TRIMMED); // Can not use PARAM_URL, it silently converts bad URLs to ''.
@@ -93,7 +93,7 @@ require(['core/str'], function(Str) {
{ key: 'comments', component: 'moodle' },
{ key: 'commentscount', component: 'moodle' },
{ key: 'commentsrequirelogin', component: 'moodle' },
{ key: 'deletecomment', component: 'moodle' },
{ key: 'deletecommentbyon', component: 'moodle' },
]).then(function() {
// Kick off when strings are loaded.
Y.use('core_comment', function(Y) {
@@ -7,12 +7,9 @@ Feature: Manage competency frameworks
Background:
Given I log in as "admin"
And I am on site homepage
And I expand "Site administration" node
When I expand "Competencies" node
Then I should see "Competency frameworks"
Scenario: Create a new framework
Given I follow "Competency frameworks"
Given I navigate to "Competencies > Competency frameworks" in site administration
And I should see "List of competency frameworks"
And I click on "Add new competency framework" "button"
And I should see "General"
@@ -34,7 +31,7 @@ Feature: Manage competency frameworks
Given the following lp "frameworks" exist:
| shortname | idnumber |
| Science Year-2 | sc-y-2 |
And I follow "Competency frameworks"
And I navigate to "Competencies > Competency frameworks" in site administration
And I should see "Science Year-2"
When I click on "Science Year-2" "link"
Then I should see "Science Year-2"
@@ -43,7 +40,7 @@ Feature: Manage competency frameworks
Given the following lp "frameworks" exist:
| shortname | idnumber |
| Science Year-3 | sc-y-3 |
And I follow "Competency frameworks"
And I navigate to "Competencies > Competency frameworks" in site administration
And I should see "Science Year-3"
And I click on "Edit" of edit menu in the "Science Year-3" row
And the field "Name" matches value "Science Year-3 "
@@ -57,7 +54,7 @@ Feature: Manage competency frameworks
Given the following lp "frameworks" exist:
| shortname | idnumber |
| Science Year-4 | sc-y-4 |
And I follow "Competency frameworks"
And I navigate to "Competencies > Competency frameworks" in site administration
And I should see "Science Year-4"
And I should see "sc-y-4"
And I click on "Delete" of edit menu in the "Science Year-4" row
@@ -90,7 +87,7 @@ Scenario: Edit a framework with competencies in user competency
| user | competency |
| admin | Comp1 |
| admin | Comp2 |
And I follow "Competency frameworks"
And I navigate to "Competencies > Competency frameworks" in site administration
And I should see "Science Year-5"
And I click on "Edit" of edit menu in the "Science Year-5" row
And the field "Name" matches value "Science Year-5 "
@@ -120,7 +117,7 @@ Scenario: Edit a framework with competencies in user competency plan
| user | competency | plan |
| admin | Comp1 | Plan Science-6 |
| admin | Comp2 | Plan Science-6 |
And I follow "Competency frameworks"
And I navigate to "Competencies > Competency frameworks" in site administration
And I should see "Science Year-6"
And I click on "Edit" of edit menu in the "Science Year-6" row
And the field "Name" matches value "Science Year-6 "
+2 -6
View File
@@ -26,9 +26,7 @@ Feature: Manage plearning plan
| shortname | description |
| Science template | science template description |
And I follow "Home"
And I expand "Site administration" node
And I expand "Competencies" node
And I follow "Learning plan templates"
And I navigate to "Competencies > Learning plan templates" in site administration
And I click on ".template-userplans" "css_element" in the "Science template" "table_row"
And I click on ".form-autocomplete-downarrow" "css_element"
And I click on "Admin" item in the autocomplete list
@@ -52,9 +50,7 @@ Feature: Manage plearning plan
| student-plan1 | COHORTPLAN |
| student-plan2 | COHORTPLAN |
And I follow "Home"
And I expand "Site administration" node
And I expand "Competencies" node
And I follow "Learning plan templates"
And I navigate to "Competencies > Learning plan templates" in site administration
And I click on ".template-cohorts" "css_element" in the "Science template cohort" "table_row"
And I click on ".form-autocomplete-downarrow" "css_element"
And I click on "cohort plan" item in the autocomplete list
@@ -145,10 +145,7 @@ Feature: Manage plan workflow
| Test-Plan3 | user1 | Description of plan 3 for user 1 | active | manager1 |
| Test-Plan4 | user1 | Description of plan 4 for user 1 | active | manager1 |
And I log in as "manager1"
And I expand "Site administration" node
And I expand "Users" node
And I expand "Accounts" node
And I follow "Browse list of users"
And I navigate to "Users > Accounts > Browse list of users" in site administration
And I follow "User 1"
And I follow "Learning plans"
And I should see "List of learning plans"
@@ -167,10 +164,7 @@ Feature: Manage plan workflow
| Test-Plan3 | user1 | Description of plan 3 for user 1 | active | manager1 |
| Test-Plan4 | user1 | Description of plan 4 for user 1 | active | manager1 |
And I log in as "manager1"
And I expand "Site administration" node
And I expand "Users" node
And I expand "Accounts" node
And I follow "Browse list of users"
And I navigate to "Users > Accounts > Browse list of users" in site administration
And I follow "User 1"
And I follow "Learning plans"
And I should see "List of learning plans"
@@ -191,10 +185,7 @@ Scenario: Manager reopen a complete learning plan
| Test-Plan3 | user1 | Description of plan 3 for user 1 | complete | manager1 |
| Test-Plan4 | user1 | Description of plan 4 for user 1 | complete | manager1 |
And I log in as "manager1"
And I expand "Site administration" node
And I expand "Users" node
And I expand "Accounts" node
And I follow "Browse list of users"
And I navigate to "Users > Accounts > Browse list of users" in site administration
And I follow "User 1"
And I follow "Learning plans"
And I should see "List of learning plans"
@@ -7,12 +7,9 @@ Feature: Manage plearning plan templates
Background:
Given I log in as "admin"
And I am on site homepage
And I expand "Site administration" node
When I expand "Competencies" node
Then I should see "Learning plan templates"
Scenario: Create a new learning plan template
Given I follow "Learning plan templates"
Given I navigate to "Competencies > Learning plan templates" in site administration
And I should see "List of learning plan templates"
And I click on "Add new learning plan template" "button"
And I should see "Add new learning plan template"
@@ -26,7 +23,7 @@ Feature: Manage plearning plan templates
Given the following lp "templates" exist:
| shortname | description |
| Science template Year-2 | science template description |
And I follow "Learning plan templates"
And I navigate to "Competencies > Learning plan templates" in site administration
And I should see "Science template Year-2"
When I click on "Science template Year-2" "link"
Then I should see "Science template Year-2"
@@ -36,7 +33,7 @@ Feature: Manage plearning plan templates
Given the following lp "templates" exist:
| shortname | description |
| Science template Year-3 | science template description |
And I follow "Learning plan templates"
And I navigate to "Competencies > Learning plan templates" in site administration
And I should see "Science template Year-3"
And I click on "Edit" of edit menu in the "Science template Year-3" row
And the field "Name" matches value "Science template Year-3"
@@ -49,7 +46,7 @@ Feature: Manage plearning plan templates
Given the following lp "templates" exist:
| shortname | description |
| Science template Year-4 | science template description |
And I follow "Learning plan templates"
And I navigate to "Competencies > Learning plan templates" in site administration
And I should see "Science template Year-4"
And I click on "Delete" of edit menu in the "Science template Year-4" row
And "Confirm" "dialogue" should be visible
+2 -2
View File
@@ -25,6 +25,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'tool_lp'; // Full name of the plugin (used for diagnostics).
@@ -53,6 +53,10 @@ class framework_importer {
protected $importer = null;
protected $foundheaders = array();
protected $scalecache = array();
/** @var bool $useprogressbar Control whether importing should use progress bars or not. */
protected $useprogressbar = false;
/** @var \core\progress\display_if_slow|null $progress The progress bar instance. */
protected $progress = null;
/**
* Store an error message for display later
@@ -164,8 +168,11 @@ class framework_importer {
* @param string delimiter The specified delimiter for the file.
* @param string importid The id of the csv import.
* @param array mappingdata The mapping data from the import form.
* @param bool $useprogressbar Whether progress bar should be displayed, to avoid html output on CLI.
*/
public function __construct($text = null, $encoding = null, $delimiter = null, $importid = 0, $mappingdata = null) {
public function __construct($text = null, $encoding = null, $delimiter = null, $importid = 0, $mappingdata = null,
$useprogressbar = false) {
global $CFG;
// The format of our records is:
@@ -204,7 +211,7 @@ class framework_importer {
}
$this->foundheaders = $this->importer->get_columns();
$this->useprogressbar = $useprogressbar;
$domainid = 1;
$flat = array();
@@ -264,8 +271,19 @@ class framework_importer {
$this->fail(get_string('invalidimportfile', 'tool_lpimportcsv'));
return;
} else {
// 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();
}
$this->progress->start_progress('', count($this->flat));
// Build a tree from this flat list.
raise_memory_limit(MEMORY_EXTRA);
$this->add_children($this->framework, '');
$this->progress->end_progress();
}
}
@@ -278,6 +296,7 @@ class framework_importer {
public function add_children(& $node, $parentidnumber) {
foreach ($this->flat as $competency) {
if ($competency->parentidnumber == $parentidnumber) {
$this->progress->increment_progress();
$node->children[] = $competency;
$this->add_children($competency, $competency->idnumber);
}
@@ -443,17 +462,28 @@ class framework_importer {
$record->contextid = context_system::instance()->id;
$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();
}
$this->progress->start_progress('', (count($this->framework->children) * 2));
raise_memory_limit(MEMORY_EXTRA);
// Now all the children.
foreach ($this->framework->children as $comp) {
$this->progress->increment_progress();
$this->create_competency($comp, null, $framework);
}
// Now create the rules.
foreach ($this->framework->children as $record) {
$this->progress->increment_progress();
$this->set_rules($record);
$this->set_related($record);
}
$this->progress->end_progress();
$this->importer->cleanup();
return $framework;
-47
View File
@@ -1,47 +0,0 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Page to continue after an action.
*
* @package tool_lpimportcsv
* @copyright 2015 Damyon Wiese
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__ . '/../../../config.php');
require_once($CFG->libdir.'/adminlib.php');
$pagetitle = get_string('pluginname', 'tool_lpimportcsv');
$context = context_system::instance();
$id = required_param('id', PARAM_INT);
$url = new moodle_url("/admin/tool/lpimportcsv/index.php");
$PAGE->set_context($context);
$PAGE->set_url($url);
$PAGE->set_title($pagetitle);
$PAGE->set_pagelayout('admin');
$PAGE->set_heading($pagetitle);
echo $OUTPUT->header();
echo $OUTPUT->heading($pagetitle);
$urlparams = ['competencyframeworkid' => $id, 'pagecontextid' => $context->id];
$frameworksurl = new moodle_url('/admin/tool/lp/competencies.php', $urlparams);
echo $OUTPUT->notification(get_string('competencyframeworkcreated', 'tool_lp'), 'notifysuccess');
echo $OUTPUT->continue_button($frameworksurl);
echo $OUTPUT->footer();
+7 -4
View File
@@ -37,6 +37,7 @@ $PAGE->set_pagelayout('admin');
$PAGE->set_heading($pagetitle);
$form = null;
echo $OUTPUT->header();
if (optional_param('needsconfirm', 0, PARAM_BOOL)) {
$form = new \tool_lpimportcsv\form\import($url->out(false));
} else if (optional_param('confirm', 0, PARAM_BOOL)) {
@@ -53,7 +54,7 @@ if ($form->is_cancelled()) {
if ($data->confirm) {
$importid = $data->importid;
$importer = new \tool_lpimportcsv\framework_importer(null, null, null, $importid, $data);
$importer = new \tool_lpimportcsv\framework_importer(null, null, null, $importid, $data, true);
$error = $importer->get_error();
if ($error) {
@@ -61,21 +62,23 @@ if ($form->is_cancelled()) {
$form->set_import_error($error);
} else {
$framework = $importer->import();
redirect(new moodle_url('continue.php', array('id' => $framework->get_id())));
$urlparams = ['competencyframeworkid' => $framework->get_id(), 'pagecontextid' => $context->id];
$frameworksurl = new moodle_url('/admin/tool/lp/competencies.php', $urlparams);
echo $OUTPUT->notification(get_string('competencyframeworkcreated', 'tool_lp'), 'notifysuccess');
echo $OUTPUT->continue_button($frameworksurl);
die();
}
} else {
$text = $form->get_file_content('importfile');
$encoding = $data->encoding;
$delimiter = $data->delimiter_name;
$importer = new \tool_lpimportcsv\framework_importer($text, $encoding, $delimiter);
$importer = new \tool_lpimportcsv\framework_importer($text, $encoding, $delimiter, 0, null, true);
$confirmform = new \tool_lpimportcsv\form\import_confirm(null, $importer);
$form = $confirmform;
$pagetitle = get_string('confirmcolumnmappings', 'tool_lpimportcsv');
}
}
echo $OUTPUT->header();
echo $OUTPUT->heading($pagetitle);
$form->display();
@@ -38,11 +38,13 @@ $string['importfile'] = 'CSV framework description file';
$string['importfile_help'] = 'A competency framework may be imported via text file. The format of the file can be determined by creating a new competency framework on the site and then exporting it.';
$string['importfile_link'] = 'admin/tool/lpimportcsv';
$string['import'] = 'Import';
$string['importingfile'] = 'Importing file data';
$string['invalidimportfile'] = 'File format is invalid.';
$string['isframework'] = 'Is framework';
$string['noframeworks'] = 'No competency frameworks have been created yet';
$string['parentidnumber'] = 'Parent ID number';
$string['pluginname'] = 'Import competency framework';
$string['processingfile'] = 'Processing file';
$string['relatedidnumbers'] = 'Cross-referenced competency ID numbers';
$string['ruleconfig'] = 'Rule config (optional)';
$string['ruleoutcome'] = 'Rule outcome (optional)';
+3 -3
View File
@@ -25,8 +25,8 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016083000; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'tool_lpimportcsv'; // Full name of the plugin (used for diagnostics).
$plugin->dependencies = array('tool_lp' => 2016052300);
$plugin->dependencies = array('tool_lp' => 2016112900);
+2 -2
View File
@@ -24,8 +24,8 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'tool_lpmigrate'; // Full name of the plugin (used for diagnostics).
$plugin->dependencies = array(
'tool_lp' => ANY_VERSION
@@ -125,9 +125,7 @@ class manager {
} catch (\Horde_Imap_Client_Exception $e) {
$message = $e->getMessage();
mtrace("Unable to connect to IMAP server. Failed with '{$message}'");
return false;
throw new \moodle_exception('imapconnectfailure', 'tool_messageinbound', '', null, $message);
}
}
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->version = 2016120500;
$plugin->requires = 2016112900;
$plugin->component = 'tool_messageinbound';
+6 -1
View File
@@ -101,6 +101,7 @@ class api {
*/
public static function get_public_config() {
global $CFG, $SITE, $PAGE, $OUTPUT;
require_once($CFG->libdir . '/authlib.php');
$context = context_system::instance();
// We need this to make work the format text functions.
@@ -132,8 +133,12 @@ class api {
}
$settings['typeoflogin'] = $typeoflogin;
// Check if the user can sign-up to return the launch URL in that case.
$cansignup = signup_is_enabled();
if ($typeoflogin == self::LOGIN_VIA_BROWSER or
$typeoflogin == self::LOGIN_VIA_EMBEDDED_BROWSER) {
$typeoflogin == self::LOGIN_VIA_EMBEDDED_BROWSER or
$cansignup) {
$url = new moodle_url("/$CFG->admin/tool/mobile/launch.php");
$settings['launchurl'] = $url->out(false);
}
+1 -1
View File
@@ -46,4 +46,4 @@ $string['pluginname'] = 'Moodle Mobile tools';
$string['smartappbanners'] = 'Smart App Banners (iOS only)';
$string['pluginnotenabledorconfigured'] = 'Plugin not enabled or configured.';
$string['typeoflogin'] = 'Type of login';
$string['typeoflogin_desc'] = 'Choose the 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. If using SSO, autologinguests should be disabled.';
+2 -1
View File
@@ -94,7 +94,8 @@ $isios = core_useragent::is_ios();
if ($confirmed or $isios) {
$PAGE->set_context(context_system::instance());
$PAGE->set_heading($COURSE->fullname);
$PAGE->set_url('/local/mobile/launch.php', array('service' => $serviceshortname, 'passport' => $passport, 'urlscheme' => $urlscheme));
$params = array('service' => $serviceshortname, 'passport' => $passport, 'urlscheme' => $urlscheme, 'confirmed' => $confirmed);
$PAGE->set_url("/$CFG->admin/tool/mobile/launch.php", $params);
echo $OUTPUT->header();
if ($confirmed) {
+2 -2
View File
@@ -23,6 +23,6 @@
*/
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052305; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'tool_mobile'; // Full name of the plugin (used for diagnostics).
@@ -53,10 +53,13 @@ class eventobservers {
* @param \core\event\course_deleted $event The course deleted event.
*/
public static function course_deleted(\core\event\course_deleted $event) {
// Delete rules defined inside this course and associated subscriptions.
$rules = rule_manager::get_rules_by_courseid($event->courseid, 0, 0, false);
foreach ($rules as $rule) {
rule_manager::delete_rule($rule->id, $event->get_context());
}
// Delete remaining subscriptions inside this course (from site-wide rules).
subscription_manager::remove_all_subscriptions_in_course($event->get_context());
}
/**
@@ -77,7 +77,7 @@ class renderer extends \plugin_renderer_base {
protected function render_add_button($courseid) {
global $CFG;
$button = \html_writer::tag('button', get_string('addrule', 'tool_monitor'));
$button = \html_writer::tag('button', get_string('addrule', 'tool_monitor'), ['class' => 'btn btn-primary']);
$addurl = new \moodle_url($CFG->wwwroot. '/admin/tool/monitor/edit.php', array('courseid' => $courseid));
return \html_writer::link($addurl, $button);
}
+6 -2
View File
@@ -176,8 +176,12 @@ class subscription {
if (empty($courseid)) {
return get_string('site');
} else {
$course = get_course($courseid);
return format_string($course->fullname, true, array('context' => $context));
try {
$course = get_course($courseid);
return format_string($course->fullname, true, array('context' => $context));
} catch (\dml_exception $e) {
return '-';
}
}
}
@@ -118,9 +118,10 @@ class subscription_manager {
// If successful trigger a subscription_deleted event.
if ($success) {
if (!empty($subscription->courseid)) {
if (!empty($subscription->courseid) &&
($coursecontext = \context_course::instance($subscription->courseid, IGNORE_MISSING))) {
$courseid = $subscription->courseid;
$context = \context_course::instance($subscription->courseid);
$context = $coursecontext;
} else {
$courseid = 0;
$context = \context_system::instance();
@@ -222,6 +223,31 @@ class subscription_manager {
return $success;
}
/**
* Delete all subscriptions in a course.
*
* This is called after a course was deleted, context no longer exists but we kept the object
*
* @param \context_course $coursecontext the context of the course
*/
public static function remove_all_subscriptions_in_course($coursecontext) {
global $DB;
// Store all the subscriptions we have to delete.
if ($subscriptions = $DB->get_records('tool_monitor_subscriptions', ['courseid' => $coursecontext->instanceid])) {
// Delete subscriptions in bulk.
$DB->delete_records('tool_monitor_subscriptions', ['courseid' => $coursecontext->instanceid]);
// Trigger events one by one.
foreach ($subscriptions as $subscription) {
$params = ['objectid' => $subscription->id, 'context' => $coursecontext];
$event = \tool_monitor\event\subscription_deleted::create($params);
$event->add_record_snapshot('tool_monitor_subscriptions', $subscription);
$event->trigger();
}
}
}
/**
* Get a subscription instance for an given subscription id.
*
+20
View File
@@ -77,5 +77,25 @@ function xmldb_tool_monitor_upgrade($oldversion) {
upgrade_plugin_savepoint(true, 2016052305, 'tool', 'monitor');
}
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2016120501) {
// Delete "orphaned" subscriptions.
$sql = "SELECT DISTINCT s.courseid
FROM {tool_monitor_subscriptions} s
LEFT OUTER JOIN {course} c ON c.id = s.courseid
WHERE s.courseid <> 0 and c.id IS NULL";
$deletedcourses = $DB->get_field_sql($sql);
if ($deletedcourses) {
list($sql, $params) = $DB->get_in_or_equal($deletedcourses);
$DB->execute("DELETE FROM {tool_monitor_subscriptions} WHERE courseid " . $sql, $params);
}
// Monitor savepoint reached.
upgrade_plugin_savepoint(true, 2016120501, 'tool', 'monitor');
}
return true;
}
+1 -1
View File
@@ -41,7 +41,7 @@ if (empty($courseid)) {
// check system level capability.
if (!has_capability('tool/monitor:subscribe', $context)) {
// If not system level then check to see if they have access to any course level rules.
if (tool_monitor_get_user_courses()){
if (tool_monitor_can_subscribe()) {
// Make them choose a course.
$choose = true;
} else {
+27 -3
View File
@@ -75,12 +75,20 @@ function tool_monitor_extend_navigation_frontpage($navigation, $course, $context
* @param context $coursecontext The context of the course
*/
function tool_monitor_extend_navigation_user_settings($navigation, $user, $usercontext, $course, $coursecontext) {
global $USER, $SITE;
global $USER, $PAGE;
// Don't bother doing needless calculations unless we are on the relevant pages.
$onpreferencepage = $PAGE->url->compare(new moodle_url('/user/preferences.php'), URL_MATCH_BASE);
$onmonitorpage = $PAGE->url->compare(new moodle_url('/admin/tool/monitor/index.php'), URL_MATCH_BASE);
if (!$onpreferencepage && !$onmonitorpage) {
return null;
}
// Don't show the setting if the event monitor isn't turned on. No access to other peoples subscriptions.
if (get_config('tool_monitor', 'enablemonitor') && $USER->id == $user->id) {
// Now let's check to see if the user has any courses / site rules that they can subscribe to.
if ($courses = tool_monitor_get_user_courses()) {
// We skip doing a check here if we are on the event monitor page as the check is done internally on that page.
if ($onmonitorpage || tool_monitor_can_subscribe()) {
$url = new moodle_url('/admin/tool/monitor/index.php');
$subsnode = navigation_node::create(get_string('managesubscriptions', 'tool_monitor'), $url,
navigation_node::TYPE_SETTING, null, 'monitor', new pix_icon('i/settings', ''));
@@ -92,6 +100,19 @@ function tool_monitor_extend_navigation_user_settings($navigation, $user, $userc
}
}
/**
* Check if the user has the capacity to subscribe to an event monitor anywhere.
*
* @return bool True if a capability in a course is found. False otherwise.
*/
function tool_monitor_can_subscribe() {
if (has_capability('tool/monitor:subscribe', context_system::instance())) {
return true;
}
$courses = get_user_capability_course('tool/monitor:subscribe', null, true, '', '', 1);
return empty($courses) ? false : true;
}
/**
* Get a list of courses and also include 'Site' for site wide rules.
*
@@ -103,8 +124,11 @@ function tool_monitor_get_user_courses() {
if (has_capability('tool/monitor:subscribe', context_system::instance())) {
$options[0] = get_string('site');
}
if ($courses = get_user_capability_course('tool/monitor:subscribe', null, true, 'fullname, visible', $orderby)) {
$fields = 'fullname, visible, ctxid, ctxpath, ctxdepth, ctxlevel, ctxinstance';
if ($courses = get_user_capability_course('tool/monitor:subscribe', null, true, $fields, $orderby)) {
foreach ($courses as $course) {
context_helper::preload_from_record($course);
$coursectx = context_course::instance($course->id);
if ($course->visible || has_capability('moodle/course:viewhiddencourses', $coursectx)) {
$options[$course->id] = format_string($course->fullname, true, array('context' => $coursectx));
@@ -103,7 +103,7 @@ Feature: tool_monitor_subscriptions
Given I log in as "admin"
And I follow "Preferences" in the user menu
And I click on "Notification preferences" "link" in the "#page-content" "css_element"
And I click on ".preference-state" "css_element" in the "Notifications of rule subscriptions" "table_row"
And I click on "//td[@data-processor-name='popup']//label[@class='preference-state']" "xpath_element" in the "Notifications of rule subscriptions" "table_row"
And I wait until the page is ready
And I follow "Preferences" in the user menu
And I follow "Event monitoring"
@@ -115,7 +115,7 @@ Feature: tool_monitor_subscriptions
And I trigger cron
And I am on site homepage
When I click on ".popover-region-notifications" "css_element"
And I click on "View more" "link" in the ".popover-region-notifications" "css_element"
And I click on "View full notification" "link" in the ".popover-region-notifications" "css_element"
Then I should see "New rule site level"
And I should see "The course was viewed"
@@ -124,7 +124,7 @@ Feature: tool_monitor_subscriptions
Given I log in as "teacher1"
And I follow "Preferences" in the user menu
And I click on "Notification preferences" "link" in the "#page-content" "css_element"
And I click on ".preference-state" "css_element" in the "Notifications of rule subscriptions" "table_row"
And I click on "//td[@data-processor-name='popup']//label[@class='preference-state']" "xpath_element" in the "Notifications of rule subscriptions" "table_row"
And I wait until the page is ready
And I follow "Preferences" in the user menu
And I follow "Event monitoring"
@@ -137,7 +137,7 @@ Feature: tool_monitor_subscriptions
And I trigger cron
And I am on site homepage
When I click on ".popover-region-notifications" "css_element"
And I click on "View more" "link" in the ".popover-region-notifications" "css_element"
And I click on "View full notification" "link" in the ".popover-region-notifications" "css_element"
Then I should see "New rule course level"
And I should see "The course was viewed"
+2 -2
View File
@@ -26,6 +26,6 @@
defined('MOODLE_INTERNAL') || die;
$plugin->version = 2016052305; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120501; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'tool_monitor'; // Full name of the plugin (used for diagnostics).
+2 -2
View File
@@ -25,7 +25,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016112900; // Requires this Moodle version
$plugin->component = 'tool_multilangupgrade'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,7 +24,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016112900; // Requires this Moodle version
$plugin->component = 'tool_phpunit'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016112900; // Requires this Moodle version
$plugin->component = 'tool_profiling'; // Full name of the plugin (used for diagnostics)
@@ -65,6 +65,6 @@ Feature: Backup user data
And I log out
And I log in as "student1"
And I follow "Course 1"
When I click on "Grades" "link" in the "Navigation" "block"
When I navigate to "User report" in the course gradebook
Then "Quiz 1" row "Grade" column of "user-grade" table should contain "5"
And "Quiz 1" row "Percentage" column of "user-grade" table should contain "50"
@@ -49,9 +49,10 @@ Feature: Basic recycle bin functionality
And I should see "Deleting C2"
And I should see "C2 has been completely deleted"
And I press "Continue"
And I go to the courses management page
And I should not see "Course 2" in the "#course-listing" "css_element"
When I navigate to "Recycle bin" node in "Category: Miscellaneous"
And I am on course index
And I should see "Course 1"
And I should not see "Course 2"
When I navigate to "Recycle bin" in current page administration
Then I should see "Course 2"
And I should see "Contents will be permanently deleted after 14 days"
And I click on "Restore" "link" in the "region-main" "region"
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'tool_recyclebin'; // Full name of the plugin (used for diagnostics).
+2 -2
View File
@@ -25,8 +25,8 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016112900; // Requires this Moodle version
$plugin->component = 'tool_replace'; // Full name of the plugin (used for diagnostics)
$plugin->maturity = MATURITY_ALPHA; // this version's maturity level
+14 -9
View File
@@ -75,7 +75,7 @@ if (!empty($delall) && confirm_sesskey()) {
exit;
}
if (!empty($ignore)) {
if (!empty($ignore) && confirm_sesskey()) {
unset($SESSION->users_result[$id]);
echo json_encode(true);
exit;
@@ -96,12 +96,12 @@ echo $OUTPUT->box_start(); // The forms section at the top
<div class="mdl-align">
<form method="post" action="index.php">
<form method="post" action="index.php" class="form-inline spamcleanerform">
<div>
<label class="accesshide" for="keyword_el"><?php print_string('spamkeyword', 'tool_spamcleaner') ?></label>
<input type="text" name="keyword" id="keyword_el" value="<?php p($keyword) ?>" />
<input type="text" class="form-control" name="keyword" id="keyword_el" value="<?php p($keyword) ?>" />
<input type="hidden" name="sesskey" value="<?php echo sesskey();?>" />
<input type="submit" value="<?php echo get_string('spamsearch', 'tool_spamcleaner')?>" />
<input type="submit" class="btn btn-primary" value="<?php echo get_string('spamsearch', 'tool_spamcleaner')?>" />
</div>
</form>
<p><?php echo get_string('spameg', 'tool_spamcleaner');?></p>
@@ -110,7 +110,8 @@ echo $OUTPUT->box_start(); // The forms section at the top
<form method="post" action="index.php">
<div>
<input type="submit" name="autodetect" value="<?php echo get_string('spamauto', 'tool_spamcleaner');?>" />
<input type="submit" class="btn btn-primary" name="autodetect"
value="<?php echo get_string('spamauto', 'tool_spamcleaner');?>" />
</div>
</form>
@@ -256,7 +257,9 @@ function print_user_list($users_rs, $keywords) {
foreach ($users_rs as $rs){
foreach ($rs as $user) {
if (!$count) {
echo '<table border="1" width="100%" id="data-grid"><tr><th>&nbsp;</th><th>'.get_string('user','admin').'</th><th>'.get_string('spamdesc', 'tool_spamcleaner').'</th><th>'.get_string('spamoperation', 'tool_spamcleaner').'</th></tr>';
echo '<table class="table table-bordered" border="1" width="100%" id="data-grid"><tr><th>&nbsp;</th>
<th>'.get_string('user', 'admin').'</th><th>'.get_string('spamdesc', 'tool_spamcleaner').'</th>
<th>'.get_string('spamoperation', 'tool_spamcleaner').'</th></tr>';
}
$count++;
filter_user($user, $keywords, $count);
@@ -269,7 +272,7 @@ function print_user_list($users_rs, $keywords) {
} else {
echo '</table>';
echo '<div class="mld-align">
<button id="removeall_btn">'.get_string('spamdeleteall', 'tool_spamcleaner').'</button>
<button id="removeall_btn" class="btn btn-secondary">'.get_string('spamdeleteall', 'tool_spamcleaner').'</button>
</div>';
}
}
@@ -357,8 +360,10 @@ function print_user_entry($user, $keywords, $count) {
$html .= '<td align="left">'.format_text($user->description, $user->descriptionformat, array('overflowdiv'=>true)).'</td>';
$html .= '<td width="100px" align="center">';
$html .= '<button onclick="M.tool_spamcleaner.del_user(this,'.$user->id.')">'.get_string('deleteuser', 'admin').'</button><br />';
$html .= '<button onclick="M.tool_spamcleaner.ignore_user(this,'.$user->id.')">'.get_string('ignore', 'admin').'</button>';
$html .= '<button class="btn btn-primary" onclick="M.tool_spamcleaner.del_user(this,'.$user->id.')">'.
get_string('deleteuser', 'admin').'</button><br />';
$html .= '<button class="btn btn-secondary" onclick="M.tool_spamcleaner.ignore_user(this,'.$user->id.')">'.
get_string('ignore', 'admin').'</button>';
$html .= '</td>';
$html .= '</tr>';
return $html;
+2 -2
View File
@@ -25,7 +25,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->version = 2016120500;
$plugin->requires = 2016112900;
$plugin->component = 'tool_spamcleaner'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,7 +24,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016112900; // Requires this Moodle version
$plugin->component = 'tool_task'; // Full name of the plugin (used for diagnostics)
@@ -41,6 +41,7 @@ define(['jquery', 'core/ajax', 'core/log', 'core/notification', 'core/templates'
* Get the current values for the form inputs and refresh the list of matching templates.
*
* @method refreshSearch
* @param {String} themename The naeme of the theme.
*/
var refreshSearch = function(themename) {
var componentStr = $('[data-field="component"]').val();
@@ -70,7 +70,7 @@ class tool_templatelibrary_external_testcase extends externallib_advanced_testca
$originaltheme = $CFG->theme;
// Change the theme to 'base' because it overrides these templates.
$CFG->theme = 'base';
$CFG->theme = 'boost';
$template = external::load_canonical_template('core', 'notification_error');
+2 -2
View File
@@ -21,6 +21,6 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'tool_templatelibrary'; // Full name of the plugin (used for diagnostics).
+2 -2
View File
@@ -25,7 +25,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016112900; // Requires this Moodle version
$plugin->component = 'tool_unsuproles'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016112900; // Requires this Moodle version.
$plugin->component = 'tool_uploadcourse'; // Full name of the plugin (used for diagnostics).
+30 -28
View File
@@ -358,38 +358,40 @@ if ($formdata = $mform2->is_cancelled()) {
// add default values for remaining fields
$formdefaults = array();
foreach ($STD_FIELDS as $field) {
if (isset($user->$field)) {
continue;
}
// all validation moved to form2
if (isset($formdata->$field)) {
// process templates
$user->$field = uu_process_template($formdata->$field, $user);
$formdefaults[$field] = true;
if (in_array($field, $upt->columns)) {
$upt->track($field, s($user->$field), 'normal');
if ($updatetype != UU_UPDATE_FILEOVERRIDE && $updatetype != UU_UPDATE_NOCHANGES) {
foreach ($STD_FIELDS as $field) {
if (isset($user->$field)) {
continue;
}
// all validation moved to form2
if (isset($formdata->$field)) {
// process templates
$user->$field = uu_process_template($formdata->$field, $user);
$formdefaults[$field] = true;
if (in_array($field, $upt->columns)) {
$upt->track($field, s($user->$field), 'normal');
}
}
}
}
foreach ($PRF_FIELDS as $field) {
if (isset($user->$field)) {
continue;
}
if (isset($formdata->$field)) {
// process templates
$user->$field = uu_process_template($formdata->$field, $user);
// Form contains key and later code expects value.
// Convert key to value for required profile fields.
require_once($CFG->dirroot.'/user/profile/field/'.$proffields[$field]->datatype.'/field.class.php');
$profilefieldclass = 'profile_field_'.$proffields[$field]->datatype;
$profilefield = new $profilefieldclass($proffields[$field]->id);
if (method_exists($profilefield, 'convert_external_data')) {
$user->$field = $profilefield->edit_save_data_preprocess($user->$field, null);
foreach ($PRF_FIELDS as $field) {
if (isset($user->$field)) {
continue;
}
if (isset($formdata->$field)) {
// process templates
$user->$field = uu_process_template($formdata->$field, $user);
$formdefaults[$field] = true;
// Form contains key and later code expects value.
// Convert key to value for required profile fields.
require_once($CFG->dirroot.'/user/profile/field/'.$proffields[$field]->datatype.'/field.class.php');
$profilefieldclass = 'profile_field_'.$proffields[$field]->datatype;
$profilefield = new $profilefieldclass($proffields[$field]->id);
if (method_exists($profilefield, 'convert_external_data')) {
$user->$field = $profilefield->edit_save_data_preprocess($user->$field, null);
}
$formdefaults[$field] = true;
}
}
}
@@ -33,6 +33,7 @@ $string['deleteerrors'] = 'Delete errors';
$string['encoding'] = 'Encoding';
$string['errormnetadd'] = 'Can not add remote users';
$string['errors'] = 'Errors';
$string['invalidupdatetype'] = 'This option cannot be selected with the chosen upload type.';
$string['invaliduserdata'] = 'Invalid data detected for user {$a} and it has been automatically cleaned.';
$string['nochanges'] = 'No changes';
$string['pluginname'] = 'User upload';
@@ -29,14 +29,13 @@ Feature: Upload users
And I should see "Section 1"
And I press "Upload users"
And I press "Continue"
And I follow "Browse list of users"
And I navigate to "Users > Accounts > Browse list of users" in site administration
And I should see "Tom Jones"
And I should see "Trent Reznor"
And I should see "reznor@example.com"
And I am on site homepage
And I follow "Maths"
And I expand "Users" node
And I follow "Groups"
And I navigate to "Users > Groups" in current page administration
And I set the field "groups" to "Section 1 (1)"
And the "members" select box should contain "Tom Jones"
+7
View File
@@ -350,6 +350,7 @@ class admin_uploaduser_form2 extends moodleform {
$errors = parent::validation($data, $files);
$columns = $this->_customdata['columns'];
$optype = $data['uutype'];
$updatetype = $data['uuupdatetype'];
// detect if password column needed in file
if (!in_array('password', $columns)) {
@@ -382,6 +383,12 @@ class admin_uploaduser_form2 extends moodleform {
}
}
// If the 'Existing user details' value is set we need to ensure that the
// 'Upload type' is not set to something invalid.
if (!empty($updatetype) && ($optype == UU_USER_ADDNEW || $optype == UU_USER_ADDINC)) {
$errors['uuupdatetype'] = get_string('invalidupdatetype', 'tool_uploaduser');
}
// look for other required data
if ($optype != UU_USER_UPDATE) {
$requiredusernames = useredit_get_required_name_fields();
+2 -2
View File
@@ -25,7 +25,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016112900; // Requires this Moodle version
$plugin->component = 'tool_uploaduser'; // Full name of the plugin (used for diagnostics)
File diff suppressed because one or more lines are too long

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