require_once('createdatarequest_form.php');
$manage = optional_param('manage', 0, PARAM_INT);
+$requesttype = optional_param('type', \tool_dataprivacy\api::DATAREQUEST_TYPE_EXPORT, PARAM_INT);
-$url = new moodle_url('/admin/tool/dataprivacy/createdatarequest.php', ['manage' => $manage]);
+$url = new moodle_url('/admin/tool/dataprivacy/createdatarequest.php', ['manage' => $manage, 'type' => $requesttype]);
$PAGE->set_url($url);
}
$mform = new tool_dataprivacy_data_request_form($url->out(false), ['manage' => !empty($manage)]);
+$mform->set_data(['type' => $requesttype]);
// Data request cancelled.
if ($mform->is_cancelled()) {
$string['deletedefaultsconfirmation'] = 'Are you sure you want to delete the default category and purpose for {$a} modules?';
$string['deleteexpiredcontextstask'] = 'Delete expired contexts';
$string['deleteexpireddatarequeststask'] = 'Delete files from completed data requests that have expired';
+$string['deletemyaccount'] = 'Delete my account';
$string['deletepurpose'] = 'Delete purpose';
$string['deletepurposetext'] = 'Are you sure you want to delete the purpose \'{$a}\'?';
$string['defaultssaved'] = 'Defaults saved';
$node = new core_user\output\myprofile\node('privacyandpolicies', 'datarequests',
get_string('datarequests', 'tool_dataprivacy'), null, $url);
$category->add_node($node);
+
+ // Check if the user has an ongoing data export request.
+ $hasexportrequest = \tool_dataprivacy\api::has_ongoing_request($user->id, \tool_dataprivacy\api::DATAREQUEST_TYPE_EXPORT);
+ // Show data export link only if the user doesn't have an ongoing data export request.
+ if (!$hasexportrequest) {
+ $exportparams = ['type' => \tool_dataprivacy\api::DATAREQUEST_TYPE_EXPORT];
+ $exporturl = new moodle_url('/admin/tool/dataprivacy/createdatarequest.php', $exportparams);
+ $exportnode = new core_user\output\myprofile\node('privacyandpolicies', 'requestdataexport',
+ get_string('requesttypeexport', 'tool_dataprivacy'), null, $exporturl);
+ $category->add_node($exportnode);
+ }
+
+ // Check if the user has an ongoing data deletion request.
+ $hasdeleterequest = \tool_dataprivacy\api::has_ongoing_request($user->id, \tool_dataprivacy\api::DATAREQUEST_TYPE_DELETE);
+ // Show data deletion link only if the user doesn't have an ongoing data deletion request.
+ if (!$hasdeleterequest) {
+ $deleteparams = ['type' => \tool_dataprivacy\api::DATAREQUEST_TYPE_DELETE];
+ $deleteurl = new moodle_url('/admin/tool/dataprivacy/createdatarequest.php', $deleteparams);
+ $deletenode = new core_user\output\myprofile\node('privacyandpolicies', 'requestdatadeletion',
+ get_string('deletemyaccount', 'tool_dataprivacy'), null, $deleteurl);
+ $category->add_node($deletenode);
+ }
}
$summaryurl = new moodle_url('/admin/tool/dataprivacy/summary.php');