[MIG] contract: Migration to 12.0

This commit is contained in:
sbejaoui
2018-10-25 15:47:09 +02:00
committed by Pedro M. Baeza
parent e8fbf1c17f
commit 134a3dd232
11 changed files with 206 additions and 215 deletions

View File

@@ -14,13 +14,13 @@ Contracts Management - Recurring
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3 :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fcontract-lightgray.png?logo=github .. |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 :alt: OCA/contract
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png .. |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 :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png .. |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 :alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5| |badge1| |badge2| |badge3| |badge4| |badge5|
@@ -84,7 +84,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/contract/issues>`_. Bugs are tracked on `GitHub Issues <https://github.com/OCA/contract/issues>`_.
In case of trouble, please check there if your issue has already been reported. 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 If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/contract/issues/new?body=module:%20contract%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. `feedback <https://github.com/OCA/contract/issues/new?body=module:%20contract%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues. Do not contact contributors directly about support or help with technical issues.
@@ -107,6 +107,7 @@ Contributors
* Dave Lasley <dave@laslabs.com> * Dave Lasley <dave@laslabs.com>
* Vicent Cubells <vicent.cubells@tecnativa.com> * Vicent Cubells <vicent.cubells@tecnativa.com>
* Miquel Raïch <miquel.raich@eficent.com> * Miquel Raïch <miquel.raich@eficent.com>
* Souheil Bejaoui <souheil.bejaoui@acsone.eu>
Maintainers 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 mission is to support the collaborative development of Odoo features and
promote its widespread use. promote its widespread use.
This module is part of the `OCA/contract <https://github.com/OCA/contract/tree/11.0/contract>`_ project on GitHub. This module is part of the `OCA/contract <https://github.com/OCA/contract/tree/12.0/contract>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@@ -8,7 +8,7 @@
{ {
'name': 'Contracts Management - Recurring', 'name': 'Contracts Management - Recurring',
'version': '11.0.4.0.0', 'version': '12.0.1.0.0',
'category': 'Contract Management', 'category': 'Contract Management',
'license': 'AGPL-3', 'license': 'AGPL-3',
'author': "OpenERP SA, " 'author': "OpenERP SA, "

View File

@@ -4,7 +4,7 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 11.0\n" "Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
@@ -71,98 +71,105 @@ msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})"
msgstr "" msgstr ""
#. module: contract #. 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
#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form #: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_form
msgid "<strong>#END#</strong>: End date of the invoiced period" msgid "<strong>#END#</strong>: End date of the invoiced period"
msgstr "" msgstr ""
#. module: contract #. 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
#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form #: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_form
msgid "<strong>#START#</strong>: Start date of the invoiced period" msgid "<strong>#START#</strong>: Start date of the invoiced period"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.ui.view,arch_db:contract.report_contract_document #: model_terms:ir.ui.view,arch_db:contract.report_contract_document
msgid "<strong>Contract: </strong>" msgid "<strong>Contract: </strong>"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.ui.view,arch_db:contract.report_contract_document #: model_terms:ir.ui.view,arch_db:contract.report_contract_document
msgid "<strong>Date Start: </strong>" msgid "<strong>Date Start: </strong>"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.ui.view,arch_db:contract.report_contract_document #: model_terms:ir.ui.view,arch_db:contract.report_contract_document
msgid "<strong>Description</strong>" msgid "<strong>Description</strong>"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.ui.view,arch_db:contract.report_contract_document #: model_terms:ir.ui.view,arch_db:contract.report_contract_document
msgid "<strong>Partner:</strong>" msgid "<strong>Partner:</strong>"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.ui.view,arch_db:contract.report_contract_document #: model_terms:ir.ui.view,arch_db:contract.report_contract_document
msgid "<strong>Price</strong>" msgid "<strong>Price</strong>"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.ui.view,arch_db:contract.report_contract_document #: model_terms:ir.ui.view,arch_db:contract.report_contract_document
msgid "<strong>Quantity</strong>" msgid "<strong>Quantity</strong>"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.ui.view,arch_db:contract.report_contract_document #: model_terms:ir.ui.view,arch_db:contract.report_contract_document
msgid "<strong>Recurring Items</strong>" msgid "<strong>Recurring Items</strong>"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.ui.view,arch_db:contract.report_contract_document #: model_terms:ir.ui.view,arch_db:contract.report_contract_document
msgid "<strong>Responsible: </strong>" msgid "<strong>Responsible: </strong>"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.ui.view,arch_db:contract.report_contract_document #: model_terms:ir.ui.view,arch_db:contract.report_contract_document
msgid "<strong>Total</strong>" msgid "<strong>Total</strong>"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.ui.view,arch_db:contract.report_contract_document #: model_terms:ir.ui.view,arch_db:contract.report_contract_document
msgid "<strong>Unit Price</strong>" msgid "<strong>Unit Price</strong>"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.model,name:contract.model_account_analytic_contract
#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form 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" msgid "Account Analytic Lines"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model,name:contract.model_account_analytic_account #: 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" msgid "Analytic Account"
msgstr "" msgstr ""
#. module: contract #. 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_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_invoice_line__automatic_price
msgid "Auto-price?" msgid "Auto-price?"
msgstr "" msgstr ""
#. module: contract #. 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." msgid "Click to create a new contract template."
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.actions.act_window,help:contract.action_account_analytic_purchase_overdue_all #: model_terms: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_sale_overdue_all
msgid "Click to create a new contract." msgid "Click to create a new contract."
msgstr "" msgstr ""
#. module: contract #. 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" msgid "Company"
msgstr "" msgstr ""
@@ -179,8 +186,8 @@ msgstr ""
#. module: contract #. module: contract
#: model:ir.actions.report,name:contract.report_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_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_invoice__contract_id
#: model:mail.template,report_name:contract.email_contract_template #: model:mail.template,report_name:contract.email_contract_template
msgid "Contract" msgid "Contract"
msgstr "" msgstr ""
@@ -197,25 +204,23 @@ msgid "Contract Lines"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_contract_template_id #: 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_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_form
#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form
msgid "Contract Template" msgid "Contract Template"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.actions.act_window,name:contract.account_analytic_contract_action #: model:ir.actions.act_window,name:contract.account_analytic_contract_action
#: model:ir.ui.menu,name:contract.account_analytic_contract_menu #: model:ir.ui.menu,name:contract.account_analytic_contract_menu
#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search #: model_terms: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_tree
msgid "Contract Templates" msgid "Contract Templates"
msgstr "" msgstr ""
#. module: contract #. 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_account__contract_type
#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_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_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_search
#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search
msgid "Contract Type" msgid "Contract Type"
msgstr "" msgstr ""
@@ -225,34 +230,34 @@ msgid "Contracts"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_create_invoice_visibility #: 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
msgid "Create Invoice Visibility" msgid "Create Invoice Visibility"
msgstr "" msgstr ""
#. module: contract #. 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" msgid "Create invoices"
msgstr "" msgstr ""
#. module: contract #. 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__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_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_invoice_line__create_uid
msgid "Created by" msgid "Created by"
msgstr "" msgstr ""
#. module: contract #. 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__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_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_invoice_line__create_date
msgid "Created on" msgid "Created on"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: selection:account.analytic.account,contract_type:0 #: selection:account.analytic.account,contract_type:0
#: selection:account.analytic.contract,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" msgid "Customer"
msgstr "" msgstr ""
@@ -263,44 +268,42 @@ msgid "Customer Contracts"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_date_end #: 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_terms:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search
#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search
msgid "Date End" msgid "Date End"
msgstr "" msgstr ""
#. module: contract #. 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_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_invoice_line__date_from
msgid "Date From" msgid "Date From"
msgstr "" msgstr ""
#. module: contract #. 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" msgid "Date Start"
msgstr "" msgstr ""
#. module: contract #. 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_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_invoice_line__date_to
msgid "Date To" msgid "Date To"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,help:contract.field_account_analytic_contract_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 #: model:ir.model.fields,help:contract.field_account_analytic_invoice_line__date_from
msgid "Date from invoiced period" msgid "Date from invoiced period"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_next_date #: 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
msgid "Date of Next Invoice" msgid "Date of Next Invoice"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,help:contract.field_account_analytic_contract_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 #: model:ir.model.fields,help:contract.field_account_analytic_invoice_line__date_to
msgid "Date to invoiced period" msgid "Date to invoiced period"
msgstr "" msgstr ""
@@ -311,14 +314,14 @@ msgid "Day(s)"
msgstr "" msgstr ""
#. module: contract #. 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_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_invoice_line__name
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. module: contract #. 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_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_invoice_line__discount
msgid "Discount (%)" msgid "Discount (%)"
msgstr "" msgstr ""
@@ -329,20 +332,20 @@ msgid "Discount should be less or equal to 100"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,help:contract.field_account_analytic_contract_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 #: 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" msgid "Discount that is applied in generated invoices. It should be less or equal to 100"
msgstr "" msgstr ""
#. module: contract #. 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__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_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_invoice_line__display_name
msgid "Display Name" msgid "Display Name"
msgstr "" msgstr ""
#. module: contract #. 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" msgid "Finished"
msgstr "" msgstr ""
@@ -354,26 +357,25 @@ msgid "Generate Recurring Invoices from Contracts"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoices #: 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
msgid "Generate recurring invoices automatically" msgid "Generate recurring invoices automatically"
msgstr "" msgstr ""
#. module: contract #. 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..." msgid "Group By..."
msgstr "" msgstr ""
#. module: contract #. 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__id
#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_line_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_invoice_line__id
msgid "ID" msgid "ID"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,help:contract.field_account_analytic_contract_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 #: 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" 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 "" msgstr ""
@@ -383,10 +385,9 @@ msgid "Invoice"
msgstr "" msgstr ""
#. module: contract #. 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_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_account_analytic_contract__recurring_invoice_line_ids
#: model:ir.model.fields,field_description:contract.field_project_project_recurring_invoice_line_ids #: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_form
#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form
msgid "Invoice Lines" msgid "Invoice Lines"
msgstr "" msgstr ""
@@ -396,45 +397,43 @@ msgid "Invoices"
msgstr "" msgstr ""
#. module: contract #. 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_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_account_analytic_contract__recurring_invoicing_type
#: model:ir.model.fields,field_description:contract.field_project_project_recurring_invoicing_type #: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_search
#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search
msgid "Invoicing type" msgid "Invoicing type"
msgstr "" msgstr ""
#. module: contract #. 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_account__journal_id
#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_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_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_search
#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search
msgid "Journal" msgid "Journal"
msgstr "" msgstr ""
#. module: contract #. 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____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_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_invoice_line____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "" msgstr ""
#. module: contract #. 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_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 #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "" msgstr ""
#. module: contract #. 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_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 #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "" msgstr ""
#. module: contract #. 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
#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form #: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_form
msgid "Legend (for the markers inside invoice lines description)" msgid "Legend (for the markers inside invoice lines description)"
msgstr "" msgstr ""
@@ -451,22 +450,22 @@ msgid "Month(s) last day"
msgstr "" msgstr ""
#. module: contract #. 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" msgid "Name"
msgstr "" msgstr ""
#. module: contract #. 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" msgid "Next Invoice"
msgstr "" msgstr ""
#. module: contract #. 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)" msgid "Partner (always False)"
msgstr "" msgstr ""
#. module: contract #. 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" msgid "Partner and dependents"
msgstr "" msgstr ""
@@ -489,129 +488,123 @@ msgid "Pre-paid"
msgstr "" msgstr ""
#. module: contract #. 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_account__pricelist_id
#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_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_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_search
#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search
msgid "Pricelist" msgid "Pricelist"
msgstr "" msgstr ""
#. module: contract #. 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_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_invoice_line__product_id
msgid "Product" msgid "Product"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,field_description:contract.field_res_partner_purchase_contract_count #: 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.model.fields,field_description:contract.field_res_users__purchase_contract_count
#: model:ir.ui.view,arch_db:contract.view_partner_form #: model_terms:ir.ui.view,arch_db:contract.view_partner_form
msgid "Purchase Contracts" msgid "Purchase Contracts"
msgstr "" msgstr ""
#. module: contract #. 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_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_invoice_line__quantity
msgid "Quantity" msgid "Quantity"
msgstr "" msgstr ""
#. module: contract #. 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_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_account_analytic_contract__recurring_rule_type
#: model:ir.model.fields,field_description:contract.field_project_project_recurring_rule_type #: model_terms:ir.ui.view,arch_db:contract.account_analytic_contract_view_search
#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search
msgid "Recurrence" msgid "Recurrence"
msgstr "" msgstr ""
#. module: contract #. 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
#: 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 "Recurring Invoices" msgid "Recurring Invoices"
msgstr "" msgstr ""
#. module: contract #. 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_account__recurring_interval
#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_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
msgid "Repeat Every" msgid "Repeat Every"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,help:contract.field_account_analytic_account_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 #: model:ir.model.fields,help:contract.field_account_analytic_contract__recurring_interval
#: model:ir.model.fields,help:contract.field_project_project_recurring_interval
msgid "Repeat every (Days/Week/Month/Year)" msgid "Repeat every (Days/Week/Month/Year)"
msgstr "" msgstr ""
#. module: contract #. 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" msgid "Responsible"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,field_description:contract.field_res_partner_sale_contract_count #: 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.model.fields,field_description:contract.field_res_users__sale_contract_count
#: model:ir.ui.view,arch_db:contract.view_partner_form #: model_terms:ir.ui.view,arch_db:contract.view_partner_form
msgid "Sale Contracts" msgid "Sale Contracts"
msgstr "" msgstr ""
#. module: contract #. 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" msgid "Send by Email"
msgstr "" msgstr ""
#. module: contract #. 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_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_invoice_line__sequence
msgid "Sequence" msgid "Sequence"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,help:contract.field_account_analytic_contract_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 #: model:ir.model.fields,help:contract.field_account_analytic_invoice_line__sequence
msgid "Sequence of the contract line when displaying contracts" msgid "Sequence of the contract line when displaying contracts"
msgstr "" msgstr ""
#. module: contract #. 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" msgid "Show the purchase contracts for this partner"
msgstr "" msgstr ""
#. module: contract #. 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" msgid "Show the sale contracts for this partner"
msgstr "" msgstr ""
#. module: contract #. 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_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_invoice_line__specific_price
msgid "Specific Price" msgid "Specific Price"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,help:contract.field_account_analytic_account_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 #: 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
msgid "Specify Interval for automatic invoice generation." msgid "Specify Interval for automatic invoice generation."
msgstr "" msgstr ""
#. module: contract #. module: contract
#: model:ir.model.fields,help:contract.field_account_analytic_account_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 #: 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
msgid "Specify if process date is 'from' or 'to' invoicing date" msgid "Specify if process date is 'from' or 'to' invoicing date"
msgstr "" msgstr ""
#. module: contract #. 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_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_invoice_line__price_subtotal
msgid "Sub Total" msgid "Sub Total"
msgstr "" msgstr ""
#. module: contract #. module: contract
#: selection:account.analytic.account,contract_type:0 #: selection:account.analytic.account,contract_type:0
#: selection:account.analytic.contract,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" msgid "Supplier"
msgstr "" msgstr ""
@@ -622,24 +615,24 @@ msgid "Supplier Contracts"
msgstr "" msgstr ""
#. module: contract #. 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_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_invoice_line__price_unit
msgid "Unit Price" msgid "Unit Price"
msgstr "" msgstr ""
#. module: contract #. 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_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_invoice_line__uom_id
msgid "Unit of Measure" msgid "Unit of Measure"
msgstr "" msgstr ""
#. module: contract #. 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:" msgid "VAT:"
msgstr "" msgstr ""
#. module: contract #. 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" msgid "Valid"
msgstr "" msgstr ""
@@ -698,18 +691,13 @@ msgstr ""
msgid "You must supply a start date for contract '%s'" msgid "You must supply a start date for contract '%s'"
msgstr "" msgstr ""
#. module: contract
#: model:ir.model,name:contract.model_account_analytic_contract
msgid "account.analytic.contract"
msgstr ""
#. module: contract #. module: contract
#: model:ir.model,name:contract.model_account_analytic_invoice_line #: model:ir.model,name:contract.model_account_analytic_invoice_line
msgid "account.analytic.invoice.line" msgid "account.analytic.invoice.line"
msgstr "" msgstr ""
#. module: contract #. 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" msgid "⇒ Show recurring invoices"
msgstr "" msgstr ""

View File

@@ -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"
)

View File

@@ -10,6 +10,7 @@ from odoo import api, fields, models
class AccountAnalyticContract(models.Model): class AccountAnalyticContract(models.Model):
_name = 'account.analytic.contract' _name = 'account.analytic.contract'
_description = "Account Analytic Contract"
# These fields will not be synced to the contract # These fields will not be synced to the contract
NO_SYNC = [ NO_SYNC = [

View File

@@ -38,7 +38,7 @@ class AccountAnalyticContractLine(models.Model):
required=True, required=True,
) )
uom_id = fields.Many2one( uom_id = fields.Many2one(
'product.uom', 'uom.uom',
string='Unit of Measure', string='Unit of Measure',
required=True, required=True,
) )

View File

@@ -4,3 +4,4 @@
* Dave Lasley <dave@laslabs.com> * Dave Lasley <dave@laslabs.com>
* Vicent Cubells <vicent.cubells@tecnativa.com> * Vicent Cubells <vicent.cubells@tecnativa.com>
* Miquel Raïch <miquel.raich@eficent.com> * Miquel Raïch <miquel.raich@eficent.com>
* Souheil Bejaoui <souheil.bejaoui@acsone.eu>

View File

@@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !! !! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !! !! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/contract/tree/11.0/contract"><img alt="OCA/contract" src="https://img.shields.io/badge/github-OCA%2Fcontract-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/contract-11-0/contract-11-0-contract"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/110/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p> <p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/contract/tree/12.0/contract"><img alt="OCA/contract" src="https://img.shields.io/badge/github-OCA%2Fcontract-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/110/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module enables contracts management with recurring <p>This module enables contracts management with recurring
invoicing functions. Also you can print and send by email contract report.</p> invoicing functions. Also you can print and send by email contract report.</p>
<p>It works for customer contract and supplier contracts.</p> <p>It works for customer contract and supplier contracts.</p>
@@ -433,7 +433,7 @@ contract.</li>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/contract/issues">GitHub Issues</a>. <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/contract/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported. 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 If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/contract/issues/new?body=module:%20contract%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> <a class="reference external" href="https://github.com/OCA/contract/issues/new?body=module:%20contract%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p> <p>Do not contact contributors directly about support or help with technical issues.</p>
</div> </div>
<div class="section" id="credits"> <div class="section" id="credits">
@@ -455,6 +455,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<li>Dave Lasley &lt;<a class="reference external" href="mailto:dave&#64;laslabs.com">dave&#64;laslabs.com</a>&gt;</li> <li>Dave Lasley &lt;<a class="reference external" href="mailto:dave&#64;laslabs.com">dave&#64;laslabs.com</a>&gt;</li>
<li>Vicent Cubells &lt;<a class="reference external" href="mailto:vicent.cubells&#64;tecnativa.com">vicent.cubells&#64;tecnativa.com</a>&gt;</li> <li>Vicent Cubells &lt;<a class="reference external" href="mailto:vicent.cubells&#64;tecnativa.com">vicent.cubells&#64;tecnativa.com</a>&gt;</li>
<li>Miquel Raïch &lt;<a class="reference external" href="mailto:miquel.raich&#64;eficent.com">miquel.raich&#64;eficent.com</a>&gt;</li> <li>Miquel Raïch &lt;<a class="reference external" href="mailto:miquel.raich&#64;eficent.com">miquel.raich&#64;eficent.com</a>&gt;</li>
<li>Souheil Bejaoui &lt;<a class="reference external" href="mailto:souheil.bejaoui&#64;acsone.eu">souheil.bejaoui&#64;acsone.eu</a>&gt;</li>
</ul> </ul>
</div> </div>
<div class="section" id="maintainers"> <div class="section" id="maintainers">
@@ -464,7 +465,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use.</p> promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/contract/tree/11.0/contract">OCA/contract</a> project on GitHub.</p> <p>This module is part of the <a class="reference external" href="https://github.com/OCA/contract/tree/12.0/contract">OCA/contract</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p> <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div> </div>
</div> </div>

View File

@@ -90,6 +90,7 @@ class TestContract(TestContractBase):
self.assertEqual(self.acct_line.price_unit, 10) self.assertEqual(self.acct_line.price_unit, 10)
def test_contract(self): def test_contract(self):
recurring_next_date = fields.Date.to_date('2016-03-29')
self.assertAlmostEqual(self.acct_line.price_subtotal, 50.0) self.assertAlmostEqual(self.acct_line.price_subtotal, 50.0)
res = self.acct_line._onchange_product_id() res = self.acct_line._onchange_product_id()
self.assertIn('uom_id', res['domain']) self.assertIn('uom_id', res['domain'])
@@ -101,7 +102,8 @@ class TestContract(TestContractBase):
self.invoice_monthly = self.env['account.invoice'].search( self.invoice_monthly = self.env['account.invoice'].search(
[('contract_id', '=', self.contract.id)]) [('contract_id', '=', self.contract.id)])
self.assertTrue(self.invoice_monthly) 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.inv_line = self.invoice_monthly.invoice_line_ids[0]
self.assertTrue(self.inv_line.invoice_line_tax_ids) self.assertTrue(self.inv_line.invoice_line_tax_ids)
self.assertAlmostEqual(self.inv_line.price_subtotal, 50.0) self.assertAlmostEqual(self.inv_line.price_subtotal, 50.0)
@@ -109,6 +111,7 @@ class TestContract(TestContractBase):
self.invoice_monthly.user_id) self.invoice_monthly.user_id)
def test_contract_daily(self): 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_next_date = '2016-02-29'
self.contract.recurring_rule_type = 'daily' self.contract.recurring_rule_type = 'daily'
self.contract.pricelist_id = False self.contract.pricelist_id = False
@@ -116,9 +119,11 @@ class TestContract(TestContractBase):
invoice_daily = self.env['account.invoice'].search( invoice_daily = self.env['account.invoice'].search(
[('contract_id', '=', self.contract.id)]) [('contract_id', '=', self.contract.id)])
self.assertTrue(invoice_daily) 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): 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_next_date = '2016-02-29'
self.contract.recurring_rule_type = 'weekly' self.contract.recurring_rule_type = 'weekly'
self.contract.recurring_invoicing_type = 'post-paid' self.contract.recurring_invoicing_type = 'post-paid'
@@ -127,9 +132,10 @@ class TestContract(TestContractBase):
[('contract_id', '=', self.contract.id)]) [('contract_id', '=', self.contract.id)])
self.assertTrue(invoices_weekly) self.assertTrue(invoices_weekly)
self.assertEqual( self.assertEqual(
self.contract.recurring_next_date, '2016-03-07') self.contract.recurring_next_date, recurring_next_date)
def test_contract_yearly(self): 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_next_date = '2016-02-29'
self.contract.recurring_rule_type = 'yearly' self.contract.recurring_rule_type = 'yearly'
self.contract.recurring_create_invoice() self.contract.recurring_create_invoice()
@@ -137,9 +143,10 @@ class TestContract(TestContractBase):
[('contract_id', '=', self.contract.id)]) [('contract_id', '=', self.contract.id)])
self.assertTrue(invoices_weekly) self.assertTrue(invoices_weekly)
self.assertEqual( self.assertEqual(
self.contract.recurring_next_date, '2017-02-28') self.contract.recurring_next_date, recurring_next_date)
def test_contract_monthly_lastday(self): 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_next_date = '2016-02-29'
self.contract.recurring_invoicing_type = 'post-paid' self.contract.recurring_invoicing_type = 'post-paid'
self.contract.recurring_rule_type = 'monthlylastday' self.contract.recurring_rule_type = 'monthlylastday'
@@ -147,7 +154,8 @@ class TestContract(TestContractBase):
invoices_monthly_lastday = self.env['account.invoice'].search( invoices_monthly_lastday = self.env['account.invoice'].search(
[('contract_id', '=', self.contract.id)]) [('contract_id', '=', self.contract.id)])
self.assertTrue(invoices_monthly_lastday) 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): def test_onchange_partner_id(self):
self.contract._onchange_partner_id() self.contract._onchange_partner_id()
@@ -155,13 +163,14 @@ class TestContract(TestContractBase):
self.contract.partner_id.property_product_pricelist) self.contract.partner_id.property_product_pricelist)
def test_onchange_date_start(self): def test_onchange_date_start(self):
date = '2016-01-01' recurring_next_date = fields.Date.to_date('2016-01-01')
self.contract.date_start = date self.contract.date_start = recurring_next_date
self.contract._onchange_date_start() 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): 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.uom_id = uom_litre.id
self.acct_line._onchange_product_id() self.acct_line._onchange_product_id()
self.assertEqual(self.acct_line.uom_id, self.assertEqual(self.acct_line.uom_id,
@@ -273,9 +282,9 @@ class TestContract(TestContractBase):
def test_contract_onchange_product_id_uom(self): def test_contract_onchange_product_id_uom(self):
"""It should update the UoM for the line.""" """It should update the UoM for the line."""
line = self._add_template_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() line._onchange_product_id()
self.assertEqual(line.uom_id, self.assertEqual(line.uom_id,
line.product_id.uom_id) line.product_id.uom_id)
@@ -292,13 +301,14 @@ class TestContract(TestContractBase):
def test_contract_count(self): def test_contract_count(self):
"""It should return sale contract count.""" """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.contract.copy() self.contract.copy()
self.assertEqual(self.partner.sale_contract_count, count) purchase_count = self.partner.purchase_contract_count + 1
count = self.partner.purchase_contract_count + 1
self.contract2.copy() 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): def test_same_date_start_and_date_end(self):
"""It should create one invoice with same start and end date.""" """It should create one invoice with same start and end date."""

View File

@@ -84,7 +84,7 @@
<field name="automatic_price"/> <field name="automatic_price"/>
<field name="price_unit" attrs="{'readonly': [('automatic_price', '=', True)]}"/> <field name="price_unit" attrs="{'readonly': [('automatic_price', '=', True)]}"/>
<field name="specific_price" invisible="1"/> <field name="specific_price" invisible="1"/>
<field name="discount" groups="sale.group_discount_per_so_line" /> <field name="discount" groups="base.group_no_one" />
<field name="price_subtotal"/> <field name="price_subtotal"/>
</tree> </tree>
</field> </field>
@@ -188,11 +188,13 @@
domain="[('date_end', '&lt;', time.strftime('%Y-%m-%d'))]" domain="[('date_end', '&lt;', time.strftime('%Y-%m-%d'))]"
/> />
<group expand="0" string="Group By..."> <group expand="0" string="Group By...">
<filter string="Next Invoice" <filter name="next_invoice"
string="Next Invoice"
domain="[]" domain="[]"
context="{'group_by':'recurring_next_date'}" context="{'group_by':'recurring_next_date'}"
/> />
<filter string="Date End" <filter name="date_end"
string="Date End"
domain="[]" domain="[]"
context="{'group_by':'date_end'}" context="{'group_by':'date_end'}"
/> />
@@ -232,7 +234,7 @@
</record> </record>
<menuitem id="menu_action_account_analytic_sale_overdue_all" <menuitem id="menu_action_account_analytic_sale_overdue_all"
parent="account.menu_finance_receivables_documents" parent="account.menu_finance_receivables"
action="action_account_analytic_sale_overdue_all" action="action_account_analytic_sale_overdue_all"
sequence="99" sequence="99"
/> />
@@ -268,7 +270,7 @@
</record> </record>
<menuitem id="menu_action_account_analytic_purchase_overdue_all" <menuitem id="menu_action_account_analytic_purchase_overdue_all"
parent="account.menu_finance_payables_documents" parent="account.menu_finance_payables"
action="action_account_analytic_purchase_overdue_all" action="action_account_analytic_purchase_overdue_all"
sequence="99" sequence="99"
/> />

View File

@@ -42,7 +42,7 @@
<field name="automatic_price" attrs="{'column_invisible': [('parent.contract_type','=','purchase')]}"/> <field name="automatic_price" attrs="{'column_invisible': [('parent.contract_type','=','purchase')]}"/>
<field name="price_unit" attrs="{'readonly': [('automatic_price', '=', True)]}"/> <field name="price_unit" attrs="{'readonly': [('automatic_price', '=', True)]}"/>
<field name="specific_price" invisible="1"/> <field name="specific_price" invisible="1"/>
<field name="discount" groups="sale.group_discount_per_so_line" /> <field name="discount" groups="base.group_no_one" />
<field name="price_subtotal" /> <field name="price_subtotal" />
</tree> </tree>
</field> </field>
@@ -84,19 +84,24 @@
<field name="recurring_invoicing_type" /> <field name="recurring_invoicing_type" />
<field name="pricelist_id" /> <field name="pricelist_id" />
<field name="journal_id" /> <field name="journal_id" />
<filter string="Contract Type" <filter name="contract_type"
string="Contract Type"
context="{'group_by': 'contract_type'}" context="{'group_by': 'contract_type'}"
/> />
<filter string="Recurrence" <filter name="recurring_rule_type"
string="Recurrence"
context="{'group_by': 'recurring_rule_type'}" context="{'group_by': 'recurring_rule_type'}"
/> />
<filter string="Invoicing type" <filter name="recurring_invoicing_type"
string="Invoicing type"
context="{'group_by': 'recurring_invoicing_type'}" context="{'group_by': 'recurring_invoicing_type'}"
/> />
<filter string="Pricelist" <filter name="pricelist_id"
string="Pricelist"
context="{'group_by': 'pricelist_id'}" context="{'group_by': 'pricelist_id'}"
/> />
<filter string="Journal" <filter name="journal_id"
string="Journal"
context="{'group_by': 'journal_id'}" context="{'group_by': 'journal_id'}"
/> />
</search> </search>