The Order Status of an order can't be manually transitioned through the UI.
The Order Status can't automatically be transitioned to Shipped by the Shipment Engine based on the Shipment Status of the related Shipments because the Shipment Engine doesn't yet exist. False premise
This means that, even if all the order items in the order are in shipments that are in the Shipped status, the Order Status will always be stuck at Processing and can never progress to Shipped.
We should allow the user to
manually automatically transition orders from Processing to Shipped. Minimally, there is no logic and an admin can transition an order from Processing to Shipped regardless of the number of order items that have been shipped Ideally, we should take into consideration the related shipments and their statuses to ensure that all units of all order items in the order are related to shipments that are in the Shipped status. Once the order passes this validation check, a button shows up that allows an admin to manually transition the order to Shipped.
- Awaiting Shipment
- At least one order item is in a shipment that is currently in the Ready to Ship status.
- If no order items are in a shipment that is currently in the Ready to Ship status (e.g. the shipment status is moved back to Processing, the order status should also revert to Processing
- Partially Shipped
- At least one order item is in a shipment that has ever been in the Shipped status.