[IMP] website_sale_aplicoop: automate non-weekly group order cycles

One-time, biweekly and monthly group orders now follow the same cron
confirmation flow as weekly ones (confirm sale orders + batch pickings
when the cycle cutoff passes):

- Biweekly/monthly keep the cutoff_day/pickup_day weekday scheme on a
  recurrence grid anchored at start_date (creation date as fallback):
  cutoffs advance +14 days / +1 month snapped to cutoff_day, with
  catch-up after cron downtime. Previously they behaved as weekly.
- One-time orders (specials/promotions) are driven by end_date
  (cutoff_date = end_date); once passed, the cron confirms, batches
  and closes the group order.
- end_date keeps its "empty = permanent" meaning for recurring orders.
- Website draft-cart lookup window is now period-aware instead of
  assuming a 6-day weekly cycle.
- New cron tests for once/biweekly/monthly cycles; i18n es/eu updated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
GitHub Copilot 2026-07-15 14:14:03 +02:00
parent d8cd83bdaf
commit aba22fd230
8 changed files with 510 additions and 74 deletions

View file

@ -54,8 +54,8 @@
<field name="sequence" help="Sequence for ordering in website list"/>
<field name="group_ids" widget="many2many_tags" help="Groups that can participate in this order"/>
<field name="type" help="Type of group order: Regular, Special, or Promotional"/>
<field name="start_date" help="Day when the order opens for purchases"/>
<field name="end_date" help="Day when the order closes (empty = permanent)"/>
<field name="start_date" help="Day when the order opens for purchases (anchors biweekly/monthly cycles)"/>
<field name="end_date" help="Day when the order closes (empty = permanent). One-time orders are confirmed and closed once it has passed"/>
</group>
<group>
<field name="period" help="How often this order repeats"/>