diff --git a/lib/upgrade.txt b/lib/upgrade.txt index 6c71317f254..176d6543940 100644 --- a/lib/upgrade.txt +++ b/lib/upgrade.txt @@ -111,6 +111,7 @@ information provided here is intended especially for developers. * The minifier library used by core_minify has been switched to https://github.com/matthiasmullie/minify - there are minor differences in minifier output. * context_header additional buttons can now have a class attribute provided in the link attributes. +* Webservice function mod_assign_get_submissions returns a new field 'gradingstatus' from each submission. === 3.1 === diff --git a/mod/assign/externallib.php b/mod/assign/externallib.php index bb9598380a1..b815f75e639 100644 --- a/mod/assign/externallib.php +++ b/mod/assign/externallib.php @@ -763,7 +763,8 @@ class mod_assign_external extends external_api { 'status' => $submissionrecord->status, 'attemptnumber' => $submissionrecord->attemptnumber, 'groupid' => $submissionrecord->groupid, - 'plugins' => self::get_plugins_data($assign, $submissionplugins, $submissionrecord) + 'plugins' => self::get_plugins_data($assign, $submissionplugins, $submissionrecord), + 'gradingstatus' => $assign->get_grading_status($submissionrecord->userid) ); $submissions[] = $submission; } @@ -840,7 +841,8 @@ class mod_assign_external extends external_api { 'groupid' => new external_value(PARAM_INT, 'group id'), 'assignment' => new external_value(PARAM_INT, 'assignment id', VALUE_OPTIONAL), 'latest' => new external_value(PARAM_INT, 'latest attempt', VALUE_OPTIONAL), - 'plugins' => new external_multiple_structure(self::get_plugin_structure(), 'plugins', VALUE_OPTIONAL) + 'plugins' => new external_multiple_structure(self::get_plugin_structure(), 'plugins', VALUE_OPTIONAL), + 'gradingstatus' => new external_value(PARAM_ALPHANUMEXT, 'Grading status.', VALUE_OPTIONAL), ), 'submission info', $required ); } diff --git a/mod/assign/tests/externallib_test.php b/mod/assign/tests/externallib_test.php index b97b84bb78b..3860001bb85 100644 --- a/mod/assign/tests/externallib_test.php +++ b/mod/assign/tests/externallib_test.php @@ -438,6 +438,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase { $submission = $assignment['submissions'][0]; $this->assertEquals($sid, $submission['id']); $this->assertCount(1, $submission['plugins']); + $this->assertEquals('notgraded', $submission['gradingstatus']); } /**