diff --git a/mod/assign/gradingtable.php b/mod/assign/gradingtable.php index a168a0bdf41..57df5a04c86 100644 --- a/mod/assign/gradingtable.php +++ b/mod/assign/gradingtable.php @@ -166,15 +166,17 @@ class assign_grading_table extends table_sql implements renderable { // The filters do not make sense when there are no submissions, so do not apply them. if ($this->assignment->is_any_submission_plugin_enabled()) { if ($filter == ASSIGN_FILTER_SUBMITTED) { - $where .= ' AND s.timecreated > 0 '; - } - if ($filter == ASSIGN_FILTER_REQUIRE_GRADING) { + $where .= ' AND (s.timemodified IS NOT NULL AND + s.status = :submitted) '; + $params['submitted'] = ASSIGN_SUBMISSION_STATUS_SUBMITTED; + + } else if ($filter == ASSIGN_FILTER_REQUIRE_GRADING) { $where .= ' AND (s.timemodified IS NOT NULL AND s.status = :submitted AND (s.timemodified > g.timemodified OR g.timemodified IS NULL))'; $params['submitted'] = ASSIGN_SUBMISSION_STATUS_SUBMITTED; - } - if (strpos($filter, ASSIGN_FILTER_SINGLE_USER) === 0) { + + } else if (strpos($filter, ASSIGN_FILTER_SINGLE_USER) === 0) { $userfilter = (int) array_pop(explode('=', $filter)); $where .= ' AND (u.id = :userid)'; $params['userid'] = $userfilter;