Issue #3611928: Basket edits leave the order state out of step with its held lines

An order's state must stay in step with its held lines as a basket is edited, in both directions:

  • empty to pending: holdGroup() only made a new order pending; an append into an order resting at empty (all lines released) left it empty while holding lines. Now holdGroup() moves an order from empty to pending whenever it ends up holding lines.
  • pending to empty: the seat map releases seats directly without recomputing, so deselecting the last seat left the order pending with none. SeatSelectionController now recomputes after a release, mirroring the cart's own removal.

Either gap leaves a map-booked basket at the wrong state, which also breaks placeTransaction() (pending/locked only). Kernel-tested in both directions.

Edited by Frank Mably

Merge request reports

Loading