mirror of
https://github.com/moodle/moodle.git
synced 2025-03-18 22:50:19 +01:00
MDL-48861 assign: Fix the "needs grading" filter
When auto-creating a new grade record - do not set the timemodified > than the submission timemodified
This commit is contained in:
parent
7cf70b0d97
commit
9d3c6b95c7
@ -1518,7 +1518,7 @@ class assign {
|
||||
s.assignment = :assignid AND
|
||||
s.timemodified IS NOT NULL AND
|
||||
s.status = :submitted AND
|
||||
(s.timemodified > g.timemodified OR g.timemodified IS NULL OR g.grade IS NULL)';
|
||||
(s.timemodified > g.timemodified OR g.timemodified IS NULL)';
|
||||
|
||||
return $DB->count_records_sql($sql, $params);
|
||||
}
|
||||
@ -2890,9 +2890,10 @@ class assign {
|
||||
if (!$userid) {
|
||||
$userid = $USER->id;
|
||||
}
|
||||
$submission = null;
|
||||
|
||||
$params = array('assignment'=>$this->get_instance()->id, 'userid'=>$userid);
|
||||
if ($attemptnumber < 0) {
|
||||
if ($attemptnumber < 0 || $create) {
|
||||
// Make sure this grade matches the latest submission attempt.
|
||||
if ($this->get_instance()->teamsubmission) {
|
||||
$submission = $this->get_group_submission($userid, 0, true);
|
||||
@ -2918,7 +2919,14 @@ class assign {
|
||||
$grade->assignment = $this->get_instance()->id;
|
||||
$grade->userid = $userid;
|
||||
$grade->timecreated = time();
|
||||
$grade->timemodified = $grade->timecreated;
|
||||
// If we are "auto-creating" a grade - and there is a submission
|
||||
// the new grade should not have a more recent timemodified value
|
||||
// than the submission.
|
||||
if ($submission) {
|
||||
$grade->timemodified = $submission->timemodified;
|
||||
} else {
|
||||
$grade->timemodified = $grade->timecreated;
|
||||
}
|
||||
$grade->grade = -1;
|
||||
$grade->grader = $USER->id;
|
||||
if ($attemptnumber >= 0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user