Commit graph

60238 commits

Author SHA1 Message Date
David Monllao
3a4d76ac3d MDL-38805 behat: Externalized behat_form_field loader 2013-04-01 12:32:25 +08:00
David Monllao
e7a0600b88 MDL-38804 behat: Step definition to set site administration settings 2013-04-01 12:31:48 +08:00
David Monllao
4569bc7ce8 MDL-38804 behat: New test
According to MDLQA-1780, a teacher can
set completion conditions to restrict
the availability of a section
2013-04-01 12:31:47 +08:00
David Monllao
693969b5c1 MDL-38815 behat: New test
According to MDLQA-1768, a file can be
deleted from the file manager.
2013-04-01 12:28:27 +08:00
David Monllao
5bc64b0fab MDL-38814 behat: Deleting old files 2013-04-01 12:22:43 +08:00
David Monllao
95932c376b DML-38814 behat: Split steps definitions tests into features 2013-04-01 12:22:40 +08:00
David Monllao
d87bbb3d3d MDL-38814 behat: Move filepicker steps definitions to repository/ 2013-04-01 12:16:57 +08:00
David Monllao
1c00d6f636 MDL-38788 behat: Add a block and add an activity steps definitions compatible with JS disabled 2013-04-01 11:18:33 +08:00
David Monllao
cd7ea8f0cc MDL-38788 behat: Generic form elements interaction compatibile with JS disabled 2013-04-01 11:18:33 +08:00
David Monllao
c94a0d1890 MDL-38788 behat: New tests with Javascript disabled
Add a block and add an activity/resource
tests. The add an activity with JS disabled
test includes MDLQA-2446 automation.
2013-04-01 11:17:45 +08:00
Jonathon Fowler
c8845ca917 MDL-38705 qformat_blackboard_six: use qti title as category name
Specifically, the title on the 'assessment' element is used.
2013-03-31 14:00:01 +10:00
Mary Evans
46b086f145 MDL-38657 theme_base: fixes misalignment issue in User Report page. 2013-03-31 02:13:51 +01:00
Tim Hunt
dc1ee5cb29 MDL-34640 question repsponse files: remaining tidy up of this code. 2013-03-30 21:16:18 +00:00
Mathieu Petit-Clair
d0782585c8 MDL-34640: adding code to pass contextid and question type to question_file_loader. 2013-03-30 19:57:03 +00:00
Tim Hunt
8a1e7b7756 MDL-34640 quesion reponse files: PARTIAL SOLUTION to allowing resonse files to be graded automatically. 2013-03-30 19:53:15 +00:00
Tim Hunt
0561fdf167 MDL-38809 quiz manual grading: delete expensive unnecssary code. 2013-03-30 17:25:52 +00:00
David Mudrák
b2a138a20f MDL-38509 Escalate the maturity level of the plugin
The API is considered stable now and there should not be a need to
change it.
2013-03-29 01:30:00 +01:00
David Mudrák
0a6a344d29 MDL-38509 Add hook for the installaddonrequest into admin/index.php
If the user selects a plugin in Moodle plugins directory to be installed
into their site, Moodle plugins directory will redirect them into their
site's admin/index.php script, providing the installaddonrequest
parameter.

This patch makes sure that only if the user is logged-in as the admin
and the site is fully installed and up-to-date, the add-on installation
request will be dispatched to the tool_installaddon for actual
processing.

We need to store the installaddonrequest value in the $PAGE's URL so
that is is stored in $SESSION->wantsurl in case the user needs to log in
at their site. Thanks to this, the request is dispatched after the user
logs in.
2013-03-29 01:00:16 +01:00
David Mudrák
af96f120e9 MDL-38509 Add ability to install add-ons from the remote repository
There is a new hook in the index.php file. If valid HTTP parameter
installaddonrequest is detected, the installer asks the administrator to
confirm the request.

If confirmed, the installer calls download.moodle.org/api/1.2/pluginfo.php
service to get information about the given plugin version. The essential
data are the URL of the ZIP to download and the MD5 hash of the ZIP.
These data must be fetched via HTTPS to protect against MiM attack.

If the ZIP is downloaded and the MD5 content hash is correct, the user
is redirected to the previously implemented ZIP validation page, as if
the ZIP was uploaded manually.

The valid format of the installaddonrequest is documented via the
test_decode_remote_request() unit test method.
2013-03-29 00:16:06 +01:00
Rex Lorenzo
c4dbfb2c91 MDL-35603 - Backup - Course import selector notice
* added new config option to determine length of courses returned by import
* added text indicator if there are more than X number of courses, similar to how the restore course list currently works
2013-03-28 15:24:51 -07:00
Matteo Scaramuccia
fd10686843 MDL-38745 SCORM: fixed appending 'API logging is on|off', once per launch 2013-03-28 22:28:06 +01:00
Matteo Scaramuccia
cc351edaf0 MDL-38745 SCORM: fixed doubling double quotes for 'even' and 'odd' 2013-03-28 22:28:03 +01:00
Matteo Scaramuccia
fe104762c9 MDL-38678 SCORM: Runtime Environment (RTE) checks not required in case of SCO Assets 2013-03-28 22:22:19 +01:00
Matteo Scaramuccia
0f7d527816 MDL-38790 Repositories: missing call to setType in 'My private files' form 2013-03-28 22:12:53 +01:00
Colin Chambers
c7218aef8d MDL-36570 question editing: group answer/choice fields better. 2013-03-28 17:25:45 +00:00
Tim Hunt
595708884a MDL-38538 quiz auto-save front end.
1. There is a new admin setting to control whether this feature is
enabled. The admin can set the auto-save frequency to 1, 2 or 5 minutes,
or disable it.

2. When autosave is enabled, there is code in the quiz that monitors the
main quiz form, and does an ajax save call at the given frequency when
changes are being made by the student.

3. The ajax saves go to a new script that calls the question engine to
do the work.

4. To avoid simultaneous autosave + submit and finish, the auto-save
system shuts down shortly before time expires in a timed quiz.
2013-03-28 16:57:24 +00:00
Tim Hunt
0a606a2be2 MDL-38538 question auto-save back end.
1. Autosave works in some ways just like a normal save. We ultimately
call $behaviour->process_save() to do the work, and create a new step to
hold the data.

2. However, we come in through a completely different route through the
API, starting with separate auto-save methods. This keeps the auto-save
changes mostly separate, and so reduced the chance of breaking existing
working code.

3. When the time comes to store the auto-save step in the database, we
save it using a negative sequence number.

This is a clever trick that not only distinguises these steps, but also
avoids unique key errors when an auto-save and a real action happen
simultaneously. (There are unit tests for these tricky edge cases.)

4. When we load the data back from the database, most of the time the
auto-save steps are loaded back as if they were a real save, and so the
auto-saved data is used when the question is then rendered.

5. However, before we process another action, we remove the auto-saved
step, so it does not appear in the final history.
2013-03-28 16:51:59 +00:00
Tim Hunt
eca230b521 MDL-38538 question unit tests: improve things a bit.
1. Split the question_attempt tests into one class per file.
2. Imporve the API to give tests more control, and to test more of the
   important code. Some of this is not used here, but it is about to be.
2013-03-28 16:05:34 +00:00
David Mudrák
399ddcc73e MDL-38509 Move the tool node in the navigation
The "Install add-ons" should appear just below Site administration >
Plugins, before the "Activity modules".
2013-03-28 11:54:07 +01:00
David Mudrák
b7f6442670 MDL-38509 Fix the communication protocol with Moodle plugins directory
Implements the behaviour currently specified at
http://docs.moodle.org/dev/On-click_add-on_installation
2013-03-28 11:54:06 +01:00
David Mudrák
59a2cc8d38 MDL-38509 Add the script that finally deploys the validated ZIP contents 2013-03-28 11:54:06 +01:00
David Mudrák
a143984a36 MDL-38509 Add strings for the new admin tool 2013-03-28 11:54:06 +01:00
David Mudrák
cbd125e85d MDL-38509 Implement the ZIP package validation page
The script validate.php expects a ZIP file stored in a temporary
location. It extracts the ZIP (optionally renaming the root directory)
and executes the validator. Then it renders the validator log messages
and continue buttons.
2013-03-28 11:54:06 +01:00
David Mudrák
07083b230b MDL-38509 Add new tool_installaddon_installer::extract_installfromzip_file() method 2013-03-28 11:54:06 +01:00
David Mudrák
585b64a607 MDL-38509 Save uploaded ZIP into a temporary location and redirect to validator 2013-03-28 11:54:06 +01:00
David Mudrák
30bec5ba8d MDL-38509 Add new tool_installaddon_installer::get_plugintype_root() method 2013-03-28 11:54:06 +01:00
David Mudrák
a4fcf56f0a MDL-38509 Implement the plugin ZIP package validator
The validator code contains (modified) fragments of the
local_plugins_archive_validator class copyrighted by Marina Glancy that
is part of the local_plugins plugin. It operates over an extracted
copy of the ZIP file.
2013-03-28 11:54:06 +01:00
David Mudrák
ddab904ba8 MDL-38509 Check for writable plugin type location in install from ZIP form
Standard mform validation is implemented as well as progressively
enhanced AJAX version.
2013-03-28 11:54:05 +01:00
David Mudrák
2459758b30 MDL-38509 Mark the new installaddon admin tool as the standard plugin 2013-03-28 11:54:05 +01:00
David Mudrák
0056f2a37b MDL-38509 Initial version of the new admin tool to install add-ons 2013-03-28 11:54:05 +01:00
David Mudrák
b8efcb9233 MDL-38509 Implement new plugin_manager::plugintype_name()
This has exactly the same behaviour as the existing
plugintype_name_plural() method, but returns the singular form of the
plugin type (such as 'Activity module').
2013-03-28 11:54:05 +01:00
David Mudrák
ce1a0d3cd8 MDL-38509 Implement new plugin_manager::get_plugin_types()
This new method just takes the result of the core get_plugin_types() and
re-orders the plugin types in the same way as they are displayed at the
Plugins overview screen.
2013-03-28 11:54:05 +01:00
David Mudrák
c2c4f722b5 MDL-38509 Document the plugin deployment lockers in config-dist.php 2013-03-28 11:54:05 +01:00
David Mudrák
e91670edc0 MDL-38493 Improve documentation of mdeploy.php 2013-03-28 11:54:05 +01:00
David Mudrák
203b432159 MDL-38493 Make mdeploy.php able to install new plugin
The patch implements the second mode of the mdeploy.php script. If
--install option is passed, the given package is downloaded, verified
and deployed to the requested location.
2013-03-28 11:54:05 +01:00
sam marshall
71638033eb MDL-26956 (3) Enrol: Add filter options to enrolments screen 2013-03-28 10:46:36 +00:00
sam marshall
d953b18495 MDL-26956 (2) Forms: Function to render form to string
Previously it was only possible to display the form immediately as
HTML output. You had to wrap in an output buffer in order to put
it in a renderer. This new function does the output buffer for you.
2013-03-28 10:46:33 +00:00
sam marshall
b2ec866fc7 MDL-26956 (1) Library: Move search SQL function to datalib
This function used to be in the user selector, but it is useful in
other areas where we want to search for users as it handles a number
of search options (including extra fields, etc.) and returns SQL
which can be included in a joined query.

A unit test has been added to check the results of these searches.
2013-03-28 10:45:12 +00:00
David Monllao
eff79d5378 MDL-38787 behat: Move to the new Javascript-based test class manager 2013-03-28 16:59:18 +08:00
Damyon Wiese
d8201d49d8 weekly release 2.5dev 2013-03-28 14:44:31 +08:00