From ad9b32d133954ed01fbc8253a4435b837c340280 Mon Sep 17 00:00:00 2001 From: KNVx Date: Tue, 27 Sep 2022 09:45:16 +0200 Subject: [PATCH 01/10] [ADD] account_asset_management_extension: New Module --- account_asset_management_extension/README.rst | 27 +++++ .../__init__.py | 1 + .../__manifest__.py | 18 +++ account_asset_management_extension/i18n/es.po | 57 +++++++++ .../models/__init__.py | 2 + .../models/account_asset.py | 113 ++++++++++++++++++ .../models/account_move.py | 23 ++++ .../static/description/icon.png | Bin 0 -> 6342 bytes .../views/account_asset.xml | 39 ++++++ 9 files changed, 280 insertions(+) create mode 100644 account_asset_management_extension/README.rst create mode 100644 account_asset_management_extension/__init__.py create mode 100644 account_asset_management_extension/__manifest__.py create mode 100644 account_asset_management_extension/i18n/es.po create mode 100644 account_asset_management_extension/models/__init__.py create mode 100644 account_asset_management_extension/models/account_asset.py create mode 100644 account_asset_management_extension/models/account_move.py create mode 100644 account_asset_management_extension/static/description/icon.png create mode 100644 account_asset_management_extension/views/account_asset.xml diff --git a/account_asset_management_extension/README.rst b/account_asset_management_extension/README.rst new file mode 100644 index 000000000..7b40a6528 --- /dev/null +++ b/account_asset_management_extension/README.rst @@ -0,0 +1,27 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: https://www.gnu.org/licenses/agpl + :alt: License: AGPL-3 + +================================== +Account Asset Management Extension +================================== + +* This module adds additional fields on assets. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Contributors +------------ + +* Kilian Niubo +* Eric Antones + diff --git a/account_asset_management_extension/__init__.py b/account_asset_management_extension/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/account_asset_management_extension/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/account_asset_management_extension/__manifest__.py b/account_asset_management_extension/__manifest__.py new file mode 100644 index 000000000..0479df37c --- /dev/null +++ b/account_asset_management_extension/__manifest__.py @@ -0,0 +1,18 @@ +# Copyright NuoBiT - Kilian Niubo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +{ + "name": "Account Asset Management Extension", + "summary": "This module adds additional fields in assets", + "version": "14.0.1.0.0", + "category": "Accounting", + "author": "NuoBiT Solutions, S.L.", + "website": "https://github.com/nuobit/odoo-addons", + "license": "AGPL-3", + "depends": [ + "account_asset_management", + ], + "data": [ + "views/account_asset.xml", + ], +} diff --git a/account_asset_management_extension/i18n/es.po b/account_asset_management_extension/i18n/es.po new file mode 100644 index 000000000..d0be3613f --- /dev/null +++ b/account_asset_management_extension/i18n/es.po @@ -0,0 +1,57 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_asset_management_extension +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-29 12:35+0000\n" +"PO-Revision-Date: 2022-09-29 12:35+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_asset_management_extension +#: model:ir.model,name:account_asset_management_extension.model_account_asset +msgid "Asset" +msgstr "Activo" + +#. module: account_asset_management_extension +#: model:ir.model.fields,field_description:account_asset_management_extension.field_account_asset__currency_id +msgid "Currency" +msgstr "Divisa" + +#. module: account_asset_management_extension +#: model:ir.model.fields,field_description:account_asset_management_extension.field_account_asset__invoice_date +msgid "Invoice Date" +msgstr "Fecha de la factura" + +#. module: account_asset_management_extension +#: model:ir.model.fields,field_description:account_asset_management_extension.field_account_asset__invoice_ref +msgid "Invoice Reference" +msgstr "Referencia de la factura" + +#. module: account_asset_management_extension +#: model_terms:ir.ui.view,arch_db:account_asset_management_extension.account_asset_view_form +msgid "Other Information" +msgstr "Otra informacion" + +#. module: account_asset_management_extension +#: model:ir.model.fields,field_description:account_asset_management_extension.field_account_asset__tax_base_amount +msgid "Tax Base Amount" +msgstr "Importe de la base imponible" + +#. module: account_asset_management_extension +#: model:ir.model.fields,field_description:account_asset_management_extension.field_account_asset__invoice_move_line_id +msgid "Invoice Move Line" +msgstr "Línea de factura" + +#. module: account_asset_management_extension +#: model:ir.model.fields,field_description:account_asset_management_extension.field_account_asset__tax_ids +msgid "Taxes" +msgstr "Impuestos" + diff --git a/account_asset_management_extension/models/__init__.py b/account_asset_management_extension/models/__init__.py new file mode 100644 index 000000000..5e6c81c12 --- /dev/null +++ b/account_asset_management_extension/models/__init__.py @@ -0,0 +1,2 @@ +from . import account_asset +from . import account_move diff --git a/account_asset_management_extension/models/account_asset.py b/account_asset_management_extension/models/account_asset.py new file mode 100644 index 000000000..5538f19cd --- /dev/null +++ b/account_asset_management_extension/models/account_asset.py @@ -0,0 +1,113 @@ +# Copyright NuoBiT - Kilian Niubo +# Copyright NuoBiT - Eric Antones +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +import json + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError +from odoo.tools import float_compare + +from odoo.addons.account_asset_management.models.account_asset import READONLY_STATES + + +class AccountAsset(models.Model): + _inherit = "account.asset" + + invoice_ref = fields.Char( + string="Invoice Reference", + states=READONLY_STATES, + ) + invoice_date = fields.Date( + string="Invoice Date", + ) + tax_base_amount = fields.Float( + string="Tax Base Amount", + states=READONLY_STATES, + compute="_compute_tax_base_amount", + readonly=False, + store=True, + ) + + @api.depends("purchase_value") + def _compute_tax_base_amount(self): + for rec in self: + rec.tax_base_amount = rec.purchase_value + + tax_base_amount_unit = fields.Float( + string="Tax Base Amount Unit", + compute="_compute_tax_base_amount_unit", + ) + + @api.model + def _get_asset_unit_price(self, amount, quantity): + if not quantity: + amount = 0 + elif abs(quantity) >= 1: + prec = self.env["decimal.precision"].precision_get( + "Product Unit of Measure" + ) + if not float_compare(int(quantity), quantity, precision_digits=prec): + amount /= quantity + return amount + + @api.depends("tax_base_amount", "invoice_move_line_id.quantity") + def _compute_tax_base_amount_unit(self): + for rec in self: + tax_base_amount = rec.tax_base_amount + if rec.invoice_move_line_id: + tax_base_amount = rec._get_asset_unit_price( + rec.tax_base_amount, rec.invoice_move_line_id.quantity + ) + rec.tax_base_amount_unit = tax_base_amount + + # needed for bypassing the restriction on m2m fields on Form class. Remove it when supported + json_tax_ids = fields.Char( + store=False, + ) + + tax_ids = fields.Many2many( + comodel_name="account.tax", + string="Taxes", + compute="_compute_tax_ids", + store=True, + readonly=False, + states=READONLY_STATES, + ) + + @api.depends("json_tax_ids") + def _compute_tax_ids(self): + for rec in self: + if rec.json_tax_ids: + rec.tax_ids = json.loads(rec.json_tax_ids) + + invoice_move_line_id = fields.Many2one( + comodel_name="account.move.line", + compute="_compute_invoice_move_line_id", + store=True, + ) + + @api.depends( + "account_move_line_ids", + "account_move_line_ids.exclude_from_invoice_tab", + "account_move_line_ids.move_id", + "account_move_line_ids.move_id.move_type", + ) + def _compute_invoice_move_line_id(self): + for rec in self: + iml = rec.account_move_line_ids.filtered( + lambda x: x.move_id.move_type != "entry" + and not x.exclude_from_invoice_tab + ) + if iml: + if len(iml) > 1: + raise ValidationError( + _( + "This asset have more than one move line linked. " + "Please, review invoices: %s" + ) + % iml.mapped("move_id").mapped("name") + ) + rec.invoice_move_line_id = iml[0] + else: + rec.invoice_move_line_id = False diff --git a/account_asset_management_extension/models/account_move.py b/account_asset_management_extension/models/account_move.py new file mode 100644 index 000000000..ebbeaf90e --- /dev/null +++ b/account_asset_management_extension/models/account_move.py @@ -0,0 +1,23 @@ +# Copyright NuoBiT - Kilian Niubo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + + +import json + +from odoo import models + + +class AccountMove(models.Model): + _inherit = "account.move" + + def _prepare_asset_vals(self, aml): + vals = super()._prepare_asset_vals(aml) + vals.update( + { + "invoice_ref": self.ref, + "invoice_date": self.invoice_date, + "tax_base_amount": aml.balance, + "json_tax_ids": json.dumps(aml.tax_ids.ids), + } + ) + return vals diff --git a/account_asset_management_extension/static/description/icon.png b/account_asset_management_extension/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1cd641e792c30455187ca30940bc0f329ce8bbb0 GIT binary patch literal 6342 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 literal 0 HcmV?d00001 diff --git a/account_asset_management_extension/views/account_asset.xml b/account_asset_management_extension/views/account_asset.xml new file mode 100644 index 000000000..6b29cbcda --- /dev/null +++ b/account_asset_management_extension/views/account_asset.xml @@ -0,0 +1,39 @@ + + + + + account.asset + + + + + + + + + + + + + + + + + + + + + + + + + + From e3d2f3eee0df19c4e3dffb42b4688f4763efccf1 Mon Sep 17 00:00:00 2001 From: KNVx Date: Wed, 18 Jan 2023 08:38:56 +0100 Subject: [PATCH 02/10] [IMP] account_asset_management_extension: quantity included on asset --- .../__manifest__.py | 2 +- account_asset_management_extension/i18n/es.po | 40 ++++++++++++++ .../models/account_asset.py | 52 +++++++++++++++++-- .../models/account_move.py | 1 + .../views/account_asset.xml | 1 + 5 files changed, 92 insertions(+), 4 deletions(-) diff --git a/account_asset_management_extension/__manifest__.py b/account_asset_management_extension/__manifest__.py index 0479df37c..771c3b21f 100644 --- a/account_asset_management_extension/__manifest__.py +++ b/account_asset_management_extension/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Account Asset Management Extension", "summary": "This module adds additional fields in assets", - "version": "14.0.1.0.0", + "version": "14.0.1.0.1", "category": "Accounting", "author": "NuoBiT Solutions, S.L.", "website": "https://github.com/nuobit/odoo-addons", diff --git a/account_asset_management_extension/i18n/es.po b/account_asset_management_extension/i18n/es.po index d0be3613f..29c24e633 100644 --- a/account_asset_management_extension/i18n/es.po +++ b/account_asset_management_extension/i18n/es.po @@ -55,3 +55,43 @@ msgstr "Línea de factura" msgid "Taxes" msgstr "Impuestos" +#. module: account_asset_management_extension +#: model:ir.model.fields,field_description:account_asset_management_extension.field_account_asset__quantity +msgid "Quantity" +msgstr "Cantidad" + +#. module: account_asset_management_extension +#: code:addons/account_asset_management_extension/models/account_asset.py:0 +#, python-format +msgid "Quantity in asset can't be 0" +msgstr "La cantidad del activo no puede ser 0." + +#. module: account_asset_management_extension +#: code:addons/account_asset_management_extension/models/account_asset.py:0 +#, python-format +msgid "Invoice date must be the same as the one in the invoice: %s" +msgstr "La fecha de factura debe ser la misma que la establecida en la factura: %s" + +#. module: account_asset_management_extension +#: code:addons/account_asset_management_extension/models/account_asset.py:0 +#, python-format +msgid "Invoice ref must be the same as the one in the invoice: %s" +msgstr "La referencia de factura debe ser la misma que la establecida en la factura: %s" + +#. module: account_asset_management_extension +#: code:addons/account_asset_management_extension/models/account_asset.py:0 +#, python-format +msgid "Taxes must be the same as the ones in the invoice line: %s" +msgstr "Los impuestos deben ser los mismos que los establecidos en la línea de la factura: %s" + +#. module: account_asset_management_extension +#: code:addons/account_asset_management_extension/models/account_asset.py:0 +#, python-format +msgid "Tax base amount must be the same as the one in the invoice line: %s" +msgstr "El importe de la base imponible debe ser el mismo que el establecido en la línea de factura: %s" + +#. module: account_asset_management_extension +#: code:addons/account_asset_management_extension/models/account_asset.py:0 +#, python-format +msgid "Quantity must be the same as the one in the invoice line: %s" +msgstr "La cantidad debe ser la misma que la establecida en la línea de factura: %s" diff --git a/account_asset_management_extension/models/account_asset.py b/account_asset_management_extension/models/account_asset.py index 5538f19cd..30035b494 100644 --- a/account_asset_management_extension/models/account_asset.py +++ b/account_asset_management_extension/models/account_asset.py @@ -21,6 +21,11 @@ class AccountAsset(models.Model): invoice_date = fields.Date( string="Invoice Date", ) + quantity = fields.Float( + string="Quantity", + states=READONLY_STATES, + required=True, + ) tax_base_amount = fields.Float( string="Tax Base Amount", states=READONLY_STATES, @@ -51,16 +56,57 @@ def _get_asset_unit_price(self, amount, quantity): amount /= quantity return amount - @api.depends("tax_base_amount", "invoice_move_line_id.quantity") + @api.depends("tax_base_amount", "quantity") def _compute_tax_base_amount_unit(self): for rec in self: tax_base_amount = rec.tax_base_amount - if rec.invoice_move_line_id: + if rec.quantity: tax_base_amount = rec._get_asset_unit_price( - rec.tax_base_amount, rec.invoice_move_line_id.quantity + rec.tax_base_amount, rec.quantity ) rec.tax_base_amount_unit = tax_base_amount + @api.constrains("quantity") + def _check_quantity_on_asset(self): + for rec in self: + if rec.quantity == 0: + raise ValidationError(_("Quantity in asset can't be 0")) + + @api.constrains("invoice_ref", "invoice_date", "quantity", "tax_base_amount") + def _check_invoice(self): + for rec in self: + if rec.invoice_move_line_id: + if rec.invoice_move_line_id.move_id.ref != rec.invoice_ref: + raise ValidationError( + _("Invoice ref must be the same as the one in the invoice: %s") + % rec.invoice_move_line_id.move_id.ref + ) + if rec.invoice_move_line_id.move_id.invoice_date != rec.invoice_date: + raise ValidationError( + _("Invoice date must be the same as the one in the invoice: %s") + % rec.invoice_move_line_id.move_id.invoice_date + ) + if rec.invoice_move_line_id.quantity != rec.quantity: + raise ValidationError( + _( + "Quantity must be the same as the one in the invoice line: %s" + ) + % rec.invoice_move_line_id.quantity + ) + if rec.invoice_move_line_id.balance != rec.tax_base_amount: + raise ValidationError( + _( + "Tax base amount must be the same as the one in the " + "invoice line: %s" + ) + % rec.invoice_move_line_id.balance + ) + if rec.invoice_move_line_id.tax_ids != rec.tax_ids: + raise ValidationError( + _("Taxes must be the same as the ones in the invoice line: %s") + % rec.invoice_move_line_id.tax_ids.mapped("name") + ) + # needed for bypassing the restriction on m2m fields on Form class. Remove it when supported json_tax_ids = fields.Char( store=False, diff --git a/account_asset_management_extension/models/account_move.py b/account_asset_management_extension/models/account_move.py index ebbeaf90e..c5919d6b9 100644 --- a/account_asset_management_extension/models/account_move.py +++ b/account_asset_management_extension/models/account_move.py @@ -16,6 +16,7 @@ def _prepare_asset_vals(self, aml): { "invoice_ref": self.ref, "invoice_date": self.invoice_date, + "quantity": aml.quantity, "tax_base_amount": aml.balance, "json_tax_ids": json.dumps(aml.tax_ids.ids), } diff --git a/account_asset_management_extension/views/account_asset.xml b/account_asset_management_extension/views/account_asset.xml index 6b29cbcda..a03ff2ea3 100644 --- a/account_asset_management_extension/views/account_asset.xml +++ b/account_asset_management_extension/views/account_asset.xml @@ -28,6 +28,7 @@ widget="monetary" options="{'currency_field': 'company_currency_id'}" /> + From 21d8448dc7d4bc1d381f9984354326ac3151c1ed Mon Sep 17 00:00:00 2001 From: KNVx Date: Wed, 18 Jan 2023 08:40:28 +0100 Subject: [PATCH 03/10] [FIX] account_asset_management_extension: invoice_date can be modified on asset. field without readonly states --- account_asset_management_extension/__manifest__.py | 2 +- account_asset_management_extension/models/account_asset.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/account_asset_management_extension/__manifest__.py b/account_asset_management_extension/__manifest__.py index 771c3b21f..34be634a7 100644 --- a/account_asset_management_extension/__manifest__.py +++ b/account_asset_management_extension/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Account Asset Management Extension", "summary": "This module adds additional fields in assets", - "version": "14.0.1.0.1", + "version": "14.0.1.0.2", "category": "Accounting", "author": "NuoBiT Solutions, S.L.", "website": "https://github.com/nuobit/odoo-addons", diff --git a/account_asset_management_extension/models/account_asset.py b/account_asset_management_extension/models/account_asset.py index 30035b494..3b4ed76f5 100644 --- a/account_asset_management_extension/models/account_asset.py +++ b/account_asset_management_extension/models/account_asset.py @@ -20,6 +20,7 @@ class AccountAsset(models.Model): ) invoice_date = fields.Date( string="Invoice Date", + states=READONLY_STATES, ) quantity = fields.Float( string="Quantity", From 0fdfeb2b7e3442f5708dfa75ed187740bae27275 Mon Sep 17 00:00:00 2001 From: Eric Antones Date: Wed, 8 Oct 2025 19:10:56 +0200 Subject: [PATCH 04/10] [FIX] account_asset_management_extension: asset value computed with unit price instead of total price of the asset --- .../models/account_asset.py | 28 ------------------- 1 file changed, 28 deletions(-) diff --git a/account_asset_management_extension/models/account_asset.py b/account_asset_management_extension/models/account_asset.py index 3b4ed76f5..56c38892c 100644 --- a/account_asset_management_extension/models/account_asset.py +++ b/account_asset_management_extension/models/account_asset.py @@ -6,7 +6,6 @@ from odoo import _, api, fields, models from odoo.exceptions import ValidationError -from odoo.tools import float_compare from odoo.addons.account_asset_management.models.account_asset import READONLY_STATES @@ -40,33 +39,6 @@ def _compute_tax_base_amount(self): for rec in self: rec.tax_base_amount = rec.purchase_value - tax_base_amount_unit = fields.Float( - string="Tax Base Amount Unit", - compute="_compute_tax_base_amount_unit", - ) - - @api.model - def _get_asset_unit_price(self, amount, quantity): - if not quantity: - amount = 0 - elif abs(quantity) >= 1: - prec = self.env["decimal.precision"].precision_get( - "Product Unit of Measure" - ) - if not float_compare(int(quantity), quantity, precision_digits=prec): - amount /= quantity - return amount - - @api.depends("tax_base_amount", "quantity") - def _compute_tax_base_amount_unit(self): - for rec in self: - tax_base_amount = rec.tax_base_amount - if rec.quantity: - tax_base_amount = rec._get_asset_unit_price( - rec.tax_base_amount, rec.quantity - ) - rec.tax_base_amount_unit = tax_base_amount - @api.constrains("quantity") def _check_quantity_on_asset(self): for rec in self: From d7ee328d840a236270fa525fbd52e49b42fabc6e Mon Sep 17 00:00:00 2001 From: Eric Antones Date: Sun, 14 Dec 2025 12:32:39 +0100 Subject: [PATCH 05/10] Revert "[FIX] account_asset_management_extension: asset value computed with unit price instead of total price of the asset" This reverts commit 40ae7a053ca15dc301c59b00aba046f61ef633d5. --- .../models/account_asset.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/account_asset_management_extension/models/account_asset.py b/account_asset_management_extension/models/account_asset.py index 56c38892c..3b4ed76f5 100644 --- a/account_asset_management_extension/models/account_asset.py +++ b/account_asset_management_extension/models/account_asset.py @@ -6,6 +6,7 @@ from odoo import _, api, fields, models from odoo.exceptions import ValidationError +from odoo.tools import float_compare from odoo.addons.account_asset_management.models.account_asset import READONLY_STATES @@ -39,6 +40,33 @@ def _compute_tax_base_amount(self): for rec in self: rec.tax_base_amount = rec.purchase_value + tax_base_amount_unit = fields.Float( + string="Tax Base Amount Unit", + compute="_compute_tax_base_amount_unit", + ) + + @api.model + def _get_asset_unit_price(self, amount, quantity): + if not quantity: + amount = 0 + elif abs(quantity) >= 1: + prec = self.env["decimal.precision"].precision_get( + "Product Unit of Measure" + ) + if not float_compare(int(quantity), quantity, precision_digits=prec): + amount /= quantity + return amount + + @api.depends("tax_base_amount", "quantity") + def _compute_tax_base_amount_unit(self): + for rec in self: + tax_base_amount = rec.tax_base_amount + if rec.quantity: + tax_base_amount = rec._get_asset_unit_price( + rec.tax_base_amount, rec.quantity + ) + rec.tax_base_amount_unit = tax_base_amount + @api.constrains("quantity") def _check_quantity_on_asset(self): for rec in self: From cb444b25d855a8d1cf912bb61aab505196a43e7a Mon Sep 17 00:00:00 2001 From: Eric Antones Date: Sun, 14 Dec 2025 13:25:04 +0100 Subject: [PATCH 06/10] [REF] account_asset_management_extension: optimization to not divide by 1 --- account_asset_management_extension/models/account_asset.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account_asset_management_extension/models/account_asset.py b/account_asset_management_extension/models/account_asset.py index 3b4ed76f5..d6b090bff 100644 --- a/account_asset_management_extension/models/account_asset.py +++ b/account_asset_management_extension/models/account_asset.py @@ -49,7 +49,7 @@ def _compute_tax_base_amount(self): def _get_asset_unit_price(self, amount, quantity): if not quantity: amount = 0 - elif abs(quantity) >= 1: + elif abs(quantity) > 1: prec = self.env["decimal.precision"].precision_get( "Product Unit of Measure" ) From d78c29205fb2b86d84dc1493dc7ff0587308ce0f Mon Sep 17 00:00:00 2001 From: bijaya Date: Thu, 24 Apr 2025 10:36:32 +0200 Subject: [PATCH 07/10] [IMP] account_asset_management_extension: pre-commit stuff --- account_asset_management_extension/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account_asset_management_extension/__manifest__.py b/account_asset_management_extension/__manifest__.py index 34be634a7..607d6d490 100644 --- a/account_asset_management_extension/__manifest__.py +++ b/account_asset_management_extension/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Account Asset Management Extension", "summary": "This module adds additional fields in assets", - "version": "14.0.1.0.2", + "version": "16.0.1.0.2", "category": "Accounting", "author": "NuoBiT Solutions, S.L.", "website": "https://github.com/nuobit/odoo-addons", From f1916486313da865a46cf5c34dae01bbb4dac28a Mon Sep 17 00:00:00 2001 From: bijaya Date: Fri, 25 Apr 2025 12:27:16 +0200 Subject: [PATCH 08/10] [MIG] account_asset_management_extension: Migration to 16.0 --- account_asset_management_extension/README.rst | 59 ++- .../__manifest__.py | 2 +- .../models/account_asset.py | 11 +- .../readme/CONTRIBUTORS.md | 5 + .../readme/DESCRIPTION.md | 1 + .../static/description/index.html | 423 ++++++++++++++++++ 6 files changed, 481 insertions(+), 20 deletions(-) create mode 100644 account_asset_management_extension/readme/CONTRIBUTORS.md create mode 100644 account_asset_management_extension/readme/DESCRIPTION.md create mode 100644 account_asset_management_extension/static/description/index.html diff --git a/account_asset_management_extension/README.rst b/account_asset_management_extension/README.rst index 7b40a6528..53e4a980d 100644 --- a/account_asset_management_extension/README.rst +++ b/account_asset_management_extension/README.rst @@ -1,27 +1,64 @@ -.. image:: https://img.shields.io/badge/license-AGPL--3-blue.png - :target: https://www.gnu.org/licenses/agpl - :alt: License: AGPL-3 - ================================== Account Asset Management Extension ================================== -* This module adds additional fields on assets. +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:4efba3fd6254fdeeab7ce79dec3cf0773f88f49eb51a130c2e1f27ef00d3d9b7 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-nuobit%2Fodoo--addons-lightgray.png?logo=github + :target: https://github.com/nuobit/odoo-addons/tree/16.0/account_asset_management_extension + :alt: nuobit/odoo-addons + +|badge1| |badge2| |badge3| + +- This module adds additional fields on assets. + +**Table of contents** + +.. contents:: + :local: Bug Tracker =========== -Bugs are tracked on `GitHub Issues -`_. In case of trouble, please -check there if your issue has already been reported. If you spotted it first, -help us smashing it by providing a detailed and welcomed feedback. +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. Credits ======= +Authors +------- + +* NuoBiT Solutions SL + Contributors ------------ -* Kilian Niubo -* Eric Antones +- `NuoBiT `__: + + - Kilian Niubo kniubo@nuobit.com + - Eric Antones eantones@nuobit.com + - Bijaya Kumal bkumal@nuobit.com + +Maintainers +----------- + +This module is part of the `nuobit/odoo-addons `_ project on GitHub. +You are welcome to contribute. diff --git a/account_asset_management_extension/__manifest__.py b/account_asset_management_extension/__manifest__.py index 607d6d490..e0d6cf579 100644 --- a/account_asset_management_extension/__manifest__.py +++ b/account_asset_management_extension/__manifest__.py @@ -6,7 +6,7 @@ "summary": "This module adds additional fields in assets", "version": "16.0.1.0.2", "category": "Accounting", - "author": "NuoBiT Solutions, S.L.", + "author": "NuoBiT Solutions SL", "website": "https://github.com/nuobit/odoo-addons", "license": "AGPL-3", "depends": [ diff --git a/account_asset_management_extension/models/account_asset.py b/account_asset_management_extension/models/account_asset.py index d6b090bff..2503ae7ea 100644 --- a/account_asset_management_extension/models/account_asset.py +++ b/account_asset_management_extension/models/account_asset.py @@ -1,5 +1,6 @@ # Copyright NuoBiT - Kilian Niubo # Copyright NuoBiT - Eric Antones +# Copyright NuoBiT 2025 - Bijaya Kumal # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) import json @@ -15,20 +16,16 @@ class AccountAsset(models.Model): _inherit = "account.asset" invoice_ref = fields.Char( - string="Invoice Reference", states=READONLY_STATES, ) invoice_date = fields.Date( - string="Invoice Date", states=READONLY_STATES, ) quantity = fields.Float( - string="Quantity", states=READONLY_STATES, required=True, ) tax_base_amount = fields.Float( - string="Tax Base Amount", states=READONLY_STATES, compute="_compute_tax_base_amount", readonly=False, @@ -41,7 +38,6 @@ def _compute_tax_base_amount(self): rec.tax_base_amount = rec.purchase_value tax_base_amount_unit = fields.Float( - string="Tax Base Amount Unit", compute="_compute_tax_base_amount_unit", ) @@ -115,7 +111,6 @@ def _check_invoice(self): tax_ids = fields.Many2many( comodel_name="account.tax", - string="Taxes", compute="_compute_tax_ids", store=True, readonly=False, @@ -136,7 +131,7 @@ def _compute_tax_ids(self): @api.depends( "account_move_line_ids", - "account_move_line_ids.exclude_from_invoice_tab", + "account_move_line_ids.display_type", "account_move_line_ids.move_id", "account_move_line_ids.move_id.move_type", ) @@ -144,7 +139,7 @@ def _compute_invoice_move_line_id(self): for rec in self: iml = rec.account_move_line_ids.filtered( lambda x: x.move_id.move_type != "entry" - and not x.exclude_from_invoice_tab + and x.display_type in ("product", "line_section", "line_note") ) if iml: if len(iml) > 1: diff --git a/account_asset_management_extension/readme/CONTRIBUTORS.md b/account_asset_management_extension/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..c9567c58c --- /dev/null +++ b/account_asset_management_extension/readme/CONTRIBUTORS.md @@ -0,0 +1,5 @@ +- [NuoBiT](https://www.nuobit.com): + - Kilian Niubo + - Eric Antones + - Bijaya Kumal + diff --git a/account_asset_management_extension/readme/DESCRIPTION.md b/account_asset_management_extension/readme/DESCRIPTION.md new file mode 100644 index 000000000..1338d8631 --- /dev/null +++ b/account_asset_management_extension/readme/DESCRIPTION.md @@ -0,0 +1 @@ +* This module adds additional fields on assets. diff --git a/account_asset_management_extension/static/description/index.html b/account_asset_management_extension/static/description/index.html new file mode 100644 index 000000000..18830b527 --- /dev/null +++ b/account_asset_management_extension/static/description/index.html @@ -0,0 +1,423 @@ + + + + + +Account Asset Management Extension + + + +
+

Account Asset Management Extension

+ + +

Beta License: AGPL-3 nuobit/odoo-addons

+
    +
  • This module adds additional fields on assets.
  • +
+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • NuoBiT Solutions SL
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is part of the nuobit/odoo-addons project on GitHub.

+

You are welcome to contribute.

+
+
+
+ + From be67e7fdd67f65dd5d92d1c148bf65c9ae6c967f Mon Sep 17 00:00:00 2001 From: ??? Date: Thu, 9 Oct 2025 16:21:29 +0200 Subject: [PATCH 09/10] [IMP] account_asset_management_extension: pre-commit auto fixes --- account_asset_management_extension/README.rst | 12 ++++++------ account_asset_management_extension/__manifest__.py | 2 +- account_asset_management_extension/pyproject.toml | 3 +++ .../static/description/index.html | 8 ++++---- 4 files changed, 14 insertions(+), 11 deletions(-) create mode 100644 account_asset_management_extension/pyproject.toml diff --git a/account_asset_management_extension/README.rst b/account_asset_management_extension/README.rst index 53e4a980d..720a0f023 100644 --- a/account_asset_management_extension/README.rst +++ b/account_asset_management_extension/README.rst @@ -16,9 +16,9 @@ Account Asset Management Extension .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-nuobit%2Fodoo--addons-lightgray.png?logo=github - :target: https://github.com/nuobit/odoo-addons/tree/16.0/account_asset_management_extension - :alt: nuobit/odoo-addons +.. |badge3| image:: https://img.shields.io/badge/github-NuoBiT%2Fodoo--addons-lightgray.png?logo=github + :target: https://github.com/NuoBiT/odoo-addons/tree/18.0/account_asset_management_extension + :alt: NuoBiT/odoo-addons |badge1| |badge2| |badge3| @@ -32,10 +32,10 @@ Account Asset Management Extension Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -59,6 +59,6 @@ Contributors Maintainers ----------- -This module is part of the `nuobit/odoo-addons `_ project on GitHub. +This module is part of the `NuoBiT/odoo-addons `_ project on GitHub. You are welcome to contribute. diff --git a/account_asset_management_extension/__manifest__.py b/account_asset_management_extension/__manifest__.py index e0d6cf579..650c82e45 100644 --- a/account_asset_management_extension/__manifest__.py +++ b/account_asset_management_extension/__manifest__.py @@ -7,7 +7,7 @@ "version": "16.0.1.0.2", "category": "Accounting", "author": "NuoBiT Solutions SL", - "website": "https://github.com/nuobit/odoo-addons", + "website": "https://github.com/NuoBiT/odoo-addons", "license": "AGPL-3", "depends": [ "account_asset_management", diff --git a/account_asset_management_extension/pyproject.toml b/account_asset_management_extension/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/account_asset_management_extension/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/account_asset_management_extension/static/description/index.html b/account_asset_management_extension/static/description/index.html index 18830b527..db11b24e5 100644 --- a/account_asset_management_extension/static/description/index.html +++ b/account_asset_management_extension/static/description/index.html @@ -369,7 +369,7 @@

Account Asset Management Extension

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:4efba3fd6254fdeeab7ce79dec3cf0773f88f49eb51a130c2e1f27ef00d3d9b7 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 nuobit/odoo-addons

+

Beta License: AGPL-3 NuoBiT/odoo-addons

  • This module adds additional fields on assets.
@@ -387,10 +387,10 @@

Account Asset Management Extension

Bug Tracker

-

Bugs are tracked on GitHub Issues. +

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

@@ -414,7 +414,7 @@

Contributors

Maintainers

-

This module is part of the nuobit/odoo-addons project on GitHub.

+

This module is part of the NuoBiT/odoo-addons project on GitHub.

You are welcome to contribute.

From df77797dc12329c88b63a6cdae30dd9224033589 Mon Sep 17 00:00:00 2001 From: ??? Date: Thu, 9 Oct 2025 16:25:41 +0200 Subject: [PATCH 10/10] [MIG] account_asset_management_extension: Migration to 18.0 --- account_asset_management_extension/README.rst | 3 ++- .../__manifest__.py | 3 ++- account_asset_management_extension/i18n/es.po | 2 +- .../models/account_asset.py | 26 +++++++------------ .../models/account_move.py | 2 +- .../readme/CONTRIBUTORS.md | 1 + .../readme/DESCRIPTION.md | 2 +- .../static/description/index.html | 5 ++-- .../views/account_asset.xml | 25 ++++++++++++++---- 9 files changed, 40 insertions(+), 29 deletions(-) diff --git a/account_asset_management_extension/README.rst b/account_asset_management_extension/README.rst index 720a0f023..efc3aefb3 100644 --- a/account_asset_management_extension/README.rst +++ b/account_asset_management_extension/README.rst @@ -22,7 +22,7 @@ Account Asset Management Extension |badge1| |badge2| |badge3| -- This module adds additional fields on assets. +This module adds additional fields on assets. **Table of contents** @@ -55,6 +55,7 @@ Contributors - Kilian Niubo kniubo@nuobit.com - Eric Antones eantones@nuobit.com - Bijaya Kumal bkumal@nuobit.com + - Deniz Gallo dgallo@nuobit.com Maintainers ----------- diff --git a/account_asset_management_extension/__manifest__.py b/account_asset_management_extension/__manifest__.py index 650c82e45..a65b00037 100644 --- a/account_asset_management_extension/__manifest__.py +++ b/account_asset_management_extension/__manifest__.py @@ -1,10 +1,11 @@ # Copyright NuoBiT - Kilian Niubo +# Copyright 2025 NuoBiT Solutions - Deniz Gallo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) { "name": "Account Asset Management Extension", "summary": "This module adds additional fields in assets", - "version": "16.0.1.0.2", + "version": "18.0.1.0.0", "category": "Accounting", "author": "NuoBiT Solutions SL", "website": "https://github.com/NuoBiT/odoo-addons", diff --git a/account_asset_management_extension/i18n/es.po b/account_asset_management_extension/i18n/es.po index 29c24e633..64cf1d589 100644 --- a/account_asset_management_extension/i18n/es.po +++ b/account_asset_management_extension/i18n/es.po @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-09-29 12:35+0000\n" "PO-Revision-Date: 2022-09-29 12:35+0000\n" diff --git a/account_asset_management_extension/models/account_asset.py b/account_asset_management_extension/models/account_asset.py index 2503ae7ea..226a9e2b2 100644 --- a/account_asset_management_extension/models/account_asset.py +++ b/account_asset_management_extension/models/account_asset.py @@ -1,6 +1,7 @@ -# Copyright NuoBiT - Kilian Niubo -# Copyright NuoBiT - Eric Antones -# Copyright NuoBiT 2025 - Bijaya Kumal +# Copyright NuoBiT Solutions - Kilian Niubo +# Copyright NuoBiT Solutions - Eric Antones +# Copyright 2025 NuoBiT Solutions - Bijaya Kumal +# Copyright 2025 NuoBiT Solutions - Deniz Gallo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) import json @@ -9,24 +10,16 @@ from odoo.exceptions import ValidationError from odoo.tools import float_compare -from odoo.addons.account_asset_management.models.account_asset import READONLY_STATES - class AccountAsset(models.Model): _inherit = "account.asset" - invoice_ref = fields.Char( - states=READONLY_STATES, - ) - invoice_date = fields.Date( - states=READONLY_STATES, - ) + invoice_ref = fields.Char() + invoice_date = fields.Date() quantity = fields.Float( - states=READONLY_STATES, required=True, ) tax_base_amount = fields.Float( - states=READONLY_STATES, compute="_compute_tax_base_amount", readonly=False, store=True, @@ -86,7 +79,8 @@ def _check_invoice(self): if rec.invoice_move_line_id.quantity != rec.quantity: raise ValidationError( _( - "Quantity must be the same as the one in the invoice line: %s" + "Quantity must be the same" + " as the one in the invoice line: %s" ) % rec.invoice_move_line_id.quantity ) @@ -104,7 +98,8 @@ def _check_invoice(self): % rec.invoice_move_line_id.tax_ids.mapped("name") ) - # needed for bypassing the restriction on m2m fields on Form class. Remove it when supported + # needed for bypassing the restriction on m2m fields + # on Form class. Remove it when supported json_tax_ids = fields.Char( store=False, ) @@ -114,7 +109,6 @@ def _check_invoice(self): compute="_compute_tax_ids", store=True, readonly=False, - states=READONLY_STATES, ) @api.depends("json_tax_ids") diff --git a/account_asset_management_extension/models/account_move.py b/account_asset_management_extension/models/account_move.py index c5919d6b9..e42769fa2 100644 --- a/account_asset_management_extension/models/account_move.py +++ b/account_asset_management_extension/models/account_move.py @@ -1,4 +1,4 @@ -# Copyright NuoBiT - Kilian Niubo +# Copyright NuoBiT Solutions - Kilian Niubo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) diff --git a/account_asset_management_extension/readme/CONTRIBUTORS.md b/account_asset_management_extension/readme/CONTRIBUTORS.md index c9567c58c..5523253d9 100644 --- a/account_asset_management_extension/readme/CONTRIBUTORS.md +++ b/account_asset_management_extension/readme/CONTRIBUTORS.md @@ -2,4 +2,5 @@ - Kilian Niubo - Eric Antones - Bijaya Kumal + - Deniz Gallo diff --git a/account_asset_management_extension/readme/DESCRIPTION.md b/account_asset_management_extension/readme/DESCRIPTION.md index 1338d8631..b95b82a8c 100644 --- a/account_asset_management_extension/readme/DESCRIPTION.md +++ b/account_asset_management_extension/readme/DESCRIPTION.md @@ -1 +1 @@ -* This module adds additional fields on assets. +This module adds additional fields on assets. diff --git a/account_asset_management_extension/static/description/index.html b/account_asset_management_extension/static/description/index.html index db11b24e5..287dec0ec 100644 --- a/account_asset_management_extension/static/description/index.html +++ b/account_asset_management_extension/static/description/index.html @@ -370,9 +370,7 @@

Account Asset Management Extension

!! source digest: sha256:4efba3fd6254fdeeab7ce79dec3cf0773f88f49eb51a130c2e1f27ef00d3d9b7 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 NuoBiT/odoo-addons

-
    -
  • This module adds additional fields on assets.
  • -
+

This module adds additional fields on assets.

Table of contents

diff --git a/account_asset_management_extension/views/account_asset.xml b/account_asset_management_extension/views/account_asset.xml index a03ff2ea3..799176e87 100644 --- a/account_asset_management_extension/views/account_asset.xml +++ b/account_asset_management_extension/views/account_asset.xml @@ -1,5 +1,6 @@ - @@ -13,11 +14,17 @@ - + - + @@ -27,10 +34,18 @@ name="tax_base_amount" widget="monetary" options="{'currency_field': 'company_currency_id'}" + readonly="state in ['open', 'close', 'removed']" + /> + - - +