Bulk actions: within URL, specify orders using `id[]` rather than `order[]` (#39524)

This commit is contained in:
Vedanshu Jain 2023-08-11 14:25:35 +05:30 committed by GitHub
commit 05dfaacd37
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 12 additions and 8 deletions

View File

@ -0,0 +1,4 @@
Significance: patch
Type: tweak
Safety measures to prevent future breakages when executing bulk actions in the order list table (HPOS).

View File

@ -58,10 +58,10 @@ class COTRedirectionController {
$params['_wpnonce'] = wp_create_nonce( 'bulk-posts' );
}
// If an `order` array parameter is present, rename as `post`.
if ( isset( $params['order'] ) && is_array( $params['order'] ) ) {
$params['post'] = $params['order'];
unset( $params['order'] );
// If an `id` array parameter is present, rename as `post`.
if ( isset( $params['id'] ) && is_array( $params['id'] ) ) {
$params['post'] = $params['id'];
unset( $params['id'] );
}
$params['post_type'] = 'shop_order';

View File

@ -867,7 +867,7 @@ class ListTable extends WP_List_Table {
public function column_cb( $item ) {
ob_start();
?>
<input id="cb-select-<?php echo esc_attr( $item->get_id() ); ?>" type="checkbox" name="<?php echo esc_attr( $this->_args['singular'] ); ?>[]" value="<?php echo esc_attr( $item->get_id() ); ?>" />
<input id="cb-select-<?php echo esc_attr( $item->get_id() ); ?>" type="checkbox" name="id[]" value="<?php echo esc_attr( $item->get_id() ); ?>" />
<div class="locked-indicator">
<span class="locked-indicator-icon" aria-hidden="true"></span>
@ -1197,7 +1197,7 @@ class ListTable extends WP_List_Table {
$action = 'delete';
} else {
$ids = isset( $_REQUEST['order'] ) ? array_reverse( array_map( 'absint', (array) $_REQUEST['order'] ) ) : array();
$ids = isset( $_REQUEST['id'] ) ? array_reverse( array_map( 'absint', (array) $_REQUEST['id'] ) ) : array();
}
/**

View File

@ -84,7 +84,7 @@ class PostsRedirectionController {
$new_url = add_query_arg(
array(
'action' => $action,
'order' => $posts,
'id' => $posts,
'_wp_http_referer' => $this->page_controller->get_orders_url(),
'_wpnonce' => wp_create_nonce( 'bulk-orders' ),
),

View File

@ -139,7 +139,7 @@ class COTRedirectionControllerTest extends WC_Unit_Test_Case {
$this->sut->handle_hpos_admin_requests(
array(
'arbitrary' => '3pd-integration',
'order' => array(
'id' => array(
123,
456,
),