From bff97f158efb68c1b90007dc8285147de74636d1 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Mon, 14 Oct 2019 19:52:46 +0100 Subject: [PATCH] MDL-62768 tool_dataprivacy: add page breadcrumbs to navigation. --- admin/tool/dataprivacy/createdatarequest.php | 10 +++++++++- admin/tool/dataprivacy/mydatarequests.php | 8 +++++++- admin/tool/dataprivacy/resubmitrequest.php | 12 +++--------- admin/tool/dataprivacy/summary.php | 7 +++++++ 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/admin/tool/dataprivacy/createdatarequest.php b/admin/tool/dataprivacy/createdatarequest.php index 2124400804c..c29f1975515 100644 --- a/admin/tool/dataprivacy/createdatarequest.php +++ b/admin/tool/dataprivacy/createdatarequest.php @@ -45,13 +45,22 @@ if ($manage) { $context = context_system::instance(); // Make sure the user has the proper capability. require_capability('tool/dataprivacy:managedatarequests', $context); + navigation_node::override_active_url($returnurl); } else { // For the case where a user makes request for themselves (or for their children if they are the parent). $returnurl = new moodle_url($CFG->wwwroot . '/admin/tool/dataprivacy/mydatarequests.php'); $context = context_user::instance($USER->id); } + $PAGE->set_context($context); +if (!$manage && $profilenode = $PAGE->settingsnav->find('myprofile', null)) { + $profilenode->make_active(); +} + +$title = get_string('createnewdatarequest', 'tool_dataprivacy'); +$PAGE->navbar->add($title); + // If contactdataprotectionofficer is disabled, send the user back to the profile page, or the privacy policy page. // That is, unless you have sufficient capabilities to perform this on behalf of a user. if (!$manage && !\tool_dataprivacy\api::can_contact_dpo()) { @@ -104,7 +113,6 @@ if ($data = $mform->get_data()) { redirect($returnurl, $redirectmessage); } -$title = get_string('createnewdatarequest', 'tool_dataprivacy'); $PAGE->set_heading($SITE->fullname); $PAGE->set_title($title); echo $OUTPUT->header(); diff --git a/admin/tool/dataprivacy/mydatarequests.php b/admin/tool/dataprivacy/mydatarequests.php index 0a4070a0104..037e244708e 100644 --- a/admin/tool/dataprivacy/mydatarequests.php +++ b/admin/tool/dataprivacy/mydatarequests.php @@ -42,6 +42,13 @@ if (isguestuser()) { $usercontext = context_user::instance($USER->id); $PAGE->set_context($usercontext); +if ($profilenode = $PAGE->settingsnav->find('myprofile', null)) { + $profilenode->make_active(); +} + +$title = get_string('datarequests', 'tool_dataprivacy'); +$PAGE->navbar->add($title); + // Return URL. $params = ['id' => $USER->id]; if ($courseid) { @@ -49,7 +56,6 @@ if ($courseid) { } $returnurl = new moodle_url('/user/profile.php', $params); -$title = get_string('datarequests', 'tool_dataprivacy'); $PAGE->set_heading($title); $PAGE->set_title($title); echo $OUTPUT->header(); diff --git a/admin/tool/dataprivacy/resubmitrequest.php b/admin/tool/dataprivacy/resubmitrequest.php index 4f3ef552d61..721052c9fa5 100644 --- a/admin/tool/dataprivacy/resubmitrequest.php +++ b/admin/tool/dataprivacy/resubmitrequest.php @@ -27,12 +27,10 @@ require_once('../../../config.php'); $requestid = required_param('requestid', PARAM_INT); $confirm = optional_param('confirm', null, PARAM_INT); -$PAGE->set_url(new moodle_url('/admin/tool/dataprivacy/resubmitrequest.php', ['requestid' => $requestid])); +$url = new moodle_url('/admin/tool/dataprivacy/resubmitrequest.php', ['requestid' => $requestid]); +$title = get_string('resubmitrequestasnew', 'tool_dataprivacy'); -require_login(); - -$PAGE->set_context(\context_system::instance()); -require_capability('tool/dataprivacy:managedatarequests', $PAGE->context); +\tool_dataprivacy\page_helper::setup($url, $title, 'datarequests', 'tool/dataprivacy:managedatarequests'); $manageurl = new moodle_url('/admin/tool/dataprivacy/datarequests.php'); @@ -53,10 +51,6 @@ if (null !== $confirm && confirm_sesskey()) { redirect($manageurl, get_string('resubmittedrequest', 'tool_dataprivacy', $stringparams)); } -$heading = get_string('resubmitrequest', 'tool_dataprivacy', $stringparams); -$PAGE->set_title($heading); -$PAGE->set_heading($heading); - echo $OUTPUT->header(); $confirmstring = get_string('confirmrequestresubmit', 'tool_dataprivacy', $stringparams); diff --git a/admin/tool/dataprivacy/summary.php b/admin/tool/dataprivacy/summary.php index 3b99ee3bcef..611b5c76bc4 100644 --- a/admin/tool/dataprivacy/summary.php +++ b/admin/tool/dataprivacy/summary.php @@ -34,6 +34,13 @@ $PAGE->set_context($context); $PAGE->set_title($title); $PAGE->set_heading($SITE->fullname); +// If user is logged in, then use profile navigation in breadcrumbs. +if ($profilenode = $PAGE->settingsnav->find('myprofile', null)) { + $profilenode->make_active(); +} + +$PAGE->navbar->add($title); + $output = $PAGE->get_renderer('tool_dataprivacy'); echo $output->header(); $summarypage = new \tool_dataprivacy\output\summary_page(); -- 2.43.0