$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) {
$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']);
}
/**