From ac621e322ca26e2b35cac101ffb807de665fd63f Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Thu, 2 Feb 2017 15:12:31 +0100 Subject: [PATCH] [FIX] purchase: correct triggers on computed fields To be triggered on the fields that are used inside the computed field. Was not very problematic before as the fields were not stored and recomputed at each modification. It could be backported if needed. Next commit will store these fields for performance reason, fixing the trigger first is required. Linked to #15259 --- addons/purchase/models/purchase.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/purchase/models/purchase.py b/addons/purchase/models/purchase.py index c46557ee51f..ea8f8d20431 100644 --- a/addons/purchase/models/purchase.py +++ b/addons/purchase/models/purchase.py @@ -57,7 +57,7 @@ class PurchaseOrder(models.Model): else: order.invoice_status = 'no' - @api.depends('order_line.invoice_lines.invoice_id.state') + @api.depends('order_line.invoice_lines.invoice_id') def _compute_invoice(self): for order in self: invoices = self.env['account.invoice'] @@ -75,7 +75,9 @@ class PurchaseOrder(models.Model): types = type_obj.search([('code', '=', 'incoming'), ('warehouse_id', '=', False)]) return types[:1] - @api.depends('order_line.move_ids') + @api.depends('order_line.move_ids.returned_move_ids', + 'order_line.move_ids.state', + 'order_line.move_ids.picking_id') def _compute_picking(self): for order in self: pickings = self.env['stock.picking']