From 18d920f683daf4009bd6362ec26608bb5c49d5bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 6 Apr 2022 18:44:46 +0200 Subject: [PATCH] Limit start dates before dates on internal shipment The internal shipment must start before it ends. issue11338 review382211002 --- shipment.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/shipment.py b/shipment.py index 1dde6529e4..89135bf78f 100644 --- a/shipment.py +++ b/shipment.py @@ -2031,17 +2031,27 @@ class ShipmentInternal(ShipmentAssignMixin, Workflow, ModelSQL, ModelView): }, depends=['state'], help="When the shipment is expected to be completed.") effective_start_date = fields.Date('Effective Start Date', + domain=[ + If(Eval('effective_start_date') & Eval('effective_date'), + ('effective_start_date', '<=', Eval('effective_date')), + ()), + ], states={ 'readonly': Eval('state').in_(['cancelled', 'shipped', 'done']), }, - depends=['state'], + depends=['effective_date', 'state'], help="When the stock was actually sent.") planned_start_date = fields.Date('Planned Start Date', + domain=[ + If(Eval('planned_start_date') & Eval('planned_date'), + ('planned_start_date', '<=', Eval('planned_date')), + ()), + ], states={ 'readonly': ~Eval('state').in_(['request', 'draft']), 'required': Bool(Eval('planned_date')), }, - depends=['state'], + depends=['planned_date', 'state'], help="When the stock is expected to be sent.") company = fields.Many2One( 'company.company', "Company", required=True,