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 abb1ee5a9..5ea404e3c 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 721dbe492..6af6a0423 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 f5dadd368..df9e40f7e 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 e64c80ac3..2efebf77f 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 97a1cd02d..494851a2b 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 a16927134..5598e3fdf 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 494fc31df..5b39583b8 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 a075c4601..22e52dea9 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 d1bcd45d1..39f0dcb0c 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 c58eb4170..abd6b50cc 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 ffe69f1b8..348d49c40 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 ab2c7c130..f3d63f5c7 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 2f513dbd5..15d523c2f 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 000000000..4c204bd9b --- /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 3b0660a6a..13ebe3909 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 5c3342b8b..55df91fd9 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 000000000..d76196fc7 --- /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 000000000..bcc75fd53 --- /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 d8b9e1ae9..000000000 --- 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 3f2480537..000000000 --- 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 4d164ffd6..000000000 --- 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 2435958dd..3e7542561 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