Skip to content

Commit

Permalink
[MIG] analytic_tag_dimension: Migration to 15.0
Browse files Browse the repository at this point in the history
  • Loading branch information
cesar-tecnativa committed Jun 29, 2022
1 parent 896bcaa commit ec08934
Show file tree
Hide file tree
Showing 7 changed files with 110 additions and 59 deletions.
3 changes: 2 additions & 1 deletion analytic_tag_dimension/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
{
"name": "Analytic Accounts Dimensions",
"summary": "Group Analytic Entries by Dimensions",
"version": "14.0.1.0.0",
"version": "15.0.1.0.0",
"development_status": "Mature",
"license": "AGPL-3",
"author": "PESOL, Tecnativa, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/account-analytic",
Expand Down
22 changes: 4 additions & 18 deletions analytic_tag_dimension/i18n/analytic_tag_dimension.pot
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-06-28 22:38+0000\n"
"PO-Revision-Date: 2022-06-28 22:38+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
Expand All @@ -27,7 +29,6 @@ msgstr ""
#. module: analytic_tag_dimension
#: model_terms:ir.ui.view,arch_db:analytic_tag_dimension.view_AccountAnalyticDimension_form
#: model_terms:ir.ui.view,arch_db:analytic_tag_dimension.view_AccountAnalyticDimension_search
#: model_terms:ir.ui.view,arch_db:analytic_tag_dimension.view_AccountAnalyticDimension_tree
msgid "Analytic Dimension"
msgstr ""

Expand Down Expand Up @@ -80,21 +81,11 @@ msgstr ""

#. module: analytic_tag_dimension
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_analytic_dimension__display_name
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_analytic_line__display_name
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_analytic_tag__display_name
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_invoice_report__display_name
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_move_line__display_name
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_analytic_dimension_line__display_name
msgid "Display Name"
msgstr ""

#. module: analytic_tag_dimension
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_analytic_dimension__id
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_analytic_line__id
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_analytic_tag__id
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_invoice_report__id
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_move_line__id
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_analytic_dimension_line__id
msgid "ID"
msgstr ""

Expand All @@ -110,11 +101,6 @@ msgstr ""

#. module: analytic_tag_dimension
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_analytic_dimension____last_update
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_analytic_line____last_update
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_analytic_tag____last_update
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_invoice_report____last_update
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_move_line____last_update
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_analytic_dimension_line____last_update
msgid "Last Modified on"
msgstr ""

Expand Down Expand Up @@ -149,5 +135,5 @@ msgstr ""
#, python-format
msgid ""
"You can not set two tags from same dimension.\n"
" Records {} in the model {} have {}"
" Records %(records_to_update)s in the model %(description)s have %(display_name)s"
msgstr ""
37 changes: 9 additions & 28 deletions analytic_tag_dimension/i18n/es.po
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * analytic_tag_dimension
# * analytic_tag_dimension
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-19 22:13+0000\n"
"PO-Revision-Date: 2022-01-12 14:39+0000\n"
"Last-Translator: pere-aquarian <pere@aquarian.tech>\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"Language: es\n"
"POT-Creation-Date: 2022-06-28 22:39+0000\n"
"PO-Revision-Date: 2022-06-28 22:39+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: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3.2\n"
"Plural-Forms: \n"

#. module: analytic_tag_dimension
#: model:ir.model,name:analytic_tag_dimension.model_account_analytic_dimension
Expand All @@ -33,7 +29,6 @@ msgstr "Cuentas analíticas por dimensiones"
#. module: analytic_tag_dimension
#: model_terms:ir.ui.view,arch_db:analytic_tag_dimension.view_AccountAnalyticDimension_form
#: model_terms:ir.ui.view,arch_db:analytic_tag_dimension.view_AccountAnalyticDimension_search
#: model_terms:ir.ui.view,arch_db:analytic_tag_dimension.view_AccountAnalyticDimension_tree
msgid "Analytic Dimension"
msgstr "Dimensión analítica"

Expand Down Expand Up @@ -86,15 +81,13 @@ msgstr "Dimensión"

#. module: analytic_tag_dimension
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_analytic_dimension__display_name
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_analytic_dimension_line__display_name
msgid "Display Name"
msgstr "Nombre para mostrar"

#. module: analytic_tag_dimension
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_analytic_dimension__id
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_analytic_dimension_line__id
msgid "ID"
msgstr "ID"
msgstr ""

#. module: analytic_tag_dimension
#: model:ir.model,name:analytic_tag_dimension.model_account_invoice_report
Expand All @@ -108,7 +101,6 @@ msgstr "Apunte contable"

#. module: analytic_tag_dimension
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_account_analytic_dimension____last_update
#: model:ir.model.fields,field_description:analytic_tag_dimension.field_analytic_dimension_line____last_update
msgid "Last Modified on"
msgstr "Última modificación en"

Expand Down Expand Up @@ -143,16 +135,5 @@ msgstr "No puede asignar dos etiquetas a la misma dimensión."
#, python-format
msgid ""
"You can not set two tags from same dimension.\n"
" Records {} in the model {} have {}"
" Records %(records_to_update)s in the model %(description)s have %(display_name)s"
msgstr ""
"You can not set two tags from same dimension.\n"
" Registros {} en el modelo {} contienen {}"

#~ msgid "Invoice Line"
#~ msgstr "Línea de factura"

#~ msgid "account.analytic.dimension"
#~ msgstr "account.analytic.dimension"

#~ msgid "analytic.dimension.line"
#~ msgstr "analytic.dimension.line"
15 changes: 10 additions & 5 deletions analytic_tag_dimension/models/account_analytic_tag.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,17 @@ def write(self, vals):
raise ValidationError(
_(
"You can not set two tags from same dimension.\n"
" Records {} in the model {} have {}".format(
records_to_update.ids,
model._description,
same_dimension_tags.mapped("display_name"),
)
" Records %(records_to_update)s in the model "
"%(description)s have %(display_name)s"
)
% {
"records_to_update": records_to_update.ids,
"description": model._description,
"display_name": same_dimension_tags.mapped(
"display_name"
),
}
)

records_to_update.write({old_field: False, new_field: tag.id})
return super().write(vals)
2 changes: 1 addition & 1 deletion analytic_tag_dimension/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
* Artem Kostyuk <a.kostyuk@mobilunity.com>
* Jaume Planas <jaume.planas@minorisa.net>
* `Tecnativa <https://www.tecnativa.com>`__:

* Carlos Dauden
* César A. Sánchez
* Saran Lim. <saranl@ecosoft.co.th>
88 changes: 83 additions & 5 deletions analytic_tag_dimension/tests/test_analytic_dimension.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ def setUpClass(cls):
cls.dimension_obj = cls.env["account.analytic.dimension"]
cls.tag_obj = cls.env["account.analytic.tag"]
cls.analytic_line_obj = cls.env["account.analytic.line"]
cls.account_move_line_obj = cls.env["account.move.line"]
cls.account_move_obj = cls.env["account.move"]
cls.dimension_1 = cls.dimension_obj.create(
{"name": "Test dimension 1", "code": "test_dim_1"}
)
Expand Down Expand Up @@ -74,6 +76,8 @@ def test_analytic_entry_dimension(self):
self.assertEqual(line.x_dimension_test_dim_2, self.analytic_tag_2a)
with self.assertRaises(ValidationError):
line.write({"tag_ids": [(4, self.analytic_tag_1b.id)]})
# Check naming change is allowed
line.write({"name": "test2"})
# Not allowed to change dimension of a tag if used
with self.assertRaises(ValidationError):
self.analytic_tag_1a.analytic_dimension_id = self.dimension_2.id
Expand All @@ -86,15 +90,15 @@ def test_analytic_entry_dimension(self):

def test_account_entry_dimension(self):
"""Test dimension update on account move line creation"""
move = self.env["account.move"].create(
move = self.account_move_obj.create(
{
"name": "/",
"ref": "2011010",
"journal_id": self.journal.id,
"state": "draft",
}
)
line = self.env["account.move.line"].create(
line = self.account_move_line_obj.create(
{
"name": "test",
"account_id": self.account.id,
Expand Down Expand Up @@ -122,10 +126,10 @@ def test_account_entry_dimension(self):

def test_invoice_line_dimension(self):
"""Test dimension creation on account invoice line creation."""
invoice = self.env["account.move"].create(
invoice = self.account_move_obj.create(
{"journal_id": self.journal.id, "partner_id": self.partner.id}
)
line = self.env["account.move.line"].create(
line = self.account_move_line_obj.create(
{
"name": "test",
"price_unit": 1,
Expand Down Expand Up @@ -194,4 +198,78 @@ def test_zz_dimension_rename(self):
# as not everything is undone in this renaming
self.dimension_1.write({"code": "test_renamed"})
self.assertIn("x_dimension_test_renamed", self.analytic_line_obj._fields)
self.assertIn("x_dimension_test_renamed", self.env["account.move.line"]._fields)
self.assertIn("x_dimension_test_renamed", self.account_move_line_obj._fields)

def test_zz_dimension_rename2(self):
# It should executed the last one for avoiding side effects
# as not everything is undone in this renaming
self.dimension_1.write({"name": "test_renamed"})
self.assertIn("x_dimension_test_renamed", self.analytic_line_obj._fields)
self.assertIn("x_dimension_test_renamed", self.account_move_line_obj._fields)

def assertInvoiceReportValues(self, expected_values_list):
reports = self.env["account.invoice.report"].search(
[], order="price_subtotal DESC, quantity ASC"
)
expected_values_dict = [
{
"price_average": vals[0],
"price_subtotal": vals[1],
"quantity": vals[2],
}
for vals in expected_values_list
]
self.assertRecordValues(reports, expected_values_dict)

def assertInvoiceReportValues_update_custom_fields(self, expected_values_list):
reports = (
self.env["account.invoice.report"]
.with_context(update_custom_fields=True)
.search([], order="price_subtotal DESC, quantity ASC")
)
expected_values_dict = [
{
"price_average": vals[0],
"price_subtotal": vals[1],
"quantity": vals[2],
}
for vals in expected_values_list
]
self.assertRecordValues(reports, expected_values_dict)

def test_invoice_report_multiple_types(self):
self.assertInvoiceReportValues(
[
[1500.0, 30000.0, 20.0],
[4000.0, 20000.0, 5.0],
[4000.0, 20000.0, 5.0],
[2350.0, 11750.0, 5.0],
[2350.0, 11750.0, 5.0],
[2350.0, 11750.0, 5.0],
[2350.0, 11750.0, 5.0],
[1500.0, 7500.0, 5.0],
[55.0, -55.0, -1.0],
[541.1, -541.1, -1.0],
[235.0, -1175.0, -5.0],
]
)

def test_invoice_report_multiple_types_with_context(self):
self.assertInvoiceReportValues_update_custom_fields(
[
[1500.0, 30000.0, 20.0],
[4000.0, 20000.0, 5.0],
[4000.0, 20000.0, 5.0],
[2350.0, 11750.0, 5.0],
[2350.0, 11750.0, 5.0],
[2350.0, 11750.0, 5.0],
[2350.0, 11750.0, 5.0],
[1500.0, 7500.0, 5.0],
[55.0, -55.0, -1.0],
[541.1, -541.1, -1.0],
[235.0, -1175.0, -5.0],
]
)

def test_unlink_dimesion(self):
self.dimension_1.unlink()
2 changes: 1 addition & 1 deletion analytic_tag_dimension/views/analytic_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<field name="name">view.AccountAnalyticDimension.tree</field>
<field name="model">account.analytic.dimension</field>
<field name="arch" type="xml">
<tree string="Analytic Dimension">
<tree>
<field name="name" />
</tree>
</field>
Expand Down

0 comments on commit ec08934

Please sign in to comment.