diff --git a/mod/assign/gradingtable.php b/mod/assign/gradingtable.php index 7747ed2218c..24b3b0b7b92 100644 --- a/mod/assign/gradingtable.php +++ b/mod/assign/gradingtable.php @@ -321,6 +321,11 @@ class assign_grading_table extends table_sql implements renderable { $where .= '))'; $params['submitted'] = ASSIGN_SUBMISSION_STATUS_SUBMITTED; + } else if ($filter == ASSIGN_FILTER_GRADED) { + $where .= ' AND (s.timemodified IS NOT NULL AND + s.timemodified < g.timemodified AND g.grade IS NOT NULL)'; + $params['submitted'] = ASSIGN_SUBMISSION_STATUS_SUBMITTED; + } else if ($filter == ASSIGN_FILTER_GRANTED_EXTENSION) { $where .= ' AND uf.extensionduedate > 0 '; diff --git a/mod/assign/lang/en/assign.php b/mod/assign/lang/en/assign.php index b23a6b4f19d..0759b06d94a 100644 --- a/mod/assign/lang/en/assign.php +++ b/mod/assign/lang/en/assign.php @@ -312,6 +312,7 @@ $string['filesubmissions'] = 'File submissions'; $string['filter'] = 'Filter'; $string['filterall'] = 'All'; $string['filterdraft'] = 'Draft'; +$string['filtergraded'] = 'Graded'; $string['filtergrantedextension'] = 'Granted extension'; $string['filternone'] = 'No filter'; $string['filternotsubmitted'] = 'Not submitted'; diff --git a/mod/assign/locallib.php b/mod/assign/locallib.php index 81fbea6afdf..3458eeddd5c 100644 --- a/mod/assign/locallib.php +++ b/mod/assign/locallib.php @@ -38,6 +38,7 @@ define('ASSIGN_FILTER_SUBMITTED', 'submitted'); define('ASSIGN_FILTER_NOT_SUBMITTED', 'notsubmitted'); define('ASSIGN_FILTER_SINGLE_USER', 'singleuser'); define('ASSIGN_FILTER_REQUIRE_GRADING', 'requiregrading'); +define('ASSIGN_FILTER_GRADED', 'graded'); define('ASSIGN_FILTER_GRANTED_EXTENSION', 'grantedextension'); define('ASSIGN_FILTER_DRAFT', 'draft'); @@ -9591,6 +9592,7 @@ class assign { ASSIGN_FILTER_DRAFT, ASSIGN_FILTER_SUBMITTED, ASSIGN_FILTER_REQUIRE_GRADING, + ASSIGN_FILTER_GRADED, ], [ ASSIGN_FILTER_GRANTED_EXTENSION, diff --git a/mod/assign/tests/locallib_test.php b/mod/assign/tests/locallib_test.php index 9b850bbbdf9..452ddc3085c 100644 --- a/mod/assign/tests/locallib_test.php +++ b/mod/assign/tests/locallib_test.php @@ -4295,7 +4295,7 @@ Anchor link 2:Link text $assign = $this->create_instance($course); $valid = $assign->get_filters(); - $this->assertEquals(count($valid), 6); + $this->assertEquals(count($valid), 7); } /**