Compare commits

..

320 Commits

Author SHA1 Message Date
Eloy Lafuente (stronk7) 268abfacc5 Moodle release 3.1 2016-05-21 23:51:54 +02:00
Eloy Lafuente (stronk7) cd1c8d2132 Merge branch 'wip-MDL-54666-master' of git://github.com/marinaglancy/moodle 2016-05-21 12:36:51 +02:00
Eloy Lafuente (stronk7) 446e0299b9 Merge branch 'MDL-54672-master-given-i-enrol' of git://github.com/mudrd8mz/moodle 2016-05-21 12:26:01 +02:00
Marina Glancy 4ca17b63a1 MDL-54666 modedit: use default values when modgrade element is frozen 2016-05-21 12:37:46 +08:00
Eloy Lafuente (stronk7) 973641fe13 MDL-54666 tests: Verify that any activity keeps the settings
This was affecting both to rateable (forum...) and not rateable
(assignment...) activities. So tests have been completed to verify
that now saving is performed and the correct scale values stored.
2016-05-20 23:48:25 +02:00
David Mudrák ac5dad467d MDL-54672 behat: Fix i_enrol_user_as() step in non-js sessions
During the recent reimplementation of the step (eb9ca848), we did not
notice that javascript variant uses the string `assignroles` while the
non-js variant uses string `assignrole`. This caused any "Given I enrol"
steps to fail in non-javascript sessions.
2016-05-20 20:37:28 +02:00
Dan Poltawski 30c8ed5c16 Moodle release 3.1rc2 2016-05-20 10:10:15 +01:00
David Monllao ee5c60c53a Merge branch 'MDL-54623-master' of git://github.com/junpataleta/moodle 2016-05-20 13:53:26 +08:00
Jun Pataleta 920d3a95a1 MDL-54623 mod_assign: Fix for unit test
Fix mod_assign_external_testcase::test_list_participants_returns_user_property_types()
to avoid using hardcoded user properties.
2016-05-20 12:38:29 +08:00
Andrew Nicols 04c3fef12f Merge branches 'MDL-53988-master-fix3' and 'MDL-53988-master-fix3' of https://github.com/xow/moodle 2016-05-20 12:23:36 +08:00
John Okely e1e1aad183 MDL-53988 mod_lti: Remove popup for duplicate url
If creating a proxy fails, we will show an error using the
notification API. So we can remove the notification.exception call.
But modify the docs for ToolProxy.create so that future developers
will know they need to handle failures themselves.
2016-05-20 12:06:03 +08:00
David Monllao 2be707cb5e Merge branch 'MDL-54623-master' of git://github.com/junpataleta/moodle 2016-05-20 10:36:07 +08:00
Jun Pataleta 5684c89b93 MDL-54623 mod_assign: Fetch correct types for user properties
Utilising core_user_external::user_description() to fetch the correct
types for the user properties.
2016-05-20 10:30:29 +08:00
David Monllao 3d562d19b9 Merge branch 'MDL-54609-master' of git://github.com/junpataleta/moodle 2016-05-20 09:22:07 +08:00
Andrew Nicols 2a1400b1b8 Merge branch 'wip-mdl-54632' of https://github.com/rajeshtaneja/moodle 2016-05-20 09:17:47 +08:00
Rajesh Taneja c14701a2ce MDL-53988 behat: Fixed modified error string 2016-05-20 09:12:48 +08:00
Andrew Nicols 658fc5f0fa Merge branch 'wip-mdl-54574' of https://github.com/rajeshtaneja/moodle 2016-05-20 09:07:54 +08:00
David Monllao c879ff69f4 Merge branch 'MDL-54640_master' of git://github.com/dmonllao/moodle 2016-05-20 09:04:05 +08:00
Rajesh Taneja 442a3651ec MDL-54640 behat: add 1 sec delay before running tasks
Also just execute task, as running whole cron is not
required
2016-05-20 09:02:11 +08:00
Eloy Lafuente (stronk7) 5ba78f6231 Merge branch 'MDL-54644-master' of git://github.com/merrill-oakland/moodle 2016-05-19 18:57:04 +02:00
Eric Merrill 0a0dc5d035 MDL-54644 search: Fix typo in Solr search size setting 2016-05-19 08:47:53 -04:00
Jun Pataleta d4b91dab8a MDL-54609 blocks_navigation: Fix display of navigation nodes
* Used jQuery.append() instead of jQuery.text() to append the node's
  name so that it won't be escaped twice since the name is already being
  escaped in the server side via htmlentities.
2016-05-19 20:43:54 +08:00
Dan Poltawski 5d84a61419 Merge branch 'MDL-54633-master-tinymce' of git://github.com/mudrd8mz/moodle 2016-05-19 13:00:34 +01:00
Eloy Lafuente (stronk7) 536c4e920a Merge branch 'MDL-54643-master' of git://github.com/jleyva/moodle 2016-05-19 13:50:47 +02:00
David Mudrák 929727e3ef MDL-54633 tinymce: Sync editors' iframe to textarea on form submit
The previous commit "Automatically sync editor with its textarea" was
found a not good solution as the onchange event is triggered way less
often than needed for our needs. So this reverts commit 34321d49.

Instead, we add a hack to the formslib so that when there are some
TinyMCE editors used at the page, we explicitly save them before
triggering the form validation. This simply calls save() on all editors
on the page - see the API reference:
http://archive.tinymce.com/wiki.php/API3:method.tinymce.triggerSave

Having TinyMCE hardcoded like this on this core level does not make me
happy. But it seems to be most effective solution for now (and
definitely more efficient than the previous solution). Plus there is a
precedence - we already use window.tinyMCE in formchangechecker.js YUI
module, for example.
2016-05-19 13:44:41 +02:00
Dan Poltawski c9f85a1014 MDL-54641 enrol: fix trailing whitespace in upgrade.txt 2016-05-19 11:34:38 +01:00
Dan Poltawski 0677018ec5 Merge branch 'MDL-54641_master' of https://github.com/snake/moodle 2016-05-19 11:33:53 +01:00
Dan Poltawski c56d14be37 Merge branch 'MDL-54627_master' of git://github.com/dmonllao/moodle 2016-05-19 10:59:06 +01:00
Dan Poltawski 71dadd6d26 MDL-53988 lti: build js 2016-05-19 10:57:47 +01:00
Dan Poltawski e2b58a90fd Merge branch 'MDL-53988-master-fix2' of https://github.com/xow/moodle 2016-05-19 10:56:01 +01:00
Juan Leyva b4baee42e2 MDL-54643 tool_mobile: Fix dependencies check 2016-05-19 11:55:14 +02:00
Jake Dallimore 992365f8d5 MDL-54641 enrol: Consolidate 3.1 changes into correct section header. 2016-05-19 17:38:35 +08:00
John Okely 0450f5e081 MDL-53988 mod_lti: Improve error handling and user interface
Only show one, more helpful error instead of two non-helpful errors.
Don't show the 'no configured tools' message if there is a proxy there.
Return to the Tool configure page when editing a proxy if you came
from it.
2016-05-19 17:10:00 +08:00
Dan Poltawski b887c81907 Merge branch 'MDL-54633-master-tinymce' of git://github.com/mudrd8mz/moodle 2016-05-19 09:00:12 +01:00
Jun Pataleta 7150323ecd MDL-54623 mod_assign: Unit test for list_participants() 2016-05-19 15:36:44 +08:00
Andrew Nicols 9f59bc5b2c Merge branch 'MDL-54632-master' of git://github.com/andrewnicols/moodle 2016-05-19 15:17:03 +08:00
Marina Glancy bff0a28894 MDL-54632 mod_lti: separate show as preconfigured and in activitychooser 2016-05-19 15:15:46 +08:00
David Monllao 8af3e3abb2 Merge branch 'MDL-54630_master' of git://github.com/markn86/moodle 2016-05-19 15:03:14 +08:00
Mark Nelson 1e03d74cfa MDL-54630 core_tags: preserve 'timemodified' when moving tags 2016-05-19 14:50:12 +08:00
David Monllao ca7b16fa70 Merge branch 'MDL-54638' of git://github.com/stronk7/moodle
Conflicts:
	mod/lti/version.php
2016-05-19 13:47:22 +08:00
David Monllao 505ce88467 MDL-54627 search: Ensure that all format_string strings are text.
All user input that is usually displayed through format_strings with
filters like mulitlang applied should be converted to text as well.
2016-05-19 13:16:01 +08:00
Andrew Nicols 9dfee70f6b Merge branch 'MDL-53988-master-fix' of https://github.com/xow/moodle 2016-05-19 11:58:16 +08:00
John Okely b1c8a860cb MDL-53988 mod_lti: Add language string for unactivated proxies 2016-05-19 11:55:17 +08:00
Andrew Nicols 9e550d5804 Merge branch 'MDL-54542-master-fixup' of https://github.com/FMCorz/moodle 2016-05-19 11:52:29 +08:00
Andrew Nicols 367c85d78c Merge branch 'MDL-53988-master' of https://github.com/xow/moodle 2016-05-19 11:43:27 +08:00
Frederic Massart d309f3e218 MDL-54542 competency: Really handle false negatives in plans to review 2016-05-19 11:42:15 +08:00
David Monllao a1643e66b0 Merge branch 'MDL-54578_m31v2' of https://github.com/sbourget/moodle 2016-05-19 11:41:21 +08:00
David Monllao 89fc74508b Merge branch 'MDL-54613-m' of https://github.com/micaherne/moodle 2016-05-19 11:20:58 +08:00
John Okely 811d9ff941 MDL-53988 mod_lti: Fix followup up issues
Fix function naming
Fix param types
Fix error popping up twice with incorrect URL
Add confirm dialog when you delete a tool
Show orphaned tool proxies in list
Fix interface jumping up and down
Change to use notification stack
Change capabilities in db/services.php
Add loading animation after registering tool
Show loading animation until tools are rendered
2016-05-19 11:18:21 +08:00
Andrew Nicols a88f8b2fd5 Merge branch 'MDL-54542-master-fixup' of https://github.com/FMCorz/moodle 2016-05-19 10:56:50 +08:00
Frederic Massart c07712db17 MDL-54542 competency: False negative when listing plans to review 2016-05-19 10:23:46 +08:00
Eloy Lafuente (stronk7) 29a004946b MDL-54638 versions: main version bump 2016-05-19 02:17:59 +02:00
Eloy Lafuente (stronk7) 1abca11e0a MDL-54638 versions: bump all versions and requires near release
version = 2016052300 release version
requires= 2016051900 current rc1 version
2016-05-19 02:16:15 +02:00
David Mudrák 34321d491b MDL-54633 tinymce: Automatically sync editor with its textarea
Probably as a result of recent changes in the way how forms client side
validators are trigerred (MDL-52826), the field validator has been
triggered before the underlying textarea's values property is updated by
TinyMCE. This led to marking such a field as "required" even if the
value is provided.

Inspired by http://stackoverflow.com/questions/2122085/
this patch adds a new onchange callback that automatically keeps the
underlying textarea synced with the editor iframe. Relevant API docs:
http://archive.tinymce.com/wiki.php/Configuration3x:onchange_callback

I was also trying to call the save() method via the editor's onSubmit
method but that one seems to be also triggered only after the validator.
2016-05-19 00:50:08 +02:00
Dan Poltawski 60941d4cb0 Merge branch 'MDL-54025' of https://github.com/stronk7/moodle 2016-05-18 19:20:23 +01:00
Eloy Lafuente (stronk7) 8728dbeecb MDL-54025 mod_lti: Amend tests to observe the new behavior 2016-05-18 19:37:57 +02:00
Eloy Lafuente (stronk7) a73d64585a Merge branch 'MDL-54553-master' of git://github.com/danpoltawski/moodle 2016-05-18 18:23:41 +02:00
Stephen Bourget 0fd2260069 MDL-54578 Behat: Add tests for the myprofile block 2016-05-18 09:08:24 -04:00
Eloy Lafuente (stronk7) c0fe085c24 Merge branch 'MDL-53896-master' of git://github.com/cameron1729/moodle 2016-05-18 13:36:45 +02:00
Dan Poltawski cb5167df12 Merge branch 'MDL-54025_master' of https://github.com/snake/moodle 2016-05-18 11:38:30 +01:00
Dan Poltawski 5c602bf5bb MDL-54553 behat: check statuscode of http request 2016-05-18 11:15:58 +01:00
Dan Poltawski 53b540c82a Merge branch 'MDL-54027-master' of git://github.com/FMCorz/moodle 2016-05-18 11:05:06 +01:00
Dan Poltawski 07eb3a0db7 Merge branch 'wip-mdl-53956' of https://github.com/rajeshtaneja/moodle 2016-05-18 10:45:22 +01:00
Dan Poltawski 27bdd818f6 Merge branch 'MDL-54549-master-en_fix' of git://github.com/mudrd8mz/moodle 2016-05-18 10:28:08 +01:00
David Monllao 923b230c8e Merge branch 'wip-MDL-54061-master' of git://github.com/abgreeve/moodle 2016-05-18 16:20:27 +08:00
Rajesh Taneja 7f43e2fe49 MDL-54574 phpunit: Skip xmlrpc unit test if not installed 2016-05-18 16:00:10 +08:00
Adrian Greeve 759f61fe1c MDL-54061 mod_assign: Added encoding and separator to upload form.
Added the fields of encoding and separator so that the user has
more control when uploading a csv assignment grading file.
2016-05-18 15:50:33 +08:00
David Monllao eface10d30 MDL-45390 grades: Bump build to today's date
To test backup/restore.
2016-05-18 14:12:21 +08:00
David Monllao 9d00c6e9e5 Merge branch 'wip-MDL-45390-master' of git://github.com/abgreeve/moodle 2016-05-18 14:10:31 +08:00
David Monllao d9e7af1d6a Merge branch 'MDL-54594-master' of git://github.com/ryanwyllie/moodle 2016-05-18 14:02:00 +08:00
David Monllao 50c338b84b Merge branch 'MDL-54544-master' of git://github.com/damyon/moodle 2016-05-18 13:55:05 +08:00
Ryan Wyllie 7d7e5a4cf0 MDL-54594 mod_assign: Fix editpdf toolbar breakpoints
Fixed the CSS media breakpoints for the editpdf toolbar after the
additional button was added.
2016-05-18 05:53:44 +00:00
Damyon Wiese 4f54bdc733 MDL-54544 files: Better error handling in $fs->create_converted_document() 2016-05-18 13:44:13 +08:00
David Monllao 61e1d3d96c Merge branch 'MDL-53883_master' of git://github.com/markn86/moodle 2016-05-18 13:00:29 +08:00
David Monllao f3ba5f4249 Merge branch 'MDL-53805-master' of git://github.com/cameron1729/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2016-05-18 12:24:45 +08:00
Andrew Nicols 03b5351f88 MDL-54620 rating: Add tests for get_aggregate_string 2016-05-18 12:13:52 +08:00
Andrew Nicols 134b6485e2 Merge branch 'MDL-54620_master' of git://github.com/dmonllao/moodle 2016-05-18 12:04:20 +08:00
Cameron Ball cd6041b98f MDL-53896 core: Document Html2Text run-time overrides 2016-05-18 11:37:17 +08:00
Andrew Nicols e0c901dc49 MDL-53896 core: WIP bc layer for Html2Text 2016-05-18 11:35:37 +08:00
David Monllao d7256f3a49 Merge branch 'MDL-54119-master-with_progress_bar_template' of git://github.com/junpataleta/moodle 2016-05-18 11:33:04 +08:00
David Monllao 98c3f736bb Merge branch 'MDL-54595-master' of git://github.com/junpataleta/moodle 2016-05-18 11:30:25 +08:00
Adrian Greeve 41abbbbde5 MDL-45390 gradebook: sql tidy up and version alignment. 2016-05-18 10:41:30 +08:00
Rajesh Taneja 1ef6a5e30a MDL-53956 behat: Avoid before and after step and switch
After pressing the button, if system is slow then
after step and before step might fail as the window
is closed by then. Execute steps one after other
2016-05-18 10:41:01 +08:00
Andrew Nicols 63c492ece0 Merge branch 'MDL-54049-master' of git://github.com/jleyva/moodle 2016-05-18 10:34:34 +08:00
David Monllao 6b6847bc97 Merge branch 'MDL-54164-integration-cli-fix' of git://github.com/ryanwyllie/moodle 2016-05-18 10:30:30 +08:00
David Monllao ece791dbd4 MDL-45390 grades: Courses letters using system bad boundaries
Added unit tests to highlight the existing failures and adding
unset_config between each set of tests.
2016-05-18 10:08:10 +08:00
Adrian Greeve 405b90bcd2 MDL-45390 gradebook: Grade boundary fix.
Code to upgrade, fix, and freeze the gradebook for
courses with letter boundary problems.
2016-05-18 09:56:00 +08:00
Adrian Greeve 2b98f0ea26 MDL-45390 gradebook: Behat tests for grade boundary issues. 2016-05-18 09:54:55 +08:00
Ryan Wyllie 073fcb5aa1 MDL-54164 notification: Add notification render to CLI renderer 2016-05-18 01:48:37 +00:00
Andrew Nicols 60e75de317 Merge branch 'MDL-54542-master' of git://github.com/FMCorz/moodle 2016-05-18 09:48:27 +08:00
Adrian Greeve 70dfd48f53 MDL-45390 gradebook: Unit tests for grade boundary issue. 2016-05-18 09:08:18 +08:00
Kevin Wiliarty 393890e168 MDL-54620 ratings: display '0' when aggregate = 0 2016-05-18 07:21:28 +08:00
David Monllao ccf323d571 Merge branch 'MDL-54164-master' of git://github.com/ryanwyllie/moodle 2016-05-18 07:11:25 +08:00
David Mudrák 50d083f07a MDL-54549 lang: Fix changed strings in behat scenario files 2016-05-17 18:29:30 +02:00
Helen Foster 75a22eb9fb MDL-54549 lang: Merge English strings from the en_fix language pack 2016-05-17 18:26:15 +02:00
Michael Aherne 0c0f01aa4c MDL-54613 unit tests: Add iteminstance to test grade_item 2016-05-17 13:06:32 +01:00
Jake Dallimore 4741c3162e MDL-54025 mod_lti: Use activity name when creating tool from cartridge. 2016-05-17 17:54:12 +08:00
Mark Nelson 40d5651302 MDL-53883 core_form: updated the group elements ID 2016-05-17 17:53:17 +08:00
Dan Poltawski 33892edf18 Moodle release 3.1rc1 2016-05-17 10:49:40 +01:00
Dan Poltawski 461a5c667d Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2016-05-17 10:49:38 +01:00
David Monllao fcf2064a62 NOBUG: Bumping versions after a rewrite 2016-05-17 17:16:32 +08:00
Andrew Nicols b0e9bf8e90 Merge branch 'MDL-52599_master' of https://github.com/markn86/moodle 2016-05-17 17:16:14 +08:00
Andrew Nicols 44219e686f Merge branch 'MDL-53962-master-alt' of git://github.com/cameron1729/moodle 2016-05-17 17:16:13 +08:00
Mark Nelson 15d27733dc MDL-52599 block_rss_client: fixed various PHP errors 2016-05-17 17:16:13 +08:00
Adrian Greeve 897444d761 MDL-53923 mod_assign: Put messages into notifications.
The unoconv test page was before just outputting text to
page. Now it is wrapped in a nice notification. One of the
warnings has been improved as well.
2016-05-17 17:16:13 +08:00
David Monllao f0a2dbf188 Merge branch 'MDL-54121-master' of git://github.com/damyon/moodle 2016-05-17 17:16:12 +08:00
Rajesh Taneja 13708875d3 MDL-54573 testing: don't uppercase dbtype 2016-05-17 17:16:12 +08:00
Andrew Nicols 96fd37749e Merge branch 'MDL-52599-master' of git://github.com/danpoltawski/moodle 2016-05-17 17:16:11 +08:00
Andrew Nicols 7ae90fe03c Merge branch 'wip-mdl-54600' of https://github.com/rajeshtaneja/moodle 2016-05-17 17:16:11 +08:00
Michael Aherne 39257eb39c MDL-54600 phpunit: fixed classname to follow frankenstyle 2016-05-17 17:16:11 +08:00
David Monllao 2fb0f13a87 Merge branch 'MDL-54573-master' of git://github.com/danpoltawski/moodle 2016-05-17 17:16:10 +08:00
David Monllao 2a1cfd371f Merge branch 'MDL-54108-master' of git://github.com/marinaglancy/moodle 2016-05-17 17:16:10 +08:00
Andrew Nicols c3d079c8a4 Merge branch 'MDL-54131_m31v4' of git://github.com/sbourget/moodle 2016-05-17 17:16:10 +08:00
Dan Poltawski 7b09be79d6 Merge branch 'MDL-54545-master' of git://github.com/junpataleta/moodle 2016-05-17 17:16:09 +08:00
Dan Poltawski 76943644d4 Merge branch 'MDL-54593_master' of git://github.com/markn86/moodle 2016-05-17 17:16:09 +08:00
Dan Poltawski bdabf42d9a Merge branch 'wip-MDL-54129-master' of git://github.com/abgreeve/moodle 2016-05-17 17:16:09 +08:00
Dan Poltawski 5a2283cdc0 Merge branch 'wip-MDL-53923-master' of git://github.com/abgreeve/moodle 2016-05-17 17:16:08 +08:00
David Monllao df88d9a72e Merge branch 'MDL-54584-master' of git://github.com/andrewnicols/moodle 2016-05-17 17:16:08 +08:00
David Monllao 52ccda9607 Merge branch 'MDL-54177_master' of git://github.com/markn86/moodle 2016-05-17 17:16:08 +08:00
David Monllao a7bb1dda6e Merge branch 'MDL-53311-master-moregooderer' of git://github.com/cameron1729/moodle 2016-05-17 17:16:07 +08:00
Andrew Nicols a8c2cb02ca Merge branch 'MDL-54566_master' of git://github.com/markn86/moodle 2016-05-17 17:16:07 +08:00
Jun Pataleta 9698f2dcce MDL-54119 tool_lp: Modifications for progress bars
Changes made in this patch include:
* Reverting to the original look of having the percentage label of the
  progress bar inside it.
* Setting a minimum width for the progress bar so the percentage label
  will still be visible even at 0%.
* Replaced the blank space between the percent text and the percent
  sign with a non-breaking space.
* Added relevant aria attributes for the progress bars.
* I think that this is a good opportunity to use a single template for the
  progress bars so I created one that is basically based from the core
  template columns-1to2. Column 1 contains the progress text, while column2
  contains the progress bar itself.
2016-05-17 16:01:30 +08:00
Cameron Ball 5d4dafcfa0 MDL-53805 theme: Give search icon more space 2016-05-17 13:38:52 +08:00
Ryan Wyllie 2059d6edb5 MDL-54164 upgradelib: Remove close button on success notification 2016-05-17 03:55:46 +00:00
Jun Pataleta 2664105c87 MDL-54595 mod_assign: Remove btn-group class 2016-05-17 11:53:10 +08:00
Jun Pataleta 912a183033 MDL-54595 tool_lp: Remove btn-group classes 2016-05-17 11:52:11 +08:00
Cameron Ball ad1bfe6a9c MDL-53962 webservices: Make XML-RPC backwards compatible 2016-05-17 11:39:15 +08:00
Damyon Wiese 5620177efd MDL-54544 file: Use shared tmp storage for unoconv document conversions 2016-05-17 10:58:25 +08:00
Marina Glancy ea4176c24f MDL-54108 mod_feedback: separate upgrade sql for mysql 2016-05-17 09:27:59 +08:00
Marina Glancy 8e70465aa8 MDL-54108 mod_feedback: add unique index on values for completed items 2016-05-17 09:27:58 +08:00
Stephen Bourget 18d157fe97 MDL-54131 Behat: Fix hide all courses test 2016-05-16 18:39:42 -04:00
Dan Poltawski 0be8dbd9b2 MDL-52599 rss block: clarifty sql and make style more moodley 2016-05-16 11:05:45 +01:00
Clement Smith af8cab9b69 MDL-52599 blocks/rss_client: Fix RSS block config page
This fixes an error where the RSS block config page would display
'Array' where the multiselect list of feeds should be when
accessed by a user who has not saved any RSS feed urls and yet the
block has been previously configured by another user.
2016-05-16 11:04:36 +01:00
Dan Poltawski fc3d70d798 MDL-54573 testing: don't uppercase dbtype 2016-05-16 08:25:10 +01:00
Mark Nelson beb3441b68 MDL-54593 tool_lp: added missing 'alert' CSS class 2016-05-16 14:49:27 +08:00
Adrian Greeve 692b53480d MDL-54129 mod_lti: Show in course checkbox works properly.
The show in course setting for LTI would always be set to true
regardless of what was set.
2016-05-16 14:38:13 +08:00
Adrian Greeve 0eecf87687 MDL-53923 mod_assign: Movement of functions to file_storage. 2016-05-16 14:32:54 +08:00
Simey Lameze c4d692285f MDL-53923 mod_assign: test unoconv path 2016-05-16 14:08:09 +08:00
Mark Nelson c7e4417533 MDL-54566 tool_lp: added message when no competencies present 2016-05-16 13:59:30 +08:00
Mark Nelson 3f3e7daae1 MDL-54177 enrol_lti: improved lang strings
Also removed unused strings.
2016-05-16 13:49:28 +08:00
Andrew Nicols 98c2893cdd Merge branch 'MDL-53221_master-information' of https://github.com/dmonllao/moodle 2016-05-16 13:06:05 +08:00
David Monllao c827acae2d MDL-53221 search: Renaming search areas
AMOS BEGIN
 CPY [modulename,mod_folder],[search:activity,mod_folder]
 CPY [modulename,mod_label],[search:activity,mod_label]
 CPY [modulename,mod_page],[search:activity,mod_page]
 CPY [modulename,mod_resource],[search:activity,mod_resource]
 CPY [modulename,mod_url],[search:activity,mod_url]
AMOS END
2016-05-16 13:02:02 +08:00
David Monllao b9103241e6 Merge branch 'MDL-54117-master' of https://github.com/barbararamiro/moodle 2016-05-16 12:50:13 +08:00
Andrew Nicols eb2a003dd3 Merge branch 'MDL-54550_master' of git://github.com/markn86/moodle 2016-05-16 12:21:20 +08:00
Mark Nelson 17fa366ab3 MDL-54550 enrol_lti: show plugin description and warning
- Updated and added plugin description to the settings page.
- Added warning when the auth_lti plugin is not enabled.
- Moved existing 'Allow frame embedding' warning above the
  'User default values' heading.
2016-05-16 12:18:09 +08:00
Andrew Nicols d45047f628 Merge branch 'MDL-54560_master' of git://github.com/dmonllao/moodle 2016-05-16 12:11:19 +08:00
Andrew Nicols dcd3dea137 Merge branch 'wip-mdl-54588' of https://github.com/rajeshtaneja/moodle 2016-05-16 12:05:34 +08:00
David Monllao bb51d20bac Merge branch 'MDL-54133_m31v1' of https://github.com/sbourget/moodle 2016-05-16 12:03:07 +08:00
David Monllao e68d274f45 Merge branch 'MDL-54131_m31v3' of https://github.com/sbourget/moodle 2016-05-16 12:01:37 +08:00
Andrew Nicols dc30770656 Merge branch 'MDL-54128_masterv2' of https://github.com/snake/moodle 2016-05-16 11:56:16 +08:00
David Monllao 2d5032db89 Merge branch 'MDL-54026-master' of git://github.com/andrewnicols/moodle 2016-05-16 11:52:02 +08:00
David Monllao 261560921d Merge branch 'MDL-54130_m31v2' of https://github.com/sbourget/moodle 2016-05-16 11:31:41 +08:00
Andrew Nicols 388a8dbc4f MDL-54584 repository: Set a default filename in prepare_file 2016-05-16 11:07:38 +08:00
vpisabeywardana 0a33c8ca94 MDL-52815 theme: group select overlapping issue
Gave minimum width for select tags which are under 'groups' and 'members' classes
2016-05-16 02:42:54 +00:00
David Monllao e716da5d13 MDL-54560 search: Search box aligned with .usermenu on .navbar 2016-05-16 10:38:14 +08:00
Eric Merrill d636043aff MDL-54560 search: Fix menu item to be correct height
Conflicts:
	theme/bootstrapbase/style/moodle.css
2016-05-16 10:28:12 +08:00
Jake Dallimore f418d89957 MDL-54128 mod_lti: Add help for custom LTI tools in activity picker 2016-05-16 10:07:29 +08:00
Rajesh Taneja 528278f78f MDL-54588 behat: Button has been replaced with link
Adding a scale has been modified to use link
on outcome page
2016-05-16 09:13:29 +08:00
AMOS bot abb9ea1a3f Automatically generated installer lang files 2016-05-15 00:04:36 +08:00
Stephen Bourget a7ea4fd62f MDL-54131 Behat: tests for the course list block 2016-05-13 22:05:33 -04:00
Stephen Bourget 412bde6fad MDL-54133 Behat: tests for the course overview block 2016-05-13 21:40:34 -04:00
Dan Poltawski f6cbdf788a MDL-54573 testing: use dbtype rather dbvendor for diagnostics
So that we can differentiate between drivers
2016-05-13 14:49:42 +01:00
David Monllao 65cbefc403 on-demand release 3.1beta+ 2016-05-13 18:33:23 +08:00
David Monllao 60152a2828 NOBUG: Fixed SVG browser compatibility 2016-05-13 18:33:22 +08:00
David Monllao 6f8adf29fd NOBUG: ensure build number doesn't go backwards
(Due to reverts happening in MDL-45390 and MDL-52815)
2016-05-13 18:21:24 +08:00
Andrew Nicols 832ffeb204 Merge branch 'MDL-54073-master-2' of git://github.com/junpataleta/moodle 2016-05-13 18:12:33 +08:00
Andrew Nicols d58854d3bf Merge branch 'wip-mdl-54561' of https://github.com/rajeshtaneja/moodle 2016-05-13 18:12:32 +08:00
Jun Pataleta c89ba86342 MDL-54073 tool_lp: Unescape additional properties
* LP Blocks (Competency name)
* User evidence competency picker (User learning plan name)
* Template competencies (Course full name)
2016-05-13 18:12:32 +08:00
Andrew Nicols e53d7e7c04 Merge branch 'MDL-50063' of git://github.com/stronk7/moodle 2016-05-13 18:12:32 +08:00
Andrew Nicols a1057084e1 MDL-52253 scales: Correct doc 2016-05-13 18:12:31 +08:00
Damyon Wiese d03602c86b MDL-52253 scales: Prevent deletion of the last global scale 2016-05-13 18:12:31 +08:00
Damyon Wiese 8de0b1ab7d MDL-52253 scales: Add new competence scale 2016-05-13 18:12:28 +08:00
Damyon Wiese 81967b54b6 MDL-52253 scales: Install the separate and connected scale 2016-05-13 18:11:30 +08:00
Dan Poltawski 35f11c55fb Merge branch 'MDL-54101_master' of git://github.com/markn86/moodle 2016-05-13 18:11:29 +08:00
Dan Poltawski 6967b71a34 Merge branch 'MDL-54546-master' of git://github.com/junpataleta/moodle 2016-05-13 18:11:29 +08:00
Dan Poltawski 7fdd86247b Merge branch 'wip-mdl-54543' of https://github.com/rajeshtaneja/moodle 2016-05-13 18:11:28 +08:00
Andrew Nicols 07d4b49760 Merge branch 'MDL-54073-master' of git://github.com/junpataleta/moodle 2016-05-13 18:11:28 +08:00
Barbara Ramiro 378733a4c3 MDL-53822 editpdf: Much nicer icons for new drag-to-scroll feature 2016-05-13 18:11:28 +08:00
David Monllao 8ae171ed1c Merge branch 'MDL-53822-master' of git://github.com/damyon/moodle 2016-05-13 18:11:27 +08:00
David Monllao ec7b75087c Merge branch 'MDL-54098-master' of git://github.com/FMCorz/moodle 2016-05-13 18:11:27 +08:00
Frederic Massart 2140cca1db MDL-54027 mod_forum: Display sub-header on user posts/discussions page 2016-05-13 17:17:28 +08:00
Cameron Ball f65ce33f99 MDL-53311 behat: Update behat navigation steps 2016-05-13 16:01:48 +08:00
Cameron Ball a71b983db8 MDL-53311 block_settings: Update renderer
The renderer and styles require changes to match the new behaviour
introduced by the modifications to tree.js and the JavaScript renderer.

The PHP renderer now closely matches the JavaScript one, and we now use
the aria-hidden attribute to determine the node state.
2016-05-13 16:01:47 +08:00
Cameron Ball 0043daf4ca MDL-53311 block_navigation: Update renderer
The renderer and styles require changes to match the new behaviour
introduced by the modifications to tree.js and the JavaScript renderer.

The PHP renderer now closely matches the JavaScript one, and we now use
the aria-hidden attribute to determine the node state.
2016-05-13 16:01:47 +08:00
Cameron Ball 4838a19641 MDL-53311 navigation: Move treeitem role on to p
Previously the li elements had the treeitem role, which was not invalid,
but it meant that when a menu item expanded, the entire li was clickable
and clicking anywhere that was not another menu item would cause the
(sub)tree to collapse. This patch moves the treeitem role on to the p
element (which contains the node name) and uses aria-owns to expand

Mad shoutouts to Ryan Wyllie for his assistance 🙌

🌄 ᚳᚱᛒ
2016-05-13 16:01:44 +08:00
Barbara Ramiro ca112c42fd MDL-54117 design: Simple loading icon 2016-05-13 14:48:23 +08:00
Rajesh Taneja 790bf3ace0 MDL-54561 phpunit: only search with first 3 chars
Windows uses only the first three characters of prefix in
tempnam(), so only use first 3 chars to find if error
is logged
2016-05-13 13:33:52 +08:00
Andrew Nicols 6885517d78 MDL-54121 core-notification: Fix lockscroll recalc for nest dialogues 2016-05-13 12:12:05 +08:00
Stephen Bourget d83d1e34e5 MDL-54130 Behat: Add tests for Completion Status block 2016-05-12 21:15:55 -04:00
Eloy Lafuente (stronk7) 07a069f1c0 MDL-50063 unittests: Remove some unnecesary gc_collect_cycles()
Now backup and restore operations free logger resources calling
to the destroy() method. This commit ensures:

1) That gc_collect_cycles() is not used anymore in backup-related tests.
2) That all backup and restore controllers in test do always call
   to the detroy() method.
3) Some unset() calls, needed to make gc_collect_cycles() are not used
   anymore.
2016-05-13 02:50:45 +02:00
Eloy Lafuente (stronk7) fcd3bbfee0 MDL-54205 tests: verify destroy() and close() behavior 2016-05-13 01:54:37 +02:00
Eloy Lafuente (stronk7) da322ad078 MDL-54205 tool_recyclebin: Adding missing destroy() calls.
This was causing controller references not cleaned till gc
and loggers to remain open, leading to problems under windows.
2016-05-13 01:54:37 +02:00
Eloy Lafuente (stronk7) 53f95c99cb MDL-54205 backup: loggers close() and destroy()
Any backup & restore operation may be leaving opened files
if a file logger is being used. This implementes the close()
method, so every logger can close any resource.

Also, the recommended backup_controlled::destroy() method
now calls to new logger::destroy() method in charge of
deleting all the references and closing any resource.

Finally, some internally used controllers, were missing
their destroy call, leading to associated loggers to
remain open. Now all them are explicitly deltroyed.
2016-05-13 01:54:28 +02:00
Jun Pataleta e5336562db MDL-54546 tool_lp: Use correct property types for user/course exporters 2016-05-12 19:04:58 +08:00
Mark Nelson bae0f2375e MDL-54101 core: fixed core/str get_string caching issue 2016-05-12 18:58:56 +08:00
Frederic Massart 4e968dc8a7 MDL-54542 competency: Tests for listing of plans and comps to review 2016-05-12 16:16:03 +08:00
Frederic Massart bbf727f175 MDL-54542 competency: Prevent long query aliases in get_sql_fields()
Otherwise we could hit ORA-00972 because they exceed 30 characters.
2016-05-12 16:14:32 +08:00
Rajesh Taneja 80b852d0c9 MDL-54543 behat: Increase file download range
with different db's, the id and defaultgrade
might be different, so increasing the range
to avoid such failures
2016-05-12 15:48:13 +08:00
Jun Pataleta 010a00db60 MDL-54545 tool_lp: Make selected items stick to the container's bounds
Set the selection's width for the user and/or competency selector fields
stick within the panel's bounds.
2016-05-12 12:40:22 +08:00
Jun Pataleta 32cf4bcb93 MDL-54073 tool_lp: Unescape PARAM_TEXT properties in templates
Use triple-curly brackets to unescape the PARAM_TEXT properties in
templates.
Changed idnumber's type to PARAM_RAW for frameworks and competencies.
2016-05-12 11:24:51 +08:00
Eloy Lafuente (stronk7) 7307b2746d Merge branch 'MDL-53170_levels-fix' of git://github.com/dmonllao/moodle 2016-05-11 11:54:01 +02:00
David Monllao 724703d3e1 MDL-53170 search: Specify core_course mycourses search level 2016-05-11 17:22:24 +08:00
Dan Poltawski 57678be26e Merge branch 'MDL-54103_master' of git://github.com/markn86/moodle 2016-05-11 10:04:07 +01:00
Dan Poltawski 15ab98e4e2 Merge branch 'MDL-53293-master' of git://github.com/andrewnicols/moodle 2016-05-11 10:00:50 +01:00
Andrew Nicols 372def96c4 Merge branch 'MDL-54056-master' of git://github.com/junpataleta/moodle 2016-05-11 15:39:26 +08:00
Andrew Nicols 8e0549933e Merge branch 'MDL-54055-master' of git://github.com/junpataleta/moodle 2016-05-11 15:00:39 +08:00
Damyon Wiese ab4d78ea82 MDL-53822 editpdf: Show different cursors for select and move 2016-05-11 14:54:38 +08:00
Andrew Nicols e51176e598 Merge branch 'MDL-54125_master' of git://github.com/markn86/moodle 2016-05-11 14:11:07 +08:00
Jun Pataleta 5d15185247 MDL-54055 gradingform_guide: Skip insertion of empty comments
We should not be adding empty entries for the frequently-used comments.
2016-05-11 13:55:39 +08:00
Damyon Wiese 79e4a72f09 MDL-54121 core-notification: Make dialogues re-calculate the lockscroll
When the content of a dialogue changes after it is first opened - you need to call centerDialogue()
to make sure it still sits in the middle of the window. In addition this now recalculates the "lockScroll"
so that if you need to scroll down to see all of the dialogue you can do it.
2016-05-11 13:52:47 +08:00
Mark Nelson 2c216a6c39 MDL-54125 mod_data: fixed PHP notice
Also removed unused variables.
2016-05-11 13:01:24 +08:00
Andrew Nicols 128beb3d39 Merge branch 'MDL-53976-master' of git://github.com/jleyva/moodle 2016-05-11 12:05:43 +08:00
Andrew Nicols 7adbac5a8e Merge branch 'MDL-53580-master' of git://github.com/cameron1729/moodle 2016-05-11 11:29:57 +08:00
Andrew Nicols ccf89705fe Merge branch 'MDL-54074-master' of git://github.com/FMCorz/moodle 2016-05-11 11:22:37 +08:00
Andrew Nicols f092c0881d Merge branch 'MDL-52800-master' of git://github.com/ryanwyllie/moodle 2016-05-11 11:08:55 +08:00
Frederic Massart b5a3118ddb MDL-54074 core_tag: False negative on Oracle due to random ordering 2016-05-11 10:48:31 +08:00
Andrew Nicols 7e4d43e1a2 MDL-54110 repositories: Whitespace, Typo + unit test fixes 2016-05-11 10:39:40 +08:00
Andrew Nicols 016e0abfbc Merge branch 'MDL-54110_master' of https://github.com/marxjohnson/moodle 2016-05-11 10:10:57 +08:00
David Monllao 58a2f0ac40 Merge branch 'MDL-54044-master' of git://github.com/FMCorz/moodle 2016-05-11 09:09:11 +08:00
Andrew Nicols 2239883b56 MDL-53293 tool_lp: Destroy dragdrop instance before re-creating 2016-05-11 08:19:39 +08:00
Andrew Nicols a321eb06b7 MDL-53293 core: Add destructor phases to core-dragdrop 2016-05-11 08:19:39 +08:00
Eloy Lafuente (stronk7) fa1e76d563 Merge branch 'MDL-53170_master' of git://github.com/dmonllao/moodle 2016-05-10 18:54:57 +02:00
Frederic Massart 9f659e1af5 MDL-54075 competency: False negatives due to random ordering and latency 2016-05-10 18:41:48 +02:00
Mark Johnson 121b67411f MDL-54110 repositories: Allow repositories to ignore post_max_size
Repositories can now override usespost() if they don't upload using POST
requests. This restores the ability of users with
moodle/course:ignorefilesizelimits to upload files of unlimited size
lost in MDL-44626.
2016-05-10 16:10:24 +01:00
Cameron Ball 8ffe9aef1f MDL-53580 auth_ldap: Set default value for suspended_attribute
It was also necessary to cast some boolean values to ints as a
workaround for moodle's broken boolean validation.
2016-05-10 23:04:46 +08:00
Dan Poltawski 8c2d47d9d8 Merge branch 'MDL-50704-master' of git://github.com/FMCorz/moodle 2016-05-10 15:59:41 +01:00
Cameron Ball 5e84acc2f3 MDL-53916 mod_assign: Point update grade link to new interface 2016-05-10 15:42:05 +01:00
David Monllao 283b1d32bd Merge branch 'MDL-54009-master' of git://github.com/ryanwyllie/moodle 2016-05-10 21:58:41 +08:00
David Monllao 677e6345c2 Merge branch 'MDL-52133-master' of git://github.com/ryanwyllie/moodle 2016-05-10 21:41:15 +08:00
David Monllao b770c41277 Merge branch 'MDL-54120' of git://github.com/aolley/moodle 2016-05-10 21:38:30 +08:00
David Monllao e4b5a062d8 on-demand release 3.1beta+ 2016-05-10 18:55:50 +08:00
David Monllao 23007b4134 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2016-05-10 18:55:48 +08:00
Andrew Nicols 0b3c3bb8eb Merge branch 'MDL-54102_master' of git://github.com/markn86/moodle 2016-05-10 18:36:16 +08:00
Andrew Nicols 30dcc059be Merge branch 'MDL-54115_m31v1' of https://github.com/sbourget/moodle 2016-05-10 18:36:16 +08:00
Andrew Nicols 837cc5ba49 MDL-54004 behat: Whitespace fixes 2016-05-10 18:36:15 +08:00
Andrew Nicols dc7e2dcf96 Merge branch 'MDL-54004_m31v2' of https://github.com/sbourget/moodle 2016-05-10 18:36:15 +08:00
Andrew Nicols 0301e11bae Merge branch 'MDL-53821-master' of git://github.com/ryanwyllie/moodle 2016-05-10 18:36:15 +08:00
Andrew Nicols 715c3f5fef Merge branch 'MDL-52506-master' of git://github.com/ryanwyllie/moodle 2016-05-10 18:36:14 +08:00
David Monllao e314b35471 MDL-53170 search: New area for my courses
Thanks to Skylar Kelty for the initial implementation.
2016-05-10 18:15:42 +08:00
David Monllao 1f69cd819f MDL-53170 search: API fixes for core subsystems 2016-05-10 18:15:41 +08:00
Mark Nelson a9ad3002e1 MDL-54102 core: added more details about hooks 2016-05-10 15:34:49 +08:00
Mark Nelson 27d9859972 MDL-54103 enrol_lti: show frame embedding warning 2016-05-10 15:03:24 +08:00
Adam Olley 415023cefc MDL-54120 competency: Don't assume there are no existing scales
Every time a unit test for competencies adds a scale, it's creating them
with hardcoded id's - which should always be avoided. So this change has
the unit test keep track of the scale id's created without hardcoding
them.
2016-05-10 14:48:18 +09:30
Nadav Kavalerchik 7ee8effc55 MDL-52800 Theme: Fix inplace editing tooltip styling 2016-05-10 05:06:43 +00:00
Frederic Massart 525370afe1 MDL-54044 block_site_main_menu: Fixed labels not being indented 2016-05-10 12:23:29 +08:00
Ryan Wyllie 1b2f9dc60c MDL-53821 mod_assign: Hide full name when blind marking
Hide the student's full name in the new grading intferface when blind
marking is on.
2016-05-10 02:07:02 +00:00
Ryan Wyllie e6858c084a MDL-52506 mod_assign: Fix return links for atto auto save 2016-05-10 01:22:48 +00:00
Stephen Bourget bc823ac6bf MDL-54115 Behat: tests for the comments block 2016-05-09 18:55:33 -04:00
Stephen Bourget c18aac4518 MDL-54004 Behat: tests for calendar block 2016-05-09 16:12:50 -04:00
Stephen Bourget f464529a7a MDL-54004 Behat: tests for upcoming events block 2016-05-09 16:12:36 -04:00
AMOS bot 8538c6ad0d Automatically generated installer lang files 2016-05-10 00:04:19 +08:00
Frederic Massart 67ee10307f MDL-54098 external: Remove usage of require_login and $PAGE->set_context 2016-05-09 19:42:37 +08:00
Dan Poltawski 8ab776ef69 Merge branch 'MDL-54040_master' of git://github.com/dmonllao/moodle 2016-05-09 10:29:25 +01:00
Frederic Massart 16825c4e95 MDL-50704 user: Do not validate timezones in user objects
The validation of the timezone field should not occur, especially
when it is automatically cleaned. Timezones can be volatile, we
must try hard to fallback on real timezones and must not lose reset
the values arbitrarily.

"There is absolutely no need to change $CFG->timezone and user timezones
in database - the timezones may come and go. If you change the value in
upgrade or on the fly you would not be able to get it back. This is the
reason why I implemented the "invalid timezone" thing in server and
user settings instead." - Petr Skoda (MDL-49684)
2016-05-09 17:28:38 +08:00
Frederic Massart 88474db22f MDL-50704 date: Fix invalid timezone mapping for +14
The value Etc/GMT-14 was added to the list of known timezones,
and Etc/GMT+13 & Etc/GMT+14 were removed as they are not valid.

Tests were added to ensure that legacy user timezones are mapped
to known timezones. Other tests were changed to reflect the changes
with regards to Etc/GMT+13 and +-14.
2016-05-09 17:28:38 +08:00
Andrew Nicols bbdef8886f Merge branch 'MDL-52708' of https://github.com/ramdesh/moodle 2016-05-09 15:49:48 +08:00
Andrew Nicols cc47c7174b Merge branch 'MDL-54072' of git://github.com/aolley/moodle 2016-05-09 15:14:27 +08:00
Ryan Wyllie b7c7f0d10e MDL-54009 enrol_lti: Captilise language string 2016-05-09 07:09:15 +00:00
Andrew Nicols 3ff8d30246 Merge branch 'MDL-54102_master' of git://github.com/markn86/moodle 2016-05-09 15:08:54 +08:00
Ryan Wyllie 9c8ef1397f MDL-54009 mod_lti: Style LTI tool iframe border 2016-05-09 07:07:27 +00:00
David Monllao 814b5d6772 Merge branch 'wip-mdl-54100' of https://github.com/rajeshtaneja/moodle 2016-05-09 14:34:23 +08:00
Andrew Nicols 197adc93d5 Merge branch 'MDL-53914-master' of git://github.com/FMCorz/moodle 2016-05-09 14:16:56 +08:00
Mark Nelson 3fb5ddc3d6 MDL-54102 core: describe newly introduced hooks 2016-05-09 14:04:01 +08:00
Andrew Nicols b0ab1fdcff Merge branch 'm31_MDL-53837_Is_Executable_Python_Script_Windows' of https://github.com/scara/moodle 2016-05-09 13:29:32 +08:00
Rajesh Taneja 9914bd8b60 MDL-54100 behat: Catch undefined steps 2016-05-09 11:41:05 +08:00
David Monllao 33b60a4720 Merge branch 'MDL-54034-master' of git://github.com/FMCorz/moodle 2016-05-09 07:46:53 +08:00
David Monllao 8ec64e757e Merge branch 'MDL-53989-master' of git://github.com/ryanwyllie/moodle 2016-05-09 07:37:09 +08:00
Damyon Wiese d26eae4af4 MDL-54042 user: Add unit test to cover change 2016-05-06 14:07:49 +01:00
Damyon Wiese 8eb15a38ef MDL-54042 user: Fix debugging in core_user_get_users_by_field
The course object returned by enrol_get_all_users_courses does not include the defaultgroupingid.

This course object is passed to user_get_user_details - which does need
the defaultgroupingid.

All the other group info is returned (groupmode) etc - so it makes sense to also return this extra field.
2016-05-06 14:07:48 +01:00
Frederic Massart 1d0140757a MDL-54034 ajax: Apply filters in ajax requests
This also clarified that developers can decide to force filters
to be ignored when using external_format_text, though they cannot
force filters to be turned on as the clients should be able to
opt-out from filtering should they want to.
2016-05-06 17:59:41 +08:00
Damyon Wiese 55907a738a MDL-53822 editpdf: Add a new tool for scrolling
I added a new tool to the toolbar to allow click and drag scrolling (especially useful for touchscreens).
2016-05-06 16:33:31 +08:00
Frederic Massart f058c74eba MDL-53914 mod_wiki: Do not format_text during search index 2016-05-06 16:25:26 +08:00
David Monllao 1e72daa899 on-demand release 3.1beta+ 2016-05-06 16:15:29 +08:00
David Monllao 2f2383af51 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2016-05-06 16:15:27 +08:00
Ryan Wyllie a6c1a1c753 MDL-52133 mod_assign: Support userid on single grade page 2016-05-06 07:18:44 +00:00
David Monllao 729738d14c Merge branch 'MDL-54058-master' of git://github.com/junpataleta/moodle 2016-05-06 13:53:07 +08:00
Adam Olley 4ec4b2b65c MDL-54072 tool_recyclebin: Avoid hardcoded course_modules count
One of the unit tests for tool_recyclebin makes an assumption that a
fresh install of Moodle has no course modules, which is true for vanilla
moodle.

However there are some third party plugins (mod_oublog and
mod_respondusws are the ones I've run into) that have a course module
added to the frontpage course on install.

So this change alters the test from comparing the count of modules in
the test course with a hardcoded value to first getting the existing
count of values before performing the actions that affect the count and
then using that value to compare with.
2016-05-06 15:04:16 +09:30
Ryan Wyllie fd83879728 MDL-53989 cbe: CMD + click selection for competency picker 2016-05-06 04:40:02 +00:00
Jun Pataleta 2cf9e3f0ca MDL-54058 tool_lp: Set framework select's width in competency picker 2016-05-06 10:34:29 +08:00
Andrew Nicols d07c339272 Revert "Merge branch 'MDL-53599' of git://github.com/nhoobin/moodle"
This reverts commit 15a813cda2, reversing
changes made to 6870e1fa77.
2016-05-06 10:18:10 +08:00
Andrew Nicols 68c1074625 Merge branch 'wip-mdl-53701' of https://github.com/rajeshtaneja/moodle 2016-05-06 09:58:28 +08:00
Dan Poltawski a9e9f96382 MDL-54062 bootstrapbase: remove unused less file
This file has never been included in our CSS.
2016-05-06 09:27:36 +08:00
Rajesh Taneja c5fe77ffe4 MDL-53810 behat: Zoom in Rubric before filling form.
div is now overflow, selenium can't get element
in viewport, zoom in before entering the value
2016-05-06 09:27:35 +08:00
Mark Nelson a8abd53a32 MDL-54030 enrol_lti: confirm tool exists before deleting users 2016-05-06 09:27:35 +08:00
Damyon Wiese 8668796317 MDL-54046 enrol: Make docs urls match the old path
Previously each enrolment method had it's own url in the docs. Because of the
refactor in 3.1 all pages are now served from the same script. We need to
manually set the docs url so that it points to the old docs pages.
2016-05-06 09:27:34 +08:00
Mark Nelson d066ed8db0 MDL-53977 enrol_lti: a hack to workaround a hack to utilise DB caching 2016-05-06 09:27:34 +08:00
Marina Glancy c0dd0e3543 MDL-41640 mod_feedback: info question should default to course
Also hide "response time" from options in case of anonymous feedback
2016-05-06 09:27:34 +08:00
Marina Glancy ac29314ed1 MDL-41640 mod_feedback: do not show 0 responsetime 2016-05-06 09:27:33 +08:00
Andrew Nicols 1c693f7226 MDL-53730 JavaScript: Build form-autocomplete 2016-05-06 09:27:33 +08:00
Adrian Greeve be8b9189c4 MDL-53730 JavaScript: Fix for competency autoselect issue.
When trying to select a user or competency the first select
would not work. Worked fine on the second select. This fixes
that problem and tidies up the code.
2016-05-06 09:27:32 +08:00
Eloy Lafuente (stronk7) 4ae653024d MDL-53944 dml: make char2real() for mysql to support decimals
- With the patch, 6 positions of scale accuracy are guaranteed
  per individual casted value.
- Backed with unit tests, both for varchar and clob.
- Added 2 missing tests about uses of the method with params
  and values.

Note: 6 was picked because looking to all databases implementation
postgres was found to be casting to real, aka, 6.
2016-05-06 09:27:32 +08:00
Frederic Massart 440b4c54ca MDL-53957 form: Support frontpage for selection in course element 2016-05-06 09:27:31 +08:00
Jun Pataleta 45b9207d7e MDL-53974 backup: Add option to backup course competencies 2016-05-06 09:27:31 +08:00
Adam Olley 11ee4f71a4 MDL-54007 mod_assign: Limit unit tests to core plugins
Without this change, the unit tests make assumptions for the output of
mod_assign functions/webservices that do not hold true when 3rd party
submission and feedback plugins are installed.
2016-05-06 09:27:31 +08:00
Skylar Kelty e594a6a8e9 MDL-53889 forms: Fix course field values after multiple value updates 2016-05-06 09:27:30 +08:00
Frederic Massart 043ae97239 MDL-54053 competencies: Teachers can rate competencies from a course 2016-05-06 09:27:30 +08:00
Frederic Massart 1eaba735f5 MDL-53730 form: Autocomplete triggers change event on change only 2016-05-06 09:27:29 +08:00
Stephen Bourget 456b8a602c MDL-54003 Behat: tests for recent badges block 2016-05-06 09:27:29 +08:00
Juan Leyva 3123c2cff5 MDL-53993 competency: Add CBE external functions to the Mobile service 2016-05-06 09:27:29 +08:00
Adrian Greeve 1a9068ae01 MDL-53888 mod_url: Choose a link option now works.
Fixed a regression from MDL-50484.
2016-05-06 09:27:28 +08:00
Ryan Wyllie d72fd8e28a MDL-53810 assign: Scroll for large rubrics on grading interface 2016-05-06 09:27:28 +08:00
Fred Woolard 1ac585fefd MDL-53713 core: account for session_start returning false 2016-05-06 09:27:27 +08:00
David Monllao 3032b16b3d MDL-53750 shibboleth: Passing a var to empty for PHP 5.4 2016-05-06 09:27:27 +08:00
Frederic Massart f824aceb50 MDL-51369 course: Adding tests to cover restoring course info 2016-05-06 09:27:27 +08:00
Frederic Massart 68bf1ff4b3 MDL-51369 backup: Respect capabilities when restoring course info
In short, when a user is creating a new course they can set
the ID number, shortname, fullname and summary. However, when
they merge a backup into a course they need the permissions to do so.
2016-05-06 09:27:26 +08:00
Frederic Massart da1296dd07 MDL-53954 user: Prevent locked profile fields from being edited 2016-05-06 09:27:26 +08:00
Andrew Nicols e90e0ea570 MDL-53755 forum: Check session when marking posts 2016-05-06 09:27:26 +08:00
Andrew Nicols 6b587d2be2 MDL-53696 forum: Check discussion in forum 2016-05-06 09:27:25 +08:00
John Okely f9ee3dbcc1 MDL-53750 auth: fix logout bug in shibboleth
Original patch by Dr. Michael Schneider
2016-05-06 09:27:25 +08:00
Tim Hunt b9cc7e01a1 MDL-53589 badges: fix capability check 2016-05-06 09:27:24 +08:00
Dan Marsden d4f96fa397 MDL-53546 SCORM: Set window.opener to null 2016-05-06 09:27:24 +08:00
Rajesh Taneja 45fb8b5983 MDL-53701 core_lib: use date_format_string for utf8
So when language is different say Hebrew then
it would pic codepage-1255. As  is json_encoded
we need to ensure we get utf8 string. so use
date_format_string instead
2016-05-05 16:34:41 +08:00
Jun Pataleta f8a5c98eb6 MDL-54056 gradingform_guide: Conditionally render comments chooser
Render the frequently-used comments only if there are defined
 frequently used comments
2016-05-05 10:29:23 +08:00
AMOS bot 1361cbb471 Automatically generated installer lang files 2016-05-05 00:04:24 +08:00
Juan Leyva 871988b0b4 MDL-54049 core_message: Add missing external format text 2016-05-04 12:52:45 +02:00
David Monllao 2e1dff9f98 MDL-54040 block_globalsearch: Centered 2016-05-04 15:59:07 +08:00
Andrew Nicols 0a4f3eb27d MDL-54026 WS: Convert type 'delete' => 'write'
This was not the type you were looking for.
2016-05-03 09:51:39 +08:00
Juan Leyva 9be3072d33 MDL-53976 mod_quiz: Add missing parameter preflightdata in WS
External functions view_attempt and view_attempt_summary are missing
the parameter preflightdata
2016-05-02 12:07:15 +02:00
Matteo Scaramuccia bc219382b7 MDL-53837 assign: Fix executable check for 'unoconv.py' on Windows. 2016-04-17 22:35:13 +02:00
Ramindu Deshapriya 4d08decb77 MDL-52708 core_admin: Added Behat test to automate MDLQA-8190 2016-04-15 00:04:57 +05:30
773 changed files with 8979 additions and 2958 deletions
+5
View File
@@ -1696,6 +1696,11 @@
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
</COMPATIBILITY_MATRIX>
@@ -0,0 +1,57 @@
@core @core_admin
Feature: Enable multiple accounts to have the same email address
In order to have multiple accounts registerd on the system with the same email address
As an admin
I need to enable multiple accounts to be registered with the same email address and verify it is applied
Background:
Given I log in as "admin"
Scenario: Enable registration of multiple accounts with the same email address
Given the following config values are set as admin:
| allowaccountssameemail | 1 |
When I navigate to "Add a new user" node in "Site administration>Users>Accounts"
And I set the following fields to these values:
| Username | testmultiemailuser1 |
| Choose an authentication method | Manual accounts |
| New password | test@User1 |
| First name | Test |
| Surname | Multi1 |
| Email address | testmultiemailuser@example.com |
And I press "Create user"
And I should see "Test Multi1"
And I press "Add a new user"
And I set the following fields to these values:
| Username | testmultiemailuser2 |
| Choose an authentication method | Manual accounts |
| New password | test@User2 |
| First name | Test |
| Surname | Multi2 |
| Email address | testmultiemailuser@example.com |
And I press "Create user"
Then I should see "Test Multi2"
And I should not see "This email address is already registered"
Scenario: Disable registration of multiple accounts with the same email address
Given the following config values are set as admin:
| allowaccountssameemail | 0 |
When I navigate to "Add a new user" node in "Site administration>Users>Accounts"
And I set the following fields to these values:
| Username | testmultiemailuser1 |
| Choose an authentication method | Manual accounts |
| New password | test@User1 |
| First name | Test |
| Surname | Multi1 |
| Email address | testmultiemailuser@example.com |
And I press "Create user"
And I should see "Test Multi1"
And I press "Add a new user"
And I set the following fields to these values:
| Username | testmultiemailuser2 |
| Choose an authentication method | Manual accounts |
| New password | test@User2 |
| First name | Test |
| Surname | Multi2 |
| Email address | testmultiemailuser@example.com |
And I press "Create user"
Then I should see "This email address is already registered"
+3 -3
View File
@@ -24,7 +24,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600;
$plugin->requires = 2015111000;
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->component = 'tool_assignmentupgrade';
$plugin->dependencies = array('mod_assign' => 2015111000);
$plugin->dependencies = array('mod_assign' => 2016051900);
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600;
$plugin->requires = 2015111000;
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->component = 'tool_availabilityconditions';
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // 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 = 2015111600; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2015111000; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->component = 'tool_capability'; // Full name of the plugin (used for diagnostics).
@@ -24,14 +24,14 @@
$string['acohortroleassignmentssaved'] = '{$a} cohort role assignments were saved.';
$string['assign'] = 'Assign';
$string['assignroletocohort'] = 'Assign role to users in the context of all members of these cohorts';
$string['backgroundsync'] = 'Note: Roles assigned on this page will not take affect immediately, the changes to role assignments will be made by a background task.';
$string['assignroletocohort'] = 'Assign user-context roles to all cohort members';
$string['backgroundsync'] = 'Note: New cohort role assignments will not take effect immediately. Role assignment changes will be made by a scheduled task.';
$string['cohortroleassignmentremoved'] = 'The cohort role assignment was removed.';
$string['cohortroleassignmentnotremoved'] = 'The cohort role assignment was not removed.';
$string['cohortroles'] = 'Cohort roles';
$string['existingcohortroles'] = 'Existing cohort role assignments';
$string['managecohortroles'] = 'Assign user roles for entire cohort';
$string['noassignableroles'] = 'No roles can be assigned at a user context level. <a href="../../roles/manage.php">Manage roles</a>';
$string['managecohortroles'] = 'Assign user roles to cohort';
$string['noassignableroles'] = 'There are currently no roles that can be assigned in the user context. <a href="../../roles/manage.php">Manage roles</a>';
$string['nocohortroleassignmentssaved'] = 'No cohort role assignments were saved.';
$string['onecohortroleassignmentsaved'] = 'One cohort role assignment was saved.';
$string['pluginname'] = 'Cohort roles management';
+2 -2
View File
@@ -25,8 +25,8 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111018; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014110400; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->component = 'tool_cohortroles'; // Full name of the plugin (used for diagnostics).
$plugin->dependencies = array(
+2 -2
View File
@@ -25,6 +25,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600;
$plugin->requires = 2015111000;
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$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 = 2015111600; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2015111000; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // 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 = 2015111600;
$plugin->requires = 2015111000;
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->component = 'tool_filetypes';
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600;
$plugin->requires = 2015111000;
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->component = 'tool_generator';
+2 -2
View File
@@ -25,8 +25,8 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // 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 = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // 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 = 2015111600;
$plugin->requires = 2015111000;
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->maturity = MATURITY_STABLE;
+2 -2
View File
@@ -25,6 +25,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'tool_langimport'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2015111000; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // 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 = 2015111600; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2015111000; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->component = 'logstore_legacy'; // Full name of the plugin (used for diagnostics).
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016041200; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2015111000; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // 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 = 2015111600; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2015111000; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->component = 'tool_log'; // Full name of the plugin (used for diagnostics).
+1 -1
View File
@@ -1 +1 @@
define(["core/str","core/yui"],function(a,b){var c=function(a){var b=a.drag.get("node"),c=a.drop.get("node");this.callback(b.getDOMNode(),c.getDOMNode())};return{dragdrop:function(d,e,f,g,h,i,j,k){a.get_strings([{key:"emptydragdropregion",component:"moodle"},{key:"movecontent",component:"moodle"},{key:"tocontent",component:"moodle"}]).done(function(){b.use("moodle-tool_lp-dragdrop-reorder",function(){var a={callback:k};M.tool_lp.dragdrop_reorder({group:d,dragHandleText:e,sameNodeText:f,parentNodeText:g,sameNodeClass:h,parentNodeClass:i,dragHandleInsertClass:j,callback:b.bind(c,a)})})})}}});
define(["core/str","core/yui"],function(a,b){var c=null,d=function(a){var b=a.drag.get("node"),c=a.drop.get("node");this.callback(b.getDOMNode(),c.getDOMNode())};return{dragdrop:function(e,f,g,h,i,j,k,l){a.get_strings([{key:"emptydragdropregion",component:"moodle"},{key:"movecontent",component:"moodle"},{key:"tocontent",component:"moodle"}]).done(function(){b.use("moodle-tool_lp-dragdrop-reorder",function(){var a={callback:l};c&&c.destroy(),c=M.tool_lp.dragdrop_reorder({group:e,dragHandleText:f,sameNodeText:g,parentNodeText:h,sameNodeClass:i,parentNodeClass:j,dragHandleInsertClass:k,callback:b.bind(d,a)})})})}}});
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
define(["jquery"],function(a){var b=function(b,c,d,e,f,g){this._baseUrl=d,this._userId=e+"",this._competencyId=f+"",this._courseId=g,this._ignoreFirstUser=!0,this._ignoreFirstCompetency=!0,a(b).on("change",this._userChanged.bind(this)),a(c).on("change",this._competencyChanged.bind(this))};return b.prototype._userChanged=function(b){if(this._ignoreFirstUser)return void(this._ignoreFirstUser=!1);var c=a(b.target).val(),d="?userid="+c+"&courseid="+this._courseId+"&competencyid="+this._competencyId;document.location=this._baseUrl+d},b.prototype._competencyChanged=function(b){if(this._ignoreFirstCompetency)return void(this._ignoreFirstCompetency=!1);var c=a(b.target).val(),d="?userid="+this._userId+"&courseid="+this._courseId+"&competencyid="+c;document.location=this._baseUrl+d},b.prototype._competencyId=null,b.prototype._userId=null,b.prototype._courseId=null,b.prototype._baseUrl=null,b.prototype._ignoreFirstUser=null,b.prototype._ignoreFirstCompetency=null,b});
define(["jquery"],function(a){var b=function(b,c,d,e,f,g){this._baseUrl=d,this._userId=e+"",this._competencyId=f+"",this._courseId=g,a(b).on("change",this._userChanged.bind(this)),a(c).on("change",this._competencyChanged.bind(this))};return b.prototype._userChanged=function(b){var c=a(b.target).val(),d="?userid="+c+"&courseid="+this._courseId+"&competencyid="+this._competencyId;document.location=this._baseUrl+d},b.prototype._competencyChanged=function(b){var c=a(b.target).val(),d="?userid="+this._userId+"&courseid="+this._courseId+"&competencyid="+c;document.location=this._baseUrl+d},b.prototype._competencyId=null,b.prototype._userId=null,b.prototype._courseId=null,b.prototype._baseUrl=null,b.prototype._ignoreFirstUser=null,b.prototype._ignoreFirstCompetency=null,b});
+11 -2
View File
@@ -22,9 +22,15 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define(['core/str', 'core/yui'], function(str, Y) {
// Private variables and functions.
/**
* Store the current instance of the core drag drop.
*
* @property dragDropInstance M.tool_lp.dragdrop_reorder
*/
var dragDropInstance = null;
/**
* Translate the drophit event from YUI
* into simple drag and drop nodes.
@@ -70,7 +76,10 @@ define(['core/str', 'core/yui'], function(str, Y) {
var context = {
callback: callback
};
M.tool_lp.dragdrop_reorder({
if (dragDropInstance) {
dragDropInstance.destroy();
}
dragDropInstance = M.tool_lp.dragdrop_reorder({
group: group,
dragHandleText: dragHandleText,
sameNodeText: sameNodeText,
+25 -13
View File
@@ -69,6 +69,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
up: 38,
right: 39,
down: 40,
eight: 56,
asterisk: 106
};
@@ -274,6 +275,8 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
Tree.prototype.handleKeyDown = function(item, e) {
var currentIndex = this.visibleItems.index(item);
var newItem = null;
var hasKeyModifier = e.shiftKey || e.ctrlKey || e.metaKey || e.altKey;
var thisObj = this;
switch (e.keyCode) {
case this.keys.home: {
@@ -282,7 +285,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
newItem.focus();
if (e.shiftKey) {
this.multiSelectItem(newItem);
} else if (!e.ctrlKey) {
} else if (!hasKeyModifier) {
this.selectItem(newItem);
}
@@ -295,7 +298,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
newItem.focus();
if (e.shiftKey) {
this.multiSelectItem(newItem);
} else if (!e.ctrlKey) {
} else if (!hasKeyModifier) {
this.selectItem(newItem);
}
@@ -307,7 +310,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
if (e.shiftKey) {
this.multiSelectItem(item);
} else if (e.ctrlKey) {
} else if (e.metaKey || e.ctrlKey) {
this.toggleItem(item);
} else {
this.selectItem(item);
@@ -327,7 +330,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
itemParent.focus();
if (e.shiftKey) {
this.multiSelectItem(itemParent);
} else if (!e.ctrlKey) {
} else if (!hasKeyModifier) {
this.selectItem(itemParent);
}
}
@@ -346,7 +349,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
newItem.focus();
if (e.shiftKey) {
this.multiSelectItem(newItem);
} else if (!e.ctrlKey) {
} else if (!hasKeyModifier) {
this.selectItem(newItem);
}
}
@@ -362,7 +365,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
prev.focus();
if (e.shiftKey) {
this.multiSelectItem(prev);
} else if (!e.ctrlKey) {
} else if (!hasKeyModifier) {
this.selectItem(prev);
}
}
@@ -377,7 +380,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
next.focus();
if (e.shiftKey) {
this.multiSelectItem(next);
} else if (!e.ctrlKey) {
} else if (!hasKeyModifier) {
this.selectItem(next);
}
}
@@ -386,9 +389,6 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
}
case this.keys.asterisk: {
// Expand all groups.
var thisObj = this;
this.parents.each(function() {
thisObj.expandGroup($(this));
});
@@ -396,6 +396,18 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
e.stopPropagation();
return false;
}
case this.keys.eight: {
if (e.shiftKey) {
// Expand all groups.
this.parents.each(function() {
thisObj.expandGroup($(this));
});
e.stopPropagation();
}
return false;
}
}
return true;
@@ -409,7 +421,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
* @param {Event} e The event.
*/
Tree.prototype.handleKeyPress = function(item, e) {
if (e.altKey || e.ctrlKey || e.shiftKey) {
if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) {
// Do nothing.
return true;
}
@@ -498,7 +510,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
*/
Tree.prototype.handleDblClick = function(item, e) {
if (e.altKey || e.ctrlKey || e.shiftKey) {
if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) {
// Do nothing.
return true;
}
@@ -540,7 +552,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
if (e.shiftKey) {
this.multiSelectItem(item);
} else if (e.ctrlKey) {
} else if (e.metaKey || e.ctrlKey) {
this.toggleItem(item);
} else {
this.selectItem(item);
@@ -38,8 +38,6 @@ define(['jquery'], function($) {
this._userId = userId + '';
this._competencyId = competencyId + '';
this._courseId = courseId;
this._ignoreFirstUser = true;
this._ignoreFirstCompetency = true;
$(userSelector).on('change', this._userChanged.bind(this));
$(competencySelector).on('change', this._competencyChanged.bind(this));
@@ -52,11 +50,6 @@ define(['jquery'], function($) {
* @param {Event} e
*/
UserCompetencyCourseNavigation.prototype._userChanged = function(e) {
if (this._ignoreFirstUser) {
this._ignoreFirstUser = false;
return;
}
var newUserId = $(e.target).val();
var queryStr = '?userid=' + newUserId + '&courseid=' + this._courseId + '&competencyid=' + this._competencyId;
document.location = this._baseUrl + queryStr;
@@ -69,10 +62,6 @@ define(['jquery'], function($) {
* @param {Event} e
*/
UserCompetencyCourseNavigation.prototype._competencyChanged = function(e) {
if (this._ignoreFirstCompetency) {
this._ignoreFirstCompetency = false;
return;
}
var newCompetencyId = $(e.target).val();
var queryStr = '?userid=' + this._userId + '&courseid=' + this._courseId + '&competencyid=' + newCompetencyId;
document.location = this._baseUrl + queryStr;
+1 -1
View File
@@ -58,7 +58,7 @@ class course_summary_exporter extends \core_competency\external\exporter {
'type' => PARAM_TEXT,
),
'idnumber' => array(
'type' => PARAM_TEXT,
'type' => PARAM_RAW,
)
);
}
@@ -24,6 +24,7 @@
namespace tool_lp\external;
use core_competency\api;
use core_competency\user_competency;
use context_course;
use renderer_base;
use stdClass;
@@ -72,6 +73,8 @@ class user_competency_summary_in_course_exporter extends \core_competency\extern
$related['usercompetency'] = null;
$exporter = new user_competency_summary_exporter(null, $related);
$result->usercompetencysummary = $exporter->export($output);
$result->usercompetencysummary->cangrade = user_competency::can_grade_user_in_course($this->related['user']->id,
$this->related['course']->id);
$context = context_course::instance($this->related['course']->id);
$exporter = new course_summary_exporter($this->related['course'], array('context' => $context));
+1 -1
View File
@@ -102,7 +102,7 @@ class competency extends persistent {
$mform->setType('description', PARAM_RAW);
// ID number.
$mform->addElement('text', 'idnumber', get_string('idnumber', 'tool_lp'), 'maxlength="100"');
$mform->setType('idnumber', PARAM_TEXT);
$mform->setType('idnumber', PARAM_RAW);
$mform->addRule('idnumber', null, 'required', null, 'client');
$mform->addRule('idnumber', get_string('maximumchars', '', 100), 'maxlength', 100, 'client');
@@ -65,7 +65,7 @@ class competency_framework extends persistent {
$mform->setType('description', PARAM_RAW);
// ID number.
$mform->addElement('text', 'idnumber', get_string('idnumber', 'tool_lp'), 'maxlength="100"');
$mform->setType('idnumber', PARAM_TEXT);
$mform->setType('idnumber', PARAM_RAW);
$mform->addRule('idnumber', null, 'required', null, 'client');
$mform->addRule('idnumber', get_string('maximumchars', '', 100), 'maxlength', 100, 'client');
+8
View File
@@ -73,6 +73,7 @@ $functions = array(
'type' => 'read',
'capabilities' => 'moodle/competency:coursecompetencyview',
'ajax' => true,
'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE),
),
'tool_lp_data_for_template_competencies_page' => array(
'classname' => 'tool_lp\external',
@@ -100,6 +101,7 @@ $functions = array(
'type' => 'read',
'capabilities' => 'moodle/competency:planviewown',
'ajax' => true,
'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE),
),
'tool_lp_data_for_plan_page' => array(
'classname' => 'tool_lp\external',
@@ -109,6 +111,7 @@ $functions = array(
'type' => 'read',
'capabilities' => 'moodle/competency:planview',
'ajax' => true,
'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE),
),
'tool_lp_data_for_related_competencies_section' => array(
'classname' => 'tool_lp\external',
@@ -147,6 +150,7 @@ $functions = array(
'type' => 'read',
'capabilities' => 'moodle/competency:userevidenceview',
'ajax' => true,
'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE),
),
'tool_lp_data_for_user_evidence_page' => array(
'classname' => 'tool_lp\external',
@@ -156,6 +160,7 @@ $functions = array(
'type' => 'read',
'capabilities' => 'moodle/competency:userevidenceview',
'ajax' => true,
'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE),
),
// User competency.
@@ -167,6 +172,7 @@ $functions = array(
'type' => 'read',
'capabilities' => 'moodle/competency:planview',
'ajax' => true,
'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE),
),
'tool_lp_data_for_user_competency_summary_in_plan' => array(
'classname' => 'tool_lp\external',
@@ -176,6 +182,7 @@ $functions = array(
'type' => 'read',
'capabilities' => 'moodle/competency:planview',
'ajax' => true,
'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE),
),
'tool_lp_data_for_user_competency_summary_in_course' => array(
'classname' => 'tool_lp\external',
@@ -185,6 +192,7 @@ $functions = array(
'type' => 'read',
'capabilities' => 'moodle/competency:coursecompetencyview',
'ajax' => true,
'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE),
),
);
+2
View File
@@ -144,6 +144,8 @@ $string['nfiles'] = '{$a} file(s)';
$string['noactivities'] = 'No activities';
$string['nocompetencies'] = 'No competencies have been created in this framework.';
$string['nocompetenciesincourse'] = 'No competencies have been linked to this course.';
$string['nocompetenciesinevidence'] = 'No competencies have been linked to this evidence.';
$string['nocompetenciesinlearningplan'] = 'No competencies have been linked to this learning plan.';
$string['nocompetenciesintemplate'] = 'No competencies have been linked to this learning plan template.';
$string['nocompetencyframeworks'] = 'No competency frameworks have been created yet.';
$string['nocompetencyselected'] = 'No competency selected';
+9 -3
View File
@@ -6,13 +6,14 @@
}
.path-admin-tool-lp .progresstext {
display: inline-block;
height: 40px;
vertical-align: top;
}
.path-admin-tool-lp .progress {
width: 100%;
display: inline-block;
margin-right: 2em;
}
.path-admin-tool-lp .progress .bar {
min-width: 3em;
}
.dir-rtl.path-admin-tool-lp .progress .bar {
float: right;
@@ -113,7 +114,8 @@
display: table-cell;
}
.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-outcome"] select,
.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-type"] select {
.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-type"] select,
.path-admin-tool-lp [data-region="competencylinktree"] select {
width: 100%;
}
@@ -219,6 +221,10 @@ input[type="checkbox"].tool_lp_scale_proficient {
.user-competency-course-navigation {
width: 240px;
}
.user-competency-course-navigation span {
max-width: 100%;
overflow: hidden;
}
/** Competency grader */
.competency-grader textarea {
@@ -31,7 +31,7 @@
<ul data-enhance="movetree" style="display: none;">
<li>
<span>{{framework.shortname}}</span>
<span>{{{framework.shortname}}}</span>
<ul>
{{#competencies}}
{{> tool_lp/competencies_tree }}
@@ -1,12 +1,12 @@
<li data-id="{{id}}">
{{#canmanage}}
<span draggable="true">
{{shortname}}
{{{shortname}}}
</span>
{{/canmanage}}
{{^canmanage}}
<span>
{{shortname}}
{{{shortname}}}
</span>
{{/canmanage}}
{{#haschildren}}
@@ -1,5 +1,5 @@
<ul data-enhance="tree">
<li><span>{{shortname}}</span>
<li><span>{{{shortname}}}</span>
<ul>
{{#competencies}}
{{> tool_lp/competencies_tree }}
@@ -39,10 +39,10 @@
}}
<nav id="competency-path-{{uniqid}}">
<small>
<a href="{{pluginbaseurl}}/competencies.php?competencyframeworkid={{framework.id}}&pagecontextid={{pagecontextid}}" >{{framework.name}}</a>
<a href="{{pluginbaseurl}}/competencies.php?competencyframeworkid={{framework.id}}&pagecontextid={{pagecontextid}}" >{{{framework.name}}}</a>
/
{{#ancestors}}
<a data-action="competency-dialogue" href="#" data-id="{{id}}">{{name}}</a>
<a data-action="competency-dialogue" href="#" data-id="{{id}}">{{{name}}}</a>
{{^last}}<span> / </span>{{/last}}
{{/ancestors}}
</small>
@@ -3,7 +3,7 @@
<h3>{{#str}}competencyframeworks, tool_lp{{/str}}</h3>
<select data-action="chooseframework">
{{#frameworks}}
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{shortname}} <em>{{idnumber}}</em></option>
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{shortname}}} <em>{{idnumber}}</em></option>
{{/frameworks}}
</select>
{{/singleFramework}}
@@ -15,7 +15,7 @@
<button>{{#pix}}a/search, ,{{#str}}search{{/str}}{{/pix}}</button>
</form>
<ul data-enhance="linktree" style="display: none;">
<li><span>{{framework.shortname}}</span>
<li><span>{{{framework.shortname}}}</span>
<ul>
{{#competencies}}
{{> tool_lp/competencies_tree }}
@@ -7,7 +7,7 @@
<button>{{#pix}}a/search, ,{{#str}}search{{/str}}{{/pix}}</button>
</form>
<ul data-enhance="linktree" style="display: none;">
<li data-id="0"><span>{{framework.shortname}}</span>
<li data-id="0"><span>{{{framework.shortname}}}</span>
<ul>
{{#competencies}}
{{> tool_lp/competencies_tree }}
@@ -3,7 +3,7 @@
<h3>{{#str}}learningplans, tool_lp{{/str}}</h3>
<select data-action="chooseplan">
{{#plans}}
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{name}}</em></option>
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{name}}}</option>
{{/plans}}
</select>
{{/singlePlan}}
@@ -17,7 +17,7 @@
</form>
<ul data-enhance="linktree" style="display: none;">
<li><span>{{plan.name}}</span>
<li><span>{{{plan.name}}}</span>
<ul>
{{#competencies}}
{{> tool_lp/competencies_tree }}
@@ -4,7 +4,7 @@
<label for="competency-nav-{{uniqid}}" class="accesshide">{{#str}}jumptocompetency, tool_lp{{/str}}</label>
<select id="competency-nav-{{uniqid}}">
{{#competencies}}
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{shortname}} {{idnumber}}</option>
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{shortname}}} {{idnumber}}</option>
{{/competencies}}
</select>
</span>
@@ -10,9 +10,15 @@
<tbody>
{{#children}}
<tr data-competency="{{id}}">
<th scope="row">{{shortname}}</th>
<td><input type="number" min="0" value="{{points}}" name="points" aria-label="{{#str}}pointsgivenfor, tool_lp, {{competency.shortname}}{{/str}}"></td>
<td><input type="checkbox" value="1" name="required" {{#required}}checked{{/required}} aria-label="{{#str}}aisrequired, tool_lp, {{competency.shortname}}{{/str}}"></td>
<th scope="row">{{{shortname}}}</th>
<td>
<label class="accesshide" for="pointsforcompetency-{{id}}">{{#str}}pointsgivenfor, tool_lp, {{{competency.shortname}}}{{/str}}</label>
<input id="pointsforcompetency-{{id}}" type="number" min="0" value="{{points}}" name="points" />
</td>
<td>
<label class="accesshide" for="competency-{{id}}-isrequired">{{#str}}aisrequired, tool_lp, {{{competency.shortname}}}{{/str}}</label>
<input id="competency-{{id}}-isrequired" type="checkbox" value="1" name="required" {{#required}}checked{{/required}} />
</td>
</tr>
{{/children}}
</tbody>
@@ -1,10 +1,10 @@
<div class='competency-heading'>
<h4 id="competency_link_{{competency.id}}">{{competency.shortname}}
<h4 id="competency_link_{{competency.id}}">{{{competency.shortname}}}
<small>{{competency.idnumber}}</small>
</h4>
{{#framework}}
<div class='competency-origin'>
<p><small>{{framework.shortname}} - {{taxonomyterm}}</small>
<p><small>{{{framework.shortname}}} - {{taxonomyterm}}</small>
</div>
{{/framework}}
</div>
@@ -66,7 +66,7 @@
<a href="{{pluginbaseurl}}user_competency_in_course.php?courseid={{courseid}}&competencyid={{competency.id}}&userid={{gradableuserid}}"
id="competency-info-link-{{competency.id}}"
title="{{#str}}viewdetails, tool_lp{{/str}}">
<p><strong>{{competency.shortname}} <em>{{competency.idnumber}}</em></strong></p>
<p><strong>{{{competency.shortname}}} <em>{{competency.idnumber}}</em></strong></p>
</a>
<p>{{{competency.description}}}</p>
{{/competency}}
@@ -108,7 +108,7 @@
</tbody>
</table>
{{^competencies}}
<p class="alert-info">
<p class="alert alert-info">
{{#str}}nocompetenciesincourse, tool_lp{{/str}}
</p>
{{/competencies}}
@@ -45,19 +45,13 @@
{{#competencycount}}
<div data-region="coursecompetencystatistics" class="well">
{{#canbegradedincourse}}
<div class="clearfix">
<div class="span6">
<div class="progresstext">
{{< tool_lp/progress_bar}}
{{$progresstext}}
{{#str}}xcompetenciesproficientoutofyincourse, tool_lp, { "x": "{{proficientcompetencycount}}", "y": "{{competencycount}}" } {{/str}}
</div>
</div>
<div class="span6">
<span class="pull-right label label-info">{{proficientcompetencypercentageformatted}} %</span>
<div class="progress">
<div class="bar" style="width: {{proficientcompetencypercentage}}%;"></div>
</div>
</div>
</div>
{{/progresstext}}
{{$percentage}}{{proficientcompetencypercentage}}{{/percentage}}
{{$percentlabel}}{{proficientcompetencypercentageformatted}}&nbsp;%{{/percentlabel}}
{{/tool_lp/progress_bar}}
{{/canbegradedincourse}}
{{#canmanagecoursecompetencies}}
{{#leastproficientcount}}
@@ -68,7 +62,7 @@
<div>
{{#leastproficient}}
<a href="#competency-info-link-{{id}}">
<div><p>{{shortname}} <em>{{idnumber}}</em></p></div>
<div><p>{{{shortname}}} <em>{{idnumber}}</em></p></div>
</a>
{{/leastproficient}}
</div>
@@ -32,7 +32,7 @@
}}
<div data-region="managecompetencies">
<h2>
{{framework.shortname}}
{{{framework.shortname}}}
{{#canmanage}}
<a href="{{pluginbaseurl}}/editcompetencyframework.php?id={{framework.id}}&pagecontextid={{pagecontextid}}&return=competencies">{{#pix}}t/edit, core, {{#str}}editcompetencyframework, tool_lp{{/str}}{{/pix}}</a>
{{/canmanage}}
@@ -121,7 +121,7 @@ require(['tool_lp/tree', 'tool_lp/competencytree', 'tool_lp/competencyactions',
function(ariatree, treeModel, actions, $) {
treeModel.init({{framework.id}},
'{{framework.shortname}}',
{{#quote}} {{{framework.shortname}}} {{/quote}},
'{{search}}',
'[data-enhance=tree]',
{{canmanage}});
@@ -34,7 +34,7 @@
* navigation - array of strings containing buttons for navigation
}}
<div data-region="managecompetencies">
<div class="btn-group pull-left">
<div class="pull-left">
{{#navigation}}
{{{.}}}
{{/navigation}}
@@ -52,7 +52,7 @@
<tbody class="drag-parentnode">
{{#competencyframeworks}}
<tr class="drag-samenode" data-frameworkid="{{id}}">
<td><span class="drag-handlecontainer"></span><span><a href="{{pluginbaseurl}}/competencies.php?competencyframeworkid={{id}}&amp;pagecontextid={{pagecontextid}}">{{shortname}} ({{idnumber}})</a></span> {{^visible}}{{#str}}hiddenhint, tool_lp{{/str}}{{/visible}}</td>
<td><span class="drag-handlecontainer"></span><span><a href="{{pluginbaseurl}}/competencies.php?competencyframeworkid={{id}}&amp;pagecontextid={{pagecontextid}}">{{{shortname}}} ({{idnumber}})</a></span> {{^visible}}{{#str}}hiddenhint, tool_lp{{/str}}{{/visible}}</td>
<td>{{competenciescount}}</td>
<td>{{contextnamenoprefix}}</td>
<td>
@@ -86,7 +86,7 @@
</tbody>
</table>
{{^competencyframeworks}}
<p class="alert-info">
<p class="alert alert-info">
{{#str}}nocompetencyframeworks, tool_lp{{/str}}
</p>
{{/competencyframeworks}}
@@ -32,7 +32,7 @@
* navigation - array of strings containing buttons for navigation
}}
<div data-region="managetemplates">
<div class="btn-group pull-left">
<div class="pull-left">
{{#navigation}}
{{{.}}}
{{/navigation}}
@@ -53,7 +53,7 @@
<tbody class="drag-parentnode">
{{#templates}}
<tr class="drag-samenode" data-templateid="{{id}}">
<td><a href="{{pluginbaseurl}}/templatecompetencies.php?templateid={{id}}&amp;pagecontextid={{pagecontextid}}">{{shortname}}</a></span> {{^visible}}{{#str}}hiddenhint, tool_lp{{/str}}{{/visible}}</td>
<td><a href="{{pluginbaseurl}}/templatecompetencies.php?templateid={{id}}&amp;pagecontextid={{pagecontextid}}">{{{shortname}}}</a></span> {{^visible}}{{#str}}hiddenhint, tool_lp{{/str}}{{/visible}}</td>
<td>{{contextnamenoprefix}}</td>
<td><a class="template-cohorts" href="{{pluginbaseurl}}/template_cohorts.php?id={{id}}&amp;pagecontextid={{pagecontextid}}">{{cohortscount}}</a></td>
<td><a class="template-userplans" href="{{pluginbaseurl}}/template_plans.php?id={{id}}&amp;pagecontextid={{pagecontextid}}">{{planscount}}</a></td>
@@ -98,7 +98,7 @@
</tbody>
</table>
{{^templates}}
<p class="alert-info">
<p class="alert alert-info">
{{#str}}notemplates, tool_lp{{/str}}
</p>
{{/templates}}
@@ -1,3 +1,3 @@
<p class="alert-error">
<p class="alert alert-error">
{{#str}}nocompetencyframeworks, tool_lp{{/str}}
</p>
+15 -14
View File
@@ -19,7 +19,7 @@
}}
<div data-region="plan-page" data-id="{{plan.id}}" data-userid="{{plan.userid}}">
<h2>
{{plan.name}}
{{{plan.name}}}
{{#plan.canbeedited}}
<a href="{{pluginbaseurl}}/editplan.php?id={{plan.id}}&amp;userid={{plan.userid}}">{{#pix}}t/edit, core, {{#str}}editplan, tool_lp{{/str}}{{/pix}}</a>
{{/plan.canbeedited}}
@@ -79,7 +79,7 @@
{{#canread}}
<a href="{{pluginbaseurl}}/templatecompetencies.php?templateid={{id}}&amp;pagecontextid={{contextid}}">
{{/canread}}
{{plan.template.shortname}}{{#canread}}</a>{{/canread}}
{{{plan.template.shortname}}}{{#canread}}</a>{{/canread}}
{{#plan.isunlinkallowed}}
(<a data-action="plan-unlink" href="#">{{#str}}unlinkplantemplate, tool_lp{{/str}}</a>)
{{/plan.isunlinkallowed}}
@@ -91,17 +91,13 @@
{{/description}}
<dt>{{#str}}progress, tool_lp{{/str}}</dt>
<dd>
<div class="span4">
<div class="progresstext">
{{#str}}xcompetenciesproficientoutofy, tool_lp, { "x": "{{proficientcompetencycount}}", "y": "{{competencycount}}" }{{/str}}
</div>
</div>
<div class="span4">
<span class="pull-right label label-info">{{proficientcompetencypercentageformatted}} %</span>
<div class="progress">
<div class="bar" style="width: {{proficientcompetencypercentage}}%;"></div>
</div>
</div>
{{< tool_lp/progress_bar}}
{{$progresstext}}
{{#str}}xcompetenciesproficientoutofy, tool_lp, { "x": "{{proficientcompetencycount}}", "y": "{{competencycount}}" }{{/str}}
{{/progresstext}}
{{$percentage}}{{proficientcompetencypercentage}}{{/percentage}}
{{$percentlabel}}{{proficientcompetencypercentageformatted}}&nbsp;%{{/percentlabel}}
{{/tool_lp/progress_bar}}
</dd>
</dl>
</div>
@@ -135,7 +131,7 @@
{{#plan.canbeedited}}
<span class="drag-handlecontainer pull-left"></span>
{{/plan.canbeedited}}
<a data-usercompetency="true" href="#">{{competency.shortname}}</a>
<a data-usercompetency="true" href="#">{{{competency.shortname}}}</a>
<em>{{competency.idnumber}}</em>
{{#comppath}}
<br>
@@ -184,6 +180,11 @@
{{/competencies}}
</tbody>
</table>
{{^competencies}}
<p class="alert alert-info">
{{#str}}nocompetenciesinlearningplan, tool_lp{{/str}}
</p>
{{/competencies}}
</div>
</div>
{{#js}}
+3 -3
View File
@@ -34,7 +34,7 @@
}}
<div data-region="plans">
<div class="btn-group pull-left">
<div class="pull-left">
{{#navigation}}
{{{.}}}
{{/navigation}}
@@ -53,7 +53,7 @@
{{#plans}}
<tr data-region="plan-node" data-id="{{id}}" data-userid="{{userid}}">
<td>
<span><a href="{{pluginbaseurl}}/plan.php?id={{id}}">{{name}}</a></span>
<span><a href="{{pluginbaseurl}}/plan.php?id={{id}}">{{{name}}}</a></span>
</td>
<td>
{{#isbasedontemplate}}
@@ -149,7 +149,7 @@
</table>
{{^plans}}
<p class="alert-info">
<p class="alert alert-info">
{{#str}}nouserplans, tool_lp{{/str}}
</p>
{{/plans}}
@@ -0,0 +1,57 @@
{{!
This file is part of Moodle - http://moodle.org/
Moodle is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Moodle is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
}}
{{!
@template tool_lp/progress_bar
Moodle progress bar template for tool_lp.
The purpose of this template is to render a progress bar with a brief description.
Inherits core/columns-1to2.
Classes required for JS:
* none
Data attributes required for JS:
* none
Context variables required for this template:
* progresstextvalue A brief text that describes the progress bar.
* percentagevalue The numeric value for the progress bar's percentage.
* percentlabelvalue The progress bar's label that shows the percentage value.
Example context (json):
{
"progresstextvalue": "Progress:",
"percentagevalue": "50",
"percentlabelvalue": "50.00 %"
}
}}
<div class="row-fluid rtl-compatible">
<div class="span4">
<div class="progresstext">
{{$progresstext}}{{progresstextvalue}}{{/progresstext}}
</div>
</div>
<div class="span8">
<div class="progress">
<div class="bar" style="width: {{$percentage}}{{percentagevalue}}{{/percentage}}%;" role="progressbar" aria-valuenow="{{$percentage}}{{percentagevalue}}{{/percentage}}" aria-valuemin="0" aria-valuemax="100">
{{$percentlabel}}{{percentlabelvalue}}{{/percentlabel}}
</div>
</div>
</div>
</div>
@@ -12,7 +12,7 @@
{{/showdeleterelatedaction}}
<p>
<a href="#" data-action="competency-dialogue" data-id="{{id}}">
{{shortname}}{{#idnumber}} {{idnumber}}{{/idnumber}}
{{{shortname}}}{{#idnumber}} {{idnumber}}{{/idnumber}}
</a>
</p>
</li>
@@ -19,7 +19,7 @@
}}
<div data-region="templatecompetenciespage">
<h2>
{{template.shortname}}
{{{template.shortname}}}
{{#template.canmanage}}
<a href="{{pluginbaseurl}}/edittemplate.php?id={{template.id}}&amp;pagecontextid={{pagecontextid}}">{{#pix}}t/edit, core, {{#str}}edittemplate, tool_lp{{/str}}{{/pix}}</a>
{{/template.canmanage}}
@@ -55,7 +55,7 @@
{{#hascourses}}
<ul class="inline">
{{#linkedcourses}}
<li><a href="{{viewurl}}?id={{id}}">{{fullname}} ({{shortname}})</a></li>
<li><a href="{{viewurl}}?id={{id}}">{{{fullname}}} ({{{shortname}}})</a></li>
{{/linkedcourses}}
</ul>
{{/hascourses}}
@@ -68,7 +68,7 @@
</div>
</div>
{{^competencies}}
<p class="alert-info">
<p class="alert alert-info">
{{#str}}nocompetenciesintemplate, tool_lp{{/str}}
</p>
{{/competencies}}
@@ -46,50 +46,30 @@
}}
{{#competencycount}}
<div data-region="templatestatistics" class="well">
<div class="clearfix">
<div class="span4">
<div class="progresstext">
{{#str}}xcompetencieslinkedoutofy, tool_lp, { "x": "{{linkedcompetencycount}}", "y": "{{competencycount}}" } {{/str}}
</div>
</div>
<div class="span6">
<span class="pull-right label label-info">{{linkedcompetencypercentageformatted}} %</span>
<div class="progress">
<div class="bar" style="width: {{linkedcompetencypercentage}}%;"></div>
</div>
</div>
</div>
{{< tool_lp/progress_bar}}
{{$progresstext}}
{{#str}}xcompetencieslinkedoutofy, tool_lp, { "x": "{{linkedcompetencycount}}", "y": "{{competencycount}}" } {{/str}}
{{/progresstext}}
{{$percentage}}{{linkedcompetencypercentage}}{{/percentage}}
{{$percentlabel}}{{linkedcompetencypercentageformatted}}&nbsp;%{{/percentlabel}}
{{/tool_lp/progress_bar}}
{{#plancount}}
<div class="clearfix">
<div class="span4">
<div class="progresstext">
{{< tool_lp/progress_bar}}
{{$progresstext}}
{{#str}}xplanscompletedoutofy, tool_lp, { "x": "{{completedplancount}}", "y": "{{plancount}}" } {{/str}}
</div>
</div>
<div class="span6">
<span class="pull-right label label-info">{{completedplanpercentageformatted}} %</span>
<div class="progress">
<div class="bar" style="width: {{completedplanpercentage}}%;">
</div>
</div>
</div>
</div>
{{/progresstext}}
{{$percentage}}{{completedplanpercentage}}{{/percentage}}
{{$percentlabel}}{{completedplanpercentageformatted}}&nbsp;%{{/percentlabel}}
{{/tool_lp/progress_bar}}
{{/plancount}}
{{#usercompetencyplancount}}
<div class="clearfix">
<div class="span4">
<div class="progresstext">
{{< tool_lp/progress_bar}}
{{$progresstext}}
{{#str}}averageproficiencyrate, tool_lp, {{proficientusercompetencyplanpercentageformatted}} {{/str}}
</div>
</div>
<div class="span6">
<span class="pull-right label label-info">{{proficientusercompetencyplanpercentageformatted}} %</span>
<div class="progress">
<div class="bar" style="width: {{proficientusercompetencyplanpercentage}}%;"></div>
</div>
</div>
</div>
{{/progresstext}}
{{$percentage}}{{proficientusercompetencyplanpercentage}}{{/percentage}}
{{$percentlabel}}{{proficientusercompetencyplanpercentageformatted}}&nbsp;%{{/percentlabel}}
{{/tool_lp/progress_bar}}
{{/usercompetencyplancount}}
{{#leastproficientcount}}
<div>
@@ -101,7 +81,7 @@
{{#showcompetencylinks}}
<a href="#competency_link_{{id}}">
{{/showcompetencylinks}}
<div><p>{{shortname}} <em>{{idnumber}}</em></p></div>
<div><p>{{{shortname}}} <em>{{idnumber}}</em></p></div>
{{#showcompetencylinks}}
</a>
{{/showcompetencylinks}}
@@ -17,7 +17,7 @@
<label for="competency-nav-{{uniqid}}" class="accesshide">{{#str}}jumptocompetency, tool_lp{{/str}}</label>
<select id="competency-nav-{{uniqid}}">
{{#competencies}}
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{shortname}} {{idnumber}}</option>
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{shortname}}} {{idnumber}}</option>
{{/competencies}}
</select>
</span>
@@ -33,7 +33,7 @@
}}
<div data-region="user-evidence-list">
<div class="btn-group pull-left">
<div class="pull-left">
{{#navigation}}
{{{.}}}
{{/navigation}}
@@ -53,7 +53,7 @@
<tbody>
{{#evidence}}
<tr data-region='user-evidence-node' data-id="{{id}}" data-userid="{{userid}}">
<td><a href="{{pluginbaseurl}}/user_evidence.php?id={{id}}">{{name}}</a></td>
<td><a href="{{pluginbaseurl}}/user_evidence.php?id={{id}}">{{{name}}}</a></td>
<td>
{{^hasurlorfiles}}
-
@@ -77,7 +77,7 @@
<ul class="user-evidence-competencies">
{{#usercompetencies}}
<li>
{{competency.shortname}} <small><em>{{competency.idnumber}}</em></small> ({{usercompetency.statusname}}{{#usercompetency.reviewer.fullname}} / {{usercompetency.reviewer.fullname}}{{/usercompetency.reviewer.fullname}})
{{{competency.shortname}}} <small><em>{{competency.idnumber}}</em></small> ({{usercompetency.statusname}}{{#usercompetency.reviewer.fullname}} / {{usercompetency.reviewer.fullname}}{{/usercompetency.reviewer.fullname}})
</li>
{{/usercompetencies}}
</ul>
@@ -123,7 +123,7 @@
</table>
{{^evidence}}
<p class="alert-info">{{#str}}nouserevidence, tool_lp{{/str}}</p>
<p class="alert alert-info">{{#str}}nouserevidence, tool_lp{{/str}}</p>
{{/evidence}}
</div>
@@ -31,7 +31,7 @@
{{#userevidence}}
<div data-region="user-evidence-page" data-id="{{id}}" data-userid="{{userid}}">
<h2>
{{name}}
{{{name}}}
{{#canmanage}}
<a href="{{pluginbaseurl}}/user_evidence_edit.php?id={{id}}&amp;userid={{userid}}">{{#pix}}t/edit, core, {{#str}}editthisuserevidence, tool_lp{{/str}}{{/pix}}</a>
{{/canmanage}}
@@ -78,7 +78,7 @@
{{#usercompetencies}}
<tr data-id="{{competency.id}}">
<td>
<a href="{{pluginbaseurl}}/user_competency.php?id={{usercompetency.id}}" data-id="{{usercompetency.id}}">{{competency.shortname}}</a>
<a href="{{pluginbaseurl}}/user_competency.php?id={{usercompetency.id}}" data-id="{{usercompetency.id}}">{{{competency.shortname}}}</a>
</td>
<td>
{{usercompetency.statusname}} {{#usercompetency.reviewer.fullname}} / {{usercompetency.reviewer.fullname}}{{/usercompetency.reviewer.fullname}}
@@ -94,6 +94,11 @@
{{/usercompetencies}}
</tbody>
</table>
{{^usercompetencies}}
<p class="alert alert-info">
{{#str}}nocompetenciesinevidence, tool_lp{{/str}}
</p>
{{/usercompetencies}}
</div>
</div>
+2 -2
View File
@@ -25,6 +25,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016020925; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014110400; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->component = 'tool_lp'; // Full name of the plugin (used for diagnostics).
@@ -65,7 +65,7 @@ Y.extend(DRAGREORDER, M.core.dragdrop, {
M.tool_lp = M.tool_lp || {};
M.tool_lp.dragdrop_reorder = function(params) {
new DRAGREORDER(params);
return new DRAGREORDER(params);
};
@@ -1 +1 @@
YUI.add("moodle-tool_lp-dragdrop-reorder",function(e,t){var n=function(){n.superclass.constructor.apply(this,arguments)},r={EDITINGMOVE:"editing_move",ICONCLASS:"iconsmall"};e.extend(n,M.core.dragdrop,{initializer:function(t){if(e.one("."+t.parentNodeClass).all("."+t.dragHandleInsertClass).size()<=1)return;this.groups=[t.group],this.samenodeclass=t.sameNodeClass,this.parentnodeclass=t.parentNodeClass,this.draghandleinsertclass=t.dragHandleInsertClass,this.draghandle=this.get_drag_handle(t.dragHandleText,r.EDITINGMOVE,r.ICONCLASS,!0),this.samenodelabel=t.sameNodeLabel,this.parentnodelabel=t.parentNodeLabel,this.callback=t.callback;var n=new e.DD.Delegate({container:"."+t.parentNodeClass,nodes:"."+t.sameNodeClass,target:!0,handles:["."+r.EDITINGMOVE],dragConfig:{groups:this.groups}});n.dd.plug(e.Plugin.DDProxy),e.one("."+t.parentNodeClass).all("."+t.dragHandleInsertClass).each(function(e){e.insert(this.draghandle.cloneNode(!0))},this)},drop_hit:function(e){this.callback(e)}},{NAME:"tool_lp-dragdrop-reorder",ATTRS:{}}),M.tool_lp=M.tool_lp||{},M.tool_lp.dragdrop_reorder=function(e){new n(e)}},"@VERSION@",{requires:["moodle-core-dragdrop"]});
YUI.add("moodle-tool_lp-dragdrop-reorder",function(e,t){var n=function(){n.superclass.constructor.apply(this,arguments)},r={EDITINGMOVE:"editing_move",ICONCLASS:"iconsmall"};e.extend(n,M.core.dragdrop,{initializer:function(t){if(e.one("."+t.parentNodeClass).all("."+t.dragHandleInsertClass).size()<=1)return;this.groups=[t.group],this.samenodeclass=t.sameNodeClass,this.parentnodeclass=t.parentNodeClass,this.draghandleinsertclass=t.dragHandleInsertClass,this.draghandle=this.get_drag_handle(t.dragHandleText,r.EDITINGMOVE,r.ICONCLASS,!0),this.samenodelabel=t.sameNodeLabel,this.parentnodelabel=t.parentNodeLabel,this.callback=t.callback;var n=new e.DD.Delegate({container:"."+t.parentNodeClass,nodes:"."+t.sameNodeClass,target:!0,handles:["."+r.EDITINGMOVE],dragConfig:{groups:this.groups}});n.dd.plug(e.Plugin.DDProxy),e.one("."+t.parentNodeClass).all("."+t.dragHandleInsertClass).each(function(e){e.insert(this.draghandle.cloneNode(!0))},this)},drop_hit:function(e){this.callback(e)}},{NAME:"tool_lp-dragdrop-reorder",ATTRS:{}}),M.tool_lp=M.tool_lp||{},M.tool_lp.dragdrop_reorder=function(e){return new n(e)}},"@VERSION@",{requires:["moodle-core-dragdrop"]});
@@ -65,7 +65,7 @@ Y.extend(DRAGREORDER, M.core.dragdrop, {
M.tool_lp = M.tool_lp || {};
M.tool_lp.dragdrop_reorder = function(params) {
new DRAGREORDER(params);
return new DRAGREORDER(params);
};
@@ -63,5 +63,5 @@ Y.extend(DRAGREORDER, M.core.dragdrop, {
M.tool_lp = M.tool_lp || {};
M.tool_lp.dragdrop_reorder = function(params) {
new DRAGREORDER(params);
return new DRAGREORDER(params);
};
@@ -110,7 +110,7 @@
<h4>{{#str}}unmappedin, tool_lpmigrate, {{frameworkfrom.shortname}}{{/str}}</h4>
<ul>
{{#unmappedfrom}}
<li><a href="#" data-id="{{id}}" data-action="competency-dialogue" data-includecourses="true">{{shortname}}</a> <em>{{idnumber}}</em></li>
<li><a href="#" data-id="{{id}}" data-action="competency-dialogue" data-includecourses="true">{{{shortname}}}</a> <em>{{idnumber}}</em></li>
{{/unmappedfrom}}
</ul>
{{/hasunmappedfrom}}
@@ -119,7 +119,7 @@
<h4>{{#str}}unmappedin, tool_lpmigrate, {{frameworkto.shortname}}{{/str}}</h4>
<ul>
{{#unmappedto}}
<li><a href="#" data-id="{{id}}" data-action="competency-dialogue" data-includecourses="true">{{shortname}}</a> <em>{{idnumber}}</em></li>
<li><a href="#" data-id="{{id}}" data-action="competency-dialogue" data-includecourses="true">{{{shortname}}}</a> <em>{{idnumber}}</em></li>
{{/unmappedto}}
</ul>
{{/hasunmappedto}}
+2 -2
View File
@@ -24,8 +24,8 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016022401; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014110400; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->component = 'tool_lpmigrate'; // Full name of the plugin (used for diagnostics).
$plugin->dependencies = array(
'tool_lp' => ANY_VERSION
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600;
$plugin->requires = 2015111000;
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$plugin->component = 'tool_messageinbound';
+1 -1
View File
@@ -62,7 +62,7 @@ class api {
'component' => $component,
'version' => $version,
'addon' => $addonname,
'dependencies' => !empty($addon['dependencies']) ? $addoninfo['dependencies'] : array(),
'dependencies' => !empty($addoninfo['dependencies']) ? $addoninfo['dependencies'] : array(),
'fileurl' => '',
'filehash' => '',
'filesize' => 0
+2 -2
View File
@@ -23,6 +23,6 @@
*/
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016032401; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016032400.00; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->component = 'tool_mobile'; // Full name of the plugin (used for diagnostics).
+2 -2
View File
@@ -26,6 +26,6 @@
defined('MOODLE_INTERNAL') || die;
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2015111000; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // 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 = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // 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 = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // 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 = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'tool_profiling'; // Full name of the plugin (used for diagnostics)
@@ -126,6 +126,9 @@ class category_bin extends base_bin {
throw new \moodle_exception('Failed to backup activity prior to deletion.');
}
// Have finished with the controller, let's destroy it, freeing mem and resources.
$controller->destroy();
// Grab the filename.
$file = $result['backup_destination'];
if (!$file->get_contenthash()) {
@@ -259,6 +262,9 @@ class category_bin extends base_bin {
// Run the import.
$controller->execute_plan();
// Have finished with the controller, let's destroy it, freeing mem and resources.
$controller->destroy();
// Fire event.
$event = \tool_recyclebin\event\category_bin_item_restored::create(array(
'objectid' => $item->id,
@@ -130,6 +130,9 @@ class course_bin extends base_bin {
throw new \moodle_exception('Failed to backup activity prior to deletion.');
}
// Have finished with the controller, let's destroy it, freeing mem and resources.
$controller->destroy();
// Grab the filename.
$file = $result['backup_destination'];
if (!$file->get_contenthash()) {
@@ -246,6 +249,9 @@ class course_bin extends base_bin {
// Run the import.
$controller->execute_plan();
// Have finished with the controller, let's destroy it, freeing mem and resources.
$controller->destroy();
// Fire event.
$event = \tool_recyclebin\event\course_bin_item_restored::create(array(
'objectid' => $item->id,
@@ -85,6 +85,8 @@ class tool_recyclebin_course_bin_tests extends advanced_testcase {
public function test_restore() {
global $DB;
$startcount = $DB->count_records('course_modules');
// Delete the course module.
course_delete_module($this->quiz->cmid);
@@ -95,7 +97,7 @@ class tool_recyclebin_course_bin_tests extends advanced_testcase {
}
// Check that it was restored and removed from the recycle bin.
$this->assertEquals(1, $DB->count_records('course_modules'));
$this->assertEquals($startcount, $DB->count_records('course_modules'));
$this->assertEquals(0, count($recyclebin->get_items()));
}
@@ -105,6 +107,8 @@ class tool_recyclebin_course_bin_tests extends advanced_testcase {
public function test_delete() {
global $DB;
$startcount = $DB->count_records('course_modules');
// Delete the course module.
course_delete_module($this->quiz->cmid);
@@ -115,7 +119,7 @@ class tool_recyclebin_course_bin_tests extends advanced_testcase {
}
// Item was deleted, so no course module was restored.
$this->assertEquals(0, $DB->count_records('course_modules'));
$this->assertEquals($startcount - 1, $DB->count_records('course_modules'));
$this->assertEquals(0, count($recyclebin->get_items()));
}
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016030200; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2015111000; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // 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 = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // 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
+2 -2
View File
@@ -25,7 +25,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600;
$plugin->requires = 2015111000;
$plugin->version = 2016052300;
$plugin->requires = 2016051900;
$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 = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'tool_task'; // Full name of the plugin (used for diagnostics)
+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 = 2015111600; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2015111000; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // 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 = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'tool_unsuproles'; // Full name of the plugin (used for diagnostics)
@@ -740,7 +740,6 @@ class tool_uploadcourse_course {
$this->error('errorwhilerestoringcourse', new lang_string('errorwhilerestoringthecourse', 'tool_uploadcourse'));
}
$rc->destroy();
unset($rc); // File logging is a mess, we can only try to rely on gc to close handles.
}
// Proceed with enrolment data.
@@ -35,13 +35,6 @@ global $CFG;
*/
class tool_uploadcourse_course_testcase extends advanced_testcase {
/**
* Tidy up open files that may be left open.
*/
protected function tearDown() {
gc_collect_cycles();
}
public function test_proceed_without_prepare() {
$this->resetAfterTest(true);
$mode = tool_uploadcourse_processor::MODE_CREATE_NEW;
@@ -129,7 +129,6 @@ class tool_uploadcourse_helper_testcase extends advanced_testcase {
$this->assertTrue(isset($result['backup_destination']));
$c1backupfile = $result['backup_destination']->copy_content_to_temp();
$bc->destroy();
unset($bc); // File logging is a mess, we can only try to rely on gc to close handles.
// Creating backup file.
$bc = new backup_controller(backup::TYPE_1COURSE, $c2->id, backup::FORMAT_MOODLE,
@@ -139,7 +138,6 @@ class tool_uploadcourse_helper_testcase extends advanced_testcase {
$this->assertTrue(isset($result['backup_destination']));
$c2backupfile = $result['backup_destination']->copy_content_to_temp();
$bc->destroy();
unset($bc); // File logging is a mess, we can only try to rely on gc to close handles.
$oldcfg = isset($CFG->keeptempdirectoriesonbackup) ? $CFG->keeptempdirectoriesonbackup : false;
$CFG->keeptempdirectoriesonbackup = true;
@@ -36,13 +36,6 @@ require_once($CFG->libdir . '/csvlib.class.php');
*/
class tool_uploadcourse_processor_testcase extends advanced_testcase {
/**
* Tidy up open files that may be left open.
*/
protected function tearDown() {
gc_collect_cycles();
}
public function test_basic() {
global $DB;
$this->resetAfterTest(true);
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2015111000; // Requires this Moodle version.
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version.
$plugin->component = 'tool_uploadcourse'; // Full name of the plugin (used for diagnostics).
+2 -2
View File
@@ -25,7 +25,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'tool_uploaduser'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,7 +24,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'tool_xmldb'; // Full name of the plugin (used for diagnostics)
+3 -3
View File
@@ -26,8 +26,8 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'auth_cas'; // Full name of the plugin (used for diagnostics)
$plugin->dependencies = array('auth_ldap' => 2015111000);
$plugin->dependencies = array('auth_ldap' => 2016051900);
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'auth_db'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die;
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'auth_email'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'auth_fc'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'auth_imap'; // Full name of the plugin (used for diagnostics)
+5 -2
View File
@@ -937,7 +937,9 @@ class auth_plugin_ldap extends auth_plugin_base {
// It isn't possible to just rely on the configured suspension attribute since
// things like active directory use bit masks, other things using LDAP might
// do different stuff as well.
$user->suspended = $this->is_user_suspended($user);
//
// The cast to int is a workaround for MDL-53959.
$user->suspended = (int)$this->is_user_suspended($user);
if (empty($user->lang)) {
$user->lang = $CFG->lang;
}
@@ -1012,7 +1014,8 @@ class auth_plugin_ldap extends auth_plugin_base {
if (!empty($updatekeys)) {
$newuser = new stdClass();
$newuser->id = $userid;
$newuser->suspended = $this->is_user_suspended((object) $newinfo);
// The cast to int is a workaround for MDL-53959.
$newuser->suspended = (int)$this->is_user_suspended((object) $newinfo);
foreach ($updatekeys as $key) {
if (isset($newinfo[$key])) {
+2 -2
View File
@@ -25,6 +25,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'auth_ldap'; // Full name of the plugin (used for diagnostics)
+1 -1
View File
@@ -22,5 +22,5 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
$string['auth_ltidescription'] = 'The LTI authentication plugin enables your site to behave as an LTI provider - this plugin works in conjunction with the LTI enrolment plugin by allowing external users to access a course or individual activities.';
$string['auth_ltidescription'] = 'The LTI authentication plugin, together with the \'Publish as LTI tool\' enrolment plugin, allows remote users to access selected courses and activities. In other words, Moodle functions as an LTI tool provider.';
$string['pluginname'] = 'LTI';
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2016040800; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016040700; // Requires this Moodle version (3.1).
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2016051900; // Requires this Moodle version (3.1).
$plugin->component = 'auth_lti'; // Full name of the plugin (used for diagnostics).
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'auth_manual'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'auth_mnet'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2015111600; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2015111000; // Requires this Moodle version
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2016051900; // Requires this Moodle version
$plugin->component = 'auth_nntp'; // Full name of the plugin (used for diagnostics)

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