From 14bf29c7957d6dc4729f1c4ec0be850252c5140c Mon Sep 17 00:00:00 2001 From: FernandoRomera Date: Thu, 22 Dec 2022 11:23:08 +0100 Subject: [PATCH] [16.0][MIG] l10n_es_aeat_mod349: Migration to 16.0 --- l10n_es_aeat_mod349/__manifest__.py | 2 +- l10n_es_aeat_mod349/models/mod349.py | 20 +++++++++---------- .../tests/test_l10n_es_aeat_mod349.py | 2 +- .../views/account_move_view.xml | 9 ++++++--- .../odoo/addons/l10n_es_aeat_mod349 | 1 + setup/l10n_es_aeat_mod349/setup.py | 6 ++++++ 6 files changed, 25 insertions(+), 15 deletions(-) create mode 120000 setup/l10n_es_aeat_mod349/odoo/addons/l10n_es_aeat_mod349 create mode 100644 setup/l10n_es_aeat_mod349/setup.py diff --git a/l10n_es_aeat_mod349/__manifest__.py b/l10n_es_aeat_mod349/__manifest__.py index 28e35b8cde7..d5cf696534c 100644 --- a/l10n_es_aeat_mod349/__manifest__.py +++ b/l10n_es_aeat_mod349/__manifest__.py @@ -9,7 +9,7 @@ { "name": "AEAT modelo 349", - "version": "15.0.1.3.0", + "version": "16.0.1.0.0", "author": "Tecnativa, ForgeFlow, Odoo Community Association (OCA)", "license": "AGPL-3", "category": "Localisation/Accounting", diff --git a/l10n_es_aeat_mod349/models/mod349.py b/l10n_es_aeat_mod349/models/mod349.py index 47a842b99c6..cecac00690c 100644 --- a/l10n_es_aeat_mod349/models/mod349.py +++ b/l10n_es_aeat_mod349/models/mod349.py @@ -126,8 +126,8 @@ def _create_349_details(self, move_lines): self._create_349_record_detail(move_line) def _create_349_record_detail(self, move_line): - types = move_line.move_id.mapped("line_ids.account_id.internal_type") - sign = 1 if "payable" in types else -1 + types = move_line.move_id.mapped("line_ids.account_id.account_type") + sign = 1 if "liability_payable" in types else -1 return self.env["l10n.es.aeat.mod349.partner_record_detail"].create( { "report_id": self.id, @@ -137,8 +137,8 @@ def _create_349_record_detail(self, move_line): ) def _create_349_refund_detail(self, move_line): - types = move_line.move_id.mapped("line_ids.account_id.internal_type") - sign = 1 if "receivable" in types else -1 + types = move_line.move_id.mapped("line_ids.account_id.account_type") + sign = 1 if "asset_receivable" in types else -1 return self.env["l10n.es.aeat.mod349.partner_refund_detail"].create( { "report_id": self.id, @@ -199,10 +199,10 @@ def _create_349_refund_records(self): for refund_detail in self.partner_refund_detail_ids: move_line = refund_detail.refund_line_id origin_invoice = move_line.move_id.reversed_entry_id - groups.setdefault(origin_invoice, refund_detail_obj) - groups[origin_invoice] += refund_detail - for origin_invoice in groups: - refund_details = groups[origin_invoice] + key = (origin_invoice, move_line.l10n_es_aeat_349_operation_key) + groups.setdefault(key, refund_detail_obj) + groups[key] += refund_detail + for (origin_invoice, op_key), refund_details in groups.items(): refund_detail = first(refund_details) move_line = refund_detail.refund_line_id partner = move_line.partner_id @@ -382,7 +382,7 @@ def calculate(self): self._create_349_invoice_records() self._create_349_refund_records() # Recompute all pending computed fields - self.recompute() + self.flush_recordset() return True def button_recover(self): @@ -427,7 +427,7 @@ def button_confirm(self): """Checks if all the fields of the report are correctly filled""" self._check_names() self._check_report_lines() - return super(Mod349, self).button_confirm() + return super().button_confirm() class Mod349PartnerRecord(models.Model): diff --git a/l10n_es_aeat_mod349/tests/test_l10n_es_aeat_mod349.py b/l10n_es_aeat_mod349/tests/test_l10n_es_aeat_mod349.py index d522d22acc7..fcb58d77b7e 100644 --- a/l10n_es_aeat_mod349/tests/test_l10n_es_aeat_mod349.py +++ b/l10n_es_aeat_mod349/tests/test_l10n_es_aeat_mod349.py @@ -208,5 +208,5 @@ def test_model_349(self): self.assertTrue(export_to_boe._export_config(model349, export_config)) # Test report printing self.env.ref("l10n_es_aeat_mod349.act_report_aeat_mod349_pdf")._render( - model349.ids + "l10n_es_aeat_mod349.report_l10n_es_mod349_pdf", model349.ids, {} ) diff --git a/l10n_es_aeat_mod349/views/account_move_view.xml b/l10n_es_aeat_mod349/views/account_move_view.xml index c540ca69187..a820ca88450 100644 --- a/l10n_es_aeat_mod349/views/account_move_view.xml +++ b/l10n_es_aeat_mod349/views/account_move_view.xml @@ -3,19 +3,22 @@ account.move - - + diff --git a/setup/l10n_es_aeat_mod349/odoo/addons/l10n_es_aeat_mod349 b/setup/l10n_es_aeat_mod349/odoo/addons/l10n_es_aeat_mod349 new file mode 120000 index 00000000000..430c29c2e4c --- /dev/null +++ b/setup/l10n_es_aeat_mod349/odoo/addons/l10n_es_aeat_mod349 @@ -0,0 +1 @@ +../../../../l10n_es_aeat_mod349 \ No newline at end of file diff --git a/setup/l10n_es_aeat_mod349/setup.py b/setup/l10n_es_aeat_mod349/setup.py new file mode 100644 index 00000000000..28c57bb6403 --- /dev/null +++ b/setup/l10n_es_aeat_mod349/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)