MDL-68618 mod_forum: stop reverting idnumber when updating instance.

This commit is contained in:
Paul Holden 2020-05-05 23:12:42 +01:00
parent a7d9b53e72
commit e9a5485f3e
2 changed files with 7 additions and 4 deletions

View file

@ -265,9 +265,12 @@ class forum_gradeitem extends component_gradeitem {
$DB->update_record($this->get_table_name(), $grade); $DB->update_record($this->get_table_name(), $grade);
// Update in the gradebook. // Update in the gradebook (note that 'cmidnumber' is required in order to update grades).
$mapper = forum_container::get_legacy_data_mapper_factory()->get_forum_data_mapper(); $mapper = forum_container::get_legacy_data_mapper_factory()->get_forum_data_mapper();
forum_update_grades($mapper->to_legacy_object($this->forum), $grade->userid); $forumrecord = $mapper->to_legacy_object($this->forum);
$forumrecord->cmidnumber = $this->forum->get_course_module_record()->idnumber;
forum_update_grades($forumrecord, $grade->userid);
return true; return true;
} }

View file

@ -808,13 +808,13 @@ function forum_print_recent_activity($course, $viewfullnames, $timestart) {
function forum_update_grades($forum, $userid = 0): void { function forum_update_grades($forum, $userid = 0): void {
global $CFG, $DB; global $CFG, $DB;
require_once($CFG->libdir.'/gradelib.php'); require_once($CFG->libdir.'/gradelib.php');
$cm = get_coursemodule_from_instance('forum', $forum->id);
$forum->cmidnumber = $cm->idnumber;
$ratings = null; $ratings = null;
if ($forum->assessed) { if ($forum->assessed) {
require_once($CFG->dirroot.'/rating/lib.php'); require_once($CFG->dirroot.'/rating/lib.php');
$cm = get_coursemodule_from_instance('forum', $forum->id);
$rm = new rating_manager(); $rm = new rating_manager();
$ratings = $rm->get_user_grades((object) [ $ratings = $rm->get_user_grades((object) [
'component' => 'mod_forum', 'component' => 'mod_forum',