From 9e31843ded59bb5d9ceed562d7925a1274b3b202 Mon Sep 17 00:00:00 2001
From: Christophe Simonis <chs@odoo.com>
Date: Thu, 12 May 2016 16:10:35 +0200
Subject: [PATCH] [FIX] account_asset: correct dependencies of
 `amount_residual` field

Also use a `set()` to avoid processing assets multiple times when
creating moves from lines
---
 addons/account_asset/account_asset.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 35d4228c71c7..7e53f0ff4c19 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -228,7 +228,7 @@ class AccountAssetAsset(models.Model):
         self.write({'state': 'draft'})
 
     @api.one
-    @api.depends('value', 'salvage_value', 'depreciation_line_ids')
+    @api.depends('value', 'salvage_value', 'depreciation_line_ids.move_check', 'depreciation_line_ids.amount')
     def _amount_residual(self):
         total_amount = 0.0
         for line in self.depreciation_line_ids:
@@ -347,7 +347,7 @@ class AccountAssetDepreciationLine(models.Model):
     @api.multi
     def create_move(self):
         created_move_ids = []
-        asset_ids = []
+        asset_ids = set()
         for line in self:
             depreciation_date = self.env.context.get('depreciation_date') or line.depreciation_date or fields.Date.context_today(self)
             periods = self.env['account.period'].find(depreciation_date)
@@ -404,7 +404,7 @@ class AccountAssetDepreciationLine(models.Model):
             })
             line.write({'move_id': move.id, 'move_check': True})
             created_move_ids.append(move.id)
-            asset_ids.append(line.asset_id)
+            asset_ids.add(line.asset_id)
             partner_name = line.asset_id.partner_id.name
             currency_name = line.asset_id.currency_id.name
 
-- 
GitLab