From 134a3dd232b131f08bed618ec721fa765fb68974 Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Thu, 25 Oct 2018 15:47:09 +0200 Subject: [PATCH] [MIG] contract: Migration to 12.0 --- contract/README.rst | 11 +- contract/__manifest__.py | 2 +- contract/i18n/contract.pot | 310 +++++++++--------- .../migrations/11.0.2.0.0/pre-migration.py | 18 - contract/models/account_analytic_contract.py | 1 + .../models/account_analytic_contract_line.py | 2 +- contract/readme/CONTRIBUTORS.rst | 1 + contract/static/description/index.html | 7 +- contract/tests/test_contract.py | 40 ++- .../views/account_analytic_account_view.xml | 12 +- .../views/account_analytic_contract_view.xml | 17 +- 11 files changed, 206 insertions(+), 215 deletions(-) delete mode 100644 contract/migrations/11.0.2.0.0/pre-migration.py diff --git a/contract/README.rst b/contract/README.rst index 57ffab1bb..ae8f93c44 100644 --- a/contract/README.rst +++ b/contract/README.rst @@ -14,13 +14,13 @@ Contracts Management - Recurring :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fcontract-lightgray.png?logo=github - :target: https://github.com/OCA/contract/tree/11.0/contract + :target: https://github.com/OCA/contract/tree/12.0/contract :alt: OCA/contract .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/contract-11-0/contract-11-0-contract + :target: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/110/11.0 + :target: https://runbot.odoo-community.org/runbot/110/12.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -84,7 +84,7 @@ 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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -107,6 +107,7 @@ Contributors * Dave Lasley * Vicent Cubells * Miquel Raïch +* Souheil Bejaoui Maintainers ~~~~~~~~~~~ @@ -121,6 +122,6 @@ 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. -This module is part of the `OCA/contract `_ project on GitHub. +This module is part of the `OCA/contract `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/contract/__manifest__.py b/contract/__manifest__.py index f065ff524..7bdc150c2 100644 --- a/contract/__manifest__.py +++ b/contract/__manifest__.py @@ -8,7 +8,7 @@ { 'name': 'Contracts Management - Recurring', - 'version': '11.0.4.0.0', + 'version': '12.0.1.0.0', 'category': 'Contract Management', 'license': 'AGPL-3', 'author': "OpenERP SA, " diff --git a/contract/i18n/contract.pot b/contract/i18n/contract.pot index 2d5673636..45756e208 100644 --- a/contract/i18n/contract.pot +++ b/contract/i18n/contract.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" @@ -71,98 +71,105 @@ msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form -#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "#END#: End date of the invoiced period" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form -#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "#START#: Start date of the invoiced period" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.report_contract_document +#: model_terms:ir.ui.view,arch_db:contract.report_contract_document msgid "Contract: " msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.report_contract_document +#: model_terms:ir.ui.view,arch_db:contract.report_contract_document msgid "Date Start: " msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.report_contract_document +#: model_terms:ir.ui.view,arch_db:contract.report_contract_document msgid "Description" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.report_contract_document +#: model_terms:ir.ui.view,arch_db:contract.report_contract_document msgid "Partner:" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.report_contract_document +#: model_terms:ir.ui.view,arch_db:contract.report_contract_document msgid "Price" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.report_contract_document +#: model_terms:ir.ui.view,arch_db:contract.report_contract_document msgid "Quantity" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.report_contract_document +#: model_terms:ir.ui.view,arch_db:contract.report_contract_document msgid "Recurring Items" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.report_contract_document +#: model_terms:ir.ui.view,arch_db:contract.report_contract_document msgid "Responsible: " msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.report_contract_document +#: model_terms:ir.ui.view,arch_db:contract.report_contract_document msgid "Total" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.report_contract_document +#: model_terms:ir.ui.view,arch_db:contract.report_contract_document msgid "Unit Price" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form -#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +#: model:ir.model,name:contract.model_account_analytic_contract +msgid "Account Analytic Contract" +msgstr "" + +#. module: contract +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "Account Analytic Lines" msgstr "" #. module: contract #: model:ir.model,name:contract.model_account_analytic_account -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_analytic_account_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__name +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__analytic_account_id msgid "Analytic Account" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_automatic_price -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_automatic_price +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__automatic_price +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__automatic_price msgid "Auto-price?" msgstr "" #. module: contract -#: model:ir.actions.act_window,help:contract.account_analytic_contract_action +#: model_terms:ir.actions.act_window,help:contract.account_analytic_contract_action msgid "Click to create a new contract template." msgstr "" #. module: contract -#: model:ir.actions.act_window,help:contract.action_account_analytic_purchase_overdue_all -#: model:ir.actions.act_window,help:contract.action_account_analytic_sale_overdue_all +#: model_terms:ir.actions.act_window,help:contract.action_account_analytic_purchase_overdue_all +#: model_terms:ir.actions.act_window,help:contract.action_account_analytic_sale_overdue_all msgid "Click to create a new contract." msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_company_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__company_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__company_id msgid "Company" msgstr "" @@ -179,8 +186,8 @@ msgstr "" #. module: contract #: model:ir.actions.report,name:contract.report_contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_analytic_account_id -#: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__analytic_account_id +#: model:ir.model.fields,field_description:contract.field_account_invoice__contract_id #: model:mail.template,report_name:contract.email_contract_template msgid "Contract" msgstr "" @@ -197,25 +204,23 @@ msgid "Contract Lines" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_contract_template_id -#: model:ir.model.fields,field_description:contract.field_project_project_contract_template_id -#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__contract_template_id +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "Contract Template" msgstr "" #. module: contract #: model:ir.actions.act_window,name:contract.account_analytic_contract_action #: model:ir.ui.menu,name:contract.account_analytic_contract_menu -#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search -#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_tree +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_tree msgid "Contract Templates" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_contract_type -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_contract_type -#: model:ir.model.fields,field_description:contract.field_project_project_contract_type -#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__contract_type +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__contract_type +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_search msgid "Contract Type" msgstr "" @@ -225,34 +230,34 @@ msgid "Contracts" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_create_invoice_visibility -#: model:ir.model.fields,field_description:contract.field_project_project_create_invoice_visibility +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__create_invoice_visibility msgid "Create Invoice Visibility" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form msgid "Create invoices" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_create_uid -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_create_uid -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_create_uid +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__create_uid +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__create_uid +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__create_uid msgid "Created by" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_create_date -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_create_date -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_create_date +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__create_date +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__create_date +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__create_date msgid "Created on" msgstr "" #. module: contract #: selection:account.analytic.account,contract_type:0 #: selection:account.analytic.contract,contract_type:0 -#: model:ir.ui.view,arch_db:contract.account_analytic_account_sale_form +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__partner_id +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_account_sale_form msgid "Customer" msgstr "" @@ -263,44 +268,42 @@ msgid "Customer Contracts" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_date_end -#: model:ir.model.fields,field_description:contract.field_project_project_date_end -#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__date_end +#: model_terms:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search msgid "Date End" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_date_from -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_date_from +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__date_from +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__date_from msgid "Date From" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_date_start +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__date_start msgid "Date Start" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_date_to -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_date_to +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__date_to +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__date_to msgid "Date To" msgstr "" #. module: contract -#: model:ir.model.fields,help:contract.field_account_analytic_contract_line_date_from -#: model:ir.model.fields,help:contract.field_account_analytic_invoice_line_date_from +#: model:ir.model.fields,help:contract.field_account_analytic_contract_line__date_from +#: model:ir.model.fields,help:contract.field_account_analytic_invoice_line__date_from msgid "Date from invoiced period" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_next_date -#: model:ir.model.fields,field_description:contract.field_project_project_recurring_next_date +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__recurring_next_date msgid "Date of Next Invoice" msgstr "" #. module: contract -#: model:ir.model.fields,help:contract.field_account_analytic_contract_line_date_to -#: model:ir.model.fields,help:contract.field_account_analytic_invoice_line_date_to +#: model:ir.model.fields,help:contract.field_account_analytic_contract_line__date_to +#: model:ir.model.fields,help:contract.field_account_analytic_invoice_line__date_to msgid "Date to invoiced period" msgstr "" @@ -311,14 +314,14 @@ msgid "Day(s)" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_name -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_name +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__name +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__name msgid "Description" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_discount -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_discount +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__discount +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__discount msgid "Discount (%)" msgstr "" @@ -329,20 +332,20 @@ msgid "Discount should be less or equal to 100" msgstr "" #. module: contract -#: model:ir.model.fields,help:contract.field_account_analytic_contract_line_discount -#: model:ir.model.fields,help:contract.field_account_analytic_invoice_line_discount +#: model:ir.model.fields,help:contract.field_account_analytic_contract_line__discount +#: model:ir.model.fields,help:contract.field_account_analytic_invoice_line__discount msgid "Discount that is applied in generated invoices. It should be less or equal to 100" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_display_name -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_display_name -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_display_name +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__display_name +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__display_name +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__display_name msgid "Display Name" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search +#: model_terms:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search msgid "Finished" msgstr "" @@ -354,26 +357,25 @@ msgid "Generate Recurring Invoices from Contracts" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoices -#: model:ir.model.fields,field_description:contract.field_project_project_recurring_invoices +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__recurring_invoices msgid "Generate recurring invoices automatically" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search +#: model_terms:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search msgid "Group By..." msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_id -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_id -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__id +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__id +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__id msgid "ID" msgstr "" #. module: contract -#: model:ir.model.fields,help:contract.field_account_analytic_contract_line_automatic_price -#: model:ir.model.fields,help:contract.field_account_analytic_invoice_line_automatic_price +#: model:ir.model.fields,help:contract.field_account_analytic_contract_line__automatic_price +#: model:ir.model.fields,help:contract.field_account_analytic_invoice_line__automatic_price msgid "If this is marked, the price will be obtained automatically applying the pricelist to the product. If not, you will be able to introduce a manual price" msgstr "" @@ -383,10 +385,9 @@ msgid "Invoice" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoice_line_ids -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_invoice_line_ids -#: model:ir.model.fields,field_description:contract.field_project_project_recurring_invoice_line_ids -#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__recurring_invoice_line_ids +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__recurring_invoice_line_ids +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "Invoice Lines" msgstr "" @@ -396,45 +397,43 @@ msgid "Invoices" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoicing_type -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_invoicing_type -#: model:ir.model.fields,field_description:contract.field_project_project_recurring_invoicing_type -#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__recurring_invoicing_type +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__recurring_invoicing_type +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_search msgid "Invoicing type" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_journal_id -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_journal_id -#: model:ir.model.fields,field_description:contract.field_project_project_journal_id -#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__journal_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__journal_id +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_search msgid "Journal" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract___last_update -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line___last_update -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line___last_update +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract____last_update +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line____last_update +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line____last_update msgid "Last Modified on" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_write_uid -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_write_uid -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_write_uid +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__write_uid +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__write_uid +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__write_uid msgid "Last Updated by" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_write_date -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_write_date -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_write_date +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__write_date +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__write_date +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__write_date msgid "Last Updated on" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form -#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "Legend (for the markers inside invoice lines description)" msgstr "" @@ -451,22 +450,22 @@ msgid "Month(s) last day" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_name +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__name msgid "Name" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search +#: model_terms:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search msgid "Next Invoice" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_partner_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__partner_id msgid "Partner (always False)" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search +#: model_terms:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search msgid "Partner and dependents" msgstr "" @@ -489,129 +488,123 @@ msgid "Pre-paid" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_pricelist_id -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_pricelist_id -#: model:ir.model.fields,field_description:contract.field_project_project_pricelist_id -#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__pricelist_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__pricelist_id +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_search msgid "Pricelist" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_product_id -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_product_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__product_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__product_id msgid "Product" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_res_partner_purchase_contract_count -#: model:ir.model.fields,field_description:contract.field_res_users_purchase_contract_count -#: model:ir.ui.view,arch_db:contract.view_partner_form +#: model:ir.model.fields,field_description:contract.field_res_partner__purchase_contract_count +#: model:ir.model.fields,field_description:contract.field_res_users__purchase_contract_count +#: model_terms:ir.ui.view,arch_db:contract.view_partner_form msgid "Purchase Contracts" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_quantity -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_quantity +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__quantity +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__quantity msgid "Quantity" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_rule_type -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_rule_type -#: model:ir.model.fields,field_description:contract.field_project_project_recurring_rule_type -#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__recurring_rule_type +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__recurring_rule_type +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_search msgid "Recurrence" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form -#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model_terms:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search msgid "Recurring Invoices" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_interval -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_interval -#: model:ir.model.fields,field_description:contract.field_project_project_recurring_interval +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__recurring_interval +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract__recurring_interval msgid "Repeat Every" msgstr "" #. module: contract -#: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_interval -#: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_interval -#: model:ir.model.fields,help:contract.field_project_project_recurring_interval +#: model:ir.model.fields,help:contract.field_account_analytic_account__recurring_interval +#: model:ir.model.fields,help:contract.field_account_analytic_contract__recurring_interval msgid "Repeat every (Days/Week/Month/Year)" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_account__user_id msgid "Responsible" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_res_partner_sale_contract_count -#: model:ir.model.fields,field_description:contract.field_res_users_sale_contract_count -#: model:ir.ui.view,arch_db:contract.view_partner_form +#: model:ir.model.fields,field_description:contract.field_res_partner__sale_contract_count +#: model:ir.model.fields,field_description:contract.field_res_users__sale_contract_count +#: model_terms:ir.ui.view,arch_db:contract.view_partner_form msgid "Sale Contracts" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form msgid "Send by Email" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_sequence -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_sequence +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__sequence +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__sequence msgid "Sequence" msgstr "" #. module: contract -#: model:ir.model.fields,help:contract.field_account_analytic_contract_line_sequence -#: model:ir.model.fields,help:contract.field_account_analytic_invoice_line_sequence +#: model:ir.model.fields,help:contract.field_account_analytic_contract_line__sequence +#: model:ir.model.fields,help:contract.field_account_analytic_invoice_line__sequence msgid "Sequence of the contract line when displaying contracts" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.view_partner_form +#: model_terms:ir.ui.view,arch_db:contract.view_partner_form msgid "Show the purchase contracts for this partner" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.view_partner_form +#: model_terms:ir.ui.view,arch_db:contract.view_partner_form msgid "Show the sale contracts for this partner" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_specific_price -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_specific_price +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__specific_price +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__specific_price msgid "Specific Price" msgstr "" #. module: contract -#: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type -#: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type -#: model:ir.model.fields,help:contract.field_project_project_recurring_rule_type +#: model:ir.model.fields,help:contract.field_account_analytic_account__recurring_rule_type +#: model:ir.model.fields,help:contract.field_account_analytic_contract__recurring_rule_type msgid "Specify Interval for automatic invoice generation." msgstr "" #. module: contract -#: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_invoicing_type -#: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_invoicing_type -#: model:ir.model.fields,help:contract.field_project_project_recurring_invoicing_type +#: model:ir.model.fields,help:contract.field_account_analytic_account__recurring_invoicing_type +#: model:ir.model.fields,help:contract.field_account_analytic_contract__recurring_invoicing_type msgid "Specify if process date is 'from' or 'to' invoicing date" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_price_subtotal -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_price_subtotal +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__price_subtotal +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__price_subtotal msgid "Sub Total" msgstr "" #. module: contract #: selection:account.analytic.account,contract_type:0 #: selection:account.analytic.contract,contract_type:0 -#: model:ir.ui.view,arch_db:contract.account_analytic_account_purchase_form +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_account_purchase_form msgid "Supplier" msgstr "" @@ -622,24 +615,24 @@ msgid "Supplier Contracts" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_price_unit -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_price_unit +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__price_unit +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__price_unit msgid "Unit Price" msgstr "" #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_uom_id -#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_uom_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line__uom_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__uom_id msgid "Unit of Measure" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.report_contract_document +#: model_terms:ir.ui.view,arch_db:contract.report_contract_document msgid "VAT:" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search +#: model_terms:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search msgid "Valid" msgstr "" @@ -698,18 +691,13 @@ msgstr "" msgid "You must supply a start date for contract '%s'" msgstr "" -#. module: contract -#: model:ir.model,name:contract.model_account_analytic_contract -msgid "account.analytic.contract" -msgstr "" - #. module: contract #: model:ir.model,name:contract.model_account_analytic_invoice_line msgid "account.analytic.invoice.line" msgstr "" #. module: contract -#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model_terms:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form msgid "⇒ Show recurring invoices" msgstr "" diff --git a/contract/migrations/11.0.2.0.0/pre-migration.py b/contract/migrations/11.0.2.0.0/pre-migration.py deleted file mode 100644 index d48abf7bb..000000000 --- a/contract/migrations/11.0.2.0.0/pre-migration.py +++ /dev/null @@ -1,18 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2015-2017 Tecnativa - Pedro M. Baeza -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - - -def migrate(cr, version): - """Rename column for specific price for keeping backwards compatibility.""" - if not version: - return - cr.execute("""SELECT column_name - FROM information_schema.columns - WHERE table_name='account_analytic_invoice_line' AND - column_name='price_unit'""") - if cr.fetchone(): - cr.execute( - "ALTER TABLE account_analytic_invoice_line " - "RENAME price_unit TO specific_price" - ) diff --git a/contract/models/account_analytic_contract.py b/contract/models/account_analytic_contract.py index 162206cb6..356f90a0f 100644 --- a/contract/models/account_analytic_contract.py +++ b/contract/models/account_analytic_contract.py @@ -10,6 +10,7 @@ from odoo import api, fields, models class AccountAnalyticContract(models.Model): _name = 'account.analytic.contract' + _description = "Account Analytic Contract" # These fields will not be synced to the contract NO_SYNC = [ diff --git a/contract/models/account_analytic_contract_line.py b/contract/models/account_analytic_contract_line.py index 9dbb0f05a..4eca3aa33 100644 --- a/contract/models/account_analytic_contract_line.py +++ b/contract/models/account_analytic_contract_line.py @@ -38,7 +38,7 @@ class AccountAnalyticContractLine(models.Model): required=True, ) uom_id = fields.Many2one( - 'product.uom', + 'uom.uom', string='Unit of Measure', required=True, ) diff --git a/contract/readme/CONTRIBUTORS.rst b/contract/readme/CONTRIBUTORS.rst index ed395a7dd..820de9900 100644 --- a/contract/readme/CONTRIBUTORS.rst +++ b/contract/readme/CONTRIBUTORS.rst @@ -4,3 +4,4 @@ * Dave Lasley * Vicent Cubells * Miquel Raïch +* Souheil Bejaoui diff --git a/contract/static/description/index.html b/contract/static/description/index.html index 0a082700d..f9ffbe0ba 100644 --- a/contract/static/description/index.html +++ b/contract/static/description/index.html @@ -367,7 +367,7 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/contract Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/contract Translate me on Weblate Try me on Runbot

This module enables contracts management with recurring invoicing functions. Also you can print and send by email contract report.

It works for customer contract and supplier contracts.

@@ -433,7 +433,7 @@ contract.

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.

+feedback.

Do not contact contributors directly about support or help with technical issues.

@@ -455,6 +455,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
  • Dave Lasley <dave@laslabs.com>
  • Vicent Cubells <vicent.cubells@tecnativa.com>
  • Miquel Raïch <miquel.raich@eficent.com>
  • +
  • Souheil Bejaoui <souheil.bejaoui@acsone.eu>
  • @@ -464,7 +465,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome

    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.

    -

    This module is part of the OCA/contract project on GitHub.

    +

    This module is part of the OCA/contract project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    diff --git a/contract/tests/test_contract.py b/contract/tests/test_contract.py index d0e48e4a3..4ce51aaa6 100644 --- a/contract/tests/test_contract.py +++ b/contract/tests/test_contract.py @@ -90,6 +90,7 @@ class TestContract(TestContractBase): self.assertEqual(self.acct_line.price_unit, 10) def test_contract(self): + recurring_next_date = fields.Date.to_date('2016-03-29') self.assertAlmostEqual(self.acct_line.price_subtotal, 50.0) res = self.acct_line._onchange_product_id() self.assertIn('uom_id', res['domain']) @@ -101,7 +102,8 @@ class TestContract(TestContractBase): self.invoice_monthly = self.env['account.invoice'].search( [('contract_id', '=', self.contract.id)]) self.assertTrue(self.invoice_monthly) - self.assertEqual(self.contract.recurring_next_date, '2016-03-29') + self.assertEqual(self.contract.recurring_next_date, + recurring_next_date) self.inv_line = self.invoice_monthly.invoice_line_ids[0] self.assertTrue(self.inv_line.invoice_line_tax_ids) self.assertAlmostEqual(self.inv_line.price_subtotal, 50.0) @@ -109,6 +111,7 @@ class TestContract(TestContractBase): self.invoice_monthly.user_id) def test_contract_daily(self): + recurring_next_date = fields.Date.to_date('2016-03-01') self.contract.recurring_next_date = '2016-02-29' self.contract.recurring_rule_type = 'daily' self.contract.pricelist_id = False @@ -116,9 +119,11 @@ class TestContract(TestContractBase): invoice_daily = self.env['account.invoice'].search( [('contract_id', '=', self.contract.id)]) self.assertTrue(invoice_daily) - self.assertEqual(self.contract.recurring_next_date, '2016-03-01') + self.assertEqual(self.contract.recurring_next_date, + recurring_next_date) def test_contract_weekly(self): + recurring_next_date = fields.Date.to_date('2016-03-07') self.contract.recurring_next_date = '2016-02-29' self.contract.recurring_rule_type = 'weekly' self.contract.recurring_invoicing_type = 'post-paid' @@ -127,9 +132,10 @@ class TestContract(TestContractBase): [('contract_id', '=', self.contract.id)]) self.assertTrue(invoices_weekly) self.assertEqual( - self.contract.recurring_next_date, '2016-03-07') + self.contract.recurring_next_date, recurring_next_date) def test_contract_yearly(self): + recurring_next_date = fields.Date.to_date('2017-02-28') self.contract.recurring_next_date = '2016-02-29' self.contract.recurring_rule_type = 'yearly' self.contract.recurring_create_invoice() @@ -137,9 +143,10 @@ class TestContract(TestContractBase): [('contract_id', '=', self.contract.id)]) self.assertTrue(invoices_weekly) self.assertEqual( - self.contract.recurring_next_date, '2017-02-28') + self.contract.recurring_next_date, recurring_next_date) def test_contract_monthly_lastday(self): + recurring_next_date = fields.Date.to_date('2016-03-31') self.contract.recurring_next_date = '2016-02-29' self.contract.recurring_invoicing_type = 'post-paid' self.contract.recurring_rule_type = 'monthlylastday' @@ -147,7 +154,8 @@ class TestContract(TestContractBase): invoices_monthly_lastday = self.env['account.invoice'].search( [('contract_id', '=', self.contract.id)]) self.assertTrue(invoices_monthly_lastday) - self.assertEqual(self.contract.recurring_next_date, '2016-03-31') + self.assertEqual(self.contract.recurring_next_date, + recurring_next_date) def test_onchange_partner_id(self): self.contract._onchange_partner_id() @@ -155,13 +163,14 @@ class TestContract(TestContractBase): self.contract.partner_id.property_product_pricelist) def test_onchange_date_start(self): - date = '2016-01-01' - self.contract.date_start = date + recurring_next_date = fields.Date.to_date('2016-01-01') + self.contract.date_start = recurring_next_date self.contract._onchange_date_start() - self.assertEqual(self.contract.recurring_next_date, date) + self.assertEqual(self.contract.recurring_next_date, + recurring_next_date) def test_uom(self): - uom_litre = self.env.ref('product.product_uom_litre') + uom_litre = self.env.ref('uom.product_uom_litre') self.acct_line.uom_id = uom_litre.id self.acct_line._onchange_product_id() self.assertEqual(self.acct_line.uom_id, @@ -273,9 +282,9 @@ class TestContract(TestContractBase): def test_contract_onchange_product_id_uom(self): """It should update the UoM for the line.""" line = self._add_template_line( - {'uom_id': self.env.ref('product.product_uom_litre').id} + {'uom_id': self.env.ref('uom.product_uom_litre').id} ) - line.product_id.uom_id = self.env.ref('product.product_uom_day').id + line.product_id.uom_id = self.env.ref('uom.product_uom_day').id line._onchange_product_id() self.assertEqual(line.uom_id, line.product_id.uom_id) @@ -292,13 +301,14 @@ class TestContract(TestContractBase): def test_contract_count(self): """It should return sale contract count.""" - count = self.partner.sale_contract_count + 2 + sale_count = self.partner.sale_contract_count + 2 self.contract.copy() self.contract.copy() - self.assertEqual(self.partner.sale_contract_count, count) - count = self.partner.purchase_contract_count + 1 + purchase_count = self.partner.purchase_contract_count + 1 self.contract2.copy() - self.assertEqual(self.partner.purchase_contract_count, count) + self.partner.refresh() + self.assertEqual(self.partner.sale_contract_count, sale_count) + self.assertEqual(self.partner.purchase_contract_count, purchase_count) def test_same_date_start_and_date_end(self): """It should create one invoice with same start and end date.""" diff --git a/contract/views/account_analytic_account_view.xml b/contract/views/account_analytic_account_view.xml index 1db6df28f..128f18868 100644 --- a/contract/views/account_analytic_account_view.xml +++ b/contract/views/account_analytic_account_view.xml @@ -84,7 +84,7 @@ - + @@ -188,11 +188,13 @@ domain="[('date_end', '<', time.strftime('%Y-%m-%d'))]" /> - - @@ -232,7 +234,7 @@ @@ -268,7 +270,7 @@ diff --git a/contract/views/account_analytic_contract_view.xml b/contract/views/account_analytic_contract_view.xml index 8f91a23bb..47f1f5812 100644 --- a/contract/views/account_analytic_contract_view.xml +++ b/contract/views/account_analytic_contract_view.xml @@ -42,7 +42,7 @@ - + @@ -84,19 +84,24 @@ - - - - -