Privacy: Only mark a personal data export as complete when the user downloads it.
An admin may download an export to check that it's all correct, but this action shouldn't mark the request as complete. Props garrett-eclipse, JoshuaWold, birgire. Fixes #44644. git-svn-id: https://develop.svn.wordpress.org/trunk@45148 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
677c2a447b
commit
6dddce67fc
@ -2550,6 +2550,9 @@ function wp_privacy_process_personal_data_export_page( $response, $exporter_inde
|
||||
if ( is_wp_error( $mail_success ) ) {
|
||||
wp_send_json_error( $mail_success->get_error_message() );
|
||||
}
|
||||
|
||||
// Update the request to completed state when the export email is sent.
|
||||
_wp_privacy_completed_request( $request_id );
|
||||
} else {
|
||||
// Modify the response to include the URL of the export file so the browser can fetch it.
|
||||
$export_file_url = get_post_meta( $request_id, '_export_file_url', true );
|
||||
@ -2558,8 +2561,5 @@ function wp_privacy_process_personal_data_export_page( $response, $exporter_inde
|
||||
}
|
||||
}
|
||||
|
||||
// Update the request to completed state.
|
||||
_wp_privacy_completed_request( $request_id );
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
@ -615,7 +615,7 @@ class Tests_Privacy_WpPrivacyProcessPersonalDataExportPage extends WP_UnitTestCa
|
||||
*/
|
||||
public function data_export_page_status_transitions() {
|
||||
return array(
|
||||
// Mark the request as completed for the last exporter on the last page, with and without email.
|
||||
// Mark the request as completed for the last exporter on the last page, with email.
|
||||
array(
|
||||
'request-completed',
|
||||
'last',
|
||||
@ -624,8 +624,11 @@ class Tests_Privacy_WpPrivacyProcessPersonalDataExportPage extends WP_UnitTestCa
|
||||
true,
|
||||
'last',
|
||||
),
|
||||
// Leave the request as pending for the last exporter on the last page, without email.
|
||||
// This check was updated to account for admin vs user export.
|
||||
// Don't mark the request as completed when it's an admin download.
|
||||
array(
|
||||
'request-completed',
|
||||
'request-pending',
|
||||
'last',
|
||||
'last',
|
||||
'last',
|
||||
|
Loading…
Reference in New Issue
Block a user