Make WordPress Core

Ticket #46619: 46619.2.diff

File 46619.2.diff, 7.5 KB (added by garrett-eclipse, 5 years ago)

Refresh to drop inline-block CSS and change divs to spans for actions. Also conditionally suppress the Mark as Completed on completed requests.

  • src/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php

     
    5050                $request_id      = $item->ID;
    5151                $nonce           = wp_create_nonce( 'wp-privacy-export-personal-data-' . $request_id );
    5252
    53                 $download_data_markup = '<div class="export-personal-data" ' .
     53                $download_data_markup = '<span class="export-personal-data" ' .
    5454                        'data-exporters-count="' . esc_attr( $exporters_count ) . '" ' .
    5555                        'data-request-id="' . esc_attr( $request_id ) . '" ' .
    5656                        'data-nonce="' . esc_attr( $nonce ) .
     
    6161                        '<span class="export-personal-data-success hidden"><button type="button" class="button-link export-personal-data-handle">' . __( 'Download Personal Data Again' ) . '</button></span>' .
    6262                        '<span class="export-personal-data-failed hidden">' . __( 'Download failed.' ) . ' <button type="button" class="button-link">' . __( 'Retry' ) . '</button></span>';
    6363
    64                 $download_data_markup .= '</div>';
     64                $download_data_markup .= '</span>';
    6565
     66                if ( 'request-completed' !== $status ) {
     67                        $complete_request_markup  = '<span>';
     68                        $complete_request_markup .= sprintf(
     69                                '<a href="%s" class="complete-request" aria-label="%s">%s</a>',
     70                                esc_url(
     71                                        wp_nonce_url(
     72                                                add_query_arg(
     73                                                        array(
     74                                                                'action'     => 'complete',
     75                                                                'request_id' => array( $request_id ),
     76                                                        ),
     77                                                        admin_url( 'export-personal-data.php' )
     78                                                ),
     79                                                'bulk-privacy_requests'
     80                                        )
     81                                ),
     82                                esc_attr(
     83                                        sprintf(
     84                                                /* translators: %s: Request email. */
     85                                                __( 'Mark export request for &#8220;%s&#8221; as completed.' ),
     86                                                $item->email
     87                                        )
     88                                ),
     89                                __( 'Complete Request' )
     90                        );
     91                        $complete_request_markup .= '</span>';
     92                }
     93
    6694                $row_actions = array(
    67                         'download-data' => $download_data_markup,
     95                        'download-data'    => $download_data_markup,
     96                        'complete-request' => $complete_request_markup,
    6897                );
    6998
    7099                return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( $row_actions ) );
  • src/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php

     
    4747                $row_actions = array();
    4848
    4949                // Allow the administrator to "force remove" the personal data even if confirmation has not yet been received.
    50                 $status = $item->status;
     50                $status      = $item->status;
     51                $row_actions = array();
    5152                if ( 'request-confirmed' !== $status ) {
    5253                        /** This filter is documented in wp-admin/includes/ajax-actions.php */
    5354                        $erasers       = apply_filters( 'wp_privacy_personal_data_erasers', array() );
     
    5556                        $request_id    = $item->ID;
    5657                        $nonce         = wp_create_nonce( 'wp-privacy-erase-personal-data-' . $request_id );
    5758
    58                         $remove_data_markup = '<div class="remove-personal-data force-remove-personal-data" ' .
     59                        $remove_data_markup = '<span class="remove-personal-data force-remove-personal-data" ' .
    5960                                'data-erasers-count="' . esc_attr( $erasers_count ) . '" ' .
    6061                                'data-request-id="' . esc_attr( $request_id ) . '" ' .
    6162                                'data-nonce="' . esc_attr( $nonce ) .
     
    6667                                '<span class="remove-personal-data-success hidden">' . __( 'Erasure completed.' ) . '</span>' .
    6768                                '<span class="remove-personal-data-failed hidden">' . __( 'Force Erasure has failed.' ) . ' <button type="button" class="button-link remove-personal-data-handle">' . __( 'Retry' ) . '</button></span>';
    6869
    69                         $remove_data_markup .= '</div>';
     70                        $remove_data_markup .= '</span>';
    7071
    71                         $row_actions = array(
    72                                 'remove-data' => $remove_data_markup,
     72                        $row_actions['remove-data'] = $remove_data_markup;
     73                }
     74
     75                if ( 'request-completed' !== $status ) {
     76                        $complete_request_markup  = '<span>';
     77                        $complete_request_markup .= sprintf(
     78                                '<a href="%s" class="complete-request" aria-label="%s">%s</a>',
     79                                esc_url(
     80                                        wp_nonce_url(
     81                                                add_query_arg(
     82                                                        array(
     83                                                                'action'     => 'complete',
     84                                                                'request_id' => array( $request_id ),
     85                                                        ),
     86                                                        admin_url( 'erase-personal-data.php' )
     87                                                ),
     88                                                'bulk-privacy_requests'
     89                                        )
     90                                ),
     91                                esc_attr(
     92                                        sprintf(
     93                                                /* translators: %s: Request email. */
     94                                                __( 'Mark export request for &#8220;%s&#8221; as completed.' ),
     95                                                $item->email
     96                                        )
     97                                ),
     98                                __( 'Complete Request' )
    7399                        );
     100                        $complete_request_markup .= '</span>';
    74101                }
    75102
     103                $row_actions['complete-request'] = $complete_request_markup;
     104
    76105                return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( $row_actions ) );
    77106        }
    78107
  • src/wp-admin/includes/class-wp-privacy-requests-table.php

     
    210210         */
    211211        protected function get_bulk_actions() {
    212212                return array(
    213                         'delete' => __( 'Delete Requests' ),
    214                         'resend' => __( 'Resend Confirmation Requests' ),
     213                        'resend'   => __( 'Resend Confirmation Requests' ),
     214                        'complete' => __( 'Mark Requests as Completed' ),
     215                        'delete'   => __( 'Delete Requests' ),
    215216                );
    216217        }
    217218
     
    219220         * Process bulk actions.
    220221         *
    221222         * @since 4.9.6
     223         * @since 5.6.0 Added support for the `complete` action.
    222224         */
    223225        public function process_bulk_action() {
    224226                $action      = $this->current_action();
     
    231233                }
    232234
    233235                switch ( $action ) {
    234                         case 'delete':
     236                        case 'resend':
    235237                                foreach ( $request_ids as $request_id ) {
    236                                         if ( wp_delete_post( $request_id, true ) ) {
    237                                                 $count ++;
     238                                        $resend = _wp_privacy_resend_request( $request_id );
     239
     240                                        if ( $resend && ! is_wp_error( $resend ) ) {
     241                                                $count++;
    238242                                        }
    239243                                }
    240244
     
    242246                                        'bulk_action',
    243247                                        'bulk_action',
    244248                                        /* translators: %d: Number of requests. */
    245                                         sprintf( _n( 'Deleted %d request.', 'Deleted %d requests.', $count ), $count ),
     249                                        sprintf( _n( 'Re-sent %d request.', 'Re-sent %d requests.', $count ), $count ),
    246250                                        'success'
    247251                                );
    248252                                break;
    249                         case 'resend':
     253                        case 'complete':
    250254                                foreach ( $request_ids as $request_id ) {
    251                                         $resend = _wp_privacy_resend_request( $request_id );
     255                                        $result = _wp_privacy_completed_request( $request_id );
    252256
    253                                         if ( $resend && ! is_wp_error( $resend ) ) {
     257                                        if ( $result && ! is_wp_error( $result ) ) {
    254258                                                $count++;
    255259                                        }
    256260                                }
     
    259263                                        'bulk_action',
    260264                                        'bulk_action',
    261265                                        /* translators: %d: Number of requests. */
    262                                         sprintf( _n( 'Re-sent %d request.', 'Re-sent %d requests.', $count ), $count ),
     266                                        sprintf( _n( '%d request marked as complete.', '%d requests marked as complete.', $count ), $count ),
    263267                                        'success'
    264268                                );
    265269                                break;
     270                        case 'delete':
     271                                foreach ( $request_ids as $request_id ) {
     272                                        if ( wp_delete_post( $request_id, true ) ) {
     273                                                $count ++;
     274                                        }
     275                                }
     276
     277                                add_settings_error(
     278                                        'bulk_action',
     279                                        'bulk_action',
     280                                        /* translators: %d: Number of requests. */
     281                                        sprintf( _n( 'Deleted %d request.', 'Deleted %d requests.', $count ), $count ),
     282                                        'success'
     283                                );
     284                                break;
    266285                }
    267286        }
    268287