From ef113db033576d17a4a98e8fbcf642bc10d594a6 Mon Sep 17 00:00:00 2001 From: cubells Date: Thu, 27 Apr 2017 23:04:44 +0200 Subject: [PATCH] [MIG][9.0] contract_recurring_plans module --- .../README.rst | 24 +++--- .../__init__.py | 2 +- .../__openerp__.py | 14 ++-- .../i18n/ca.po | 8 +- .../i18n/de.po | 8 +- .../i18n/el_GR.po | 8 +- .../i18n/es.po | 8 +- .../i18n/es_MX.po | 8 +- .../i18n/fi.po | 8 +- .../i18n/fr.po | 8 +- .../i18n/pt_BR.po | 8 +- .../i18n/sk_SK.po | 8 +- .../i18n/sl.po | 8 +- .../models/__init__.py | 5 ++ .../models/account_analytic_invoice_line.py | 18 +++-- .../static/description/icon.png | Bin .../static/description/icon.svg | 0 .../tests}/__init__.py | 2 +- .../test_contract_recurring_distribution.py | 69 ++++++++++++++++++ .../account_analytic_invoice_line_view.xml | 15 ++++ contract_recurring_plans/tests/__init__.py | 5 -- .../tests/test_contract_recurring_plans.py | 47 ------------ .../account_analytic_invoice_line_view.xml | 17 ----- oca_dependencies.txt | 1 + 24 files changed, 162 insertions(+), 137 deletions(-) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/README.rst (60%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/__init__.py (68%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/__openerp__.py (57%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/i18n/ca.po (74%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/i18n/de.po (76%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/i18n/el_GR.po (75%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/i18n/es.po (75%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/i18n/es_MX.po (74%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/i18n/fi.po (77%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/i18n/fr.po (77%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/i18n/pt_BR.po (77%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/i18n/sk_SK.po (75%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/i18n/sl.po (78%) create mode 100644 contract_recurring_analytic_distribution/models/__init__.py rename {contract_recurring_plans => contract_recurring_analytic_distribution}/models/account_analytic_invoice_line.py (52%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/static/description/icon.png (100%) rename {contract_recurring_plans => contract_recurring_analytic_distribution}/static/description/icon.svg (100%) rename {contract_recurring_plans/models => contract_recurring_analytic_distribution/tests}/__init__.py (73%) create mode 100644 contract_recurring_analytic_distribution/tests/test_contract_recurring_distribution.py create mode 100644 contract_recurring_analytic_distribution/views/account_analytic_invoice_line_view.xml delete mode 100644 contract_recurring_plans/tests/__init__.py delete mode 100644 contract_recurring_plans/tests/test_contract_recurring_plans.py delete mode 100644 contract_recurring_plans/views/account_analytic_invoice_line_view.xml diff --git a/contract_recurring_plans/README.rst b/contract_recurring_analytic_distribution/README.rst similarity index 60% rename from contract_recurring_plans/README.rst rename to contract_recurring_analytic_distribution/README.rst index abb1ee5a..5ea404e3 100644 --- a/contract_recurring_plans/README.rst +++ b/contract_recurring_analytic_distribution/README.rst @@ -6,9 +6,9 @@ Analytic plans for contract recurring invoices ============================================== -This module allows to include an analytic plan on each recurring invoice line, -so if you set it, this will be taken to be transferred to the invoice instead -of the analytic account of the contract. +This module allows to include an analytic distribution on each recurring +invoice line, so if you set it, this will be taken to be transferred to the +invoice instead of the analytic account of the contract. Usage ===== @@ -18,18 +18,15 @@ invoice recurring lines that you want. .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/110/8.0 + :target: https://runbot.odoo-community.org/runbot/110/9.0 Bug Tracker =========== -Bugs are tracked on `GitHub 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 `here `_. +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been +reported. If you spotted it first, help us smash it by providing detailed and +welcomed feedback. Credits ======= @@ -37,7 +34,8 @@ Credits Contributors ------------ -* Pedro M. Baeza +* Pedro M. Baeza +* Vicent Cubells Icon ---- @@ -59,4 +57,4 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -To contribute to this module, please visit http://odoo-community.org. +To contribute to this module, please visit https://odoo-community.org. diff --git a/contract_recurring_plans/__init__.py b/contract_recurring_analytic_distribution/__init__.py similarity index 68% rename from contract_recurring_plans/__init__.py rename to contract_recurring_analytic_distribution/__init__.py index 721dbe49..6af6a042 100644 --- a/contract_recurring_plans/__init__.py +++ b/contract_recurring_analytic_distribution/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# (c) 2015 Serv. Tecnol. Avanzados - Pedro M. Baeza +# Copyright 2015 Tecnativa - Pedro M. Baeza # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html from . import models diff --git a/contract_recurring_plans/__openerp__.py b/contract_recurring_analytic_distribution/__openerp__.py similarity index 57% rename from contract_recurring_plans/__openerp__.py rename to contract_recurring_analytic_distribution/__openerp__.py index f5dadd36..df9e40f7 100644 --- a/contract_recurring_plans/__openerp__.py +++ b/contract_recurring_analytic_distribution/__openerp__.py @@ -1,17 +1,19 @@ # -*- coding: utf-8 -*- -# (c) 2015 Serv. Tecnol. Avanzados - Pedro M. Baeza +# Copyright 2015 Tecnativa - Pedro M. Baeza +# Copyright 2017 Tecnativa - Vicent Cubells # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html { 'name': 'Analytic plans on contracts recurring invoices', - 'version': '8.0.1.0.0', + 'version': '9.0.1.0.0', 'category': 'Contract Management', - 'author': 'Serv. Tecnol. Avanzados - Pedro M. Baeza, ' + 'author': 'Tecnativa, ' 'Odoo Community Association (OCA)', - 'website': 'http://www.serviciosbaeza.com', + 'website': 'http://www.tecnativa.com', + 'license': 'AGPL-3', 'depends': [ - 'account_analytic_plans', - 'account_analytic_analysis', + 'account_analytic_distribution', + 'contract', ], 'data': [ 'views/account_analytic_invoice_line_view.xml', diff --git a/contract_recurring_plans/i18n/ca.po b/contract_recurring_analytic_distribution/i18n/ca.po similarity index 74% rename from contract_recurring_plans/i18n/ca.po rename to contract_recurring_analytic_distribution/i18n/ca.po index e64c80ac..2efebf77 100644 --- a/contract_recurring_plans/i18n/ca.po +++ b/contract_recurring_analytic_distribution/i18n/ca.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * contract_recurring_plans +# * contract_recurring_analytic_distribution # # Translators: msgid "" @@ -17,12 +17,12 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#. module: contract_recurring_plans -#: model:ir.model,name:contract_recurring_plans.model_account_analytic_account +#. module: contract_recurring_analytic_distribution +#: model:ir.model,name:contract_recurring_analytic_distribution.model_account_analytic_account msgid "Analytic Account" msgstr "Compte analític" -#. module: contract_recurring_plans +#. module: contract_recurring_analytic_distribution #: field:account.analytic.invoice.line,analytics_id:0 msgid "Analytic Distribution" msgstr "" diff --git a/contract_recurring_plans/i18n/de.po b/contract_recurring_analytic_distribution/i18n/de.po similarity index 76% rename from contract_recurring_plans/i18n/de.po rename to contract_recurring_analytic_distribution/i18n/de.po index 97a1cd02..494851a2 100644 --- a/contract_recurring_plans/i18n/de.po +++ b/contract_recurring_analytic_distribution/i18n/de.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * contract_recurring_plans +# * contract_recurring_analytic_distribution # # Translators: # Rudolf Schnapka , 2016 @@ -18,12 +18,12 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#. module: contract_recurring_plans -#: model:ir.model,name:contract_recurring_plans.model_account_analytic_account +#. module: contract_recurring_analytic_distribution +#: model:ir.model,name:contract_recurring_analytic_distribution.model_account_analytic_account msgid "Analytic Account" msgstr "Kostenstelle" -#. module: contract_recurring_plans +#. module: contract_recurring_analytic_distribution #: field:account.analytic.invoice.line,analytics_id:0 msgid "Analytic Distribution" msgstr "Kostenumlage" diff --git a/contract_recurring_plans/i18n/el_GR.po b/contract_recurring_analytic_distribution/i18n/el_GR.po similarity index 75% rename from contract_recurring_plans/i18n/el_GR.po rename to contract_recurring_analytic_distribution/i18n/el_GR.po index a1692713..5598e3fd 100644 --- a/contract_recurring_plans/i18n/el_GR.po +++ b/contract_recurring_analytic_distribution/i18n/el_GR.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * contract_recurring_plans +# * contract_recurring_analytic_distribution # # Translators: msgid "" @@ -17,12 +17,12 @@ msgstr "" "Language: el_GR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#. module: contract_recurring_plans -#: model:ir.model,name:contract_recurring_plans.model_account_analytic_account +#. module: contract_recurring_analytic_distribution +#: model:ir.model,name:contract_recurring_analytic_distribution.model_account_analytic_account msgid "Analytic Account" msgstr "Αναλυτικός Λογαριασμός" -#. module: contract_recurring_plans +#. module: contract_recurring_analytic_distribution #: field:account.analytic.invoice.line,analytics_id:0 msgid "Analytic Distribution" msgstr "" diff --git a/contract_recurring_plans/i18n/es.po b/contract_recurring_analytic_distribution/i18n/es.po similarity index 75% rename from contract_recurring_plans/i18n/es.po rename to contract_recurring_analytic_distribution/i18n/es.po index 494fc31d..5b39583b 100644 --- a/contract_recurring_plans/i18n/es.po +++ b/contract_recurring_analytic_distribution/i18n/es.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * contract_recurring_plans +# * contract_recurring_analytic_distribution # # Translators: msgid "" @@ -17,12 +17,12 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#. module: contract_recurring_plans -#: model:ir.model,name:contract_recurring_plans.model_account_analytic_account +#. module: contract_recurring_analytic_distribution +#: model:ir.model,name:contract_recurring_analytic_distribution.model_account_analytic_account msgid "Analytic Account" msgstr "Cuenta analítica" -#. module: contract_recurring_plans +#. module: contract_recurring_analytic_distribution #: field:account.analytic.invoice.line,analytics_id:0 msgid "Analytic Distribution" msgstr "Distribución analítica" diff --git a/contract_recurring_plans/i18n/es_MX.po b/contract_recurring_analytic_distribution/i18n/es_MX.po similarity index 74% rename from contract_recurring_plans/i18n/es_MX.po rename to contract_recurring_analytic_distribution/i18n/es_MX.po index a075c460..22e52dea 100644 --- a/contract_recurring_plans/i18n/es_MX.po +++ b/contract_recurring_analytic_distribution/i18n/es_MX.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * contract_recurring_plans +# * contract_recurring_analytic_distribution # # Translators: msgid "" @@ -17,12 +17,12 @@ msgstr "" "Language: es_MX\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#. module: contract_recurring_plans -#: model:ir.model,name:contract_recurring_plans.model_account_analytic_account +#. module: contract_recurring_analytic_distribution +#: model:ir.model,name:contract_recurring_analytic_distribution.model_account_analytic_account msgid "Analytic Account" msgstr "Cuenta analítica" -#. module: contract_recurring_plans +#. module: contract_recurring_analytic_distribution #: field:account.analytic.invoice.line,analytics_id:0 msgid "Analytic Distribution" msgstr "" diff --git a/contract_recurring_plans/i18n/fi.po b/contract_recurring_analytic_distribution/i18n/fi.po similarity index 77% rename from contract_recurring_plans/i18n/fi.po rename to contract_recurring_analytic_distribution/i18n/fi.po index d1bcd45d..39f0dcb0 100644 --- a/contract_recurring_plans/i18n/fi.po +++ b/contract_recurring_analytic_distribution/i18n/fi.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * contract_recurring_plans +# * contract_recurring_analytic_distribution # # Translators: # Jarmo Kortetjärvi , 2016 @@ -18,12 +18,12 @@ msgstr "" "Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#. module: contract_recurring_plans -#: model:ir.model,name:contract_recurring_plans.model_account_analytic_account +#. module: contract_recurring_analytic_distribution +#: model:ir.model,name:contract_recurring_analytic_distribution.model_account_analytic_account msgid "Analytic Account" msgstr "Analyyttinen tili" -#. module: contract_recurring_plans +#. module: contract_recurring_analytic_distribution #: field:account.analytic.invoice.line,analytics_id:0 msgid "Analytic Distribution" msgstr "Analyyttinen jakelu" diff --git a/contract_recurring_plans/i18n/fr.po b/contract_recurring_analytic_distribution/i18n/fr.po similarity index 77% rename from contract_recurring_plans/i18n/fr.po rename to contract_recurring_analytic_distribution/i18n/fr.po index c58eb417..abd6b50c 100644 --- a/contract_recurring_plans/i18n/fr.po +++ b/contract_recurring_analytic_distribution/i18n/fr.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * contract_recurring_plans +# * contract_recurring_analytic_distribution # # Translators: # Christophe CHAUVET , 2016 @@ -18,12 +18,12 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#. module: contract_recurring_plans -#: model:ir.model,name:contract_recurring_plans.model_account_analytic_account +#. module: contract_recurring_analytic_distribution +#: model:ir.model,name:contract_recurring_analytic_distribution.model_account_analytic_account msgid "Analytic Account" msgstr "Compte analytique" -#. module: contract_recurring_plans +#. module: contract_recurring_analytic_distribution #: field:account.analytic.invoice.line,analytics_id:0 msgid "Analytic Distribution" msgstr "Distribution analytique" diff --git a/contract_recurring_plans/i18n/pt_BR.po b/contract_recurring_analytic_distribution/i18n/pt_BR.po similarity index 77% rename from contract_recurring_plans/i18n/pt_BR.po rename to contract_recurring_analytic_distribution/i18n/pt_BR.po index ffe69f1b..348d49c4 100644 --- a/contract_recurring_plans/i18n/pt_BR.po +++ b/contract_recurring_analytic_distribution/i18n/pt_BR.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * contract_recurring_plans +# * contract_recurring_analytic_distribution # # Translators: # danimaribeiro , 2016 @@ -18,12 +18,12 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#. module: contract_recurring_plans -#: model:ir.model,name:contract_recurring_plans.model_account_analytic_account +#. module: contract_recurring_analytic_distribution +#: model:ir.model,name:contract_recurring_analytic_distribution.model_account_analytic_account msgid "Analytic Account" msgstr "Conta analítica" -#. module: contract_recurring_plans +#. module: contract_recurring_analytic_distribution #: field:account.analytic.invoice.line,analytics_id:0 msgid "Analytic Distribution" msgstr "Distribuição analítica" diff --git a/contract_recurring_plans/i18n/sk_SK.po b/contract_recurring_analytic_distribution/i18n/sk_SK.po similarity index 75% rename from contract_recurring_plans/i18n/sk_SK.po rename to contract_recurring_analytic_distribution/i18n/sk_SK.po index ab2c7c13..f3d63f5c 100644 --- a/contract_recurring_plans/i18n/sk_SK.po +++ b/contract_recurring_analytic_distribution/i18n/sk_SK.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * contract_recurring_plans +# * contract_recurring_analytic_distribution # # Translators: msgid "" @@ -17,12 +17,12 @@ msgstr "" "Language: sk_SK\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#. module: contract_recurring_plans -#: model:ir.model,name:contract_recurring_plans.model_account_analytic_account +#. module: contract_recurring_analytic_distribution +#: model:ir.model,name:contract_recurring_analytic_distribution.model_account_analytic_account msgid "Analytic Account" msgstr "Analytický účet" -#. module: contract_recurring_plans +#. module: contract_recurring_analytic_distribution #: field:account.analytic.invoice.line,analytics_id:0 msgid "Analytic Distribution" msgstr "" diff --git a/contract_recurring_plans/i18n/sl.po b/contract_recurring_analytic_distribution/i18n/sl.po similarity index 78% rename from contract_recurring_plans/i18n/sl.po rename to contract_recurring_analytic_distribution/i18n/sl.po index 2f513dbd..15d523c2 100644 --- a/contract_recurring_plans/i18n/sl.po +++ b/contract_recurring_analytic_distribution/i18n/sl.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * contract_recurring_plans +# * contract_recurring_analytic_distribution # # Translators: # Matjaž Mozetič , 2015 @@ -18,12 +18,12 @@ msgstr "" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" -#. module: contract_recurring_plans -#: model:ir.model,name:contract_recurring_plans.model_account_analytic_account +#. module: contract_recurring_analytic_distribution +#: model:ir.model,name:contract_recurring_analytic_distribution.model_account_analytic_account msgid "Analytic Account" msgstr "Analitični konto" -#. module: contract_recurring_plans +#. module: contract_recurring_analytic_distribution #: field:account.analytic.invoice.line,analytics_id:0 msgid "Analytic Distribution" msgstr "Analitična distribucija" diff --git a/contract_recurring_analytic_distribution/models/__init__.py b/contract_recurring_analytic_distribution/models/__init__.py new file mode 100644 index 00000000..4c204bd9 --- /dev/null +++ b/contract_recurring_analytic_distribution/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Copyright 2015 Tecnativa - Pedro M. Baeza +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from . import account_analytic_invoice_line diff --git a/contract_recurring_plans/models/account_analytic_invoice_line.py b/contract_recurring_analytic_distribution/models/account_analytic_invoice_line.py similarity index 52% rename from contract_recurring_plans/models/account_analytic_invoice_line.py rename to contract_recurring_analytic_distribution/models/account_analytic_invoice_line.py index 3b0660a6..13ebe390 100644 --- a/contract_recurring_plans/models/account_analytic_invoice_line.py +++ b/contract_recurring_analytic_distribution/models/account_analytic_invoice_line.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- -# (c) 2015 Serv. Tecnol. Avanzados - Pedro M. Baeza +# Copyright 2015 Tecnativa - Pedro M. Baeza +# Copyright 2017 Tecnativa - Vicent Cubells # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html from openerp import models, fields, api @@ -12,15 +13,18 @@ class AccountAnalyticAccount(models.Model): def _prepare_invoice_line(self, line, invoice_id): res = super(AccountAnalyticAccount, self)._prepare_invoice_line( line, invoice_id) - if line.analytics_id: - res.update({'account_analytic_id': False, - 'analytics_id': line.analytics_id.id}) + if line.analytic_distribution_id: + res.update({ + 'account_analytic_id': False, + 'analytic_distribution_id': line.analytic_distribution_id.id, + }) return res class AccountAnalyticInvoiceLine(models.Model): _inherit = "account.analytic.invoice.line" - analytics_id = fields.Many2one( - comodel_name='account.analytic.plan.instance', - string='Analytic Distribution') + analytic_distribution_id = fields.Many2one( + comodel_name='account.analytic.distribution', + string='Analytic Distribution', oldname='analytics_id', + ) diff --git a/contract_recurring_plans/static/description/icon.png b/contract_recurring_analytic_distribution/static/description/icon.png similarity index 100% rename from contract_recurring_plans/static/description/icon.png rename to contract_recurring_analytic_distribution/static/description/icon.png diff --git a/contract_recurring_plans/static/description/icon.svg b/contract_recurring_analytic_distribution/static/description/icon.svg similarity index 100% rename from contract_recurring_plans/static/description/icon.svg rename to contract_recurring_analytic_distribution/static/description/icon.svg diff --git a/contract_recurring_plans/models/__init__.py b/contract_recurring_analytic_distribution/tests/__init__.py similarity index 73% rename from contract_recurring_plans/models/__init__.py rename to contract_recurring_analytic_distribution/tests/__init__.py index 5c3342b8..55df91fd 100644 --- a/contract_recurring_plans/models/__init__.py +++ b/contract_recurring_analytic_distribution/tests/__init__.py @@ -2,4 +2,4 @@ # (c) 2015 Serv. Tecnol. Avanzados - Pedro M. Baeza # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html -from . import account_analytic_invoice_line +from . import test_contract_recurring_distribution diff --git a/contract_recurring_analytic_distribution/tests/test_contract_recurring_distribution.py b/contract_recurring_analytic_distribution/tests/test_contract_recurring_distribution.py new file mode 100644 index 00000000..d76196fc --- /dev/null +++ b/contract_recurring_analytic_distribution/tests/test_contract_recurring_distribution.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- +# Copyright 2015 Tecnativa - Pedro M. Baeza +# Copyright 2017 Tecnativa - Vicent Cubells +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +import openerp.tests.common as common + + +class TestContractRecurringDistribution(common.SavepointCase): + @classmethod + def setUpClass(cls): + super(TestContractRecurringDistribution, cls).setUpClass() + cls.partner = cls.env['res.partner'].create({'name': 'Test'}) + cls.product = cls.env['product.product'].create({ + 'name': 'Test product', + }) + cls.account1 = cls.env['account.analytic.account'].create({ + 'name': 'Test account #1', + }) + cls.account2 = cls.env['account.analytic.account'].create({ + 'name': 'Test account #2', + }) + cls.uom = cls.env.ref('product.product_uom_hour') + cls.contract = cls.env['account.analytic.account'].create({ + 'name': 'Test contract', + 'partner_id': cls.partner.id, + 'type': 'contract', + 'recurring_invoices': 1, + 'recurring_interval': 1, + 'recurring_invoice_line_ids': [ + (0, 0, {'quantity': 2.0, + 'price_unit': 100.0, + 'name': 'Test', + 'product_id': cls.product.id, + 'uom_id': cls.uom.id})], + }) + cls.distribution = cls.env['account.analytic.distribution'].create({ + 'name': 'Test distribution', + 'rule_ids': [ + (0, 0, { + 'sequence': 10, + 'percent': 75.00, + 'analytic_account_id': cls.account1.id, + }), + (0, 0, { + 'sequence': 20, + 'percent': 25.00, + 'analytic_account_id': cls.account2.id, + }), + ] + }) + + def test_invoice_without_distribution(self): + self.contract.recurring_create_invoice() + invoice = self.env['account.invoice'].search( + [('partner_id', '=', self.partner.id)]) + self.assertEqual( + invoice.invoice_line_ids[0].account_analytic_id, self.contract) + + def test_invoice_with_distribution(self): + self.contract.recurring_invoice_line_ids.analytic_distribution_id = ( + self.distribution.id) + self.contract.recurring_create_invoice() + invoice = self.env['account.invoice'].search( + [('partner_id', '=', self.partner.id)]) + self.assertFalse(invoice.invoice_line_ids[0].account_analytic_id) + self.assertEqual( + invoice.invoice_line_ids[0].analytic_distribution_id, + self.distribution) diff --git a/contract_recurring_analytic_distribution/views/account_analytic_invoice_line_view.xml b/contract_recurring_analytic_distribution/views/account_analytic_invoice_line_view.xml new file mode 100644 index 00000000..bcc75fd5 --- /dev/null +++ b/contract_recurring_analytic_distribution/views/account_analytic_invoice_line_view.xml @@ -0,0 +1,15 @@ + + + + + Contract form (with plans) + account.analytic.account + + + + + + + + + diff --git a/contract_recurring_plans/tests/__init__.py b/contract_recurring_plans/tests/__init__.py deleted file mode 100644 index d8b9e1ae..00000000 --- a/contract_recurring_plans/tests/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -# -*- coding: utf-8 -*- -# (c) 2015 Serv. Tecnol. Avanzados - Pedro M. Baeza -# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html - -from . import test_contract_recurring_plans diff --git a/contract_recurring_plans/tests/test_contract_recurring_plans.py b/contract_recurring_plans/tests/test_contract_recurring_plans.py deleted file mode 100644 index 3f248053..00000000 --- a/contract_recurring_plans/tests/test_contract_recurring_plans.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- -# (c) 2015 Serv. Tecnol. Avanzados - Pedro M. Baeza -# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html - -import openerp.tests.common as common - - -class TestContractRecurringPlans(common.TransactionCase): - - def setUp(self): - super(TestContractRecurringPlans, self).setUp() - self.partner = self.env['res.partner'].create({'name': 'Test'}) - self.product = self.env.ref('product.product_product_consultant') - self.uom = self.env.ref('product.product_uom_hour') - self.contract = self.env['account.analytic.account'].create({ - 'name': 'Test contract', - 'partner_id': self.partner.id, - 'type': 'contract', - 'recurring_invoices': 1, - 'recurring_interval': 1, - 'recurring_invoice_line_ids': [ - (0, 0, {'quantity': 2.0, - 'price_unit': 100.0, - 'name': 'Test', - 'product_id': self.product.id, - 'uom_id': self.uom.id})], - }) - plan = self.env['account.analytic.plan'].create({'name': 'Test'}) - self.analytics = self.env['account.analytic.plan.instance'].create( - {'plan_id': plan.id}) - - def test_invoice_without_plans(self): - self.contract.recurring_create_invoice() - invoice = self.env['account.invoice'].search( - [('partner_id', '=', self.partner.id)]) - self.assertEqual( - invoice.invoice_line[0].account_analytic_id, self.contract) - - def test_invoice_with_plans(self): - self.contract.recurring_invoice_line_ids.analytics_id = ( - self.analytics.id) - self.contract.recurring_create_invoice() - invoice = self.env['account.invoice'].search( - [('partner_id', '=', self.partner.id)]) - self.assertFalse(invoice.invoice_line[0].account_analytic_id) - self.assertEqual( - invoice.invoice_line[0].analytics_id, self.analytics) diff --git a/contract_recurring_plans/views/account_analytic_invoice_line_view.xml b/contract_recurring_plans/views/account_analytic_invoice_line_view.xml deleted file mode 100644 index 4d164ffd..00000000 --- a/contract_recurring_plans/views/account_analytic_invoice_line_view.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Contract form (with plans) - account.analytic.account - - - - - - - - - - diff --git a/oca_dependencies.txt b/oca_dependencies.txt index 2435958d..3e754256 100644 --- a/oca_dependencies.txt +++ b/oca_dependencies.txt @@ -14,5 +14,6 @@ # To provide both the URL and a branch, use: # sale-workflow https://github.com/OCA/sale-workflow branchname +account-analytic account-invoicing bank-payment