Merge branch 'MDL-52999-master' of git://github.com/jleyva/moodle
This commit is contained in:
@@ -1639,9 +1639,11 @@ class mod_assign_external extends external_api {
|
||||
$pluginsubmissionparams = array();
|
||||
|
||||
foreach ($instance->get_submission_plugins() as $plugin) {
|
||||
$pluginparams = $plugin->get_external_parameters();
|
||||
if (!empty($pluginparams)) {
|
||||
$pluginsubmissionparams = array_merge($pluginsubmissionparams, $pluginparams);
|
||||
if ($plugin->is_visible()) {
|
||||
$pluginparams = $plugin->get_external_parameters();
|
||||
if (!empty($pluginparams)) {
|
||||
$pluginsubmissionparams = array_merge($pluginsubmissionparams, $pluginparams);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1716,9 +1718,11 @@ class mod_assign_external extends external_api {
|
||||
$pluginfeedbackparams = array();
|
||||
|
||||
foreach ($instance->get_feedback_plugins() as $plugin) {
|
||||
$pluginparams = $plugin->get_external_parameters();
|
||||
if (!empty($pluginparams)) {
|
||||
$pluginfeedbackparams = array_merge($pluginfeedbackparams, $pluginparams);
|
||||
if ($plugin->is_visible()) {
|
||||
$pluginparams = $plugin->get_external_parameters();
|
||||
if (!empty($pluginparams)) {
|
||||
$pluginfeedbackparams = array_merge($pluginfeedbackparams, $pluginparams);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1856,9 +1860,11 @@ class mod_assign_external extends external_api {
|
||||
$pluginfeedbackparams = array();
|
||||
|
||||
foreach ($instance->get_feedback_plugins() as $plugin) {
|
||||
$pluginparams = $plugin->get_external_parameters();
|
||||
if (!empty($pluginparams)) {
|
||||
$pluginfeedbackparams = array_merge($pluginfeedbackparams, $pluginparams);
|
||||
if ($plugin->is_visible()) {
|
||||
$pluginparams = $plugin->get_external_parameters();
|
||||
if (!empty($pluginparams)) {
|
||||
$pluginfeedbackparams = array_merge($pluginfeedbackparams, $pluginparams);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -513,7 +513,7 @@ class assign_feedback_comments extends assign_feedback_plugin {
|
||||
public function get_external_parameters() {
|
||||
$editorparams = array('text' => new external_value(PARAM_RAW, 'The text for this feedback.'),
|
||||
'format' => new external_value(PARAM_INT, 'The format for this feedback'));
|
||||
$editorstructure = new external_single_structure($editorparams);
|
||||
$editorstructure = new external_single_structure($editorparams, 'Editor structure', VALUE_OPTIONAL);
|
||||
return array('assignfeedbackcomments_editor' => $editorstructure);
|
||||
}
|
||||
|
||||
|
||||
@@ -682,7 +682,8 @@ class assign_feedback_file extends assign_feedback_plugin {
|
||||
return array(
|
||||
'files_filemanager' => new external_value(
|
||||
PARAM_INT,
|
||||
'The id of a draft area containing files for this feedback.'
|
||||
'The id of a draft area containing files for this feedback.',
|
||||
VALUE_OPTIONAL
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -528,7 +528,8 @@ class assign_submission_file extends assign_submission_plugin {
|
||||
return array(
|
||||
'files_filemanager' => new external_value(
|
||||
PARAM_INT,
|
||||
'The id of a draft area containing files for this submission.'
|
||||
'The id of a draft area containing files for this submission.',
|
||||
VALUE_OPTIONAL
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -618,7 +618,7 @@ class assign_submission_onlinetext extends assign_submission_plugin {
|
||||
$editorparams = array('text' => new external_value(PARAM_TEXT, 'The text for this submission.'),
|
||||
'format' => new external_value(PARAM_INT, 'The format for this submission'),
|
||||
'itemid' => new external_value(PARAM_INT, 'The draft area id for files attached to the submission'));
|
||||
$editorstructure = new external_single_structure($editorparams);
|
||||
$editorstructure = new external_single_structure($editorparams, 'Editor structure', VALUE_OPTIONAL);
|
||||
return array('onlinetext_editor' => $editorstructure);
|
||||
}
|
||||
|
||||
|
||||
@@ -1557,4 +1557,47 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Test subplugins availability
|
||||
*/
|
||||
public function test_subplugins_availability() {
|
||||
global $CFG;
|
||||
|
||||
require_once($CFG->dirroot . '/mod/assign/adminlib.php');
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
// Hide assignment file submissiong plugin.
|
||||
$pluginmanager = new assign_plugin_manager('assignsubmission');
|
||||
$pluginmanager->hide_plugin('file');
|
||||
$parameters = mod_assign_external::save_submission_parameters();
|
||||
|
||||
$this->assertTrue(!isset($parameters->keys['plugindata']->keys['files_filemanager']));
|
||||
|
||||
// Show it again and check that the value is returned as optional.
|
||||
$pluginmanager->show_plugin('file');
|
||||
$parameters = mod_assign_external::save_submission_parameters();
|
||||
$this->assertTrue(isset($parameters->keys['plugindata']->keys['files_filemanager']));
|
||||
$this->assertEquals(VALUE_OPTIONAL, $parameters->keys['plugindata']->keys['files_filemanager']->required);
|
||||
|
||||
// Hide feedback file submissiong plugin.
|
||||
$pluginmanager = new assign_plugin_manager('assignfeedback');
|
||||
$pluginmanager->hide_plugin('file');
|
||||
|
||||
$parameters = mod_assign_external::save_grade_parameters();
|
||||
|
||||
$this->assertTrue(!isset($parameters->keys['plugindata']->keys['files_filemanager']));
|
||||
|
||||
// Show it again and check that the value is returned as optional.
|
||||
$pluginmanager->show_plugin('file');
|
||||
$parameters = mod_assign_external::save_grade_parameters();
|
||||
|
||||
$this->assertTrue(isset($parameters->keys['plugindata']->keys['files_filemanager']));
|
||||
$this->assertEquals(VALUE_OPTIONAL, $parameters->keys['plugindata']->keys['files_filemanager']->required);
|
||||
|
||||
// Check a different one.
|
||||
$pluginmanager->show_plugin('comments');
|
||||
$this->assertTrue(isset($parameters->keys['plugindata']->keys['assignfeedbackcomments_editor']));
|
||||
$this->assertEquals(VALUE_OPTIONAL, $parameters->keys['plugindata']->keys['assignfeedbackcomments_editor']->required);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user