MDL-80746 core_course: fix group_selector rendering

This change:
- Fixes the group_selector constructor, removing the unnecessarily
deprecated param (this code is main-only, so no need to deprecate) and
fixes all calling code.
- moves the button and content into separate named_templatable
renderables, cleaning up the group_selector code so that it only needs
to make a single call to render and doesn't concern itself with contexts
of other renderables.
This commit is contained in:
Jake Dallimore 2024-09-16 15:18:50 +08:00 committed by Mihail Geshoski
parent 8d1cdf6f8e
commit c648839070
8 changed files with 151 additions and 45 deletions

View file

@ -106,7 +106,7 @@ class action_bar extends \core_grades\output\action_bar {
if ($course->groupmode) {
$data['groupselector'] = $actionbarrenderer->render(
new \core_course\output\actionbar\group_selector(null, $this->context));
new \core_course\output\actionbar\group_selector($this->context));
}
$resetlink = new moodle_url('/grade/report/grader/index.php', ['id' => $courseid]);

View file

@ -146,8 +146,7 @@ class singleview extends grade_report {
protected static function groups_course_menu(stdClass $course) {
global $PAGE;
$renderer = $PAGE->get_renderer('core', 'course');
return $renderer->render(new \core_course\output\actionbar\group_selector(null, $PAGE->context));
return $PAGE->get_renderer('core', 'course')->render(new \core_course\output\actionbar\group_selector($PAGE->context));
}
/**

View file

@ -94,7 +94,7 @@ class action_bar extends \core_grades\output\action_bar {
$userreportrenderer = $PAGE->get_renderer('gradereport_user');
$course = get_course($courseid);
if ($course->groupmode) {
$groupselector = new \core_course\output\actionbar\group_selector(null, $this->context);
$groupselector = new \core_course\output\actionbar\group_selector($this->context);
$data['groupselector'] = $PAGE->get_renderer('core_course')->render($groupselector);
}
$data['userselector'] = [