MDL-57858 mod_assign: fix submissions count for assign with scales
This commit is contained in:
+5
-1
@@ -756,10 +756,14 @@ function assign_get_grade_details_for_print_overview(&$unmarkedsubmissions, $sql
|
||||
s.userid = g.userid AND
|
||||
s.assignment = g.assignment AND
|
||||
g.attemptnumber = s.attemptnumber
|
||||
LEFT JOIN {assign} a ON
|
||||
a.id = s.assignment
|
||||
WHERE
|
||||
( g.timemodified is NULL OR
|
||||
s.timemodified >= g.timemodified OR
|
||||
g.grade IS NULL ) AND
|
||||
g.grade IS NULL OR
|
||||
(g.grade = -1 AND
|
||||
a.grade < 0)) AND
|
||||
s.timemodified IS NOT NULL AND
|
||||
s.status = ? AND
|
||||
s.latest = 1 AND
|
||||
|
||||
@@ -1975,6 +1975,7 @@ class assign {
|
||||
|
||||
$params['assignid'] = $this->get_instance()->id;
|
||||
$params['submitted'] = ASSIGN_SUBMISSION_STATUS_SUBMITTED;
|
||||
$sqlscalegrade = $this->get_instance()->grade < 0 ? ' OR g.grade = -1' : '';
|
||||
|
||||
$sql = 'SELECT COUNT(s.userid)
|
||||
FROM {assign_submission} s
|
||||
@@ -1988,7 +1989,8 @@ 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 OR g.grade IS NULL '
|
||||
. $sqlscalegrade . ')';
|
||||
|
||||
return $DB->count_records_sql($sql, $params);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user