Skip to content

Commit

Permalink
Modify order if exceeds virtual inventory.
Browse files Browse the repository at this point in the history
  • Loading branch information
joedolson committed Nov 4, 2024
1 parent d9e9873 commit 5f349f3
Showing 1 changed file with 18 additions and 4 deletions.
22 changes: 18 additions & 4 deletions src/mt-ajax.php
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ function mt_ajax_handler() {
$data = map_deep( $data, 'sanitize_text_field' );
// reformat request data to multidimensional array.
$cart = mt_get_cart();

foreach ( $data as $k => $d ) {
if ( 'mt_tickets' === $k ) {
foreach ( $d as $n => $value ) {
Expand All @@ -99,6 +100,17 @@ function mt_ajax_handler() {
// generate and submit cart data.
$save = array();
if ( isset( $submit['mt_tickets'] ) ) {
$modified = false;
foreach ( $submit['mt_tickets'] as $type => $count ) {
$available = mt_check_inventory( $submit['mt_event_id'], $type );
$available_count = ( $available ) ? $available['available'] : 0;
$append = '';
if ( $count > $available_count ) {
// Set to max available if requested greater than available.
$submit['mt_tickets'][ $type ] = $available_count;
$modified = true;
}
}
$save = array(
$submit['mt_event_id'] => $submit['mt_tickets'],
'mt_event_id' => $submit['mt_event_id'],
Expand All @@ -117,21 +129,23 @@ function mt_ajax_handler() {
*
* @return {array}
*/
$saved = apply_filters( 'mt_add_to_cart_ajax_field_handler', $saved, $submit );
$url = mt_get_cart_url();
$saved = apply_filters( 'mt_add_to_cart_ajax_field_handler', $saved, $submit );
$url = mt_get_cart_url();
$append = ( $modified ) ? ' ' . __( 'Your order was modified due to a change in ticket availability.', 'my-tickets' ) : '';
if ( 1 === (int) $saved['success'] ) {
// Translators: Cart URL.
$response = apply_filters( 'mt_ajax_updated_success', sprintf( __( "Your cart is updated. <a href='%s'>Checkout</a>", 'my-tickets' ), $url ) );
$response = apply_filters( 'mt_ajax_updated_success', sprintf( __( "Your cart is updated. <a href='%s'>Checkout</a>", 'my-tickets' ), $url ) ) . $append;
} else {
// Translators: Cart URL.
$response = apply_filters( 'mt_ajax_updated_unchanged', sprintf( __( "Cart not changed. <a href='%s'>Checkout</a>", 'my-tickets' ), $url ) );
$response = apply_filters( 'mt_ajax_updated_unchanged', sprintf( __( "Cart not changed. <a href='%s'>Checkout</a>", 'my-tickets' ), $url ) ) . $append;
}
$return = array(
'response' => $response,
'success' => $saved['success'],
'count' => mt_count_cart( $saved['cart'] ),
'total' => mt_total_cart( $saved['cart'] ),
'event_id' => $submit['mt_event_id'],
'data' => $count,
);
wp_send_json( $return );
}
Expand Down

0 comments on commit 5f349f3

Please sign in to comment.