Merge branch 'MDL-64161-master' of git://github.com/abgreeve/moodle

This commit is contained in:
Andrew Nicols 2018-11-27 11:36:42 +08:00
commit c45d11de06
3 changed files with 21 additions and 1 deletions

View File

@ -355,6 +355,10 @@ abstract class screen {
// Optional type.
if (!empty($msg)) {
$warnings[] = $msg;
if ($element instanceof \gradereport_singleview\local\ui\finalgrade) {
// This item wasn't changed so don't add to the changecount.
continue;
}
}
if (preg_match('/_(\d+)_(\d+)/', $varname, $matchelement)) {
$changecount[$matchelement[0]] = 1;

View File

@ -170,9 +170,11 @@ class finalgrade extends grade_attribute_format implements unique_value, be_disa
}
$gradestr->itemname = $this->grade->grade_item->get_name();
$errorstr = get_string($errorstr, 'grades', $gradestr);
return $errorstr;
}
// Only update grades if there are no errors.
$gradeitem->update_final_grade($userid, $finalgrade, 'singleview', $feedback, FORMAT_MOODLE);
return $errorstr;
return '';
}
}

View File

@ -101,3 +101,17 @@ Feature: We can bulk insert grades for students in a course
And the field "Override for Test assignment three" matches value "1"
And the field "Grade for Test assignment four" matches value "1.00"
And the field "Override for Test assignment four" matches value "1"
Scenario: I can not update grades if the value is out of bounds.
Given I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to "View > Grader report" in the course gradebook
And I follow "Single view for Test assignment one"
And I set the field "Perform bulk insert" to "1"
When I set the field "Insert value" to "-1"
And I press "Save"
Then I should see "The grade entered for Test assignment one for james (Student) 1 is less than the minimum allowed"
And I should see "The grade entered for Test assignment one for holly (Student) 2 is less than the minimum allowed"
And I should see "The grade entered for Test assignment one for anna (Student) 3 is less than the minimum allowed"
And I should see "The grade entered for Test assignment one for zac (Student) 4 is less than the minimum allowed"
And I should see "Grades were set for 0 items"