Merge branch 'MDL-62768' of https://github.com/paulholden/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Wed, 4 Mar 2020 17:33:00 +0000 (18:33 +0100)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Wed, 4 Mar 2020 17:33:00 +0000 (18:33 +0100)
admin/tool/dataprivacy/createdatarequest.php
admin/tool/dataprivacy/mydatarequests.php
admin/tool/dataprivacy/resubmitrequest.php
admin/tool/dataprivacy/summary.php
admin/tool/policy/user.php

index 2124400..c29f197 100644 (file)
@@ -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();
index 0a4070a..037e244 100644 (file)
@@ -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();
index 4f3ef55..721052c 100644 (file)
@@ -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);
index 3b99ee3..611b5c7 100644 (file)
@@ -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();
index 56b5acb..104d259 100644 (file)
@@ -39,15 +39,29 @@ if ($userid != $USER->id) {
     if (!has_capability('tool/policy:acceptbehalf', $context)) {
         require_capability('tool/policy:viewacceptances', $context);
     }
+
+    $user = core_user::get_user($userid);
+    $PAGE->navigation->extend_for_user($user);
 }
 
+$title = get_string('policiesagreements', 'tool_policy');
+
 $PAGE->set_context($context);
 $PAGE->set_pagelayout('standard');
 $PAGE->set_url(new moodle_url('/admin/tool/policy/user.php', ['userid' => $userid]));
+$PAGE->set_title($title);
+
+if ($userid == $USER->id &&
+        ($profilenode = $PAGE->settingsnav->find('myprofile', null))) {
+
+    $profilenode->make_active();
+}
+
+$PAGE->navbar->add($title);
 
 $output = $PAGE->get_renderer('tool_policy');
 echo $output->header();
-echo $output->heading(get_string('policiesagreements', 'tool_policy'));
+echo $output->heading($title);
 $acceptances = new \tool_policy\output\acceptances($userid, $returnurl);
 echo $output->render($acceptances);
 $PAGE->requires->js_call_amd('tool_policy/acceptmodal', 'getInstance', [context_system::instance()->id]);