diff --git a/grade/lib.php b/grade/lib.php index 94e5d799397..04eb90eb54d 100644 --- a/grade/lib.php +++ b/grade/lib.php @@ -889,7 +889,7 @@ class grade_plugin_info { function print_grade_page_head(int $courseid, string $active_type, ?string $active_plugin = null, $heading = false, bool $return = false, $buttons = false, bool $shownavigation = true, ?string $headerhelpidentifier = null, ?string $headerhelpcomponent = null, ?stdClass $user = null, ?action_bar $actionbar = null, $showtitle = true) { - global $CFG, $OUTPUT, $PAGE; + global $CFG, $OUTPUT, $PAGE, $USER; // Put a warning on all gradebook pages if the course has modules currently scheduled for background deletion. require_once($CFG->dirroot . '/course/lib.php'); @@ -974,7 +974,10 @@ function print_grade_page_head(int $courseid, string $active_type, ?string $acti $output = $OUTPUT->heading_with_help($heading, $headerhelpidentifier, $headerhelpcomponent); } else if (isset($user)) { $renderer = $PAGE->get_renderer('core_grades'); - $output = $OUTPUT->heading($renderer->user_heading($user, $courseid)); + // If the user is viewing their own grade report, no need to show the "Message" + // and "Add to contact" buttons in the user heading. + $showuserbuttons = $user->id != $USER->id; + $output = $renderer->user_heading($user, $courseid, $showuserbuttons); } else if (!empty($heading)) { $output = $OUTPUT->heading($heading); } diff --git a/grade/report/user/index.php b/grade/report/user/index.php index d772779613b..f13280029ae 100644 --- a/grade/report/user/index.php +++ b/grade/report/user/index.php @@ -160,7 +160,7 @@ if (has_capability('moodle/grade:viewall', $context)) { $report = new gradereport_user\report\user($courseid, $gpr, $context, $user->id, $viewasuser); $userheading = $gradesrenderer->user_heading($report->user, $courseid, false); - echo $OUTPUT->heading($userheading); + echo $userheading; if ($report->fill_table()) { echo $report->print_table(true); @@ -174,9 +174,7 @@ if (has_capability('moodle/grade:viewall', $context)) { $report = new gradereport_user\report\user($courseid, $gpr, $context, $userid, $viewasuser); $actionbar = new \gradereport_user\output\action_bar($context, $userview, $report->user->id, $currentgroup); - print_grade_page_head($courseid, 'report', 'user', - $gradesrenderer->user_heading($report->user, $courseid), - false, false, true, null, null, null, $actionbar); + print_grade_page_head($courseid, 'report', 'user', false, false, false, true, null, null, $report->user, $actionbar); if ($currentgroup && !groups_is_member($currentgroup, $userid)) { echo $OUTPUT->notification(get_string('groupusernotmember', 'error')); @@ -193,12 +191,9 @@ if (has_capability('moodle/grade:viewall', $context)) { // Students will see just their own report. // Create a report instance. $report = new gradereport_user\report\user($courseid, $gpr, $context, $userid ?? $USER->id); - $userheading = $gradesrenderer->user_heading($report->user, $courseid, false); // Print the page. - print_grade_page_head($courseid, 'report', 'user', ' '); - - echo $OUTPUT->heading($userheading); + print_grade_page_head($courseid, 'report', 'user', false, false, false, true, null, null, $report->user); if ($report->fill_table()) { echo $report->print_table(true); diff --git a/grade/templates/user_heading.mustache b/grade/templates/user_heading.mustache index 9455444bb87..55ef1665d15 100644 --- a/grade/templates/user_heading.mustache +++ b/grade/templates/user_heading.mustache @@ -57,7 +57,7 @@ {{{image}}}