diff --git a/contract_sale_generation/README.rst b/contract_sale_generation/README.rst new file mode 100644 index 0000000000..b28440f5e1 --- /dev/null +++ b/contract_sale_generation/README.rst @@ -0,0 +1,89 @@ +====================================== +Contracts Management - Recurring Sales +====================================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :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/15.0/contract_sale_generation + :alt: OCA/contract +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/contract-15-0/contract-15-0-contract_sale_generation + :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/15.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends functionality of contracts to be able to generate sales +orders instead of invoices. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To use this module, you need to: + +#. Go to Sales -> Contracts and select or create a new contract. +#. Fill fields for selecting the recurrency and invoice parameters: + + * Type defines document that contract will generate, can be "Sales" or "Invoices" + * Sale Autoconfirm, validate Sales Orders if type is "Sales" + +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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ACSONE SA/NV +* PESOL + +Contributors +~~~~~~~~~~~~ + +* Angel Moya +* Florent THOMAS +* Serpent Consulting Services Pvt. Ltd. +* Denis Roussel + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +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. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/contract_sale_generation/__init__.py b/contract_sale_generation/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/contract_sale_generation/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/contract_sale_generation/__manifest__.py b/contract_sale_generation/__manifest__.py new file mode 100644 index 0000000000..7cee130530 --- /dev/null +++ b/contract_sale_generation/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2017 Pesol () +# Copyright 2017 Angel Moya +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html) + + +{ + "name": "Contracts Management - Recurring Sales", + "version": "16.0.1.0.0", + "category": "Contract Management", + "license": "AGPL-3", + "author": "ACSONE SA/NV, PESOL, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/contract", + "depends": ["contract_sale"], + "data": [ + "data/contract_cron.xml", + "views/contract.xml", + ], + "installable": True, +} diff --git a/contract_sale_generation/data/contract_cron.xml b/contract_sale_generation/data/contract_cron.xml new file mode 100644 index 0000000000..c2f206dc16 --- /dev/null +++ b/contract_sale_generation/data/contract_cron.xml @@ -0,0 +1,13 @@ + + + Generate Recurring sales from Contracts + + code + model.cron_recurring_create_sale() + + 1 + days + -1 + + + diff --git a/contract_sale_generation/i18n/ca.po b/contract_sale_generation/i18n/ca.po new file mode 100644 index 0000000000..59f822ed73 --- /dev/null +++ b/contract_sale_generation/i18n/ca.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 01:41+0000\n" +"PO-Revision-Date: 2022-03-22 12:17+0000\n" +"Last-Translator: Noel estudillo \n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "Contracte recurrent abstracte" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "CREAR VENDES" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "Contracte" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "Línia de contracte" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "Línia de contracte a substituir" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" +"Contracte manualment la comanda de venda: Comanda de venda" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "Generar vendes recurrents a partir de contractes" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Factura" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "Vendes/Facturacions recurrents" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "Venda" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "Venda Autoconfirmació" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "Recompte de vendes" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "Comanda de venda" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línia de comanda de vendes" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "Tipus" + +#~ msgid "Analytic Account" +#~ msgstr "Compte analític" diff --git a/contract_sale_generation/i18n/contract_sale_generation.pot b/contract_sale_generation/i18n/contract_sale_generation.pot new file mode 100644 index 0000000000..d268f17e39 --- /dev/null +++ b/contract_sale_generation/i18n/contract_sale_generation.pot @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order__contract_auto_confirm +msgid "Contract Auto Confirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:0 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,help:contract_sale_generation.field_sale_order__contract_auto_confirm +msgid "" +"This is a technical field in order to know if the order shouldbe " +"automatically confirmed if generated by contract." +msgstr "" diff --git a/contract_sale_generation/i18n/de.po b/contract_sale_generation/i18n/de.po new file mode 100644 index 0000000000..45208dab37 --- /dev/null +++ b/contract_sale_generation/i18n/de.po @@ -0,0 +1,123 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 12:19+0000\n" +"PO-Revision-Date: 2019-02-22 15:51+0000\n" +"Last-Translator: Maria Sparenberg \n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.4\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Rechnung" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "Verkaufsaufträge" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +#, fuzzy +msgid "Sale Autoconfirm" +msgstr "automatisches Bestätigen der Verkaufsaufträge" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +#, fuzzy +msgid "Sales Order" +msgstr "Verkäufe" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "Typ" + +#~ msgid "Analytic Account" +#~ msgstr "Kostenstelle" + +#~ msgid "Create sales" +#~ msgstr "Verkaufsaufträge anlegen" + +#~ msgid "You must first select a Customer for Contract %s!" +#~ msgstr "Sie müssen zuerst einen Kunden für den Vertrag '%s' auswählen!" + +#~ msgid "account.analytic.contract" +#~ msgstr "account.analytic.contract" + +#~ msgid "⇒ Show recurring sales" +#~ msgstr "=> Periodische Verkaufsaufträge anzeigen" diff --git a/contract_sale_generation/i18n/el_GR.po b/contract_sale_generation/i18n/el_GR.po new file mode 100644 index 0000000000..4039b261ab --- /dev/null +++ b/contract_sale_generation/i18n/el_GR.po @@ -0,0 +1,109 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 01:41+0000\n" +"PO-Revision-Date: 2017-11-30 01:41+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/" +"el_GR/)\n" +"Language: el_GR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "Αναλυτικός Λογαριασμός" diff --git a/contract_sale_generation/i18n/es.po b/contract_sale_generation/i18n/es.po new file mode 100644 index 0000000000..3d0592741d --- /dev/null +++ b/contract_sale_generation/i18n/es.po @@ -0,0 +1,130 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +# Ismael Calvo , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 12:19+0000\n" +"PO-Revision-Date: 2018-04-03 12:19+0000\n" +"Last-Translator: Ismael Calvo , 2018\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Factura" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "Venta" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +#, fuzzy +msgid "Sale Autoconfirm" +msgstr "Autoconfirmar venta" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +#, fuzzy +msgid "Sales Order" +msgstr "Ventas" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "Tipo" + +#~ msgid "Analytic Account" +#~ msgstr "Cuenta analítica" + +#~ msgid "Create sales" +#~ msgstr "Crear ventas" + +#~ msgid "You must first select a Customer for Contract %s!" +#~ msgstr "¡Seleccione un cliente para este contrato %s!" + +#~ msgid "account.analytic.contract" +#~ msgstr "account.analytic.contract" + +#~ msgid "⇒ Show recurring sales" +#~ msgstr "⇒ Mostrar ventas recurrentes" + +#~ msgid "" +#~ "You must review start and end dates!\n" +#~ "%s" +#~ msgstr "" +#~ "Debe revisar las fechas de inicio y de fin\n" +#~ "%s" diff --git a/contract_sale_generation/i18n/es_AR.po b/contract_sale_generation/i18n/es_AR.po new file mode 100644 index 0000000000..e9edf98f70 --- /dev/null +++ b/contract_sale_generation/i18n/es_AR.po @@ -0,0 +1,119 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2022-02-23 00:17+0000\n" +"Last-Translator: Ignacio Buioli \n" +"Language-Team: none\n" +"Language: es_AR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "Contrato Recurrente Abstracto" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "CREAR VENTAS" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "Contrato" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order__contract_auto_confirm +msgid "Contract Auto Confirm" +msgstr "Auto Confirmar Contrato" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line" +msgstr "Línea de Contrato" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:0 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" +"Pedido de ventas manual del contrato: Pedido de Ventas" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__display_name +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__display_name +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_line__display_name +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order__display_name +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Mostrar Nombre" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "Generar ventas Recurrentes desde Contratos" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__id +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__id +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_line__id +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order__id +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract____last_update +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract____last_update +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_line____last_update +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order____last_update +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Última Modificación el" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "Autoconfirmar Venta" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "Cuenta de Venta" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "Pedido de Venta" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea de Pedido de Venta" + +#. module: contract_sale_generation +#: model:ir.model.fields,help:contract_sale_generation.field_sale_order__contract_auto_confirm +msgid "" +"This is a technical field in order to know if the order shouldbe " +"automatically confirmed if generated by contract." +msgstr "" +"Este es un campo técnico para saber si el pedido debe confirmarse " +"automáticamente si se genera por contrato." diff --git a/contract_sale_generation/i18n/es_MX.po b/contract_sale_generation/i18n/es_MX.po new file mode 100644 index 0000000000..ac36ee7122 --- /dev/null +++ b/contract_sale_generation/i18n/es_MX.po @@ -0,0 +1,109 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 01:41+0000\n" +"PO-Revision-Date: 2017-11-30 01:41+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/" +"es_MX/)\n" +"Language: es_MX\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "Cuenta analítica" diff --git a/contract_sale_generation/i18n/fi.po b/contract_sale_generation/i18n/fi.po new file mode 100644 index 0000000000..c45918938b --- /dev/null +++ b/contract_sale_generation/i18n/fi.po @@ -0,0 +1,123 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 01:41+0000\n" +"PO-Revision-Date: 2019-03-20 14:14+0000\n" +"Last-Translator: Jarmo Kortetjärvi \n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.5.1\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Lasku" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "Myynti" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +#, fuzzy +msgid "Sale Autoconfirm" +msgstr "Myynnin automaattivahvistus" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +#, fuzzy +msgid "Sales Order" +msgstr "Myynnit" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "Tyyppi" + +#~ msgid "Analytic Account" +#~ msgstr "Analyyttinen tili" + +#~ msgid "Create sales" +#~ msgstr "Luo myyntejä" + +#~ msgid "You must first select a Customer for Contract %s!" +#~ msgstr "Sopimukselle täytyy ensin valita asiakas %s!" + +#~ msgid "account.analytic.contract" +#~ msgstr "account.analytic.contract" + +#~ msgid "⇒ Show recurring sales" +#~ msgstr "⇒ Näytä toistuvaismyynnit" diff --git a/contract_sale_generation/i18n/fr.po b/contract_sale_generation/i18n/fr.po new file mode 100644 index 0000000000..24e94ddef4 --- /dev/null +++ b/contract_sale_generation/i18n/fr.po @@ -0,0 +1,131 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +# Fabien Bourgeois , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-19 02:01+0000\n" +"PO-Revision-Date: 2021-01-04 11:44+0000\n" +"Last-Translator: Rémi \n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "Base pour les contrats récurrents" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "CRÉER LES COMMANDES" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "Contrat" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "Ligne de Contrat" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "Ligne de contrat à remplacer" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" +"Création manuelle de la commande depuis le contrat : Commande" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "Générer les ventes récurrentes depuis les Contrats" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Facture" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "Commandes / Factures Récurrentes" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "Vente" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "Confirmation automatique des commandes" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "Nombre de Commandes" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "Commandes" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "Ligne de commande" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "Type" + +#~ msgid "Analytic Account" +#~ msgstr "Compte analytique" + +#~ msgid "Create sales" +#~ msgstr "Créer des commandes" + +#~ msgid "You must first select a Customer for Contract %s!" +#~ msgstr "Vous devez d'abord sélectionner un Client pour le contrat %s!" + +#~ msgid "account.analytic.contract" +#~ msgstr "account.analytic.contract" + +#~ msgid "⇒ Show recurring sales" +#~ msgstr "⇒ Voir les commandes récurrentes" + +#~ msgid "" +#~ "You must review start and end dates!\n" +#~ "%s" +#~ msgstr "" +#~ "Vous devez vérifier vos dates de début et de fin!\n" +#~ "%s" diff --git a/contract_sale_generation/i18n/gl.po b/contract_sale_generation/i18n/gl.po new file mode 100644 index 0000000000..435c880ac2 --- /dev/null +++ b/contract_sale_generation/i18n/gl.po @@ -0,0 +1,123 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 01:41+0000\n" +"PO-Revision-Date: 2019-02-07 11:50+0000\n" +"Last-Translator: Marta Vázquez Rodríguez \n" +"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.4\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Factura" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "Venda" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +#, fuzzy +msgid "Sale Autoconfirm" +msgstr "Autoconfirmar venda" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +#, fuzzy +msgid "Sales Order" +msgstr "Vendas" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "Tipo" + +#~ msgid "Analytic Account" +#~ msgstr "Conta analítica" + +#~ msgid "Create sales" +#~ msgstr "Crear vendas" + +#~ msgid "You must first select a Customer for Contract %s!" +#~ msgstr "Seleccione un cliente para este contrato %s!" + +#~ msgid "account.analytic.contract" +#~ msgstr "'account.analytic.contract'" + +#~ msgid "⇒ Show recurring sales" +#~ msgstr "⇒ Mostrar vendas recurrentes" diff --git a/contract_sale_generation/i18n/hi_IN.po b/contract_sale_generation/i18n/hi_IN.po new file mode 100644 index 0000000000..0c54f3f7da --- /dev/null +++ b/contract_sale_generation/i18n/hi_IN.po @@ -0,0 +1,109 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# Ashish Deshmukh , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 01:41+0000\n" +"PO-Revision-Date: 2017-11-30 01:41+0000\n" +"Last-Translator: Ashish Deshmukh , 2017\n" +"Language-Team: Hindi (India) (https://www.transifex.com/oca/teams/23907/" +"hi_IN/)\n" +"Language: hi_IN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "चालान" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "विश्लेषणात्मक खाता" diff --git a/contract_sale_generation/i18n/hr.po b/contract_sale_generation/i18n/hr.po new file mode 100644 index 0000000000..8ccef407b0 --- /dev/null +++ b/contract_sale_generation/i18n/hr.po @@ -0,0 +1,131 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 12:19+0000\n" +"PO-Revision-Date: 2018-04-03 12:19+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Račun" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "Prodaja" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +#, fuzzy +msgid "Sale Autoconfirm" +msgstr "Automatski potvrdi ponude" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +#, fuzzy +msgid "Sales Order" +msgstr "Prodaje" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "Tip" + +#~ msgid "Analytic Account" +#~ msgstr "Analitički konto" + +#~ msgid "Create sales" +#~ msgstr "Kreiraj ponude" + +#~ msgid "You must first select a Customer for Contract %s!" +#~ msgstr "Prvo morate odabrati partnera ua ugovor %s!" + +#~ msgid "account.analytic.contract" +#~ msgstr "account.analytic.contract" + +#~ msgid "⇒ Show recurring sales" +#~ msgstr "⇒ Prikaži ponavljajuće ponude" + +#~ msgid "" +#~ "You must review start and end dates!\n" +#~ "%s" +#~ msgstr "" +#~ "Morate revidirati početni i završni datum ugovora!!\n" +#~ "%s" diff --git a/contract_sale_generation/i18n/hr_HR.po b/contract_sale_generation/i18n/hr_HR.po new file mode 100644 index 0000000000..98f27645fe --- /dev/null +++ b/contract_sale_generation/i18n/hr_HR.po @@ -0,0 +1,117 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 12:19+0000\n" +"PO-Revision-Date: 2018-04-03 12:19+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/" +"hr_HR/)\n" +"Language: hr_HR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Račun" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "Konto analitike" + +#~ msgid "You must first select a Customer for Contract %s!" +#~ msgstr "Prvo morate odabrati partnera za Ugovor %s!" + +#~ msgid "account.analytic.contract" +#~ msgstr "account.analytic.contract" diff --git a/contract_sale_generation/i18n/hu.po b/contract_sale_generation/i18n/hu.po new file mode 100644 index 0000000000..4176a5abb5 --- /dev/null +++ b/contract_sale_generation/i18n/hu.po @@ -0,0 +1,108 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 01:41+0000\n" +"PO-Revision-Date: 2017-11-30 01:41+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "Analitikus gyűjtőkód könyvelés" diff --git a/contract_sale_generation/i18n/it.po b/contract_sale_generation/i18n/it.po new file mode 100644 index 0000000000..b181b7735f --- /dev/null +++ b/contract_sale_generation/i18n/it.po @@ -0,0 +1,113 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +# Lorenzo Battistini , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 12:19+0000\n" +"PO-Revision-Date: 2023-02-01 16:50+0000\n" +"Last-Translator: Francesco Foresti \n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.14.1\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "Contratto ricorrente astratto" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "CREA ORDINI" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "Contratto" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "Riga contratto" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "Riga contratto da sostituire" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "Genera vendite ricorrenti dai contratti" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Fattura" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "Vendite/fatture ricorrenti" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "Vendita" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "Conferma automatica ordine" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "Conteggio vendite" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "Ordine di vendita" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "Riga ordine di vendita" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "Tipo" + +#~ msgid "Analytic Account" +#~ msgstr "Conto Analitico" + +#~ msgid "You must first select a Customer for Contract %s!" +#~ msgstr "Bisogna prima selezionare un cliente per il contratto %s!" diff --git a/contract_sale_generation/i18n/nl.po b/contract_sale_generation/i18n/nl.po new file mode 100644 index 0000000000..c8c30e5c2f --- /dev/null +++ b/contract_sale_generation/i18n/nl.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +# Erwin van der Ploeg , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 12:19+0000\n" +"PO-Revision-Date: 2018-04-03 12:19+0000\n" +"Last-Translator: Erwin van der Ploeg , 2017\n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Factuur" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "Kostenplaats" + +#~ msgid "You must first select a Customer for Contract %s!" +#~ msgstr " Er moet eerst een klant worden ingesteld op contract %s!" diff --git a/contract_sale_generation/i18n/nl_NL.po b/contract_sale_generation/i18n/nl_NL.po new file mode 100644 index 0000000000..7f7c93d1e1 --- /dev/null +++ b/contract_sale_generation/i18n/nl_NL.po @@ -0,0 +1,106 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 01:41+0000\n" +"PO-Revision-Date: 2017-11-30 01:41+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Factuur" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" diff --git a/contract_sale_generation/i18n/pt.po b/contract_sale_generation/i18n/pt.po new file mode 100644 index 0000000000..f6e38146c7 --- /dev/null +++ b/contract_sale_generation/i18n/pt.po @@ -0,0 +1,123 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +# Pedro Castro Silva , 2017 +# Pedro Castro Silva , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 12:19+0000\n" +"PO-Revision-Date: 2018-04-03 12:19+0000\n" +"Last-Translator: Pedro Castro Silva , 2017\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Fatura" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "Conta Analítica" + +#~ msgid "You must first select a Customer for Contract %s!" +#~ msgstr "Deve primeiro selecionar um Cliente para o Contrato %s!" + +#~ msgid "account.analytic.contract" +#~ msgstr "account.analytic.contract" + +#~ msgid "" +#~ "You must review start and end dates!\n" +#~ "%s" +#~ msgstr "" +#~ "Tem que rever as datas de início e fim!\n" +#~ "%s" diff --git a/contract_sale_generation/i18n/pt_BR.po b/contract_sale_generation/i18n/pt_BR.po new file mode 100644 index 0000000000..451ef6f645 --- /dev/null +++ b/contract_sale_generation/i18n/pt_BR.po @@ -0,0 +1,116 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +# Albert Vonpupp , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 12:19+0000\n" +"PO-Revision-Date: 2020-11-06 08:08+0000\n" +"Last-Translator: Eder Brito \n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/" +"23907/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 3.10\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "Contrato Recorrente Abstrato" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "CRIAR VENDAS" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "Contrato" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "Linha do Contrato" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "Linha do Contrato para substituir" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" +"Contratar pedido de venda manual: Pedido de Venda" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "Gerar vendas recorrentes a partir de Contratos" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Fatura" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "Vendas/Faturas Recorrentes" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "Venda" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "Autoconfirmar Venda" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "Contagem de Venda" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "Pedidos de Venda" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "Linhas dos Pedidos de Venda" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "Tipo" + +#~ msgid "Analytic Account" +#~ msgstr "Conta Analítica" + +#~ msgid "You must first select a Customer for Contract %s!" +#~ msgstr "Primeiro você deve selecionar um Cliente para o contrato %s!" diff --git a/contract_sale_generation/i18n/pt_PT.po b/contract_sale_generation/i18n/pt_PT.po new file mode 100644 index 0000000000..853d22735c --- /dev/null +++ b/contract_sale_generation/i18n/pt_PT.po @@ -0,0 +1,109 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 01:41+0000\n" +"PO-Revision-Date: 2017-11-30 01:41+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/" +"teams/23907/pt_PT/)\n" +"Language: pt_PT\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "Conta Analítica" diff --git a/contract_sale_generation/i18n/ro.po b/contract_sale_generation/i18n/ro.po new file mode 100644 index 0000000000..3e531655b2 --- /dev/null +++ b/contract_sale_generation/i18n/ro.po @@ -0,0 +1,110 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +# Dorin Hongu , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-06 03:17+0000\n" +"PO-Revision-Date: 2018-01-06 03:17+0000\n" +"Last-Translator: Dorin Hongu , 2018\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Factura" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "Cont analitic" diff --git a/contract_sale_generation/i18n/ru.po b/contract_sale_generation/i18n/ru.po new file mode 100644 index 0000000000..f6009cd0e3 --- /dev/null +++ b/contract_sale_generation/i18n/ru.po @@ -0,0 +1,119 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# Мед Ведь , 2017 +# nek, 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 12:19+0000\n" +"PO-Revision-Date: 2018-04-03 12:19+0000\n" +"Last-Translator: nek, 2018\n" +"Language-Team: Russian (https://www.transifex.com/oca/teams/23907/ru/)\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Счёт-фактура" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "Продажа" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +#, fuzzy +msgid "Sales Order" +msgstr "Продажи" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "Аналитический счет" + +#~ msgid "" +#~ "You must review start and end dates!\n" +#~ "%s" +#~ msgstr "" +#~ "Вы должны проверить даты начала и окончания!\n" +#~ "%s" diff --git a/contract_sale_generation/i18n/sk_SK.po b/contract_sale_generation/i18n/sk_SK.po new file mode 100644 index 0000000000..7ab8517da6 --- /dev/null +++ b/contract_sale_generation/i18n/sk_SK.po @@ -0,0 +1,109 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 01:41+0000\n" +"PO-Revision-Date: 2017-11-30 01:41+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovak (Slovakia) (https://www.transifex.com/oca/teams/23907/" +"sk_SK/)\n" +"Language: sk_SK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "Analytický účet" diff --git a/contract_sale_generation/i18n/sl.po b/contract_sale_generation/i18n/sl.po new file mode 100644 index 0000000000..d464cb94cc --- /dev/null +++ b/contract_sale_generation/i18n/sl.po @@ -0,0 +1,109 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 01:41+0000\n" +"PO-Revision-Date: 2017-11-30 01:41+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "Analitični konto" diff --git a/contract_sale_generation/i18n/tr.po b/contract_sale_generation/i18n/tr.po new file mode 100644 index 0000000000..3b9e81b021 --- /dev/null +++ b/contract_sale_generation/i18n/tr.po @@ -0,0 +1,129 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# Ediz Duman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-21 01:47+0000\n" +"PO-Revision-Date: 2018-04-21 01:47+0000\n" +"Last-Translator: Ediz Duman , 2017\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Fatura" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "Satış" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +#, fuzzy +msgid "Sale Autoconfirm" +msgstr "Satış otomatik onaylama" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +#, fuzzy +msgid "Sales Order" +msgstr "Satışlar" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "Türü" + +#~ msgid "Analytic Account" +#~ msgstr "Analitik Hesap" + +#~ msgid "Create sales" +#~ msgstr "Satış Oluşturun" + +#~ msgid "You must first select a Customer for Contract %s!" +#~ msgstr "Önce Sözleşme %s için bir Müşteri seçmelisiniz!" + +#~ msgid "account.analytic.contract" +#~ msgstr "account.analytic.contract" + +#~ msgid "⇒ Show recurring sales" +#~ msgstr "⇒ Tekrarlayan Satışları Göster" + +#~ msgid "" +#~ "You must review start and end dates!\n" +#~ "%s" +#~ msgstr "" +#~ "Başlangıç ve bitiş tarihlerini incelemelisiniz!\n" +#~ "%s" diff --git a/contract_sale_generation/i18n/tr_TR.po b/contract_sale_generation/i18n/tr_TR.po new file mode 100644 index 0000000000..094451a4e5 --- /dev/null +++ b/contract_sale_generation/i18n/tr_TR.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# Ediz Duman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 12:19+0000\n" +"PO-Revision-Date: 2018-04-03 12:19+0000\n" +"Last-Translator: Ediz Duman , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/" +"tr_TR/)\n" +"Language: tr_TR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "Fatura" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "Analitik Hesap" + +#~ msgid "You must first select a Customer for Contract %s!" +#~ msgstr "Önce bir Müşteri Sözleşmesi seçmelisiniz %s!" diff --git a/contract_sale_generation/i18n/zh_CN.po b/contract_sale_generation/i18n/zh_CN.po new file mode 100644 index 0000000000..90cc1ca5ed --- /dev/null +++ b/contract_sale_generation/i18n/zh_CN.po @@ -0,0 +1,109 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 01:41+0000\n" +"PO-Revision-Date: 2017-11-30 01:41+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/" +"zh_CN/)\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "CREATE SALES" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_line +msgid "Contract Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id +msgid "Contract Line to replace" +msgstr "" + +#. module: contract_sale_generation +#: code:addons/contract_sale_generation/models/contract.py:79 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server +#: model:ir.cron,cron_name:contract_sale_generation.contract_cron_for_sale +#: model:ir.cron,name:contract_sale_generation.contract_cron_for_sale +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Invoice" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Recurring Sales/Invoicing" +msgstr "" + +#. module: contract_sale_generation +#: selection:contract.abstract.contract,type:0 +#: selection:contract.contract,type:0 selection:contract.template,type:0 +msgid "Sale" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm +msgid "Sale Autoconfirm" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "" + +#. module: contract_sale_generation +#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form +msgid "Sales Order" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__type +msgid "Type" +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "核算科目" diff --git a/contract_sale_generation/models/__init__.py b/contract_sale_generation/models/__init__.py new file mode 100644 index 0000000000..69f40465fa --- /dev/null +++ b/contract_sale_generation/models/__init__.py @@ -0,0 +1,7 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import abstract_contract +from . import contract +from . import sale_order +from . import sale_order_line +from . import contract_line diff --git a/contract_sale_generation/models/abstract_contract.py b/contract_sale_generation/models/abstract_contract.py new file mode 100644 index 0000000000..b5d7dcd626 --- /dev/null +++ b/contract_sale_generation/models/abstract_contract.py @@ -0,0 +1,17 @@ +# Copyright 2017 Pesol () +# Copyright 2017 Angel Moya +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class ContractAbstractContract(models.AbstractModel): + _inherit = "contract.abstract.contract" + + sale_autoconfirm = fields.Boolean() + + @api.model + def _selection_generation_type(self): + res = super()._selection_generation_type() + res.append(("sale", "Sale")) + return res diff --git a/contract_sale_generation/models/contract.py b/contract_sale_generation/models/contract.py new file mode 100644 index 0000000000..e9ab9b1620 --- /dev/null +++ b/contract_sale_generation/models/contract.py @@ -0,0 +1,133 @@ +# © 2004-2010 OpenERP SA +# © 2014 Angel Moya +# © 2015 Pedro M. Baeza +# © 2016 Carlos Dauden +# Copyright 2016-2017 LasLabs Inc. +# Copyright 2017 Pesol () +# Copyright 2017 Angel Moya +# Copyright 2018 Therp BV . +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import _, api, fields, models + + +class ContractContract(models.Model): + _inherit = "contract.contract" + + sale_count = fields.Integer(compute="_compute_sale_count") + + def _prepare_sale(self, date_ref): + self.ensure_one() + sale = self.env["sale.order"].new( + { + "partner_id": self.partner_id, + "date_order": fields.Date.to_string(date_ref), + "origin": self.name, + "company_id": self.company_id.id, + "user_id": self.partner_id.user_id.id, + "analytic_account_id": self.group_id.id, + } + ) + if self.payment_term_id: + sale.payment_term_id = self.payment_term_id.id + if self.fiscal_position_id: + sale.fiscal_position_id = self.fiscal_position_id.id + return sale._convert_to_write(sale._cache) + + def _get_related_sales(self): + self.ensure_one() + sales = ( + self.env["sale.order.line"] + .search([("contract_line_id", "in", self.contract_line_ids.ids)]) + .mapped("order_id") + ) + return sales + + def _compute_sale_count(self): + for rec in self: + rec.sale_count = len(rec._get_related_sales()) + + def action_show_sales(self): + self.ensure_one() + tree_view = self.env.ref("sale.view_order_tree", raise_if_not_found=False) + form_view = self.env.ref("sale.view_order_form", raise_if_not_found=False) + action = { + "type": "ir.actions.act_window", + "name": "Sales Orders", + "res_model": "sale.order", + "view_type": "form", + "view_mode": "tree,kanban,form,calendar,pivot,graph,activity", + "domain": [("id", "in", self._get_related_sales().ids)], + } + if tree_view and form_view: + action["views"] = [(tree_view.id, "tree"), (form_view.id, "form")] + return action + + def recurring_create_sale(self): + """ + This method triggers the creation of the next sale order of the + contracts even if their next sale order date is in the future. + """ + sales = self._recurring_create_sale() + for sale_rec in sales: + self.message_post( + body=_( + "Contract manually sale order: " + '' + "Sale Order" + "" + ) + % {"model": sale_rec._name, "id": sale_rec.id} + ) + return sales + + def _prepare_recurring_sales_values(self, date_ref=False): + """ + This method builds the list of sales values to create, based on + the lines to sale of the contracts in self. + !!! The date of next invoice (recurring_next_date) is updated here !!! + :return: list of dictionaries (invoices values) + """ + sales_values = [] + for contract in self: + if not date_ref: + date_ref = contract.recurring_next_date + if not date_ref: + # this use case is possible when recurring_create_invoice is + # called for a finished contract + continue + contract_lines = contract._get_lines_to_invoice(date_ref) + if not contract_lines: + continue + sale_values = contract._prepare_sale(date_ref) + for line in contract_lines: + sale_values.setdefault("order_line", []) + invoice_line_values = line._prepare_sale_line( + sale_values=sale_values, + ) + if invoice_line_values: + sale_values["order_line"].append((0, 0, invoice_line_values)) + sales_values.append(sale_values) + contract_lines._update_recurring_next_date() + return sales_values + + def _recurring_create_sale(self, date_ref=False): + sales_values = self._prepare_recurring_sales_values(date_ref) + sale_orders = self.env["sale.order"].create(sales_values) + sale_orders_to_confirm = sale_orders.filtered( + lambda sale: sale.contract_auto_confirm + ) + sale_orders_to_confirm.action_confirm() + self._compute_recurring_next_date() + return sale_orders + + @api.model + def _get_recurring_create_func(self, create_type="invoice"): + res = super()._get_recurring_create_func(create_type=create_type) + if create_type == "sale": + return self.__class__._recurring_create_sale + return res + + @api.model + def cron_recurring_create_sale(self, date_ref=None): + return self._cron_recurring_create(date_ref, create_type="sale") diff --git a/contract_sale_generation/models/contract_line.py b/contract_sale_generation/models/contract_line.py new file mode 100644 index 0000000000..1837e91e79 --- /dev/null +++ b/contract_sale_generation/models/contract_line.py @@ -0,0 +1,54 @@ +# Copyright (C) 2020 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models + + +class ContractLine(models.Model): + _inherit = "contract.line" + + def _prepare_sale_line_vals(self, dates, order_id=False): + sale_line_vals = { + "product_id": self.product_id.id, + "product_uom_qty": self._get_quantity_to_invoice(*dates), + "product_uom": self.uom_id.id, + "discount": self.discount, + "contract_line_id": self.id, + "display_type": self.display_type, + } + if order_id: + sale_line_vals["order_id"] = order_id.id + return sale_line_vals + + def _prepare_sale_line(self, order_id=False, sale_values=False): + self.ensure_one() + dates = self._get_period_to_invoice( + self.last_date_invoiced, self.recurring_next_date + ) + sale_line_vals = self._prepare_sale_line_vals(dates, order_id=order_id) + + order_line = ( + self.env["sale.order.line"] + .with_company(self.contract_id.company_id.id) + .new(sale_line_vals) + ) + if sale_values and not order_id: + sale = ( + self.env["sale.order"] + .with_company(self.contract_id.company_id.id) + .new(sale_values) + ) + order_line.order_id = sale + # Get other order line values from product onchange + order_line._onchange_product_id_warning() + sale_line_vals = order_line._convert_to_write(order_line._cache) + # Insert markers + name = self._insert_markers(dates[0], dates[1]) + sale_line_vals.update( + { + "sequence": self.sequence, + "name": name, + "price_unit": self.price_unit, + } + ) + return sale_line_vals diff --git a/contract_sale_generation/models/sale_order.py b/contract_sale_generation/models/sale_order.py new file mode 100644 index 0000000000..fb94846778 --- /dev/null +++ b/contract_sale_generation/models/sale_order.py @@ -0,0 +1,24 @@ +# Copyright 2021 ACSONE SA/NV () +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + contract_auto_confirm = fields.Boolean( + compute="_compute_contract_auto_confirm", + help="This is a technical field in order to know if the order should" + "be automatically confirmed if generated by contract.", + ) + + def _compute_contract_auto_confirm(self): + sale_auto_confirm = self.filtered( + lambda sale: any( + line.contract_line_id.contract_id.sale_autoconfirm + for line in sale.order_line + ) + ) + sale_auto_confirm.contract_auto_confirm = True + (self - sale_auto_confirm).contract_auto_confirm = False diff --git a/contract_sale_generation/models/sale_order_line.py b/contract_sale_generation/models/sale_order_line.py new file mode 100644 index 0000000000..cb9451ce8c --- /dev/null +++ b/contract_sale_generation/models/sale_order_line.py @@ -0,0 +1,12 @@ +# Copyright (C) 2020 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class SaleOrderLine(models.Model): + _inherit = "sale.order.line" + + contract_line_id = fields.Many2one( + "contract.line", string="Contract Line", index=True + ) diff --git a/contract_sale_generation/readme/CONTRIBUTORS.rst b/contract_sale_generation/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..21cb886478 --- /dev/null +++ b/contract_sale_generation/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* Angel Moya +* Florent THOMAS +* Serpent Consulting Services Pvt. Ltd. +* Denis Roussel diff --git a/contract_sale_generation/readme/DESCRIPTION.rst b/contract_sale_generation/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..f8ff4d1939 --- /dev/null +++ b/contract_sale_generation/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module extends functionality of contracts to be able to generate sales +orders instead of invoices. diff --git a/contract_sale_generation/readme/USAGE.rst b/contract_sale_generation/readme/USAGE.rst new file mode 100644 index 0000000000..4f7623f664 --- /dev/null +++ b/contract_sale_generation/readme/USAGE.rst @@ -0,0 +1,7 @@ +To use this module, you need to: + +#. Go to Sales -> Contracts and select or create a new contract. +#. Fill fields for selecting the recurrency and invoice parameters: + + * Type defines document that contract will generate, can be "Sales" or "Invoices" + * Sale Autoconfirm, validate Sales Orders if type is "Sales" diff --git a/contract_sale_generation/static/description/icon.png b/contract_sale_generation/static/description/icon.png new file mode 100644 index 0000000000..3a0328b516 Binary files /dev/null and b/contract_sale_generation/static/description/icon.png differ diff --git a/contract_sale_generation/static/description/index.html b/contract_sale_generation/static/description/index.html new file mode 100644 index 0000000000..68d7d93288 --- /dev/null +++ b/contract_sale_generation/static/description/index.html @@ -0,0 +1,437 @@ + + + + + + +Contracts Management - Recurring Sales + + + +
+

Contracts Management - Recurring Sales

+ + +

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

+

This module extends functionality of contracts to be able to generate sales +orders instead of invoices.

+

Table of contents

+ +
+

Usage

+

To use this module, you need to:

+
    +
  1. Go to Sales -> Contracts and select or create a new contract.
  2. +
  3. Fill fields for selecting the recurrency and invoice parameters:
      +
    • Type defines document that contract will generate, can be “Sales” or “Invoices”
    • +
    • Sale Autoconfirm, validate Sales Orders if type is “Sales”
    • +
    +
  4. +
+
+
+

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.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • ACSONE SA/NV
  • +
  • PESOL
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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.

+

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

+
+
+
+ + diff --git a/contract_sale_generation/tests/__init__.py b/contract_sale_generation/tests/__init__.py new file mode 100644 index 0000000000..ea35715b01 --- /dev/null +++ b/contract_sale_generation/tests/__init__.py @@ -0,0 +1 @@ +from . import test_contract_sale diff --git a/contract_sale_generation/tests/common.py b/contract_sale_generation/tests/common.py new file mode 100644 index 0000000000..123822cc89 --- /dev/null +++ b/contract_sale_generation/tests/common.py @@ -0,0 +1,152 @@ +# © 2016 Carlos Dauden +# Copyright 2017 Pesol () +# Copyright 2017 Angel Moya +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from freezegun import freeze_time + +from odoo import fields +from odoo.tests import Form + + +def to_date(date): + return fields.Date.to_date(date) + + +class ContractSaleCommon: + # Use case : Prepare some data for current test case + + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) + cls.analytic_account = cls.env["account.analytic.account"].create( + { + "name": "Contracts", + "plan_id": cls.env.ref("analytic.analytic_plan_internal").id, + } + ) + cls.payment_term_id = cls.env.ref( + "account.account_payment_term_end_following_month" + ) + cls.fiscal_position_id = cls.env["account.fiscal.position"].create( + {"name": "Contracts"} + ) + contract_date = "2020-01-15" + cls.pricelist = cls.env["product.pricelist"].create( + { + "name": "pricelist for contract test", + } + ) + cls.partner = cls.env["res.partner"].create( + { + "name": "partner test contract", + "property_product_pricelist": cls.pricelist.id, + "property_payment_term_id": cls.payment_term_id.id, + "property_account_position_id": cls.fiscal_position_id.id, + "user_id": cls.env.user.id, + } + ) + cls.product_1 = cls.env.ref("product.product_product_1") + cls.product_1.taxes_id += cls.env["account.tax"].search( + [("type_tax_use", "=", "sale")], limit=1 + ) + cls.product_1.description_sale = "Test description sale" + cls.line_template_vals = { + "product_id": cls.product_1.id, + "name": "Test Contract Template", + "quantity": 1, + "uom_id": cls.product_1.uom_id.id, + "price_unit": 100, + "discount": 50, + "recurring_rule_type": "yearly", + "recurring_interval": 1, + "display_type": False, + } + cls.template_vals = { + "name": "Test Contract Template", + "contract_type": "sale", + "contract_line_ids": [ + (0, 0, cls.line_template_vals), + ], + } + cls.template = cls.env["contract.template"].create(cls.template_vals) + # For being sure of the applied price + cls.env["product.pricelist.item"].create( + { + "pricelist_id": cls.partner.property_product_pricelist.id, + "product_id": cls.product_1.id, + "compute_price": "formula", + "base": "list_price", + } + ) + cls.contract = cls.env["contract.contract"].create( + { + "name": "Test Contract", + "partner_id": cls.partner.id, + "pricelist_id": cls.partner.property_product_pricelist.id, + "generation_type": "sale", + "sale_autoconfirm": False, + "group_id": cls.analytic_account.id, + "date_start": "2020-01-15", + } + ) + cls.line_vals = { + "name": "Services from #START# to #END#", + "product_id": cls.product_1.id, + "uom_id": cls.product_1.uom_id.id, + "quantity": 1, + "price_unit": 100, + "discount": 50, + "recurring_rule_type": "monthly", + "recurring_interval": 1, + "date_start": "2020-01-01", + "recurring_next_date": "2020-01-15", + "display_type": False, + } + discount_line_group_id = cls.env.ref("product.group_discount_per_so_line") + uom_group_id = cls.env.ref("uom.group_uom") + cls.env.user.groups_id = [(4, discount_line_group_id.id), (4, uom_group_id.id)] + + with Form(cls.contract) as contract_form, freeze_time(contract_date): + contract_form.contract_template_id = cls.template + contract_form.line_recurrence = True + with contract_form.contract_line_ids.new() as line_form: + line_form.product_id = cls.product_1 + line_form.name = "Services from #START# to #END#" + line_form.quantity = 1 + line_form.price_unit = 100.0 + line_form.discount = 50 + line_form.recurring_rule_type = "monthly" + line_form.recurring_interval = 1 + line_form.date_start = "2020-01-15" + line_form.recurring_next_date = "2020-01-15" + cls.contract_line = cls.contract.contract_line_ids[1] + + cls.contract2 = cls.env["contract.contract"].create( + { + "name": "Test Contract 2", + "generation_type": "sale", + "partner_id": cls.partner.id, + "pricelist_id": cls.partner.property_product_pricelist.id, + "contract_type": "purchase", + "contract_line_ids": [ + ( + 0, + 0, + { + "product_id": cls.product_1.id, + "name": "Services from #START# to #END#", + "quantity": 1, + "uom_id": cls.product_1.uom_id.id, + "price_unit": 100, + "discount": 50, + "recurring_rule_type": "monthly", + "recurring_interval": 1, + "date_start": "2018-02-15", + "recurring_next_date": "2018-02-22", + "display_type": False, + }, + ) + ], + } + ) diff --git a/contract_sale_generation/tests/test_contract_sale.py b/contract_sale_generation/tests/test_contract_sale.py new file mode 100644 index 0000000000..2668dad664 --- /dev/null +++ b/contract_sale_generation/tests/test_contract_sale.py @@ -0,0 +1,151 @@ +# © 2016 Carlos Dauden +# Copyright 2017 Pesol () +# Copyright 2017 Angel Moya +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.exceptions import ValidationError +from odoo.tests.common import TransactionCase + +from .common import ContractSaleCommon, to_date + + +class TestContractSale(ContractSaleCommon, TransactionCase): + def test_check_discount(self): + with self.assertRaises(ValidationError): + self.contract_line.write({"discount": 120}) + + def test_contract(self): + recurring_next_date = to_date("2020-02-15") + self.assertAlmostEqual(self.contract_line.price_subtotal, 50.0) + self.contract_line.price_unit = 100.0 + self.contract.partner_id = self.partner.id + self.contract.recurring_create_sale() + self.sale_monthly = self.contract._get_related_sales() + self.assertTrue(self.sale_monthly) + self.assertEqual(self.contract_line.recurring_next_date, recurring_next_date) + self.order_line = self.sale_monthly.order_line[0] + self.assertTrue(self.order_line.tax_id) + self.assertAlmostEqual(self.order_line.price_subtotal, 50.0) + self.assertEqual(self.contract.user_id, self.sale_monthly.user_id) + + def test_contract_autoconfirm(self): + recurring_next_date = to_date("2020-02-15") + self.contract.sale_autoconfirm = True + self.assertAlmostEqual(self.contract_line.price_subtotal, 50.0) + self.contract_line.price_unit = 100.0 + self.contract.partner_id = self.partner.id + self.contract.recurring_create_sale() + self.sale_monthly = self.contract._get_related_sales() + self.assertTrue(self.sale_monthly) + self.assertEqual(self.contract_line.recurring_next_date, recurring_next_date) + self.order_line = self.sale_monthly.order_line[0] + self.assertTrue(self.order_line.tax_id) + self.assertAlmostEqual(self.order_line.price_subtotal, 50.0) + self.assertEqual(self.contract.user_id, self.sale_monthly.user_id) + + def test_onchange_contract_template_id(self): + """It should change the contract values to match the template.""" + self.contract.contract_template_id = False + self.contract._onchange_contract_template_id() + self.contract.contract_template_id = self.template + self.contract._onchange_contract_template_id() + res = { + "contract_type": "sale", + "contract_line_ids": [ + ( + 0, + 0, + { + "product_id": self.product_1.id, + "name": "Test Contract Template", + "quantity": 1, + "uom_id": self.product_1.uom_id.id, + "price_unit": 100, + "discount": 50, + "recurring_rule_type": "yearly", + "recurring_interval": 1, + "display_type": False, + }, + ) + ], + } + del self.template_vals["name"] + self.assertDictEqual(res, self.template_vals) + + def test_contract_count_sale(self): + self.contract.recurring_create_sale() + self.contract.recurring_create_sale() + self.contract.recurring_create_sale() + self.contract._compute_sale_count() + self.assertEqual(self.contract.sale_count, 3) + + def test_contract_count_sale_2(self): + orders = self.env["sale.order"] + orders |= self.contract.recurring_create_sale() + orders |= self.contract.recurring_create_sale() + orders |= self.contract.recurring_create_sale() + action = self.contract.action_show_sales() + self.assertEqual(set(action["domain"][0][2]), set(orders.ids)) + + def test_cron_recurring_create_sale(self): + self.contract_line.date_start = "2020-01-01" + self.contract_line.recurring_invoicing_type = "post-paid" + self.contract_line.date_end = "2020-03-15" + self.contract_line._onchange_is_auto_renew() + # If we do not recompute recurring_next_date + # then it maintains it's 'old' value. + # TODO: Research that + recurring_next_date = self.contract_line.recurring_next_date + self.assertGreaterEqual(recurring_next_date, self.contract_line.date_start) + contracts = self.contract2 + for _i in range(10): + contracts |= self.contract.copy({"generation_type": "sale"}) + self.env["contract.contract"]._cron_recurring_create(create_type="sale") + order_lines = self.env["sale.order.line"].search( + [("contract_line_id", "in", contracts.mapped("contract_line_ids").ids)] + ) + self.assertEqual( + len(contracts.mapped("contract_line_ids")), + len(order_lines), + ) + + def test_contract_sale_analytic_payment_term_fiscal_position(self): + # Call onchange in order to retrieve + # payment term and fiscal position + self.contract._onchange_partner_id() + orders = self.env["sale.order"].browse() + orders |= self.contract.recurring_create_sale() + self.assertEqual(self.analytic_account, orders.mapped("analytic_account_id")) + self.assertEqual(self.payment_term_id, orders.mapped("payment_term_id")) + self.assertEqual(self.fiscal_position_id, orders.mapped("fiscal_position_id")) + + def test_recurring_method_retrieval(self): + self.assertNotEqual( + self.contract._get_recurring_create_func(create_type="sale"), + self.contract._get_recurring_create_func(create_type="invoice"), + ) + + def test__prepare_recurring_sales_values_no_date_ref(self): + self.contract.recurring_next_date = False + self.assertEqual(self.contract._prepare_recurring_sales_values(), []) + + def test__prepare_recurring_sales_values_no_contract_lines(self): + a_contract_with_no_lines = self.env["contract.contract"].create( + { + "name": "No lines Contract", + "partner_id": self.partner.id, + "generation_type": "sale", + "date_start": "2020-01-15", + } + ) + self.assertEqual(a_contract_with_no_lines._prepare_recurring_sales_values(), []) + + def test__prepare_sale_line_vals_with_order_id(self): + order = self.contract.recurring_create_sale()[0] + recurring_next_date = self.contract.recurring_next_date + date_start = self.contract.date_start + date_end = self.contract.date_end + dates = [date_start, date_end, recurring_next_date] + for line in self.contract._get_lines_to_invoice(recurring_next_date): + line_vals = line._prepare_sale_line_vals(dates, order) + self.assertEqual(line_vals["order_id"], order.id) diff --git a/contract_sale_generation/tests/test_contract_sale_recurrency.py b/contract_sale_generation/tests/test_contract_sale_recurrency.py new file mode 100644 index 0000000000..5c63a9e764 --- /dev/null +++ b/contract_sale_generation/tests/test_contract_sale_recurrency.py @@ -0,0 +1,73 @@ +# Copyright 2022 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from freezegun.api import freeze_time + +from odoo import fields +from odoo.tests import Form +from odoo.tests.common import TransactionCase + +from .common import ContractSaleCommon + +today = "2020-01-15" + + +class TestContractSale(ContractSaleCommon, TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.contract_obj = cls.env["contract.contract"] + + @classmethod + def _create_contract(cls): + cls.contract = cls.contract.create( + { + "name": "Test Contract", + "partner_id": cls.partner.id, + } + ) + with Form(cls.contract) as contract_form: + contract_form.partner_id = cls.partner + contract_form.generation_type = "sale" + contract_form.group_id = cls.analytic_account + cls.contract = contract_form.save() + + def test_contract_next_date(self): + """ + Change recurrence to weekly + Check the recurring next date value on lines + """ + with freeze_time(today): + self._create_contract() + self.contract.recurring_rule_type = "weekly" + with freeze_time(today): + with Form(self.contract) as contract_form: + with contract_form.contract_line_ids.new() as line_form: + line_form.product_id = self.product_1 + line_form.name = "Services from #START# to #END#" + line_form.quantity = 1 + line_form.price_unit = 100.0 + line_form.discount = 50 + line_form.recurring_rule_type = "weekly" + + with freeze_time(today): + with Form(self.contract) as contract_form: + with contract_form.contract_line_ids.new() as line_form: + line_form.product_id = self.product_1 + line_form.name = "Services from #START# to #END#" + line_form.quantity = 2 + line_form.price_unit = 50.0 + line_form.recurring_rule_type = "weekly" + + self.assertEqual( + fields.Date.to_date("2020-01-15"), self.contract.recurring_next_date + ) + + self.contract.recurring_create_sale() + self.assertEqual( + fields.Date.to_date("2020-01-22"), self.contract.recurring_next_date + ) + self.contract.recurring_create_sale() + self.assertEqual( + fields.Date.to_date("2020-01-29"), self.contract.recurring_next_date + ) diff --git a/contract_sale_generation/views/contract.xml b/contract_sale_generation/views/contract.xml new file mode 100644 index 0000000000..02e0468090 --- /dev/null +++ b/contract_sale_generation/views/contract.xml @@ -0,0 +1,36 @@ + + + contract.contract.form.recurring.sale.form + contract.contract + + + + + + + + + + + diff --git a/setup/contract_sale_generation/odoo/addons/contract_sale_generation b/setup/contract_sale_generation/odoo/addons/contract_sale_generation new file mode 120000 index 0000000000..b26b97f4c7 --- /dev/null +++ b/setup/contract_sale_generation/odoo/addons/contract_sale_generation @@ -0,0 +1 @@ +../../../../contract_sale_generation \ No newline at end of file diff --git a/setup/contract_sale_generation/setup.py b/setup/contract_sale_generation/setup.py new file mode 100644 index 0000000000..28c57bb640 --- /dev/null +++ b/setup/contract_sale_generation/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)