From 2e7fe380c99fbb36b087b1a6938c6257b5d14641 Mon Sep 17 00:00:00 2001 From: Luc De Meyer Date: Wed, 26 Sep 2018 21:35:42 +0200 Subject: [PATCH] hide fields for type view assets --- account_asset_management/__manifest__.py | 2 +- .../models/account_asset.py | 40 +++++++++++-------- .../models/account_asset_line.py | 4 +- .../views/account_asset.xml | 25 +++++++----- 4 files changed, 40 insertions(+), 31 deletions(-) diff --git a/account_asset_management/__manifest__.py b/account_asset_management/__manifest__.py index 5b7c53c33..1d1666d83 100644 --- a/account_asset_management/__manifest__.py +++ b/account_asset_management/__manifest__.py @@ -4,7 +4,7 @@ { 'name': 'Assets Management', - 'version': '10.0.3.0.3', + 'version': '10.0.3.1.0', 'license': 'AGPL-3', 'depends': [ 'account_fiscal_year', diff --git a/account_asset_management/models/account_asset.py b/account_asset_management/models/account_asset.py index 5b90fac91..edff03f2d 100644 --- a/account_asset_management/models/account_asset.py +++ b/account_asset_management/models/account_asset.py @@ -277,9 +277,10 @@ class AccountAsset(models.Model): self.depreciation_base = purchase_value - salvage_value dl_create_line = self.depreciation_line_ids.filtered( lambda r: r.type == 'create') - dl_create_line.write({ - 'amount': self.depreciation_base, - 'line_date': self.date_start}) + if dl_create_line: + dl_create_line.write({ + 'amount': self.depreciation_base, + 'line_date': self.date_start}) @api.onchange('profile_id') def _onchange_profile_id(self): @@ -325,20 +326,7 @@ class AccountAsset(models.Model): # Trigger compute of depreciation_base asset.salvage_value = 0.0 if asset.type == 'normal': - # create first asset line - asset_line_obj = self.env['account.asset.line'] - line_name = asset._get_depreciation_entry_name(0) - asset_line_vals = { - 'amount': asset.depreciation_base, - 'asset_id': asset.id, - 'name': line_name, - 'line_date': asset.date_start, - 'init_entry': True, - 'type': 'create', - } - asset_line = asset_line_obj.create(asset_line_vals) - if self._context.get('create_asset_from_move_line'): - asset_line.move_id = self._context['move_id'] + asset._create_first_asset_line() return asset @api.multi @@ -352,6 +340,7 @@ class AccountAsset(models.Model): if asset_type == 'view' or \ self._context.get('asset_validate_from_write'): continue + asset._create_first_asset_line() if asset.profile_id.open_asset and \ self._context.get('create_asset_from_move_line'): asset.compute_depreciation_board() @@ -360,6 +349,23 @@ class AccountAsset(models.Model): asset.with_context(ctx).validate() return True + def _create_first_asset_line(self): + self.ensure_one() + if self.depreciation_base and not self.depreciation_line_ids: + asset_line_obj = self.env['account.asset.line'] + line_name = self._get_depreciation_entry_name(0) + asset_line_vals = { + 'amount': self.depreciation_base, + 'asset_id': self.id, + 'name': line_name, + 'line_date': self.date_start, + 'init_entry': True, + 'type': 'create', + } + asset_line = asset_line_obj.create(asset_line_vals) + if self._context.get('create_asset_from_move_line'): + asset_line.move_id = self._context['move_id'] + @api.multi def unlink(self): for asset in self: diff --git a/account_asset_management/models/account_asset_line.py b/account_asset_management/models/account_asset_line.py index 3e7302f1c..6a62db6b3 100644 --- a/account_asset_management/models/account_asset_line.py +++ b/account_asset_management/models/account_asset_line.py @@ -157,7 +157,7 @@ class AccountAssetLine(models.Model): @api.multi def unlink(self): for dl in self: - if dl.type == 'create': + if dl.type == 'create' and dl.amount: raise UserError(_( "You cannot remove an asset line " "of type 'Depreciation Base'.")) @@ -170,7 +170,7 @@ class AccountAssetLine(models.Model): lambda l: l.previous_id == dl and l not in self) if next: next.previous_id = previous - ctx = dict(self._context, no_compute_asset_line_ids=self.ids) + ctx = dict(self._context, no_compute_asset_line_ids=self.ids) return super( AccountAssetLine, self.with_context(ctx)).unlink() diff --git a/account_asset_management/views/account_asset.xml b/account_asset_management/views/account_asset.xml index 7a9330fc6..d9b31c687 100644 --- a/account_asset_management/views/account_asset.xml +++ b/account_asset_management/views/account_asset.xml @@ -6,17 +6,20 @@
-
-