MDL-52901 mod_assign: Check due dates in external save_submission

This commit is contained in:
Juan Leyva
2016-03-08 00:12:29 +01:00
committed by Eloy Lafuente (stronk7)
parent ae66ed23b6
commit 711f9468d4
2 changed files with 16 additions and 3 deletions
+6 -3
View File
@@ -1681,9 +1681,12 @@ class mod_assign_external extends external_api {
$notices = array();
$submissiondata = (object)$params['plugindata'];
$assignment->save_submission($submissiondata, $notices);
if (!$assignment->submissions_open($USER->id)) {
$notices[] = get_string('duedatereached', 'assign');
} else {
$submissiondata = (object)$params['plugindata'];
$assignment->save_submission($submissiondata, $notices);
}
$warnings = array();
foreach ($notices as $notice) {
+10
View File
@@ -946,6 +946,16 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->assertEquals(0, count($result));
// Set up a due and cutoff passed date.
$instance->duedate = time() - WEEKSECS;
$instance->cutoffdate = time() - WEEKSECS;
$DB->update_record('assign', $instance);
$result = mod_assign_external::save_submission($instance->id, $submissionpluginparams);
$result = external_api::clean_returnvalue(mod_assign_external::save_submission_returns(), $result);
$this->assertCount(1, $result);
$this->assertEquals(get_string('duedatereached', 'assign'), $result[0]['item']);
}
/**