-
Bug
-
Resolution: Fixed
-
Critical
-
2.2.5, 2.3.2
-
MOODLE_22_STABLE, MOODLE_23_STABLE
-
MOODLE_22_STABLE, MOODLE_23_STABLE
-
MDL-36061_userid -
The refresh_grades function takes as an optional userid parameter, which it then proceeds to do absolutely nothing with. Looking at the code, there is a call to grade_update_mod_grades, which also can take an optional userid parameter, only we aren't passing it in. By not passing in this value, we are causing unnecessary work to be done in certain cases (like when a single grade has it's override flag removed) by forcing ALL grades to be refreshed instead of just the one we care about.
The following (from http://git.moodle.org/gw?p=moodle.git;a=blob;f=lib/grade/grade_item.php;h=12afe84e3930b769c3cd19829cc3e79c41604493;hb=HEAD)
lib/grade/grade_item.php |
1448: grade_update_mod_grades($activity)
|
should be replaced with this
lib/grade/grade_item.php |
1448: grade_update_mod_grades($activity,$userid)
|
- Discovered while testing
-
MDL-36520 mod_assign: clicking on the grade icon causes an error
-
- Closed
-
-
MDL-36521 mod_assign generates a PHP warning when you grade student
-
- Closed
-
-
MDL-36617 Enhance the unit tests for grade_item->refresh_grades()
-
- Closed
-
- will help resolve
-
MDL-36143 mod assign's SQL in get_user_grades_for_gradebook() pulls too many users
-
- Closed
-