Currently, the checkout form is implemented as a multistep form using a single form ID. Damien's proposal in conjunction with defining checkout pages via hook_commerce_checkout_pane_info() is to rework this so there's a unique form ID per page. We can use the same form builder function, but the ID will differ and the URL used to access a specific page will differ with automatic redirection to the proper page based on the status of an order. This will also require adding an order state and status for the various checkout pages and making sure they get updated as the order proceeds through checkout. I'll open a separate issue to address reverting an order from a checkout order to a shopping cart order.
Comments
Comment #1
rszrama commentedWe'll need to move the checkout router to the cart module as well.
Comment #2
rszrama commentedThings to consider:
Comment #3
rszrama commentedImplemented #2 with $checkout_page->buttons boolean. Forgot to tag this issue in the commit, but it's part of http://github.com/rszrama/drupalcommerce/commit/4e7ba9381dfbf94cc7d79ecf....
Comment #4
rszrama commented#3 taken care of here: http://github.com/rszrama/drupalcommerce/commit/30c6da5b96bfc74274115e67...
I hardcoded an exception for the Completion page for now, though I suppose we'll need to plop an immovable completion message pane there eventually.
Comment #5
rszrama commented#1 was just committed with a new function, commerce_checkout_access() in commerce_checkout.module.
http://github.com/rszrama/drupalcommerce/commit/b5262ca606de66ad51d0f0b5...
Comment #6
rszrama commentedAnd #4 is going to be split out into its own feature request issue, as it's hardly a requirement for the form to work. : )
Done!