diff --git a/admin/tool/dataprivacy/createdatarequest.php b/admin/tool/dataprivacy/createdatarequest.php index b5121f14cca..cd7f575ea7a 100644 --- a/admin/tool/dataprivacy/createdatarequest.php +++ b/admin/tool/dataprivacy/createdatarequest.php @@ -57,7 +57,7 @@ if (!\tool_dataprivacy\api::can_contact_dpo()) { redirect($returnurl, get_string('contactdpoviaprivacypolicy', 'tool_dataprivacy'), \core\output\notification::NOTIFY_ERROR); } -$mform = new tool_dataprivacy_data_request_form($url->out(false)); +$mform = new tool_dataprivacy_data_request_form($url->out(false), ['manage' => !empty($manage)]); // Data request cancelled. if ($mform->is_cancelled()) { @@ -68,7 +68,13 @@ if ($mform->is_cancelled()) { if ($data = $mform->get_data()) { \tool_dataprivacy\api::create_data_request($data->userid, $data->type, $data->comments); - redirect($returnurl, get_string('requestsubmitted', 'tool_dataprivacy')); + if ($manage) { + $foruser = core_user::get_user($data->userid); + $redirectmessage = get_string('datarequestcreatedforuser', 'tool_dataprivacy', fullname($foruser)); + } else { + $redirectmessage = get_string('requestsubmitted', 'tool_dataprivacy'); + } + redirect($returnurl, $redirectmessage); } $title = get_string('contactdataprotectionofficer', 'tool_dataprivacy'); diff --git a/admin/tool/dataprivacy/createdatarequest_form.php b/admin/tool/dataprivacy/createdatarequest_form.php index c02d9d4ffa4..680b93afb85 100644 --- a/admin/tool/dataprivacy/createdatarequest_form.php +++ b/admin/tool/dataprivacy/createdatarequest_form.php @@ -38,6 +38,9 @@ require_once($CFG->libdir.'/formslib.php'); */ class tool_dataprivacy_data_request_form extends moodleform { + /** @var bool Flag to indicate whether this form is being rendered for managing data requests or for regular requests. */ + protected $manage = false; + /** * Form definition. * @@ -49,7 +52,8 @@ class tool_dataprivacy_data_request_form extends moodleform { global $DB, $USER; $mform =& $this->_form; - if (api::is_site_dpo($USER->id)) { + $this->manage = $this->_customdata['manage']; + if ($this->manage) { $options = [ 'ajax' => 'tool_dataprivacy/form-user-selector', 'multiple' => false diff --git a/admin/tool/dataprivacy/lang/en/tool_dataprivacy.php b/admin/tool/dataprivacy/lang/en/tool_dataprivacy.php index 6b34085585e..8b089c7283f 100644 --- a/admin/tool/dataprivacy/lang/en/tool_dataprivacy.php +++ b/admin/tool/dataprivacy/lang/en/tool_dataprivacy.php @@ -67,6 +67,7 @@ $string['dataprivacy:managedatarequests'] = 'Manage data requests'; $string['dataprivacy:managedataregistry'] = 'Manage data registry'; $string['dataregistry'] = 'Data registry'; $string['dataregistryinfo'] = 'The data registry enables categories (types of data) and purposes (the reasons for processing data) to be set for all content on the site - from users and courses down to activities and blocks. For each purpose, a retention period may be set. When a retention period has expired, the data is flagged and listed for deletion, awaiting admin confirmation.'; +$string['datarequestcreatedforuser'] = 'Data request created for {$a}'; $string['datarequestemailsubject'] = 'Data request: {$a}'; $string['datarequests'] = 'Data requests'; $string['daterequested'] = 'Date requested';