From 088c64a6cdb5f43f1f6cc2bee9e29a15674fb5d4 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 12 Aug 2020 17:47:23 +0200 Subject: [PATCH] [IMP] account_asset_management: Refinements --- account_asset_management/models/account_asset.py | 2 +- account_asset_management/models/account_asset_line.py | 9 ++------- account_asset_management/models/account_asset_profile.py | 4 +--- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/account_asset_management/models/account_asset.py b/account_asset_management/models/account_asset.py index 10e9e174c..0a314c309 100644 --- a/account_asset_management/models/account_asset.py +++ b/account_asset_management/models/account_asset.py @@ -303,7 +303,7 @@ class AccountAsset(models.Model): @api.depends("profile_id") def _compute_group_ids(self): - for asset in self: + for asset in self.filtered("profile_id"): asset.group_ids = asset.profile_id.group_ids @api.depends("profile_id") diff --git a/account_asset_management/models/account_asset_line.py b/account_asset_management/models/account_asset_line.py index dbcc75ab2..17787dfc2 100644 --- a/account_asset_management/models/account_asset_line.py +++ b/account_asset_management/models/account_asset_line.py @@ -63,7 +63,8 @@ class AccountAssetLine(models.Model): @api.depends("amount", "previous_id", "type") def _compute_values(self): - processed_lines = self.browse() + self.depreciated_value = 0.0 + self.remaining_value = 0.0 dlines = self if self.env.context.get("no_compute_asset_line_ids"): # skip compute for lines in unlink @@ -81,7 +82,6 @@ class AccountAssetLine(models.Model): grouped_dlines = [] for asset in asset_ids: grouped_dlines.append(dlines.filtered(lambda l: l.asset_id.id == asset.id)) - for dlines in grouped_dlines: for i, dl in enumerate(dlines): if i == 0: @@ -94,11 +94,6 @@ class AccountAssetLine(models.Model): remaining_value -= dl.amount dl.depreciated_value = depreciated_value dl.remaining_value = remaining_value - processed_lines |= dl - # Set unprocessed lines values - for line in self - processed_lines: - line.depreciated_value = 0.0 - line.remaining_value = 0.0 @api.depends("move_id") def _compute_move_check(self): diff --git a/account_asset_management/models/account_asset_profile.py b/account_asset_management/models/account_asset_profile.py index f1581725d..9f353b4ae 100644 --- a/account_asset_management/models/account_asset_profile.py +++ b/account_asset_management/models/account_asset_profile.py @@ -178,9 +178,7 @@ class AccountAssetProfile(models.Model): @api.constrains("method", "method_time") def _check_method(self): - if self.filtered( - lambda a: a.method == "degr-linear" and a.method_time != "year" - ): + if any(a.method == "degr-linear" and a.method_time != "year" for a in self): raise UserError( _("Degressive-Linear is only supported for Time Method = Year.") )