Skip to content

Commit

Permalink
[MIG] account_chart_update_l10n_eu_oss_oca: Migration to 16.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ljsalvatierra-factorlibre committed Jul 10, 2023
1 parent 0721adb commit 92d40f6
Show file tree
Hide file tree
Showing 6 changed files with 150 additions and 8 deletions.
15 changes: 9 additions & 6 deletions account_chart_update_l10n_eu_oss_oca/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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.

Expand All @@ -55,6 +55,9 @@ Contributors
~~~~~~~~~~~~

* Lois Rilo <[email protected]>
* `Factor Libre <https://factorlibre.com>`_:

* Luis J. Salvatierra

Maintainers
~~~~~~~~~~~
Expand All @@ -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.
2 changes: 1 addition & 1 deletion account_chart_update_l10n_eu_oss_oca/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

{
"name": "Account Chart update OSS OCA",
"version": "15.0.1.0.0",
"version": "16.0.1.0.0",
"author": "ForgeFlow, Odoo Community Association (OCA)",
"maintainers": ["LoisRForgeFlow"],
"website": "https://github.com/OCA/account-financial-tools",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
Expand Down
3 changes: 3 additions & 0 deletions account_chart_update_l10n_eu_oss_oca/readme/CONTRIBUTORS.rst
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
1 change: 1 addition & 0 deletions account_chart_update_l10n_eu_oss_oca/tests/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import test_account_chart_update_l10n_eu_oss_oca
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)

0 comments on commit 92d40f6

Please sign in to comment.