diff -r 34716fd837a4 -r be944660c56a wp/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php --- a/wp/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php Tue Dec 15 15:52:01 2020 +0100 +++ b/wp/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php Wed Sep 21 18:19:35 2022 +0200 @@ -47,25 +47,56 @@ /** This filter is documented in wp-admin/includes/ajax-actions.php */ $exporters = apply_filters( 'wp_privacy_personal_data_exporters', array() ); $exporters_count = count( $exporters ); + $status = $item->status; $request_id = $item->ID; $nonce = wp_create_nonce( 'wp-privacy-export-personal-data-' . $request_id ); - $download_data_markup = '
'; - $download_data_markup .= '' . - '' . - '' . + $download_data_markup .= '' . + '' . + '' . ''; - $download_data_markup .= '
'; + $download_data_markup .= ''; + + $row_actions['download-data'] = $download_data_markup; - $row_actions = array( - 'download-data' => $download_data_markup, - ); + if ( 'request-completed' !== $status ) { + $complete_request_markup = ''; + $complete_request_markup .= sprintf( + '%s', + esc_url( + wp_nonce_url( + add_query_arg( + array( + 'action' => 'complete', + 'request_id' => array( $request_id ), + ), + admin_url( 'export-personal-data.php' ) + ), + 'bulk-privacy_requests' + ) + ), + esc_attr( + sprintf( + /* translators: %s: Request email. */ + __( 'Mark export request for “%s” as completed.' ), + $item->email + ) + ), + __( 'Complete request' ) + ); + $complete_request_markup .= ''; + } + + if ( ! empty( $complete_request_markup ) ) { + $row_actions['complete-request'] = $complete_request_markup; + } return sprintf( '%2$s %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( $row_actions ) ); } @@ -99,8 +130,8 @@ '">'; ?> - - + +