From 86a5b1153b9a30fbd4c61742cf4a9e96867cec2f Mon Sep 17 00:00:00 2001 From: Dave Lasley Date: Thu, 25 May 2017 17:51:46 -0700 Subject: [PATCH 01/47] [FIX] product_contract: Fix mock usage in tests --- product_contract/tests/test_sale_order.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/product_contract/tests/test_sale_order.py b/product_contract/tests/test_sale_order.py index 7ca4c099..98b174ff 100644 --- a/product_contract/tests/test_sale_order.py +++ b/product_contract/tests/test_sale_order.py @@ -20,6 +20,11 @@ class TestSaleOrder(TransactionCase): self.product.product_tmpl_id.is_contract = True self.product.product_tmpl_id.contract_template_id = self.contract.id + def tearDown(self): + self.env['account.analytic.account']._revert_method( + 'create', + ) + def test_action_done(self): """ It should create a contract when the sale for a contract is set to done for the first time """ From 77c04baf78e320839c180a6a4d05bc2657711267 Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sat, 27 May 2017 02:29:11 +0200 Subject: [PATCH 02/47] OCA Transbot updated translations from Transifex --- contract/i18n/tr.po | 98 ++++++++++++++------------- contract_show_invoice/i18n/tr.po | 40 +++++++++++ contract_variable_quantity/i18n/tr.po | 16 ++--- product_contract/i18n/tr.po | 51 ++++++++++++++ 4 files changed, 149 insertions(+), 56 deletions(-) create mode 100644 contract_show_invoice/i18n/tr.po create mode 100644 product_contract/i18n/tr.po diff --git a/contract/i18n/tr.po b/contract/i18n/tr.po index 72851702..5c593104 100644 --- a/contract/i18n/tr.po +++ b/contract/i18n/tr.po @@ -4,13 +4,14 @@ # # Translators: # OCA Transbot , 2016 +# Ediz Duman , 2016 msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" -"Last-Translator: OCA Transbot , 2016\n" +"POT-Creation-Date: 2017-05-13 09:15+0000\n" +"PO-Revision-Date: 2017-05-13 09:15+0000\n" +"Last-Translator: Ediz Duman , 2016\n" "Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,46 +23,46 @@ msgstr "" #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "#END#: End date of the invoiced period" -msgstr "" +msgstr "#SON#: Faturalanmış dönemin bitiş tarihi" #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "#START#: Start date of the invoiced period" -msgstr "" +msgstr "#BAŞLAMA#: Faturalandırılan süre başlangıç tarihi" #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "Account Analytic Lines" -msgstr "" +msgstr "Analitik Hesap Satırı" #. module: contract #: model:ir.model,name:contract.model_account_analytic_account #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_analytic_account_id msgid "Analytic Account" -msgstr "" +msgstr "Analitik Hesap" #. module: contract #: model:ir.actions.act_window,help:contract.account_analytic_contract_action msgid "Click to create a new contract template." -msgstr "" +msgstr "Yeni bir sözleşme şablonu oluşturmak için tıklayın." #. module: contract #: model:ir.actions.act_window,help:contract.action_account_analytic_overdue_all msgid "Click to create a new contract." -msgstr "" +msgstr "Yeni bir sözleşme oluşturmak için tıklayın." #. module: contract #: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id msgid "Contract" -msgstr "" +msgstr "Sözleşme" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_contract_template_id #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "Contract Template" -msgstr "" +msgstr "Sözleşme Şablonu" #. module: contract #: model:ir.actions.act_window,name:contract.account_analytic_contract_action @@ -69,19 +70,19 @@ msgstr "" #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_tree msgid "Contract Templates" -msgstr "" +msgstr "Sözleşme Şablonları" #. module: contract #: model:ir.actions.act_window,name:contract.action_account_analytic_overdue_all #: model:ir.ui.menu,name:contract.menu_action_account_analytic_overdue_all #: model:ir.ui.menu,name:contract.menu_config_contract msgid "Contracts" -msgstr "" +msgstr "Sözleşmeler" #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form msgid "Create invoices" -msgstr "" +msgstr "Faturalar oluştur" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_create_uid @@ -98,18 +99,18 @@ msgstr "Oluşturuldu" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_next_date msgid "Date of Next Invoice" -msgstr "" +msgstr "Sonraki Fatura Tarihi" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_date_start msgid "Date start" -msgstr "" +msgstr "Başlanma Tarihi" #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 msgid "Day(s)" -msgstr "" +msgstr "Gün(ler)" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_name @@ -119,13 +120,13 @@ msgstr "Açıklama" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_discount msgid "Discount (%)" -msgstr "" +msgstr "İndirim (%)" #. module: contract #: code:addons/contract/models/account_analytic_invoice_line.py:56 #, python-format msgid "Discount should be less or equal to 100" -msgstr "" +msgstr "İndirim 100'den az veya ona eşit olmalıdır" #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_invoice_line_discount @@ -133,22 +134,23 @@ msgid "" "Discount that is applied in generated invoices. It should be less or equal " "to 100" msgstr "" +"Üretilen faturalarda uygulanan indirim. 100'den az veya ona eşit olmalıdır" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_display_name #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_display_name msgid "Display Name" -msgstr "" +msgstr "Ad Görünümü" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoices msgid "Generate recurring invoices automatically" -msgstr "" +msgstr "Otomatik olarak tekrarlanan faturalar oluştur" #. module: contract #: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search msgid "Group By..." -msgstr "" +msgstr "Grupla ..." #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_id @@ -159,73 +161,73 @@ msgstr "ID" #. module: contract #: model:ir.model,name:contract.model_account_invoice msgid "Invoice" -msgstr "" +msgstr "Fatura" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoice_line_ids #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_invoice_line_ids #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "Invoice Lines" -msgstr "" +msgstr "Fatura Satırları" #. module: contract #: model:ir.actions.act_window,name:contract.act_recurring_invoices msgid "Invoices" -msgstr "" +msgstr "Faturalar" #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search msgid "Invoicing Type" -msgstr "" +msgstr "Fatura Türü" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoicing_type #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_invoicing_type msgid "Invoicing type" -msgstr "" +msgstr "Fatura türü" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_journal_id #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_journal_id #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search msgid "Journal" -msgstr "" +msgstr "Yevmiye" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_contract___last_update #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line___last_update msgid "Last Modified on" -msgstr "" +msgstr "Son Değiştirilme" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_write_uid #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_write_uid msgid "Last Updated by" -msgstr "Son güncelleyen" +msgstr "Son Güncelleyen" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_write_date #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_write_date msgid "Last Updated on" -msgstr "Son güncelleme" +msgstr "Son Güncelleme" #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "Legend (for the markers inside invoice lines description)" -msgstr "" +msgstr "Açıklamalar (fatura satırlarındaki tanımlayıcılar için)" #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 msgid "Month(s)" -msgstr "" +msgstr "Ay(lar)" #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 msgid "Month(s) last day" -msgstr "" +msgstr "Ay(lar) son günü" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_name @@ -235,13 +237,13 @@ msgstr "Adı" #. module: contract #: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search msgid "Next Invoice" -msgstr "" +msgstr "Sonraki Fatura" #. module: contract #: code:addons/contract/models/account_analytic_account.py:131 #, python-format msgid "Please define a sale journal for the company '%s'." -msgstr "" +msgstr "Lütfen '%s' firması için bir satış yevmiyesi tanımlayın." #. module: contract #: selection:account.analytic.account,recurring_invoicing_type:0 @@ -260,30 +262,30 @@ msgstr "" #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_pricelist_id #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search msgid "Pricelist" -msgstr "" +msgstr "Fiyat Listesi" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_product_id msgid "Product" -msgstr "" +msgstr "Ürün" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_quantity msgid "Quantity" -msgstr "" +msgstr "Miktar" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_rule_type #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search msgid "Recurrence" -msgstr "" +msgstr "Tekrarlayan" #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search msgid "Recurring Invoices" -msgstr "" +msgstr "Tekrarlayan Faturalar" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_interval @@ -312,35 +314,35 @@ msgstr "" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_price_subtotal msgid "Sub Total" -msgstr "" +msgstr "Alt Toplam" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_price_unit msgid "Unit Price" -msgstr "" +msgstr "Birim Fiyat" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_uom_id msgid "Unit of Measure" -msgstr "" +msgstr "Ölçü Birimi" #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 msgid "Week(s)" -msgstr "" +msgstr "Hafta(lar)" #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 msgid "Year(s)" -msgstr "" +msgstr "Yıl(lar)" #. module: contract #: code:addons/contract/models/account_analytic_account.py:123 #, python-format msgid "You must first select a Customer for Contract %s!" -msgstr "" +msgstr "Önce Sözleşme %s için bir Müşteri seçmelisiniz!" #. module: contract #: model:ir.model,name:contract.model_account_analytic_contract @@ -355,4 +357,4 @@ msgstr "" #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form msgid "⇒ Show recurring invoices" -msgstr "" +msgstr "⇒ Tekrarlayan Faturalar Göster" diff --git a/contract_show_invoice/i18n/tr.po b/contract_show_invoice/i18n/tr.po new file mode 100644 index 00000000..59e1ad9a --- /dev/null +++ b/contract_show_invoice/i18n/tr.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_show_invoice +# +# Translators: +# Ediz Duman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-13 09:15+0000\n" +"PO-Revision-Date: 2017-05-13 09:15+0000\n" +"Last-Translator: Ediz Duman , 2017\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: contract_show_invoice +#: model:ir.model.fields,field_description:contract_show_invoice.field_account_invoice_analytic_account_ids +msgid "Contracts" +msgstr "Sözleşmeler" + +#. module: contract_show_invoice +#: model:ir.model,name:contract_show_invoice.model_account_invoice +msgid "Invoice" +msgstr "Fatura" + +#. module: contract_show_invoice +#: model:ir.actions.act_window,name:contract_show_invoice.act_analytic_invoices +#: model:ir.ui.view,arch_db:contract_show_invoice.account_analytic_account_button_invoice +msgid "Invoices" +msgstr "Faturalar" + +#. module: contract_show_invoice +#: model:ir.ui.view,arch_db:contract_show_invoice.account_analytic_account_button_invoice +msgid "Invoices related with this contract" +msgstr "Bu sözleşme ile ilgili faturalar" diff --git a/contract_variable_quantity/i18n/tr.po b/contract_variable_quantity/i18n/tr.po index b6e4ecf4..875f1d5d 100644 --- a/contract_variable_quantity/i18n/tr.po +++ b/contract_variable_quantity/i18n/tr.po @@ -4,14 +4,14 @@ # # Translators: # OCA Transbot , 2016 -# Ahmet Altinisik , 2016 +# Ediz Duman , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0c\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-11 02:47+0000\n" -"PO-Revision-Date: 2016-09-11 02:47+0000\n" -"Last-Translator: Ahmet Altinisik , 2016\n" +"POT-Creation-Date: 2017-05-13 09:15+0000\n" +"PO-Revision-Date: 2017-05-13 09:15+0000\n" +"Last-Translator: Ediz Duman , 2017\n" "Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -61,7 +61,7 @@ msgstr "" #. module: contract_variable_quantity #: model:ir.model,name:contract_variable_quantity.model_account_analytic_account msgid "Analytic Account" -msgstr "" +msgstr "Analitik Hesap" #. module: contract_variable_quantity #: model:ir.actions.act_window,help:contract_variable_quantity.action_contract_quantity_formula @@ -87,7 +87,7 @@ msgstr "Oluşturuldu" #. module: contract_variable_quantity #: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_display_name msgid "Display Name" -msgstr "" +msgstr "Ad Görünümü" #. module: contract_variable_quantity #: code:addons/contract_variable_quantity/models/contract.py:64 @@ -126,7 +126,7 @@ msgstr "ID" #. module: contract_variable_quantity #: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula___last_update msgid "Last Modified on" -msgstr "" +msgstr "Son Değiştirilme" #. module: contract_variable_quantity #: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_write_uid diff --git a/product_contract/i18n/tr.po b/product_contract/i18n/tr.po new file mode 100644 index 00000000..9887463f --- /dev/null +++ b/product_contract/i18n/tr.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_contract +# +# Translators: +# Ediz Duman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-13 09:15+0000\n" +"PO-Revision-Date: 2017-05-13 09:15+0000\n" +"Last-Translator: Ediz Duman , 2017\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: product_contract +#: model:ir.model.fields,field_description:product_contract.field_sale_order_line_contract_id +msgid "Contract" +msgstr "Sözleşme" + +#. module: product_contract +#: model:ir.model.fields,field_description:product_contract.field_product_product_contract_template_id +#: model:ir.model.fields,field_description:product_contract.field_product_template_contract_template_id +msgid "Contract Template" +msgstr "Sözleşme Şablonu" + +#. module: product_contract +#: model:ir.model.fields,field_description:product_contract.field_product_product_is_contract +#: model:ir.model.fields,field_description:product_contract.field_product_template_is_contract +msgid "Is a contract" +msgstr "" + +#. module: product_contract +#: model:ir.model,name:product_contract.model_product_template +msgid "Product Template" +msgstr "" + +#. module: product_contract +#: model:ir.model,name:product_contract.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: product_contract +#: model:ir.model,name:product_contract.model_sale_order_line +msgid "Sales Order Line" +msgstr "" From c0bc0b333ac7d322eb162416005f1a7b7cff108c Mon Sep 17 00:00:00 2001 From: Dave Lasley Date: Thu, 8 Jun 2017 17:25:49 -0700 Subject: [PATCH 03/47] [10.0][IMP] Add variable qty to contract template view (#66) * [IMP] Add variable qty to contract template view * Bump minor version --- contract_variable_quantity/__manifest__.py | 2 +- .../views/contract_view.xml | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/contract_variable_quantity/__manifest__.py b/contract_variable_quantity/__manifest__.py index 07064371..b56b6a3b 100644 --- a/contract_variable_quantity/__manifest__.py +++ b/contract_variable_quantity/__manifest__.py @@ -4,7 +4,7 @@ { 'name': 'Variable quantity in contract recurrent invoicing', - 'version': '10.0.1.0.0', + 'version': '10.0.1.1.0', 'category': 'Contract Management', 'license': 'AGPL-3', 'author': "Tecnativa," diff --git a/contract_variable_quantity/views/contract_view.xml b/contract_variable_quantity/views/contract_view.xml index 5a5f5237..3f32a437 100644 --- a/contract_variable_quantity/views/contract_view.xml +++ b/contract_variable_quantity/views/contract_view.xml @@ -1,6 +1,25 @@ + + Contract Template Variable Qty + account.analytic.contract + + + + + + + + + + {'required': [('qty_type', '=', 'fixed')], 'invisible': [('qty_type', '!=', 'fixed')]} + + + + account.analytic.account From 314a22b186aed8249e3e19d355f5affc297cdc15 Mon Sep 17 00:00:00 2001 From: OCA Git Bot Date: Fri, 9 Jun 2017 02:36:06 +0200 Subject: [PATCH 04/47] [UPD] addons table in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ac47b5ad..18c6faba 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ addon | version | summary --- | --- | --- [contract](contract/) | 10.0.1.0.1 | Contracts Management - Recurring [contract_show_invoice](contract_show_invoice/) | 10.0.1.0.0 | Button in contracts to show their invoices -[contract_variable_quantity](contract_variable_quantity/) | 10.0.1.0.0 | Variable quantity in contract recurrent invoicing +[contract_variable_quantity](contract_variable_quantity/) | 10.0.1.1.0 | Variable quantity in contract recurrent invoicing [product_contract](product_contract/) | 10.0.1.0.0 | Product Contract [//]: # (end addons) From 71cef0229b30fad6b4e069ed7ec2806641745985 Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sat, 10 Jun 2017 03:13:12 +0200 Subject: [PATCH 05/47] OCA Transbot updated translations from Transifex --- contract/i18n/nl_NL.po | 358 +++++++++++++++++++++++ contract_show_invoice/i18n/nl_NL.po | 40 +++ contract_variable_quantity/i18n/nl_NL.po | 187 ++++++++++++ product_contract/i18n/nl_NL.po | 51 ++++ 4 files changed, 636 insertions(+) create mode 100644 contract/i18n/nl_NL.po create mode 100644 contract_show_invoice/i18n/nl_NL.po create mode 100644 contract_variable_quantity/i18n/nl_NL.po create mode 100644 product_contract/i18n/nl_NL.po diff --git a/contract/i18n/nl_NL.po b/contract/i18n/nl_NL.po new file mode 100644 index 00000000..23793fc1 --- /dev/null +++ b/contract/i18n/nl_NL.po @@ -0,0 +1,358 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-09 01:10+0000\n" +"PO-Revision-Date: 2017-06-09 01:10+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +msgid "#END#: End date of the invoiced period" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +msgid "#START#: Start date of the invoiced period" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +msgid "Account Analytic Lines" +msgstr "" + +#. module: contract +#: model:ir.model,name:contract.model_account_analytic_account +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: contract +#: model:ir.actions.act_window,help:contract.account_analytic_contract_action +msgid "Click to create a new contract template." +msgstr "" + +#. module: contract +#: model:ir.actions.act_window,help:contract.action_account_analytic_overdue_all +msgid "Click to create a new contract." +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +msgid "Contract" +msgstr "Contract" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_contract_template_id +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +msgid "Contract Template" +msgstr "Contractsjabloon" + +#. module: contract +#: model:ir.actions.act_window,name:contract.account_analytic_contract_action +#: model:ir.ui.menu,name:contract.account_analytic_contract_menu +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_tree +msgid "Contract Templates" +msgstr "" + +#. module: contract +#: model:ir.actions.act_window,name:contract.action_account_analytic_overdue_all +#: model:ir.ui.menu,name:contract.menu_action_account_analytic_overdue_all +#: model:ir.ui.menu,name:contract.menu_config_contract +msgid "Contracts" +msgstr "Contracten" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Create invoices" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_create_uid +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_create_uid +msgid "Created by" +msgstr "Aangemaakt door" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_create_date +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_create_date +msgid "Created on" +msgstr "Aangemaakt op" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_next_date +msgid "Date of Next Invoice" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_date_start +msgid "Date start" +msgstr "" + +#. module: contract +#: selection:account.analytic.account,recurring_rule_type:0 +#: selection:account.analytic.contract,recurring_rule_type:0 +msgid "Day(s)" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_name +msgid "Description" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_discount +msgid "Discount (%)" +msgstr "" + +#. module: contract +#: code:addons/contract/models/account_analytic_invoice_line.py:56 +#, python-format +msgid "Discount should be less or equal to 100" +msgstr "" + +#. module: contract +#: model:ir.model.fields,help:contract.field_account_analytic_invoice_line_discount +msgid "" +"Discount that is applied in generated invoices. It should be less or equal " +"to 100" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_display_name +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_display_name +msgid "Display Name" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoices +msgid "Generate recurring invoices automatically" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search +msgid "Group By..." +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_id +msgid "ID" +msgstr "ID" + +#. module: contract +#: model:ir.model,name:contract.model_account_invoice +msgid "Invoice" +msgstr "Factuur" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoice_line_ids +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_invoice_line_ids +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +msgid "Invoice Lines" +msgstr "" + +#. module: contract +#: model:ir.actions.act_window,name:contract.act_recurring_invoices +msgid "Invoices" +msgstr "Facturen" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +msgid "Invoicing Type" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoicing_type +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_invoicing_type +msgid "Invoicing type" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_journal_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_journal_id +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +msgid "Journal" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract___last_update +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line___last_update +msgid "Last Modified on" +msgstr "Laatst aangepast op" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_write_uid +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_write_uid +msgid "Last Updated by" +msgstr "Laatst bijgewerkt door" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_write_date +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_write_date +msgid "Last Updated on" +msgstr "Laatst bijgewerkt op" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +msgid "Legend (for the markers inside invoice lines description)" +msgstr "" + +#. module: contract +#: selection:account.analytic.account,recurring_rule_type:0 +#: selection:account.analytic.contract,recurring_rule_type:0 +msgid "Month(s)" +msgstr "" + +#. module: contract +#: selection:account.analytic.account,recurring_rule_type:0 +#: selection:account.analytic.contract,recurring_rule_type:0 +msgid "Month(s) last day" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_name +msgid "Name" +msgstr "Naam" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search +msgid "Next Invoice" +msgstr "" + +#. module: contract +#: code:addons/contract/models/account_analytic_account.py:131 +#, python-format +msgid "Please define a sale journal for the company '%s'." +msgstr "" + +#. module: contract +#: selection:account.analytic.account,recurring_invoicing_type:0 +#: selection:account.analytic.contract,recurring_invoicing_type:0 +msgid "Post-paid" +msgstr "" + +#. module: contract +#: selection:account.analytic.account,recurring_invoicing_type:0 +#: selection:account.analytic.contract,recurring_invoicing_type:0 +msgid "Pre-paid" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_pricelist_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_pricelist_id +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +msgid "Pricelist" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_product_id +msgid "Product" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_quantity +msgid "Quantity" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_rule_type +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_rule_type +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +msgid "Recurrence" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search +msgid "Recurring Invoices" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_interval +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_interval +msgid "Repeat Every" +msgstr "" + +#. module: contract +#: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_interval +#: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_interval +msgid "Repeat every (Days/Week/Month/Year)" +msgstr "" + +#. module: contract +#: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type +#: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type +msgid "Specify Interval for automatic invoice generation." +msgstr "" + +#. module: contract +#: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_invoicing_type +#: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_invoicing_type +msgid "Specify if process date is 'from' or 'to' invoicing date" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_price_subtotal +msgid "Sub Total" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_price_unit +msgid "Unit Price" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_uom_id +msgid "Unit of Measure" +msgstr "" + +#. module: contract +#: selection:account.analytic.account,recurring_rule_type:0 +#: selection:account.analytic.contract,recurring_rule_type:0 +msgid "Week(s)" +msgstr "" + +#. module: contract +#: selection:account.analytic.account,recurring_rule_type:0 +#: selection:account.analytic.contract,recurring_rule_type:0 +msgid "Year(s)" +msgstr "" + +#. module: contract +#: code:addons/contract/models/account_analytic_account.py:123 +#, python-format +msgid "You must first select a Customer for Contract %s!" +msgstr "" + +#. module: contract +#: model:ir.model,name:contract.model_account_analytic_contract +msgid "account.analytic.contract" +msgstr "" + +#. module: contract +#: model:ir.model,name:contract.model_account_analytic_invoice_line +msgid "account.analytic.invoice.line" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "⇒ Show recurring invoices" +msgstr "" diff --git a/contract_show_invoice/i18n/nl_NL.po b/contract_show_invoice/i18n/nl_NL.po new file mode 100644 index 00000000..bd5c3fcd --- /dev/null +++ b/contract_show_invoice/i18n/nl_NL.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_show_invoice +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-09 01:10+0000\n" +"PO-Revision-Date: 2017-06-09 01:10+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_show_invoice +#: model:ir.model.fields,field_description:contract_show_invoice.field_account_invoice_analytic_account_ids +msgid "Contracts" +msgstr "Contracten" + +#. module: contract_show_invoice +#: model:ir.model,name:contract_show_invoice.model_account_invoice +msgid "Invoice" +msgstr "Factuur" + +#. module: contract_show_invoice +#: model:ir.actions.act_window,name:contract_show_invoice.act_analytic_invoices +#: model:ir.ui.view,arch_db:contract_show_invoice.account_analytic_account_button_invoice +msgid "Invoices" +msgstr "Facturen" + +#. module: contract_show_invoice +#: model:ir.ui.view,arch_db:contract_show_invoice.account_analytic_account_button_invoice +msgid "Invoices related with this contract" +msgstr "Facturen gerelateerd aan dit contract" diff --git a/contract_variable_quantity/i18n/nl_NL.po b/contract_variable_quantity/i18n/nl_NL.po new file mode 100644 index 00000000..28b88c7d --- /dev/null +++ b/contract_variable_quantity/i18n/nl_NL.po @@ -0,0 +1,187 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_variable_quantity +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-09 01:10+0000\n" +"PO-Revision-Date: 2017-06-09 01:10+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "" +"\n" +" result = env['product.product'].search_count([('sale_ok', '=', True)])\n" +" " +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "context: Current context dictionary." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "contract: Contract whose line belongs to." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "env: Environment variable for getting other models." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "invoice: Invoice (header) being created." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "" +"line: Contract recurring invoice line that triggers this formula." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "user: Current user." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.model,name:contract_variable_quantity.model_account_analytic_account +msgid "Analytic Account" +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.actions.act_window,help:contract_variable_quantity.action_contract_quantity_formula +msgid "Click to create a new formula for variable quantities." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_code +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "Code" +msgstr "Code" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_create_uid +msgid "Created by" +msgstr "Aangemaakt door" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_create_date +msgid "Created on" +msgstr "Aangemaakt op" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_display_name +msgid "Display Name" +msgstr "" + +#. module: contract_variable_quantity +#: code:addons/contract_variable_quantity/models/contract.py:64 +#, python-format +msgid "" +"Error evaluating code.\n" +"Details: %s" +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "Example of Python code" +msgstr "Voorbeeld van Pythoncode" + +#. module: contract_variable_quantity +#: selection:account.analytic.invoice.line,qty_type:0 +msgid "Fixed quantity" +msgstr "Vaste hoeveelheid" + +#. module: contract_variable_quantity +#: model:ir.actions.act_window,name:contract_variable_quantity.action_contract_quantity_formula +#: model:ir.ui.menu,name:contract_variable_quantity.menu_contract_quantity_formula +msgid "Formulas (quantity)" +msgstr "Formules (hoeveelheid)" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "Help with Python expressions." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_id +msgid "ID" +msgstr "ID" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula___last_update +msgid "Last Modified on" +msgstr "Laatst aangepast op" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_write_uid +msgid "Last Updated by" +msgstr "Laatst bijgewerkt door" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_write_date +msgid "Last Updated on" +msgstr "Laatst bijgewerkt op" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_name +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "Name" +msgstr "Naam" + +#. module: contract_variable_quantity +#: code:addons/contract_variable_quantity/models/contract.py:66 +#, python-format +msgid "No valid result returned." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_account_analytic_invoice_line_qty_formula_id +msgid "Qty. formula" +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_account_analytic_invoice_line_qty_type +msgid "Qty. type" +msgstr "" + +#. module: contract_variable_quantity +#: selection:account.analytic.invoice.line,qty_type:0 +msgid "Variable quantity" +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "You can use these variables to compute your formula:" +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "" +"You have to insert valid Python code block that stores at some moment a " +"float/integer value of the quantity to invoice in the variable 'result'." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.model,name:contract_variable_quantity.model_account_analytic_invoice_line +msgid "account.analytic.invoice.line" +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.model,name:contract_variable_quantity.model_contract_line_qty_formula +msgid "contract.line.qty.formula" +msgstr "" diff --git a/product_contract/i18n/nl_NL.po b/product_contract/i18n/nl_NL.po new file mode 100644 index 00000000..31a87e09 --- /dev/null +++ b/product_contract/i18n/nl_NL.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_contract +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-09 01:10+0000\n" +"PO-Revision-Date: 2017-06-09 01:10+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_contract +#: model:ir.model.fields,field_description:product_contract.field_sale_order_line_contract_id +msgid "Contract" +msgstr "Contract" + +#. module: product_contract +#: model:ir.model.fields,field_description:product_contract.field_product_product_contract_template_id +#: model:ir.model.fields,field_description:product_contract.field_product_template_contract_template_id +msgid "Contract Template" +msgstr "Contractsjabloon" + +#. module: product_contract +#: model:ir.model.fields,field_description:product_contract.field_product_product_is_contract +#: model:ir.model.fields,field_description:product_contract.field_product_template_is_contract +msgid "Is a contract" +msgstr "Is een contract" + +#. module: product_contract +#: model:ir.model,name:product_contract.model_product_template +msgid "Product Template" +msgstr "Productsjabloon" + +#. module: product_contract +#: model:ir.model,name:product_contract.model_sale_order +msgid "Sales Order" +msgstr "Verkooporder" + +#. module: product_contract +#: model:ir.model,name:product_contract.model_sale_order_line +msgid "Sales Order Line" +msgstr "Verkooporderregel" From d212fadd13b5b5bb010d97ed1297428112a7cdb8 Mon Sep 17 00:00:00 2001 From: AngelMoya-Domatix Date: Wed, 14 Oct 2015 11:18:05 +0200 Subject: [PATCH 06/47] contract_payment_mode module --- contract_payment_mode/README.rst | 52 +++++++++++++++++++ contract_payment_mode/__init__.py | 2 + contract_payment_mode/__openerp__.py | 40 ++++++++++++++ .../i18n/contract_payment_mode.pot | 27 ++++++++++ contract_payment_mode/i18n/es.po | 27 ++++++++++ contract_payment_mode/models/__init__.py | 2 + contract_payment_mode/models/contract.py | 33 ++++++++++++ .../test/contract_payment_mode.yml | 49 +++++++++++++++++ contract_payment_mode/views/contract_view.xml | 42 +++++++++++++++ 9 files changed, 274 insertions(+) create mode 100644 contract_payment_mode/README.rst create mode 100644 contract_payment_mode/__init__.py create mode 100644 contract_payment_mode/__openerp__.py create mode 100644 contract_payment_mode/i18n/contract_payment_mode.pot create mode 100644 contract_payment_mode/i18n/es.po create mode 100644 contract_payment_mode/models/__init__.py create mode 100644 contract_payment_mode/models/contract.py create mode 100644 contract_payment_mode/test/contract_payment_mode.yml create mode 100644 contract_payment_mode/views/contract_view.xml diff --git a/contract_payment_mode/README.rst b/contract_payment_mode/README.rst new file mode 100644 index 00000000..5d4ee46c --- /dev/null +++ b/contract_payment_mode/README.rst @@ -0,0 +1,52 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +===================== +Contract Payment Mode +===================== + +This module allows to set a payment mode on contract for creating the invoices with this payment mode. + +Usage +===== + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/110/8.0 + +For further information, please visit: + +* https://www.odoo.com/forum/help-1 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed feedback +`here `_. + +Credits +======= + +Contributors +------------ + +* Ángel Moya + + +Maintainer +---------- + +.. image:: http://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: http://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit http://odoo-community.org. diff --git a/contract_payment_mode/__init__.py b/contract_payment_mode/__init__.py new file mode 100644 index 00000000..a0fdc10f --- /dev/null +++ b/contract_payment_mode/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import models diff --git a/contract_payment_mode/__openerp__.py b/contract_payment_mode/__openerp__.py new file mode 100644 index 00000000..1eee7c8b --- /dev/null +++ b/contract_payment_mode/__openerp__.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- + +############################################################################### +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2015 Domatix (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################### + +{ + 'name': 'Contract Payment Mode', + 'summary': 'Payment mode in contracts and their invoices', + 'version': '8.0.1.0.0', + 'author': 'Domatix, Odoo Community Association (OCA)', + 'website': 'http://www.domatix.com', + 'depends': [ + 'account_analytic_analysis', + 'account_payment_partner'], + 'category': 'Sales Management', + 'license': 'AGPL-3', + 'data': [ + 'views/contract_view.xml', + ], + 'test': ['test/contract_payment_mode.yml'], + 'installable': True, + 'auto_install': True, +} diff --git a/contract_payment_mode/i18n/contract_payment_mode.pot b/contract_payment_mode/i18n/contract_payment_mode.pot new file mode 100644 index 00000000..e366d91d --- /dev/null +++ b/contract_payment_mode/i18n/contract_payment_mode.pot @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-10-16 08:32+0000\n" +"PO-Revision-Date: 2015-10-16 08:32+0000\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_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "" + +#. module: contract_payment_mode +#: field:account.analytic.account,payment_mode_id:0 +msgid "Payment Mode" +msgstr "" + diff --git a/contract_payment_mode/i18n/es.po b/contract_payment_mode/i18n/es.po new file mode 100644 index 00000000..de6fc59a --- /dev/null +++ b/contract_payment_mode/i18n/es.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-10-16 08:32+0000\n" +"PO-Revision-Date: 2015-10-16 08:32+0000\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_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Cuenta analítica" + +#. module: contract_payment_mode +#: field:account.analytic.account,payment_mode_id:0 +msgid "Payment Mode" +msgstr "Modo de pago" + diff --git a/contract_payment_mode/models/__init__.py b/contract_payment_mode/models/__init__.py new file mode 100644 index 00000000..b82ea877 --- /dev/null +++ b/contract_payment_mode/models/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import contract diff --git a/contract_payment_mode/models/contract.py b/contract_payment_mode/models/contract.py new file mode 100644 index 00000000..8d1b31a5 --- /dev/null +++ b/contract_payment_mode/models/contract.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +from openerp import models, fields, api + + +class AccountAnalyticAccount(models.Model): + _inherit = 'account.analytic.account' + + payment_mode_id = fields.Many2one( + 'payment.mode', + string='Payment Mode', + domain="[('type', '=', 'sale')]") + + @api.multi + def on_change_partner_id(self, partner_id, name): + res = super(AccountAnalyticAccount, self).on_change_partner_id( + partner_id, + name) + partner = self.env['res.partner'].browse(partner_id) + if partner and partner.customer_payment_mode: + res['value']['payment_mode_id'] = partner.customer_payment_mode.id + return res + + @api.model + def _prepare_invoice_data(self, contract): + invoice_vals = super(AccountAnalyticAccount, self).\ + _prepare_invoice_data( + contract) + if contract.payment_mode_id: + invoice_vals['payment_mode_id'] = contract.payment_mode_id.id + invoice_vals['partner_bank_id'] = \ + contract.payment_mode_id.bank_id.id + + return invoice_vals diff --git a/contract_payment_mode/test/contract_payment_mode.yml b/contract_payment_mode/test/contract_payment_mode.yml new file mode 100644 index 00000000..465b2446 --- /dev/null +++ b/contract_payment_mode/test/contract_payment_mode.yml @@ -0,0 +1,49 @@ +- + In order to test payment mode in contract, I create a contract with custom payment mode. + Then, I generate Invoices from contract and test this payment mode. + First create custom payment mode. +- + !record {model: payment.mode, id: custom_payment_mode}: + name: Custom Payment Mode + journal: account.bank_journal + bank_id: account_payment.partner_bank_1 + company_id: base.main_company + type: account_banking_payment_export.manual_bank_tranfer +- + I create a contract with custom payment mode +- + !record {model: account.analytic.account, id: contract_custom_payment}: + name: Maintenance of Servers + company_id: base.main_company + partner_id: base.main_partner + payment_mode_id: custom_payment_mode + type: contract + recurring_invoices : 1 + recurring_interval : 1 + recurring_invoice_line_ids: + - quantity: 2.0 + price_unit: 100.0 + name: Database Administration 25 + product_id: product.product_product_consultant + uom_id: product.product_uom_hour +- + I test the payment mode in contract +- + !python {model: account.analytic.account}: | + aid = ref('contract_payment_mode.contract_custom_payment') + contract = self.browse(cr, uid, aid,context=context) + assert contract.payment_mode_id.id == ref('contract_payment_mode.custom_payment_mode'), "Payment Mode is not correct in contract" +- + I generate all invoices from contracts having recurring invoicing +- + !python {model: account.analytic.account}: | + self.recurring_create_invoice(cr, uid, []) +- + I test the generated invoice for custom payment contract +- + !python {model: account.invoice}: | + aid = ref('contract_payment_mode.contract_custom_payment') + ids = self.search(cr, uid, [('invoice_line.account_analytic_id','=',aid)], context=context) + assert len(ids)>=1, 'No invoice created for the custom paymetn mode contract' + for invoice in self.browse(cr, uid, ids,context=context): + assert invoice.payment_mode_id.id == ref('contract_payment_mode.custom_payment_mode'), "Payment Mode is not correct in invoice" diff --git a/contract_payment_mode/views/contract_view.xml b/contract_payment_mode/views/contract_view.xml new file mode 100644 index 00000000..4f488e45 --- /dev/null +++ b/contract_payment_mode/views/contract_view.xml @@ -0,0 +1,42 @@ + + + + + + account.analytic.account.payment.form + account.analytic.account + + + + + + + + + + + account.analytic.account.payment.list + account.analytic.account + + + + + + + + + + + account.analytic.account.payment.search + account.analytic.account + + + + + + + + + + \ No newline at end of file From 4e90ef5afeb441650af5dee1fa7aeedabe47eac6 Mon Sep 17 00:00:00 2001 From: Antonio Espinosa Date: Wed, 27 Jan 2016 13:54:21 +0100 Subject: [PATCH 07/47] contract_payment_mode: Several fixes+imps: * Copy partner payment mode to contracts when installing * Filter payment modes for sales * Adding tests --- contract_payment_mode/README.rst | 1 + contract_payment_mode/__init__.py | 4 ++ contract_payment_mode/__openerp__.py | 1 + contract_payment_mode/hooks.py | 27 +++++++++++++ contract_payment_mode/models/contract.py | 5 +-- contract_payment_mode/tests/__init__.py | 5 +++ .../tests/test_contract_payment_init.py | 40 +++++++++++++++++++ 7 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 contract_payment_mode/hooks.py create mode 100644 contract_payment_mode/tests/__init__.py create mode 100644 contract_payment_mode/tests/test_contract_payment_init.py diff --git a/contract_payment_mode/README.rst b/contract_payment_mode/README.rst index 5d4ee46c..09e27ba1 100644 --- a/contract_payment_mode/README.rst +++ b/contract_payment_mode/README.rst @@ -34,6 +34,7 @@ Contributors ------------ * Ángel Moya +* Antonio Espinosa Maintainer diff --git a/contract_payment_mode/__init__.py b/contract_payment_mode/__init__.py index a0fdc10f..753e6cee 100644 --- a/contract_payment_mode/__init__.py +++ b/contract_payment_mode/__init__.py @@ -1,2 +1,6 @@ # -*- coding: utf-8 -*- +# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + from . import models +from .hooks import post_init_hook diff --git a/contract_payment_mode/__openerp__.py b/contract_payment_mode/__openerp__.py index 1eee7c8b..f9c12929 100644 --- a/contract_payment_mode/__openerp__.py +++ b/contract_payment_mode/__openerp__.py @@ -35,6 +35,7 @@ 'views/contract_view.xml', ], 'test': ['test/contract_payment_mode.yml'], + 'post_init_hook': 'post_init_hook', 'installable': True, 'auto_install': True, } diff --git a/contract_payment_mode/hooks.py b/contract_payment_mode/hooks.py new file mode 100644 index 00000000..5e68b6c3 --- /dev/null +++ b/contract_payment_mode/hooks.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import api, SUPERUSER_ID +import logging + +_logger = logging.getLogger(__name__) + + +def post_init_hook(cr, registry): + """Copy payment mode from partner to the new field at contract.""" + with api.Environment.manage(): + env = api.Environment(cr, SUPERUSER_ID, {}) + m_contract = env['account.analytic.account'] + contracts = m_contract.search([ + ('type', '=', 'contract'), + ('payment_mode_id', '=', False), + ]) + if contracts: + _logger.info('Setting payment mode: %d contracts' % + len(contracts)) + for contract in contracts: + payment_mode = contract.partner_id.customer_payment_mode + if payment_mode: + contract.payment_mode_id = payment_mode.id + _logger.info('Setting payment mode: Done') diff --git a/contract_payment_mode/models/contract.py b/contract_payment_mode/models/contract.py index 8d1b31a5..0aa60e89 100644 --- a/contract_payment_mode/models/contract.py +++ b/contract_payment_mode/models/contract.py @@ -8,7 +8,7 @@ class AccountAnalyticAccount(models.Model): payment_mode_id = fields.Many2one( 'payment.mode', string='Payment Mode', - domain="[('type', '=', 'sale')]") + domain="[('sale_ok', '=', True)]") @api.multi def on_change_partner_id(self, partner_id, name): @@ -23,8 +23,7 @@ class AccountAnalyticAccount(models.Model): @api.model def _prepare_invoice_data(self, contract): invoice_vals = super(AccountAnalyticAccount, self).\ - _prepare_invoice_data( - contract) + _prepare_invoice_data(contract) if contract.payment_mode_id: invoice_vals['payment_mode_id'] = contract.payment_mode_id.id invoice_vals['partner_bank_id'] = \ diff --git a/contract_payment_mode/tests/__init__.py b/contract_payment_mode/tests/__init__.py new file mode 100644 index 00000000..be86a7bf --- /dev/null +++ b/contract_payment_mode/tests/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import test_contract_payment_init diff --git a/contract_payment_mode/tests/test_contract_payment_init.py b/contract_payment_mode/tests/test_contract_payment_init.py new file mode 100644 index 00000000..2056a162 --- /dev/null +++ b/contract_payment_mode/tests/test_contract_payment_init.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# © 2015 Antiun Ingenieria S.L. - Antonio Espinosa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp.tests.common import TransactionCase +from ..hooks import post_init_hook + + +class TestContractPaymentInit(TransactionCase): + # Use case : Prepare some data for current test case + def setUp(self): + super(TestContractPaymentInit, self).setUp() + self.payment_mode = self.env.ref('account_payment.payment_mode_1') + self.partner = self.env['res.partner'].create({ + 'name': 'Test contract partner', + 'customer_payment_mode': self.payment_mode.id, + }) + + def _contract_payment_mode_id(self, contract_id): + contract = self.env['account.analytic.account'].search([ + ('id', '=', contract_id), + ]) + return contract.payment_mode_id.id + + def test_post_init_hook(self): + contract = self.env['account.analytic.account'].create({ + 'name': 'Test contract', + 'type': 'contract', + 'partner_id': self.partner.id, + 'payment_mode_id': self.payment_mode.id, + }) + self.assertEqual(self._contract_payment_mode_id(contract.id), + self.payment_mode.id) + + contract.payment_mode_id = False + self.assertEqual(self._contract_payment_mode_id(contract.id), False) + + post_init_hook(self.cr, self.env) + self.assertEqual(self._contract_payment_mode_id(contract.id), + self.payment_mode.id) From ee32af132e25eb78ea88fef843cf9c0d2885ed58 Mon Sep 17 00:00:00 2001 From: Javi Melendez Date: Mon, 25 Apr 2016 09:48:15 +0200 Subject: [PATCH 08/47] contract_payment_mode: get bank account from partner (#30) in recurring invoice --- contract_payment_mode/models/contract.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contract_payment_mode/models/contract.py b/contract_payment_mode/models/contract.py index 0aa60e89..1d255667 100644 --- a/contract_payment_mode/models/contract.py +++ b/contract_payment_mode/models/contract.py @@ -26,7 +26,8 @@ class AccountAnalyticAccount(models.Model): _prepare_invoice_data(contract) if contract.payment_mode_id: invoice_vals['payment_mode_id'] = contract.payment_mode_id.id - invoice_vals['partner_bank_id'] = \ - contract.payment_mode_id.bank_id.id + invoice_vals['partner_bank_id'] = ( + contract.partner_id.bank_ids[:1].id or + contract.payment_mode_id.bank_id.id) return invoice_vals From a99015755dd22a8a893b6c38b49b3b9b7fc04cb4 Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sat, 7 Nov 2015 23:19:16 -0500 Subject: [PATCH 09/47] OCA Transbot updated translations from Transifex --- contract_payment_mode/i18n/ca.po | 28 ++++++++++++++++++++++++++++ contract_payment_mode/i18n/de.po | 29 +++++++++++++++++++++++++++++ contract_payment_mode/i18n/el_GR.po | 28 ++++++++++++++++++++++++++++ contract_payment_mode/i18n/es_MX.po | 28 ++++++++++++++++++++++++++++ contract_payment_mode/i18n/fi.po | 29 +++++++++++++++++++++++++++++ contract_payment_mode/i18n/fr.po | 29 +++++++++++++++++++++++++++++ contract_payment_mode/i18n/pt_BR.po | 29 +++++++++++++++++++++++++++++ contract_payment_mode/i18n/sk_SK.po | 28 ++++++++++++++++++++++++++++ contract_payment_mode/i18n/sl.po | 29 +++++++++++++++++++++++++++++ 9 files changed, 257 insertions(+) create mode 100644 contract_payment_mode/i18n/ca.po create mode 100644 contract_payment_mode/i18n/de.po create mode 100644 contract_payment_mode/i18n/el_GR.po create mode 100644 contract_payment_mode/i18n/es_MX.po create mode 100644 contract_payment_mode/i18n/fi.po create mode 100644 contract_payment_mode/i18n/fr.po create mode 100644 contract_payment_mode/i18n/pt_BR.po create mode 100644 contract_payment_mode/i18n/sk_SK.po create mode 100644 contract_payment_mode/i18n/sl.po diff --git a/contract_payment_mode/i18n/ca.po b/contract_payment_mode/i18n/ca.po new file mode 100644 index 00000000..acfc4e79 --- /dev/null +++ b/contract_payment_mode/i18n/ca.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: contract (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-20 18:39+0000\n" +"PO-Revision-Date: 2015-11-07 12:33+0000\n" +"Last-Translator: <>\n" +"Language-Team: Catalan (http://www.transifex.com/oca/OCA-contract-8-0/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Compte analític" + +#. module: contract_payment_mode +#: field:account.analytic.account,payment_mode_id:0 +msgid "Payment Mode" +msgstr "" diff --git a/contract_payment_mode/i18n/de.po b/contract_payment_mode/i18n/de.po new file mode 100644 index 00000000..a447c688 --- /dev/null +++ b/contract_payment_mode/i18n/de.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# Rudolf Schnapka , 2015 +msgid "" +msgstr "" +"Project-Id-Version: contract (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-30 01:38+0000\n" +"PO-Revision-Date: 2015-11-25 09:20+0000\n" +"Last-Translator: Rudolf Schnapka \n" +"Language-Team: German (http://www.transifex.com/oca/OCA-contract-8-0/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Kostenstelle" + +#. module: contract_payment_mode +#: field:account.analytic.account,payment_mode_id:0 +msgid "Payment Mode" +msgstr "Zahlweise" diff --git a/contract_payment_mode/i18n/el_GR.po b/contract_payment_mode/i18n/el_GR.po new file mode 100644 index 00000000..158f6686 --- /dev/null +++ b/contract_payment_mode/i18n/el_GR.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: contract (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-11-07 03:42+0000\n" +"PO-Revision-Date: 2015-11-07 12:33+0000\n" +"Last-Translator: <>\n" +"Language-Team: Greek (Greece) (http://www.transifex.com/oca/OCA-contract-8-0/language/el_GR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: el_GR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Αναλυτικός Λογαριασμός" + +#. module: contract_payment_mode +#: field:account.analytic.account,payment_mode_id:0 +msgid "Payment Mode" +msgstr "" diff --git a/contract_payment_mode/i18n/es_MX.po b/contract_payment_mode/i18n/es_MX.po new file mode 100644 index 00000000..2d638f41 --- /dev/null +++ b/contract_payment_mode/i18n/es_MX.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: contract (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-03 01:11+0000\n" +"PO-Revision-Date: 2015-11-07 12:33+0000\n" +"Last-Translator: <>\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/oca/OCA-contract-8-0/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Cuenta analítica" + +#. module: contract_payment_mode +#: field:account.analytic.account,payment_mode_id:0 +msgid "Payment Mode" +msgstr "" diff --git a/contract_payment_mode/i18n/fi.po b/contract_payment_mode/i18n/fi.po new file mode 100644 index 00000000..a8774cdc --- /dev/null +++ b/contract_payment_mode/i18n/fi.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# Jarmo Kortetjärvi , 2016 +msgid "" +msgstr "" +"Project-Id-Version: contract (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-28 11:00+0000\n" +"PO-Revision-Date: 2016-07-08 10:45+0000\n" +"Last-Translator: Jarmo Kortetjärvi \n" +"Language-Team: Finnish (http://www.transifex.com/oca/OCA-contract-8-0/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Analyyttinen tili" + +#. module: contract_payment_mode +#: field:account.analytic.account,payment_mode_id:0 +msgid "Payment Mode" +msgstr "Maksutapa" diff --git a/contract_payment_mode/i18n/fr.po b/contract_payment_mode/i18n/fr.po new file mode 100644 index 00000000..2f73f80b --- /dev/null +++ b/contract_payment_mode/i18n/fr.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# Christophe CHAUVET , 2016 +msgid "" +msgstr "" +"Project-Id-Version: contract (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-04-30 10:34+0000\n" +"PO-Revision-Date: 2016-05-19 16:11+0000\n" +"Last-Translator: Christophe CHAUVET \n" +"Language-Team: French (http://www.transifex.com/oca/OCA-contract-8-0/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Compte analytique" + +#. module: contract_payment_mode +#: field:account.analytic.account,payment_mode_id:0 +msgid "Payment Mode" +msgstr "Mode de paiement" diff --git a/contract_payment_mode/i18n/pt_BR.po b/contract_payment_mode/i18n/pt_BR.po new file mode 100644 index 00000000..02800708 --- /dev/null +++ b/contract_payment_mode/i18n/pt_BR.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# danimaribeiro , 2016 +msgid "" +msgstr "" +"Project-Id-Version: contract (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-03-08 01:39+0000\n" +"PO-Revision-Date: 2016-03-05 18:19+0000\n" +"Last-Translator: danimaribeiro \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-contract-8-0/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Conta Analítica" + +#. module: contract_payment_mode +#: field:account.analytic.account,payment_mode_id:0 +msgid "Payment Mode" +msgstr "Modo de pagamento" diff --git a/contract_payment_mode/i18n/sk_SK.po b/contract_payment_mode/i18n/sk_SK.po new file mode 100644 index 00000000..ed203d29 --- /dev/null +++ b/contract_payment_mode/i18n/sk_SK.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: contract (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-21 10:53+0000\n" +"PO-Revision-Date: 2015-11-07 12:33+0000\n" +"Last-Translator: <>\n" +"Language-Team: Slovak (Slovakia) (http://www.transifex.com/oca/OCA-contract-8-0/language/sk_SK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sk_SK\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Analytický účet" + +#. module: contract_payment_mode +#: field:account.analytic.account,payment_mode_id:0 +msgid "Payment Mode" +msgstr "" diff --git a/contract_payment_mode/i18n/sl.po b/contract_payment_mode/i18n/sl.po new file mode 100644 index 00000000..36bd5457 --- /dev/null +++ b/contract_payment_mode/i18n/sl.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# Matjaž Mozetič , 2015 +msgid "" +msgstr "" +"Project-Id-Version: contract (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-13 18:42+0000\n" +"PO-Revision-Date: 2015-11-08 05:37+0000\n" +"Last-Translator: Matjaž Mozetič \n" +"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-contract-8-0/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Analitični konto" + +#. module: contract_payment_mode +#: field:account.analytic.account,payment_mode_id:0 +msgid "Payment Mode" +msgstr "Način plačila" From ba68905e9117d4fa9351e7642ce6ca3204c0f7b1 Mon Sep 17 00:00:00 2001 From: cubells Date: Tue, 28 Mar 2017 14:52:12 +0200 Subject: [PATCH 10/47] contract_payment_mode: Migration to 9.0 --- contract_payment_mode/README.rst | 38 ++++++--- contract_payment_mode/__init__.py | 2 +- contract_payment_mode/__openerp__.py | 36 +++----- contract_payment_mode/hooks.py | 5 +- .../i18n/contract_payment_mode.pot | 27 ------ contract_payment_mode/models/contract.py | 28 +++---- .../test/contract_payment_mode.yml | 49 ----------- contract_payment_mode/tests/__init__.py | 4 +- .../tests/test_contract_payment.py | 83 +++++++++++++++++++ .../tests/test_contract_payment_init.py | 40 --------- contract_payment_mode/views/contract_view.xml | 67 +++++++-------- 11 files changed, 168 insertions(+), 211 deletions(-) delete mode 100644 contract_payment_mode/i18n/contract_payment_mode.pot delete mode 100644 contract_payment_mode/test/contract_payment_mode.yml create mode 100644 contract_payment_mode/tests/test_contract_payment.py delete mode 100644 contract_payment_mode/tests/test_contract_payment_init.py diff --git a/contract_payment_mode/README.rst b/contract_payment_mode/README.rst index 09e27ba1..c28b1c27 100644 --- a/contract_payment_mode/README.rst +++ b/contract_payment_mode/README.rst @@ -6,26 +6,39 @@ Contract Payment Mode ===================== -This module allows to set a payment mode on contract for creating the invoices with this payment mode. +This module allows to set a payment mode on contract for creating the invoices +with this payment mode. + +Configuration +============= + +Your user should be a Sales Manager or Accountant. Usage ===== -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/110/8.0 +#. Go to *Sales > Sales > Contracts*. +#. Create one. +#. Select a partner to which invoice. +#. If the partner has a payment mode, this payment mode is selected here. +#. If not, or if you want another payment mode, you can change it in the + corresponding field. +#. Click on **Generate recurring invoices automatically** checkbox. +#. Add a product to invoice. +#. If you create an invoice, new invoice will have the selected payment mode. -For further information, please visit: -* https://www.odoo.com/forum/help-1 +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/110/9.0 Bug Tracker =========== Bugs are tracked on `GitHub Issues `_. -In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed feedback -`here `_. +In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smash it by providing detailed and welcomed feedback. Credits ======= @@ -35,14 +48,15 @@ Contributors * Ángel Moya * Antonio Espinosa +* Vicent Cubells Maintainer ---------- -.. image:: http://odoo-community.org/logo.png +.. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association - :target: http://odoo-community.org + :target: https://odoo-community.org This module is maintained by the OCA. @@ -50,4 +64,4 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -To contribute to this module, please visit http://odoo-community.org. +To contribute to this module, please visit https://odoo-community.org. diff --git a/contract_payment_mode/__init__.py b/contract_payment_mode/__init__.py index 753e6cee..ca40b1d9 100644 --- a/contract_payment_mode/__init__.py +++ b/contract_payment_mode/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa +# Copyright 2016 Antiun Ingenieria S.L. - Antonio Espinosa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import models diff --git a/contract_payment_mode/__openerp__.py b/contract_payment_mode/__openerp__.py index f9c12929..8b0c2a5b 100644 --- a/contract_payment_mode/__openerp__.py +++ b/contract_payment_mode/__openerp__.py @@ -1,40 +1,26 @@ # -*- coding: utf-8 -*- - -############################################################################### -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2015 Domatix (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################### +# Copyright 2015 Domatix () +# Copyright 2016 Antiun Ingenieria S.L. - Antonio Espinosa +# Copyright 2017 Tecnativa - Vicent Cubells +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { 'name': 'Contract Payment Mode', 'summary': 'Payment mode in contracts and their invoices', - 'version': '8.0.1.0.0', - 'author': 'Domatix, Odoo Community Association (OCA)', + 'version': '9.0.1.0.0', + 'author': 'Domatix, ' + 'Tecnativa, ' + 'Odoo Community Association (OCA)', 'website': 'http://www.domatix.com', 'depends': [ - 'account_analytic_analysis', - 'account_payment_partner'], + 'contract', + 'account_payment_partner' + ], 'category': 'Sales Management', 'license': 'AGPL-3', 'data': [ 'views/contract_view.xml', ], - 'test': ['test/contract_payment_mode.yml'], 'post_init_hook': 'post_init_hook', 'installable': True, 'auto_install': True, diff --git a/contract_payment_mode/hooks.py b/contract_payment_mode/hooks.py index 5e68b6c3..1a5795ee 100644 --- a/contract_payment_mode/hooks.py +++ b/contract_payment_mode/hooks.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa +# Copyright 2016 Antiun Ingenieria S.L. - Antonio Espinosa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from openerp import api, SUPERUSER_ID @@ -14,14 +14,13 @@ def post_init_hook(cr, registry): env = api.Environment(cr, SUPERUSER_ID, {}) m_contract = env['account.analytic.account'] contracts = m_contract.search([ - ('type', '=', 'contract'), ('payment_mode_id', '=', False), ]) if contracts: _logger.info('Setting payment mode: %d contracts' % len(contracts)) for contract in contracts: - payment_mode = contract.partner_id.customer_payment_mode + payment_mode = contract.partner_id.customer_payment_mode_id if payment_mode: contract.payment_mode_id = payment_mode.id _logger.info('Setting payment mode: Done') diff --git a/contract_payment_mode/i18n/contract_payment_mode.pot b/contract_payment_mode/i18n/contract_payment_mode.pot deleted file mode 100644 index e366d91d..00000000 --- a/contract_payment_mode/i18n/contract_payment_mode.pot +++ /dev/null @@ -1,27 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * contract_payment_mode -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-10-16 08:32+0000\n" -"PO-Revision-Date: 2015-10-16 08:32+0000\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_payment_mode -#: model:ir.model,name:contract_payment_mode.model_account_analytic_account -msgid "Analytic Account" -msgstr "" - -#. module: contract_payment_mode -#: field:account.analytic.account,payment_mode_id:0 -msgid "Payment Mode" -msgstr "" - diff --git a/contract_payment_mode/models/contract.py b/contract_payment_mode/models/contract.py index 1d255667..60ab6684 100644 --- a/contract_payment_mode/models/contract.py +++ b/contract_payment_mode/models/contract.py @@ -1,33 +1,27 @@ # -*- coding: utf-8 -*- -from openerp import models, fields, api +from openerp import api, fields, models class AccountAnalyticAccount(models.Model): _inherit = 'account.analytic.account' payment_mode_id = fields.Many2one( - 'payment.mode', + comodel_name='account.payment.mode', string='Payment Mode', - domain="[('sale_ok', '=', True)]") + domain=[('payment_type', '=', 'inbound')], + ) - @api.multi - def on_change_partner_id(self, partner_id, name): - res = super(AccountAnalyticAccount, self).on_change_partner_id( - partner_id, - name) - partner = self.env['res.partner'].browse(partner_id) - if partner and partner.customer_payment_mode: - res['value']['payment_mode_id'] = partner.customer_payment_mode.id - return res + @api.onchange('partner_id') + def on_change_partner_id(self): + if self.partner_id.customer_payment_mode_id: + self.payment_mode_id = self.partner_id.customer_payment_mode_id.id @api.model def _prepare_invoice_data(self, contract): - invoice_vals = super(AccountAnalyticAccount, self).\ - _prepare_invoice_data(contract) + invoice_vals = super(AccountAnalyticAccount, self)._prepare_invoice() if contract.payment_mode_id: invoice_vals['payment_mode_id'] = contract.payment_mode_id.id invoice_vals['partner_bank_id'] = ( - contract.partner_id.bank_ids[:1].id or - contract.payment_mode_id.bank_id.id) - + contract.partner_id.bank_ids[:1].id + ) return invoice_vals diff --git a/contract_payment_mode/test/contract_payment_mode.yml b/contract_payment_mode/test/contract_payment_mode.yml deleted file mode 100644 index 465b2446..00000000 --- a/contract_payment_mode/test/contract_payment_mode.yml +++ /dev/null @@ -1,49 +0,0 @@ -- - In order to test payment mode in contract, I create a contract with custom payment mode. - Then, I generate Invoices from contract and test this payment mode. - First create custom payment mode. -- - !record {model: payment.mode, id: custom_payment_mode}: - name: Custom Payment Mode - journal: account.bank_journal - bank_id: account_payment.partner_bank_1 - company_id: base.main_company - type: account_banking_payment_export.manual_bank_tranfer -- - I create a contract with custom payment mode -- - !record {model: account.analytic.account, id: contract_custom_payment}: - name: Maintenance of Servers - company_id: base.main_company - partner_id: base.main_partner - payment_mode_id: custom_payment_mode - type: contract - recurring_invoices : 1 - recurring_interval : 1 - recurring_invoice_line_ids: - - quantity: 2.0 - price_unit: 100.0 - name: Database Administration 25 - product_id: product.product_product_consultant - uom_id: product.product_uom_hour -- - I test the payment mode in contract -- - !python {model: account.analytic.account}: | - aid = ref('contract_payment_mode.contract_custom_payment') - contract = self.browse(cr, uid, aid,context=context) - assert contract.payment_mode_id.id == ref('contract_payment_mode.custom_payment_mode'), "Payment Mode is not correct in contract" -- - I generate all invoices from contracts having recurring invoicing -- - !python {model: account.analytic.account}: | - self.recurring_create_invoice(cr, uid, []) -- - I test the generated invoice for custom payment contract -- - !python {model: account.invoice}: | - aid = ref('contract_payment_mode.contract_custom_payment') - ids = self.search(cr, uid, [('invoice_line.account_analytic_id','=',aid)], context=context) - assert len(ids)>=1, 'No invoice created for the custom paymetn mode contract' - for invoice in self.browse(cr, uid, ids,context=context): - assert invoice.payment_mode_id.id == ref('contract_payment_mode.custom_payment_mode'), "Payment Mode is not correct in invoice" diff --git a/contract_payment_mode/tests/__init__.py b/contract_payment_mode/tests/__init__.py index be86a7bf..3715e523 100644 --- a/contract_payment_mode/tests/__init__.py +++ b/contract_payment_mode/tests/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa +# Copyright 2016 Antiun Ingenieria S.L. - Antonio Espinosa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from . import test_contract_payment_init +from . import test_contract_payment diff --git a/contract_payment_mode/tests/test_contract_payment.py b/contract_payment_mode/tests/test_contract_payment.py new file mode 100644 index 00000000..d5c41106 --- /dev/null +++ b/contract_payment_mode/tests/test_contract_payment.py @@ -0,0 +1,83 @@ +# -*- coding: utf-8 -*- +# Copyright 2015 Antiun Ingenieria S.L. - Antonio Espinosa +# Copyright 2017 Tecnativa - Vicent Cubells +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp.tests import common +from ..hooks import post_init_hook + + +class TestContractPaymentInit(common.SavepointCase): + @classmethod + def setUpClass(cls): + super(TestContractPaymentInit, cls).setUpClass() + + cls.payment_method = cls.env.ref( + 'account.account_payment_method_manual_in') + cls.payment_mode = cls.env.ref( + 'account_payment_mode.payment_mode_inbound_ct1') + cls.partner = cls.env['res.partner'].create({ + 'name': 'Test contract partner', + 'customer_payment_mode_id': cls.payment_mode, + }) + cls.product = cls.env['product.product'].create({ + 'name': 'Custom Service', + 'type': 'service', + 'uom_id': cls.env.ref('product.product_uom_hour').id, + 'uom_po_id': cls.env.ref('product.product_uom_hour').id, + 'sale_ok': True, + }) + cls.contract = cls.env['account.analytic.account'].create({ + 'name': 'Maintenance of Servers', + }) + + def _contract_payment_mode_id(self, contract_id): + contract = self.env['account.analytic.account'].search([ + ('id', '=', contract_id), + ]) + return contract.payment_mode_id.id + + def test_post_init_hook(self): + contract = self.env['account.analytic.account'].create({ + 'name': 'Test contract', + 'partner_id': self.partner.id, + 'payment_mode_id': self.payment_mode.id, + }) + self.assertEqual(self._contract_payment_mode_id(contract.id), + self.payment_mode.id) + + contract.payment_mode_id = False + self.assertEqual(self._contract_payment_mode_id(contract.id), False) + + post_init_hook(self.cr, self.env) + self.assertEqual(self._contract_payment_mode_id(contract.id), + self.payment_mode.id) + + def test_contract_and_invoices(self): + self.contract.write({'partner_id': self.partner.id}) + self.contract.on_change_partner_id() + self.assertEqual(self.contract.payment_mode_id, + self.contract.partner_id.customer_payment_mode_id) + self.contract.write({ + 'recurring_invoices': True, + 'recurring_interval': 1, + 'recurring_invoice_line_ids': [(0, 0, { + 'quantity': 2.0, + 'price_unit': 200.0, + 'name': 'Database Administration 25', + 'product_id': self.product.id, + 'uom_id': self.product.uom_id.id, + })] + }) + res = self.contract._prepare_invoice_data(self.contract) + self.assertEqual(res.get('partner_id'), self.contract.partner_id.id) + self.assertEqual(res.get('payment_mode_id'), + self.contract.payment_mode_id.id) + self.contract.recurring_create_invoice() + new_invoice = self.env['account.invoice'].search([ + ('contract_id', '=', self.contract.id) + ]) + self.assertEqual(len(new_invoice.ids), 1) + self.contract.recurring_create_invoice() + self.assertEqual(self.contract.payment_mode_id, + new_invoice.payment_mode_id) diff --git a/contract_payment_mode/tests/test_contract_payment_init.py b/contract_payment_mode/tests/test_contract_payment_init.py deleted file mode 100644 index 2056a162..00000000 --- a/contract_payment_mode/tests/test_contract_payment_init.py +++ /dev/null @@ -1,40 +0,0 @@ -# -*- coding: utf-8 -*- -# © 2015 Antiun Ingenieria S.L. - Antonio Espinosa -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - -from openerp.tests.common import TransactionCase -from ..hooks import post_init_hook - - -class TestContractPaymentInit(TransactionCase): - # Use case : Prepare some data for current test case - def setUp(self): - super(TestContractPaymentInit, self).setUp() - self.payment_mode = self.env.ref('account_payment.payment_mode_1') - self.partner = self.env['res.partner'].create({ - 'name': 'Test contract partner', - 'customer_payment_mode': self.payment_mode.id, - }) - - def _contract_payment_mode_id(self, contract_id): - contract = self.env['account.analytic.account'].search([ - ('id', '=', contract_id), - ]) - return contract.payment_mode_id.id - - def test_post_init_hook(self): - contract = self.env['account.analytic.account'].create({ - 'name': 'Test contract', - 'type': 'contract', - 'partner_id': self.partner.id, - 'payment_mode_id': self.payment_mode.id, - }) - self.assertEqual(self._contract_payment_mode_id(contract.id), - self.payment_mode.id) - - contract.payment_mode_id = False - self.assertEqual(self._contract_payment_mode_id(contract.id), False) - - post_init_hook(self.cr, self.env) - self.assertEqual(self._contract_payment_mode_id(contract.id), - self.payment_mode.id) diff --git a/contract_payment_mode/views/contract_view.xml b/contract_payment_mode/views/contract_view.xml index 4f488e45..7be6a65e 100644 --- a/contract_payment_mode/views/contract_view.xml +++ b/contract_payment_mode/views/contract_view.xml @@ -1,42 +1,39 @@ - - + - - account.analytic.account.payment.form - account.analytic.account - - - - - - - + + account.analytic.account.payment.form + account.analytic.account + + + + + + + - - - account.analytic.account.payment.list - account.analytic.account - - - - - + + + account.analytic.account.payment.list + account.analytic.account + + + + - + + - - - account.analytic.account.payment.search - account.analytic.account - - - - - + + + account.analytic.account.search + account.analytic.account + + + + - + + - - \ No newline at end of file + From 7cc7a78a90d4610574e56e11647c81afe250e4a9 Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Mon, 1 May 2017 17:51:34 +0200 Subject: [PATCH 11/47] OCA Transbot updated translations from Transifex --- contract_payment_mode/i18n/ca.po | 16 ++++++++------- contract_payment_mode/i18n/de.po | 14 +++++++------- contract_payment_mode/i18n/es.po | 22 +++++++++++---------- contract_payment_mode/i18n/fi.po | 14 +++++++------- contract_payment_mode/i18n/fr.po | 14 +++++++------- contract_payment_mode/i18n/gl.po | 30 +++++++++++++++++++++++++++++ contract_payment_mode/i18n/hr.po | 29 ++++++++++++++++++++++++++++ contract_payment_mode/i18n/hr_HR.po | 29 ++++++++++++++++++++++++++++ contract_payment_mode/i18n/hu.po | 29 ++++++++++++++++++++++++++++ contract_payment_mode/i18n/it.po | 30 +++++++++++++++++++++++++++++ contract_payment_mode/i18n/nl.po | 30 +++++++++++++++++++++++++++++ contract_payment_mode/i18n/pt.po | 29 ++++++++++++++++++++++++++++ contract_payment_mode/i18n/pt_BR.po | 14 +++++++------- contract_payment_mode/i18n/pt_PT.po | 29 ++++++++++++++++++++++++++++ contract_payment_mode/i18n/ro.po | 29 ++++++++++++++++++++++++++++ contract_payment_mode/i18n/sl.po | 14 +++++++------- contract_payment_mode/i18n/zh_CN.po | 29 ++++++++++++++++++++++++++++ 17 files changed, 349 insertions(+), 52 deletions(-) create mode 100644 contract_payment_mode/i18n/gl.po create mode 100644 contract_payment_mode/i18n/hr.po create mode 100644 contract_payment_mode/i18n/hr_HR.po create mode 100644 contract_payment_mode/i18n/hu.po create mode 100644 contract_payment_mode/i18n/it.po create mode 100644 contract_payment_mode/i18n/nl.po create mode 100644 contract_payment_mode/i18n/pt.po create mode 100644 contract_payment_mode/i18n/pt_PT.po create mode 100644 contract_payment_mode/i18n/ro.po create mode 100644 contract_payment_mode/i18n/zh_CN.po diff --git a/contract_payment_mode/i18n/ca.po b/contract_payment_mode/i18n/ca.po index acfc4e79..956d5a62 100644 --- a/contract_payment_mode/i18n/ca.po +++ b/contract_payment_mode/i18n/ca.po @@ -3,14 +3,16 @@ # * contract_payment_mode # # Translators: +# OCA Transbot , 2017 +# Marc Tormo i Bochaca , 2017 msgid "" msgstr "" -"Project-Id-Version: contract (8.0)\n" +"Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-20 18:39+0000\n" -"PO-Revision-Date: 2015-11-07 12:33+0000\n" -"Last-Translator: <>\n" -"Language-Team: Catalan (http://www.transifex.com/oca/OCA-contract-8-0/language/ca/)\n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: Marc Tormo i Bochaca , 2017\n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -23,6 +25,6 @@ msgid "Analytic Account" msgstr "Compte analític" #. module: contract_payment_mode -#: field:account.analytic.account,payment_mode_id:0 +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id msgid "Payment Mode" -msgstr "" +msgstr "Forma de pagament " diff --git a/contract_payment_mode/i18n/de.po b/contract_payment_mode/i18n/de.po index a447c688..ac58a9e6 100644 --- a/contract_payment_mode/i18n/de.po +++ b/contract_payment_mode/i18n/de.po @@ -3,15 +3,15 @@ # * contract_payment_mode # # Translators: -# Rudolf Schnapka , 2015 +# OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: contract (8.0)\n" +"Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-30 01:38+0000\n" -"PO-Revision-Date: 2015-11-25 09:20+0000\n" -"Last-Translator: Rudolf Schnapka \n" -"Language-Team: German (http://www.transifex.com/oca/OCA-contract-8-0/language/de/)\n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -24,6 +24,6 @@ msgid "Analytic Account" msgstr "Kostenstelle" #. module: contract_payment_mode -#: field:account.analytic.account,payment_mode_id:0 +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id msgid "Payment Mode" msgstr "Zahlweise" diff --git a/contract_payment_mode/i18n/es.po b/contract_payment_mode/i18n/es.po index de6fc59a..d9d345b9 100644 --- a/contract_payment_mode/i18n/es.po +++ b/contract_payment_mode/i18n/es.po @@ -1,19 +1,22 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * contract_payment_mode -# +# * contract_payment_mode +# +# Translators: +# OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" +"Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-10-16 08:32+0000\n" -"PO-Revision-Date: 2015-10-16 08:32+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: contract_payment_mode #: model:ir.model,name:contract_payment_mode.model_account_analytic_account @@ -21,7 +24,6 @@ msgid "Analytic Account" msgstr "Cuenta analítica" #. module: contract_payment_mode -#: field:account.analytic.account,payment_mode_id:0 +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id msgid "Payment Mode" msgstr "Modo de pago" - diff --git a/contract_payment_mode/i18n/fi.po b/contract_payment_mode/i18n/fi.po index a8774cdc..b376969b 100644 --- a/contract_payment_mode/i18n/fi.po +++ b/contract_payment_mode/i18n/fi.po @@ -3,15 +3,15 @@ # * contract_payment_mode # # Translators: -# Jarmo Kortetjärvi , 2016 +# OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: contract (8.0)\n" +"Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-28 11:00+0000\n" -"PO-Revision-Date: 2016-07-08 10:45+0000\n" -"Last-Translator: Jarmo Kortetjärvi \n" -"Language-Team: Finnish (http://www.transifex.com/oca/OCA-contract-8-0/language/fi/)\n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -24,6 +24,6 @@ msgid "Analytic Account" msgstr "Analyyttinen tili" #. module: contract_payment_mode -#: field:account.analytic.account,payment_mode_id:0 +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id msgid "Payment Mode" msgstr "Maksutapa" diff --git a/contract_payment_mode/i18n/fr.po b/contract_payment_mode/i18n/fr.po index 2f73f80b..119f07d2 100644 --- a/contract_payment_mode/i18n/fr.po +++ b/contract_payment_mode/i18n/fr.po @@ -3,15 +3,15 @@ # * contract_payment_mode # # Translators: -# Christophe CHAUVET , 2016 +# OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: contract (8.0)\n" +"Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-30 10:34+0000\n" -"PO-Revision-Date: 2016-05-19 16:11+0000\n" -"Last-Translator: Christophe CHAUVET \n" -"Language-Team: French (http://www.transifex.com/oca/OCA-contract-8-0/language/fr/)\n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -24,6 +24,6 @@ msgid "Analytic Account" msgstr "Compte analytique" #. module: contract_payment_mode -#: field:account.analytic.account,payment_mode_id:0 +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id msgid "Payment Mode" msgstr "Mode de paiement" diff --git a/contract_payment_mode/i18n/gl.po b/contract_payment_mode/i18n/gl.po new file mode 100644 index 00000000..89e4bb06 --- /dev/null +++ b/contract_payment_mode/i18n/gl.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# César Castro Cruz , 2017 +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Conta analítica" + +#. module: contract_payment_mode +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id +msgid "Payment Mode" +msgstr "Modo de pagamento" diff --git a/contract_payment_mode/i18n/hr.po b/contract_payment_mode/i18n/hr.po new file mode 100644 index 00000000..3a6f8443 --- /dev/null +++ b/contract_payment_mode/i18n/hr.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr\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_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Analitički konto" + +#. module: contract_payment_mode +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id +msgid "Payment Mode" +msgstr "" diff --git a/contract_payment_mode/i18n/hr_HR.po b/contract_payment_mode/i18n/hr_HR.po new file mode 100644 index 00000000..e7566b42 --- /dev/null +++ b/contract_payment_mode/i18n/hr_HR.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/hr_HR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr_HR\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_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Konto analitike" + +#. module: contract_payment_mode +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id +msgid "Payment Mode" +msgstr "" diff --git a/contract_payment_mode/i18n/hu.po b/contract_payment_mode/i18n/hu.po new file mode 100644 index 00000000..15c26501 --- /dev/null +++ b/contract_payment_mode/i18n/hu.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Analitikus gyűjtőkód könyvelés" + +#. module: contract_payment_mode +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id +msgid "Payment Mode" +msgstr "" diff --git a/contract_payment_mode/i18n/it.po b/contract_payment_mode/i18n/it.po new file mode 100644 index 00000000..e00284f7 --- /dev/null +++ b/contract_payment_mode/i18n/it.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# Nicola Malcontenti , 2017 +# Stefano , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: Stefano , 2017\n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Conto Analitico" + +#. module: contract_payment_mode +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id +msgid "Payment Mode" +msgstr "Modo di pagamento" diff --git a/contract_payment_mode/i18n/nl.po b/contract_payment_mode/i18n/nl.po new file mode 100644 index 00000000..9a3f0e7d --- /dev/null +++ b/contract_payment_mode/i18n/nl.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# OCA Transbot , 2017 +# Erwin van der Ploeg , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: Erwin van der Ploeg , 2017\n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Kostenplaats" + +#. module: contract_payment_mode +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id +msgid "Payment Mode" +msgstr "Betaalmode" diff --git a/contract_payment_mode/i18n/pt.po b/contract_payment_mode/i18n/pt.po new file mode 100644 index 00000000..bb0f69b8 --- /dev/null +++ b/contract_payment_mode/i18n/pt.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Conta Analítica" + +#. module: contract_payment_mode +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id +msgid "Payment Mode" +msgstr "" diff --git a/contract_payment_mode/i18n/pt_BR.po b/contract_payment_mode/i18n/pt_BR.po index 02800708..c8835dc0 100644 --- a/contract_payment_mode/i18n/pt_BR.po +++ b/contract_payment_mode/i18n/pt_BR.po @@ -3,15 +3,15 @@ # * contract_payment_mode # # Translators: -# danimaribeiro , 2016 +# OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: contract (8.0)\n" +"Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-03-08 01:39+0000\n" -"PO-Revision-Date: 2016-03-05 18:19+0000\n" -"Last-Translator: danimaribeiro \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-contract-8-0/language/pt_BR/)\n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -24,6 +24,6 @@ msgid "Analytic Account" msgstr "Conta Analítica" #. module: contract_payment_mode -#: field:account.analytic.account,payment_mode_id:0 +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id msgid "Payment Mode" msgstr "Modo de pagamento" diff --git a/contract_payment_mode/i18n/pt_PT.po b/contract_payment_mode/i18n/pt_PT.po new file mode 100644 index 00000000..5030f572 --- /dev/null +++ b/contract_payment_mode/i18n/pt_PT.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# Daniel Reis , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: Daniel Reis , 2017\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/teams/23907/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Conta Analítica" + +#. module: contract_payment_mode +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id +msgid "Payment Mode" +msgstr "" diff --git a/contract_payment_mode/i18n/ro.po b/contract_payment_mode/i18n/ro.po new file mode 100644 index 00000000..4b86948b --- /dev/null +++ b/contract_payment_mode/i18n/ro.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Cont analitic" + +#. module: contract_payment_mode +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id +msgid "Payment Mode" +msgstr "" diff --git a/contract_payment_mode/i18n/sl.po b/contract_payment_mode/i18n/sl.po index 36bd5457..0239072e 100644 --- a/contract_payment_mode/i18n/sl.po +++ b/contract_payment_mode/i18n/sl.po @@ -3,15 +3,15 @@ # * contract_payment_mode # # Translators: -# Matjaž Mozetič , 2015 +# OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: contract (8.0)\n" +"Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-13 18:42+0000\n" -"PO-Revision-Date: 2015-11-08 05:37+0000\n" -"Last-Translator: Matjaž Mozetič \n" -"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-contract-8-0/language/sl/)\n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -24,6 +24,6 @@ msgid "Analytic Account" msgstr "Analitični konto" #. module: contract_payment_mode -#: field:account.analytic.account,payment_mode_id:0 +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id msgid "Payment Mode" msgstr "Način plačila" diff --git a/contract_payment_mode/i18n/zh_CN.po b/contract_payment_mode/i18n/zh_CN.po new file mode 100644 index 00000000..1dabc13a --- /dev/null +++ b/contract_payment_mode/i18n/zh_CN.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# ITGeeker , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-01 02:46+0000\n" +"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"Last-Translator: ITGeeker , 2017\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "核算科目" + +#. module: contract_payment_mode +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id +msgid "Payment Mode" +msgstr "支付方式" From 99497e34bd76b9d8e965427f4a66241ed992daec Mon Sep 17 00:00:00 2001 From: David Vidal Date: Thu, 25 May 2017 10:47:35 +0200 Subject: [PATCH 12/47] [MIG] contract_payment_mode: Migration to 10.0 --- contract_payment_mode/README.rst | 5 +- contract_payment_mode/__init__.py | 1 - .../{__openerp__.py => __manifest__.py} | 3 +- contract_payment_mode/hooks.py | 2 +- contract_payment_mode/models/contract.py | 14 +++--- .../tests/test_contract_payment.py | 47 +++++++++++-------- oca_dependencies.txt | 16 +------ 7 files changed, 40 insertions(+), 48 deletions(-) rename contract_payment_mode/{__openerp__.py => __manifest__.py} (91%) diff --git a/contract_payment_mode/README.rst b/contract_payment_mode/README.rst index c28b1c27..7b5a1fed 100644 --- a/contract_payment_mode/README.rst +++ b/contract_payment_mode/README.rst @@ -17,7 +17,7 @@ Your user should be a Sales Manager or Accountant. Usage ===== -#. Go to *Sales > Sales > Contracts*. +#. Go to *Accounting > Sales > Contracts*. #. Create one. #. Select a partner to which invoice. #. If the partner has a payment mode, this payment mode is selected here. @@ -30,7 +30,7 @@ Usage .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/110/9.0 + :target: https://runbot.odoo-community.org/runbot/110/10.0 Bug Tracker =========== @@ -49,6 +49,7 @@ Contributors * Ángel Moya * Antonio Espinosa * Vicent Cubells +* David Vidal Maintainer diff --git a/contract_payment_mode/__init__.py b/contract_payment_mode/__init__.py index ca40b1d9..c8000a8a 100644 --- a/contract_payment_mode/__init__.py +++ b/contract_payment_mode/__init__.py @@ -1,5 +1,4 @@ # -*- coding: utf-8 -*- -# Copyright 2016 Antiun Ingenieria S.L. - Antonio Espinosa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import models diff --git a/contract_payment_mode/__openerp__.py b/contract_payment_mode/__manifest__.py similarity index 91% rename from contract_payment_mode/__openerp__.py rename to contract_payment_mode/__manifest__.py index 8b0c2a5b..db2f3955 100644 --- a/contract_payment_mode/__openerp__.py +++ b/contract_payment_mode/__manifest__.py @@ -2,12 +2,13 @@ # Copyright 2015 Domatix () # Copyright 2016 Antiun Ingenieria S.L. - Antonio Espinosa # Copyright 2017 Tecnativa - Vicent Cubells +# Copyright 2017 Tecnativa - David Vidal # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { 'name': 'Contract Payment Mode', 'summary': 'Payment mode in contracts and their invoices', - 'version': '9.0.1.0.0', + 'version': '10.0.1.0.0', 'author': 'Domatix, ' 'Tecnativa, ' 'Odoo Community Association (OCA)', diff --git a/contract_payment_mode/hooks.py b/contract_payment_mode/hooks.py index 1a5795ee..a1d2bae7 100644 --- a/contract_payment_mode/hooks.py +++ b/contract_payment_mode/hooks.py @@ -2,7 +2,7 @@ # Copyright 2016 Antiun Ingenieria S.L. - Antonio Espinosa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp import api, SUPERUSER_ID +from odoo import api, SUPERUSER_ID import logging _logger = logging.getLogger(__name__) diff --git a/contract_payment_mode/models/contract.py b/contract_payment_mode/models/contract.py index 60ab6684..2e1b71ea 100644 --- a/contract_payment_mode/models/contract.py +++ b/contract_payment_mode/models/contract.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from openerp import api, fields, models +from odoo import api, fields, models class AccountAnalyticAccount(models.Model): @@ -16,12 +16,10 @@ class AccountAnalyticAccount(models.Model): if self.partner_id.customer_payment_mode_id: self.payment_mode_id = self.partner_id.customer_payment_mode_id.id - @api.model - def _prepare_invoice_data(self, contract): + @api.multi + def _prepare_invoice(self): invoice_vals = super(AccountAnalyticAccount, self)._prepare_invoice() - if contract.payment_mode_id: - invoice_vals['payment_mode_id'] = contract.payment_mode_id.id - invoice_vals['partner_bank_id'] = ( - contract.partner_id.bank_ids[:1].id - ) + if self.payment_mode_id: + invoice_vals['payment_mode_id'] = self.payment_mode_id.id + invoice_vals['partner_bank_id'] = self.partner_id.bank_ids[:1].id return invoice_vals diff --git a/contract_payment_mode/tests/test_contract_payment.py b/contract_payment_mode/tests/test_contract_payment.py index d5c41106..c3fc3e0d 100644 --- a/contract_payment_mode/tests/test_contract_payment.py +++ b/contract_payment_mode/tests/test_contract_payment.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- # Copyright 2015 Antiun Ingenieria S.L. - Antonio Espinosa # Copyright 2017 Tecnativa - Vicent Cubells +# Copyright 2017 Tecnativa - David Vidal # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp.tests import common +from odoo.tests import common from ..hooks import post_init_hook @@ -12,10 +13,17 @@ class TestContractPaymentInit(common.SavepointCase): def setUpClass(cls): super(TestContractPaymentInit, cls).setUpClass() - cls.payment_method = cls.env.ref( - 'account.account_payment_method_manual_in') - cls.payment_mode = cls.env.ref( - 'account_payment_mode.payment_mode_inbound_ct1') + cls.payment_method = cls.env['account.payment.method'].create({ + 'name': 'Test Payment Method', + 'code': 'Test', + 'payment_type': 'inbound', + }) + cls.payment_mode = cls.env['account.payment.mode'].create({ + 'name': 'Test payment mode', + 'active': True, + 'payment_method_id': cls.payment_method.id, + 'bank_account_link': 'variable', + }) cls.partner = cls.env['res.partner'].create({ 'name': 'Test contract partner', 'customer_payment_mode_id': cls.payment_mode, @@ -30,12 +38,12 @@ class TestContractPaymentInit(common.SavepointCase): cls.contract = cls.env['account.analytic.account'].create({ 'name': 'Maintenance of Servers', }) - - def _contract_payment_mode_id(self, contract_id): - contract = self.env['account.analytic.account'].search([ - ('id', '=', contract_id), - ]) - return contract.payment_mode_id.id + company = cls.env.ref('base.main_company') + cls.journal = cls.env['account.journal'].create({ + 'name': 'Sale Journal - Test', + 'code': 'HRTSJ', + 'type': 'sale', + 'company_id': company.id}) def test_post_init_hook(self): contract = self.env['account.analytic.account'].create({ @@ -43,15 +51,15 @@ class TestContractPaymentInit(common.SavepointCase): 'partner_id': self.partner.id, 'payment_mode_id': self.payment_mode.id, }) - self.assertEqual(self._contract_payment_mode_id(contract.id), - self.payment_mode.id) + self.assertEqual(contract.payment_mode_id, + self.payment_mode) contract.payment_mode_id = False - self.assertEqual(self._contract_payment_mode_id(contract.id), False) + self.assertEqual(contract.payment_mode_id.id, False) post_init_hook(self.cr, self.env) - self.assertEqual(self._contract_payment_mode_id(contract.id), - self.payment_mode.id) + self.assertEqual(contract.payment_mode_id, + self.payment_mode) def test_contract_and_invoices(self): self.contract.write({'partner_id': self.partner.id}) @@ -69,14 +77,13 @@ class TestContractPaymentInit(common.SavepointCase): 'uom_id': self.product.uom_id.id, })] }) - res = self.contract._prepare_invoice_data(self.contract) - self.assertEqual(res.get('partner_id'), self.contract.partner_id.id) - self.assertEqual(res.get('payment_mode_id'), - self.contract.payment_mode_id.id) self.contract.recurring_create_invoice() new_invoice = self.env['account.invoice'].search([ ('contract_id', '=', self.contract.id) ]) + self.assertEqual(new_invoice.partner_id, self.contract.partner_id) + self.assertEqual(new_invoice.payment_mode_id, + self.contract.payment_mode_id) self.assertEqual(len(new_invoice.ids), 1) self.contract.recurring_create_invoice() self.assertEqual(self.contract.payment_mode_id, diff --git a/oca_dependencies.txt b/oca_dependencies.txt index ac0117d1..98a804d4 100644 --- a/oca_dependencies.txt +++ b/oca_dependencies.txt @@ -1,15 +1 @@ -# List the OCA project dependencies, one per line -# Add a repository url and branch if you need a forked version -# -# Examples -# ======== -# -# To depend on the standard version of sale-workflow, use: -# sale-workflow -# -# To explicitely give the URL of a fork, and still use the version specified in -# .travis.yml, use: -# sale-workflow https://github.com/OCA/sale-workflow -# -# To provide both the URL and a branch, use: -# sale-workflow https://github.com/OCA/sale-workflow branchname +bank-payment \ No newline at end of file From f3b99da5d1d7804ca7b2a4d1554f433e047c8f4b Mon Sep 17 00:00:00 2001 From: OCA Git Bot Date: Tue, 13 Jun 2017 02:35:30 +0200 Subject: [PATCH 13/47] [UPD] addons table in README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 18c6faba..fc45c11c 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ Available addons addon | version | summary --- | --- | --- [contract](contract/) | 10.0.1.0.1 | Contracts Management - Recurring +[contract_payment_mode](contract_payment_mode/) | 10.0.1.0.0 | Payment mode in contracts and their invoices [contract_show_invoice](contract_show_invoice/) | 10.0.1.0.0 | Button in contracts to show their invoices [contract_variable_quantity](contract_variable_quantity/) | 10.0.1.1.0 | Variable quantity in contract recurrent invoicing [product_contract](product_contract/) | 10.0.1.0.0 | Product Contract From cb8581603228e5c41844364076eb5d73681e06a6 Mon Sep 17 00:00:00 2001 From: OCA Git Bot Date: Tue, 13 Jun 2017 04:35:04 +0200 Subject: [PATCH 14/47] [ADD] setup.py --- setup/contract_payment_mode/odoo/__init__.py | 1 + setup/contract_payment_mode/odoo/addons/__init__.py | 1 + .../contract_payment_mode/odoo/addons/contract_payment_mode | 1 + setup/contract_payment_mode/setup.py | 6 ++++++ 4 files changed, 9 insertions(+) create mode 100644 setup/contract_payment_mode/odoo/__init__.py create mode 100644 setup/contract_payment_mode/odoo/addons/__init__.py create mode 120000 setup/contract_payment_mode/odoo/addons/contract_payment_mode create mode 100644 setup/contract_payment_mode/setup.py diff --git a/setup/contract_payment_mode/odoo/__init__.py b/setup/contract_payment_mode/odoo/__init__.py new file mode 100644 index 00000000..de40ea7c --- /dev/null +++ b/setup/contract_payment_mode/odoo/__init__.py @@ -0,0 +1 @@ +__import__('pkg_resources').declare_namespace(__name__) diff --git a/setup/contract_payment_mode/odoo/addons/__init__.py b/setup/contract_payment_mode/odoo/addons/__init__.py new file mode 100644 index 00000000..de40ea7c --- /dev/null +++ b/setup/contract_payment_mode/odoo/addons/__init__.py @@ -0,0 +1 @@ +__import__('pkg_resources').declare_namespace(__name__) diff --git a/setup/contract_payment_mode/odoo/addons/contract_payment_mode b/setup/contract_payment_mode/odoo/addons/contract_payment_mode new file mode 120000 index 00000000..33d6c86e --- /dev/null +++ b/setup/contract_payment_mode/odoo/addons/contract_payment_mode @@ -0,0 +1 @@ +../../../../contract_payment_mode \ No newline at end of file diff --git a/setup/contract_payment_mode/setup.py b/setup/contract_payment_mode/setup.py new file mode 100644 index 00000000..28c57bb6 --- /dev/null +++ b/setup/contract_payment_mode/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From 3b269817325dae967bb5f363165717f8112dd3da Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sat, 17 Jun 2017 03:12:34 +0200 Subject: [PATCH 15/47] OCA Transbot updated translations from Transifex --- contract/i18n/ca.po | 6 ++--- contract/i18n/el_GR.po | 6 ++--- contract/i18n/es_MX.po | 6 ++--- contract/i18n/zh_CN.po | 6 ++--- contract_payment_mode/i18n/tr.po | 29 ++++++++++++++++++++++++ contract_payment_mode/i18n/tr_TR.po | 29 ++++++++++++++++++++++++ contract_variable_quantity/i18n/ca.po | 8 +++---- contract_variable_quantity/i18n/el_GR.po | 11 ++++----- contract_variable_quantity/i18n/es_MX.po | 8 +++---- contract_variable_quantity/i18n/zh_CN.po | 9 ++++---- product_contract/i18n/pt_BR.po | 11 +++++---- 11 files changed, 93 insertions(+), 36 deletions(-) create mode 100644 contract_payment_mode/i18n/tr.po create mode 100644 contract_payment_mode/i18n/tr_TR.po diff --git a/contract/i18n/ca.po b/contract/i18n/ca.po index 734ca2d2..b4fc08df 100644 --- a/contract/i18n/ca.po +++ b/contract/i18n/ca.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" +"POT-Creation-Date: 2017-06-13 02:40+0000\n" +"PO-Revision-Date: 2017-06-13 02:40+0000\n" "Last-Translator: OCA Transbot , 2016\n" "Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" "MIME-Version: 1.0\n" @@ -40,7 +40,7 @@ msgstr "" #: model:ir.model,name:contract.model_account_analytic_account #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_analytic_account_id msgid "Analytic Account" -msgstr "" +msgstr "Compte analític" #. module: contract #: model:ir.actions.act_window,help:contract.account_analytic_contract_action diff --git a/contract/i18n/el_GR.po b/contract/i18n/el_GR.po index f2967a4c..07365353 100644 --- a/contract/i18n/el_GR.po +++ b/contract/i18n/el_GR.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" +"POT-Creation-Date: 2017-06-13 02:40+0000\n" +"PO-Revision-Date: 2017-06-13 02:40+0000\n" "Last-Translator: OCA Transbot , 2016\n" "Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/el_GR/)\n" "MIME-Version: 1.0\n" @@ -40,7 +40,7 @@ msgstr "" #: model:ir.model,name:contract.model_account_analytic_account #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_analytic_account_id msgid "Analytic Account" -msgstr "" +msgstr "Αναλυτικός Λογαριασμός" #. module: contract #: model:ir.actions.act_window,help:contract.account_analytic_contract_action diff --git a/contract/i18n/es_MX.po b/contract/i18n/es_MX.po index c9232b4e..c25fdf48 100644 --- a/contract/i18n/es_MX.po +++ b/contract/i18n/es_MX.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" +"POT-Creation-Date: 2017-06-13 02:40+0000\n" +"PO-Revision-Date: 2017-06-13 02:40+0000\n" "Last-Translator: OCA Transbot , 2016\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/es_MX/)\n" "MIME-Version: 1.0\n" @@ -40,7 +40,7 @@ msgstr "" #: model:ir.model,name:contract.model_account_analytic_account #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_analytic_account_id msgid "Analytic Account" -msgstr "" +msgstr "Cuenta analítica" #. module: contract #: model:ir.actions.act_window,help:contract.account_analytic_contract_action diff --git a/contract/i18n/zh_CN.po b/contract/i18n/zh_CN.po index d4a1d541..954c5583 100644 --- a/contract/i18n/zh_CN.po +++ b/contract/i18n/zh_CN.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" +"POT-Creation-Date: 2017-06-13 02:40+0000\n" +"PO-Revision-Date: 2017-06-13 02:40+0000\n" "Last-Translator: OCA Transbot , 2016\n" "Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -40,7 +40,7 @@ msgstr "" #: model:ir.model,name:contract.model_account_analytic_account #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_analytic_account_id msgid "Analytic Account" -msgstr "" +msgstr "核算科目" #. module: contract #: model:ir.actions.act_window,help:contract.account_analytic_contract_action diff --git a/contract_payment_mode/i18n/tr.po b/contract_payment_mode/i18n/tr.po new file mode 100644 index 00000000..dc5e710c --- /dev/null +++ b/contract_payment_mode/i18n/tr.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# Ediz Duman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-13 02:40+0000\n" +"PO-Revision-Date: 2017-06-13 02:40+0000\n" +"Last-Translator: Ediz Duman , 2017\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Analitik Hesap" + +#. module: contract_payment_mode +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id +msgid "Payment Mode" +msgstr "" diff --git a/contract_payment_mode/i18n/tr_TR.po b/contract_payment_mode/i18n/tr_TR.po new file mode 100644 index 00000000..109f88dd --- /dev/null +++ b/contract_payment_mode/i18n/tr_TR.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# Ediz Duman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-13 02:40+0000\n" +"PO-Revision-Date: 2017-06-13 02:40+0000\n" +"Last-Translator: Ediz Duman , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/tr_TR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr_TR\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "Analitik Hesap" + +#. module: contract_payment_mode +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id +msgid "Payment Mode" +msgstr "" diff --git a/contract_variable_quantity/i18n/ca.po b/contract_variable_quantity/i18n/ca.po index 0b4cc318..170617be 100644 --- a/contract_variable_quantity/i18n/ca.po +++ b/contract_variable_quantity/i18n/ca.po @@ -6,10 +6,10 @@ # OCA Transbot , 2016 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0c\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-11 02:47+0000\n" -"PO-Revision-Date: 2016-09-11 02:47+0000\n" +"POT-Creation-Date: 2017-06-13 02:40+0000\n" +"PO-Revision-Date: 2017-06-13 02:40+0000\n" "Last-Translator: OCA Transbot , 2016\n" "Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" "MIME-Version: 1.0\n" @@ -60,7 +60,7 @@ msgstr "" #. module: contract_variable_quantity #: model:ir.model,name:contract_variable_quantity.model_account_analytic_account msgid "Analytic Account" -msgstr "" +msgstr "Compte analític" #. module: contract_variable_quantity #: model:ir.actions.act_window,help:contract_variable_quantity.action_contract_quantity_formula diff --git a/contract_variable_quantity/i18n/el_GR.po b/contract_variable_quantity/i18n/el_GR.po index 5c176063..4e37068a 100644 --- a/contract_variable_quantity/i18n/el_GR.po +++ b/contract_variable_quantity/i18n/el_GR.po @@ -4,14 +4,13 @@ # # Translators: # OCA Transbot , 2016 -# Kostas Goutoudis , 2016 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0c\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-11 02:47+0000\n" -"PO-Revision-Date: 2016-09-11 02:47+0000\n" -"Last-Translator: Kostas Goutoudis , 2016\n" +"POT-Creation-Date: 2017-06-13 02:40+0000\n" +"PO-Revision-Date: 2017-06-13 02:40+0000\n" +"Last-Translator: OCA Transbot , 2016\n" "Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/el_GR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -61,7 +60,7 @@ msgstr "" #. module: contract_variable_quantity #: model:ir.model,name:contract_variable_quantity.model_account_analytic_account msgid "Analytic Account" -msgstr "" +msgstr "Αναλυτικός Λογαριασμός" #. module: contract_variable_quantity #: model:ir.actions.act_window,help:contract_variable_quantity.action_contract_quantity_formula diff --git a/contract_variable_quantity/i18n/es_MX.po b/contract_variable_quantity/i18n/es_MX.po index 961d20c6..b012fff6 100644 --- a/contract_variable_quantity/i18n/es_MX.po +++ b/contract_variable_quantity/i18n/es_MX.po @@ -6,10 +6,10 @@ # OCA Transbot , 2016 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0c\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-11 02:47+0000\n" -"PO-Revision-Date: 2016-09-11 02:47+0000\n" +"POT-Creation-Date: 2017-06-13 02:40+0000\n" +"PO-Revision-Date: 2017-06-13 02:40+0000\n" "Last-Translator: OCA Transbot , 2016\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/es_MX/)\n" "MIME-Version: 1.0\n" @@ -60,7 +60,7 @@ msgstr "" #. module: contract_variable_quantity #: model:ir.model,name:contract_variable_quantity.model_account_analytic_account msgid "Analytic Account" -msgstr "" +msgstr "Cuenta analítica" #. module: contract_variable_quantity #: model:ir.actions.act_window,help:contract_variable_quantity.action_contract_quantity_formula diff --git a/contract_variable_quantity/i18n/zh_CN.po b/contract_variable_quantity/i18n/zh_CN.po index e392621d..ae01f1b2 100644 --- a/contract_variable_quantity/i18n/zh_CN.po +++ b/contract_variable_quantity/i18n/zh_CN.po @@ -3,14 +3,13 @@ # * contract_variable_quantity # # Translators: -# Jeffery Chenn , 2016 # OCA Transbot , 2016 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0c\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-11 02:47+0000\n" -"PO-Revision-Date: 2016-09-11 02:47+0000\n" +"POT-Creation-Date: 2017-06-13 02:40+0000\n" +"PO-Revision-Date: 2017-06-13 02:40+0000\n" "Last-Translator: OCA Transbot , 2016\n" "Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -61,7 +60,7 @@ msgstr "" #. module: contract_variable_quantity #: model:ir.model,name:contract_variable_quantity.model_account_analytic_account msgid "Analytic Account" -msgstr "" +msgstr "核算科目" #. module: contract_variable_quantity #: model:ir.actions.act_window,help:contract_variable_quantity.action_contract_quantity_formula diff --git a/product_contract/i18n/pt_BR.po b/product_contract/i18n/pt_BR.po index 592c6aae..cbe23885 100644 --- a/product_contract/i18n/pt_BR.po +++ b/product_contract/i18n/pt_BR.po @@ -3,14 +3,15 @@ # * product_contract # # Translators: -# Albert Vonpupp , 2017 +# OCA Transbot , 2017 +# falexandresilva , 2017 msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" -"Last-Translator: Albert Vonpupp , 2017\n" +"POT-Creation-Date: 2017-06-13 02:40+0000\n" +"PO-Revision-Date: 2017-06-13 02:40+0000\n" +"Last-Translator: falexandresilva , 2017\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -43,7 +44,7 @@ msgstr "" #. module: product_contract #: model:ir.model,name:product_contract.model_sale_order msgid "Sales Order" -msgstr "" +msgstr "Pedido de compras" #. module: product_contract #: model:ir.model,name:product_contract.model_sale_order_line From 046114264782ddfd572cd4564e278cfe3cdbc7c1 Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sat, 8 Jul 2017 03:14:24 +0200 Subject: [PATCH 16/47] OCA Transbot updated translations from Transifex --- contract_payment_mode/i18n/hr_HR.po | 9 +++++---- product_contract/i18n/hr_HR.po | 16 ++++++++-------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/contract_payment_mode/i18n/hr_HR.po b/contract_payment_mode/i18n/hr_HR.po index e7566b42..b13d3311 100644 --- a/contract_payment_mode/i18n/hr_HR.po +++ b/contract_payment_mode/i18n/hr_HR.po @@ -3,13 +3,14 @@ # * contract_payment_mode # # Translators: +# OCA Transbot , 2017 # Bole , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 9.0c\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-01 02:46+0000\n" -"PO-Revision-Date: 2017-04-01 02:46+0000\n" +"POT-Creation-Date: 2017-06-17 01:39+0000\n" +"PO-Revision-Date: 2017-06-17 01:39+0000\n" "Last-Translator: Bole , 2017\n" "Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/hr_HR/)\n" "MIME-Version: 1.0\n" @@ -26,4 +27,4 @@ msgstr "Konto analitike" #. module: contract_payment_mode #: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id msgid "Payment Mode" -msgstr "" +msgstr "Način plaćanja" diff --git a/product_contract/i18n/hr_HR.po b/product_contract/i18n/hr_HR.po index 922d93fb..1248f3f2 100644 --- a/product_contract/i18n/hr_HR.po +++ b/product_contract/i18n/hr_HR.po @@ -3,15 +3,15 @@ # * product_contract # # Translators: -# Bole , 2017 # OCA Transbot , 2017 +# Bole , 2017 msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" -"Last-Translator: OCA Transbot , 2017\n" +"POT-Creation-Date: 2017-06-17 01:39+0000\n" +"PO-Revision-Date: 2017-06-17 01:39+0000\n" +"Last-Translator: Bole , 2017\n" "Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/hr_HR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -34,19 +34,19 @@ msgstr "Predložak ugovora" #: model:ir.model.fields,field_description:product_contract.field_product_product_is_contract #: model:ir.model.fields,field_description:product_contract.field_product_template_is_contract msgid "Is a contract" -msgstr "" +msgstr "Je ugovor" #. module: product_contract #: model:ir.model,name:product_contract.model_product_template msgid "Product Template" -msgstr "" +msgstr "Predložak proizvoda" #. module: product_contract #: model:ir.model,name:product_contract.model_sale_order msgid "Sales Order" -msgstr "" +msgstr "Prodajni nalog" #. module: product_contract #: model:ir.model,name:product_contract.model_sale_order_line msgid "Sales Order Line" -msgstr "" +msgstr "Stavka prodajnog naloga" From b1600d2a10fab3d80bd3475c01eb74c311cb1e8f Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sat, 15 Jul 2017 03:15:12 +0200 Subject: [PATCH 17/47] OCA Transbot updated translations from Transifex --- contract/i18n/hr_HR.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contract/i18n/hr_HR.po b/contract/i18n/hr_HR.po index 4fdd82cf..0d3a661d 100644 --- a/contract/i18n/hr_HR.po +++ b/contract/i18n/hr_HR.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" +"POT-Creation-Date: 2017-07-08 01:22+0000\n" +"PO-Revision-Date: 2017-07-08 01:22+0000\n" "Last-Translator: Bole , 2017\n" "Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/hr_HR/)\n" "MIME-Version: 1.0\n" @@ -310,7 +310,7 @@ msgstr "Odredite interval za automatsko generiranje računa." #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_invoicing_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_invoicing_type msgid "Specify if process date is 'from' or 'to' invoicing date" -msgstr "" +msgstr "Navedite da li je datum obrade 'od' ili 'do' datuma računa" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_price_subtotal From 2cd9288009480af16fbb74621c55de602e0589e3 Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sat, 22 Jul 2017 03:13:58 +0200 Subject: [PATCH 18/47] OCA Transbot updated translations from Transifex --- contract/i18n/pt.po | 107 ++++++++++++++------------ contract_payment_mode/i18n/pt.po | 11 +-- contract_show_invoice/i18n/pt.po | 40 ++++++++++ contract_variable_quantity/i18n/pt.po | 54 +++++++------ product_contract/i18n/pt.po | 51 ++++++++++++ 5 files changed, 184 insertions(+), 79 deletions(-) create mode 100644 contract_show_invoice/i18n/pt.po create mode 100644 product_contract/i18n/pt.po diff --git a/contract/i18n/pt.po b/contract/i18n/pt.po index 72cc0eef..b7c4f886 100644 --- a/contract/i18n/pt.po +++ b/contract/i18n/pt.po @@ -4,13 +4,14 @@ # # Translators: # OCA Transbot , 2016 +# Pedro Castro Silva , 2017 msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" -"Last-Translator: OCA Transbot , 2016\n" +"POT-Creation-Date: 2017-07-15 01:24+0000\n" +"PO-Revision-Date: 2017-07-15 01:24+0000\n" +"Last-Translator: Pedro Castro Silva , 2017\n" "Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,19 +23,19 @@ msgstr "" #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "#END#: End date of the invoiced period" -msgstr "" +msgstr "#END#: Data final do período de faturação" #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "#START#: Start date of the invoiced period" -msgstr "" +msgstr "#START#: Data inicial do período de faturação" #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "Account Analytic Lines" -msgstr "" +msgstr "Linhas de Conta Analítica" #. module: contract #: model:ir.model,name:contract.model_account_analytic_account @@ -45,23 +46,23 @@ msgstr "Conta Analítica" #. module: contract #: model:ir.actions.act_window,help:contract.account_analytic_contract_action msgid "Click to create a new contract template." -msgstr "" +msgstr "Clique para criar um novo modelo de contrato." #. module: contract #: model:ir.actions.act_window,help:contract.action_account_analytic_overdue_all msgid "Click to create a new contract." -msgstr "" +msgstr "Clique para criar um novo contrato." #. module: contract #: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id msgid "Contract" -msgstr "" +msgstr "Contrato" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_contract_template_id #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "Contract Template" -msgstr "" +msgstr "Modelo de Contrato" #. module: contract #: model:ir.actions.act_window,name:contract.account_analytic_contract_action @@ -69,19 +70,19 @@ msgstr "" #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_tree msgid "Contract Templates" -msgstr "" +msgstr "Modelos de Contratos" #. module: contract #: model:ir.actions.act_window,name:contract.action_account_analytic_overdue_all #: model:ir.ui.menu,name:contract.menu_action_account_analytic_overdue_all #: model:ir.ui.menu,name:contract.menu_config_contract msgid "Contracts" -msgstr "" +msgstr "Contratos" #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form msgid "Create invoices" -msgstr "" +msgstr "Criar faturas" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_create_uid @@ -98,34 +99,34 @@ msgstr "Criado em" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_next_date msgid "Date of Next Invoice" -msgstr "" +msgstr "Data da Próxima Fatura" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_date_start msgid "Date start" -msgstr "" +msgstr "Data de início" #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 msgid "Day(s)" -msgstr "" +msgstr "Dia(s)" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_name msgid "Description" -msgstr "" +msgstr "Descrição" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_discount msgid "Discount (%)" -msgstr "" +msgstr "Desconto (%)" #. module: contract #: code:addons/contract/models/account_analytic_invoice_line.py:56 #, python-format msgid "Discount should be less or equal to 100" -msgstr "" +msgstr "O desconto deve ser igual ou inferior a 100" #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_invoice_line_discount @@ -133,6 +134,8 @@ msgid "" "Discount that is applied in generated invoices. It should be less or equal " "to 100" msgstr "" +"Desconto que é aplicado nas faturas geradas. Deve ser igual ou inferior a " +"100" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_display_name @@ -143,12 +146,12 @@ msgstr "Nome a Apresentar" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoices msgid "Generate recurring invoices automatically" -msgstr "" +msgstr "Gerar faturas recorrentes automaticamente" #. module: contract #: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search msgid "Group By..." -msgstr "" +msgstr "Agrupar Por..." #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_id @@ -159,37 +162,37 @@ msgstr "ID" #. module: contract #: model:ir.model,name:contract.model_account_invoice msgid "Invoice" -msgstr "" +msgstr "Fatura" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoice_line_ids #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_invoice_line_ids #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "Invoice Lines" -msgstr "" +msgstr "Linha de Fatura" #. module: contract #: model:ir.actions.act_window,name:contract.act_recurring_invoices msgid "Invoices" -msgstr "" +msgstr "Faturas" #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search msgid "Invoicing Type" -msgstr "" +msgstr "Tipo de Faturação" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoicing_type #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_invoicing_type msgid "Invoicing type" -msgstr "" +msgstr "Tipo de faturação" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_journal_id #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_journal_id #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search msgid "Journal" -msgstr "" +msgstr "Diário" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_contract___last_update @@ -213,19 +216,19 @@ msgstr "Atualizado pela última vez em" #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form msgid "Legend (for the markers inside invoice lines description)" -msgstr "" +msgstr "Legenda (para a descrição dos marcadores nas linhas de fatura)" #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 msgid "Month(s)" -msgstr "" +msgstr "Mes(es)" #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 msgid "Month(s) last day" -msgstr "" +msgstr "Último dia do(s) Mes(es)" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_name @@ -235,124 +238,126 @@ msgstr "Nome" #. module: contract #: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search msgid "Next Invoice" -msgstr "" +msgstr "Próxima Fatura" #. module: contract #: code:addons/contract/models/account_analytic_account.py:131 #, python-format msgid "Please define a sale journal for the company '%s'." -msgstr "" +msgstr "Por favor, defina um diário de vendas para a empresa '%s'." #. module: contract #: selection:account.analytic.account,recurring_invoicing_type:0 #: selection:account.analytic.contract,recurring_invoicing_type:0 msgid "Post-paid" -msgstr "" +msgstr "Pós-pago" #. module: contract #: selection:account.analytic.account,recurring_invoicing_type:0 #: selection:account.analytic.contract,recurring_invoicing_type:0 msgid "Pre-paid" -msgstr "" +msgstr "Pré-pago" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_pricelist_id #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_pricelist_id #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search msgid "Pricelist" -msgstr "" +msgstr "Lista de Preços" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_product_id msgid "Product" -msgstr "" +msgstr "Produto" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_quantity msgid "Quantity" -msgstr "" +msgstr "Quantidade" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_rule_type #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search msgid "Recurrence" -msgstr "" +msgstr "Recorrência" #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search msgid "Recurring Invoices" -msgstr "" +msgstr "Faturas Recorrentes" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_interval #: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_interval msgid "Repeat Every" -msgstr "" +msgstr "Repetir a cada" #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_interval #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_interval msgid "Repeat every (Days/Week/Month/Year)" -msgstr "" +msgstr "Repatir a cada (Dia/Semana/Mês/Ano)" #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type msgid "Specify Interval for automatic invoice generation." -msgstr "" +msgstr "Especifique o intervalo para a geração automática de faturas." #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_invoicing_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_invoicing_type msgid "Specify if process date is 'from' or 'to' invoicing date" msgstr "" +"Especifique se a data de processamento é 'de' ou 'até' relativamente à data " +"da fatura" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_price_subtotal msgid "Sub Total" -msgstr "" +msgstr "Subtotal" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_price_unit msgid "Unit Price" -msgstr "" +msgstr "Preço Unitário" #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_uom_id msgid "Unit of Measure" -msgstr "" +msgstr "Unidade de Medida" #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 msgid "Week(s)" -msgstr "" +msgstr "Semana(s)" #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 msgid "Year(s)" -msgstr "" +msgstr "Ano(s)" #. module: contract #: code:addons/contract/models/account_analytic_account.py:123 #, python-format msgid "You must first select a Customer for Contract %s!" -msgstr "" +msgstr "Deve primeiro selecionar um Cliente para o Contrato %s!" #. module: contract #: model:ir.model,name:contract.model_account_analytic_contract msgid "account.analytic.contract" -msgstr "" +msgstr "account.analytic.contract" #. module: contract #: model:ir.model,name:contract.model_account_analytic_invoice_line msgid "account.analytic.invoice.line" -msgstr "" +msgstr "account.analytic.invoice.line" #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form msgid "⇒ Show recurring invoices" -msgstr "" +msgstr "⇒ Mostrar faturas recorrentes" diff --git a/contract_payment_mode/i18n/pt.po b/contract_payment_mode/i18n/pt.po index bb0f69b8..8d48fc4a 100644 --- a/contract_payment_mode/i18n/pt.po +++ b/contract_payment_mode/i18n/pt.po @@ -4,13 +4,14 @@ # # Translators: # OCA Transbot , 2017 +# Pedro Castro Silva , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 9.0c\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-01 02:46+0000\n" -"PO-Revision-Date: 2017-04-01 02:46+0000\n" -"Last-Translator: OCA Transbot , 2017\n" +"POT-Creation-Date: 2017-07-15 01:24+0000\n" +"PO-Revision-Date: 2017-07-15 01:24+0000\n" +"Last-Translator: Pedro Castro Silva , 2017\n" "Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,4 +27,4 @@ msgstr "Conta Analítica" #. module: contract_payment_mode #: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id msgid "Payment Mode" -msgstr "" +msgstr "Modo de Pagamento" diff --git a/contract_show_invoice/i18n/pt.po b/contract_show_invoice/i18n/pt.po new file mode 100644 index 00000000..8ae71a5e --- /dev/null +++ b/contract_show_invoice/i18n/pt.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_show_invoice +# +# Translators: +# Pedro Castro Silva , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-15 01:24+0000\n" +"PO-Revision-Date: 2017-07-15 01:24+0000\n" +"Last-Translator: Pedro Castro Silva , 2017\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_show_invoice +#: model:ir.model.fields,field_description:contract_show_invoice.field_account_invoice_analytic_account_ids +msgid "Contracts" +msgstr "Contratos" + +#. module: contract_show_invoice +#: model:ir.model,name:contract_show_invoice.model_account_invoice +msgid "Invoice" +msgstr "Fatura" + +#. module: contract_show_invoice +#: model:ir.actions.act_window,name:contract_show_invoice.act_analytic_invoices +#: model:ir.ui.view,arch_db:contract_show_invoice.account_analytic_account_button_invoice +msgid "Invoices" +msgstr "Faturas" + +#. module: contract_show_invoice +#: model:ir.ui.view,arch_db:contract_show_invoice.account_analytic_account_button_invoice +msgid "Invoices related with this contract" +msgstr "Faturas relacionadas com este contrato" diff --git a/contract_variable_quantity/i18n/pt.po b/contract_variable_quantity/i18n/pt.po index d8834445..3869c3d2 100644 --- a/contract_variable_quantity/i18n/pt.po +++ b/contract_variable_quantity/i18n/pt.po @@ -4,14 +4,14 @@ # # Translators: # OCA Transbot , 2016 -# Pedro Castro Silva , 2016 +# Pedro Castro Silva , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0c\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-11 02:47+0000\n" -"PO-Revision-Date: 2016-09-11 02:47+0000\n" -"Last-Translator: Pedro Castro Silva , 2016\n" +"POT-Creation-Date: 2017-07-15 01:24+0000\n" +"PO-Revision-Date: 2017-07-15 01:24+0000\n" +"Last-Translator: Pedro Castro Silva , 2017\n" "Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,37 +26,40 @@ msgid "" " result = env['product.product'].search_count([('sale_ok', '=', True)])\n" " " msgstr "" +"\n" +" result = env['product.product'].search_count([('sale_ok', '=', True)])\n" +" " #. module: contract_variable_quantity #: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form msgid "context: Current context dictionary." -msgstr "" +msgstr "context: Dicionário de contexto corrente." #. module: contract_variable_quantity #: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form msgid "contract: Contract whose line belongs to." -msgstr "" +msgstr "contract: Contrato a cuja linha pertence." #. module: contract_variable_quantity #: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form msgid "env: Environment variable for getting other models." -msgstr "" +msgstr "env: Variável de Environment para obtenção de outros modelos." #. module: contract_variable_quantity #: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form msgid "invoice: Invoice (header) being created." -msgstr "" +msgstr "invoice: Fatura (cabeçalho) a ser criada." #. module: contract_variable_quantity #: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form msgid "" "line: Contract recurring invoice line that triggers this formula." -msgstr "" +msgstr "line: Linha de fatura de contrato que despoleta esta fórmula." #. module: contract_variable_quantity #: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form msgid "user: Current user." -msgstr "" +msgstr "user: Utilizador corrente." #. module: contract_variable_quantity #: model:ir.model,name:contract_variable_quantity.model_account_analytic_account @@ -66,7 +69,7 @@ msgstr "Conta Analítica" #. module: contract_variable_quantity #: model:ir.actions.act_window,help:contract_variable_quantity.action_contract_quantity_formula msgid "Click to create a new formula for variable quantities." -msgstr "" +msgstr "Clique para criar uma nova fórmula para quantidades variáveis" #. module: contract_variable_quantity #: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_code @@ -96,27 +99,29 @@ msgid "" "Error evaluating code.\n" "Details: %s" msgstr "" +"Erro na avaliação do código.\n" +"Detalhes: %s" #. module: contract_variable_quantity #: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form msgid "Example of Python code" -msgstr "" +msgstr "Exemplo de Código Python" #. module: contract_variable_quantity #: selection:account.analytic.invoice.line,qty_type:0 msgid "Fixed quantity" -msgstr "" +msgstr "Quantidade fixa" #. module: contract_variable_quantity #: model:ir.actions.act_window,name:contract_variable_quantity.action_contract_quantity_formula #: model:ir.ui.menu,name:contract_variable_quantity.menu_contract_quantity_formula msgid "Formulas (quantity)" -msgstr "" +msgstr "Fórmulas (quantidade)" #. module: contract_variable_quantity #: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form msgid "Help with Python expressions." -msgstr "" +msgstr "Ajuda de expressões Python" #. module: contract_variable_quantity #: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_id @@ -148,27 +153,27 @@ msgstr "Nome" #: code:addons/contract_variable_quantity/models/contract.py:66 #, python-format msgid "No valid result returned." -msgstr "" +msgstr "Não foi retornado nenhum resultado válido." #. module: contract_variable_quantity #: model:ir.model.fields,field_description:contract_variable_quantity.field_account_analytic_invoice_line_qty_formula_id msgid "Qty. formula" -msgstr "" +msgstr "Fórmula de Qtd." #. module: contract_variable_quantity #: model:ir.model.fields,field_description:contract_variable_quantity.field_account_analytic_invoice_line_qty_type msgid "Qty. type" -msgstr "" +msgstr "Tipo de Qtd." #. module: contract_variable_quantity #: selection:account.analytic.invoice.line,qty_type:0 msgid "Variable quantity" -msgstr "" +msgstr "Quantidade variável" #. module: contract_variable_quantity #: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form msgid "You can use these variables to compute your formula:" -msgstr "" +msgstr "Pode usar estas variáveis na computação da sua fórmula:" #. module: contract_variable_quantity #: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form @@ -176,13 +181,16 @@ msgid "" "You have to insert valid Python code block that stores at some moment a " "float/integer value of the quantity to invoice in the variable 'result'." msgstr "" +"Tem que inserir um bloco válido de código Python que guarde, em algum " +"momento, um valor float/integer na variável 'result' com a quantidade a " +"faturar." #. module: contract_variable_quantity #: model:ir.model,name:contract_variable_quantity.model_account_analytic_invoice_line msgid "account.analytic.invoice.line" -msgstr "" +msgstr "account.analytic.invoice.line" #. module: contract_variable_quantity #: model:ir.model,name:contract_variable_quantity.model_contract_line_qty_formula msgid "contract.line.qty.formula" -msgstr "" +msgstr "contract.line.qty.formula" diff --git a/product_contract/i18n/pt.po b/product_contract/i18n/pt.po new file mode 100644 index 00000000..edcf09df --- /dev/null +++ b/product_contract/i18n/pt.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_contract +# +# Translators: +# Pedro Castro Silva , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-15 01:24+0000\n" +"PO-Revision-Date: 2017-07-15 01:24+0000\n" +"Last-Translator: Pedro Castro Silva , 2017\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_contract +#: model:ir.model.fields,field_description:product_contract.field_sale_order_line_contract_id +msgid "Contract" +msgstr "Contrato" + +#. module: product_contract +#: model:ir.model.fields,field_description:product_contract.field_product_product_contract_template_id +#: model:ir.model.fields,field_description:product_contract.field_product_template_contract_template_id +msgid "Contract Template" +msgstr "Modelo de Contrato" + +#. module: product_contract +#: model:ir.model.fields,field_description:product_contract.field_product_product_is_contract +#: model:ir.model.fields,field_description:product_contract.field_product_template_is_contract +msgid "Is a contract" +msgstr "É um Contrato" + +#. module: product_contract +#: model:ir.model,name:product_contract.model_product_template +msgid "Product Template" +msgstr "Modelo de Produto" + +#. module: product_contract +#: model:ir.model,name:product_contract.model_sale_order +msgid "Sales Order" +msgstr "Encomenda de Venda" + +#. module: product_contract +#: model:ir.model,name:product_contract.model_sale_order_line +msgid "Sales Order Line" +msgstr "Linha de Encomenda de Venda" From 29e3ca7757a747f85274659975d21f40757c01fd Mon Sep 17 00:00:00 2001 From: Carlos Dauden Date: Fri, 4 Aug 2017 09:26:15 +0200 Subject: [PATCH 19/47] [IMP] contract_payment_mode: Onchange payment mode vals --- contract_payment_mode/README.rst | 1 + contract_payment_mode/__manifest__.py | 3 ++- contract_payment_mode/models/contract.py | 4 +++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/contract_payment_mode/README.rst b/contract_payment_mode/README.rst index 7b5a1fed..19a458be 100644 --- a/contract_payment_mode/README.rst +++ b/contract_payment_mode/README.rst @@ -50,6 +50,7 @@ Contributors * Antonio Espinosa * Vicent Cubells * David Vidal +* Carlos Dauden Maintainer diff --git a/contract_payment_mode/__manifest__.py b/contract_payment_mode/__manifest__.py index db2f3955..dea0e710 100644 --- a/contract_payment_mode/__manifest__.py +++ b/contract_payment_mode/__manifest__.py @@ -3,12 +3,13 @@ # Copyright 2016 Antiun Ingenieria S.L. - Antonio Espinosa # Copyright 2017 Tecnativa - Vicent Cubells # Copyright 2017 Tecnativa - David Vidal +# Copyright 2017 Tecnativa - Carlos Dauden # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { 'name': 'Contract Payment Mode', 'summary': 'Payment mode in contracts and their invoices', - 'version': '10.0.1.0.0', + 'version': '10.0.1.0.1', 'author': 'Domatix, ' 'Tecnativa, ' 'Odoo Community Association (OCA)', diff --git a/contract_payment_mode/models/contract.py b/contract_payment_mode/models/contract.py index 2e1b71ea..2a5d53ab 100644 --- a/contract_payment_mode/models/contract.py +++ b/contract_payment_mode/models/contract.py @@ -21,5 +21,7 @@ class AccountAnalyticAccount(models.Model): invoice_vals = super(AccountAnalyticAccount, self)._prepare_invoice() if self.payment_mode_id: invoice_vals['payment_mode_id'] = self.payment_mode_id.id - invoice_vals['partner_bank_id'] = self.partner_id.bank_ids[:1].id + invoice = self.env['account.invoice'].new(invoice_vals) + invoice.payment_mode_id_change() + invoice_vals = invoice._convert_to_write(invoice._cache) return invoice_vals From 985daadc5fdf09120dc59baf86f338bf4d5b9541 Mon Sep 17 00:00:00 2001 From: OCA Git Bot Date: Tue, 8 Aug 2017 02:36:13 +0200 Subject: [PATCH 20/47] [UPD] addons table in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fc45c11c..35c69c02 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Available addons addon | version | summary --- | --- | --- [contract](contract/) | 10.0.1.0.1 | Contracts Management - Recurring -[contract_payment_mode](contract_payment_mode/) | 10.0.1.0.0 | Payment mode in contracts and their invoices +[contract_payment_mode](contract_payment_mode/) | 10.0.1.0.1 | Payment mode in contracts and their invoices [contract_show_invoice](contract_show_invoice/) | 10.0.1.0.0 | Button in contracts to show their invoices [contract_variable_quantity](contract_variable_quantity/) | 10.0.1.1.0 | Variable quantity in contract recurrent invoicing [product_contract](product_contract/) | 10.0.1.0.0 | Product Contract From cb5085ded9f201122596b047d1800f6afd14cfb3 Mon Sep 17 00:00:00 2001 From: cubells Date: Wed, 16 Aug 2017 20:07:41 +0200 Subject: [PATCH 21/47] [IMP][10.0] contract: Add report + send by mail (#86) * [IMP][9.0] contract: Add report + send by mail * Update translation and rename contract report * Changes requested and translation updated --- contract/README.rst | 8 +- contract/__manifest__.py | 5 +- contract/data/mail_template.xml | 64 +++++++ contract/i18n/es.po | 165 +++++++++++++++++- contract/models/account_analytic_account.py | 33 ++++ contract/report/contract_views.xml | 12 ++ contract/report/report_contract.xml | 74 ++++++++ contract/tests/test_contract.py | 4 + .../views/account_analytic_account_view.xml | 5 + 9 files changed, 366 insertions(+), 4 deletions(-) create mode 100644 contract/data/mail_template.xml create mode 100644 contract/report/contract_views.xml create mode 100644 contract/report/report_contract.xml diff --git a/contract/README.rst b/contract/README.rst index 496aa415..e2aa831e 100644 --- a/contract/README.rst +++ b/contract/README.rst @@ -7,8 +7,9 @@ Contracts for recurrent invoicing ================================= This module forward-port to v10 the contracts management with recurring -invoicing functions. In upstream Odoo, this functionality was moved into the -Enterprise edition. +invoicing functions. Also you can print and send by email contract report. + +In upstream Odoo, this functionality was moved into the Enterprise edition. Configuration ============= @@ -40,6 +41,8 @@ To use this module, you need to: click on *Create invoices* to force this action. #. Click *Show recurring invoices* link to show all invoices created by the contract. +#. Click on *Print > Contract* menu to print contract report. +#. Click on *Send by Email* button to send contract by email. .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot @@ -68,6 +71,7 @@ Contributors * Carlos Dauden * Angel Moya * Dave Lasley +* Vicent Cubells Maintainer ---------- diff --git a/contract/__manifest__.py b/contract/__manifest__.py index 1b22ea13..97383127 100644 --- a/contract/__manifest__.py +++ b/contract/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Contracts Management - Recurring', - 'version': '10.0.1.0.1', + 'version': '10.0.1.1.0', 'category': 'Contract Management', 'license': 'AGPL-3', 'author': "OpenERP SA, " @@ -16,7 +16,10 @@ 'depends': ['base', 'account', 'analytic'], 'data': [ 'security/ir.model.access.csv', + 'report/report_contract.xml', + 'report/contract_views.xml', 'data/contract_cron.xml', + 'data/mail_template.xml', 'views/account_analytic_account_view.xml', 'views/account_analytic_contract_view.xml', 'views/account_invoice_view.xml', diff --git a/contract/data/mail_template.xml b/contract/data/mail_template.xml new file mode 100644 index 00000000..9d3728b0 --- /dev/null +++ b/contract/data/mail_template.xml @@ -0,0 +1,64 @@ + + + + + Email Contract Template + ${(object.user_id.email and '%s <%s>' % (object.user_id.name, object.user_id.email) or '')|safe} + ${object.company_id.name} Contract (Ref ${object.name or 'n/a'}) + ${object.partner_id.id} + + + + Contract + ${object.partner_id.lang} + +

Hello ${object.partner_id.name or ''},

+

A new contract has been created:

+ +

+   REFERENCES
+   Contract: ${object.name}
+ % if object.date_start: +   Contract Date Start: ${object.date_start or ''}
+ % endif + + % if object.user_id: + % if object.user_id.email: +   Your Contact: ${object.user_id.name} + % else: +   Your Contact: ${object.user_id.name} + % endif + % endif +

+ +
+

If you have any questions, do not hesitate to contact us.

+

Thank you for choosing ${object.company_id.name or 'us'}!

+
+
+
+

+ ${object.company_id.name}

+
+
+ + ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe} + + % if object.company_id.phone: +
+ Phone: ${object.company_id.phone} +
+ % endif + % if object.company_id.website: + + %endif +

+
+ + ]]>
+
+ +
diff --git a/contract/i18n/es.po b/contract/i18n/es.po index 23b7bfa5..cb842218 100644 --- a/contract/i18n/es.po +++ b/contract/i18n/es.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * contract -# +# # Translators: # OCA Transbot , 2016 msgid "" @@ -18,6 +18,103 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: contract +#: model:mail.template,body_html:contract.email_contract_template +msgid "\n" +"
\n" +"

Hello ${object.partner_id.name or ''},

\n" +"

A new contract has been created:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Contract: ${object.name}
\n" +" % if object.date_start:\n" +"   Contract Date Start: ${object.date_start or ''}
\n" +" % endif\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Your Contact: ${object.user_id.name}\n" +" % else:\n" +"   Your Contact: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

If you have any questions, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Phone: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "\n" +"
\n" +"

Hola ${object.partner_id.name or ''},

\n" +"

Se ha creado un nuevo contrato:

\n" +"\n" +"

\n" +"   REFERENCIAS
\n" +"   Contrato: ${object.name}
\n" +"   Fecha de inicio del contrato: ${object.date_start or ''}
\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Contacto: ${object.user_id.name}\n" +" % else:\n" +"   Contacto: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

Si tiene cualquier pregunta, no dude en contactarnos.

\n" +"

Gracias por elegir ${object.company_id.name or 'nos'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Teléfono: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -30,6 +127,41 @@ msgstr "#END#: Fecha fin del periodo facturado" msgid "#START#: Start date of the invoiced period" msgstr "#START#: Fecha inicio del periodo facturado" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "Descripción" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "Elementos recurrentes" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Partner:" +msgstr "Empresa:" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Price" +msgstr "Precio" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Quantity" +msgstr "Cantidad" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Total" +msgstr "Total" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Unit Price" +msgstr "Precio unidad" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -57,6 +189,12 @@ msgstr "Pinche para crear un contrato nuevo. " msgid "Contract" msgstr "Contrato" +#. module: contract +#: code:addons/contract/models/account_analytic_account.py:217 +#, python-format +msgid "Compose Email" +msgstr "Componer correo electrónico" + #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_contract_template_id #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -95,6 +233,11 @@ msgstr "Creado por" msgid "Created on" msgstr "Creado en" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Date Start:" +msgstr "Fecha de inicio:" + #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_next_date msgid "Date of Next Invoice" @@ -300,6 +443,21 @@ msgstr "Repetir cada" msgid "Repeat every (Days/Week/Month/Year)" msgstr "Repetir cada (días/semana/mes/año)" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +msgid "Responsible" +msgstr "Responsable" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible:" +msgstr "Responsable:" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Send by Email" +msgstr "Enviar por correo electrónico" + #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type @@ -328,6 +486,11 @@ msgstr "Precio unidad" msgid "Unit of Measure" msgstr "Unidad de medida" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "VAT:" +msgstr "NIF:" + #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 diff --git a/contract/models/account_analytic_account.py b/contract/models/account_analytic_account.py index 986effc8..27340cac 100644 --- a/contract/models/account_analytic_account.py +++ b/contract/models/account_analytic_account.py @@ -32,6 +32,12 @@ class AccountAnalyticAccount(models.Model): copy=False, string='Date of Next Invoice', ) + user_id = fields.Many2one( + comodel_name='res.users', + string='Responsible', + index=True, + default=lambda self: self.env.user, + ) @api.onchange('contract_template_id') def _onchange_contract_template_id(self): @@ -190,3 +196,30 @@ class AccountAnalyticAccount(models.Model): [('recurring_next_date', '<=', fields.date.today()), ('recurring_invoices', '=', True)]) return contracts.recurring_create_invoice() + + @api.multi + def action_contract_send(self): + self.ensure_one() + template = self.env.ref( + 'contract.email_contract_template', + False, + ) + compose_form = self.env.ref('mail.email_compose_message_wizard_form') + ctx = dict( + default_model='account.analytic.account', + default_res_id=self.id, + default_use_template=bool(template), + default_template_id=template and template.id or False, + default_composition_mode='comment', + ) + return { + 'name': _('Compose Email'), + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'mail.compose.message', + 'views': [(compose_form.id, 'form')], + 'view_id': compose_form.id, + 'target': 'new', + 'context': ctx, + } diff --git a/contract/report/contract_views.xml b/contract/report/contract_views.xml new file mode 100644 index 00000000..bcbb1459 --- /dev/null +++ b/contract/report/contract_views.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/contract/report/report_contract.xml b/contract/report/report_contract.xml new file mode 100644 index 00000000..16aed6c3 --- /dev/null +++ b/contract/report/report_contract.xml @@ -0,0 +1,74 @@ + + + + + + diff --git a/contract/tests/test_contract.py b/contract/tests/test_contract.py index 8cef9512..a1acb758 100644 --- a/contract/tests/test_contract.py +++ b/contract/tests/test_contract.py @@ -155,3 +155,7 @@ class TestContract(TransactionCase): } del self.template_vals['name'] self.assertDictEqual(res, self.template_vals) + + def test_send_mail_contract(self): + result = self.contract.action_contract_send() + self.assertEqual(result['res_model'], 'mail.compose.message') diff --git a/contract/views/account_analytic_account_view.xml b/contract/views/account_analytic_account_view.xml index 0036388e..de2fbe86 100644 --- a/contract/views/account_analytic_account_view.xml +++ b/contract/views/account_analytic_account_view.xml @@ -7,6 +7,11 @@ primary + +
+
+
Date: Thu, 17 Aug 2017 02:36:16 +0200 Subject: [PATCH 22/47] [UPD] addons table in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 35c69c02..6cf26139 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Available addons ---------------- addon | version | summary --- | --- | --- -[contract](contract/) | 10.0.1.0.1 | Contracts Management - Recurring +[contract](contract/) | 10.0.1.1.0 | Contracts Management - Recurring [contract_payment_mode](contract_payment_mode/) | 10.0.1.0.1 | Payment mode in contracts and their invoices [contract_show_invoice](contract_show_invoice/) | 10.0.1.0.0 | Button in contracts to show their invoices [contract_variable_quantity](contract_variable_quantity/) | 10.0.1.1.0 | Variable quantity in contract recurrent invoicing From b0f0453415517c750eb899c812d373845251027b Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sat, 19 Aug 2017 03:16:47 +0200 Subject: [PATCH 23/47] OCA Transbot updated translations from Transifex --- contract/i18n/de.po | 139 ++++++- contract/i18n/es.po | 68 ++-- contract/i18n/fr.po | 139 ++++++- contract/i18n/hi_IN.po | 489 +++++++++++++++++++++++ contract/i18n/hr.po | 139 ++++++- contract/i18n/hr_HR.po | 142 ++++++- contract/i18n/it.po | 139 ++++++- contract/i18n/nl.po | 139 ++++++- contract/i18n/nl_NL.po | 139 ++++++- contract/i18n/pt.po | 142 ++++++- contract/i18n/pt_BR.po | 139 ++++++- contract/i18n/tr.po | 142 ++++++- contract/i18n/tr_TR.po | 139 ++++++- contract_payment_mode/i18n/hi_IN.po | 29 ++ contract_show_invoice/i18n/hi_IN.po | 40 ++ contract_variable_quantity/i18n/hi_IN.po | 187 +++++++++ product_contract/i18n/hi_IN.po | 51 +++ 17 files changed, 2325 insertions(+), 77 deletions(-) create mode 100644 contract/i18n/hi_IN.po create mode 100644 contract_payment_mode/i18n/hi_IN.po create mode 100644 contract_show_invoice/i18n/hi_IN.po create mode 100644 contract_variable_quantity/i18n/hi_IN.po create mode 100644 product_contract/i18n/hi_IN.po diff --git a/contract/i18n/de.po b/contract/i18n/de.po index 15c13b58..cda8544f 100644 --- a/contract/i18n/de.po +++ b/contract/i18n/de.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" "Last-Translator: OCA Transbot , 2016\n" "Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" "MIME-Version: 1.0\n" @@ -18,6 +18,64 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: contract +#: model:mail.template,body_html:contract.email_contract_template +msgid "" +"\n" +"
\n" +"

Hello ${object.partner_id.name or ''},

\n" +"

A new contract has been created:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Contract: ${object.name}
\n" +" % if object.date_start:\n" +"   Contract Date Start: ${object.date_start or ''}
\n" +" % endif\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Your Contact: ${object.user_id.name}\n" +" % else:\n" +"   Your Contact: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

If you have any questions, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Phone: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: contract +#: model:mail.template,subject:contract.email_contract_template +msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -30,6 +88,56 @@ msgstr "#ENDE#: Enddatum der Abrechnungsperiode" msgid "#START#: Start date of the invoiced period" msgstr "#ANFANG#: Anfangsdatum der Abrechnungsperiode" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Contract: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Date Start: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Partner:" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Price" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Quantity" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Total" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Unit Price" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -53,7 +161,15 @@ msgid "Click to create a new contract." msgstr "Klicken, um neuen Vertrag anzulegen." #. module: contract +#: code:addons/contract/models/account_analytic_account.py:216 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: contract +#: model:ir.actions.report.xml,name:contract.report_contract #: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:mail.template,report_name:contract.email_contract_template msgid "Contract" msgstr "Vertrag" @@ -239,7 +355,7 @@ msgid "Next Invoice" msgstr "Nächste Rechnung" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:131 +#: code:addons/contract/models/account_analytic_account.py:137 #, python-format msgid "Please define a sale journal for the company '%s'." msgstr "Legen Sie bitte ein Verkaufsjournal für das Unternehmen '%s' fest." @@ -298,6 +414,16 @@ msgstr "Wiederholung je" msgid "Repeat every (Days/Week/Month/Year)" msgstr "Wiederholung in (Tagen/Wochen/Monaten/Jahren)" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +msgid "Responsible" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Send by Email" +msgstr "" + #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type @@ -325,6 +451,11 @@ msgstr "Einzelpreis" msgid "Unit of Measure" msgstr "Mengeneinheit" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "VAT:" +msgstr "" + #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 @@ -338,7 +469,7 @@ msgid "Year(s)" msgstr "Jahr(e)" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:123 +#: code:addons/contract/models/account_analytic_account.py:129 #, python-format msgid "You must first select a Customer for Contract %s!" msgstr "Sie müssen zunächst einen Kunden für den Vertrag '%s' auswählen." diff --git a/contract/i18n/es.po b/contract/i18n/es.po index cb842218..010a6d32 100644 --- a/contract/i18n/es.po +++ b/contract/i18n/es.po @@ -1,15 +1,15 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * contract -# +# # Translators: # OCA Transbot , 2016 msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" "Last-Translator: OCA Transbot , 2016\n" "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" "MIME-Version: 1.0\n" @@ -20,7 +20,8 @@ msgstr "" #. module: contract #: model:mail.template,body_html:contract.email_contract_template -msgid "\n" +msgid "" +"\n" "
\n" "

Hello ${object.partner_id.name or ''},

\n" "

A new contract has been created:

\n" @@ -68,7 +69,8 @@ msgid "\n" "
\n" "\n" " " -msgstr "\n" +msgstr "" +"\n" "
\n" "

Hola ${object.partner_id.name or ''},

\n" "

Se ha creado un nuevo contrato:

\n" @@ -115,6 +117,11 @@ msgstr "\n" "
\n" " " +#. module: contract +#: model:mail.template,subject:contract.email_contract_template +msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -129,13 +136,18 @@ msgstr "#START#: Fecha inicio del periodo facturado" #. module: contract #: model:ir.ui.view,arch_db:contract.report_contract_document -msgid "Description" -msgstr "Descripción" +msgid "Contract: " +msgstr "" #. module: contract #: model:ir.ui.view,arch_db:contract.report_contract_document -msgid "Recurring Items" -msgstr "Elementos recurrentes" +msgid "Date Start: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "Descripción" #. module: contract #: model:ir.ui.view,arch_db:contract.report_contract_document @@ -152,6 +164,16 @@ msgstr "Precio" msgid "Quantity" msgstr "Cantidad" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "Elementos recurrentes" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible: " +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.report_contract_document msgid "Total" @@ -185,16 +207,18 @@ msgid "Click to create a new contract." msgstr "Pinche para crear un contrato nuevo. " #. module: contract -#: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id -msgid "Contract" -msgstr "Contrato" - -#. module: contract -#: code:addons/contract/models/account_analytic_account.py:217 +#: code:addons/contract/models/account_analytic_account.py:216 #, python-format msgid "Compose Email" msgstr "Componer correo electrónico" +#. module: contract +#: model:ir.actions.report.xml,name:contract.report_contract +#: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:mail.template,report_name:contract.email_contract_template +msgid "Contract" +msgstr "Contrato" + #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_contract_template_id #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -233,11 +257,6 @@ msgstr "Creado por" msgid "Created on" msgstr "Creado en" -#. module: contract -#: model:ir.ui.view,arch_db:contract.report_contract_document -msgid "Date Start:" -msgstr "Fecha de inicio:" - #. module: contract #: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_next_date msgid "Date of Next Invoice" @@ -384,7 +403,7 @@ msgid "Next Invoice" msgstr "Próxima factura" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:131 +#: code:addons/contract/models/account_analytic_account.py:137 #, python-format msgid "Please define a sale journal for the company '%s'." msgstr "Por favor define un diario de ventas para la compañía '%s'." @@ -448,11 +467,6 @@ msgstr "Repetir cada (días/semana/mes/año)" msgid "Responsible" msgstr "Responsable" -#. module: contract -#: model:ir.ui.view,arch_db:contract.report_contract_document -msgid "Responsible:" -msgstr "Responsable:" - #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form msgid "Send by Email" @@ -504,7 +518,7 @@ msgid "Year(s)" msgstr "Año(s)" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:123 +#: code:addons/contract/models/account_analytic_account.py:129 #, python-format msgid "You must first select a Customer for Contract %s!" msgstr "¡Seleccione un cliente para este contrato %s!" diff --git a/contract/i18n/fr.po b/contract/i18n/fr.po index 881d149b..8e655a54 100644 --- a/contract/i18n/fr.po +++ b/contract/i18n/fr.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" "Last-Translator: OCA Transbot , 2016\n" "Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" "MIME-Version: 1.0\n" @@ -18,6 +18,64 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#. module: contract +#: model:mail.template,body_html:contract.email_contract_template +msgid "" +"\n" +"
\n" +"

Hello ${object.partner_id.name or ''},

\n" +"

A new contract has been created:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Contract: ${object.name}
\n" +" % if object.date_start:\n" +"   Contract Date Start: ${object.date_start or ''}
\n" +" % endif\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Your Contact: ${object.user_id.name}\n" +" % else:\n" +"   Your Contact: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

If you have any questions, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Phone: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: contract +#: model:mail.template,subject:contract.email_contract_template +msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -30,6 +88,56 @@ msgstr "" msgid "#START#: Start date of the invoiced period" msgstr "" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Contract: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Date Start: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Partner:" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Price" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Quantity" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Total" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Unit Price" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -53,7 +161,15 @@ msgid "Click to create a new contract." msgstr "" #. module: contract +#: code:addons/contract/models/account_analytic_account.py:216 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: contract +#: model:ir.actions.report.xml,name:contract.report_contract #: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:mail.template,report_name:contract.email_contract_template msgid "Contract" msgstr "Contrat" @@ -238,7 +354,7 @@ msgid "Next Invoice" msgstr "Prochaine facture" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:131 +#: code:addons/contract/models/account_analytic_account.py:137 #, python-format msgid "Please define a sale journal for the company '%s'." msgstr "" @@ -297,6 +413,16 @@ msgstr "Répéter Chaque" msgid "Repeat every (Days/Week/Month/Year)" msgstr "Répéter chaque (Jours/Semaine/Mois/Année)" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +msgid "Responsible" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Send by Email" +msgstr "" + #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type @@ -324,6 +450,11 @@ msgstr "Prix Unitaire" msgid "Unit of Measure" msgstr "Unité de Mesure" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "VAT:" +msgstr "" + #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 @@ -337,7 +468,7 @@ msgid "Year(s)" msgstr "Année(s)" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:123 +#: code:addons/contract/models/account_analytic_account.py:129 #, python-format msgid "You must first select a Customer for Contract %s!" msgstr "" diff --git a/contract/i18n/hi_IN.po b/contract/i18n/hi_IN.po new file mode 100644 index 00000000..137d6097 --- /dev/null +++ b/contract/i18n/hi_IN.po @@ -0,0 +1,489 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract +# +# Translators: +# Ashish Deshmukh , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" +"Last-Translator: Ashish Deshmukh , 2017\n" +"Language-Team: Hindi (India) (https://www.transifex.com/oca/teams/23907/hi_IN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hi_IN\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract +#: model:mail.template,body_html:contract.email_contract_template +msgid "" +"\n" +"
\n" +"

Hello ${object.partner_id.name or ''},

\n" +"

A new contract has been created:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Contract: ${object.name}
\n" +" % if object.date_start:\n" +"   Contract Date Start: ${object.date_start or ''}
\n" +" % endif\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Your Contact: ${object.user_id.name}\n" +" % else:\n" +"   Your Contact: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

If you have any questions, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Phone: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: contract +#: model:mail.template,subject:contract.email_contract_template +msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +msgid "#END#: End date of the invoiced period" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +msgid "#START#: Start date of the invoiced period" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Contract: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Date Start: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Partner:" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Price" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Quantity" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Total" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Unit Price" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +msgid "Account Analytic Lines" +msgstr "" + +#. module: contract +#: model:ir.model,name:contract.model_account_analytic_account +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_analytic_account_id +msgid "Analytic Account" +msgstr "विश्लेषणात्मक खाता" + +#. module: contract +#: model:ir.actions.act_window,help:contract.account_analytic_contract_action +msgid "Click to create a new contract template." +msgstr "" + +#. module: contract +#: model:ir.actions.act_window,help:contract.action_account_analytic_overdue_all +msgid "Click to create a new contract." +msgstr "" + +#. module: contract +#: code:addons/contract/models/account_analytic_account.py:216 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: contract +#: model:ir.actions.report.xml,name:contract.report_contract +#: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:mail.template,report_name:contract.email_contract_template +msgid "Contract" +msgstr "अनुबंध" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_contract_template_id +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +msgid "Contract Template" +msgstr "अनुबंध टेम्पलेट" + +#. module: contract +#: model:ir.actions.act_window,name:contract.account_analytic_contract_action +#: model:ir.ui.menu,name:contract.account_analytic_contract_menu +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_tree +msgid "Contract Templates" +msgstr "" + +#. module: contract +#: model:ir.actions.act_window,name:contract.action_account_analytic_overdue_all +#: model:ir.ui.menu,name:contract.menu_action_account_analytic_overdue_all +#: model:ir.ui.menu,name:contract.menu_config_contract +msgid "Contracts" +msgstr "अनुबंध" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Create invoices" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_create_uid +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_create_uid +msgid "Created by" +msgstr "द्वारा बनाया गया" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_create_date +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_create_date +msgid "Created on" +msgstr "को निर्मित" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_next_date +msgid "Date of Next Invoice" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_date_start +msgid "Date start" +msgstr "" + +#. module: contract +#: selection:account.analytic.account,recurring_rule_type:0 +#: selection:account.analytic.contract,recurring_rule_type:0 +msgid "Day(s)" +msgstr "दिन()" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_name +msgid "Description" +msgstr "विवरण" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_discount +msgid "Discount (%)" +msgstr "छूट (%)" + +#. module: contract +#: code:addons/contract/models/account_analytic_invoice_line.py:56 +#, python-format +msgid "Discount should be less or equal to 100" +msgstr "" + +#. module: contract +#: model:ir.model.fields,help:contract.field_account_analytic_invoice_line_discount +msgid "" +"Discount that is applied in generated invoices. It should be less or equal " +"to 100" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_display_name +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_display_name +msgid "Display Name" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoices +msgid "Generate recurring invoices automatically" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search +msgid "Group By..." +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_id +msgid "ID" +msgstr "आईडी" + +#. module: contract +#: model:ir.model,name:contract.model_account_invoice +msgid "Invoice" +msgstr "बीजक" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoice_line_ids +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_invoice_line_ids +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +msgid "Invoice Lines" +msgstr "" + +#. module: contract +#: model:ir.actions.act_window,name:contract.act_recurring_invoices +msgid "Invoices" +msgstr "चालान" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +msgid "Invoicing Type" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoicing_type +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_invoicing_type +msgid "Invoicing type" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_journal_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_journal_id +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +msgid "Journal" +msgstr "पत्रिका" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract___last_update +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line___last_update +msgid "Last Modified on" +msgstr "अंतिम बार संशोधित" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_write_uid +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_write_uid +msgid "Last Updated by" +msgstr "द्वारा अंतिम अद्यतन" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_write_date +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_write_date +msgid "Last Updated on" +msgstr "अंतिम बार अद्यतन किया गया" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form +msgid "Legend (for the markers inside invoice lines description)" +msgstr "" + +#. module: contract +#: selection:account.analytic.account,recurring_rule_type:0 +#: selection:account.analytic.contract,recurring_rule_type:0 +msgid "Month(s)" +msgstr "माह(महीने)" + +#. module: contract +#: selection:account.analytic.account,recurring_rule_type:0 +#: selection:account.analytic.contract,recurring_rule_type:0 +msgid "Month(s) last day" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_name +msgid "Name" +msgstr "नाम" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search +msgid "Next Invoice" +msgstr "" + +#. module: contract +#: code:addons/contract/models/account_analytic_account.py:137 +#, python-format +msgid "Please define a sale journal for the company '%s'." +msgstr "" + +#. module: contract +#: selection:account.analytic.account,recurring_invoicing_type:0 +#: selection:account.analytic.contract,recurring_invoicing_type:0 +msgid "Post-paid" +msgstr "" + +#. module: contract +#: selection:account.analytic.account,recurring_invoicing_type:0 +#: selection:account.analytic.contract,recurring_invoicing_type:0 +msgid "Pre-paid" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_pricelist_id +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_pricelist_id +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +msgid "Pricelist" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_product_id +msgid "Product" +msgstr "प्रोडक्ट" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_quantity +msgid "Quantity" +msgstr "संख्या" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_rule_type +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_rule_type +#: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_search +msgid "Recurrence" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search +msgid "Recurring Invoices" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_interval +#: model:ir.model.fields,field_description:contract.field_account_analytic_contract_recurring_interval +msgid "Repeat Every" +msgstr "" + +#. module: contract +#: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_interval +#: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_interval +msgid "Repeat every (Days/Week/Month/Year)" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +msgid "Responsible" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Send by Email" +msgstr "" + +#. module: contract +#: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type +#: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type +msgid "Specify Interval for automatic invoice generation." +msgstr "" + +#. module: contract +#: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_invoicing_type +#: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_invoicing_type +msgid "Specify if process date is 'from' or 'to' invoicing date" +msgstr "" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_price_subtotal +msgid "Sub Total" +msgstr "उप कुल" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_price_unit +msgid "Unit Price" +msgstr "यूनिट मूल्य" + +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_uom_id +msgid "Unit of Measure" +msgstr "माप की इकाई" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "VAT:" +msgstr "" + +#. module: contract +#: selection:account.analytic.account,recurring_rule_type:0 +#: selection:account.analytic.contract,recurring_rule_type:0 +msgid "Week(s)" +msgstr "" + +#. module: contract +#: selection:account.analytic.account,recurring_rule_type:0 +#: selection:account.analytic.contract,recurring_rule_type:0 +msgid "Year(s)" +msgstr "" + +#. module: contract +#: code:addons/contract/models/account_analytic_account.py:129 +#, python-format +msgid "You must first select a Customer for Contract %s!" +msgstr "" + +#. module: contract +#: model:ir.model,name:contract.model_account_analytic_contract +msgid "account.analytic.contract" +msgstr "" + +#. module: contract +#: model:ir.model,name:contract.model_account_analytic_invoice_line +msgid "account.analytic.invoice.line" +msgstr "account.analytic.invoice.line" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "⇒ Show recurring invoices" +msgstr "" diff --git a/contract/i18n/hr.po b/contract/i18n/hr.po index 1fefb719..cd21f688 100644 --- a/contract/i18n/hr.po +++ b/contract/i18n/hr.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" "Last-Translator: Bole , 2017\n" "Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" "MIME-Version: 1.0\n" @@ -19,6 +19,64 @@ msgstr "" "Language: hr\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 +#: model:mail.template,body_html:contract.email_contract_template +msgid "" +"\n" +"
\n" +"

Hello ${object.partner_id.name or ''},

\n" +"

A new contract has been created:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Contract: ${object.name}
\n" +" % if object.date_start:\n" +"   Contract Date Start: ${object.date_start or ''}
\n" +" % endif\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Your Contact: ${object.user_id.name}\n" +" % else:\n" +"   Your Contact: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

If you have any questions, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Phone: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: contract +#: model:mail.template,subject:contract.email_contract_template +msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -31,6 +89,56 @@ msgstr "#KRAJ#: Završni datum obračunatog perioda" msgid "#START#: Start date of the invoiced period" msgstr "#START#: Početni datum obračunatog perioda" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Contract: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Date Start: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Partner:" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Price" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Quantity" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Total" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Unit Price" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -54,7 +162,15 @@ msgid "Click to create a new contract." msgstr "Kliknite za kreiranje novog ugovora." #. module: contract +#: code:addons/contract/models/account_analytic_account.py:216 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: contract +#: model:ir.actions.report.xml,name:contract.report_contract #: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:mail.template,report_name:contract.email_contract_template msgid "Contract" msgstr "Ugovor" @@ -241,7 +357,7 @@ msgid "Next Invoice" msgstr "Sljedeći račun" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:131 +#: code:addons/contract/models/account_analytic_account.py:137 #, python-format msgid "Please define a sale journal for the company '%s'." msgstr "" @@ -300,6 +416,16 @@ msgstr "Ponovi svakih" msgid "Repeat every (Days/Week/Month/Year)" msgstr "" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +msgid "Responsible" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Send by Email" +msgstr "" + #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type @@ -327,6 +453,11 @@ msgstr "" msgid "Unit of Measure" msgstr "Jedinica mjere" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "VAT:" +msgstr "" + #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 @@ -340,7 +471,7 @@ msgid "Year(s)" msgstr "Godina(e)" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:123 +#: code:addons/contract/models/account_analytic_account.py:129 #, python-format msgid "You must first select a Customer for Contract %s!" msgstr "" diff --git a/contract/i18n/hr_HR.po b/contract/i18n/hr_HR.po index 0d3a661d..ee0c7adb 100644 --- a/contract/i18n/hr_HR.po +++ b/contract/i18n/hr_HR.po @@ -4,14 +4,13 @@ # # Translators: # OCA Transbot , 2016 -# Bole , 2017 msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-07-08 01:22+0000\n" -"PO-Revision-Date: 2017-07-08 01:22+0000\n" -"Last-Translator: Bole , 2017\n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" +"Last-Translator: OCA Transbot , 2016\n" "Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/hr_HR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,6 +18,64 @@ msgstr "" "Language: hr_HR\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 +#: model:mail.template,body_html:contract.email_contract_template +msgid "" +"\n" +"
\n" +"

Hello ${object.partner_id.name or ''},

\n" +"

A new contract has been created:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Contract: ${object.name}
\n" +" % if object.date_start:\n" +"   Contract Date Start: ${object.date_start or ''}
\n" +" % endif\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Your Contact: ${object.user_id.name}\n" +" % else:\n" +"   Your Contact: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

If you have any questions, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Phone: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: contract +#: model:mail.template,subject:contract.email_contract_template +msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -31,6 +88,56 @@ msgstr "#KRAJ#: Krajnji datum perioda računa" msgid "#START#: Start date of the invoiced period" msgstr "#POČETAK#: Početni datum perioda računa" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Contract: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Date Start: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Partner:" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Price" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Quantity" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Total" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Unit Price" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -54,7 +161,15 @@ msgid "Click to create a new contract." msgstr "Kliknite za kreiranje novog ugovora." #. module: contract +#: code:addons/contract/models/account_analytic_account.py:216 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: contract +#: model:ir.actions.report.xml,name:contract.report_contract #: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:mail.template,report_name:contract.email_contract_template msgid "Contract" msgstr "Ugovor" @@ -241,7 +356,7 @@ msgid "Next Invoice" msgstr "Sljedeći račun" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:131 +#: code:addons/contract/models/account_analytic_account.py:137 #, python-format msgid "Please define a sale journal for the company '%s'." msgstr "Molimo definirajte dnevnik prodaje za poduzeće '%s'." @@ -300,6 +415,16 @@ msgstr "Ponovi svakih" msgid "Repeat every (Days/Week/Month/Year)" msgstr "Ponavljaj svakih (Dana/Tjedana/Mjesec/Godina)" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +msgid "Responsible" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Send by Email" +msgstr "" + #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type @@ -327,6 +452,11 @@ msgstr "Jedinična cijena" msgid "Unit of Measure" msgstr "Jedinica mjere" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "VAT:" +msgstr "" + #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 @@ -340,7 +470,7 @@ msgid "Year(s)" msgstr "Godina(e)" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:123 +#: code:addons/contract/models/account_analytic_account.py:129 #, python-format msgid "You must first select a Customer for Contract %s!" msgstr "Prvo morate odabrati partnera za Ugovor %s!" diff --git a/contract/i18n/it.po b/contract/i18n/it.po index ee7b5735..bb1fbb02 100644 --- a/contract/i18n/it.po +++ b/contract/i18n/it.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" "Last-Translator: Lorenzo Battistini , 2017\n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "MIME-Version: 1.0\n" @@ -19,6 +19,64 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: contract +#: model:mail.template,body_html:contract.email_contract_template +msgid "" +"\n" +"
\n" +"

Hello ${object.partner_id.name or ''},

\n" +"

A new contract has been created:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Contract: ${object.name}
\n" +" % if object.date_start:\n" +"   Contract Date Start: ${object.date_start or ''}
\n" +" % endif\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Your Contact: ${object.user_id.name}\n" +" % else:\n" +"   Your Contact: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

If you have any questions, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Phone: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: contract +#: model:mail.template,subject:contract.email_contract_template +msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -31,6 +89,56 @@ msgstr "#END#: Data di fine del periodo fatturato" msgid "#START#: Start date of the invoiced period" msgstr "#START#: Data di inizio del periodo fatturato" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Contract: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Date Start: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Partner:" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Price" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Quantity" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Total" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Unit Price" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -54,7 +162,15 @@ msgid "Click to create a new contract." msgstr "Cliccare per creare un nuovo contratto" #. module: contract +#: code:addons/contract/models/account_analytic_account.py:216 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: contract +#: model:ir.actions.report.xml,name:contract.report_contract #: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:mail.template,report_name:contract.email_contract_template msgid "Contract" msgstr "Contratto" @@ -242,7 +358,7 @@ msgid "Next Invoice" msgstr "Prossima fattura" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:131 +#: code:addons/contract/models/account_analytic_account.py:137 #, python-format msgid "Please define a sale journal for the company '%s'." msgstr "Definire un sezionale vendite per l'azienda '%s'." @@ -301,6 +417,16 @@ msgstr "Ripeti ogni" msgid "Repeat every (Days/Week/Month/Year)" msgstr "Ripeti ogni (Giorni/settimane/mesi/anni)" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +msgid "Responsible" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Send by Email" +msgstr "" + #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type @@ -329,6 +455,11 @@ msgstr "Prezzo unitario" msgid "Unit of Measure" msgstr "Unità di misura" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "VAT:" +msgstr "" + #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 @@ -342,7 +473,7 @@ msgid "Year(s)" msgstr "Anno(i)" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:123 +#: code:addons/contract/models/account_analytic_account.py:129 #, python-format msgid "You must first select a Customer for Contract %s!" msgstr "Bisogna prima selezionare un cliente per il contratto %s!" diff --git a/contract/i18n/nl.po b/contract/i18n/nl.po index 951ee3cb..440efc75 100644 --- a/contract/i18n/nl.po +++ b/contract/i18n/nl.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" "Last-Translator: OCA Transbot , 2016\n" "Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" "MIME-Version: 1.0\n" @@ -18,6 +18,64 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: contract +#: model:mail.template,body_html:contract.email_contract_template +msgid "" +"\n" +"
\n" +"

Hello ${object.partner_id.name or ''},

\n" +"

A new contract has been created:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Contract: ${object.name}
\n" +" % if object.date_start:\n" +"   Contract Date Start: ${object.date_start or ''}
\n" +" % endif\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Your Contact: ${object.user_id.name}\n" +" % else:\n" +"   Your Contact: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

If you have any questions, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Phone: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: contract +#: model:mail.template,subject:contract.email_contract_template +msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -30,6 +88,56 @@ msgstr "#END#: Einddatum van de facturatieperiode" msgid "#START#: Start date of the invoiced period" msgstr "#START#: Startdatum van de facturatie periode" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Contract: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Date Start: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Partner:" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Price" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Quantity" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Total" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Unit Price" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -53,7 +161,15 @@ msgid "Click to create a new contract." msgstr "Klik voor het aanmaken van een nieuw contract" #. module: contract +#: code:addons/contract/models/account_analytic_account.py:216 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: contract +#: model:ir.actions.report.xml,name:contract.report_contract #: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:mail.template,report_name:contract.email_contract_template msgid "Contract" msgstr "Contract" @@ -240,7 +356,7 @@ msgid "Next Invoice" msgstr "Volgende factuur" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:131 +#: code:addons/contract/models/account_analytic_account.py:137 #, python-format msgid "Please define a sale journal for the company '%s'." msgstr "U dient een verkoopboek te definiëren voor het bedrijf '%s'." @@ -299,6 +415,16 @@ msgstr "Herhaal elke:" msgid "Repeat every (Days/Week/Month/Year)" msgstr "Herhaal elke (dag/week/maand/jaar)" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +msgid "Responsible" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Send by Email" +msgstr "" + #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type @@ -328,6 +454,11 @@ msgstr "Prijs per eenheid" msgid "Unit of Measure" msgstr "Maateenheid" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "VAT:" +msgstr "" + #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 @@ -341,7 +472,7 @@ msgid "Year(s)" msgstr "Jaar" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:123 +#: code:addons/contract/models/account_analytic_account.py:129 #, python-format 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/i18n/nl_NL.po b/contract/i18n/nl_NL.po index 23793fc1..78a34188 100644 --- a/contract/i18n/nl_NL.po +++ b/contract/i18n/nl_NL.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-09 01:10+0000\n" -"PO-Revision-Date: 2017-06-09 01:10+0000\n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" "Last-Translator: Peter Hageman , 2017\n" "Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" "MIME-Version: 1.0\n" @@ -18,6 +18,64 @@ msgstr "" "Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: contract +#: model:mail.template,body_html:contract.email_contract_template +msgid "" +"\n" +"
\n" +"

Hello ${object.partner_id.name or ''},

\n" +"

A new contract has been created:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Contract: ${object.name}
\n" +" % if object.date_start:\n" +"   Contract Date Start: ${object.date_start or ''}
\n" +" % endif\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Your Contact: ${object.user_id.name}\n" +" % else:\n" +"   Your Contact: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

If you have any questions, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Phone: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: contract +#: model:mail.template,subject:contract.email_contract_template +msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -30,6 +88,56 @@ msgstr "" msgid "#START#: Start date of the invoiced period" msgstr "" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Contract: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Date Start: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Partner:" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Price" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Quantity" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Total" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Unit Price" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -53,7 +161,15 @@ msgid "Click to create a new contract." msgstr "" #. module: contract +#: code:addons/contract/models/account_analytic_account.py:216 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: contract +#: model:ir.actions.report.xml,name:contract.report_contract #: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:mail.template,report_name:contract.email_contract_template msgid "Contract" msgstr "Contract" @@ -238,7 +354,7 @@ msgid "Next Invoice" msgstr "" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:131 +#: code:addons/contract/models/account_analytic_account.py:137 #, python-format msgid "Please define a sale journal for the company '%s'." msgstr "" @@ -297,6 +413,16 @@ msgstr "" msgid "Repeat every (Days/Week/Month/Year)" msgstr "" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +msgid "Responsible" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Send by Email" +msgstr "" + #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type @@ -324,6 +450,11 @@ msgstr "" msgid "Unit of Measure" msgstr "" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "VAT:" +msgstr "" + #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 @@ -337,7 +468,7 @@ msgid "Year(s)" msgstr "" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:123 +#: code:addons/contract/models/account_analytic_account.py:129 #, python-format msgid "You must first select a Customer for Contract %s!" msgstr "" diff --git a/contract/i18n/pt.po b/contract/i18n/pt.po index b7c4f886..c3404fcd 100644 --- a/contract/i18n/pt.po +++ b/contract/i18n/pt.po @@ -4,14 +4,13 @@ # # Translators: # OCA Transbot , 2016 -# Pedro Castro Silva , 2017 msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-07-15 01:24+0000\n" -"PO-Revision-Date: 2017-07-15 01:24+0000\n" -"Last-Translator: Pedro Castro Silva , 2017\n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" +"Last-Translator: OCA Transbot , 2016\n" "Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,6 +18,64 @@ msgstr "" "Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: contract +#: model:mail.template,body_html:contract.email_contract_template +msgid "" +"\n" +"
\n" +"

Hello ${object.partner_id.name or ''},

\n" +"

A new contract has been created:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Contract: ${object.name}
\n" +" % if object.date_start:\n" +"   Contract Date Start: ${object.date_start or ''}
\n" +" % endif\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Your Contact: ${object.user_id.name}\n" +" % else:\n" +"   Your Contact: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

If you have any questions, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Phone: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: contract +#: model:mail.template,subject:contract.email_contract_template +msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -31,6 +88,56 @@ msgstr "#END#: Data final do período de faturação" msgid "#START#: Start date of the invoiced period" msgstr "#START#: Data inicial do período de faturação" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Contract: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Date Start: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Partner:" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Price" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Quantity" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Total" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Unit Price" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -54,7 +161,15 @@ msgid "Click to create a new contract." msgstr "Clique para criar um novo contrato." #. module: contract +#: code:addons/contract/models/account_analytic_account.py:216 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: contract +#: model:ir.actions.report.xml,name:contract.report_contract #: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:mail.template,report_name:contract.email_contract_template msgid "Contract" msgstr "Contrato" @@ -241,7 +356,7 @@ msgid "Next Invoice" msgstr "Próxima Fatura" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:131 +#: code:addons/contract/models/account_analytic_account.py:137 #, python-format msgid "Please define a sale journal for the company '%s'." msgstr "Por favor, defina um diário de vendas para a empresa '%s'." @@ -300,6 +415,16 @@ msgstr "Repetir a cada" msgid "Repeat every (Days/Week/Month/Year)" msgstr "Repatir a cada (Dia/Semana/Mês/Ano)" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +msgid "Responsible" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Send by Email" +msgstr "" + #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type @@ -329,6 +454,11 @@ msgstr "Preço Unitário" msgid "Unit of Measure" msgstr "Unidade de Medida" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "VAT:" +msgstr "" + #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 @@ -342,7 +472,7 @@ msgid "Year(s)" msgstr "Ano(s)" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:123 +#: code:addons/contract/models/account_analytic_account.py:129 #, python-format msgid "You must first select a Customer for Contract %s!" msgstr "Deve primeiro selecionar um Cliente para o Contrato %s!" diff --git a/contract/i18n/pt_BR.po b/contract/i18n/pt_BR.po index 08470f9e..6a6195d5 100644 --- a/contract/i18n/pt_BR.po +++ b/contract/i18n/pt_BR.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" "Last-Translator: OCA Transbot , 2016\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -18,6 +18,64 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#. module: contract +#: model:mail.template,body_html:contract.email_contract_template +msgid "" +"\n" +"
\n" +"

Hello ${object.partner_id.name or ''},

\n" +"

A new contract has been created:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Contract: ${object.name}
\n" +" % if object.date_start:\n" +"   Contract Date Start: ${object.date_start or ''}
\n" +" % endif\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Your Contact: ${object.user_id.name}\n" +" % else:\n" +"   Your Contact: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

If you have any questions, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Phone: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: contract +#: model:mail.template,subject:contract.email_contract_template +msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -30,6 +88,56 @@ msgstr "" msgid "#START#: Start date of the invoiced period" msgstr "" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Contract: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Date Start: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Partner:" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Price" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Quantity" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Total" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Unit Price" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -53,7 +161,15 @@ msgid "Click to create a new contract." msgstr "Clique para criar um novo contrato." #. module: contract +#: code:addons/contract/models/account_analytic_account.py:216 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: contract +#: model:ir.actions.report.xml,name:contract.report_contract #: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:mail.template,report_name:contract.email_contract_template msgid "Contract" msgstr "Contrato" @@ -239,7 +355,7 @@ msgid "Next Invoice" msgstr "Próxima fatura" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:131 +#: code:addons/contract/models/account_analytic_account.py:137 #, python-format msgid "Please define a sale journal for the company '%s'." msgstr "" @@ -298,6 +414,16 @@ msgstr "Repete cada" msgid "Repeat every (Days/Week/Month/Year)" msgstr "Repete cada (Dia/Semana/Mês/Ano)" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +msgid "Responsible" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Send by Email" +msgstr "" + #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type @@ -325,6 +451,11 @@ msgstr "Preço unitário" msgid "Unit of Measure" msgstr "Unidade de medida" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "VAT:" +msgstr "" + #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 @@ -338,7 +469,7 @@ msgid "Year(s)" msgstr "Ano(s)" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:123 +#: code:addons/contract/models/account_analytic_account.py:129 #, python-format 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/i18n/tr.po b/contract/i18n/tr.po index 5c593104..11315cfc 100644 --- a/contract/i18n/tr.po +++ b/contract/i18n/tr.po @@ -4,14 +4,13 @@ # # Translators: # OCA Transbot , 2016 -# Ediz Duman , 2016 msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-05-13 09:15+0000\n" -"PO-Revision-Date: 2017-05-13 09:15+0000\n" -"Last-Translator: Ediz Duman , 2016\n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" +"Last-Translator: OCA Transbot , 2016\n" "Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,6 +18,64 @@ msgstr "" "Language: tr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#. module: contract +#: model:mail.template,body_html:contract.email_contract_template +msgid "" +"\n" +"
\n" +"

Hello ${object.partner_id.name or ''},

\n" +"

A new contract has been created:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Contract: ${object.name}
\n" +" % if object.date_start:\n" +"   Contract Date Start: ${object.date_start or ''}
\n" +" % endif\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Your Contact: ${object.user_id.name}\n" +" % else:\n" +"   Your Contact: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

If you have any questions, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Phone: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: contract +#: model:mail.template,subject:contract.email_contract_template +msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -31,6 +88,56 @@ msgstr "#SON#: Faturalanmış dönemin bitiş tarihi" msgid "#START#: Start date of the invoiced period" msgstr "#BAŞLAMA#: Faturalandırılan süre başlangıç tarihi" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Contract: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Date Start: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Partner:" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Price" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Quantity" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Total" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Unit Price" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -54,7 +161,15 @@ msgid "Click to create a new contract." msgstr "Yeni bir sözleşme oluşturmak için tıklayın." #. module: contract +#: code:addons/contract/models/account_analytic_account.py:216 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: contract +#: model:ir.actions.report.xml,name:contract.report_contract #: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:mail.template,report_name:contract.email_contract_template msgid "Contract" msgstr "Sözleşme" @@ -240,7 +355,7 @@ msgid "Next Invoice" msgstr "Sonraki Fatura" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:131 +#: code:addons/contract/models/account_analytic_account.py:137 #, python-format msgid "Please define a sale journal for the company '%s'." msgstr "Lütfen '%s' firması için bir satış yevmiyesi tanımlayın." @@ -299,6 +414,16 @@ msgstr "" msgid "Repeat every (Days/Week/Month/Year)" msgstr "" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +msgid "Responsible" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Send by Email" +msgstr "" + #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type @@ -326,6 +451,11 @@ msgstr "Birim Fiyat" msgid "Unit of Measure" msgstr "Ölçü Birimi" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "VAT:" +msgstr "" + #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 @@ -339,7 +469,7 @@ msgid "Year(s)" msgstr "Yıl(lar)" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:123 +#: code:addons/contract/models/account_analytic_account.py:129 #, python-format msgid "You must first select a Customer for Contract %s!" msgstr "Önce Sözleşme %s için bir Müşteri seçmelisiniz!" diff --git a/contract/i18n/tr_TR.po b/contract/i18n/tr_TR.po index abab451b..4e3d1474 100644 --- a/contract/i18n/tr_TR.po +++ b/contract/i18n/tr_TR.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-27 02:40+0000\n" -"PO-Revision-Date: 2017-04-27 02:40+0000\n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/tr_TR/)\n" "MIME-Version: 1.0\n" @@ -18,6 +18,64 @@ msgstr "" "Language: tr_TR\n" "Plural-Forms: nplurals=1; plural=0;\n" +#. module: contract +#: model:mail.template,body_html:contract.email_contract_template +msgid "" +"\n" +"
\n" +"

Hello ${object.partner_id.name or ''},

\n" +"

A new contract has been created:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Contract: ${object.name}
\n" +" % if object.date_start:\n" +"   Contract Date Start: ${object.date_start or ''}
\n" +" % endif\n" +"\n" +" % if object.user_id:\n" +" % if object.user_id.email:\n" +"   Your Contact: ${object.user_id.name}\n" +" % else:\n" +"   Your Contact: ${object.user_id.name}\n" +" % endif\n" +" % endif\n" +"

\n" +"\n" +"
\n" +"

If you have any questions, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe}\n" +" \n" +" % if object.company_id.phone:\n" +"
\n" +" Phone: ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web: ${object.company_id.website}\n" +"
\n" +" %endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" + +#. module: contract +#: model:mail.template,subject:contract.email_contract_template +msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -31,6 +89,56 @@ msgid "#START#: Start date of the invoiced period" msgstr "" " #Başlama # : Faturalandırılan dönemin başlangıç tarihi" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Contract: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Date Start: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Description" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Partner:" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Price" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Quantity" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Recurring Items" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Responsible: " +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Total" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "Unit Price" +msgstr "" + #. module: contract #: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form #: model:ir.ui.view,arch_db:contract.account_analytic_contract_view_form @@ -54,7 +162,15 @@ msgid "Click to create a new contract." msgstr "Yeni bir sözleşme oluşturmak için tıklayın." #. module: contract +#: code:addons/contract/models/account_analytic_account.py:216 +#, python-format +msgid "Compose Email" +msgstr "" + +#. module: contract +#: model:ir.actions.report.xml,name:contract.report_contract #: model:ir.model.fields,field_description:contract.field_account_invoice_contract_id +#: model:mail.template,report_name:contract.email_contract_template msgid "Contract" msgstr "Sözleşme" @@ -240,7 +356,7 @@ msgid "Next Invoice" msgstr "Sonraki Fatura" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:131 +#: code:addons/contract/models/account_analytic_account.py:137 #, python-format msgid "Please define a sale journal for the company '%s'." msgstr "Lütfen '%s' şirketi için bir satış yevmiyesi tanımlayın." @@ -299,6 +415,16 @@ msgstr "Tekrarlama Sıklığı" msgid "Repeat every (Days/Week/Month/Year)" msgstr "Tekrarlama sıklığı(Gün /Hafta /Ay /Yıl)" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_account_analytic_account_user_id +msgid "Responsible" +msgstr "" + +#. module: contract +#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form +msgid "Send by Email" +msgstr "" + #. module: contract #: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_rule_type #: model:ir.model.fields,help:contract.field_account_analytic_contract_recurring_rule_type @@ -326,6 +452,11 @@ msgstr "Birim Fiyat" msgid "Unit of Measure" msgstr "Ölçü Birimi" +#. module: contract +#: model:ir.ui.view,arch_db:contract.report_contract_document +msgid "VAT:" +msgstr "" + #. module: contract #: selection:account.analytic.account,recurring_rule_type:0 #: selection:account.analytic.contract,recurring_rule_type:0 @@ -339,7 +470,7 @@ msgid "Year(s)" msgstr "Yıl(lar)" #. module: contract -#: code:addons/contract/models/account_analytic_account.py:123 +#: code:addons/contract/models/account_analytic_account.py:129 #, python-format 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_payment_mode/i18n/hi_IN.po b/contract_payment_mode/i18n/hi_IN.po new file mode 100644 index 00000000..26b2ce79 --- /dev/null +++ b/contract_payment_mode/i18n/hi_IN.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_payment_mode +# +# Translators: +# Ashish Deshmukh , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" +"Last-Translator: Ashish Deshmukh , 2017\n" +"Language-Team: Hindi (India) (https://www.transifex.com/oca/teams/23907/hi_IN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hi_IN\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_payment_mode +#: model:ir.model,name:contract_payment_mode.model_account_analytic_account +msgid "Analytic Account" +msgstr "विश्लेषणात्मक खाता" + +#. module: contract_payment_mode +#: model:ir.model.fields,field_description:contract_payment_mode.field_account_analytic_account_payment_mode_id +msgid "Payment Mode" +msgstr "भुगतान का प्रकार" diff --git a/contract_show_invoice/i18n/hi_IN.po b/contract_show_invoice/i18n/hi_IN.po new file mode 100644 index 00000000..fdf22247 --- /dev/null +++ b/contract_show_invoice/i18n/hi_IN.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_show_invoice +# +# Translators: +# Ashish Deshmukh , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" +"Last-Translator: Ashish Deshmukh , 2017\n" +"Language-Team: Hindi (India) (https://www.transifex.com/oca/teams/23907/hi_IN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hi_IN\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_show_invoice +#: model:ir.model.fields,field_description:contract_show_invoice.field_account_invoice_analytic_account_ids +msgid "Contracts" +msgstr "अनुबंध" + +#. module: contract_show_invoice +#: model:ir.model,name:contract_show_invoice.model_account_invoice +msgid "Invoice" +msgstr "चालान" + +#. module: contract_show_invoice +#: model:ir.actions.act_window,name:contract_show_invoice.act_analytic_invoices +#: model:ir.ui.view,arch_db:contract_show_invoice.account_analytic_account_button_invoice +msgid "Invoices" +msgstr "चालान" + +#. module: contract_show_invoice +#: model:ir.ui.view,arch_db:contract_show_invoice.account_analytic_account_button_invoice +msgid "Invoices related with this contract" +msgstr "इस अनुबंध से संभंधित चालान" diff --git a/contract_variable_quantity/i18n/hi_IN.po b/contract_variable_quantity/i18n/hi_IN.po new file mode 100644 index 00000000..0c43df52 --- /dev/null +++ b/contract_variable_quantity/i18n/hi_IN.po @@ -0,0 +1,187 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * contract_variable_quantity +# +# Translators: +# Ashish Deshmukh , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" +"Last-Translator: Ashish Deshmukh , 2017\n" +"Language-Team: Hindi (India) (https://www.transifex.com/oca/teams/23907/hi_IN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hi_IN\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "" +"\n" +" result = env['product.product'].search_count([('sale_ok', '=', True)])\n" +" " +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "context: Current context dictionary." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "contract: Contract whose line belongs to." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "env: Environment variable for getting other models." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "invoice: Invoice (header) being created." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "" +"line: Contract recurring invoice line that triggers this formula." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "user: Current user." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.model,name:contract_variable_quantity.model_account_analytic_account +msgid "Analytic Account" +msgstr "विश्लेषणात्मक खाता" + +#. module: contract_variable_quantity +#: model:ir.actions.act_window,help:contract_variable_quantity.action_contract_quantity_formula +msgid "Click to create a new formula for variable quantities." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_code +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "Code" +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_create_uid +msgid "Created by" +msgstr "द्वारा बनाया गया" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_create_date +msgid "Created on" +msgstr "को निर्मित" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_display_name +msgid "Display Name" +msgstr "" + +#. module: contract_variable_quantity +#: code:addons/contract_variable_quantity/models/contract.py:64 +#, python-format +msgid "" +"Error evaluating code.\n" +"Details: %s" +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "Example of Python code" +msgstr "" + +#. module: contract_variable_quantity +#: selection:account.analytic.invoice.line,qty_type:0 +msgid "Fixed quantity" +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.actions.act_window,name:contract_variable_quantity.action_contract_quantity_formula +#: model:ir.ui.menu,name:contract_variable_quantity.menu_contract_quantity_formula +msgid "Formulas (quantity)" +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "Help with Python expressions." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_id +msgid "ID" +msgstr "आईडी" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula___last_update +msgid "Last Modified on" +msgstr "अंतिम बार संशोधित" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_write_uid +msgid "Last Updated by" +msgstr "द्वारा अंतिम अद्यतन" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_write_date +msgid "Last Updated on" +msgstr "अंतिम बार अद्यतन किया गया" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_name +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "Name" +msgstr "नाम" + +#. module: contract_variable_quantity +#: code:addons/contract_variable_quantity/models/contract.py:66 +#, python-format +msgid "No valid result returned." +msgstr "कोई वैध परिणाम नहीं मिला।" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_account_analytic_invoice_line_qty_formula_id +msgid "Qty. formula" +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.model.fields,field_description:contract_variable_quantity.field_account_analytic_invoice_line_qty_type +msgid "Qty. type" +msgstr "" + +#. module: contract_variable_quantity +#: selection:account.analytic.invoice.line,qty_type:0 +msgid "Variable quantity" +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "You can use these variables to compute your formula:" +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form +msgid "" +"You have to insert valid Python code block that stores at some moment a " +"float/integer value of the quantity to invoice in the variable 'result'." +msgstr "" + +#. module: contract_variable_quantity +#: model:ir.model,name:contract_variable_quantity.model_account_analytic_invoice_line +msgid "account.analytic.invoice.line" +msgstr "account.analytic.invoice.line" + +#. module: contract_variable_quantity +#: model:ir.model,name:contract_variable_quantity.model_contract_line_qty_formula +msgid "contract.line.qty.formula" +msgstr "contract.line.qty.formula" diff --git a/product_contract/i18n/hi_IN.po b/product_contract/i18n/hi_IN.po new file mode 100644 index 00000000..fe5f0e87 --- /dev/null +++ b/product_contract/i18n/hi_IN.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_contract +# +# Translators: +# Ashish Deshmukh , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-17 01:05+0000\n" +"PO-Revision-Date: 2017-08-17 01:05+0000\n" +"Last-Translator: Ashish Deshmukh , 2017\n" +"Language-Team: Hindi (India) (https://www.transifex.com/oca/teams/23907/hi_IN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hi_IN\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_contract +#: model:ir.model.fields,field_description:product_contract.field_sale_order_line_contract_id +msgid "Contract" +msgstr "अनुबंध" + +#. module: product_contract +#: model:ir.model.fields,field_description:product_contract.field_product_product_contract_template_id +#: model:ir.model.fields,field_description:product_contract.field_product_template_contract_template_id +msgid "Contract Template" +msgstr "अनुबंध टेम्पलेट" + +#. module: product_contract +#: model:ir.model.fields,field_description:product_contract.field_product_product_is_contract +#: model:ir.model.fields,field_description:product_contract.field_product_template_is_contract +msgid "Is a contract" +msgstr "एक अनुबंध है" + +#. module: product_contract +#: model:ir.model,name:product_contract.model_product_template +msgid "Product Template" +msgstr "प्रोडक्ट टेम्पलेट" + +#. module: product_contract +#: model:ir.model,name:product_contract.model_sale_order +msgid "Sales Order" +msgstr "बिक्री आदेश" + +#. module: product_contract +#: model:ir.model,name:product_contract.model_sale_order_line +msgid "Sales Order Line" +msgstr "बिक्री आदेश पंक्ति" From c0a415a611c28c3aa8224eba9293692083e76ef8 Mon Sep 17 00:00:00 2001 From: Angel Moya Pardo Date: Thu, 10 Aug 2017 14:11:49 +0200 Subject: [PATCH 24/47] ADD contract_sale_generation module --- contract_sale_generation/README.rst | 57 +++++++++ contract_sale_generation/__init__.py | 2 + contract_sale_generation/__manifest__.py | 22 ++++ contract_sale_generation/models/__init__.py | 5 + .../models/account_analytic_account.py | 80 +++++++++++++ .../models/account_analytic_contract.py | 20 ++++ contract_sale_generation/tests/__init__.py | 5 + .../tests/test_contract_invoice.py | 87 ++++++++++++++ .../tests/test_contract_sale.py | 113 ++++++++++++++++++ .../views/account_analytic_account_view.xml | 39 ++++++ .../views/account_analytic_contract_view.xml | 15 +++ contract_sale_generation/views/sale_view.xml | 15 +++ 12 files changed, 460 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/models/__init__.py create mode 100644 contract_sale_generation/models/account_analytic_account.py create mode 100644 contract_sale_generation/models/account_analytic_contract.py create mode 100644 contract_sale_generation/tests/__init__.py create mode 100644 contract_sale_generation/tests/test_contract_invoice.py create mode 100644 contract_sale_generation/tests/test_contract_sale.py create mode 100644 contract_sale_generation/views/account_analytic_account_view.xml create mode 100644 contract_sale_generation/views/account_analytic_contract_view.xml create mode 100644 contract_sale_generation/views/sale_view.xml diff --git a/contract_sale_generation/README.rst b/contract_sale_generation/README.rst new file mode 100644 index 00000000..dda50022 --- /dev/null +++ b/contract_sale_generation/README.rst @@ -0,0 +1,57 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +============================= +Contracts for recurrent sales +============================= + +This module extends functionality of contracts to be able to generate sales +orders instead of invoices. + +Usage +===== + +To use this module, you need to: + +#. Go to Accounting -> Contracts and select or create a new contract. +#. Check *Generate recurring invoices automatically*. +#. 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" + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/110/10.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Contributors +------------ + +* Angel Moya + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/contract_sale_generation/__init__.py b/contract_sale_generation/__init__.py new file mode 100644 index 00000000..a0fdc10f --- /dev/null +++ b/contract_sale_generation/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import models diff --git a/contract_sale_generation/__manifest__.py b/contract_sale_generation/__manifest__.py new file mode 100644 index 00000000..072fa461 --- /dev/null +++ b/contract_sale_generation/__manifest__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# 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': '10.0.1.0.0', + 'category': 'Contract Management', + 'license': 'AGPL-3', + 'author': "PESOL, " + "Odoo Community Association (OCA)", + 'website': 'https://github.com/oca/contract', + 'depends': ['contract', 'sale'], + 'data': [ + 'views/account_analytic_account_view.xml', + 'views/account_analytic_contract_view.xml', + 'views/sale_view.xml', + ], + 'installable': True, +} diff --git a/contract_sale_generation/models/__init__.py b/contract_sale_generation/models/__init__.py new file mode 100644 index 00000000..a3782ea7 --- /dev/null +++ b/contract_sale_generation/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import account_analytic_contract +from . import account_analytic_account diff --git a/contract_sale_generation/models/account_analytic_account.py b/contract_sale_generation/models/account_analytic_account.py new file mode 100644 index 00000000..b29b4afd --- /dev/null +++ b/contract_sale_generation/models/account_analytic_account.py @@ -0,0 +1,80 @@ +# -*- coding: utf-8 -*- +# © 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 +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, models +from odoo.exceptions import ValidationError +from odoo.tools.translate import _ + + +class AccountAnalyticAccount(models.Model): + _inherit = 'account.analytic.account' + + @api.model + def _prepare_sale_line(self, line, order_id): + sale_line = self.env['sale.order.line'].new({ + 'order_id': order_id, + 'product_id': line.product_id.id, + 'proudct_uom_qty': line.quantity, + 'proudct_uom_id': line.uom_id.id, + }) + # Get other invoice line values from product onchange + sale_line.product_id_change() + sale_line_vals = sale_line._convert_to_write(sale_line._cache) + # Insert markers + name = line.name + contract = line.analytic_account_id + if 'old_date' in self.env.context and 'next_date' in self.env.context: + lang_obj = self.env['res.lang'] + lang = lang_obj.search( + [('code', '=', contract.partner_id.lang)]) + date_format = lang.date_format or '%m/%d/%Y' + name = self._insert_markers( + line, self.env.context['old_date'], + self.env.context['next_date'], date_format) + sale_line_vals.update({ + 'name': name, + 'discount': line.discount, + 'price_unit': line.price_unit, + }) + return sale_line_vals + + @api.multi + def _prepare_sale(self): + self.ensure_one() + if not self.partner_id: + raise ValidationError( + _("You must first select a Customer for Contract %s!") % + self.name) + sale = self.env['sale.order'].new({ + 'partner_id': self.partner_id, + 'date_order': self.recurring_next_date, + 'origin': self.name, + 'company_id': self.company_id.id, + 'user_id': self.partner_id.user_id.id, + 'project_id': self.id + }) + # Get other invoice values from partner onchange + sale.onchange_partner_id() + return sale._convert_to_write(sale._cache) + + @api.multi + def _create_invoice(self): + self.ensure_one() + if self.type == 'invoice': + return super(AccountAnalyticAccount, self)._create_invoice() + else: + sale_vals = self._prepare_sale() + sale = self.env['sale.order'].create(sale_vals) + for line in self.recurring_invoice_line_ids: + sale_line_vals = self._prepare_sale_line(line, sale.id) + self.env['sale.order.line'].create(sale_line_vals) + if self.sale_autoconfirm: + sale.action_confirm() + return sale diff --git a/contract_sale_generation/models/account_analytic_contract.py b/contract_sale_generation/models/account_analytic_contract.py new file mode 100644 index 00000000..2db200da --- /dev/null +++ b/contract_sale_generation/models/account_analytic_contract.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# 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 AccountAnalyticContract(models.Model): + _inherit = 'account.analytic.contract' + + type = fields.Selection( + string='Type', + selection=[('invoice', 'Invoice'), + ('sale', 'Sale')], + default='invoice', + required=True, + ) + sale_autoconfirm = fields.Boolean( + string='Sale autoconfirm') diff --git a/contract_sale_generation/tests/__init__.py b/contract_sale_generation/tests/__init__.py new file mode 100644 index 00000000..dc292d5e --- /dev/null +++ b/contract_sale_generation/tests/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_contract_invoice +from . import test_contract_sale diff --git a/contract_sale_generation/tests/test_contract_invoice.py b/contract_sale_generation/tests/test_contract_invoice.py new file mode 100644 index 00000000..5974b6bb --- /dev/null +++ b/contract_sale_generation/tests/test_contract_invoice.py @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- +# © 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 + + +class TestContractInvoice(TransactionCase): + # Use case : Prepare some data for current test case + + def setUp(self): + super(TestContractInvoice, self).setUp() + self.partner = self.env.ref('base.res_partner_2') + self.product = self.env.ref('product.product_product_2') + self.product.taxes_id += self.env['account.tax'].search( + [('type_tax_use', '=', 'sale')], limit=1) + self.product.description_sale = 'Test description sale' + self.template_vals = { + 'recurring_rule_type': 'yearly', + 'recurring_interval': 1, + 'name': 'Test Contract Template', + 'type': 'invoice' + } + self.template = self.env['account.analytic.contract'].create( + self.template_vals, + ) + self.contract = self.env['account.analytic.account'].create({ + 'name': 'Test Contract', + 'partner_id': self.partner.id, + 'pricelist_id': self.partner.property_product_pricelist.id, + 'recurring_invoices': True, + 'date_start': '2016-02-15', + 'recurring_next_date': '2016-02-29', + }) + self.contract.contract_template_id = self.template + self.contract._onchange_contract_template_id() + self.contract_line = self.env['account.analytic.invoice.line'].create({ + 'analytic_account_id': self.contract.id, + 'product_id': self.product.id, + 'name': 'Services from #START# to #END#', + 'quantity': 1, + 'uom_id': self.product.uom_id.id, + 'price_unit': 100, + 'discount': 50, + }) + + def test_check_discount(self): + with self.assertRaises(ValidationError): + self.contract_line.write({'discount': 120}) + + def test_contract(self): + self.assertAlmostEqual(self.contract_line.price_subtotal, 50.0) + res = self.contract_line._onchange_product_id() + self.assertIn('uom_id', res['domain']) + self.contract_line.price_unit = 100.0 + + self.contract.partner_id = False + with self.assertRaises(ValidationError): + self.contract.recurring_create_invoice() + self.contract.partner_id = self.partner.id + + self.contract.recurring_create_invoice() + self.invoice_monthly = self.env['account.invoice'].search( + [('contract_id', '=', self.contract.id)]) + self.assertTrue(self.invoice_monthly) + self.assertEqual(self.contract.recurring_next_date, '2017-02-28') + + self.inv_line = self.invoice_monthly.invoice_line_ids[0] + self.assertTrue(self.inv_line.invoice_line_tax_ids) + self.assertAlmostEqual(self.inv_line.price_subtotal, 50.0) + self.assertEqual(self.contract.partner_id.user_id, + self.invoice_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 = self.template + self.contract._onchange_contract_template_id() + res = { + 'recurring_rule_type': self.contract.recurring_rule_type, + 'recurring_interval': self.contract.recurring_interval, + 'type': 'invoice' + } + del self.template_vals['name'] + self.assertDictEqual(res, self.template_vals) 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 00000000..02aacac5 --- /dev/null +++ b/contract_sale_generation/tests/test_contract_sale.py @@ -0,0 +1,113 @@ +# -*- coding: utf-8 -*- +# © 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 + + +class TestContractSale(TransactionCase): + # Use case : Prepare some data for current test case + + def setUp(self): + super(TestContractSale, self).setUp() + self.partner = self.env.ref('base.res_partner_2') + self.product = self.env.ref('product.product_product_2') + self.product.taxes_id += self.env['account.tax'].search( + [('type_tax_use', '=', 'sale')], limit=1) + self.product.description_sale = 'Test description sale' + self.template_vals = { + 'recurring_rule_type': 'yearly', + 'recurring_interval': 1, + 'name': 'Test Contract Template', + 'type': 'sale', + 'sale_autoconfirm': False + } + self.template = self.env['account.analytic.contract'].create( + self.template_vals, + ) + self.contract = self.env['account.analytic.account'].create({ + 'name': 'Test Contract', + 'partner_id': self.partner.id, + 'pricelist_id': self.partner.property_product_pricelist.id, + 'recurring_invoices': True, + 'date_start': '2016-02-15', + 'recurring_next_date': '2016-02-29', + }) + self.contract.contract_template_id = self.template + self.contract._onchange_contract_template_id() + self.contract_line = self.env['account.analytic.invoice.line'].create({ + 'analytic_account_id': self.contract.id, + 'product_id': self.product.id, + 'name': 'Services from #START# to #END#', + 'quantity': 1, + 'uom_id': self.product.uom_id.id, + 'price_unit': 100, + 'discount': 50, + }) + + def test_check_discount(self): + with self.assertRaises(ValidationError): + self.contract_line.write({'discount': 120}) + + def test_contract(self): + self.assertAlmostEqual(self.contract_line.price_subtotal, 50.0) + res = self.contract_line._onchange_product_id() + self.assertIn('uom_id', res['domain']) + self.contract_line.price_unit = 100.0 + + self.contract.partner_id = False + with self.assertRaises(ValidationError): + self.contract.recurring_create_invoice() + self.contract.partner_id = self.partner.id + + self.contract.recurring_create_invoice() + self.sale_monthly = self.env['sale.order'].search( + [('project_id', '=', self.contract.id), + ('state', '=', 'draft')]) + self.assertTrue(self.sale_monthly) + self.assertEqual(self.contract.recurring_next_date, '2017-02-28') + + self.sale_line = self.sale_monthly.order_line[0] + self.assertAlmostEqual(self.sale_line.price_subtotal, 50.0) + self.assertEqual(self.contract.partner_id.user_id, + self.sale_monthly.user_id) + + def test_contract_autoconfirm(self): + self.contract.sale_autoconfirm = True + self.assertAlmostEqual(self.contract_line.price_subtotal, 50.0) + res = self.contract_line._onchange_product_id() + self.assertIn('uom_id', res['domain']) + self.contract_line.price_unit = 100.0 + + self.contract.partner_id = False + with self.assertRaises(ValidationError): + self.contract.recurring_create_invoice() + self.contract.partner_id = self.partner.id + + self.contract.recurring_create_invoice() + self.sale_monthly = self.env['sale.order'].search( + [('project_id', '=', self.contract.id), + ('state', '=', 'sale')]) + self.assertTrue(self.sale_monthly) + self.assertEqual(self.contract.recurring_next_date, '2017-02-28') + + self.sale_line = self.sale_monthly.order_line[0] + self.assertAlmostEqual(self.sale_line.price_subtotal, 50.0) + self.assertEqual(self.contract.partner_id.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 = self.template + self.contract._onchange_contract_template_id() + res = { + 'recurring_rule_type': self.contract.recurring_rule_type, + 'recurring_interval': self.contract.recurring_interval, + 'type': 'sale', + 'sale_autoconfirm': False + } + del self.template_vals['name'] + self.assertDictEqual(res, self.template_vals) diff --git a/contract_sale_generation/views/account_analytic_account_view.xml b/contract_sale_generation/views/account_analytic_account_view.xml new file mode 100644 index 00000000..91578633 --- /dev/null +++ b/contract_sale_generation/views/account_analytic_account_view.xml @@ -0,0 +1,39 @@ + + + + + account.analytic.account.invoice.recurring.sale.form + account.analytic.account + + + + + + + + {'invisible': ['|',('recurring_invoices','!=',True),('type','!=','invoice')]} + + + + + + + + + + + + + + + + + + + + sale.agreement.tree + sale.agreement + + + + + + + + + + + + + sale.agreement.search + sale.agreement + + + + + + + + + + + + + + + Sale Agreements + sale.agreement + tree,form + + + + + diff --git a/agreement_sale/README.rst b/agreement_sale/README.rst new file mode 100644 index 00000000..4726a7c8 --- /dev/null +++ b/agreement_sale/README.rst @@ -0,0 +1,49 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +================ +Agreement (Sale) +================ + +This module is an extension of the module *agreement_account* for sale orders. + +With this module, you will be able to link a quotation/sale order to a sale agreement. Upon invoice creation, this information will be copied to the customer invoice. + +Usage +===== + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/110/10.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Contributors +------------ + +* Alexis de Lattre + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/agreement_sale/__init__.py b/agreement_sale/__init__.py new file mode 100644 index 00000000..35e7c960 --- /dev/null +++ b/agreement_sale/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import models +from . import wizard diff --git a/agreement_sale/__manifest__.py b/agreement_sale/__manifest__.py new file mode 100644 index 00000000..78efe7c4 --- /dev/null +++ b/agreement_sale/__manifest__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# © 2017 Akretion (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + 'name': u'Agreement (Sale)', + 'summary': "Link a sale agreement to a sale order and copy to invoice", + 'version': '10.0.1.0.0', + 'category': 'Contract', + 'author': "Akretion,Odoo Community Association (OCA)", + 'website': 'http://www.akretion.com', + 'license': 'AGPL-3', + 'depends': [ + 'agreement_account', + 'sale_commercial_partner', + ], + 'data': [ + 'views/sale_order.xml', + 'views/sale_agreement.xml', + ], + 'installable': True, + 'auto_install': True, +} diff --git a/agreement_sale/models/__init__.py b/agreement_sale/models/__init__.py new file mode 100644 index 00000000..5296cfb7 --- /dev/null +++ b/agreement_sale/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import sale_order +from . import sale_agreement diff --git a/agreement_sale/models/sale_agreement.py b/agreement_sale/models/sale_agreement.py new file mode 100644 index 00000000..c8ca1925 --- /dev/null +++ b/agreement_sale/models/sale_agreement.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +# © 2017 Akretion (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +from odoo import models, fields + + +class SaleAgreement(models.Model): + _inherit = 'sale.agreement' + + sale_ids = fields.One2many( + 'sale.order', 'sale_agreement_id', string='Sale Orders', readonly=True, + domain=[('state', 'not in', ('draft', 'sent', 'cancel'))]) diff --git a/agreement_sale/models/sale_order.py b/agreement_sale/models/sale_order.py new file mode 100644 index 00000000..888291a5 --- /dev/null +++ b/agreement_sale/models/sale_order.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# © 2017 Akretion (http://www.akretion.com) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import models, fields + + +class SaleOrder(models.Model): + _inherit = 'sale.order' + + sale_agreement_id = fields.Many2one( + 'sale.agreement', string='Sale Agreement', ondelete='restrict', + track_visibility='onchange', readonly=True, + states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}) + + def _prepare_invoice(self): + vals = super(SaleOrder, self)._prepare_invoice() + vals['sale_agreement_id'] = self.sale_agreement_id.id or False + return vals diff --git a/agreement_sale/views/sale_agreement.xml b/agreement_sale/views/sale_agreement.xml new file mode 100644 index 00000000..fd68f6dc --- /dev/null +++ b/agreement_sale/views/sale_agreement.xml @@ -0,0 +1,24 @@ + + + + + + + + sale.agreement.form + sale.agreement + + + + + + + + + + + + diff --git a/agreement_sale/views/sale_order.xml b/agreement_sale/views/sale_order.xml new file mode 100644 index 00000000..ae6fd3bd --- /dev/null +++ b/agreement_sale/views/sale_order.xml @@ -0,0 +1,35 @@ + + + + + + + + sale.agreement.sale.order.form + sale.order + + + + + + + + + + sale.agreement.sale.order.search + sale.order + + + + + + + + + + diff --git a/agreement_sale/wizard/__init__.py b/agreement_sale/wizard/__init__.py new file mode 100644 index 00000000..1eb17ffa --- /dev/null +++ b/agreement_sale/wizard/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import sale_make_invoice_advance diff --git a/agreement_sale/wizard/sale_make_invoice_advance.py b/agreement_sale/wizard/sale_make_invoice_advance.py new file mode 100644 index 00000000..fa8080f4 --- /dev/null +++ b/agreement_sale/wizard/sale_make_invoice_advance.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# © 2017 Akretion (http://www.akretion.com) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import models + + +class SaleAdvancePaymentInv(models.TransientModel): + _inherit = 'sale.advance.payment.inv' + + def _create_invoice(self, order, so_line, amount): + inv = super(SaleAdvancePaymentInv, self)._create_invoice( + order, so_line, amount) + if order.sale_agreement_id: + inv.sale_agreement_id = order.sale_agreement_id.id + return inv diff --git a/oca_dependencies.txt b/oca_dependencies.txt index 98a804d4..4ac83d71 100644 --- a/oca_dependencies.txt +++ b/oca_dependencies.txt @@ -1 +1,2 @@ -bank-payment \ No newline at end of file +bank-payment +sale-workflow From b795f33d1730d19074e2edb5bca798cda0ff87fb Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Wed, 23 Aug 2017 16:18:45 +0200 Subject: [PATCH 27/47] Copy sale_agreement_id from invoice to refund --- agreement_account/models/account_invoice.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/agreement_account/models/account_invoice.py b/agreement_account/models/account_invoice.py index c1312f2e..33db902e 100644 --- a/agreement_account/models/account_invoice.py +++ b/agreement_account/models/account_invoice.py @@ -3,7 +3,7 @@ # @author: Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import models, fields +from odoo import models, fields, api class AccountInvoice(models.Model): @@ -13,3 +13,14 @@ class AccountInvoice(models.Model): 'sale.agreement', string='Sale Agreement', ondelete='restrict', readonly=True, states={'draft': [('readonly', False)]}, track_visibility='onchange') + + @api.model + def _prepare_refund( + self, invoice, date_invoice=None, date=None, description=None, + journal_id=None): + values = super(AccountInvoice, self)._prepare_refund( + invoice, date_invoice=date_invoice, date=date, + description=description, journal_id=journal_id) + if invoice.sale_agreement_id: + values['sale_agreement_id'] = invoice.sale_agreement_id.id + return values From 90fda6ba7345c816b5ee6ad5acf1c98e5e237a12 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Sun, 10 Sep 2017 22:56:58 +0200 Subject: [PATCH 28/47] Rename 'sale.agreement' model to 'agreement' Add type field on 'agreement': 'sale' or 'purchase' Add agreement_id field on supplier invoices --- agreement_account/README.rst | 21 +++++---- agreement_account/__manifest__.py | 6 +-- agreement_account/demo/demo.xml | 32 +++++++++++-- agreement_account/models/__init__.py | 2 +- agreement_account/models/account_invoice.py | 8 ++-- .../{sale_agreement.py => agreement.py} | 27 +++++++---- ...nt_security.xml => agreement_security.xml} | 6 +-- .../security/ir.model.access.csv | 4 +- agreement_account/views/account_invoice.xml | 28 ++++++++--- .../{sale_agreement.xml => agreement.xml} | 46 +++++++++++-------- agreement_sale/__manifest__.py | 4 +- agreement_sale/models/__init__.py | 2 +- .../{sale_agreement.py => agreement.py} | 6 +-- agreement_sale/models/sale_order.py | 6 +-- .../{sale_agreement.xml => agreement.xml} | 10 ++-- agreement_sale/views/sale_order.xml | 12 ++--- .../wizard/sale_make_invoice_advance.py | 4 +- 17 files changed, 140 insertions(+), 84 deletions(-) rename agreement_account/models/{sale_agreement.py => agreement.py} (55%) rename agreement_account/security/{sale_agreement_security.xml => agreement_security.xml} (67%) rename agreement_account/views/{sale_agreement.xml => agreement.xml} (57%) rename agreement_sale/models/{sale_agreement.py => agreement.py} (66%) rename agreement_sale/views/{sale_agreement.xml => agreement.xml} (58%) diff --git a/agreement_account/README.rst b/agreement_account/README.rst index f8aac0db..2137e98c 100644 --- a/agreement_account/README.rst +++ b/agreement_account/README.rst @@ -6,34 +6,35 @@ Agreement (Account) =================== -This module adds a *Sale Agreement* object with the following properties: +This module adds an *Agreement* object with the following properties: -* link to a customer, +* type (*Sale* or *Purchase*), +* link to a partner, * name, * code, * signature date. -You can link a customer invoice to a sale agreement. +You can link an invoice to an agreement. -If you also install the module *agreement_sale*, you will be able to link a quotation/sale order to an agreement, and this information will be copied to the invoice. +If you also install the module *agreement_sale*, you will be able to link a quotation/sale order to an agreement, and this information will be copied to the customer invoice. -A *Sale Agreement* can be used for: +An *Agreement* can be used for: * Private business contracts * Public markets -It will allow you to group all the orders and invoices related to the same agreement and display the references of this agreement on the documents where you have to display it. For example, the *code* property of the sale agreement is used in the module *account_invoice_factur-x* (from the `edi `_ project) in the XML tag */CrossIndustryInvoice/SupplyChainTradeTransaction/ApplicableHeaderTradeAgreement/ContractReferencedDocument/IssuerAssignedID*. +It will allow you to group all the orders and invoices related to the same agreement and display the references of this agreement on the documents where you have to display it. For example, the *code* property of the agreement is used in the module *account_invoice_factur-x* (from the `edi `_ project) in the XML tag */CrossIndustryInvoice/SupplyChainTradeTransaction/ApplicableHeaderTradeAgreement/ContractReferencedDocument/IssuerAssignedID*. The main differences with the *Contract* object of Odoo: -* a contract is an analytic account; a sale agreement is not related to analytic accounting. -* on the invoice, the contract/analytic account is per-line; a sale agreement is attached to the invoice (not to the lines). -* a sale agreement is a very simple object with just a few basic fields; a contract has a lot of properties and a lot of related features. +* a contract is an analytic account; an agreement is not related to analytic accounting. +* on the invoice, the contract/analytic account is per-line; an agreement is attached to the invoice (not to the lines). +* an agreement is a very simple object with just a few basic fields; a contract has a lot of properties and a lot of related features. Configuration ============= -Go to the menu *Accounting > Configuration > Management > Sale Agreements* to create new agreements. +Go to the menu *Accounting > Configuration > Management > Agreements* to create new agreements. Usage ===== diff --git a/agreement_account/__manifest__.py b/agreement_account/__manifest__.py index 21658f06..d1b7a17b 100644 --- a/agreement_account/__manifest__.py +++ b/agreement_account/__manifest__.py @@ -4,7 +4,7 @@ { 'name': u'Agreement (Account)', - 'summary': "Adds a sale agreement object linked to a customer invoice", + 'summary': "Adds an agreement object linked to an invoice", 'version': '10.0.1.0.0', 'category': 'Contract', 'author': "Akretion,Odoo Community Association (OCA)", @@ -13,8 +13,8 @@ 'depends': ['account'], 'data': [ 'security/ir.model.access.csv', - 'security/sale_agreement_security.xml', - 'views/sale_agreement.xml', + 'security/agreement_security.xml', + 'views/agreement.xml', 'views/account_invoice.xml', ], 'demo': ['demo/demo.xml'], diff --git a/agreement_account/demo/demo.xml b/agreement_account/demo/demo.xml index d45cd2d8..2d08d890 100644 --- a/agreement_account/demo/demo.xml +++ b/agreement_account/demo/demo.xml @@ -7,28 +7,52 @@ - + C2C-IT0042 Hardware IT + sale + 2017-09-10 - + C2C-IT0043 Fiber access office Lausanne + sale + - + AGR-VETO001 Vétérinaire + sale + 2017-08-01 - + AGR-TEL001 Wazo IPBX deployment and maintenance + sale + 2017-05-05 + + + + BUY-VOIP012 + SIP Phones supply + + purchase + + + + + BUY-VOIP013 + SIP-ISDN gateways + + purchase + 2017-09-02 diff --git a/agreement_account/models/__init__.py b/agreement_account/models/__init__.py index 16999ee3..55d56700 100644 --- a/agreement_account/models/__init__.py +++ b/agreement_account/models/__init__.py @@ -1,4 +1,4 @@ # -*- coding: utf-8 -*- -from . import sale_agreement +from . import agreement from . import account_invoice diff --git a/agreement_account/models/account_invoice.py b/agreement_account/models/account_invoice.py index 33db902e..5b9d4d79 100644 --- a/agreement_account/models/account_invoice.py +++ b/agreement_account/models/account_invoice.py @@ -9,8 +9,8 @@ from odoo import models, fields, api class AccountInvoice(models.Model): _inherit = 'account.invoice' - sale_agreement_id = fields.Many2one( - 'sale.agreement', string='Sale Agreement', ondelete='restrict', + agreement_id = fields.Many2one( + 'agreement', string='Agreement', ondelete='restrict', readonly=True, states={'draft': [('readonly', False)]}, track_visibility='onchange') @@ -21,6 +21,6 @@ class AccountInvoice(models.Model): values = super(AccountInvoice, self)._prepare_refund( invoice, date_invoice=date_invoice, date=date, description=description, journal_id=journal_id) - if invoice.sale_agreement_id: - values['sale_agreement_id'] = invoice.sale_agreement_id.id + if invoice.agreement_id: + values['agreement_id'] = invoice.agreement_id.id return values diff --git a/agreement_account/models/sale_agreement.py b/agreement_account/models/agreement.py similarity index 55% rename from agreement_account/models/sale_agreement.py rename to agreement_account/models/agreement.py index 1749bf6c..5e8d8900 100644 --- a/agreement_account/models/sale_agreement.py +++ b/agreement_account/models/agreement.py @@ -6,25 +6,32 @@ from odoo import models, fields -class SaleAgreement(models.Model): - _name = 'sale.agreement' - _description = 'Sale Agreement' +class Agreement(models.Model): + _name = 'agreement' + _description = 'Agreement' code = fields.Char( string='Code', required=True, copy=False) name = fields.Char(string='Name', required=True) + type = fields.Selection([ + ('sale', 'Sale'), + ('purchase', 'Purchase'), + ], string='Type', required=True) partner_id = fields.Many2one( - 'res.partner', string='Customer', ondelete='restrict', required=True, - domain=[('customer', '=', True), ('parent_id', '=', False)]) + 'res.partner', string='Partner', ondelete='restrict', required=True, + domain=[('parent_id', '=', False)]) company_id = fields.Many2one( 'res.company', string='Company', default=lambda self: self.env['res.company']._company_default_get( - 'sale.agreement')) + 'agreement')) active = fields.Boolean(string='Active', default=True) signature_date = fields.Date(string='Signature Date') - invoice_ids = fields.One2many( - 'account.invoice', 'sale_agreement_id', string='Invoices', - readonly=True) + out_invoice_ids = fields.One2many( + 'account.invoice', 'agreement_id', string='Customer Invoices', + readonly=True, domain=[('type', 'in', ('out_invoice', 'out_refund'))]) + in_invoice_ids = fields.One2many( + 'account.invoice', 'agreement_id', string='Supplier Invoices', + readonly=True, domain=[('type', 'in', ('in_invoice', 'in_refund'))]) def name_get(self): res = [] @@ -38,5 +45,5 @@ class SaleAgreement(models.Model): _sql_constraints = [( 'code_partner_company_unique', 'unique(code, partner_id, company_id)', - 'This sale agreement code already exists for this customer!' + 'This agreement code already exists for this partner!' )] diff --git a/agreement_account/security/sale_agreement_security.xml b/agreement_account/security/agreement_security.xml similarity index 67% rename from agreement_account/security/sale_agreement_security.xml rename to agreement_account/security/agreement_security.xml index 48960ca6..d645ef6d 100644 --- a/agreement_account/security/sale_agreement_security.xml +++ b/agreement_account/security/agreement_security.xml @@ -7,9 +7,9 @@ - - Sale Agreement multi-company - + + Agreement multi-company + ['|', ('company_id', '=', False), ('company_id', 'child_of', [user.company_id.id])] diff --git a/agreement_account/security/ir.model.access.csv b/agreement_account/security/ir.model.access.csv index b5940477..fd23275e 100644 --- a/agreement_account/security/ir.model.access.csv +++ b/agreement_account/security/ir.model.access.csv @@ -1,3 +1,3 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_sale_agreement_read,Read access on sale.agreement to Employees,model_sale_agreement,base.group_user,1,0,0,0 -access_sale_agreement_full,Full access on sale.agreement to Invoicing and Payment grp,model_sale_agreement,account.group_account_invoice,1,1,1,1 +access_agreement_read,Read access on agreement to Employees,model_agreement,base.group_user,1,0,0,0 +access_agreement_full,Full access on agreement to Invoicing and Payment grp,model_agreement,account.group_account_invoice,1,1,1,1 diff --git a/agreement_account/views/account_invoice.xml b/agreement_account/views/account_invoice.xml index 6e9100b5..ddef6e28 100644 --- a/agreement_account/views/account_invoice.xml +++ b/agreement_account/views/account_invoice.xml @@ -8,27 +8,41 @@ - sale.agreement.account.invoice.form + agreement.customer.invoice.form account.invoice - + + + + + + + + agreement.supplier.invoice.form + account.invoice + + + + - sale.agreement.account.invoice.search + agreement.account.invoice.search account.invoice - + diff --git a/agreement_account/views/sale_agreement.xml b/agreement_account/views/agreement.xml similarity index 57% rename from agreement_account/views/sale_agreement.xml rename to agreement_account/views/agreement.xml index b002047e..e6a789a8 100644 --- a/agreement_account/views/sale_agreement.xml +++ b/agreement_account/views/agreement.xml @@ -7,11 +7,11 @@ - - sale.agreement.form - sale.agreement + + agreement.form + agreement -
+