From 7e14f920da331ab74e8417285cc11a2f4a448e22 Mon Sep 17 00:00:00 2001 From: "Louis (loti)" Date: Fri, 1 Dec 2023 15:36:32 +0100 Subject: [PATCH] [IMP] sale: hide "Sign & Pay" button for expired draft quotations Previously, draft quotations were never marked as expired. However, draft quotations can be viewed in the portal if you have the link. In order to prevent customers from paying for draft quotations, we now mark draft quotations as expired when applicable. task-3577657 closes odoo/odoo#144581 Signed-off-by: Victor Feyens (vfe) --- addons/sale/models/sale_order.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/sale/models/sale_order.py b/addons/sale/models/sale_order.py index 6a9148dd2f8..af0b961847c 100644 --- a/addons/sale/models/sale_order.py +++ b/addons/sale/models/sale_order.py @@ -593,7 +593,11 @@ class SaleOrder(models.Model): def _compute_is_expired(self): today = fields.Date.today() for order in self: - order.is_expired = order.state == 'sent' and order.validity_date and order.validity_date < today + order.is_expired = ( + order.state in ('draft', 'sent') + and order.validity_date + and order.validity_date < today + ) @api.depends('company_id', 'fiscal_position_id') def _compute_tax_country_id(self):