mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
Merge remote-tracking branch 'oca/9.0' into 10.0-contract
This commit is contained in:
@@ -21,9 +21,20 @@ To use this module, you need to:
|
||||
|
||||
#. Go to Sales -> Contracts and select or create a new contract.
|
||||
#. Check *Generate recurring invoices automatically*.
|
||||
#. Fill fields and add new lines. You have the possibility to use markers in
|
||||
the description field to show the start and end date of the invoiced period.
|
||||
#. A cron is created with daily interval, but if you are in debug mode can
|
||||
#. Fill fields for selecting the recurrency and invoice parameters:
|
||||
* Journal
|
||||
* Pricelist
|
||||
* Period. It can be any interval of days, weeks, months, months last day or
|
||||
years.
|
||||
* Start date and next invoice date.
|
||||
* Invoicing type: pre-paid or post-paid.
|
||||
#. Add the lines to be invoiced with the product, description, quantity and
|
||||
price.
|
||||
#. You have the possibility to use the markers #START# or #END# in the
|
||||
description field to show the start and end date of the invoiced period.
|
||||
#. Choosing between pre-paid and post-paid, you modify the dates that are shown
|
||||
with the markers.
|
||||
#. A cron is created with daily interval, but if you are in debug mode, you can
|
||||
click on *Create invoices* to force this action.
|
||||
#. Click *Show recurring invoices* link to show all invoices created by the
|
||||
contract.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
{
|
||||
'name': 'Contracts Management recurring',
|
||||
'version': '9.0.1.0.0',
|
||||
'version': '9.0.1.1.0',
|
||||
'category': 'Contract Management',
|
||||
'license': 'AGPL-3',
|
||||
'author': "OpenERP SA,"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<field name="interval_type">days</field>
|
||||
<field name="numbercall">-1</field>
|
||||
<field name="model" eval="'account.analytic.account'"/>
|
||||
<field name="function" eval="'recurring_create_invoice'"/>
|
||||
<field name="function" eval="'cron_recurring_create_invoice'"/>
|
||||
<field name="args" eval="'()'"/>
|
||||
</record>
|
||||
|
||||
|
||||
267
contract/i18n/bg.po
Normal file
267
contract/i18n/bg.po
Normal file
@@ -0,0 +1,267 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * contract
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-04-01 10:38+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Bulgarian (http://www.transifex.com/oca/OCA-contract-9-0/language/bg/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: bg\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form
|
||||
msgid "<strong>#END#</strong>: End date of the invoiced period"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form
|
||||
msgid "<strong>#START#</strong>: Start date of the invoiced period"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_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.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 ""
|
||||
|
||||
#. 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_invoice_line_create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Създадено от"
|
||||
|
||||
#. module: contract
|
||||
#: 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
|
||||
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/contract.py:59
|
||||
#, 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_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_invoice_line_id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. 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
|
||||
msgid "Invoice Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.actions.act_window,name:contract.act_recurring_invoices
|
||||
msgid "Invoices"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_journal_id
|
||||
msgid "Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: 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_invoice_line_write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Последно обновено от"
|
||||
|
||||
#. module: contract
|
||||
#: 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
|
||||
msgid "Legend (for the markers inside invoice lines description)"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: selection:account.analytic.account,recurring_rule_type:0
|
||||
msgid "Month(s)"
|
||||
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/contract.py:196
|
||||
#, python-format
|
||||
msgid "Please define a sale journal for the company '%s'."
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_pricelist_id
|
||||
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
|
||||
msgid "Recurrency"
|
||||
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
|
||||
msgid "Repeat Every"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,help:contract.field_account_analytic_account_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
|
||||
msgid "Specify Interval for automatic invoice generation."
|
||||
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
|
||||
msgid "Week(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: selection:account.analytic.account,recurring_rule_type:0
|
||||
msgid "Year(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: code:addons/contract/models/contract.py:188
|
||||
#, python-format
|
||||
msgid "You must first select a Customer for Contract %s!"
|
||||
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 ""
|
||||
@@ -7,15 +7,17 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-11 02:47+0000\n"
|
||||
"PO-Revision-Date: 2016-09-16 21:45+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/oca/OCA-contract-9-0/language/es/)\n"
|
||||
"POT-Creation-Date: 2016-09-25 22:56+0000\n"
|
||||
"PO-Revision-Date: 2016-09-26 00:56+0100\n"
|
||||
"Last-Translator: Carlos Incaser <carlos@incaser.es>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/oca/OCA-contract-9-0/"
|
||||
"language/es/)\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: es\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form
|
||||
@@ -51,7 +53,6 @@ msgstr "Contrato"
|
||||
#. 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 "Contratos"
|
||||
|
||||
@@ -96,7 +97,7 @@ msgid "Discount (%)"
|
||||
msgstr "Descuento (%)"
|
||||
|
||||
#. module: contract
|
||||
#: code:addons/contract/models/contract.py:59
|
||||
#: code:addons/contract/models/contract.py:60
|
||||
#, python-format
|
||||
msgid "Discount should be less or equal to 100"
|
||||
msgstr "El descuento debería ser menor o igual a 100"
|
||||
@@ -106,7 +107,9 @@ msgstr "El descuento debería ser menor o igual a 100"
|
||||
msgid ""
|
||||
"Discount that is applied in generated invoices. It should be less or equal "
|
||||
"to 100"
|
||||
msgstr "Descuento que es aplicado en las facturas generadas. Debería ser menor o igual a 100"
|
||||
msgstr ""
|
||||
"Descuento que es aplicado en las facturas generadas. Debería ser menor o "
|
||||
"igual a 100"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_display_name
|
||||
@@ -166,24 +169,40 @@ msgstr "Última actualización en"
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form
|
||||
msgid "Legend (for the markers inside invoice lines description)"
|
||||
msgstr "Leyenda (para los marcadores dentro de descripción en lineas de factura)"
|
||||
msgstr ""
|
||||
"Leyenda (para los marcadores dentro de descripción en lineas de factura)"
|
||||
|
||||
#. module: contract
|
||||
#: selection:account.analytic.account,recurring_rule_type:0
|
||||
msgid "Month(s)"
|
||||
msgstr "Mes(es)"
|
||||
|
||||
#. module: contract
|
||||
#: selection:account.analytic.account,recurring_rule_type:0
|
||||
msgid "Month(s) last day"
|
||||
msgstr "Mes(es) último día"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.view_account_analytic_account_contract_search
|
||||
msgid "Next Invoice"
|
||||
msgstr "Próxima factura"
|
||||
|
||||
#. module: contract
|
||||
#: code:addons/contract/models/contract.py:196
|
||||
#: code:addons/contract/models/contract.py:230
|
||||
#, 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'."
|
||||
|
||||
#. module: contract
|
||||
#: selection:account.analytic.account,recurring_invoicing_type:0
|
||||
msgid "Post-paid"
|
||||
msgstr "Pospago"
|
||||
|
||||
#. module: contract
|
||||
#: selection:account.analytic.account,recurring_invoicing_type:0
|
||||
msgid "Pre-paid"
|
||||
msgstr "Prepago"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_pricelist_id
|
||||
msgid "Pricelist"
|
||||
@@ -199,6 +218,11 @@ msgstr "Producto"
|
||||
msgid "Quantity"
|
||||
msgstr "Cantidad"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoicing_type
|
||||
msgid "Invoicing type"
|
||||
msgstr "Tipo de facturación"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_rule_type
|
||||
msgid "Recurrency"
|
||||
@@ -225,6 +249,12 @@ msgstr "Repetir cada (días/semana/mes/año)"
|
||||
msgid "Specify Interval for automatic invoice generation."
|
||||
msgstr "Especifica el intervalo para la generación de facturas automática."
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,help:contract.field_account_analytic_account_recurring_invoicing_type
|
||||
msgid "Specify if process date is 'from' or 'to' invoicing date"
|
||||
msgstr ""
|
||||
"Especifica si la fecha de proceso es desde o hasta la fecha de facturación"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_price_subtotal
|
||||
msgid "Sub Total"
|
||||
@@ -251,7 +281,7 @@ msgid "Year(s)"
|
||||
msgstr "Año(s)"
|
||||
|
||||
#. module: contract
|
||||
#: code:addons/contract/models/contract.py:188
|
||||
#: code:addons/contract/models/contract.py:222
|
||||
#, python-format
|
||||
msgid "You must first select a Customer for Contract %s!"
|
||||
msgstr "¡Seleccione un cliente para este contrato %s!"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-11 02:47+0000\n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-04-01 10:38+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Finnish (http://www.transifex.com/oca/OCA-contract-9-0/language/fi/)\n"
|
||||
@@ -88,7 +88,7 @@ msgstr ""
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_name
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
msgstr "Kuvaus"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_discount
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-11 02:47+0000\n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-04-01 10:38+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: French (http://www.transifex.com/oca/OCA-contract-9-0/language/fr/)\n"
|
||||
@@ -88,7 +88,7 @@ msgstr ""
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_name
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
msgstr "Description"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_discount
|
||||
@@ -131,7 +131,7 @@ msgstr "ID"
|
||||
#. module: contract
|
||||
#: model:ir.model,name:contract.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
msgstr "Facture"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoice_line_ids
|
||||
|
||||
267
contract/i18n/hr.po
Normal file
267
contract/i18n/hr.po
Normal file
@@ -0,0 +1,267 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * contract
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-04-01 10:38+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Croatian (http://www.transifex.com/oca/OCA-contract-9-0/language/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
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form
|
||||
msgid "<strong>#END#</strong>: End date of the invoiced period"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form
|
||||
msgid "<strong>#START#</strong>: Start date of the invoiced period"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_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.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 ""
|
||||
|
||||
#. 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_invoice_line_create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Kreirao"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_create_date
|
||||
msgid "Created on"
|
||||
msgstr "Kreirano"
|
||||
|
||||
#. 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
|
||||
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/contract.py:59
|
||||
#, 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_invoice_line_display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Naziv "
|
||||
|
||||
#. 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_invoice_line_id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. 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
|
||||
msgid "Invoice Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.actions.act_window,name:contract.act_recurring_invoices
|
||||
msgid "Invoices"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_journal_id
|
||||
msgid "Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line___last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Zadnje modificirano"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Zadnji ažurirao"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Zadnje ažuriranje"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form
|
||||
msgid "Legend (for the markers inside invoice lines description)"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: selection:account.analytic.account,recurring_rule_type:0
|
||||
msgid "Month(s)"
|
||||
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/contract.py:196
|
||||
#, python-format
|
||||
msgid "Please define a sale journal for the company '%s'."
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_pricelist_id
|
||||
msgid "Pricelist"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_product_id
|
||||
msgid "Product"
|
||||
msgstr "Proizvod"
|
||||
|
||||
#. 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
|
||||
msgid "Recurrency"
|
||||
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
|
||||
msgid "Repeat Every"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,help:contract.field_account_analytic_account_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
|
||||
msgid "Specify Interval for automatic invoice generation."
|
||||
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
|
||||
msgid "Week(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: selection:account.analytic.account,recurring_rule_type:0
|
||||
msgid "Year(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: code:addons/contract/models/contract.py:188
|
||||
#, python-format
|
||||
msgid "You must first select a Customer for Contract %s!"
|
||||
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 ""
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-11 02:47+0000\n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-04-01 10:38+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/oca/OCA-contract-9-0/language/it/)\n"
|
||||
@@ -88,7 +88,7 @@ msgstr ""
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_name
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
msgstr "Descrizione"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_discount
|
||||
@@ -131,7 +131,7 @@ msgstr "ID"
|
||||
#. module: contract
|
||||
#: model:ir.model,name:contract.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
msgstr "Fattura"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoice_line_ids
|
||||
@@ -146,7 +146,7 @@ msgstr ""
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_journal_id
|
||||
msgid "Journal"
|
||||
msgstr ""
|
||||
msgstr "Sezionale"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line___last_update
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-11 02:47+0000\n"
|
||||
"PO-Revision-Date: 2016-04-01 10:38+0000\n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-09-17 18:43+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
|
||||
"Language-Team: Dutch (http://www.transifex.com/oca/OCA-contract-9-0/language/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -111,7 +111,7 @@ msgstr ""
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
msgstr "Te tonen naam"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoices
|
||||
@@ -151,7 +151,7 @@ msgstr ""
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line___last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr ""
|
||||
msgstr "Laatst bijgewerkt op"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_write_uid
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-11 02:47+0000\n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-04-01 10:38+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-contract-9-0/language/pt_BR/)\n"
|
||||
@@ -88,7 +88,7 @@ msgstr ""
|
||||
#. 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
|
||||
@@ -111,7 +111,7 @@ msgstr ""
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
msgstr "Nome para Mostrar"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_recurring_invoices
|
||||
@@ -151,7 +151,7 @@ msgstr ""
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line___last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr ""
|
||||
msgstr "Última atualização em"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_write_uid
|
||||
|
||||
267
contract/i18n/ru.po
Normal file
267
contract/i18n/ru.po
Normal file
@@ -0,0 +1,267 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * contract
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-04-01 10:38+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/oca/OCA-contract-9-0/language/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: ru\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form
|
||||
msgid "<strong>#END#</strong>: End date of the invoiced period"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form
|
||||
msgid "<strong>#START#</strong>: Start date of the invoiced period"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_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.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 ""
|
||||
|
||||
#. 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_invoice_line_create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: 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
|
||||
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/contract.py:59
|
||||
#, 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_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_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
|
||||
msgid "Invoice Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.actions.act_window,name:contract.act_recurring_invoices
|
||||
msgid "Invoices"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_journal_id
|
||||
msgid "Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: 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_invoice_line_write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: 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
|
||||
msgid "Legend (for the markers inside invoice lines description)"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: selection:account.analytic.account,recurring_rule_type:0
|
||||
msgid "Month(s)"
|
||||
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/contract.py:196
|
||||
#, python-format
|
||||
msgid "Please define a sale journal for the company '%s'."
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_pricelist_id
|
||||
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
|
||||
msgid "Recurrency"
|
||||
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
|
||||
msgid "Repeat Every"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,help:contract.field_account_analytic_account_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
|
||||
msgid "Specify Interval for automatic invoice generation."
|
||||
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
|
||||
msgid "Week(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: selection:account.analytic.account,recurring_rule_type:0
|
||||
msgid "Year(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: code:addons/contract/models/contract.py:188
|
||||
#, python-format
|
||||
msgid "You must first select a Customer for Contract %s!"
|
||||
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 ""
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-11 02:47+0000\n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-04-01 10:38+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-contract-9-0/language/sl/)\n"
|
||||
@@ -78,7 +78,7 @@ msgstr ""
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_date_start
|
||||
msgid "Date start"
|
||||
msgstr ""
|
||||
msgstr "Začetni datum"
|
||||
|
||||
#. module: contract
|
||||
#: selection:account.analytic.account,recurring_rule_type:0
|
||||
@@ -88,7 +88,7 @@ msgstr ""
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_name
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
msgstr "Opis"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_discount
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-11 02:47+0000\n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-04-01 10:38+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Turkish (http://www.transifex.com/oca/OCA-contract-9-0/language/tr/)\n"
|
||||
@@ -88,7 +88,7 @@ msgstr ""
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_name
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
msgstr "Açıklama"
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_invoice_line_discount
|
||||
|
||||
267
contract/i18n/zh_CN.po
Normal file
267
contract/i18n/zh_CN.po
Normal file
@@ -0,0 +1,267 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * contract
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-04-01 10:38+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Chinese (China) (http://www.transifex.com/oca/OCA-contract-9-0/language/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
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form
|
||||
msgid "<strong>#END#</strong>: End date of the invoiced period"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_form
|
||||
msgid "<strong>#START#</strong>: Start date of the invoiced period"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.ui.view,arch_db:contract.account_analytic_account_recurring_form_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.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 ""
|
||||
|
||||
#. 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_invoice_line_create_uid
|
||||
msgid "Created by"
|
||||
msgstr "创建者"
|
||||
|
||||
#. module: contract
|
||||
#: 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
|
||||
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/contract.py:59
|
||||
#, 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_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_invoice_line_id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. 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
|
||||
msgid "Invoice Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.actions.act_window,name:contract.act_recurring_invoices
|
||||
msgid "Invoices"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_journal_id
|
||||
msgid "Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: 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_invoice_line_write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "最后更新者"
|
||||
|
||||
#. module: contract
|
||||
#: 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
|
||||
msgid "Legend (for the markers inside invoice lines description)"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: selection:account.analytic.account,recurring_rule_type:0
|
||||
msgid "Month(s)"
|
||||
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/contract.py:196
|
||||
#, python-format
|
||||
msgid "Please define a sale journal for the company '%s'."
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,field_description:contract.field_account_analytic_account_pricelist_id
|
||||
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
|
||||
msgid "Recurrency"
|
||||
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
|
||||
msgid "Repeat Every"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: model:ir.model.fields,help:contract.field_account_analytic_account_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
|
||||
msgid "Specify Interval for automatic invoice generation."
|
||||
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
|
||||
msgid "Week(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: selection:account.analytic.account,recurring_rule_type:0
|
||||
msgid "Year(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: contract
|
||||
#: code:addons/contract/models/contract.py:188
|
||||
#, python-format
|
||||
msgid "You must first select a Customer for Contract %s!"
|
||||
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 ""
|
||||
@@ -7,7 +7,6 @@
|
||||
|
||||
from dateutil.relativedelta import relativedelta
|
||||
import logging
|
||||
import time
|
||||
|
||||
from openerp import api, fields, models
|
||||
from openerp.addons.decimal_precision import decimal_precision as dp
|
||||
@@ -52,11 +51,13 @@ class AccountAnalyticInvoiceLine(models.Model):
|
||||
else:
|
||||
line.price_subtotal = subtotal
|
||||
|
||||
@api.one
|
||||
@api.multi
|
||||
@api.constrains('discount')
|
||||
def _check_discount(self):
|
||||
if self.discount > 100:
|
||||
raise ValidationError(_("Discount should be less or equal to 100"))
|
||||
for line in self:
|
||||
if line.discount > 100:
|
||||
raise ValidationError(
|
||||
_("Discount should be less or equal to 100"))
|
||||
|
||||
@api.multi
|
||||
@api.onchange('product_id')
|
||||
@@ -109,6 +110,7 @@ class AccountAnalyticAccount(models.Model):
|
||||
recurring_invoice_line_ids = fields.One2many(
|
||||
comodel_name='account.analytic.invoice.line',
|
||||
inverse_name='analytic_account_id',
|
||||
copy=True,
|
||||
string='Invoice Lines')
|
||||
recurring_invoices = fields.Boolean(
|
||||
string='Generate recurring invoices automatically')
|
||||
@@ -116,11 +118,19 @@ class AccountAnalyticAccount(models.Model):
|
||||
[('daily', 'Day(s)'),
|
||||
('weekly', 'Week(s)'),
|
||||
('monthly', 'Month(s)'),
|
||||
('monthlylastday', 'Month(s) last day'),
|
||||
('yearly', 'Year(s)'),
|
||||
],
|
||||
default='monthly',
|
||||
string='Recurrency',
|
||||
help="Specify Interval for automatic invoice generation.")
|
||||
recurring_invoicing_type = fields.Selection(
|
||||
[('pre-paid', 'Pre-paid'),
|
||||
('post-paid', 'Post-paid'),
|
||||
],
|
||||
default='pre-paid',
|
||||
string='Invoicing type',
|
||||
help="Specify if process date is 'from' or 'to' invoicing date")
|
||||
recurring_interval = fields.Integer(
|
||||
default=1,
|
||||
string='Repeat Every',
|
||||
@@ -144,12 +154,35 @@ class AccountAnalyticAccount(models.Model):
|
||||
if self.date_start and self.recurring_invoices:
|
||||
self.recurring_next_date = self.date_start
|
||||
|
||||
@api.model
|
||||
def get_relalive_delta(self, recurring_rule_type, interval):
|
||||
if recurring_rule_type == 'daily':
|
||||
return relativedelta(days=interval)
|
||||
elif recurring_rule_type == 'weekly':
|
||||
return relativedelta(weeks=interval)
|
||||
elif recurring_rule_type == 'monthly':
|
||||
return relativedelta(months=interval)
|
||||
elif recurring_rule_type == 'monthlylastday':
|
||||
return relativedelta(months=interval, day=31)
|
||||
else:
|
||||
return relativedelta(years=interval)
|
||||
|
||||
@api.model
|
||||
def _insert_markers(self, line, date_start, next_date, date_format):
|
||||
line = line.replace('#START#', date_start.strftime(date_format))
|
||||
date_end = next_date - relativedelta(days=1)
|
||||
line = line.replace('#END#', date_end.strftime(date_format))
|
||||
return line
|
||||
contract = line.analytic_account_id
|
||||
if contract.recurring_invoicing_type == 'pre-paid':
|
||||
date_from = date_start
|
||||
date_to = next_date - relativedelta(days=1)
|
||||
else:
|
||||
date_from = (date_start -
|
||||
self.get_relalive_delta(contract.recurring_rule_type,
|
||||
contract.recurring_interval) +
|
||||
relativedelta(days=1))
|
||||
date_to = date_start
|
||||
name = line.name
|
||||
name = name.replace('#START#', date_from.strftime(date_format))
|
||||
name = name.replace('#END#', date_to.strftime(date_format))
|
||||
return name
|
||||
|
||||
@api.model
|
||||
def _prepare_invoice_line(self, line, invoice_id):
|
||||
@@ -172,7 +205,7 @@ class AccountAnalyticAccount(models.Model):
|
||||
[('code', '=', contract.partner_id.lang)])
|
||||
date_format = lang.date_format or '%m/%d/%Y'
|
||||
name = self._insert_markers(
|
||||
name, self.env.context['old_date'],
|
||||
line, self.env.context['old_date'],
|
||||
self.env.context['next_date'], date_format)
|
||||
invoice_line_vals.update({
|
||||
'name': name,
|
||||
@@ -181,68 +214,61 @@ class AccountAnalyticAccount(models.Model):
|
||||
})
|
||||
return invoice_line_vals
|
||||
|
||||
@api.model
|
||||
def _prepare_invoice(self, contract):
|
||||
if not contract.partner_id:
|
||||
@api.multi
|
||||
def _prepare_invoice(self):
|
||||
self.ensure_one()
|
||||
if not self.partner_id:
|
||||
raise ValidationError(
|
||||
_("You must first select a Customer for Contract %s!") %
|
||||
contract.name)
|
||||
journal = contract.journal_id or self.env['account.journal'].search(
|
||||
self.name)
|
||||
journal = self.journal_id or self.env['account.journal'].search(
|
||||
[('type', '=', 'sale'),
|
||||
('company_id', '=', contract.company_id.id)],
|
||||
('company_id', '=', self.company_id.id)],
|
||||
limit=1)
|
||||
if not journal:
|
||||
raise ValidationError(
|
||||
_("Please define a sale journal for the company '%s'.") %
|
||||
(contract.company_id.name or '',))
|
||||
(self.company_id.name or '',))
|
||||
currency = (
|
||||
contract.pricelist_id.currency_id or
|
||||
contract.partner_id.property_product_pricelist.currency_id or
|
||||
contract.company_id.currency_id
|
||||
self.pricelist_id.currency_id or
|
||||
self.partner_id.property_product_pricelist.currency_id or
|
||||
self.company_id.currency_id
|
||||
)
|
||||
invoice = self.env['account.invoice'].new({
|
||||
'reference': contract.code,
|
||||
'reference': self.code,
|
||||
'type': 'out_invoice',
|
||||
'partner_id': contract.partner_id.address_get(
|
||||
'partner_id': self.partner_id.address_get(
|
||||
['invoice'])['invoice'],
|
||||
'currency_id': currency.id,
|
||||
'journal_id': journal.id,
|
||||
'date_invoice': contract.recurring_next_date,
|
||||
'origin': contract.name,
|
||||
'company_id': contract.company_id.id,
|
||||
'contract_id': contract.id,
|
||||
'date_invoice': self.recurring_next_date,
|
||||
'origin': self.name,
|
||||
'company_id': self.company_id.id,
|
||||
'contract_id': self.id,
|
||||
'user_id': self.partner_id.user_id.id,
|
||||
})
|
||||
# Get other invoice values from partner onchange
|
||||
invoice._onchange_partner_id()
|
||||
return invoice._convert_to_write(invoice._cache)
|
||||
|
||||
@api.model
|
||||
def _create_invoice(self, contract):
|
||||
invoice_vals = self._prepare_invoice(contract)
|
||||
@api.multi
|
||||
def _create_invoice(self):
|
||||
self.ensure_one()
|
||||
invoice_vals = self._prepare_invoice()
|
||||
invoice = self.env['account.invoice'].create(invoice_vals)
|
||||
for line in contract.recurring_invoice_line_ids:
|
||||
for line in self.recurring_invoice_line_ids:
|
||||
invoice_line_vals = self._prepare_invoice_line(line, invoice.id)
|
||||
self.env['account.invoice.line'].create(invoice_line_vals)
|
||||
invoice.compute_taxes()
|
||||
return invoice
|
||||
|
||||
@api.model
|
||||
def recurring_create_invoice(self, automatic=False):
|
||||
current_date = time.strftime('%Y-%m-%d')
|
||||
contracts = self.search(
|
||||
[('recurring_next_date', '<=', current_date),
|
||||
('account_type', '=', 'normal'),
|
||||
('recurring_invoices', '=', True)])
|
||||
for contract in contracts:
|
||||
@api.multi
|
||||
def recurring_create_invoice(self):
|
||||
for contract in self:
|
||||
old_date = fields.Date.from_string(
|
||||
contract.recurring_next_date or fields.Date.today())
|
||||
interval = contract.recurring_interval
|
||||
if contract.recurring_rule_type == 'daily':
|
||||
new_date = old_date + relativedelta(days=interval)
|
||||
elif contract.recurring_rule_type == 'weekly':
|
||||
new_date = old_date + relativedelta(weeks=interval)
|
||||
else:
|
||||
new_date = old_date + relativedelta(months=interval)
|
||||
new_date = old_date + self.get_relalive_delta(
|
||||
contract.recurring_rule_type, contract.recurring_interval)
|
||||
ctx = self.env.context.copy()
|
||||
ctx.update({
|
||||
'old_date': old_date,
|
||||
@@ -251,9 +277,16 @@ class AccountAnalyticAccount(models.Model):
|
||||
'force_company': contract.company_id.id,
|
||||
})
|
||||
# Re-read contract with correct company
|
||||
contract = contract.with_context(ctx)
|
||||
self.with_context(ctx)._create_invoice(contract)
|
||||
contract.with_context(ctx)._create_invoice()
|
||||
contract.write({
|
||||
'recurring_next_date': new_date.strftime('%Y-%m-%d')
|
||||
})
|
||||
return True
|
||||
|
||||
@api.model
|
||||
def cron_recurring_create_invoice(self):
|
||||
contracts = self.search(
|
||||
[('recurring_next_date', '<=', fields.date.today()),
|
||||
('account_type', '=', 'normal'),
|
||||
('recurring_invoices', '=', True)])
|
||||
return contracts.recurring_create_invoice()
|
||||
|
||||
@@ -2,9 +2,6 @@
|
||||
# © 2016 Carlos Dauden <carlos.dauden@tecnativa.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from dateutil.relativedelta import relativedelta
|
||||
import datetime
|
||||
|
||||
from openerp.exceptions import ValidationError
|
||||
from openerp.tests.common import TransactionCase
|
||||
|
||||
@@ -15,14 +12,14 @@ class TestContract(TransactionCase):
|
||||
super(TestContract, self).setUp()
|
||||
self.partner = self.env.ref('base.res_partner_2')
|
||||
self.product = self.env.ref('product.product_product_2')
|
||||
self.tax = self.env.ref('l10n_generic_coa.sale_tax_template')
|
||||
self.product.taxes_id = self.tax.ids
|
||||
self.product.description_sale = 'Test description sale'
|
||||
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_line = self.env['account.analytic.invoice.line'].create({
|
||||
'analytic_account_id': self.contract.id,
|
||||
@@ -33,11 +30,6 @@ class TestContract(TransactionCase):
|
||||
'price_unit': 100,
|
||||
'discount': 50,
|
||||
})
|
||||
self.current_date = datetime.date.today()
|
||||
self.contract_daily = self.contract.copy()
|
||||
self.contract_daily.recurring_rule_type = 'daily'
|
||||
self.contract_weekly = self.contract.copy()
|
||||
self.contract_weekly.recurring_rule_type = 'weekly'
|
||||
|
||||
def test_check_discount(self):
|
||||
with self.assertRaises(ValidationError):
|
||||
@@ -58,35 +50,53 @@ class TestContract(TransactionCase):
|
||||
self.invoice_monthly = self.env['account.invoice'].search(
|
||||
[('contract_id', '=', self.contract.id)])
|
||||
self.assertTrue(self.invoice_monthly)
|
||||
new_date = self.current_date + relativedelta(
|
||||
months=self.contract.recurring_interval)
|
||||
self.assertEqual(self.contract.recurring_next_date,
|
||||
new_date.strftime('%Y-%m-%d'))
|
||||
self.assertEqual(self.contract.recurring_next_date, '2016-03-29')
|
||||
|
||||
self.inv_line = self.invoice_monthly.invoice_line_ids[0]
|
||||
self.assertAlmostEqual(self.inv_line.price_subtotal, 50.0)
|
||||
self.assertTrue(self.inv_line.invoice_line_tax_ids)
|
||||
self.assertEqual(self.contract.partner_id.user_id,
|
||||
self.invoice_monthly.user_id)
|
||||
|
||||
def test_contract_daily(self):
|
||||
self.contract_daily.pricelist_id = False
|
||||
self.contract_daily.recurring_create_invoice()
|
||||
self.contract.recurring_next_date = '2016-02-29'
|
||||
self.contract.recurring_rule_type = 'daily'
|
||||
self.contract.pricelist_id = False
|
||||
self.contract.cron_recurring_create_invoice()
|
||||
invoice_daily = self.env['account.invoice'].search(
|
||||
[('contract_id', '=', self.contract_daily.id)])
|
||||
[('contract_id', '=', self.contract.id)])
|
||||
self.assertTrue(invoice_daily)
|
||||
new_date = self.current_date + relativedelta(
|
||||
days=self.contract_daily.recurring_interval)
|
||||
self.assertEqual(self.contract_daily.recurring_next_date,
|
||||
new_date.strftime('%Y-%m-%d'))
|
||||
self.assertEqual(self.contract.recurring_next_date, '2016-03-01')
|
||||
|
||||
def test_contract_weekly(self):
|
||||
self.contract_weekly.recurring_create_invoice()
|
||||
self.contract.recurring_next_date = '2016-02-29'
|
||||
self.contract.recurring_rule_type = 'weekly'
|
||||
self.contract.recurring_invoicing_type = 'post-paid'
|
||||
self.contract.recurring_create_invoice()
|
||||
invoices_weekly = self.env['account.invoice'].search(
|
||||
[('contract_id', '=', self.contract_weekly.id)])
|
||||
[('contract_id', '=', self.contract.id)])
|
||||
self.assertTrue(invoices_weekly)
|
||||
new_date = self.current_date + relativedelta(
|
||||
weeks=self.contract_weekly.recurring_interval)
|
||||
self.assertEqual(self.contract_weekly.recurring_next_date,
|
||||
new_date.strftime('%Y-%m-%d'))
|
||||
self.assertEqual(
|
||||
self.contract.recurring_next_date, '2016-03-07')
|
||||
|
||||
def test_contract_yearly(self):
|
||||
self.contract.recurring_next_date = '2016-02-29'
|
||||
self.contract.recurring_rule_type = 'yearly'
|
||||
self.contract.recurring_create_invoice()
|
||||
invoices_weekly = self.env['account.invoice'].search(
|
||||
[('contract_id', '=', self.contract.id)])
|
||||
self.assertTrue(invoices_weekly)
|
||||
self.assertEqual(
|
||||
self.contract.recurring_next_date, '2017-02-28')
|
||||
|
||||
def test_contract_monthly_lastday(self):
|
||||
self.contract.recurring_next_date = '2016-02-29'
|
||||
self.contract.recurring_invoicing_type = 'post-paid'
|
||||
self.contract.recurring_rule_type = 'monthlylastday'
|
||||
self.contract.recurring_create_invoice()
|
||||
invoices_monthly_lastday = self.env['account.invoice'].search(
|
||||
[('contract_id', '=', self.contract.id)])
|
||||
self.assertTrue(invoices_monthly_lastday)
|
||||
self.assertEqual(self.contract.recurring_next_date, '2016-03-31')
|
||||
|
||||
def test_onchange_partner_id(self):
|
||||
self.contract._onchange_partner_id()
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
attrs="{'invisible': [('recurring_invoices','!=',True)]}"
|
||||
string="⇒ Show recurring invoices" class="oe_link"/>
|
||||
</div>
|
||||
<group attrs="{'invisible': [('recurring_invoices','!=',True)]}">
|
||||
<group col="4" attrs="{'invisible': [('recurring_invoices','!=',True)]}">
|
||||
<field name="journal_id"/>
|
||||
<field name="pricelist_id"/>
|
||||
<label for="recurring_interval"/>
|
||||
@@ -40,6 +40,7 @@
|
||||
<field name="recurring_interval" class="oe_inline" attrs="{'required': [('recurring_invoices', '=', True)]}"/>
|
||||
<field name="recurring_rule_type" class="oe_inline" attrs="{'required': [('recurring_invoices', '=', True)]}"/>
|
||||
</div>
|
||||
<field name="recurring_invoicing_type"/>
|
||||
<field name="date_start"/>
|
||||
<field name="recurring_next_date"/>
|
||||
</group>
|
||||
|
||||
39
contract_show_invoice/i18n/fr.po
Normal file
39
contract_show_invoice/i18n/fr.po
Normal file
@@ -0,0 +1,39 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * contract_show_invoice
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-04-02 17:07+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: French (http://www.transifex.com/oca/OCA-contract-9-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_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 "Facture"
|
||||
|
||||
#. 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 ""
|
||||
39
contract_show_invoice/i18n/it.po
Normal file
39
contract_show_invoice/i18n/it.po
Normal file
@@ -0,0 +1,39 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * contract_show_invoice
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: contract (9.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-04-02 17:07+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/oca/OCA-contract-9-0/language/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_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 "Fattura"
|
||||
|
||||
#. 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 ""
|
||||
@@ -4,13 +4,14 @@
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2016
|
||||
# Kaloyan Naumov <kaloyan@lumnus.net>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\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: OCA Transbot <transbot@odoo-community.org>, 2016\n"
|
||||
"POT-Creation-Date: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-09-17 09:01+0000\n"
|
||||
"Last-Translator: Kaloyan Naumov <kaloyan@lumnus.net>, 2016\n"
|
||||
"Language-Team: Bulgarian (https://www.transifex.com/oca/teams/23907/bg/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -71,7 +72,7 @@ msgstr ""
|
||||
#: 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 ""
|
||||
msgstr "Код"
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_create_uid
|
||||
@@ -125,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 "Последно обновено на"
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_write_uid
|
||||
@@ -141,7 +142,7 @@ msgstr "Последно обновено на"
|
||||
#: 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 ""
|
||||
msgstr "Име"
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: code:addons/contract_variable_quantity/models/contract.py:66
|
||||
|
||||
@@ -3,13 +3,14 @@
|
||||
# * contract_variable_quantity
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2016
|
||||
# Bole <bole@dajmi5.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\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: 2016-09-17 09:01+0000\n"
|
||||
"PO-Revision-Date: 2016-09-17 09:01+0000\n"
|
||||
"Last-Translator: Bole <bole@dajmi5.com>, 2016\n"
|
||||
"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/hr_HR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -25,37 +26,40 @@ msgid ""
|
||||
" result = env['product.product'].search_count([('sale_ok', '=', True)])\n"
|
||||
" </code>"
|
||||
msgstr ""
|
||||
"<code>\n"
|
||||
" result = env['product.product'].search_count([('sale_ok', '=', True)])\n"
|
||||
" </code>"
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form
|
||||
msgid "<i>context</i>: Current context dictionary."
|
||||
msgstr ""
|
||||
msgstr "<i>context</i>: Trenutni context dictionary."
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form
|
||||
msgid "<i>contract</i>: Contract whose line belongs to."
|
||||
msgstr ""
|
||||
msgstr "<i>contract</i>: Ugovor čije linije pripadaju ovdje."
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form
|
||||
msgid "<i>env</i>: Environment variable for getting other models."
|
||||
msgstr ""
|
||||
msgstr "<i>env</i>: Environment variabla za dohvaćanje drugih modela."
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form
|
||||
msgid "<i>invoice</i>: Invoice (header) being created."
|
||||
msgstr ""
|
||||
msgstr "<i>invoice</i>: Kreirani račun (zaglavlje)."
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form
|
||||
msgid ""
|
||||
"<i>line</i>: Contract recurring invoice line that triggers this formula."
|
||||
msgstr ""
|
||||
msgstr "<i>line</i>: Stavka ponavljajućeg računa koja koristi ovu formulu."
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form
|
||||
msgid "<i>user</i>: Current user."
|
||||
msgstr ""
|
||||
msgstr "<i>user</i>: trenutni korisnik."
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: model:ir.model,name:contract_variable_quantity.model_account_analytic_account
|
||||
@@ -65,7 +69,7 @@ msgstr "Konto analitike"
|
||||
#. 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 "Kliknite za kreiranje nove formule promjenivih količina."
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_code
|
||||
@@ -95,27 +99,29 @@ msgid ""
|
||||
"Error evaluating code.\n"
|
||||
"Details: %s"
|
||||
msgstr ""
|
||||
"Greška pri izvršavanju koda.\n"
|
||||
"Detalji: %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 "Primjer Python koda"
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: selection:account.analytic.invoice.line,qty_type:0
|
||||
msgid "Fixed quantity"
|
||||
msgstr ""
|
||||
msgstr "Fiknsa količina"
|
||||
|
||||
#. 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 "Formula (količine)"
|
||||
|
||||
#. 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 "Pomoć u Python izrazima"
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: model:ir.model.fields,field_description:contract_variable_quantity.field_contract_line_qty_formula_id
|
||||
@@ -147,27 +153,27 @@ msgstr "Naziv"
|
||||
#: code:addons/contract_variable_quantity/models/contract.py:66
|
||||
#, python-format
|
||||
msgid "No valid result returned."
|
||||
msgstr ""
|
||||
msgstr "Nije vraćen nijedan valjani rezultat."
|
||||
|
||||
#. 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 "Formula količine"
|
||||
|
||||
#. 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 "Tip količine"
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: selection:account.analytic.invoice.line,qty_type:0
|
||||
msgid "Variable quantity"
|
||||
msgstr ""
|
||||
msgstr "Promjenjiva količina"
|
||||
|
||||
#. 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 "Za izračun količine možete koristiti ove varijable:"
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: model:ir.ui.view,arch_db:contract_variable_quantity.view_contract_line_qty_formula_form
|
||||
@@ -175,6 +181,9 @@ 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 ""
|
||||
"Morate upisati valjani blok python koda koji se u određenom trenutku "
|
||||
"izvršava i vraća cjelobrojnu/decimalnu vrijednost kao rezultat za količine u"
|
||||
" stavkama računa "
|
||||
|
||||
#. module: contract_variable_quantity
|
||||
#: model:ir.model,name:contract_variable_quantity.model_account_analytic_invoice_line
|
||||
@@ -184,4 +193,4 @@ 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"
|
||||
|
||||
@@ -54,7 +54,7 @@ class TestContractVariableQuantity(common.SavepointCase):
|
||||
self.formula.code = "user.id"
|
||||
|
||||
def test_check_variable_quantity(self):
|
||||
self.contract._create_invoice(self.contract)
|
||||
self.contract._create_invoice()
|
||||
invoice = self.env['account.invoice'].search(
|
||||
[('contract_id', '=', self.contract.id)])
|
||||
self.assertEqual(invoice.invoice_line_ids[0].quantity, 12)
|
||||
|
||||
Reference in New Issue
Block a user