From d858e105da4dfa2bd3437a31cc820f56be42eef2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20Nu=C3=B1ez?= Date: Sat, 8 Feb 2025 19:44:57 -0300 Subject: [PATCH 1/3] ADD sale-generation --- contract_sale_generation/README.rst | 92 ++++ contract_sale_generation/__init__.py | 1 + contract_sale_generation/__manifest__.py | 19 + .../data/contract_cron.xml | 13 + contract_sale_generation/i18n/ca.po | 135 ++++++ .../i18n/contract_sale_generation.pot | 106 +++++ contract_sale_generation/i18n/de.po | 135 ++++++ contract_sale_generation/i18n/el_GR.po | 115 +++++ contract_sale_generation/i18n/es.po | 145 ++++++ contract_sale_generation/i18n/es_AR.po | 128 +++++ contract_sale_generation/i18n/es_MX.po | 115 +++++ contract_sale_generation/i18n/fi.po | 135 ++++++ contract_sale_generation/i18n/fr.po | 155 +++++++ contract_sale_generation/i18n/gl.po | 135 ++++++ contract_sale_generation/i18n/hi_IN.po | 118 +++++ contract_sale_generation/i18n/hr.po | 145 ++++++ contract_sale_generation/i18n/hr_HR.po | 126 +++++ contract_sale_generation/i18n/hu.po | 114 +++++ contract_sale_generation/i18n/it.po | 135 ++++++ contract_sale_generation/i18n/nl.po | 128 +++++ contract_sale_generation/i18n/nl_NL.po | 115 +++++ contract_sale_generation/i18n/pt.po | 132 ++++++ contract_sale_generation/i18n/pt_BR.po | 145 ++++++ contract_sale_generation/i18n/pt_PT.po | 115 +++++ contract_sale_generation/i18n/ro.po | 119 +++++ contract_sale_generation/i18n/ru.po | 128 +++++ contract_sale_generation/i18n/sk_SK.po | 115 +++++ contract_sale_generation/i18n/sl.po | 115 +++++ contract_sale_generation/i18n/tr.po | 141 ++++++ contract_sale_generation/i18n/tr_TR.po | 121 +++++ contract_sale_generation/i18n/zh_CN.po | 115 +++++ contract_sale_generation/models/__init__.py | 7 + .../models/abstract_contract.py | 15 + contract_sale_generation/models/contract.py | 133 ++++++ .../models/contract_line.py | 54 +++ contract_sale_generation/models/sale_order.py | 24 + .../models/sale_order_line.py | 12 + .../readme/CONTRIBUTORS.rst | 4 + .../readme/DESCRIPTION.rst | 2 + contract_sale_generation/readme/USAGE.rst | 7 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 438 ++++++++++++++++++ contract_sale_generation/tests/__init__.py | 1 + contract_sale_generation/tests/common.py | 152 ++++++ .../tests/test_contract_sale.py | 151 ++++++ .../tests/test_contract_sale_recurrency.py | 73 +++ contract_sale_generation/views/contract.xml | 36 ++ 47 files changed, 4665 insertions(+) create mode 100644 contract_sale_generation/README.rst create mode 100644 contract_sale_generation/__init__.py create mode 100644 contract_sale_generation/__manifest__.py create mode 100644 contract_sale_generation/data/contract_cron.xml create mode 100644 contract_sale_generation/i18n/ca.po create mode 100644 contract_sale_generation/i18n/contract_sale_generation.pot create mode 100644 contract_sale_generation/i18n/de.po create mode 100644 contract_sale_generation/i18n/el_GR.po create mode 100644 contract_sale_generation/i18n/es.po create mode 100644 contract_sale_generation/i18n/es_AR.po create mode 100644 contract_sale_generation/i18n/es_MX.po create mode 100644 contract_sale_generation/i18n/fi.po create mode 100644 contract_sale_generation/i18n/fr.po create mode 100644 contract_sale_generation/i18n/gl.po create mode 100644 contract_sale_generation/i18n/hi_IN.po create mode 100644 contract_sale_generation/i18n/hr.po create mode 100644 contract_sale_generation/i18n/hr_HR.po create mode 100644 contract_sale_generation/i18n/hu.po create mode 100644 contract_sale_generation/i18n/it.po create mode 100644 contract_sale_generation/i18n/nl.po create mode 100644 contract_sale_generation/i18n/nl_NL.po create mode 100644 contract_sale_generation/i18n/pt.po create mode 100644 contract_sale_generation/i18n/pt_BR.po create mode 100644 contract_sale_generation/i18n/pt_PT.po create mode 100644 contract_sale_generation/i18n/ro.po create mode 100644 contract_sale_generation/i18n/ru.po create mode 100644 contract_sale_generation/i18n/sk_SK.po create mode 100644 contract_sale_generation/i18n/sl.po create mode 100644 contract_sale_generation/i18n/tr.po create mode 100644 contract_sale_generation/i18n/tr_TR.po create mode 100644 contract_sale_generation/i18n/zh_CN.po create mode 100644 contract_sale_generation/models/__init__.py create mode 100644 contract_sale_generation/models/abstract_contract.py create mode 100644 contract_sale_generation/models/contract.py create mode 100644 contract_sale_generation/models/contract_line.py create mode 100644 contract_sale_generation/models/sale_order.py create mode 100644 contract_sale_generation/models/sale_order_line.py create mode 100644 contract_sale_generation/readme/CONTRIBUTORS.rst create mode 100644 contract_sale_generation/readme/DESCRIPTION.rst create mode 100644 contract_sale_generation/readme/USAGE.rst create mode 100644 contract_sale_generation/static/description/icon.png create mode 100644 contract_sale_generation/static/description/index.html create mode 100644 contract_sale_generation/tests/__init__.py create mode 100644 contract_sale_generation/tests/common.py create mode 100644 contract_sale_generation/tests/test_contract_sale.py create mode 100644 contract_sale_generation/tests/test_contract_sale_recurrency.py create mode 100644 contract_sale_generation/views/contract.xml diff --git a/contract_sale_generation/README.rst b/contract_sale_generation/README.rst new file mode 100644 index 0000000000..9a895ca5b0 --- /dev/null +++ b/contract_sale_generation/README.rst @@ -0,0 +1,92 @@ +====================================== +Contracts Management - Recurring Sales +====================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:f86ca92372fb642d644f7a98d63c9db3ed81232c8ad02ef4afa66bddc64ec2f6 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/16.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-16-0/contract-16-0-contract_sale_generation + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/contract&target_branch=16.0 + :alt: Try me on Runboat + +|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 to smash 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..ccfa6f6290 --- /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": "17.0.1.1.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..321d628348 --- /dev/null +++ b/contract_sale_generation/i18n/ca.po @@ -0,0 +1,135 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +msgstr "" + +#. 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.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 "Línia de contracte" + +#. module: contract_sale_generation +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "Generar vendes recurrents a partir de contractes" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "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,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 "" + +#~ msgid "Contract Line to replace" +#~ msgstr "Línia de contracte a substituir" + +#, python-format +#~ msgid "" +#~ "Contract manually sale order: Sale Order" +#~ msgstr "" +#~ "Contracte manualment la comanda de venda: Comanda de venda" + +#~ msgid "Invoice" +#~ msgstr "Factura" + +#~ msgid "Recurring Sales/Invoicing" +#~ msgstr "Vendes/Facturacions recurrents" + +#~ 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..7a5d76382c --- /dev/null +++ b/contract_sale_generation/i18n/contract_sale_generation.pot @@ -0,0 +1,106 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_sale_generation +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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..d883a6f18b --- /dev/null +++ b/contract_sale_generation/i18n/de.po @@ -0,0 +1,135 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 +#, 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,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 "" + +#~ msgid "Invoice" +#~ msgstr "Rechnung" + +#~ 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..e514936228 --- /dev/null +++ b/contract_sale_generation/i18n/el_GR.po @@ -0,0 +1,115 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "" + +#~ 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..cf2a27f824 --- /dev/null +++ b/contract_sale_generation/i18n/es.po @@ -0,0 +1,145 @@ +# 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: 2024-03-21 20:34+0000\n" +"Last-Translator: Ivorra78 \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" +"X-Generator: Weblate 4.17\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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +msgstr "Seleccione el documento que será generado por la acción planificada." + +#. 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 "Autoconfirmación de 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 +#. odoo-python +#: code:addons/contract_sale_generation/models/contract.py:0 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" +"Contrato manual de orden de venta: Orden de venta" + +#. 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 +msgid "Generate Recurring sales from Contracts" +msgstr "Generar ventas recurrentes a partir de contratos" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "Tipo de Generación" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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 +msgid "Sale Autoconfirm" +msgstr "Autoconfirmación de venta" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "Recuento de ventas" + +#. 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 "Orden 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 Orden 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 "" +"Se trata de un campo técnico para saber si la orden debe confirmarse " +"automáticamente si se genera por contrato." + +#~ msgid "Invoice" +#~ msgstr "Factura" + +#~ 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..e446d78006 --- /dev/null +++ b/contract_sale_generation/i18n/es_AR.po @@ -0,0 +1,128 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +msgstr "" + +#. 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 +#. odoo-python +#: 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 +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__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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 "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." + +#, python-format +#~ msgid "" +#~ "Contract manually sale order: Sale Order" +#~ msgstr "" +#~ "Pedido de ventas manual del contrato: Pedido de Ventas" + +#~ msgid "Display Name" +#~ msgstr "Mostrar Nombre" + +#~ msgid "ID" +#~ msgstr "ID" + +#~ msgid "Last Modified on" +#~ msgstr "Última Modificación el" diff --git a/contract_sale_generation/i18n/es_MX.po b/contract_sale_generation/i18n/es_MX.po new file mode 100644 index 0000000000..970a092304 --- /dev/null +++ b/contract_sale_generation/i18n/es_MX.po @@ -0,0 +1,115 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "" + +#~ 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..71f9224d4b --- /dev/null +++ b/contract_sale_generation/i18n/fi.po @@ -0,0 +1,135 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 +#, 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,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 "" + +#~ msgid "Invoice" +#~ msgstr "Lasku" + +#~ 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..2355387462 --- /dev/null +++ b/contract_sale_generation/i18n/fr.po @@ -0,0 +1,155 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +msgstr "" + +#. 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.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 "Ligne de Contrat" + +#. module: contract_sale_generation +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "Générer les ventes récurrentes depuis les Contrats" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "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,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 "" + +#~ msgid "Contract Line to replace" +#~ msgstr "Ligne de contrat à remplacer" + +#, python-format +#~ msgid "" +#~ "Contract manually sale order: Sale Order" +#~ msgstr "" +#~ "Création manuelle de la commande depuis le contrat : Commande" + +#~ msgid "Invoice" +#~ msgstr "Facture" + +#~ msgid "Recurring Sales/Invoicing" +#~ msgstr "Commandes / Factures Récurrentes" + +#~ 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..d2cc8a08ea --- /dev/null +++ b/contract_sale_generation/i18n/gl.po @@ -0,0 +1,135 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 +#, 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,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 "" + +#~ msgid "Invoice" +#~ msgstr "Factura" + +#~ 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..54307f22c7 --- /dev/null +++ b/contract_sale_generation/i18n/hi_IN.po @@ -0,0 +1,118 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "" + +#~ msgid "Invoice" +#~ 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..52c641c092 --- /dev/null +++ b/contract_sale_generation/i18n/hr.po @@ -0,0 +1,145 @@ +# 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: 2024-05-28 16:35+0000\n" +"Last-Translator: Bole \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" +"X-Generator: Weblate 4.17\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "Apstraktni ponavljajući ugovor" + +#. 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 "KREIRAJ PRODAJE" + +#. module: contract_sale_generation +#: model:ir.model.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +msgstr "Odaberite dokument koje će biti kreiran automatski kroz cron." + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "Ugovor" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order__contract_auto_confirm +msgid "Contract Auto Confirm" +msgstr "Automatsko potvrđivanje ugovora" + +#. 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 "Stavka ugovora" + +#. module: contract_sale_generation +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "Generiraj ponavljajuće prodajne naloge iz Ugovora" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "Tip generiranja" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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 "Broj prodaja" + +#. 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 "Prodajni nalog" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "Stavka prodajnog naloga" + +#. 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 "" +"Ovo je tehničko polje koje služi da znamo treba li nalog biti automatski " +"potvrđen ako je generiran iz ugovora." + +#~ msgid "Invoice" +#~ msgstr "Račun" + +#~ 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..24f0fa0303 --- /dev/null +++ b/contract_sale_generation/i18n/hr_HR.po @@ -0,0 +1,126 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "" + +#~ msgid "Invoice" +#~ msgstr "Račun" + +#~ 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..016134c370 --- /dev/null +++ b/contract_sale_generation/i18n/hu.po @@ -0,0 +1,114 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "" + +#~ 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..a32c2f5dac --- /dev/null +++ b/contract_sale_generation/i18n/it.po @@ -0,0 +1,135 @@ +# 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: 2024-05-06 14:42+0000\n" +"Last-Translator: mymage \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.17\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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +msgstr "Scegliere il documento che sarà generato automaticamente dal cron." + +#. 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.fields,field_description:contract_sale_generation.field_sale_order__contract_auto_confirm +msgid "Contract Auto Confirm" +msgstr "Auto conferma contratto" + +#. 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 "Riga contratto" + +#. module: contract_sale_generation +#. odoo-python +#: code:addons/contract_sale_generation/models/contract.py:0 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" +"Contratto manuale ordine vendita: Ordine di vendita" + +#. 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 +msgid "Generate Recurring sales from Contracts" +msgstr "Genera vendite ricorrenti dai contratti" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "Tipo generazione" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "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,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 "" +"Questo è un campo tecnico per sapere se l'ordine deve essere confermato " +"automaticamente se generato dal contratto." + +#~ msgid "Contract Line to replace" +#~ msgstr "Riga contratto da sostituire" + +#~ msgid "Invoice" +#~ msgstr "Fattura" + +#~ msgid "Recurring Sales/Invoicing" +#~ msgstr "Vendite/fatture ricorrenti" + +#~ 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..ad2f1b72d5 --- /dev/null +++ b/contract_sale_generation/i18n/nl.po @@ -0,0 +1,128 @@ +# 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: 2024-04-02 08:41+0000\n" +"Last-Translator: Thijs van Oers \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" +"X-Generator: Weblate 4.17\n" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_abstract_contract +msgid "Abstract Recurring Contract" +msgstr "Abstract terugkerend contract" + +#. 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 "Maak verkoopcontract aan" + +#. module: contract_sale_generation +#: model:ir.model.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +msgstr "" +"Kies het document dat automatisch wordt gegenereerd door de automatische " +"actie." + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_contract_contract +msgid "Contract" +msgstr "Contract" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order__contract_auto_confirm +msgid "Contract Auto Confirm" +msgstr "Automatische bevestiging contract" + +#. 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 "contract regel" + +#. module: contract_sale_generation +#. odoo-python +#: code:addons/contract_sale_generation/models/contract.py:0 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" +"Handmatig aangemaakt contract : Verkooporder" + +#. 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 +msgid "Generate Recurring sales from Contracts" +msgstr "Maak terugkerende verkopen aan vanuit contracten" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "Aanmaak soort" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +msgid "Sale" +msgstr "Verkoop" + +#. 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 "automatische bevestiging verkoop" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count +msgid "Sale Count" +msgstr "Verkoop aantal" + +#. 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 "verkooporder" + +#. module: contract_sale_generation +#: model:ir.model,name:contract_sale_generation.model_sale_order_line +msgid "Sales Order Line" +msgstr "orderregel" + +#. 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 "" +"Dit is een technisch veld om te weten of de order automatisch moet worden " +"bevestigd als deze is gegenereerd door een contract." + +#~ msgid "Invoice" +#~ msgstr "Factuur" + +#~ 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..ef10b3aa20 --- /dev/null +++ b/contract_sale_generation/i18n/nl_NL.po @@ -0,0 +1,115 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "" + +#~ msgid "Invoice" +#~ msgstr "Factuur" diff --git a/contract_sale_generation/i18n/pt.po b/contract_sale_generation/i18n/pt.po new file mode 100644 index 0000000000..7df1a4e1a3 --- /dev/null +++ b/contract_sale_generation/i18n/pt.po @@ -0,0 +1,132 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "" + +#~ msgid "Invoice" +#~ msgstr "Fatura" + +#~ 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..7bfb1984df --- /dev/null +++ b/contract_sale_generation/i18n/pt_BR.po @@ -0,0 +1,145 @@ +# 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: 2024-05-21 03:16+0000\n" +"Last-Translator: Rodrigo Macedo \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 4.17\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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +msgstr "Escolha o documento que será gerado automaticamente pelo cron." + +#. 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 "Confirmação automática do 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 "Linha do Contrato" + +#. module: contract_sale_generation +#. odoo-python +#: code:addons/contract_sale_generation/models/contract.py:0 +#, python-format +msgid "" +"Contract manually sale order: Sale Order" +msgstr "" +"Contratar manualmente o pedido de venda: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "Gerar vendas recorrentes a partir de Contratos" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "Tipo de Geração" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "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,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 é um campo técnico para saber se o pedido deve ser confirmado " +"automaticamente se gerado por contrato." + +#~ msgid "Contract Line to replace" +#~ msgstr "Linha do Contrato para substituir" + +#, python-format +#~ msgid "" +#~ "Contract manually sale order: Sale Order" +#~ msgstr "" +#~ "Contratar pedido de venda manual: Pedido de Venda" + +#~ msgid "Invoice" +#~ msgstr "Fatura" + +#~ msgid "Recurring Sales/Invoicing" +#~ msgstr "Vendas/Faturas Recorrentes" + +#~ 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..6cab708e70 --- /dev/null +++ b/contract_sale_generation/i18n/pt_PT.po @@ -0,0 +1,115 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "" + +#~ 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..5ae46555d1 --- /dev/null +++ b/contract_sale_generation/i18n/ro.po @@ -0,0 +1,119 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "" + +#~ msgid "Invoice" +#~ msgstr "Factura" + +#~ 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..62e99ab7a4 --- /dev/null +++ b/contract_sale_generation/i18n/ru.po @@ -0,0 +1,128 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 +#, 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,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 "" + +#~ msgid "Invoice" +#~ 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..ed4ba43157 --- /dev/null +++ b/contract_sale_generation/i18n/sk_SK.po @@ -0,0 +1,115 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "" + +#~ 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..cb7e5b0e26 --- /dev/null +++ b/contract_sale_generation/i18n/sl.po @@ -0,0 +1,115 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "" + +#~ 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..c0c28c1fa1 --- /dev/null +++ b/contract_sale_generation/i18n/tr.po @@ -0,0 +1,141 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 +#, 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,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 "" + +#~ msgid "Invoice" +#~ msgstr "Fatura" + +#~ 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..1890a82a98 --- /dev/null +++ b/contract_sale_generation/i18n/tr_TR.po @@ -0,0 +1,121 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "" + +#~ msgid "Invoice" +#~ msgstr "Fatura" + +#~ 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..3b1fc17231 --- /dev/null +++ b/contract_sale_generation/i18n/zh_CN.po @@ -0,0 +1,115 @@ +# 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.fields,help:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type +msgid "Choose the document that will be automatically generated by cron." +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 +#. odoo-python +#: 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 +msgid "Generate Recurring sales from Contracts" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_abstract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type +#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type +msgid "Generation Type" +msgstr "" + +#. module: contract_sale_generation +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_abstract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale +#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale +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: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 "" + +#~ 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..f9b56e3a52 --- /dev/null +++ b/contract_sale_generation/models/abstract_contract.py @@ -0,0 +1,15 @@ +# Copyright 2017 Pesol () +# Copyright 2017 Angel Moya +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ContractAbstractContract(models.AbstractModel): + _inherit = "contract.abstract.contract" + + sale_autoconfirm = fields.Boolean() + + generation_type = fields.Selection( + selection_add=[("sale", "Sale")], + ) 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 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 zcmW++2RxMjAAjx~&dlBk9S+%}OXg)AGE&Cb*&}d0jUxM@u(PQx^-s)697TX`ehR4?GS^qbkof1cslKgkU)h65qZ9Oc=ml_0temigYLJfnz{IDzUf>bGs4N!v3=Z3jMq&A#7%rM5eQ#dc?k~! zVpnB`o+K7|Al`Q_U;eD$B zfJtP*jH`siUq~{KE)`jP2|#TUEFGRryE2`i0**z#*^6~AI|YzIWy$Cu#CSLW3q=GA z6`?GZymC;dCPk~rBS%eCb`5OLr;RUZ;D`}um=H)BfVIq%7VhiMr)_#G0N#zrNH|__ zc+blN2UAB0=617@>_u;MPHN;P;N#YoE=)R#i$k_`UAA>WWCcEVMh~L_ zj--gtp&|K1#58Yz*AHCTMziU1Jzt_jG0I@qAOHsk$2}yTmVkBp_eHuY$A9)>P6o~I z%aQ?!(GqeQ-Y+b0I(m9pwgi(IIZZzsbMv+9w{PFtd_<_(LA~0H(xz{=FhLB@(1&qHA5EJw1>>=%q2f&^X>IQ{!GJ4e9U z&KlB)z(84HmNgm2hg2C0>WM{E(DdPr+EeU_N@57;PC2&DmGFW_9kP&%?X4}+xWi)( z;)z%wI5>D4a*5XwD)P--sPkoY(a~WBw;E~AW`Yue4kFa^LM3X`8x|}ZUeMnqr}>kH zG%WWW>3ml$Yez?i%)2pbKPI7?5o?hydokgQyZsNEr{a|mLdt;X2TX(#B1j35xPnPW z*bMSSOauW>o;*=kO8ojw91VX!qoOQb)zHJ!odWB}d+*K?#sY_jqPdg{Sm2HdYzdEx zOGVPhVRTGPtv0o}RfVP;Nd(|CB)I;*t&QO8h zFfekr30S!-LHmV_Su-W+rEwYXJ^;6&3|L$mMC8*bQptyOo9;>Qb9Q9`ySe3%V$A*9 zeKEe+b0{#KWGp$F+tga)0RtI)nhMa-K@JS}2krK~n8vJ=Ngm?R!9G<~RyuU0d?nz# z-5EK$o(!F?hmX*2Yt6+coY`6jGbb7tF#6nHA zuKk=GGJ;ZwON1iAfG$E#Y7MnZVmrY|j0eVI(DN_MNFJmyZ|;w4tf@=CCDZ#5N_0K= z$;R~bbk?}TpfDjfB&aiQ$VA}s?P}xPERJG{kxk5~R`iRS(SK5d+Xs9swCozZISbnS zk!)I0>t=A<-^z(cmSFz3=jZ23u13X><0b)P)^1T_))Kr`e!-pb#q&J*Q`p+B6la%C zuVl&0duN<;uOsB3%T9Fp8t{ED108<+W(nOZd?gDnfNBC3>M8WE61$So|P zVvqH0SNtDTcsUdzaMDpT=Ty0pDHHNL@Z0w$Y`XO z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1 zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_ zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8 zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ> zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}aRBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=@hbCRcfT5jigwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&BE*}XfU|H&(FssBqY=hPCt`d zH?@s2>I(|;fcW&YM6#V#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD z#z-)AXwSRY?OPefw^iI+ z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd z$6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$ z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV z@;rlc*NRK7i3y5BETSKuumEN`Xu_8GP1Ri=OKQ$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6 zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5#ZRj8kg}dS7_V&^%#Do==#`u zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK#HN`!1vBJHnC+RM&yIh8{gG2q zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH zVWo*OwYElb#uyW{Imam6f2rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+ z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC) zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#Boo{AH8n$a zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x! zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X zZ3WYJtHp_ri(}SQAPjv+Y+0=fH4krOP@S&=zZ-t1jW1o@}z;xk8 z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n= z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~NBvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z zzCR$P#uktu+#!w)cX!lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@ zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y< zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6 zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6% z2(}&uGRF;p92eS*sE*oR$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(| z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4PdpwWDop%^}n;dD#K4s#DYA8SHZ z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^WYu2u5kubqmwp%drJ6 z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d} z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&YOi-3|1QKB z z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zl&#s4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@QS0TEL_?njX|@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6# z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f# zuT7fvjSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv! zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8ul%rG z-wfS zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9 z^zP;K#|)$`^Rb{rnHGH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE# z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8etW=xJvni)8eHi`H$%#zn^WJ5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01Fmx5XbRo6+n|pP(&nodMoap^z{~q ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k zQ^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1 zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}26NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$ zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV( z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4 z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_NhT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{ zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*vIg?@fVFSmMpaw0qtTRbx} z({Pg?#{2`sc9)M5N$*N|4;^t$+QP?#mov zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22 zc2Ix|App^>v6(3L_MCU0d3W##AB0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t< z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{} zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/contract_sale_generation/static/description/index.html b/contract_sale_generation/static/description/index.html new file mode 100644 index 0000000000..2761217479 --- /dev/null +++ b/contract_sale_generation/static/description/index.html @@ -0,0 +1,438 @@ + + + + + +Contracts Management - Recurring Sales + + + +
+

Contracts Management - Recurring Sales

+ + +

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

+

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 to smash 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 + + + + + + + + + + + From d93c17e58bd61db5e3ae17e7e4245c38397d1fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20Nu=C3=B1ez?= Date: Sun, 9 Feb 2025 00:26:54 -0300 Subject: [PATCH 2/3] Migrate version to 17 Sale Generation --- contract_sale_generation/__manifest__.py | 2 +- contract_sale_generation/models/contract.py | 9 +++++---- contract_sale_generation/models/sale_order.py | 8 +++++--- contract_sale_generation/views/contract.xml | 6 +++--- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/contract_sale_generation/__manifest__.py b/contract_sale_generation/__manifest__.py index ccfa6f6290..041511f5c4 100644 --- a/contract_sale_generation/__manifest__.py +++ b/contract_sale_generation/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Contracts Management - Recurring Sales", - "version": "17.0.1.1.0", + "version": "17.0.1.0.0", "category": "Contract Management", "license": "AGPL-3", "author": "ACSONE SA/NV, PESOL, Odoo Community Association (OCA)", diff --git a/contract_sale_generation/models/contract.py b/contract_sale_generation/models/contract.py index e9ab9b1620..be0c37c564 100644 --- a/contract_sale_generation/models/contract.py +++ b/contract_sale_generation/models/contract.py @@ -16,6 +16,11 @@ class ContractContract(models.Model): sale_count = fields.Integer(compute="_compute_sale_count") + @api.depends('contract_line_ids.order_id') + def _compute_sale_count(self): + for rec in self: + rec.sale_count = len(rec._get_related_sales()) + def _prepare_sale(self, date_ref): self.ensure_one() sale = self.env["sale.order"].new( @@ -43,10 +48,6 @@ def _get_related_sales(self): ) 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) diff --git a/contract_sale_generation/models/sale_order.py b/contract_sale_generation/models/sale_order.py index fb94846778..cf061477bd 100644 --- a/contract_sale_generation/models/sale_order.py +++ b/contract_sale_generation/models/sale_order.py @@ -1,7 +1,7 @@ # Copyright 2021 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import fields, models +from odoo import api, fields, models class SaleOrder(models.Model): @@ -9,10 +9,11 @@ class SaleOrder(models.Model): 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.", + help="This is a technical field in order to know if the order should " + "be automatically confirmed if generated by contract.", ) + @api.depends('order_line.contract_line_id.contract_id.sale_autoconfirm') def _compute_contract_auto_confirm(self): sale_auto_confirm = self.filtered( lambda sale: any( @@ -22,3 +23,4 @@ def _compute_contract_auto_confirm(self): ) sale_auto_confirm.contract_auto_confirm = True (self - sale_auto_confirm).contract_auto_confirm = False + diff --git a/contract_sale_generation/views/contract.xml b/contract_sale_generation/views/contract.xml index 02e0468090..7c589d3ba8 100644 --- a/contract_sale_generation/views/contract.xml +++ b/contract_sale_generation/views/contract.xml @@ -6,13 +6,13 @@