-
-
Notifications
You must be signed in to change notification settings - Fork 768
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[MIG] account_chart_update_l10n_eu_oss_oca: Migration to 16.0
- Loading branch information
1 parent
0721adb
commit 92d40f6
Showing
6 changed files
with
150 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,16 +14,16 @@ Account Chart update OSS OCA | |
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html | ||
:alt: License: AGPL-3 | ||
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--financial--tools-lightgray.png?logo=github | ||
:target: https://github.com/OCA/account-financial-tools/tree/15.0/account_chart_update_l10n_eu_oss_oca | ||
:target: https://github.com/OCA/account-financial-tools/tree/16.0/account_chart_update_l10n_eu_oss_oca | ||
:alt: OCA/account-financial-tools | ||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png | ||
:target: https://translation.odoo-community.org/projects/account-financial-tools-15-0/account-financial-tools-15-0-account_chart_update_l10n_eu_oss_oca | ||
:alt: Translate me on Weblate | ||
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png | ||
:target: https://runbot.odoo-community.org/runbot/92/15.0 | ||
:target: https://runbot.odoo-community.org/runbot/92/16.0 | ||
:alt: Try me on Runbot | ||
|
||
|badge1| |badge2| |badge3| |badge4| |badge5| | ||
|badge1| |badge2| |badge3| |badge4| |badge5| | ||
|
||
Glue module for account chart update and OSS (OCA version). It makes the wizard | ||
ignore OSS taxes when updating the CoA. | ||
|
@@ -39,7 +39,7 @@ Bug Tracker | |
Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-financial-tools/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 <https://github.com/OCA/account-financial-tools/issues/new?body=module:%20account_chart_update_l10n_eu_oss_oca%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||
`feedback <https://github.com/OCA/account-financial-tools/issues/new?body=module:%20account_chart_update_l10n_eu_oss_oca%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||
|
||
Do not contact contributors directly about support or help with technical issues. | ||
|
||
|
@@ -55,6 +55,9 @@ Contributors | |
~~~~~~~~~~~~ | ||
|
||
* Lois Rilo <[email protected]> | ||
* `Factor Libre <https://factorlibre.com>`_: | ||
|
||
* Luis J. Salvatierra | ||
|
||
Maintainers | ||
~~~~~~~~~~~ | ||
|
@@ -75,8 +78,8 @@ promote its widespread use. | |
|
||
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__: | ||
|
||
|maintainer-LoisRForgeFlow| | ||
|maintainer-LoisRForgeFlow| | ||
|
||
This module is part of the `OCA/account-financial-tools <https://github.com/OCA/account-financial-tools/tree/15.0/account_chart_update_l10n_eu_oss_oca>`_ project on GitHub. | ||
This module is part of the `OCA/account-financial-tools <https://github.com/OCA/account-financial-tools/tree/16.0/account_chart_update_l10n_eu_oss_oca>`_ project on GitHub. | ||
|
||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,4 @@ | ||
* Lois Rilo <[email protected]> | ||
* `Factor Libre <https://factorlibre.com>`_: | ||
|
||
* Luis J. Salvatierra |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from . import test_account_chart_update_l10n_eu_oss_oca |
135 changes: 135 additions & 0 deletions
135
account_chart_update_l10n_eu_oss_oca/tests/test_account_chart_update_l10n_eu_oss_oca.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). | ||
from odoo.tests import tagged | ||
|
||
from odoo.addons.account.tests.common import AccountTestInvoicingCommon | ||
|
||
|
||
@tagged("post_install", "-at_install") | ||
class TestOSSCoA(AccountTestInvoicingCommon): | ||
def _create_xml_id(self, record): | ||
return self.env["ir.model.data"].create( | ||
{ | ||
"module": "account_chart_update", | ||
"name": "{}-{}".format(record._table, record.id), | ||
"model": record._name, | ||
"res_id": record.id, | ||
} | ||
) | ||
|
||
def _create_tax_tmpl(self, name, chart_template): | ||
record = self.env["account.tax.template"].create( | ||
{ | ||
"name": name, | ||
"amount": 0, | ||
"chart_template_id": chart_template.id, | ||
"tax_group_id": self.env.ref("account.tax_group_taxes").id, | ||
"refund_repartition_line_ids": [ | ||
(0, 0, {"repartition_type": "base", "factor_percent": 100.0}), | ||
(0, 0, {"repartition_type": "tax", "factor_percent": 100.0}), | ||
(0, 0, {"repartition_type": "tax", "factor_percent": 100.0}), | ||
], | ||
"invoice_repartition_line_ids": [ | ||
(0, 0, {"repartition_type": "base", "factor_percent": 100.0}), | ||
(0, 0, {"repartition_type": "tax", "factor_percent": 100.0}), | ||
(0, 0, {"repartition_type": "tax", "factor_percent": 100.0}), | ||
], | ||
} | ||
) | ||
self._create_xml_id(record) | ||
return record | ||
|
||
# pylint: disable=W8106 | ||
@classmethod | ||
def setUpClass( | ||
cls, chart_template_ref="l10n_generic_coa.configurable_chart_template" | ||
): | ||
super().setUpClass(chart_template_ref=chart_template_ref) | ||
cls.chart_template = cls.env.ref(chart_template_ref) | ||
cls.env = cls.env( | ||
context=dict( | ||
cls.env.context, | ||
mail_create_nolog=True, | ||
mail_create_nosubscribe=True, | ||
mail_notrack=True, | ||
no_reset_password=True, | ||
tracking_disable=True, | ||
) | ||
) | ||
cls.company = cls.env["res.company"].create( | ||
{ | ||
"name": "Test account_chart_update company", | ||
"currency_id": cls.chart_template.currency_id.id, | ||
"country_id": cls.env.ref("base.es").id, | ||
} | ||
) | ||
cls.env.user.write( | ||
{ | ||
"company_ids": [ | ||
(6, 0, cls.env.user.company_ids.ids), | ||
(4, cls.company.id), | ||
], | ||
"company_id": cls.company.id, | ||
"groups_id": [ | ||
(6, 0, cls.env.user.groups_id.ids), | ||
(4, cls.env.ref("account.group_account_user").id), | ||
(4, cls.env.ref("account.group_account_invoice").id), | ||
(4, cls.env.ref("base.group_multi_company").id), | ||
], | ||
} | ||
) | ||
cls.oss_wizard = cls.env["l10n.eu.oss.wizard"] | ||
|
||
def setUp(self): | ||
super().setUp() | ||
# Create demo tax | ||
self._create_tax_tmpl("Not OSS Demo tax", self.chart_template) | ||
self.tax = self.env["account.tax"].create( | ||
{ | ||
"name": "Not OSS Demo tax", | ||
"amount": 10, | ||
"amount_type": "percent", | ||
"type_tax_use": "sale", | ||
"country_id": self.env.ref("base.es").id, | ||
"company_id": self.company.id, | ||
"tax_group_id": self.env.ref("account.tax_group_taxes").id, | ||
} | ||
) | ||
self.wizard_obj = self.env["wizard.update.charts.accounts"] | ||
self.wizard_vals = { | ||
"company_id": self.company.id, | ||
"chart_template_id": self.chart_template.id, | ||
"code_digits": 6, | ||
"lang": "en_US", | ||
} | ||
|
||
@classmethod | ||
def _oss_wizard_create(cls, extra_vals): | ||
vals = cls.oss_wizard.default_get(list(cls.oss_wizard.fields_get())) | ||
vals.update(extra_vals) | ||
oss_wizard_id = cls.oss_wizard.create(vals) | ||
return oss_wizard_id | ||
|
||
def test_matching(self): | ||
# Generate EU OSS taxes | ||
oss_wizard_vals = { | ||
"company_id": self.company.id, | ||
"general_tax": self.tax.id, | ||
} | ||
oss_wizard = self._oss_wizard_create(oss_wizard_vals) | ||
oss_wizard.generate_eu_oss_taxes() | ||
|
||
wizard_vals = self.wizard_vals | ||
wizard_vals.update(update_tax=True) | ||
wizard = self.wizard_obj.create(wizard_vals) | ||
wizard.action_find_records() | ||
taxes_to_delete = wizard.tax_ids.filtered(lambda x: x.type == "deleted").mapped( | ||
"update_tax_id" | ||
) | ||
oss_taxes = self.env["account.tax"].search( | ||
[ | ||
("oss_country_id", "!=", False), | ||
] | ||
) | ||
self.assertTrue(oss_taxes, "No OSS taxes found in the system") | ||
for tax in oss_taxes: | ||
self.assertNotIn(tax, taxes_to_delete) |