[FIX] website_sale_aplicoop: Critical date calculation fixes (v18.0.1.3.1)

- Fixed _compute_cutoff_date logic: Changed days_ahead <= 0 to days_ahead < 0 to allow cutoff_date same day as today
- Enabled store=True for delivery_date field to persist calculated values and enable database filtering
- Added constraint _check_cutoff_before_pickup to validate pickup_day >= cutoff_day in weekly orders
- Added @api.onchange methods for immediate UI feedback when changing cutoff_day or pickup_day
- Created daily cron job _cron_update_dates to automatically recalculate dates for active orders
- Added 'Calculated Dates' section in form view showing readonly cutoff_date, pickup_date, delivery_date
- Added 6 regression tests with @tagged('post_install', 'date_calculations')
- Updated documentation with comprehensive changelog

This is a more robust fix than v18.0.1.2.0, addressing edge cases in date calculations.
This commit is contained in:
snt 2026-02-18 17:45:45 +01:00
parent c70de71cff
commit 8b0a402ccf
6 changed files with 489 additions and 120 deletions

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Cron job to update dates for active group orders daily -->
<record id="ir_cron_update_group_order_dates" model="ir.cron">
<field name="name">Group Order: Update Dates Daily</field>
<field name="model_id" ref="model_group_order"/>
<field name="state">code</field>
<field name="code">model._cron_update_dates()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="active" eval="True"/>
</record>
</data>
</odoo>