More reliable pending and repeat orders, and more.
Pending & repeat orders
Pending-order insert applies defaults more reliably, whether the order starts from admin, checkout, package, autofill, or product.
Repeat order copies meals, components, and meal options correctly. After a refresh, the pending order resubscribes so the order page does not look empty. On a force-enabled menu, custom-meal components load so customers can select and change them.
Account Renew plan no longer shows an error after the pending order was already created. If a pending order exists, it uses that one instead of failing.
Plans, locations & menus
Plans page locations sort in the same order as the rest of the site. Changing a plan order to home delivery checks deliverable status when the location changes, not only at submit. A failed save returns to the previous location instead of jumping to default.
Menu edit: Undo on meal remove. Removed meals stay struck until Update; Undo restores them. Save is what actually drops them from the menu.
Autofill loose-matches meal options (the option value can contain the preference), so option prefs apply when the wording is close.
A few other updates...
- Admin tables that are wider than the viewport scroll horizontally instead of overflowing the page.
- Order edit layout is tighter, with a consistent payment row on insert and edit.
- Dashboard widget totals now apply after site overrides, so counts match the site.
- Default selected location on report, delivery, and meal filters follows the same default-location helper.
- Discount expiry date picker on discount edit selects the stored date.
- All-time referrals report totals are corrected.
- Image copy on duplicate is complete.