MDL-46842 assign: Fix for unit tests - previous patch was completely ignoring manually reopening attempts.
This commit is contained in:
@@ -1778,9 +1778,10 @@ class assign {
|
||||
* Update a grade in the grade table for the assignment and in the gradebook.
|
||||
*
|
||||
* @param stdClass $grade a grade record keyed on id
|
||||
* @param bool $reopenattempt If the attempt reopen method is manual, allow another attempt at this assignment.
|
||||
* @return bool true for success
|
||||
*/
|
||||
public function update_grade($grade) {
|
||||
public function update_grade($grade, $reopenattempt = false) {
|
||||
global $DB;
|
||||
|
||||
$grade->timemodified = time();
|
||||
@@ -1825,9 +1826,11 @@ class assign {
|
||||
} else {
|
||||
$submission = $this->get_user_submission($grade->userid, false);
|
||||
}
|
||||
$this->reopen_submission_if_required($grade->userid,
|
||||
$submission,
|
||||
false);
|
||||
if ($submission && $submission->attemptnumber == $grade->attemptnumber) {
|
||||
$this->reopen_submission_if_required($grade->userid,
|
||||
$submission,
|
||||
$reopenattempt);
|
||||
}
|
||||
|
||||
// Only push to gradebook if the update is for the latest attempt.
|
||||
// Not the latest attempt.
|
||||
@@ -6303,7 +6306,7 @@ class assign {
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->update_grade($grade);
|
||||
$this->update_grade($grade, !empty($formdata->addattempt));
|
||||
// Note the default if not provided for this option is true (e.g. webservices).
|
||||
// This is for backwards compatibility.
|
||||
if (!isset($formdata->sendstudentnotifications) || $formdata->sendstudentnotifications) {
|
||||
|
||||
Reference in New Issue
Block a user