[FIX] website_sale_aplicoop: clear cart when group order cutoff has passed
Previously, when a user reopened a group order whose cutoff day had already passed, the /eskaera/check-status response correctly triggered the localStorage cart clear, but _autoLoadDraftOnInit immediately re-fetched the previous cycle's draft sale.order from /eskaera/load-draft (which only guarded on group_order.state, not cutoff_date) and the stale items reappeared in the cart, confusing users. Add a cutoff_date < today guard to load_draft_cart so the endpoint returns the existing clear_cart unavailable response, and short-circuit _autoLoadDraftOnInit on the frontend via a _skipDraftAutoLoad flag set in _checkGroupOrderStatus to avoid the now-pointless XHR round trip. Covered by a new regression test in tests/test_group_order_status_endpoint.py. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
98ffcdaefb
commit
b01794c319
3 changed files with 43 additions and 1 deletions
|
|
@ -1558,7 +1558,11 @@ class AplicoopWebsiteSale(WebsiteSale):
|
|||
status=400,
|
||||
)
|
||||
|
||||
if group_order.state != "open":
|
||||
cutoff_passed = bool(
|
||||
group_order.cutoff_date
|
||||
and group_order.cutoff_date < fields.Date.today()
|
||||
)
|
||||
if group_order.state != "open" or cutoff_passed:
|
||||
return self._build_group_order_unavailable_response(group_order)
|
||||
|
||||
current_user = request.env.user
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue