From c38afbb953e19782885cb496932f6c64ffc9d54f Mon Sep 17 00:00:00 2001 From: sergiocorato Date: Fri, 6 Jan 2023 18:53:08 +0100 Subject: [PATCH] [14.0][FIX] assets_management get in-out values --- assets_management/models/asset_category.py | 2 +- .../models/asset_depreciation.py | 2 +- .../models/asset_depreciation_line.py | 41 +++++++++++++++---- .../wizard/account_move_manage_asset.py | 4 +- 4 files changed, 38 insertions(+), 11 deletions(-) diff --git a/assets_management/models/asset_category.py b/assets_management/models/asset_category.py index a63996e28772..1b0ffa9aa94e 100644 --- a/assets_management/models/asset_category.py +++ b/assets_management/models/asset_category.py @@ -122,7 +122,7 @@ def copy(self, default=None): def unlink(self): if self.env["asset.asset"].sudo().search([("category_id", "in", self.ids)]): raise UserError( - _("Cannot delete categories while they're still linked" " to an asset.") + _("Cannot delete categories while they're still linked to an asset.") ) return super().unlink() diff --git a/assets_management/models/asset_depreciation.py b/assets_management/models/asset_depreciation.py index 07639a8bab3e..c15c9fa027cf 100644 --- a/assets_management/models/asset_depreciation.py +++ b/assets_management/models/asset_depreciation.py @@ -255,7 +255,7 @@ def check_before_generate_depreciation_lines(self, dep_date): # Check if self is a valid recordset if not self: raise ValidationError( - _("Cannot create any depreciation according to current" " settings.") + _("Cannot create any depreciation according to current settings.") ) lines = self.mapped("line_ids") diff --git a/assets_management/models/asset_depreciation_line.py b/assets_management/models/asset_depreciation_line.py index ffd3229d1c9c..35c043a3050a 100644 --- a/assets_management/models/asset_depreciation_line.py +++ b/assets_management/models/asset_depreciation_line.py @@ -447,13 +447,27 @@ def get_gain_account_move_line_vals(self): def get_historical_account_move_line_vals(self): raise NotImplementedError( - _("Cannot create account move lines for lines of type" " `Historical`") + _("Cannot create account move lines for lines of type `Historical`") ) def get_in_account_move_line_vals(self): - raise NotImplementedError( - _("Cannot create account move lines for lines of type `In`") - ) + self.ensure_one() + credit_line_vals = { + "account_id": self.asset_id.category_id.gain_account_id.id, + "credit": self.amount, + "debit": 0.0, + "currency_id": self.currency_id.id, + "name": " - ".join((self.asset_id.make_name(), self.name)), + } + + debit_line_vals = { + "account_id": self.asset_id.category_id.asset_account_id.id, + "credit": 0.0, + "debit": self.amount, + "currency_id": self.currency_id.id, + "name": " - ".join((self.asset_id.make_name(), self.name)), + } + return [credit_line_vals, debit_line_vals] def get_loss_account_move_line_vals(self): self.ensure_one() @@ -474,9 +488,22 @@ def get_loss_account_move_line_vals(self): return [credit_line_vals, debit_line_vals] def get_out_account_move_line_vals(self): - raise NotImplementedError( - _("Cannot create account move lines for lines of type `Out`") - ) + self.ensure_one() + credit_line_vals = { + "account_id": self.asset_id.category_id.asset_account_id.id, + "credit": self.amount, + "debit": 0.0, + "currency_id": self.currency_id.id, + "name": " - ".join((self.asset_id.make_name(), self.name)), + } + debit_line_vals = { + "account_id": self.asset_id.category_id.loss_account_id.id, + "credit": 0.0, + "debit": self.amount, + "currency_id": self.currency_id.id, + "name": " - ".join((self.asset_id.make_name(), self.name)), + } + return [credit_line_vals, debit_line_vals] def needs_account_move(self): self.ensure_one() diff --git a/assets_management/wizard/account_move_manage_asset.py b/assets_management/wizard/account_move_manage_asset.py index 8b194f1a8aa9..6ed02cb3050f 100644 --- a/assets_management/wizard/account_move_manage_asset.py +++ b/assets_management/wizard/account_move_manage_asset.py @@ -259,7 +259,7 @@ def check_pre_dismiss_asset(self): if not self.move_line_ids: raise ValidationError( - _("At least one move line is mandatory to dismiss" " an asset!") + _("At least one move line is mandatory to dismiss an asset!") ) if not len(self.move_line_ids.mapped("move_id")) == 1: @@ -303,7 +303,7 @@ def check_pre_update_asset(self): if not self.move_line_ids: raise ValidationError( - _("At least one move line is mandatory to update" " an asset!") + _("At least one move line is mandatory to update an asset!") ) if not all(