MDL-57858 mod_assign: fix submissions count for assign with scales

This commit is contained in:
Pavel Sokolov
2017-03-31 12:01:03 +03:00
parent af97a17395
commit 26ce8a1f15
2 changed files with 8 additions and 2 deletions
+5 -1
View File
@@ -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
+3 -1
View File
@@ -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);
}