Merge branch 'MDL-67696-master' of https://github.com/JayChurchward/moodle
[moodle.git] / admin / tool / dataprivacy / resubmitrequest.php
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
17 /**
18  * Display the request reject + resubmit confirmation page.
19  *
20  * @copyright 2018 Andrew Nicols <andrew@nicols.co.uk>
21  * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
22  * @package tool_dataprivacy
23  */
25 require_once('../../../config.php');
27 $requestid = required_param('requestid', PARAM_INT);
28 $confirm = optional_param('confirm', null, PARAM_INT);
30 $PAGE->set_url(new moodle_url('/admin/tool/dataprivacy/resubmitrequest.php', ['requestid' => $requestid]));
32 require_login();
34 $PAGE->set_context(\context_system::instance());
35 require_capability('tool/dataprivacy:managedatarequests', $PAGE->context);
37 $manageurl = new moodle_url('/admin/tool/dataprivacy/datarequests.php');
39 $originalrequest = \tool_dataprivacy\api::get_request($requestid);
40 $user = \core_user::get_user($originalrequest->get('userid'));
41 $stringparams = (object) [
42         'username' => fullname($user),
43         'type' => \tool_dataprivacy\local\helper::get_shortened_request_type_string($originalrequest->get('type')),
44     ];
46 if (null !== $confirm && confirm_sesskey()) {
47     if ($originalrequest->get('type') == \tool_dataprivacy\api::DATAREQUEST_TYPE_DELETE
48         && !\tool_dataprivacy\api::can_create_data_deletion_request_for_other()) {
49         throw new required_capability_exception(context_system::instance(),
50             'tool/dataprivacy:requestdeleteforotheruser', 'nopermissions', '');
51     }
52     $originalrequest->resubmit_request();
53     redirect($manageurl, get_string('resubmittedrequest', 'tool_dataprivacy', $stringparams));
54 }
56 $heading = get_string('resubmitrequest', 'tool_dataprivacy', $stringparams);
57 $PAGE->set_title($heading);
58 $PAGE->set_heading($heading);
60 echo $OUTPUT->header();
62 $confirmstring = get_string('confirmrequestresubmit', 'tool_dataprivacy', $stringparams);
63 $confirmurl = new \moodle_url($PAGE->url, ['confirm' => 1]);
64 echo $OUTPUT->confirm($confirmstring, $confirmurl, $manageurl);
65 echo $OUTPUT->footer();