diff --git a/l10n_br_nfe_med/README.rst b/l10n_br_nfe_med/README.rst new file mode 100644 index 0000000..6ab854b --- /dev/null +++ b/l10n_br_nfe_med/README.rst @@ -0,0 +1,23 @@ +=============== +L10n Br Nfe Med +=============== + +Informação de Medicamentos na NF-e + +Configuration +============= + +To configure this module, you need to: + +#. Go to ... + +Usage +===== + +To use this module, you need to: + +#. Go to ... + + +Changelog +========= diff --git a/l10n_br_nfe_med/__init__.py b/l10n_br_nfe_med/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/l10n_br_nfe_med/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/l10n_br_nfe_med/__manifest__.py b/l10n_br_nfe_med/__manifest__.py new file mode 100644 index 0000000..670a079 --- /dev/null +++ b/l10n_br_nfe_med/__manifest__.py @@ -0,0 +1,17 @@ +# Copyright 2024 KMEE +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Informação de Medicamentos na NF-e", + "version": "14.0.1.0.0", + "license": "AGPL-3", + "author": "KMEE", + "website": "https://github.com/KMEE/kmee-odoo-addons", + "depends": [ + "l10n_br_account_nfe", + ], + "data": [ + "views/product_template.xml", + "views/document_line.xml", + ], +} diff --git a/l10n_br_nfe_med/models/__init__.py b/l10n_br_nfe_med/models/__init__.py new file mode 100644 index 0000000..47cbc18 --- /dev/null +++ b/l10n_br_nfe_med/models/__init__.py @@ -0,0 +1,3 @@ +from . import product_template +from . import document_line +from . import nfe_40_med diff --git a/l10n_br_nfe_med/models/document_line.py b/l10n_br_nfe_med/models/document_line.py new file mode 100644 index 0000000..1c8be9d --- /dev/null +++ b/l10n_br_nfe_med/models/document_line.py @@ -0,0 +1,13 @@ +# Copyright 2024 KMEE +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class DocumentLine(models.Model): + _inherit = "l10n_br_fiscal.document.line" + + nfe40_med = fields.Many2one( + related="product_id.nfe40_med", + store=True, + ) diff --git a/l10n_br_nfe_med/models/nfe_40_med.py b/l10n_br_nfe_med/models/nfe_40_med.py new file mode 100644 index 0000000..e477fca --- /dev/null +++ b/l10n_br_nfe_med/models/nfe_40_med.py @@ -0,0 +1,25 @@ +# Copyright 2024 KMEE +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, models + + +class Nfe40Med(models.AbstractModel): + _inherit = "nfe.40.med" + + _rec_name = "nfe40_cProdANVISA" + + @api.depends("nfe40_cProdANVISA", "nfe40_xMotivoIsencao", "nfe40_vPMC") + def _compute_display_name(self): + super()._compute_display_name() + + def name_get(self): + res = [] + for record in self: + name = record.nfe40_cProdANVISA + if record.nfe40_xMotivoIsencao: + name += " - " + record.nfe40_xMotivoIsencao + if record.nfe40_vPMC: + name += " - " + record.nfe40_vPMC + res.append((record.id, name)) + return res diff --git a/l10n_br_nfe_med/models/product_template.py b/l10n_br_nfe_med/models/product_template.py new file mode 100644 index 0000000..93239b4 --- /dev/null +++ b/l10n_br_nfe_med/models/product_template.py @@ -0,0 +1,17 @@ +# Copyright 2024 KMEE +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ProductTemplate(models.Model): + + _inherit = "product.template" + + nfe40_med = fields.Many2one( + comodel_name="nfe.40.med", + # delegate=True, + ) + + # eu tinha tentado fazer o delegate, mas não ficou bom, + # da pra tentar fazer uma abordagem com Stacked. diff --git a/l10n_br_nfe_med/views/document_line.xml b/l10n_br_nfe_med/views/document_line.xml new file mode 100644 index 0000000..90187af --- /dev/null +++ b/l10n_br_nfe_med/views/document_line.xml @@ -0,0 +1,52 @@ + + + + + + + + + l10n_br_fiscal.document.line + + + + + + + + + + + + + + + diff --git a/l10n_br_nfe_med/views/product_template.xml b/l10n_br_nfe_med/views/product_template.xml new file mode 100644 index 0000000..130cc7e --- /dev/null +++ b/l10n_br_nfe_med/views/product_template.xml @@ -0,0 +1,30 @@ + + + + + + product.template + + + + + + + + + + + + + + + diff --git a/setup/l10n_br_nfe_med/odoo/addons/l10n_br_nfe_med b/setup/l10n_br_nfe_med/odoo/addons/l10n_br_nfe_med new file mode 120000 index 0000000..9f37f3f --- /dev/null +++ b/setup/l10n_br_nfe_med/odoo/addons/l10n_br_nfe_med @@ -0,0 +1 @@ +../../../../l10n_br_nfe_med \ No newline at end of file diff --git a/setup/l10n_br_nfe_med/setup.py b/setup/l10n_br_nfe_med/setup.py new file mode 100644 index 0000000..28c57bb --- /dev/null +++ b/setup/l10n_br_nfe_med/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)