mirror of
https://github.com/moodle/moodle.git
synced 2025-04-13 12:32:08 +02:00
MDL-77055 mod_scorm: Add SCORM options to get_scorms_by_courses WS
This commit is contained in:
parent
8dbb6183ff
commit
a75e81e6cf
@ -742,9 +742,17 @@ class mod_scorm_external extends external_api {
|
||||
}
|
||||
}
|
||||
|
||||
$result = array();
|
||||
$result['scorms'] = $returnedscorms;
|
||||
$result['warnings'] = $warnings;
|
||||
$settings = [
|
||||
[
|
||||
'name' => 'scormstandard',
|
||||
'value' => get_config('scorm', 'scormstandard'),
|
||||
]
|
||||
];
|
||||
$result = [
|
||||
'scorms' => $returnedscorms,
|
||||
'options' => $settings,
|
||||
'warnings' => $warnings
|
||||
];
|
||||
return $result;
|
||||
}
|
||||
|
||||
@ -813,6 +821,14 @@ class mod_scorm_external extends external_api {
|
||||
]
|
||||
), 'SCORM')
|
||||
),
|
||||
'options' => new external_multiple_structure(
|
||||
new external_single_structure(
|
||||
[
|
||||
'name' => new external_value(PARAM_RAW, 'Options name'),
|
||||
'value' => new external_value(PARAM_RAW, 'Option value')
|
||||
]
|
||||
), 'Global SCORM options', VALUE_OPTIONAL
|
||||
),
|
||||
'warnings' => new external_warnings(),
|
||||
)
|
||||
);
|
||||
|
@ -670,6 +670,12 @@ class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
$result = mod_scorm_external::get_scorms_by_courses(array($course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
// Test default SCORM settings.
|
||||
$this->assertCount(1, $result['options']);
|
||||
$this->assertEquals('scormstandard', $result['options'][0]['name']);
|
||||
$this->assertEquals(0, $result['options'][0]['value']);
|
||||
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
// Only 'id', 'coursemodule', 'course', 'name', 'intro', 'introformat', 'introfiles'.
|
||||
$this->assertCount(8, $result['scorms'][0]);
|
||||
@ -679,8 +685,17 @@ class externallib_test extends externallib_advanced_testcase {
|
||||
$scorm1->timeclose = $scorm1->timeopen + DAYSECS;
|
||||
$DB->update_record('scorm', $scorm1);
|
||||
|
||||
// Set the SCORM config values.
|
||||
set_config('scormstandard', 1, 'scorm');
|
||||
|
||||
$result = mod_scorm_external::get_scorms_by_courses(array($course1->id));
|
||||
$result = external_api::clean_returnvalue($returndescription, $result);
|
||||
|
||||
// Test SCORM settings.
|
||||
$this->assertCount(1, $result['options']);
|
||||
$this->assertEquals('scormstandard', $result['options'][0]['name']);
|
||||
$this->assertEquals(1, $result['options'][0]['value']);
|
||||
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
// Only 'id', 'coursemodule', 'course', 'name', 'intro', 'introformat', 'introfiles'.
|
||||
$this->assertCount(8, $result['scorms'][0]);
|
||||
@ -780,6 +795,7 @@ class externallib_test extends externallib_advanced_testcase {
|
||||
|
||||
// Call for the second course we unenrolled the user from, expected warning.
|
||||
$result = mod_scorm_external::get_scorms_by_courses(array($course2->id));
|
||||
$this->assertCount(1, $result['options']);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
$this->assertEquals('1', $result['warnings'][0]['warningcode']);
|
||||
$this->assertEquals($course2->id, $result['warnings'][0]['itemid']);
|
||||
|
@ -1,5 +1,8 @@
|
||||
This files describes API changes in the mod_scorm code.
|
||||
|
||||
=== 4.3 ===
|
||||
* Add SCORM options in get_scorms_by_courses() external/ws function.
|
||||
|
||||
=== 4.0 ===
|
||||
* Setting 'displayactivityname' has been removed from scorm. This will be handled by activityheader and is theme dependent.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user