Skip to content
This repository has been archived by the owner on Jun 7, 2022. It is now read-only.

Commit

Permalink
Fix "non actionable" order query.
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffstieler committed Jul 18, 2019
1 parent b5a47e1 commit 2a39ff3
Showing 1 changed file with 27 additions and 9 deletions.
36 changes: 27 additions & 9 deletions client/header/activity-panel/panels/orders.js
Expand Up @@ -274,16 +274,25 @@ export default compose(
return { orders: [], isError: true, isRequesting: false, orderStatuses };
}

// Query the core Orders endpoint for the most up-to-date statuses.
const allOrdersQuery = {
page: 1,
per_page: QUERY_DEFAULTS.pageSize,
status: orderStatuses,
_fields: [ 'id', 'date_created_gmt', 'status' ],
};
const actionableOrders = Array.from( getItems( 'orders', allOrdersQuery ).values() );
if ( hasActionableOrders ) {
// Query the core Orders endpoint for the most up-to-date statuses.
const actionableOrdersQuery = {
page: 1,
per_page: QUERY_DEFAULTS.pageSize,
status: orderStatuses,
_fields: [ 'id', 'date_created_gmt', 'status' ],
};
const actionableOrders = Array.from( getItems( 'orders', actionableOrdersQuery ).values() );
const isRequestingActionable = isGetItemsRequesting( 'orders', actionableOrdersQuery );

if ( isRequestingActionable ) {
return {
isError: Boolean( getItemsError( 'orders', actionableOrdersQuery ) ),
isRequesting: isRequestingActionable,
orderStatuses,
};
}

if ( hasActionableOrders && actionableOrders.length ) {
// Retrieve the Order stats data from our reporting table.
const ordersQuery = {
page: 1,
Expand All @@ -308,6 +317,15 @@ export default compose(
return { orders, isError, isRequesting, orderStatuses };
}

// Get a count of all orders for messaging purposes.
// @todo Add a property to wcSettings for this?
const allOrdersQuery = {
page: 1,
per_page: 1,
_fields: [ 'id' ],
};

getItems( 'orders', allOrdersQuery );
const totalNonActionableOrders = getItemsTotalCount( 'orders', allOrdersQuery );
const isError = Boolean( getItemsError( 'orders', allOrdersQuery ) );
const isRequesting = isGetItemsRequesting( 'orders', allOrdersQuery );
Expand Down

0 comments on commit 2a39ff3

Please sign in to comment.