Building on #842114: Rework the checkout form from multistep to multi-form, if we use the order status to determine where a user is in the checkout process, we may need to consider some other way to indicate whether or not an order is a shopping cart order. If an order starts progressing through checkout and a user abandons the process, his cart should not empty. If the order status does not revert to "Shopping cart", then we don't know if it's still a shopping cart. So, we either need to devise some different way to track which order is a shopping cart order for the customer or determine a way to revert the order status to shopping cart... perhaps a combination of both is possible, extend shopping cart loading so other statuses may be used, or use the same order state for the cart and checkout order statuses.

Comments

rszrama’s picture

Discussed with Damien, seems like we can introduce a soft dependency by adding a property to order states that signify orders in the state should be treated as shopping carts. This allows us to maintain a separation between Cart and Checkout.

rszrama’s picture

I began work on this while doing other checkout related stuff... what's implemented is the ability for checkout pages to specify whether or not their corresponding statuses should be considered shopping cart statuses. The cart module now needs to be updated to detect orders in other statuses besides cart as shopping cart orders.

See: http://github.com/rszrama/drupalcommerce/commit/c3358d954320b8e43ff828ed...

rszrama’s picture

Status: Active » Fixed

Alrighty, updated the shopping cart order load routine to look for any order status marked as a cart order status.

http://github.com/rszrama/drupalcommerce/commit/40c3e6d2d7be94c5a5cfe17d...

I'm not quite sure, though, whether or not the payment redirect page should be considered a shopping cart status or not... at this point I'm going to say not since it should involve an automatic redirection to the payment provider (unless the user doesn't have Javascript enabled).

Status: Fixed » Closed (fixed)
Issue tags: -dcsprint3

Automatically closed -- issue fixed for 2 weeks with no activity.