From 715b89a3008eab6a9bea52b0446bc62289c0f38a 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_line.py | 41 +++++++++++++++---- .../wizard/account_move_manage_asset.py | 4 +- 3 files changed, 37 insertions(+), 10 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_line.py b/assets_management/models/asset_depreciation_line.py index f58848ce3833..66f428f45304 100644 --- a/assets_management/models/asset_depreciation_line.py +++ b/assets_management/models/asset_depreciation_line.py @@ -437,13 +437,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() @@ -464,9 +478,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 d38ff2c0753f..f7408de19cfd 100644 --- a/assets_management/wizard/account_move_manage_asset.py +++ b/assets_management/wizard/account_move_manage_asset.py @@ -266,7 +266,7 @@ def check_pre_dismiss_asset(self): if not self.move_line_ids and not self.dismiss_asset_without_sale: 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 ( @@ -316,7 +316,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(