MDL-79541 core_grades: Fix singleview and user report selectors.

This commit is contained in:
Ilya Tregubov
2024-08-02 01:40:24 +00:00
committed by Jenkins
parent 1fd2f0364c
commit e2a8d063ee
2 changed files with 22 additions and 4 deletions
+10 -1
View File
@@ -53,11 +53,20 @@ class gradereport_singleview_renderer extends plugin_renderer_base {
// If a particular user option is selected (not in zero state).
if ($userid) { // A single user selected.
$user = core_user::get_user($userid);
$context = context_course::instance($course->id);
$hiddenuserfields = explode(',', get_config('core', 'hiddenuserfields'));
// Determine whether the user's email can be displayed.
$isemailvisible = !in_array('email', $hiddenuserfields) ||
has_capability('moodle/course:viewhiddenuserfields', $context);
$data['selectedoption'] = [
'image' => $this->user_picture($user, ['size' => 40, 'link' => false]),
'text' => fullname($user),
'additionaltext' => $user->email,
'additionaltext' => $isemailvisible ? $user->email : '',
];
$data['userid'] = $userid;
}
$this->page->requires->js_call_amd('gradereport_singleview/user', 'init');
+12 -3
View File
@@ -100,11 +100,20 @@ class gradereport_user_renderer extends plugin_renderer_base {
if (!is_null($userid)) {
if ($userid) { // A single user selected.
$user = core_user::get_user($userid);
$context = context_course::instance($course->id);
$hiddenuserfields = explode(',', get_config('core', 'hiddenuserfields'));
// Determine whether the user's email can be displayed.
$isemailvisible = !in_array('email', $hiddenuserfields) ||
has_capability('moodle/course:viewhiddenuserfields', $context);
$data['selectedoption'] = [
'image' => $this->user_picture($user, ['size' => 40, 'link' => false]),
'text' => fullname($user),
'additionaltext' => $user->email,
'image' => $this->user_picture($user, ['size' => 40, 'link' => false]),
'text' => fullname($user),
'additionaltext' => $isemailvisible ? $user->email : '',
];
$data['userid'] = $userid;
} else { // All users selected.
// Get the total number of users.
$defaultgradeshowactiveenrol = !empty($CFG->grade_report_showonlyactiveenrol);