From 4596734d60f8cd49e6a0f11e15f0b7c46680153c Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Mon, 16 Sep 2019 08:31:23 +0000 Subject: [PATCH] [FIX] sale_coupon: missing sudo() in modified() closes odoo/odoo#36909 Signed-off-by: Raphael Collet (rco) --- addons/sale_coupon/models/sale_order.py | 2 +- odoo/models.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/sale_coupon/models/sale_order.py b/addons/sale_coupon/models/sale_order.py index 25f0751ff4b..070f12ef5e2 100644 --- a/addons/sale_coupon/models/sale_order.py +++ b/addons/sale_coupon/models/sale_order.py @@ -438,7 +438,7 @@ class SaleOrderLine(models.Model): def modified(self, fnames, create=False): super(SaleOrderLine, self).modified(fnames, create) if 'product_id' in fnames: - Program = self.env['sale.coupon.program'] + Program = self.env['sale.coupon.program'].sudo() field_order_count = Program._fields['order_count'] programs = self.env.cache.get_records(Program, field_order_count) if programs: diff --git a/odoo/models.py b/odoo/models.py index 69065aed85b..734dece8f30 100644 --- a/odoo/models.py +++ b/odoo/models.py @@ -5558,7 +5558,7 @@ Record ids: %(records)s real_records = self - new_records records = model.browse() if real_records: - records |= model.sudo().search([(key.name, 'in', real_records.ids)]) + records |= model.search([(key.name, 'in', real_records.ids)]) if new_records: cache_records = self.env.cache.get_records(model, key) records |= cache_records.filtered(lambda r: set(r[key.name]._ids) & set(self._ids))