[MERGE] crm-improvement project

bzr revid: tfr@openerp.com-20110224152851-kflj1ymf3830e1f4
This commit is contained in:
Thibault Francois
2011-02-24 16:28:51 +01:00
47 changed files with 7364 additions and 667 deletions
+4 -4
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-02-18 10:04+0000\n"
"Last-Translator: moelyana <Unknown>\n"
"PO-Revision-Date: 2011-02-23 06:02+0000\n"
"Last-Translator: Ginandjar Satyanagara <Unknown>\n"
"Language-Team: Indonesian <id@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-19 05:05+0000\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: account
@@ -76,7 +76,7 @@ msgstr "Harap buat nomor urut untuk jurnal tagihan"
#. module: account
#: constraint:account.period:0
msgid "Error ! The duration of the Period(s) is/are invalid. "
msgstr "Ada kesalahan! Jangka waktu periode salah "
msgstr "Maaf! durasi/jangka waktu Periode salah "
#. module: account
#: field:account.analytic.line,currency_id:0
@@ -114,7 +114,7 @@
<filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>
<separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True,'residual_invisible':True}"/>
<filter string="Category of Product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id','residual_invisible':True}"/>
<filter string="Category of Product" name="category_product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id','residual_invisible':True}"/>
<separator orientation="vertical"/>
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/>
@@ -139,7 +139,7 @@
<field name="res_model">account.invoice.report</field>
<field name="view_type">form</field>
<field name="view_mode">tree,graph</field>
<field name="context">{'search_default_current':1, 'search_default_partner':1, 'search_default_customer':1, 'search_default_date': time.strftime('%Y-01-01'), 'group_by':[], 'group_by_no_leaf':1,}</field>
<field name="context">{'search_default_current':1, 'search_default_category_product':1, 'search_default_customer':1, 'search_default_date': time.strftime('%Y-01-01'), 'group_by':[], 'group_by_no_leaf':1,}</field>
<field name="search_view_id" ref="view_account_invoice_report_search"/>
<field name="help">From this report, you can have an overview of the amount invoiced to your customer as well as payment delays. The tool search can also be used to personalise your Invoices reports and so, match this analysis to your needs.</field>
+12 -12
View File
@@ -142,16 +142,16 @@
<para style="terp_default_8">[[ repeatIn(objects,'o') ]]</para>
<para style="terp_default_8">[[ setLang(o.partner_id.lang) ]]</para>
<pto_header><!-- Must be after setLang() -->
<blockTable colWidths="202.0,87.0,71.0,57.0,42.0,71.0" style="Table7">
<tr>
<td> <para style="terp_tblheader_Details">Description</para> </td>
<td> <para style="terp_tblheader_Details_Centre">Taxes</para> </td>
<td> <para style="terp_tblheader_Details_Centre">Quantity</para> </td>
<td> <para style="terp_tblheader_Details_Right">Unit Price </para> </td>
<td> <para style="terp_tblheader_Details_Right">Disc.(%)</para> </td>
<td> <para style="terp_tblheader_Details_Right">Price</para> </td>
</tr>
</blockTable>
<blockTable colWidths="202.0,87.0,71.0,57.0,42.0,71.0" style="Table7">
<tr>
<td> <para style="terp_tblheader_Details">Description</para> </td>
<td> <para style="terp_tblheader_Details_Centre">Taxes</para> </td>
<td> <para style="terp_tblheader_Details_Centre">Quantity</para> </td>
<td> <para style="terp_tblheader_Details_Right">Unit Price </para> </td>
<td> <para style="terp_tblheader_Details_Right">Disc.(%)</para> </td>
<td> <para style="terp_tblheader_Details_Right">Price</para> </td>
</tr>
</blockTable>
</pto_header>
<blockTable colWidths="297.0,233.0" style="Table_Partner_Address">
<tr>
@@ -194,7 +194,7 @@
<td>
<para style="terp_tblheader_General_Centre">Invoice Date</para>
</td>
<td>
<td>
<para style="terp_tblheader_General_Centre">Origin</para>
</td>
<td>
@@ -210,7 +210,7 @@
<td>
<para style="terp_default_Centre_9">[[ formatLang(o.date_invoice,date=True) ]]</para>
</td>
<td>
<td>
<para style="terp_default_Centre_9">[[ o.origin or '' ]]</para>
</td>
<td>
+366
View File
@@ -0,0 +1,366 @@
# Slovak translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-02-23 18:59+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovak <sk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Sub Total"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Note:"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Cancelled Invoice"
msgstr ""
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
#: field:notify.message,name:0
msgid "Title"
msgstr ""
#. module: account_invoice_layout
#: model:ir.actions.act_window,name:account_invoice_layout.action_account_invoice_special_msg
#: model:ir.actions.report.xml,name:account_invoice_layout.account_invoices_layout_message
msgid "Invoices with Layout and Message"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Disc. (%)"
msgstr ""
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Note"
msgstr ""
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_notify_message
msgid "Notify By Messages"
msgstr ""
#. module: account_invoice_layout
#: help:notify.message,msg:0
msgid ""
"This notification will appear at the bottom of the Invoices when printed."
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Unit Price"
msgstr ""
#. module: account_invoice_layout
#: model:ir.module.module,description:account_invoice_layout.module_meta_information
msgid ""
"\n"
" This module provides some features to improve the layout of the "
"invoices.\n"
"\n"
" It gives you the possibility to\n"
" * order all the lines of an invoice\n"
" * add titles, comment lines, sub total lines\n"
" * draw horizontal lines and put page breaks\n"
"\n"
" Moreover, there is one option which allows you to print all the selected "
"invoices with a given special message at the bottom of it. This feature can "
"be very useful for printing your invoices with end-of-year wishes, special "
"punctual conditions...\n"
"\n"
" "
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "VAT :"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Tel. :"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "PRO-FORMA"
msgstr ""
#. module: account_invoice_layout
#: field:account.invoice,abstract_line_ids:0
msgid "Invoice Lines"
msgstr ""
#. module: account_invoice_layout
#: view:account.invoice.line:0
msgid "Seq."
msgstr ""
#. module: account_invoice_layout
#: model:ir.ui.menu,name:account_invoice_layout.menu_finan_config_notify_message
msgid "Notification Message"
msgstr ""
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Product"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Description"
msgstr ""
#. module: account_invoice_layout
#: help:account.invoice.line,sequence:0
msgid "Gives the sequence order when displaying a list of invoice lines."
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Price"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Invoice Date"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
msgid "Taxes:"
msgstr ""
#. module: account_invoice_layout
#: field:account.invoice.line,functional_field:0
msgid "Source Account"
msgstr ""
#. module: account_invoice_layout
#: model:ir.actions.act_window,name:account_invoice_layout.notify_mesage_tree_form
msgid "Write Messages"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Base"
msgstr ""
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Page Break"
msgstr ""
#. module: account_invoice_layout
#: view:notify.message:0
#: field:notify.message,msg:0
msgid "Special Message"
msgstr ""
#. module: account_invoice_layout
#: help:account.invoice.special.msg,message:0
msgid "Message to Print at the bottom of report"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Quantity"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Refund"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Fax :"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
msgid "Total:"
msgstr ""
#. module: account_invoice_layout
#: view:account.invoice.special.msg:0
msgid "Select Message"
msgstr ""
#. module: account_invoice_layout
#: view:notify.message:0
msgid "Messages"
msgstr ""
#. module: account_invoice_layout
#: model:ir.actions.report.xml,name:account_invoice_layout.account_invoices_1
msgid "Invoices with Layout"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Description / Taxes"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Amount"
msgstr ""
#. module: account_invoice_layout
#: model:notify.message,msg:account_invoice_layout.demo_message1
msgid "ERP & CRM Solutions..."
msgstr ""
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Net Total :"
msgstr "Základ :"
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Total :"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Draft Invoice"
msgstr ""
#. module: account_invoice_layout
#: field:account.invoice.line,sequence:0
msgid "Sequence Number"
msgstr ""
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_account_invoice_special_msg
msgid "Account Invoice Special Message"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Origin"
msgstr ""
#. module: account_invoice_layout
#: field:account.invoice.line,state:0
msgid "Type"
msgstr ""
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Separator Line"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Your Reference"
msgstr ""
#. module: account_invoice_layout
#: model:ir.module.module,shortdesc:account_invoice_layout.module_meta_information
msgid "Invoices Layout Improvement"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Supplier Invoice"
msgstr ""
#. module: account_invoice_layout
#: view:account.invoice.special.msg:0
msgid "Print"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Tax"
msgstr ""
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_account_invoice_line
msgid "Invoice Line"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
msgid "Net Total:"
msgstr ""
#. module: account_invoice_layout
#: view:notify.message:0
msgid "Write a notification or a wishful message."
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: model:ir.model,name:account_invoice_layout.model_account_invoice
#: report:notify_account.invoice:0
msgid "Invoice"
msgstr ""
#. module: account_invoice_layout
#: view:account.invoice.special.msg:0
msgid "Cancel"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Supplier Refund"
msgstr ""
#. module: account_invoice_layout
#: field:account.invoice.special.msg,message:0
msgid "Message"
msgstr ""
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Taxes :"
msgstr ""
#. module: account_invoice_layout
#: model:ir.ui.menu,name:account_invoice_layout.menu_notify_mesage_tree_form
msgid "All Notification Messages"
msgstr ""
+271
View File
@@ -0,0 +1,271 @@
# Galician translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-02-24 00:54+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Galician <gl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: analytic
#: field:account.analytic.account,child_ids:0
msgid "Child Accounts"
msgstr "Contas Fillas"
#. module: analytic
#: field:account.analytic.account,name:0
msgid "Account Name"
msgstr "Nome da Conta"
#. module: analytic
#: help:account.analytic.line,unit_amount:0
msgid "Specifies the amount of quantity to count."
msgstr "Especifica o importe da cantidade a contar."
#. module: analytic
#: model:ir.module.module,description:analytic.module_meta_information
msgid ""
"Module for defining analytic accounting object.\n"
" "
msgstr ""
"Módulo para definir o obxecto da conta analítica.\n"
" "
#. module: analytic
#: field:account.analytic.account,state:0
msgid "State"
msgstr "Provincia"
#. module: analytic
#: field:account.analytic.account,user_id:0
msgid "Account Manager"
msgstr "Xestor da Conta"
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "Draft"
msgstr "Borrador"
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "Closed"
msgstr "Pechado"
#. module: analytic
#: field:account.analytic.account,debit:0
msgid "Debit"
msgstr "Débito"
#. module: analytic
#: help:account.analytic.account,state:0
msgid ""
"* When an account is created its in 'Draft' state. "
" \n"
"* If any associated partner is there, it can be in 'Open' state. "
" \n"
"* If any pending balance is there it can be in 'Pending'. "
" \n"
"* And finally when all the transactions are over, it can be in 'Close' "
"state. \n"
"* The project can be in either if the states 'Template' and 'Running'.\n"
" If it is template then we can make projects based on the template projects. "
"If its in 'Running' state it is a normal project. "
" \n"
" If it is to be reviewed then the state is 'Pending'.\n"
" When the project is completed the state is set to 'Done'."
msgstr ""
"* Cando unha conta se crea está no estado \"borrador\".\n"
"* Se existe algunha empresa asociada, pode estar no estado 'Abrir'.\n"
"* Se existe algún saldo pendente pode estar en \"Pendente\".\n"
"* E, finalmente, cando todas as operacións están rematedas, pode estar no "
"estado 'Pechar'.\n"
"* O proxecto pode estar nos estados \"Borrador\" e 'En Progreso'.\n"
"Se é unha plantilla, entón podemos facer proxectos baseados nas plantillas "
"de proxectos. Se está no estado 'En Progreso' é un proxecto normal.\n"
"Se está para ser revisado, entón, o estado é \"Pendente\".\n"
"Cando o proxecto estea rematado, o estado é establecido como 'Feito'."
#. module: analytic
#: field:account.analytic.account,type:0
msgid "Account Type"
msgstr "Tipo de Conta"
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "Template"
msgstr "Plantilla"
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "Pending"
msgstr "Pendente"
#. module: analytic
#: model:ir.model,name:analytic.model_account_analytic_line
msgid "Analytic Line"
msgstr "Liña Analítica"
#. module: analytic
#: field:account.analytic.account,description:0
#: field:account.analytic.line,name:0
msgid "Description"
msgstr "Descrición"
#. module: analytic
#: selection:account.analytic.account,type:0
msgid "Normal"
msgstr "Normal"
#. module: analytic
#: field:account.analytic.account,company_id:0
#: field:account.analytic.line,company_id:0
msgid "Company"
msgstr "Compañía"
#. module: analytic
#: field:account.analytic.account,quantity_max:0
msgid "Maximum Quantity"
msgstr "Máxima Cantidade"
#. module: analytic
#: field:account.analytic.line,user_id:0
msgid "User"
msgstr "Usuario"
#. module: analytic
#: field:account.analytic.account,parent_id:0
msgid "Parent Analytic Account"
msgstr "Conta Analítica Padre"
#. module: analytic
#: field:account.analytic.line,date:0
msgid "Date"
msgstr "Data"
#. module: analytic
#: field:account.analytic.account,currency_id:0
msgid "Account currency"
msgstr "Divisa Contable"
#. module: analytic
#: field:account.analytic.account,quantity:0
#: field:account.analytic.line,unit_amount:0
msgid "Quantity"
msgstr "Cantidade"
#. module: analytic
#: help:account.analytic.line,amount:0
msgid ""
"Calculated by multiplying the quantity and the price given in the Product's "
"cost price. Always expressed in the company main currency."
msgstr ""
"Calculado multiplicando a cantidade e o prezo dado no prezo de custo do "
"produto. Sempre expresado na divisa da compañía principal."
#. module: analytic
#: help:account.analytic.account,quantity_max:0
msgid "Sets the higher limit of quantity of hours."
msgstr "Establece o límite maior da cantidade de horas"
#. module: analytic
#: field:account.analytic.account,credit:0
msgid "Credit"
msgstr "Crédito"
#. module: analytic
#: field:account.analytic.line,amount:0
msgid "Amount"
msgstr "Importe"
#. module: analytic
#: field:account.analytic.account,contact_id:0
msgid "Contact"
msgstr "Contacto"
#. module: analytic
#: constraint:account.analytic.account:0
msgid ""
"Error! The currency has to be the same as the currency of the selected "
"company"
msgstr "¡Erro! A divisa ten que sela mesma ca da compañía seleccionada"
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "Cancelled"
msgstr "Cancelado"
#. module: analytic
#: field:account.analytic.account,balance:0
msgid "Balance"
msgstr "Saldo"
#. module: analytic
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
msgstr "¡Erro! Non pode crear contas analíticas recorrentes."
#. module: analytic
#: help:account.analytic.account,type:0
msgid ""
"If you select the View Type, it means you won't allow to create journal "
"entries using that account."
msgstr ""
"Se selecciona o Tipo de Vista, quere decir que non permitirá crear apuntes "
"de diario usando esa conta."
#. module: analytic
#: field:account.analytic.account,date:0
msgid "Date End"
msgstr "Data de Fin"
#. module: analytic
#: field:account.analytic.account,code:0
msgid "Account Code"
msgstr "Código de Conta"
#. module: analytic
#: field:account.analytic.account,complete_name:0
msgid "Full Account Name"
msgstr "Nome Completo da Conta"
#. module: analytic
#: field:account.analytic.line,account_id:0
#: model:ir.model,name:analytic.model_account_analytic_account
#: model:ir.module.module,shortdesc:analytic.module_meta_information
msgid "Analytic Account"
msgstr "Conta analítica"
#. module: analytic
#: selection:account.analytic.account,type:0
msgid "View"
msgstr "Vista"
#. module: analytic
#: field:account.analytic.account,partner_id:0
msgid "Partner"
msgstr "Empresa"
#. module: analytic
#: field:account.analytic.account,date_start:0
msgid "Date Start"
msgstr "Data de comezo"
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "Open"
msgstr "Abrir"
#. module: analytic
#: field:account.analytic.account,line_ids:0
msgid "Analytic Entries"
msgstr "Apuntes Analíticos"
+230
View File
@@ -0,0 +1,230 @@
# Spanish (Ecuador) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-02-23 23:34+0000\n"
"Last-Translator: Mario Andrés Correa <Unknown>\n"
"Language-Team: Spanish (Ecuador) <es_EC@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: anonymization
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymize_wizard
msgid "ir.model.fields.anonymize.wizard"
msgstr ""
#. module: anonymization
#: field:ir.model.fields.anonymization,field_name:0
msgid "Field Name"
msgstr "Nombre de campo"
#. module: anonymization
#: field:ir.model.fields.anonymization,field_id:0
msgid "Field"
msgstr "Campo"
#. module: anonymization
#: field:ir.model.fields.anonymization.history,state:0
#: field:ir.model.fields.anonymize.wizard,state:0
msgid "State"
msgstr "Estado"
#. module: anonymization
#: field:ir.model.fields.anonymize.wizard,file_import:0
msgid "Import"
msgstr "Importar"
#. module: anonymization
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization
msgid "ir.model.fields.anonymization"
msgstr ""
#. module: anonymization
#: model:ir.module.module,shortdesc:anonymization.module_meta_information
msgid "Database anonymization module"
msgstr "Módulo para hacer anónima la base de datos"
#. module: anonymization
#: field:ir.model.fields.anonymization.history,direction:0
msgid "Direction"
msgstr "Dirección"
#. module: anonymization
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_tree
#: view:ir.model.fields.anonymization:0
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_fields
msgid "Anonymized Fields"
msgstr "Campos hechos anónimos"
#. module: anonymization
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization
msgid "Database anonymization"
msgstr "Hacer anónima la base de datos"
#. module: anonymization
#: code:addons/anonymization/anonymization.py:55
#: sql_constraint:ir.model.fields.anonymization:0
#, python-format
msgid "You cannot have two records having the same model and the same field"
msgstr ""
"No puede tener dos registros que tengan el mismo modelo y el mismo campo"
#. module: anonymization
#: selection:ir.model.fields.anonymization,state:0
#: selection:ir.model.fields.anonymize.wizard,state:0
msgid "Anonymized"
msgstr "Hecho anónimo"
#. module: anonymization
#: field:ir.model.fields.anonymization,state:0
msgid "unknown"
msgstr "desconocido"
#. module: anonymization
#: field:ir.model.fields.anonymization,model_id:0
msgid "Object"
msgstr "Objeto"
#. module: anonymization
#: field:ir.model.fields.anonymization.history,filepath:0
msgid "File path"
msgstr "Ruta de archivo"
#. module: anonymization
#: field:ir.model.fields.anonymization.history,date:0
msgid "Date"
msgstr "Fecha"
#. module: anonymization
#: field:ir.model.fields.anonymize.wizard,file_export:0
msgid "Export"
msgstr "Exportar"
#. module: anonymization
#: view:ir.model.fields.anonymize.wizard:0
msgid "Reverse the Database Anonymization"
msgstr "Revertir el hacer anónima la base de datos"
#. module: anonymization
#: view:ir.model.fields.anonymize.wizard:0
msgid "Database Anonymization"
msgstr "Hacer anónima la base de datos"
#. module: anonymization
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_wizard
msgid "Anonymize database"
msgstr "Hacer anónima la base de datos"
#. module: anonymization
#: view:ir.model.fields.anonymization.history:0
#: field:ir.model.fields.anonymization.history,field_ids:0
msgid "Fields"
msgstr "Campos"
#. module: anonymization
#: selection:ir.model.fields.anonymization,state:0
#: selection:ir.model.fields.anonymize.wizard,state:0
msgid "Clear"
msgstr "Limpiar"
#. module: anonymization
#: selection:ir.model.fields.anonymization.history,direction:0
msgid "clear -> anonymized"
msgstr "Limpiar -> anónimo"
#. module: anonymization
#: view:ir.model.fields.anonymize.wizard:0
#: field:ir.model.fields.anonymize.wizard,summary:0
msgid "Summary"
msgstr "Resumen"
#. module: anonymization
#: view:ir.model.fields.anonymization:0
msgid "Anonymized Field"
msgstr "Campo anónimo"
#. module: anonymization
#: model:ir.module.module,description:anonymization.module_meta_information
msgid ""
"\n"
"This module allows you to anonymize a database.\n"
" "
msgstr ""
"\n"
"Este módulo le permite hacer anónima una base de datos\n"
" "
#. module: anonymization
#: selection:ir.model.fields.anonymize.wizard,state:0
msgid "Unstable"
msgstr "Inestable"
#. module: anonymization
#: selection:ir.model.fields.anonymization.history,state:0
msgid "Exception occured"
msgstr "Se ha producido una anomalía"
#. module: anonymization
#: selection:ir.model.fields.anonymization,state:0
#: selection:ir.model.fields.anonymize.wizard,state:0
msgid "Not Existing"
msgstr "No existente"
#. module: anonymization
#: field:ir.model.fields.anonymization,model_name:0
msgid "Object Name"
msgstr "Nombre del objeto"
#. module: anonymization
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_history_tree
#: view:ir.model.fields.anonymization.history:0
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_history
msgid "Anonymization History"
msgstr ""
#. module: anonymization
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization_history
msgid "ir.model.fields.anonymization.history"
msgstr ""
#. module: anonymization
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymize_wizard
#: view:ir.model.fields.anonymize.wizard:0
msgid "Anonymize Database"
msgstr ""
#. module: anonymization
#: field:ir.model.fields.anonymize.wizard,name:0
msgid "File Name"
msgstr ""
#. module: anonymization
#: selection:ir.model.fields.anonymization.history,direction:0
msgid "anonymized -> clear"
msgstr ""
#. module: anonymization
#: selection:ir.model.fields.anonymization.history,state:0
msgid "Started"
msgstr ""
#. module: anonymization
#: selection:ir.model.fields.anonymization.history,state:0
msgid "Done"
msgstr ""
#. module: anonymization
#: view:ir.model.fields.anonymization.history:0
#: field:ir.model.fields.anonymization.history,msg:0
#: field:ir.model.fields.anonymize.wizard,msg:0
msgid "Message"
msgstr ""
@@ -44,11 +44,11 @@
<group col="3" colspan="2" attrs="{'invisible': [('trg_date_type', '=', 'none')]}">
<field name="trg_date_range" string="Delay After Trigger Date"/>
<field name="trg_date_range_type" nolabel="1"/>
</group>
</group>
</group>
<separator colspan="4" string="Note"/>
<label align="0.0" colspan="4" width="900"
string="The rule uses the AND operator. The model must match all non-empty fields so that the rule executes the action described in the 'Actions' tab." />
string="The rule uses the AND operator. The model must match all non-empty fields so that the rule executes the action described in the 'Actions' tab." />
</page>
<page string="Actions">
<separator colspan="4" string="Fields to Change"/>
@@ -74,7 +74,7 @@
<field colspan="4" name="act_email_cc"/>
<separator colspan="4" string="Email Body"/>
<field colspan="4" name="act_mail_body" height="250"
nolabel="1" attrs="{'required':[('act_remind_user','=',True)]}" />
nolabel="1" attrs="{'required':[('act_remind_user','=',True)]}" />
<separator colspan="4" string="Special Keywords to Be Used in The Body"/>
<label align="0.0" string="%%(object_id)s = Object ID" colspan="2"/>
<label align="0.0" string="%%(object_subject)s = Object subject" colspan="2"/>
File diff suppressed because it is too large Load Diff
+8 -7
View File
@@ -218,12 +218,14 @@ class crm_case(object):
def stage_change(self, cr, uid, ids, context=None, order='sequence'):
if context is None:
context = {}
stage_pool = self.pool.get('crm.case.stage')
stage_type = context and context.get('stage_type','')
current_seq = False
next_stage_id = False
for case in self.browse(cr, uid, ids, context=context):
next_stage = False
value = {}
if case.section_id.id :
@@ -281,13 +283,12 @@ class crm_case(object):
@param part: Partner's id
@email: Partner's email ID
"""
if not part:
return {'value': {'partner_address_id': False,
'email_from': False,
'phone': False
}}
addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['contact'])
data = {'partner_address_id': addr['contact']}
data={}
if part:
addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['contact'])
data = {'partner_address_id': addr['contact']}
#<<<<<<<<<<= MERGE
data.update(self.onchange_partner_address_id(cr, uid, ids, addr['contact'])['value'])
return {'value': data}
+56 -58
View File
@@ -100,7 +100,7 @@ class crm_lead(crm_case, osv.osv):
_columns = {
# Overridden from res.partner.address:
'partner_id': fields.many2one('res.partner', 'Partner', ondelete='set null',
'partner_id': fields.many2one('res.partner', 'Partner', ondelete='set null',
select=True, help="Optional linked partner, usually after conversion of the lead"),
# From crm.case
@@ -124,7 +124,7 @@ class crm_lead(crm_case, osv.osv):
domain="['|',('section_id','=',section_id),('section_id','=',False)]"),
'channel_id': fields.many2one('res.partner.canal', 'Channel'),
'contact_name': fields.char('Contact Name', size=64),
'contact_name': fields.char('Contact Name', size=64),
'partner_name': fields.char("Customer Name", size=64,help='The name of the future partner that will be created while converting the into opportunity'),
'optin': fields.boolean('Opt-In', help="If opt-in is checked, this contact has accepted to receive emails."),
'optout': fields.boolean('Opt-Out', help="If opt-out is checked, this contact has refused to receive emails or unsubscribed to a campaign."),
@@ -147,10 +147,10 @@ class crm_lead(crm_case, osv.osv):
help='The state is set to \'Draft\', when a case is created.\
\nIf the case is in progress the state is set to \'Open\'.\
\nWhen the case is over, the state is set to \'Done\'.\
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
'message_ids': fields.one2many('mailgate.message', 'res_id', 'Messages', domain=[('model','=',_name)]),
}
_defaults = {
'active': lambda *a: 1,
@@ -163,8 +163,8 @@ class crm_lead(crm_case, osv.osv):
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
#'stage_id': _get_stage_id,
}
def onchange_partner_address_id(self, cr, uid, ids, add, email=False):
"""This function returns value of partner email based on Partner Address
@@ -189,10 +189,10 @@ class crm_lead(crm_case, osv.osv):
@param *args: Give Tuple Value
"""
leads = self.browse(cr, uid, ids)
for i in xrange(0, len(ids)):
for i in xrange(0, len(ids)):
if leads[i].state == 'draft':
value = {}
if not leads[i].stage_id :
@@ -203,7 +203,7 @@ class crm_lead(crm_case, osv.osv):
self.log_open( cr, uid, leads[i])
res = super(crm_lead, self).case_open(cr, uid, ids, *args)
return res
def log_open(self, cr, uid, case):
if case.type == 'lead':
message = _("The lead '%s' has been opened.") % case.name
@@ -246,56 +246,49 @@ class crm_lead(crm_case, osv.osv):
context.update({'active_ids': ids})
data_obj = self.pool.get('ir.model.data')
data_id = data_obj._get_id(cr, uid, 'crm', 'view_crm_lead2opportunity_action')
value = {}
view_id = False
if data_id:
view_id = data_obj.browse(cr, uid, data_id, context=context).res_id
for case in self.browse(cr, uid, ids):
for case in self.browse(cr, uid, ids, context=context):
context.update({'active_id': case.id})
if not case.partner_id:
data_id = data_obj._get_id(cr, uid, 'crm', 'view_crm_lead2opportunity_partner')
view_id1 = False
if data_id:
view_id1 = data_obj.browse(cr, uid, data_id, context=context).res_id
value = {
'name': _('Create Partner'),
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'crm.lead2opportunity.partner',
'view_id': False,
'context': context,
'views': [(view_id1, 'form')],
'type': 'ir.actions.act_window',
'target': 'new',
'nodestroy': True
}
break
else:
value = {
'name': _('Create Opportunity'),
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'crm.lead2opportunity.action',
'view_id': False,
'context': context,
'views': [(view_id, 'form')],
'type': 'ir.actions.act_window',
'target': 'new',
'nodestroy': True
}
data_id = data_obj._get_id(cr, uid, 'crm', 'view_crm_lead2opportunity_partner')
view_id1 = False
if data_id:
view_id1 = data_obj.browse(cr, uid, data_id, context=context).res_id
value = {
'name': _('Create Partner'),
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'crm.lead2opportunity.partner',
'view_id': False,
'context': context,
'views': [(view_id1, 'form')],
'type': 'ir.actions.act_window',
'target': 'new',
'nodestroy': True
}
return value
def write(self, cr, uid, ids, vals, context=None):
if not context:
context = {}
if 'date_closed' in vals:
return super(crm_lead,self).write(cr, uid, ids, vals, context=context)
if 'stage_id' in vals and vals['stage_id']:
stage_obj = self.pool.get('crm.case.stage').browse(cr, uid, vals['stage_id'], context=context)
self.history(cr, uid, ids, _("Changed Stage to: ") + stage_obj.name, details=_("Changed Stage to: ") + stage_obj.name)
message=''
for case in self.browse(cr, uid, ids, context=context):
if case.type == 'lead' or context.get('stage_type',False)=='lead':
message = _("The stage of lead '%s' has been changed to '%s'.") % (case.name, stage_obj.name)
elif case.type == 'opportunity':
message = _("The stage of opportunity '%s' has been changed to '%s'.") % (case.name, stage_obj.name)
self.log(cr, uid, case.id, message)
return super(crm_lead,self).write(cr, uid, ids, vals, context)
def stage_historize(self, cr, uid, ids, stage, context=None):
stage_obj = self.pool.get('crm.case.stage').browse(cr, uid, stage, context=context)
self.history(cr, uid, ids, _('Stage'), details=stage_obj.name)
@@ -306,20 +299,25 @@ class crm_lead(crm_case, osv.osv):
message = _("The stage of opportunity '%s' has been changed to '%s'.") % (case.name, stage_obj.name)
self.log(cr, uid, case.id, message)
return True
def stage_next(self, cr, uid, ids, context=None):
stage = super(crm_lead, self).stage_next(cr, uid, ids, context=context)
if stage:
self.stage_historize(cr, uid, ids, stage, context=context)
stage_obj = self.pool.get('crm.case.stage').browse(cr, uid, stage, context=context)
if stage_obj.on_change:
data = {'probability': stage_obj.probability}
self.write(cr, uid, ids, data)
return stage
def stage_previous(self, cr, uid, ids, context=None):
stage = super(crm_lead, self).stage_previous(cr, uid, ids, context)
stage = super(crm_lead, self).stage_previous(cr, uid, ids, context=context)
if stage:
self.stage_historize(cr, uid, ids, stage, context=context)
stage_obj = self.pool.get('crm.case.stage').browse(cr, uid, stage, context=context)
if stage_obj.on_change:
data = {'probability': stage_obj.probability}
self.write(cr, uid, ids, data)
return stage
def message_new(self, cr, uid, msg, context=None):
"""
Automatically calls when new email message arrives
@@ -369,7 +367,7 @@ class crm_lead(crm_case, osv.osv):
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param ids: List of update mail’s IDs
@param ids: List of update mail’s IDs
"""
if isinstance(ids, (str, int, long)):
ids = [ids]
@@ -417,12 +415,12 @@ class crm_lead(crm_case, osv.osv):
if optin:
return {'value':{'optin':optin,'optout':False}}
return {}
def on_chnage_optout(self, cr, uid, ids, optout):
if optout:
return {'value':{'optout':optout,'optin':False}}
return {}
crm_lead()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+6 -3
View File
@@ -104,8 +104,11 @@
<field name="state_id"/>
</group>
<group colspan="2" col="3">
<separator string="Communication History" colspan="4" col="3"/>
<field name="email_from" widget="email"/>
<separator string="Communication" colspan="4" col="3"/>
<field name="email_from" widget="email"/><button string="Send Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'crm.lead'}"
icon="terp-mail-message-new" type="action" colspan="1"/>
<newline/>
<field name="phone"/>
<newline/>
@@ -114,7 +117,7 @@
<field name="mobile"/>
<newline/>
<separator string="Links" colspan="4" col="3"/>
<field name="partner_id" on_change="onchange_partner_id(partner_id, email_from)" string="Customer"/>
<field name="partner_id" string="Customer"/>
<button
name="%(action_crm_lead2partner)d"
icon="terp-partner" type="action"
+19 -10
View File
@@ -1,7 +1,6 @@
<?xml version="1.0"?>
<openerp>
<data>
<!-- Opportunities Form View -->
<record model="ir.ui.view" id="crm_case_form_view_oppor">
<field name="name">Opportunities</field>
@@ -19,7 +18,7 @@
domain="[('type','=','opportunity'),('section_ids', '=', section_id)]"/>
<button name="stage_previous"
states="draft,open,pending" type="object"
icon="gtk-go-back" string="" />
icon="gtk-go-back" string="" context="{'stage_type': 'opportunity'}"/>
<button name="stage_next" states="draft,open,pending"
type="object" icon="gtk-go-forward" string="" context="{'stage_type': 'opportunity'}"/>
</group>
@@ -58,8 +57,15 @@
string="Contact"
on_change="onchange_partner_address_id(partner_address_id, email_from)"
colspan="1" />
<field name="email_from" string="Email" />
<field name="phone"/>
<group col="3" colspan="2">
<field name="email_from" string="Email" />
<button string="Send Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'crm.lead'}"
icon="terp-mail-message-new" type="action" />
</group>
<field name="phone"/>
</group>
<group col="2" colspan="2">
<separator colspan="2" string="Categorization"/>
@@ -150,22 +156,22 @@
<field name="date"/>
<field name="email_to" size="512"/>
<field name="email_cc" size="512"/>
<field name="name" colspan="4"/>
<field name="name" colspan="4" attrs="{'invisible': [('history', '=', True)]}"/>
<field name="display_text" colspan="4" attrs="{'invisible': [('history', '=', False)]}"/>
<field name="history" invisible="1"/>
</group>
<notebook colspan="4">
<page string="Details">
<group attrs="{'invisible': [('history', '!=', True)]}">
<field name="description" colspan="4" nolabel="1" height="250"/>
<field name="description" colspan="4" nolabel="1"/>
<group attrs="{'invisible': [('history', '!=', True)]}">
<button colspan="4"
string="Reply"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'reply', 'model': 'crm.lead', 'include_original' : True}"
icon="terp-mail-replied" type="action" />
</group>
<group attrs="{'invisible': [('history', '=', True)]}">
<field name="display_text" colspan="4" nolabel="1" height="250"/>
</group>
</page>
<page string="Attachments">
<field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
@@ -324,6 +330,7 @@
<filter string="Salesman" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
<filter string="Team" help="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
<filter string="Customer" help="Partner" icon="terp-personal+" domain="[]" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical" />
<filter string="Stage" icon="terp-stage" domain="[]"
context="{'group_by':'stage_id'}" />
@@ -364,5 +371,7 @@
</field>
</record>
</data>
</openerp>
+10 -8
View File
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-01-13 04:29+0000\n"
"PO-Revision-Date: 2011-02-23 12:48+0000\n"
"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-01-15 05:13+0000\n"
"X-Generator: Launchpad (build 12177)\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: crm
#: view:crm.lead.report:0
@@ -335,7 +335,7 @@ msgstr "Категории"
#. module: crm
#: selection:crm.meeting,end_type:0
msgid "Forever"
msgstr ""
msgstr "Вечно"
#. module: crm
#: help:crm.lead,optout:0
@@ -373,7 +373,7 @@ msgstr "Контакт"
#. module: crm
#: view:crm.installer:0
msgid "Enhance your core CRM Application with additional functionalities."
msgstr ""
msgstr "Расширение приложения CRM дополнительными функциями."
#. module: crm
#: field:crm.case.stage,on_change:0
@@ -663,7 +663,7 @@ msgstr ""
#. module: crm
#: selection:crm.meeting,end_type:0
msgid "End date"
msgstr ""
msgstr "Дата окончания"
#. module: crm
#: constraint:base.action.rule:0
@@ -741,7 +741,7 @@ msgstr ""
#. module: crm
#: field:crm.case.section,resource_calendar_id:0
msgid "Working Time"
msgstr ""
msgstr "Время работы"
#. module: crm
#: view:crm.segmentation.line:0
@@ -774,6 +774,8 @@ msgid ""
"Manages the suppliers and customers claims, including your corrective or "
"preventive actions."
msgstr ""
"Управляет претензиями заказчиков и поставщиков, включая ваши исправления и "
"предупредительные меры."
#. module: crm
#: view:crm.lead:0
@@ -3436,7 +3438,7 @@ msgstr "Отчет по кандидатам в CRM"
#. module: crm
#: field:crm.installer,progress:0
msgid "Configuration Progress"
msgstr "Настройка производится"
msgstr "Настройка выполняется"
#. module: crm
#: selection:crm.lead,priority:0
+4 -4
View File
@@ -87,9 +87,9 @@ class crm_lead_report(osv.osv):
CREATE OR REPLACE VIEW crm_lead_report AS (
SELECT
id,
to_char(c.create_date, 'YYYY') as name,
to_char(c.create_date, 'MM') as month,
to_char(c.create_date, 'YYYY-MM-DD') as day,
to_char(c.date_deadline, 'YYYY') as name,
to_char(c.date_deadline, 'MM') as month,
to_char(c.date_deadline, 'YYYY-MM-DD') as day,
to_char(c.create_date, 'YYYY-MM-DD') as creation_date,
to_char(c.date_open, 'YYYY-MM-DD') as opening_date,
to_char(c.date_closed, 'YYYY-mm-dd') as date_closed,
@@ -107,7 +107,7 @@ class crm_lead_report(osv.osv):
c.partner_id,
c.country_id,
c.planned_revenue,
c.planned_revenue*(c.probability/100) as probable_revenue,
c.planned_revenue*(c.probability/100) as probable_revenue,
1 as nbr,
(SELECT count(id) FROM mailgate_message WHERE model='crm.lead' AND res_id=c.id AND history=True) AS email,
date_trunc('day',c.create_date) as create_date,
+10 -1
View File
@@ -71,6 +71,15 @@
<field name="arch" type="xml">
<search string="Leads Analysis">
<group col="20" colspan="8">
<filter icon="terp-personal"
string="Lead"
domain="[('type','=', 'lead')]"
help="Show only lead"/>
<filter icon="terp-personal+"
string="Opportunity"
domain="[('type','=','opportunity')]"
help="Show only opportunity"/>
<separator orientation="vertical" />
<filter string=" Year " icon="terp-go-year"
domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')),('create_date','&gt;=',time.strftime('%%Y-01-01'))]"
help="Leads/Opportunities created in current year"/>
@@ -133,7 +142,7 @@
<filter string="Country" icon="terp-go-home" context="{'group_by':'country_id'}" />
<filter string="Company" icon="terp-go-home"
domain="[]"
context="{'group_by':'company_id'}"
context="{'group_by':'company_id'}"
groups="base.group_multi_company"/>
<separator orientation="vertical" />
<filter string="Stage" name="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
+3 -15
View File
@@ -60,24 +60,12 @@
-
!record {model: crm.lead2opportunity.partner, id: crm_lead2opportunity_partner_create_0}:
action: 'create'
-
I click on "Continue" button of this wizard.
-
!python {model: crm.lead2opportunity.partner}: |
self.make_partner(cr, uid, [ref("crm_lead2opportunity_partner_create_0")], {'active_ids': [ref("crm_lead_newcustomer0")]})
-
Now, I give value to this wizard field.
-
!record {model: crm.lead2opportunity, id: crm_lead2opportunity_stonage_0}:
name: Capegemini
planned_revenue: 0.00
probability: 0.00
name: 'convert'
-
Then, Click on "Create Opportunity" button of this wizard.
-
!python {model: crm.lead2opportunity}: |
self.action_apply(cr, uid, [ref('crm_lead2opportunity_stonage_0')], {'active_id': ref('crm_lead_newcustomer0')})
!python {model: crm.lead2opportunity.partner}: |
self.action_apply(cr, uid, [ref("crm_lead2opportunity_partner_create_0")], {'active_ids': [ref("crm_lead_newcustomer0")], 'active_id': ref("crm_lead_newcustomer0")})
- |
In order to check the opportunity is created or not, I check type.
-
+5 -6
View File
@@ -32,15 +32,14 @@
-
I find that this lead can be converted to opportunity.
-
!record {model: crm.lead2opportunity, id: crm_lead2opportunity0}:
name: OpenERP Presentation
probability: 60.0
planned_revenue: 45000.0
!record {model: crm.lead2opportunity.partner, id: crm_lead2opportunity_partner0}:
action: 'create'
name: 'convert'
-
So I convert the lead to opportunity.
-
!python {model: crm.lead2opportunity}: |
self.action_apply(cr, uid, [ref('crm_lead2opportunity0')], context={'active_id': ref('crm_lead_openerppresentation0')})
!python {model: crm.lead2opportunity.partner}: |
self.action_apply(cr, uid, [ref('crm_lead2opportunity_partner0')], context={'active_ids': [ref('crm_lead_openerppresentation0')]})
-
I check that lead is now converted to opportunity.
-
+1 -1
View File
@@ -37,7 +37,7 @@ class crm_add_note(osv.osv_memory):
attach = [
(x.name, base64.decodestring(x.binary)) for x in obj.attachment_ids
]
case_pool.history(cr, uid, [case], _("Note"), history=False,
case_pool.history(cr, uid, [case], self.pool.get('mailgate.message').truncate_data(cr, uid, obj.body, context=context), history=False,
details=obj.body, email_from=user_name, attach=attach)
if obj.state == 'unchanged':
+3 -18
View File
@@ -9,24 +9,9 @@
<field name="model">crm.add.note</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Add Note" col="4">
<separator string="Add Note" colspan="6"/>
<notebook colspan="6">
<page string="Note">
<field name="body" nolabel="1" colspan="4" default_focus="1"/>
</page>
<page string="Attachments">
<field name="attachment_ids" colspan="4" nolabel="1">
<form string="Attachment">
<field name="binary" filename="name" />
<field name="name" />
</form>
<tree string="Attachments">
<field name="name" />
</tree>
</field>
</page>
</notebook>
<form string="Add Note">
<separator string="Add Note" colspan="4" />
<field name="body" nolabel="1" colspan="4" default_focus="1"/>
<separator string="" colspan="6"/>
<group colspan="6" col="4" >
<field name="state" />
+110 -246
View File
@@ -22,22 +22,106 @@
from osv import osv, fields
from tools.translate import _
import time
class crm_lead2opportunity(osv.osv_memory):
_name = 'crm.lead2opportunity'
_description = 'Lead To Opportunity'
class crm_lead2opportunity_partner(osv.osv_memory):
_name = 'crm.lead2opportunity.partner'
_description = 'Lead To Opportunity Partner'
_inherit = 'crm.lead2partner'
def action_cancel(self, cr, uid, ids, context=None):
_columns = {
'action': fields.selection([('exist', 'Link to an existing partner'), \
('create', 'Create a new partner'), \
('nothing', 'Do not link to a partner')], \
'Action', required=True),
'name': fields.selection([('convert', 'Convert to Opportunity'), ('merge', 'Merge with existing Opportunity')],'Select Action', required=True),
'opportunity_ids': fields.many2many('crm.lead', 'merge_opportunity_rel', 'merge_id', 'opportunity_id', 'Opportunities', domain=[('type', '=', 'opportunity')]),
}
def default_get(self, cr, uid, fields, context=None):
"""
Closes Lead To Opportunity form
Default get for name, opportunity_ids
if there is an exisitng partner link to the lead, find all existing opportunity link with this partnet to merge
all information together
"""
lead_obj = self.pool.get('crm.lead')
res = super(crm_lead2opportunity_partner, self).default_get(cr, uid, fields, context=context)
opportunities = res.get('opportunity_ids') or []
partner_id = False
for lead in lead_obj.browse(cr, uid, opportunities, context=context):
partner_id = lead.partner_id and lead.partner_id.id or False
if not partner_id and res.get('partner_id'):
partner_id = res.get('partner_id')
ids = []
if partner_id:
ids = lead_obj.search(cr, uid, [('partner_id', '=', partner_id), ('type', '=', 'opportunity')])
opportunities += ids
if 'action' in fields:
res.update({'action' : partner_id and 'exist' or 'create'})
if 'partner_id' in fields:
res.update({'partner_id' : partner_id})
if 'name' in fields:
res.update({'name' : ids and 'merge' or 'convert'})
if 'opportunity_ids' in fields:
res.update({'opportunity_ids': opportunities})
return res
def view_init(self, cr, uid, fields, context=None):
"""
This function checks for precondition before wizard executes
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param ids: List of Lead to Partner's IDs
@param fields: List of fields for default value
@param context: A standard dictionary for contextual values
"""
return {'type': 'ir.actions.act_window_close'}
if context is None:
context = {}
lead_obj = self.pool.get('crm.lead')
for lead in lead_obj.browse(cr, uid, context.get('active_ids', []), context=context):
if lead.state in ['done', 'cancel']:
raise osv.except_osv(_("Warning !"), _("Closed/Cancelled \
Leads Could not convert into Opportunity"))
return False
def _convert(self, cr, uid, ids, lead, partner_id, stage_ids, context=None):
leads = self.pool.get('crm.lead')
address_id = self.pool.get('res.partner.address').search(cr, uid,
[('partner_id', '=', partner_id)],
order='create_date desc',
limit=1)
vals = {
'planned_revenue': lead.planned_revenue,
'probability': lead.probability,
'name': lead.name,
'partner_id': partner_id,
'user_id': (lead.user_id and lead.user_id.id),
'type': 'opportunity',
'stage_id': stage_ids and stage_ids[0] or False,
'date_action': time.strftime('%Y-%m-%d %H:%M:%S'),
}
if address_id:
vals['partner_address_id'] = address_id[0]
lead.write(vals, context=context)
leads.history(cr, uid, [lead], _('Converted to opportunity'), details='Converted to Opportunity', context=context)
if lead.partner_id:
msg_ids = [ x.id for x in lead.message_ids]
self.pool.get('mailgate.message').write(cr, uid, msg_ids, {
'partner_id': lead.partner_id.id
}, context=context)
leads.log(cr, uid, lead.id, _("Lead '%s' has been converted to an opportunity.") % lead.name)
def action_apply(self, cr, uid, ids, context=None):
"""
@@ -46,7 +130,7 @@ class crm_lead2opportunity(osv.osv_memory):
@return : View dictionary opening the Opportunity form view
"""
record_id = context and context.get('active_id') or False
record_id = context and context.get('active_ids') or False
if not record_id:
return {'type': 'ir.actions.act_window_close'}
@@ -69,30 +153,24 @@ class crm_lead2opportunity(osv.osv_memory):
opportunity_view_tree = models_data.browse(
cr, uid, opportunity_view_tree, context=context).res_id
lead = leads.browse(cr, uid, record_id, context=context)
if(lead.section_id):
stage_ids = self.pool.get('crm.case.stage').search(cr, uid, [('type','=','opportunity'),('sequence','>=',1), ('section_ids','=', lead.section_id.id)])
else:
stage_ids = self.pool.get('crm.case.stage').search(cr, uid, [('type','=','opportunity'),('sequence','>=',1)])
for this in self.browse(cr, uid, ids, context=context):
vals ={
'planned_revenue': this.planned_revenue,
'probability': this.probability,
'name': this.name,
'partner_id': this.partner_id.id,
'user_id': (this.partner_id.user_id and this.partner_id.user_id.id) or (lead.user_id and lead.user_id.id),
'type': 'opportunity',
'stage_id': stage_ids and stage_ids[0] or False
}
lead.write(vals, context=context)
leads.history(cr, uid, [lead], _('Opportunity'), details='Converted to Opportunity', context=context)
if lead.partner_id:
msg_ids = [ x.id for x in lead.message_ids]
self.pool.get('mailgate.message').write(cr, uid, msg_ids, {
'partner_id': lead.partner_id.id
}, context=context)
leads.log(cr, uid, lead.id,
_("Lead '%s' has been converted to an opportunity.") % lead.name)
for lead in leads.browse(cr, uid, record_id, context=context):
if(lead.section_id):
stage_ids = self.pool.get('crm.case.stage').search(cr, uid, [('type','=','opportunity'),('sequence','>=',1), ('section_ids','=', lead.section_id.id)])
else:
stage_ids = self.pool.get('crm.case.stage').search(cr, uid, [('type','=','opportunity'),('sequence','>=',1)])
data = self.browse(cr, uid, ids[0], context=context)
partner_ids = []
if data.action == 'create':
partner_ids = self._create_partner(cr, uid, ids, context=context)
partner_id = partner_ids and partner_ids[0] or data.partner_id.id
self._convert(cr, uid, ids, lead, partner_id, stage_ids, context=context)
if data.name == 'merge':
merge_obj = self.pool.get('crm.merge.opportunity')
self.write(cr, uid, ids, {'opportunity_ids' : [(6,0, [data.opportunity_ids[0].id])]}, context=context)
context.update({'lead_ids' : record_id})
return merge_obj.merge(cr, uid, data.opportunity_ids, context=context)
return {
'name': _('Opportunity'),
@@ -109,220 +187,6 @@ class crm_lead2opportunity(osv.osv_memory):
'search_view_id': opportunity_view_search
}
_columns = {
'name' : fields.char('Opportunity', size=64, required=True, select=1),
'probability': fields.float('Success Rate (%)'),
'planned_revenue': fields.float('Expected Revenue'),
'partner_id': fields.many2one('res.partner', 'Partner'),
}
def view_init(self, cr, uid, fields, context=None):
"""
This function checks for precondition before wizard executes
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param fields: List of fields for default value
@param context: A standard dictionary for contextual values
"""
if context is None:
context = {}
lead_obj = self.pool.get('crm.lead')
for lead in lead_obj.browse(cr, uid, context.get('active_ids', []), context=context):
if lead.state in ['done', 'cancel']:
raise osv.except_osv(_("Warning !"), _("Closed/Cancelled \
Leads Could not convert into Opportunity"))
return False
def default_get(self, cr, uid, fields, context=None):
"""
This function gets default values
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param fields: List of fields for default value
@param context: A standard dictionary for contextual values
@return : default values of fields.
"""
lead_obj = self.pool.get('crm.lead')
data = context and context.get('active_ids', []) or []
res = super(crm_lead2opportunity, self).default_get(cr, uid, fields, context=context)
for lead in lead_obj.browse(cr, uid, data, context=context):
if 'name' in fields:
res.update({'name': lead.name})
if 'partner_id' in fields:
res.update({'partner_id': lead.partner_id.id or False})
return res
crm_lead2opportunity()
class crm_lead2opportunity_partner(osv.osv_memory):
_name = 'crm.lead2opportunity.partner'
_description = 'Lead To Opportunity Partner'
_inherit = 'crm.lead2partner'
_columns = {
'partner_id': fields.many2one('res.partner', 'Partner'),
'action': fields.selection([('exist', 'Link to an existing partner'), ('create', 'Create a new partner'), ('no','Do not create a partner')], 'Action'),
}
def make_partner(self, cr, uid, ids, context=None):
"""
This function Makes partner based on action.
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param ids: List of Lead to Partner's IDs
@param context: A standard dictionary for contextual values
@return : Dictionary value for created Partner form.
"""
if context is None:
context = {}
partner_ids = self._create_partner(cr, uid, ids, context=context)
value = {}
data_obj = self.pool.get('ir.model.data')
data_id = data_obj._get_id(cr, uid, 'crm', 'view_crm_lead2opportunity_action')
view_id = False
if data_id:
view_id = data_obj.browse(cr, uid, data_id, context=context).res_id
context.update({'partner_id': partner_ids})
value = {
'name': _('Create Opportunity'),
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'crm.lead2opportunity.action',
'view_id': False,
'context': context,
'views': [(view_id, 'form')],
'type': 'ir.actions.act_window',
'target': 'new',
}
return value
def action_skip(self, cr, uid, ids, context=None):
"""
This skips partner creation
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param ids: List of Lead to Opportunity IDs
@param context: A standard dictionary for contextual values
@return : Dictionary value for Opportunity form
"""
value = {}
if context is None:
context = {}
data_obj = self.pool.get('ir.model.data')
data_id = data_obj._get_id(cr, uid, 'crm', 'view_crm_lead2opportunity_create')
view_id = False
if data_id:
view_id = data_obj.browse(cr, uid, data_id, context=context).res_id
context.update({'partner_id': False})
value = {
'name': _('Create Opportunity'),
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'crm.lead2opportunity',
'view_id': False,
'context': context,
'views': [(view_id, 'form')],
'type': 'ir.actions.act_window',
'target': 'new',
}
return value
def view_init(self, cr, uid, fields, context=None):
"""
This function checks for precondition before wizard executes
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param fields: List of fields for default value
@param context: A standard dictionary for contextual values
"""
if context is None:
context = {}
lead_obj = self.pool.get('crm.lead')
for lead in lead_obj.browse(cr, uid, context.get('active_ids', []), context=context):
if lead.state in ['done', 'cancel']:
raise osv.except_osv(_("Warning !"), _("Closed/Cancelled \
Leads Could not convert into Opportunity"))
return False
crm_lead2opportunity_partner()
class crm_lead2opportunity_action(osv.osv_memory):
'''
Merge with Existing Opportunity or Convert to Opportunity
'''
_name = 'crm.lead2opportunity.action'
_description = 'Convert/Merge Opportunity'
_columns = {
'name': fields.selection([('convert', 'Convert to Opportunity'), ('merge', 'Merge with existing Opportunity')],'Select Action', required=True),
}
_defaults = {
'name': 'convert',
}
def do_action(self, cr, uid, ids, context=None):
"""
This function opens form according to selected Action
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param ids: List of Lead to Opportunity IDs
@param context: A standard dictionary for contextual values
@return : Dictionary value for Opportunity form
"""
value = {}
if context is None:
context = {}
data_obj = self.pool.get('ir.model.data')
view_id = False
for this in self.browse(cr, uid, ids, context=context):
if this.name == 'convert':
data_id = data_obj._get_id(cr, uid, 'crm', 'view_crm_lead2opportunity_create')
if data_id:
view_id = data_obj.browse(cr, uid, data_id, context=context).res_id
value = {
'name': _('Create Opportunity'),
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'crm.lead2opportunity',
'view_id': False,
'context': context,
'views': [(view_id, 'form')],
'type': 'ir.actions.act_window',
'target': 'new',
}
elif this.name == 'merge':
data_id = data_obj._get_id(cr, uid, 'crm', 'merge_opportunity_form')
if data_id:
view_id = data_obj.browse(cr, uid, data_id, context=context).res_id
value = {
'name': _('Merge with Existing Opportunity'),
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'crm.merge.opportunity',
'view_id': False,
'context': context,
'views': [(view_id, 'form')],
'type': 'ir.actions.act_window',
'target': 'new',
}
return value
crm_lead2opportunity_action()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -1,85 +1,38 @@
<openerp>
<data>
<!-- Lead to Opportunity view -->
<record id="view_crm_lead2opportunity_create" model="ir.ui.view">
<field name="name">crm.lead2opportunity.create</field>
<field name="model">crm.lead2opportunity</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Convert To Opportunity">
<field name="name"/>
<group attrs="{'invisible':[('partner_id','=',False)]}" col="2" colspan="2">
<field name="partner_id"/>
</group>
<newline/>
<field name="planned_revenue"/>
<field name="probability"/>
<separator colspan="4"/>
<group col="4" colspan="4">
<label string="" colspan="2"/>
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
<button name="action_apply" string="Create Opportunity" type="object" icon="gtk-go-forward"/>
</group>
</form>
</field>
</record>
<!-- Lead to Opportunity action -->
<record id="action_crm_lead2opportunity" model="ir.actions.act_window">
<field name="name">Create Opportunity</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">crm.lead2opportunity</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<record id="view_crm_lead2opportunity_partner" model="ir.ui.view">
<field name="name">crm.lead2opportunity.partner.form</field>
<field name="model">crm.lead2opportunity.partner</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Create a Partner">
<label string="Are you sure you want to create a partner based on this lead ?" colspan="4"/>
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
<group colspan="4" col="1" attrs="{'invisible':[('msg','=',False)]}">
<field name="msg" colspan="4" nolabel="1" height="50"/>
</group>
<newline />
<field name="action"/>
<group attrs="{'invisible':[('action','!=','exist')]}">
<field name="partner_id" attrs="{'required': [('action', '=', 'exist')]}"/>
</group>
<separator string="" colspan="4" />
<group col="4" colspan="4">
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
<button name="make_partner" string="Continue" type="object" icon="gtk-ok"/>
</group>
</form>
</field>
</record>
<record id="view_crm_lead2opportunity_action" model="ir.ui.view">
<field name="name">crm.lead2opportunity.action.form</field>
<field name="model">crm.lead2opportunity.action</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Select Action">
<separator string="Select Action" colspan="4" />
<label string="If you select Merge with existing Opportunity, the lead details(with the communication history) will be merged with existing Opportunity of Selected partner." colspan="4"/>
<newline/>
<field name="name" colspan="4"/>
<separator colspan="4" />
<group col="4" colspan="4">
<label colspan="2"/>
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
<button name="do_action" string="Next" type="object" icon="gtk-go-forward"/>
</group>
</form>
<form string="Convert to Opportunity">
<field name="action"/>
<group attrs="{'invisible':[('action','!=','exist')]}">
<field name="partner_id" attrs="{'required': [('action', '=', 'exist')]}"/>
</group>
<separator string="Convert to Opportunity" colspan="4"/>
<field name="name" colspan="4"/>
<group col="4" colspan="4" attrs="{'invisible': [('name', '=', 'convert')]}" >
<separator string="Select Opportunities" colspan="4" />
</group>
<field name="opportunity_ids" colspan="4" nolabel="1" attrs="{'invisible': [('name', '=', 'convert')]}">
<tree>
<field name="name" />
<field name="partner_id" />
<field name="user_id" />
<field name="section_id" />
</tree>
</field>
<separator string="" colspan="4" />
<group col="4" colspan="4">
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
<button name="action_apply" string="Create Opportunity" type="object" icon="gtk-ok"/>
</group>
</form>
</field>
</record>
+16 -48
View File
@@ -34,8 +34,7 @@ class crm_lead2partner(osv.osv_memory):
('create', 'Create a new partner')], \
'Action', required=True),
'partner_id': fields.many2one('res.partner', 'Partner'),
'msg': fields.text('Message', readonly=True)
}
}
def view_init(self, cr, uid, fields, context=None):
"""
@@ -66,6 +65,7 @@ class crm_lead2partner(osv.osv_memory):
@return : default values of fields.
"""
lead_obj = self.pool.get('crm.lead')
partner_obj = self.pool.get('res.partner')
contact_obj = self.pool.get('res.partner.address')
@@ -80,8 +80,8 @@ class crm_lead2partner(osv.osv_memory):
email = re.findall(r'([^ ,<@]+@[^> ,]+)', lead.email_from or '')
email = map(lambda x: "'" + x + "'", email)
if email:
cr.execute("""select id from res_partner_address
where
cr.execute("""select id from res_partner_address
where
substring(email from '([^ ,<@]+@[^> ,]+)') in (%s)""" % (','.join(email)))
address_ids = map(lambda x: x[0], cr.fetchall())
if address_ids:
@@ -92,38 +92,20 @@ class crm_lead2partner(osv.osv_memory):
if not partner_ids and lead.partner_name:
partner_ids = partner_obj.search(cr, uid, [('name', '=', lead.partner_name)], context=context)
if not partner_ids:
cr.execute("""SELECT p.id from res_partner p
cr.execute("""SELECT p.id from res_partner p
where regexp_replace(lower(p.name), '[^a-z]*', '', 'g') = regexp_replace(%s, '[^a-z]*', '', 'g')""", (lead.name.lower(), ))
partner_ids = map(lambda x: x[0], cr.fetchall())
partner_id = partner_ids and partner_ids[0] or False
if not partner_id:
label = False
opp_ids = []
if email:
# Find email of existing opportunity matches the email_from of the lead
cr.execute("""select id from crm_lead
where type='opportunity' and
substring(email_from from '([^ ,<@]+@[^> ,]+)') in (%s)""" % (','.join(email)))
opp_ids = map(lambda x:x[0], cr.fetchall())
label = opp_ids and 'email' or False
if not opp_ids:
# Find name of existing opportunity matches the name of the lead
cr.execute("""SELECT l.id from crm_lead l
where type = 'opportunity' and
regexp_replace(lower(l.name), '[^a-z]*', '', 'g') = regexp_replace(%s, '[^a-z]*', '', 'g')""", (lead.name.lower(), ))
opp_ids = map(lambda x: x[0], cr.fetchall())
label = opp_ids and 'name' or False
if label:
res.update({'msg': "An existing opportunity seems to match the %s of this lead, you should double-check before converting it." % (label)})
if 'partner_id' in fields:
res.update({'partner_id': partner_id})
if 'action' in fields:
res.update({'action': partner_id and 'exist' or 'create'})
if 'opportunity_ids' in fields:
res.update({'opportunity_ids': data})
return res
def open_create_partner(self, cr, uid, ids, context=None):
"""
This function Opens form of create partner.
@@ -203,18 +185,15 @@ class crm_lead2partner(osv.osv_memory):
if data.partner_id:
partner_id = data.partner_id.id
contact_id = partner_obj.address_get(cr, uid, [partner_id])['default']
self.assign_partner(cr, uid, lead.id, partner_id)
partner_ids.append(partner_id)
if data.action<>'no':
vals = {}
if partner_id:
vals.update({'partner_id': partner_id})
if contact_id:
vals.update({'partner_address_id': contact_id})
lead_obj.write(cr, uid, [lead.id], vals)
return partner_ids
def assign_partner(self, cr, uid, lead_id, partner_id):
self.pool.get("crm.lead").write(cr, uid, [lead_id], {'partner_id' : partner_id})
def make_partner(self, cr, uid, ids, context=None):
"""
This function Makes partner based on action.
@@ -233,19 +212,8 @@ class crm_lead2partner(osv.osv_memory):
mod_obj = self.pool.get('ir.model.data')
result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
res = mod_obj.read(cr, uid, result, ['res_id'])
value = {
'domain': "[]",
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'res.partner',
'res_id': partner_ids and int(partner_ids[0]) or False,
'view_id': False,
'context': context,
'type': 'ir.actions.act_window',
'search_view_id': res['res_id']
}
return value
print partner_ids
return {'type': 'ir.actions.act_window_close'}
crm_lead2partner()
@@ -10,8 +10,6 @@
<field name="arch" type="xml">
<form string="Create a Partner">
<separator string="Create a Partner" colspan="4" />
<label string="Are you sure you want to create a partner based on this lead ?" colspan="4"/>
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
<field name="action"/>
<group attrs="{'invisible':[('action','!=','exist')]}">
<field name="partner_id" attrs="{'required': [('action', '=', 'exist')]}"/>
@@ -25,9 +23,9 @@
</field>
</record>
<!-- Lead to Partner wizard -->
<record id="action_crm_lead2partner" model="ir.actions.act_window">
<!-- Lead to Partner wizard -->
<record id="action_crm_lead2partner" model="ir.actions.act_window">
<field name="name">Create a Partner</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">crm.lead2partner</field>
+164 -89
View File
@@ -18,7 +18,6 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from crm import crm
from osv import osv, fields
from tools.translate import _
@@ -28,91 +27,176 @@ class crm_merge_opportunity(osv.osv_memory):
_name = 'crm.merge.opportunity'
_description = 'Merge two Opportunities'
def view_init(self, cr, uid, fields, context=None):
"""
This function checks for precondition before wizard executes
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param fields: List of fields for default value
@param context: A standard dictionary for contextual values
def _get_first_not_null_id(self, attr, ops):
for op in ops:
if hasattr(op, attr) and getattr(op, attr):
return getattr(op, attr).id
return False
def _get_first_not_null(self, attr, ops):
for op in ops:
if hasattr(op, attr) and getattr(op, attr):
return getattr(op, attr)
return False
def _concat_all(self, attr, ops):
return ', '.join([getattr(op, attr) for op in ops if hasattr(op, attr) and getattr(op, attr)])
def get_attachments(self, cr, uid, id, context=None):
attach_obj = self.pool.get('ir.attachment')
result = []
attach_ids = attach_obj.search(cr, uid, [('res_model' , '=', 'crm.lead'), ('res_id', '=', id)])
return attach_ids
def set_attachements_res_id(self, cr, uid, op_id, attach_ids, context=None):
attach_obj = self.pool.get('ir.attachment')
attach_obj.write(cr, uid, attach_ids, {'res_id' : op_id})
def merge(self, cr, uid, op_ids, context=None):
"""
record_id = context and context.get('active_id', False) or False
if record_id:
opp_obj = self.pool.get('crm.lead')
opp = opp_obj.browse(cr, uid, record_id, context=context)
if not opp.partner_id:
raise osv.except_osv(_('Warning!'), _('Opportunity must have Partner assigned before merging with other Opportunity.'))
#Search for Opportunity for the same partner
opp_ids = opp_obj.search(cr, uid, [('partner_id', '=', opp.partner_id.id), ('type', '=', 'opportunity'), ('state', 'in', ('open', 'pending'))])
# Removing current opportunity
if record_id in opp_ids:
opp_ids.remove(record_id)
if not opp_ids:
raise osv.except_osv(_('Warning!'), _("There are no other 'Open' or 'Pending' Opportunities for the partner '%s'.") % (opp.partner_id.name))
pass
@param opp_ids : list of opportunities ids to merge
"""
opp_obj = self.pool.get('crm.lead')
message_obj = self.pool.get('mailgate.message')
lead_ids = context and context.pop('lead_ids', []) or []
if len(op_ids) <= 1:
raise osv.except_osv(_('Warning !'),_('Please select more than one opportunities.'))
opportunities = opp_obj.browse(cr, uid, lead_ids, context=context)
opportunities_list = list(set(op_ids) - set(opportunities))
if opportunities :
first_opportunity = opportunities[0]
tail_opportunities = opportunities_list
else:
first_opportunity = opportunities_list[0]
tail_opportunities = opportunities_list[1:]
data = {
'partner_id': self._get_first_not_null_id('partner_id', op_ids), # !!
'title': self._get_first_not_null_id('title', op_ids),
'name' : self._concat_all('name', op_ids), #not lost
'categ_id' : self._get_first_not_null_id('categ_id', op_ids), # !!
'channel_id' : self._get_first_not_null_id('channel_id', op_ids), # !!
'city' : self._get_first_not_null('city', op_ids), # !!
'company_id' : self._get_first_not_null_id('company_id', op_ids), #!!
'contact_name' : self._concat_all('contact_name', op_ids), #not lost
'country_id' : self._get_first_not_null_id('country_id', op_ids), #!!
'partner_address_id' : self._get_first_not_null_id('partner_address_id', op_ids), #!!
'partner_assigned_id' : hasattr(opp_obj,'partner_assigned_id') and self._get_first_not_null_id('partner_assigned_id', op_ids), #!!
'type_id' : self._get_first_not_null_id('type_id', op_ids), #!!
'user_id' : self._get_first_not_null_id('user_id', op_ids), #!!
'section_id' : self._get_first_not_null_id('section_id', op_ids), #!!
'state_id' : self._get_first_not_null_id('state_id', op_ids),
'description' : self._concat_all('description', op_ids), #not lost
'email' : self._get_first_not_null('email', op_ids), # !!
'fax' : self._get_first_not_null('fax', op_ids),
'mobile' : self._get_first_not_null('mobile', op_ids),
'partner_latitude' : hasattr(opp_obj,'partner_latitude') and self._get_first_not_null('partner_latitude', op_ids),
'partner_longitude' : hasattr(opp_obj,'partner_longitude') and self._get_first_not_null('partner_longitude', op_ids),
'partner_name' : self._get_first_not_null('partner_name', op_ids),
'phone' : self._get_first_not_null('phone', op_ids),
'probability' : self._get_first_not_null('probability', op_ids),
'planned_revenue' : self._get_first_not_null('planned_revenue', op_ids),
'street' : self._get_first_not_null('street', op_ids),
'street2' : self._get_first_not_null('street2', op_ids),
'zip' : self._get_first_not_null('zip', op_ids),
}
#copy message into the first opportunity + merge attachement
for opp in tail_opportunities:
attach_ids = self.get_attachments(cr, uid, opp, context=context)
self.set_attachements_res_id(cr, uid, first_opportunity.id, attach_ids)
for history in opp.message_ids:
new_history = message_obj.copy(cr, uid, history.id, default={'res_id': opp.id})
#Notification about loss of information
details = []
subject = ['Merged opportunities :']
for opp in op_ids:
subject.append(opp.name)
details.append(_('Merged Opportunity: %s\n Partner: %s\n Stage: %s\n Section: %s\n Salesman: %s\n Category: %s\n Channel: %s\n Company: %s\n Contact name: %s\n Email: %s\n Phone number: %s\n Fax: %s\n Mobile: %s\n State: %s\n Description: %s\n Probability: %s\n Planned revennue: %s\n Country: %s\n City: %s\n Street: %s\n Street 2: %s\n Zip 2: %s') % ( opp.name, opp.partner_id.name or '',
opp.stage_id.name or '',
opp.section_id.name or '',
opp.user_id.name or '',
opp.categ_id.name or '',
opp.channel_id.name or '',
opp.company_id.name or '',
opp.contact_name or '',
opp.email_from or '',
opp.phone or '',
opp.fax or '',
opp.mobile or '',
opp.state_id.name or '',
opp.description or '',
opp.probability or '',
opp.planned_revenue or '',
opp.country_id.name or '',
opp.city or '',
opp.street or '',
opp.street2 or '',
opp.zip or '',
))
subject = subject[0] + ", ".join(subject[1:])
details = "\n\n".join(details)
opp_obj._history(cr, uid, [first_opportunity], subject, details=details)
#data.update({'message_ids' : [(6, 0 ,self._concat_o2m('message_ids', op_ids))]})
opp_obj.write(cr, uid, [first_opportunity.id], data)
unlink_ids = map(lambda x: x.id, tail_opportunities)
opp_obj.unlink(cr, uid, unlink_ids, context=context)
models_data = self.pool.get('ir.model.data')
# Get Opportunity views
result = models_data._get_id(
cr, uid, 'crm', 'view_crm_case_opportunities_filter')
opportunity_view_form = models_data._get_id(
cr, uid, 'crm', 'crm_case_form_view_oppor')
opportunity_view_tree = models_data._get_id(
cr, uid, 'crm', 'crm_case_tree_view_oppor')
if opportunity_view_form:
opportunity_view_form = models_data.browse(
cr, uid, opportunity_view_form, context=context).res_id
if opportunity_view_tree:
opportunity_view_tree = models_data.browse(
cr, uid, opportunity_view_tree, context=context).res_id
return {
'name': _('Opportunity'),
'view_type': 'form',
'view_mode': 'tree, form',
'res_model': 'crm.lead',
'domain': [('type', '=', 'opportunity')],
'res_id': int(first_opportunity.id),
'view_id': False,
'views': [(opportunity_view_form, 'form'),
(opportunity_view_tree, 'tree'),
(False, 'calendar'), (False, 'graph')],
'type': 'ir.actions.act_window',
}
def action_merge(self, cr, uid, ids, context=None):
"""
This function merges two opportunities
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param ids: List of Phonecall to Opportunity IDs
@param context: A standard dictionary for contextual values
obj_opportunity = self.browse(cr, uid, ids[0], context=context)
op_ids = obj_opportunity.opportunity_ids
self.write(cr, uid, ids, {'opportunity_ids' : [(6,0, [op_ids[0].id])]}, context=context)
context['lead_ids'] = [op_ids[0].id]
return self.merge(cr, uid, op_ids, context)
@return : Dictionary value for created Opportunity form
"""
record_id = context and context.get('active_id', False) or False
if record_id:
opp_obj = self.pool.get('crm.lead')
message_obj = self.pool.get('mailgate.message')
current_opp = opp_obj.browse(cr, uid, record_id, context=context)
for this in self.browse(cr, uid, ids, context=context):
for opp in this.opportunity_ids:
opp_obj.write(cr, uid, [opp.id], {
'stage_id': opp.stage_id.id or current_opp.stage_id.id or False,
'priority': opp.priority or current_opp.priority,
'email_from': opp.email_from or current_opp.email_from,
'phone': opp.phone or current_opp.phone,
'section_id': opp.section_id.id or current_opp.section_id.id or False,
'categ_id': opp.categ_id.id or current_opp.categ_id.id or False,
'description': (opp.description or '') + '\n' + (current_opp.description or ''),
'partner_name': opp.partner_name or current_opp.partner_name,
'title': opp.title.id or current_opp.title.id or False,
'function': opp.function or current_opp.function,
'street': opp.street or current_opp.street,
'street2': opp.street2 or current_opp.street2,
'zip': opp.zip or current_opp.zip,
'city': opp.city or current_opp.city,
'country_id': opp.country_id.id or current_opp.country_id.id or False,
'state_id': opp.state_id.id or current_opp.state_id.id or False,
'fax': opp.fax or current_opp.fax,
'mobile': opp.mobile or current_opp.mobile,
'email_cc': ','.join(filter(lambda x: x, [opp.email_cc, current_opp.email_cc]))
})
for history in current_opp.message_ids:
if history.history:
new_history = message_obj.copy(cr, uid, history.id, default={'res_id': opp.id})
opp_obj._history(cr, uid, [current_opp], _('Merged into Opportunity: %s') % (opp.id))
if this.state == 'unchanged':
pass
elif this.state == 'done':
opp_obj.case_close(cr, uid, [record_id])
elif this.state == 'draft':
opp_obj.case_reset(cr, uid, [record_id])
elif this.state in ['cancel', 'open', 'pending']:
act = 'case_' + this.state
getattr(opp_obj, act)(cr, uid, [record_id])
return {'type': 'ir.actions.act_window_close'}
_columns = {
'opportunity_ids' : fields.many2many('crm.lead', 'merge_opportunity_rel', 'merge_id', 'opportunity_id', 'Opportunities', domain=[('type', '=', 'opportunity')]),
'state': fields.selection(crm.AVAILABLE_STATES + [('unchanged', 'Unchanged')], string='Set State To', required=True),
}
def default_get(self, cr, uid, fields, context=None):
@@ -126,21 +210,12 @@ class crm_merge_opportunity(osv.osv_memory):
@return : default values of fields.
"""
record_id = context and context.get('active_id', False) or False
record_ids = context and context.get('active_ids', False) or False
res = super(crm_merge_opportunity, self).default_get(cr, uid, fields, context=context)
if record_id:
opp_obj = self.pool.get('crm.lead')
opp = opp_obj.browse(cr, uid, record_id, context=context)
opp_ids = opp_obj.search(cr, uid, [('partner_id', '=', opp.partner_id.id), ('type', '=', 'opportunity'), ('state', 'in', ('open', 'pending'))])
# Removing current opportunity
if record_id in opp_ids:
opp_ids.remove(record_id)
if record_ids:
if 'opportunity_ids' in fields:
res.update({'opportunity_ids': opp_ids})
if 'state' in fields:
res.update({'state': u'cancel'})
res.update({'opportunity_ids': record_ids})
return res
@@ -11,10 +11,16 @@
<field name="arch" type="xml">
<form string="Merge Opportunities">
<separator string="Select Opportunities" colspan="4"/>
<field name="opportunity_ids" nolabel="1" colspan="4" width="550" height="300"/>
<field name="opportunity_ids" nolabel="1" colspan="4" width="550" height="300" >
<tree>
<field name="name" />
<field name="partner_id" />
<field name="user_id" />
<field name="section_id" />
</tree>
</field>
<separator colspan="4"/>
<group col="4" colspan="4">
<field name="state" />
<button string="_Cancel" icon="gtk-cancel" special="cancel" />
<button name="action_merge" type="object"
string="_Merge" icon="gtk-ok" />
+787
View File
@@ -0,0 +1,787 @@
# Spanish (Ecuador) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-02-23 23:25+0000\n"
"Last-Translator: Mario Andrés Correa <Unknown>\n"
"Language-Team: Spanish (Ecuador) <es_EC@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: crm_fundraising
#: field:crm.fundraising,planned_revenue:0
msgid "Planned Revenue"
msgstr "Ingresos previstos"
#. module: crm_fundraising
#: field:crm.fundraising.report,nbr:0
msgid "# of Cases"
msgstr "Nº de casos"
#. module: crm_fundraising
#: view:crm.fundraising:0
#: view:crm.fundraising.report:0
msgid "Group By..."
msgstr "Agrupar por..."
#. module: crm_fundraising
#: field:crm.fundraising.report,probability:0
msgid "Avg. Probability"
msgstr "Probabilidad media"
#. module: crm_fundraising
#: selection:crm.fundraising.report,month:0
msgid "March"
msgstr "Marzo"
#. module: crm_fundraising
#: field:crm.fundraising.report,delay_close:0
msgid "Delay to close"
msgstr "Demora a cerrar"
#. module: crm_fundraising
#: field:crm.fundraising,company_id:0
#: view:crm.fundraising.report:0
#: field:crm.fundraising.report,company_id:0
msgid "Company"
msgstr "Compañía"
#. module: crm_fundraising
#: model:ir.actions.act_window,name:crm_fundraising.crm_fund_categ_action
msgid "Fundraising Categories"
msgstr "Categorías de recaudación de fondos"
#. module: crm_fundraising
#: field:crm.fundraising,email_cc:0
msgid "Watchers Emails"
msgstr ""
#. module: crm_fundraising
#: view:crm.fundraising.report:0
msgid "Cases"
msgstr "Casos"
#. module: crm_fundraising
#: selection:crm.fundraising,priority:0
msgid "Highest"
msgstr "Más alta"
#. module: crm_fundraising
#: view:crm.fundraising.report:0
#: field:crm.fundraising.report,day:0
msgid "Day"
msgstr "Día"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Add Internal Note"
msgstr "Añadir nota interna"
#. module: crm_fundraising
#: field:crm.fundraising,partner_mobile:0
msgid "Mobile"
msgstr "Móvil"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Notes"
msgstr "Notas"
#. module: crm_fundraising
#: field:crm.fundraising,message_ids:0
msgid "Messages"
msgstr "Mensajes"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Amount"
msgstr "Monto"
#. module: crm_fundraising
#: model:crm.case.categ,name:crm_fundraising.categ_fund4
msgid "Arts And Culture"
msgstr "Arte y cultura"
#. module: crm_fundraising
#: view:crm.fundraising.report:0
#: field:crm.fundraising.report,amount_revenue:0
msgid "Est.Revenue"
msgstr ""
#. module: crm_fundraising
#: field:crm.fundraising,partner_address_id:0
msgid "Partner Contact"
msgstr "Contacto de Socio"
#. module: crm_fundraising
#: view:crm.fundraising.report:0
msgid " Month "
msgstr " Mes "
#. module: crm_fundraising
#: field:crm.fundraising,type_id:0
msgid "Campaign"
msgstr "Campaña"
#. module: crm_fundraising
#: field:crm.fundraising,date_action_next:0
msgid "Next Action"
msgstr "Siguiente Acción"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Reset to Draft"
msgstr "Cambiar a borrador"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Extra Info"
msgstr "Información Adicional"
#. module: crm_fundraising
#: model:ir.model,name:crm_fundraising.model_crm_fundraising
#: model:ir.ui.menu,name:crm_fundraising.menu_config_fundrising
#: model:ir.ui.menu,name:crm_fundraising.menu_crm_case_fund_raise
msgid "Fund Raising"
msgstr "Recaudación de fondos"
#. module: crm_fundraising
#: view:crm.fundraising:0
#: field:crm.fundraising,partner_id:0
#: field:crm.fundraising.report,partner_id:0
msgid "Partner"
msgstr "Socio"
#. module: crm_fundraising
#: model:ir.ui.menu,name:crm_fundraising.menu_report_crm_fundraising_tree
msgid "Fundraising Analysis"
msgstr "Análisis de recaudación de fondos"
#. module: crm_fundraising
#: model:ir.module.module,shortdesc:crm_fundraising.module_meta_information
msgid "CRM Fundraising"
msgstr "Recaudación CRM"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Misc"
msgstr "Varios"
#. module: crm_fundraising
#: field:crm.fundraising.report,section_id:0
msgid "Section"
msgstr "Sección"
#. module: crm_fundraising
#: view:crm.fundraising:0
#: field:crm.fundraising,priority:0
msgid "Priority"
msgstr "Prioridad"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Send New Email"
msgstr "Enviar nuevo email"
#. module: crm_fundraising
#: model:crm.case.categ,name:crm_fundraising.categ_fund1
msgid "Social Rehabilitation And Rural Upliftment"
msgstr "Rehabilitación social y desarrollo rural"
#. module: crm_fundraising
#: view:crm.fundraising:0
#: view:crm.fundraising.report:0
msgid "Payment Mode"
msgstr "Forma de pago"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Reply"
msgstr "Responder"
#. module: crm_fundraising
#: field:crm.fundraising,email_from:0
msgid "Email"
msgstr "Email"
#. module: crm_fundraising
#: field:crm.fundraising,canal_id:0
msgid "Channel"
msgstr "Canal"
#. module: crm_fundraising
#: selection:crm.fundraising,priority:0
msgid "Lowest"
msgstr "Más baja"
#. module: crm_fundraising
#: field:crm.fundraising,create_date:0
msgid "Creation Date"
msgstr "Fecha de creación"
#. module: crm_fundraising
#: field:crm.fundraising,date_deadline:0
msgid "Deadline"
msgstr "Fecha límite"
#. module: crm_fundraising
#: selection:crm.fundraising.report,month:0
msgid "July"
msgstr "Julio"
#. module: crm_fundraising
#: model:ir.ui.menu,name:crm_fundraising.menu_crm_case_fundraising-act
msgid "Categories"
msgstr "Categorías"
#. module: crm_fundraising
#: field:crm.fundraising,stage_id:0
msgid "Stage"
msgstr "Etapa"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "History Information"
msgstr "Histórico información"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Dates"
msgstr "Fechas"
#. module: crm_fundraising
#: field:crm.fundraising,partner_name2:0
msgid "Employee Email"
msgstr "Email empleado"
#. module: crm_fundraising
#: view:crm.fundraising.report:0
msgid " Month-1 "
msgstr " Mes-1 "
#. module: crm_fundraising
#: selection:crm.fundraising,state:0
#: selection:crm.fundraising.report,state:0
msgid "Cancelled"
msgstr "Cancelado"
#. module: crm_fundraising
#: model:crm.case.categ,name:crm_fundraising.categ_fund2
msgid "Learning And Education"
msgstr "Aprendizaje y educación"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Contact"
msgstr "Contacto"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Funds Form"
msgstr "Formulario fondos"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Fund Description"
msgstr "Descripción del fondo"
#. module: crm_fundraising
#: help:crm.fundraising.report,delay_close:0
msgid "Number of Days to close the case"
msgstr "Número de días para cerrar el caso"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "References"
msgstr "Referencias"
#. module: crm_fundraising
#: view:crm.fundraising.report:0
#: model:ir.actions.act_window,name:crm_fundraising.action_report_crm_fundraising
#: model:ir.module.module,description:crm_fundraising.module_meta_information
msgid "Fundraising"
msgstr "Recaudación de fondos"
#. module: crm_fundraising
#: model:ir.actions.act_window,help:crm_fundraising.action_report_crm_fundraising
msgid ""
"Have a general overview of all fund raising activities by sorting them with "
"specific criteria such as the estimated revenue, average success probability "
"and delay to close."
msgstr ""
#. module: crm_fundraising
#: selection:crm.fundraising.report,month:0
msgid "September"
msgstr "Septiembre"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Communication"
msgstr "Comunicación"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Funds Tree"
msgstr "Árbol de fondos"
#. module: crm_fundraising
#: view:crm.fundraising.report:0
#: field:crm.fundraising.report,month:0
msgid "Month"
msgstr "Mes"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Escalate"
msgstr "Escalar"
#. module: crm_fundraising
#: field:crm.fundraising,write_date:0
msgid "Update Date"
msgstr "Actualizar fecha"
#. module: crm_fundraising
#: model:crm.case.resource.type,name:crm_fundraising.type_fund3
msgid "Credit Card"
msgstr "Tarjeta de crédito"
#. module: crm_fundraising
#: model:ir.actions.act_window,name:crm_fundraising.crm_fundraising_stage_act
msgid "Fundraising Stages"
msgstr "Etapas de recaudación de fondos"
#. module: crm_fundraising
#: view:crm.fundraising.report:0
msgid "Salesman"
msgstr "Vendedor"
#. module: crm_fundraising
#: field:crm.fundraising,ref:0
msgid "Reference"
msgstr "Referencia"
#. module: crm_fundraising
#: field:crm.fundraising,ref2:0
msgid "Reference 2"
msgstr "Referencia 2"
#. module: crm_fundraising
#: view:crm.fundraising:0
#: field:crm.fundraising,categ_id:0
#: view:crm.fundraising.report:0
#: field:crm.fundraising.report,categ_id:0
msgid "Category"
msgstr "Categoría"
#. module: crm_fundraising
#: view:crm.fundraising.report:0
msgid " Year "
msgstr " Año "
#. module: crm_fundraising
#: field:crm.fundraising,planned_cost:0
#: view:crm.fundraising.report:0
#: field:crm.fundraising.report,planned_cost:0
msgid "Planned Costs"
msgstr "Costos previstos"
#. module: crm_fundraising
#: help:crm.fundraising,email_cc:0
msgid ""
"These email addresses will be added to the CC field of all inbound and "
"outbound emails for this record before being sent. Separate multiple email "
"addresses with a comma"
msgstr ""
"Estas direcciones de correo serán añadidas al campo CC para todos los "
"correos entrantes y salientes de este registro antes de ser enviados. Separe "
"las diferentes direcciones de correo con una coma."
#. module: crm_fundraising
#: selection:crm.fundraising,state:0
#: view:crm.fundraising.report:0
#: selection:crm.fundraising.report,state:0
msgid "Draft"
msgstr "Borrador"
#. module: crm_fundraising
#: selection:crm.fundraising,priority:0
msgid "Low"
msgstr "Bajo"
#. module: crm_fundraising
#: field:crm.fundraising,date_closed:0
#: selection:crm.fundraising,state:0
#: selection:crm.fundraising.report,state:0
msgid "Closed"
msgstr "Cerrado"
#. module: crm_fundraising
#: view:crm.fundraising:0
#: selection:crm.fundraising,state:0
#: view:crm.fundraising.report:0
#: selection:crm.fundraising.report,state:0
msgid "Pending"
msgstr "Pendiente"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Communication & History"
msgstr "Comunicación e Historial"
#. module: crm_fundraising
#: model:ir.ui.menu,name:crm_fundraising.menu_crm_fundraising_stage_act
msgid "Stages"
msgstr "Etapas"
#. module: crm_fundraising
#: selection:crm.fundraising.report,month:0
msgid "August"
msgstr "Agosto"
#. module: crm_fundraising
#: selection:crm.fundraising,priority:0
msgid "Normal"
msgstr "Normal"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Global CC"
msgstr "CC Global"
#. module: crm_fundraising
#: view:crm.fundraising:0
#: model:ir.actions.act_window,name:crm_fundraising.crm_case_category_act_fund_all1
msgid "Funds"
msgstr "Fondos"
#. module: crm_fundraising
#: selection:crm.fundraising.report,month:0
msgid "June"
msgstr "Junio"
#. module: crm_fundraising
#: field:crm.fundraising,partner_phone:0
msgid "Phone"
msgstr "Teléfono"
#. module: crm_fundraising
#: field:crm.fundraising.report,user_id:0
msgid "User"
msgstr "Usuario"
#. module: crm_fundraising
#: view:crm.fundraising.report:0
msgid "#Fundraising"
msgstr "Nº Recaudación de fondos"
#. module: crm_fundraising
#: field:crm.fundraising,active:0
msgid "Active"
msgstr "Activo"
#. module: crm_fundraising
#: selection:crm.fundraising.report,month:0
msgid "November"
msgstr "Noviembre"
#. module: crm_fundraising
#: view:crm.fundraising.report:0
msgid "Extended Filters..."
msgstr "Filtros extendidos..."
#. module: crm_fundraising
#: view:crm.fundraising.report:0
msgid "Search"
msgstr "Buscar"
#. module: crm_fundraising
#: selection:crm.fundraising.report,month:0
msgid "October"
msgstr "Octubre"
#. module: crm_fundraising
#: selection:crm.fundraising.report,month:0
msgid "January"
msgstr "Enero"
#. module: crm_fundraising
#: model:crm.case.resource.type,name:crm_fundraising.type_fund2
msgid "Cheque"
msgstr "Cheque"
#. module: crm_fundraising
#: model:ir.actions.act_window,help:crm_fundraising.crm_fund_categ_action
msgid ""
"Manage and define the fund raising categories you want to be maintained in "
"the system."
msgstr ""
"Gestione y defina las categorías de recaudación que quiera mantener en el "
"sistema."
#. module: crm_fundraising
#: help:crm.fundraising,email_from:0
msgid "These people will receive email."
msgstr "Estas personas recibirán un email."
#. module: crm_fundraising
#: field:crm.fundraising,date:0
msgid "Date"
msgstr "Fecha"
#. module: crm_fundraising
#: model:crm.case.categ,name:crm_fundraising.categ_fund3
msgid "Healthcare"
msgstr ""
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "History"
msgstr "Historial"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Attachments"
msgstr "Archivos adjuntos"
#. module: crm_fundraising
#: model:ir.model,name:crm_fundraising.model_crm_case_stage
msgid "Stage of case"
msgstr "Etapa del caso"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Estimates"
msgstr ""
#. module: crm_fundraising
#: view:crm.fundraising:0
#: field:crm.fundraising,state:0
#: view:crm.fundraising.report:0
#: field:crm.fundraising.report,state:0
msgid "State"
msgstr ""
#. module: crm_fundraising
#: view:crm.fundraising:0
#: view:crm.fundraising.report:0
msgid "Done"
msgstr "Hecho"
#. module: crm_fundraising
#: selection:crm.fundraising.report,month:0
msgid "December"
msgstr "Diciembre"
#. module: crm_fundraising
#: view:crm.fundraising:0
#: view:crm.fundraising.report:0
msgid "Cancel"
msgstr "Cancelar"
#. module: crm_fundraising
#: view:crm.fundraising:0
#: selection:crm.fundraising,state:0
#: view:crm.fundraising.report:0
#: selection:crm.fundraising.report,state:0
msgid "Open"
msgstr ""
#. module: crm_fundraising
#: model:ir.actions.act_window,help:crm_fundraising.crm_case_category_act_fund_all1
msgid ""
"If you need to collect money for your organization or a campaign, Fund "
"Raising allows you to track all your fund raising activities. In the search "
"list, filter by funds description, email, history and probability of success."
msgstr ""
"Si necesita reunir dinero para su organización o una campaña, Recaudación de "
"Fondos le permite registrar todas sus actividades de recaudación. En la "
"lista de búsqueda, filtre los fondos por descripción, correo electrónico, "
"historial y probabilidad de éxito."
#. module: crm_fundraising
#: view:crm.fundraising:0
#: field:crm.fundraising,user_id:0
msgid "Responsible"
msgstr "Responsable"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Current"
msgstr "Actual"
#. module: crm_fundraising
#: help:crm.fundraising,section_id:0
msgid ""
"Sales team to which Case belongs to. Define Responsible user and Email "
"account for mail gateway."
msgstr ""
"Equipo de ventas al que pertenece el caso. Defina el usuario responsable y "
"la cuenta de email para la pasarela de correo."
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Details"
msgstr "Detalles"
#. module: crm_fundraising
#: model:ir.model,name:crm_fundraising.model_crm_fundraising_report
msgid "CRM Fundraising Report"
msgstr "CRM Informe de recaudaciones"
#. module: crm_fundraising
#: field:crm.fundraising.report,type_id:0
msgid "Fundraising Type"
msgstr "Tipo de recaudación"
#. module: crm_fundraising
#: view:crm.fundraising.report:0
#: field:crm.fundraising.report,amount_revenue_prob:0
msgid "Est. Rev*Prob."
msgstr ""
#. module: crm_fundraising
#: model:ir.actions.act_window,help:crm_fundraising.crm_fundraising_stage_act
msgid ""
"Create and manage fund raising activity categories you want to be maintained "
"in the system."
msgstr ""
"Cree y gestione las categorías de actividades de recaudación que quiera "
"mantener en el sistema."
#. module: crm_fundraising
#: field:crm.fundraising,description:0
msgid "Description"
msgstr "Descripción"
#. module: crm_fundraising
#: selection:crm.fundraising.report,month:0
msgid "May"
msgstr "Mayo"
#. module: crm_fundraising
#: field:crm.fundraising,probability:0
msgid "Probability (%)"
msgstr "Probabilidad (%)"
#. module: crm_fundraising
#: field:crm.fundraising,partner_name:0
msgid "Employee's Name"
msgstr "Nombre del empleado"
#. module: crm_fundraising
#: help:crm.fundraising,canal_id:0
msgid ""
"The channels represent the different communication modes available with the "
"customer."
msgstr ""
"Los canales representan los diferentes modos de comunicación disponibles con "
"el cliente"
#. module: crm_fundraising
#: help:crm.fundraising,state:0
msgid ""
"The state is set to 'Draft', when a case is created. "
" \n"
"If the case is in progress the state is set to 'Open'. "
" \n"
"When the case is over, the state is set to 'Done'. "
" \n"
"If the case needs to be reviewed then the state is set to 'Pending'."
msgstr ""
"El estado se establece a 'Borrador', cuando se crea un caso. "
" \n"
"Si el caso está en progreso el estado se establece a 'Abierto'. "
" \n"
"Cuando el caso se cierra, el estado se establece a 'Realizado'. "
" \n"
"Si el caso necesita ser revisado entonces en estado se establece a "
"'Pendiente'."
#. module: crm_fundraising
#: selection:crm.fundraising.report,month:0
msgid "February"
msgstr "Febrero"
#. module: crm_fundraising
#: view:crm.fundraising:0
#: field:crm.fundraising,name:0
msgid "Name"
msgstr "Nombre"
#. module: crm_fundraising
#: model:crm.case.resource.type,name:crm_fundraising.type_fund1
msgid "Cash"
msgstr ""
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Funds by Categories"
msgstr "Fondos por categorías"
#. module: crm_fundraising
#: selection:crm.fundraising.report,month:0
msgid "April"
msgstr "Abril"
#. module: crm_fundraising
#: view:crm.fundraising.report:0
msgid "My Case(s)"
msgstr "Mi(s) caso(s)"
#. module: crm_fundraising
#: model:crm.case.resource.type,name:crm_fundraising.type_fund4
msgid "Demand Draft"
msgstr ""
#. module: crm_fundraising
#: field:crm.fundraising,id:0
msgid "ID"
msgstr "ID"
#. module: crm_fundraising
#: view:crm.fundraising:0
msgid "Search Funds"
msgstr "Buscar fondos"
#. module: crm_fundraising
#: selection:crm.fundraising,priority:0
msgid "High"
msgstr ""
#. module: crm_fundraising
#: view:crm.fundraising:0
#: field:crm.fundraising,section_id:0
#: view:crm.fundraising.report:0
msgid "Sales Team"
msgstr ""
#. module: crm_fundraising
#: field:crm.fundraising.report,create_date:0
msgid "Create Date"
msgstr ""
#. module: crm_fundraising
#: field:crm.fundraising,date_action_last:0
msgid "Last Action"
msgstr ""
#. module: crm_fundraising
#: view:crm.fundraising.report:0
#: field:crm.fundraising.report,name:0
msgid "Year"
msgstr ""
#. module: crm_fundraising
#: field:crm.fundraising,duration:0
msgid "Duration"
msgstr ""
+1
View File
@@ -37,6 +37,7 @@ based on geolocalization.
'crm_lead_view.xml',
'report/crm_lead_report_view.xml',
],
'test': ['test/test_crm_partner_assign.yml'],
'installable': True,
'active': False,
'certificate': '00503409558942442061',
@@ -37,6 +37,9 @@
</data>
</field>
</record>
<record id="view_crm_opportunity_geo_assign_tree" model="ir.ui.view">
<field name="name">crm.lead.geo_assign.tree.inherit</field>
<field name="model">crm.lead</field>
@@ -48,5 +51,21 @@
</field>
</field>
</record>
<record model="ir.ui.view" id="crm_opportunity_partner_filter">
<field name="name">crm.opportunity.partner.filter.assigned</field>
<field name="model">crm.lead</field>
<field name="type">search</field>
<field name="inherit_id" ref="crm.view_crm_case_opportunities_filter"/>
<field name="arch" type="xml">
<filter string="Team" position="after">
<filter string="Referred Partner" icon="terp-personal" domain="[]" context="{'group_by':'partner_assigned_id'}"/>
</filter>
<field name="categ_id" position="after">
<separator orientation="vertical"/>
<field name="partner_assigned_id"/>
</field>
</field>
</record>
</data>
</openerp>
+9 -9
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2010-11-20 07:57+0000\n"
"PO-Revision-Date: 2011-02-23 12:39+0000\n"
"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
"Language-Team: Russian <ru@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-01-15 05:57+0000\n"
"X-Generator: Launchpad (build 12177)\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,name:0
@@ -244,7 +244,7 @@ msgstr "Тип"
#. module: crm_partner_assign
#: help:crm.lead,partner_assigned_id:0
msgid "Partner this case has been forwarded/assigned to."
msgstr ""
msgstr "Партнер по которому возник этот вопрос."
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,priority:0
@@ -264,7 +264,7 @@ msgstr "Дата создания"
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,html:0
msgid "Select this if you want to send email with HTML formatting."
msgstr ""
msgstr "Выберите, если вы хотите посылать эл. письма с HTML форматированием."
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
@@ -306,7 +306,7 @@ msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Opportunities Assignment Analysis"
msgstr ""
msgstr "Анализ распределения сделок"
#. module: crm_partner_assign
#: view:res.partner:0
@@ -332,7 +332,7 @@ msgstr "Закрыть"
#: model:ir.actions.act_window,name:crm_partner_assign.action_report_crm_opportunity_assign
#: model:ir.ui.menu,name:crm_partner_assign.menu_report_crm_opportunities_assign_tree
msgid "Opp. Assignment Analysis"
msgstr ""
msgstr "Анализ распред. сделок"
#. module: crm_partner_assign
#: help:crm.lead.report.assign,delay_close:0
@@ -405,7 +405,7 @@ msgstr ""
#. module: crm_partner_assign
#: constraint:res.partner:0
msgid "Error ! You can not create recursive associated members."
msgstr ""
msgstr "Ошибка! Вы не можете создать рекурсивно связанных участников."
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,state:0
@@ -507,7 +507,7 @@ msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Lead Assign"
msgstr ""
msgstr "Кандидат распределен"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
+715
View File
@@ -0,0 +1,715 @@
# Turkish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-02-23 14:18+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Turkish <tr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,name:0
msgid "Send to"
msgstr "Gönder"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,delay_close:0
msgid "Delay to Close"
msgstr "Kapanmada gecikme"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,planned_revenue:0
msgid "Planned Revenue"
msgstr "Planlanan Gelir"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,nbr:0
msgid "# of Cases"
msgstr "Vak'aların sayısı"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Group By..."
msgstr "Grupla..."
#. module: crm_partner_assign
#: view:crm.lead:0
#: view:crm.lead.forward.to.partner:0
msgid "Forward"
msgstr "İlet"
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,reply_to:0
msgid "Reply-to of the Sales team defined on this case"
msgstr "Bu vak'ada tanımlanan Satış Ekibi'ne gönder"
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Geo Localize"
msgstr "Coğrafi konumlama"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "March"
msgstr "Mart"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,type:0
msgid "Lead"
msgstr "Talep"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Delay to close"
msgstr "Kapanmada gecikme"
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,history:0
msgid "Whole Story"
msgstr "Bütün Hikaye"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,company_id:0
msgid "Company"
msgstr "Şirket"
#. module: crm_partner_assign
#: code:addons/crm_partner_assign/partner_geo_assign.py:41
#, python-format
msgid ""
"Could not contact geolocation servers, please make sure you have a working "
"internet connection (%s)"
msgstr ""
"Coğrafi konumlama sunucularına erişilemiyor, lütfen internet bağlantınızın "
"çalıştığından emin olunuz (%s)"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,partner_date:0
msgid "Partner Date"
msgstr "İş Ortağı Tarihi"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,priority:0
msgid "Highest"
msgstr "En yüksek"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,day:0
msgid "Day"
msgstr "Gün"
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,history:0
msgid "Latest email"
msgstr "En son gelen e-posta"
#. module: crm_partner_assign
#: field:crm.lead,partner_latitude:0
#: field:res.partner,partner_latitude:0
msgid "Geo Latitude"
msgstr "Coğrafi enlem"
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,state:0
#: selection:crm.lead.report.assign,state:0
msgid "Cancelled"
msgstr "İptal Edildi"
#. module: crm_partner_assign
#: view:crm.lead:0
msgid "Geo Assignation"
msgstr "Coğrafi Saptama"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,date_closed:0
msgid "Close Date"
msgstr "Kapanış Tarihi"
#. module: crm_partner_assign
#: help:res.partner,partner_weight:0
msgid ""
"Gives the probability to assign a lead to this partner. (0 means no "
"assignation.)"
msgstr ""
"Bu iş ortağına iş atama olasılığını verir. (0 hiç atama yapılmamış demektir.)"
#. module: crm_partner_assign
#: model:ir.module.module,description:crm_partner_assign.module_meta_information
msgid ""
"\n"
"This is the module used by OpenERP SA to redirect customers to his "
"partners,\n"
"based on geolocalization.\n"
" "
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,state:0
#: selection:crm.lead.report.assign,state:0
msgid "Pending"
msgstr "Bekliyor"
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,name:0
#: field:crm.lead.forward.to.partner,partner_id:0
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,partner_assigned_id:0
#: model:ir.model,name:crm_partner_assign.model_res_partner
msgid "Partner"
msgstr "İş ortağı"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,probability:0
msgid "Avg Probability"
msgstr "Ortalama Olasılık"
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Previous"
msgstr "Önceki"
#. module: crm_partner_assign
#: code:addons/crm_partner_assign/partner_geo_assign.py:40
#, python-format
msgid "Network error"
msgstr "Ağ hatası"
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,email_cc:0
msgid ""
"These addresses will receive a copy of this email. To modify the permanent "
"CC list, edit the global CC field of this case"
msgstr ""
"Bu adreslere bu e-postanın bir kopyası iletilecektir. Kalıcı CC listesini "
"değiştirmek için, bu vak'nın toplu CC alanını düzenleyiniz."
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,email_from:0
msgid "From"
msgstr "Gönderen"
#. module: crm_partner_assign
#: model:ir.actions.act_window,name:crm_partner_assign.res_partner_grade_action
#: model:ir.ui.menu,name:crm_partner_assign.menu_res_partner_grade_action
#: field:res.partner,grade_id:0
#: view:res.partner.grade:0
msgid "Partner Grade"
msgstr "İş Ortağı Derecesi"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Section"
msgstr "Bölüm"
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Next"
msgstr "İleri"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,priority:0
msgid "Priority"
msgstr "Öncelik"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,state:0
msgid "State"
msgstr "Durum"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,delay_expected:0
msgid "Overpassed Deadline"
msgstr "Teslim Tarihi Geçen"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,html:0
msgid "HTML formatting?"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.report.assign,type:0
msgid "Type"
msgstr "Tür"
#. module: crm_partner_assign
#: help:crm.lead,partner_assigned_id:0
msgid "Partner this case has been forwarded/assigned to."
msgstr "Bu vak'anın iletildiği/ atandığı İş Ortağı"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,priority:0
msgid "Lowest"
msgstr "En düşük"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Leads Analysis"
msgstr "Talep Analizi"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,creation_date:0
msgid "Creation Date"
msgstr "Oluşturulma Tarihi"
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,html:0
msgid "Select this if you want to send email with HTML formatting."
msgstr "HTML formatında e-posta göndermek için bunu seçin."
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "7 Days"
msgstr "7 Gün"
#. module: crm_partner_assign
#: view:crm.lead:0
msgid "Partner Assignation"
msgstr "İş Ortağı Atama"
#. module: crm_partner_assign
#: help:crm.lead.report.assign,type:0
msgid "Type is used to separate Leads and Opportunities"
msgstr "Tür, talepler ve fırsatları ayırdetmek için kullanılır"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "July"
msgstr "Temmuz"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,stage_id:0
msgid "Stage"
msgstr "Aşama"
#. module: crm_partner_assign
#: code:addons/crm_partner_assign/wizard/crm_forward_to_partner.py:271
#, python-format
msgid "Fwd"
msgstr "İlet"
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Geo Localization"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Opportunities Assignment Analysis"
msgstr ""
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Cancel"
msgstr "İptal"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,history:0
msgid "Send history"
msgstr "Geçmişi Gönder"
#. module: crm_partner_assign
#: view:crm.lead.forward.to.partner:0
msgid "Contact"
msgstr "İletişim"
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Close"
msgstr "Kapat"
#. module: crm_partner_assign
#: model:ir.actions.act_window,name:crm_partner_assign.action_report_crm_opportunity_assign
#: model:ir.ui.menu,name:crm_partner_assign.menu_report_crm_opportunities_assign_tree
msgid "Opp. Assignment Analysis"
msgstr ""
#. module: crm_partner_assign
#: help:crm.lead.report.assign,delay_close:0
msgid "Number of Days to close the case"
msgstr "Şikayeti sonuçlandırmak için kalan günler"
#. module: crm_partner_assign
#: field:res.partner,partner_weight:0
msgid "Weight"
msgstr "Ağırlık"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Delay to open"
msgstr "Açmada gecikme"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,grade_id:0
msgid "Grade"
msgstr "Derece"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "December"
msgstr "Aralık"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,month:0
msgid "Month"
msgstr "Ay"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,opening_date:0
msgid "Opening Date"
msgstr "Açılış Tarihi"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,subject:0
msgid "Subject"
msgstr "Konu"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Salesman"
msgstr "Satış Temsilcisi"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,reply_to:0
msgid "Reply To"
msgstr "Yanıtla"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,categ_id:0
msgid "Category"
msgstr "Kategori"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "#Opportunities"
msgstr "#Fırsatlar"
#. module: crm_partner_assign
#: model:ir.module.module,shortdesc:crm_partner_assign.module_meta_information
msgid "Partner Geo-Localisation"
msgstr "İş Ortağı coğrafi konumlandırma"
#. module: crm_partner_assign
#: constraint:res.partner:0
msgid "Error ! You can not create recursive associated members."
msgstr "Hata ! Kendine referanslı ilişkili taraf ekleyemezsiniz."
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,state:0
#: selection:crm.lead.report.assign,state:0
msgid "Draft"
msgstr "Taslak"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,priority:0
msgid "Low"
msgstr "Düşük"
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,state:0
#: view:crm.lead.report.assign:0
#: selection:crm.lead.report.assign,state:0
msgid "Closed"
msgstr "Kapandı"
#. module: crm_partner_assign
#: view:res.partner:0
#: field:res.partner,opportunity_assigned_ids:0
msgid "Assigned Opportunities"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead,date_assign:0
msgid "Assignation Date"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.report.assign,probability_max:0
msgid "Max Probability"
msgstr "Maksimum Olasılık"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "August"
msgstr "Ağustos"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,priority:0
msgid "Normal"
msgstr "Normal"
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Escalate"
msgstr "Önem sırasını artır"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,attachment_ids:0
msgid "unknown"
msgstr "Bilinmiyor"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "June"
msgstr "Haziran"
#. module: crm_partner_assign
#: help:crm.lead.report.assign,delay_open:0
msgid "Number of Days to open the case"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.report.assign,delay_open:0
msgid "Delay to Open"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,name:0
#: field:crm.lead.forward.to.partner,user_id:0
#: field:crm.lead.report.assign,user_id:0
msgid "User"
msgstr ""
#. module: crm_partner_assign
#: field:res.partner.grade,active:0
msgid "Active"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "November"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Extended Filters..."
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead,partner_longitude:0
#: field:res.partner,partner_longitude:0
msgid "Geo Longitude"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Lead Assign"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "October"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead:0
msgid "Assignation"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,email_cc:0
msgid "CC"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "January"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Planned Revenues"
msgstr ""
#. module: crm_partner_assign
#: model:ir.model,name:crm_partner_assign.model_res_partner_grade
msgid "res.partner.grade"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,state:0
msgid "Unchanged"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "September"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Last 30 Days"
msgstr ""
#. module: crm_partner_assign
#: field:res.partner.grade,name:0
msgid "Grade Name"
msgstr ""
#. module: crm_partner_assign
#: help:crm.lead,date_assign:0
msgid "Last date this case was forwarded/assigned to a partner"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,state:0
#: selection:crm.lead.report.assign,state:0
#: view:res.partner:0
msgid "Open"
msgstr ""
#. module: crm_partner_assign
#: field:res.partner,date_localization:0
msgid "Geo Localization Date"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Current"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,email_to:0
msgid "To"
msgstr ""
#. module: crm_partner_assign
#: model:ir.model,name:crm_partner_assign.model_crm_lead_forward_to_partner
msgid "Send new email"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.forward.to.partner:0
#: model:ir.actions.act_window,name:crm_partner_assign.crm_lead_forward_to_partner_act
msgid "Forward to Partner"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "May"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.report.assign,probable_revenue:0
msgid "Probable Revenue"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead,partner_assigned_id:0
msgid "Assigned Partner"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,address_id:0
msgid "Address"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,type:0
msgid "Opportunity"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.report.assign,partner_id:0
msgid "Customer"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "February"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,name:0
msgid "Email Address"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,country_id:0
msgid "Country"
msgstr ""
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Convert to Opportunity"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead:0
msgid "Geo Assign"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "April"
msgstr ""
#. module: crm_partner_assign
#: model:ir.model,name:crm_partner_assign.model_crm_lead
msgid "crm.lead"
msgstr ""
#. module: crm_partner_assign
#: model:ir.model,name:crm_partner_assign.model_crm_lead_report_assign
msgid "CRM Lead Report"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,history:0
msgid "Case Information"
msgstr ""
#. module: crm_partner_assign
#: field:res.partner.grade,sequence:0
msgid "Sequence"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,body:0
msgid "Message Body"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,priority:0
msgid "High"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.report.assign,section_id:0
msgid "Sales Team"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.report.assign,create_date:0
msgid "Create Date"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,state:0
msgid "Set New State To"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,name:0
msgid "Year"
msgstr ""
@@ -26,7 +26,7 @@ import random, time
from tools.translate import _
def geo_find(addr):
try:
try:
regex = '<coordinates>([+-]?[0-9\.]+),([+-]?[0-9\.]+),([+-]?[0-9\.]+)</coordinates>'
url = 'http://maps.google.com/maps/geo?q=' + urllib.quote(addr) + '&output=xml&oe=utf8&sensor=false'
xml = urllib.urlopen(url).read()
@@ -37,7 +37,7 @@ def geo_find(addr):
return None
return float(result.group(1)),float(result.group(2))
except Exception, e:
raise osv.except_osv(_('Network error'),
raise osv.except_osv(_('Network error'),
_('Could not contact geolocation servers, please make sure you have a working internet connection (%s)') % e)
@@ -64,7 +64,7 @@ class res_partner(osv.osv):
'partner_weight': fields.integer('Weight',
help="Gives the probability to assign a lead to this partner. (0 means no assignation.)"),
'opportunity_assigned_ids': fields.one2many('crm.lead', 'partner_assigned_id',\
'Assigned Opportunities'),
'Assigned Opportunities'),
'grade_id': fields.many2one('res.partner.grade', 'Partner Grade')
}
_defaults = {
@@ -105,7 +105,12 @@ class crm_lead(osv.osv):
if not partner_assigned_id:
return {'value':{'date_assign': False}}
else:
return {'value':{'date_assign': time.strftime('%Y-%m-%d')}}
partners = self.pool.get('res.partner').browse(cr, uid, [partner_assigned_id], context=context)
user_id = partners[0] and partners[0].user_id.id or False
return {'value':
{'date_assign': time.strftime('%Y-%m-%d'),
'user_id' : user_id}
}
def assign_partner(self, cr, uid, ids, context=None):
ok = False
@@ -161,7 +166,7 @@ class crm_lead(osv.osv):
('country', '=', part.country_id.id),
], context=context)
# 6. sixth way: closest partner whatsoever, just to have at least one result
# 6. sixth way: closest partner whatsoever, just to have at least one result
if not part_ids:
# warning: point() type takes (longitude, latitude) as parameters in this order!
cr.execute("""SELECT id, distance
@@ -183,7 +188,9 @@ class crm_lead(osv.osv):
mypartner = random.randint(0,total)
for t in toassign:
if mypartner<=t[1]:
self.write(cr, uid, [part.id], {'partner_assigned_id': t[0], 'date_assign': time.strftime('%Y-%m-%d')}, context=context)
vals = self.onchange_assign_id(cr,uid, ids, t[0], context=context)['value']
vals.update({'partner_assigned_id': t[0], 'date_assign': time.strftime('%Y-%m-%d')})
self.write(cr, uid, [part.id], vals, context=context)
break
ok = True
return ok
@@ -0,0 +1,73 @@
-
In order to test Forward Partner functionality, I create an opportunity and forward it to partner.
-
I assign an email address to Administrator.
-
!record {model: res.users, id: base.user_root}:
user_email: admin@openerp.com
-
I create some partner grades.
-
I create a grade 'First'.
-
!record {model: res.partner.grade, id: res_partner_grade_first0}:
name: First
sequence: 1
-
I create another grade 'Second'.
-
!record {model: res.partner.grade, id: res_partner_grade_second0}:
name: Second
sequence: 2
-
I create one more grade 'Third'.
-
!record {model: res.partner.grade, id: res_partner_grade_third0}:
name: Third
sequence: 3
-
I assign grade 'First' to the partner 'Axelor'.
-
!record {model: res.partner, id: base.res_partner_desertic_hispafuentes}:
grade_id: res_partner_grade_first0
-
I assgin a reply-to email address to Sales Team.
-
!record {model: crm.case.section, id: crm.section_sales_department}:
reply_to: sales_openerp@openerp.com
-
I create an opportunity 'Questionnaire on OpenERP'.
-
!record {model: crm.lead, id: crm_lead_questionnaireonopenerp0}:
categ_id: crm.categ_oppor7
section_id: crm.section_sales_department
country_id: base.fr
date_assign: '2011-02-07'
day_close: 0.0
day_open: 0.0
email_from: info@axelor.com
name: Questionnaire on OpenERP
partner_address_id: base.res_partner_address_3000
partner_assigned_id: base.res_partner_desertic_hispafuentes
partner_id: base.res_partner_desertic_hispafuentes
partner_latitude: 0.0
partner_longitude: 0.0
phone: +33 1 64 61 04 01
planned_revenue: 0.0
probability: 0.0
type: opportunity
-
Now I click on Forward button.
-
!python {model: crm.lead.forward.to.partner}: |
import tools
vals = {
'name': 'email',
'email_to': 'info@axelor.com',
'email_from': 'Administrator <admin@openerp.com>',
'reply_to': 'sales_openerp@openerp.com'
}
ids = self.create(cr, uid, vals, context={'active_id': ref('crm_lead_questionnaireonopenerp0'), 'active_model': 'crm.lead'})
assert tools.config.get('smtp_user', False), 'SMTP not configured !'
self.action_forward(cr, uid, [ids], context={'active_id': ref('crm_lead_questionnaireonopenerp0'), 'active_model': 'crm.lead'})
@@ -151,9 +151,15 @@ class crm_lead_forward_to_partner(osv.osv_memory):
if not partner_id:
return {'value' : {'email_to' : False, 'address_id': False}}
addr = self.pool.get('res.partner').address_get(cr, uid, [partner_id], ['contact'])
partner_obj = self.pool.get('res.partner')
addr = partner_obj.address_get(cr, uid, [partner_id], ['contact'])
data = {'address_id': addr['contact']}
data.update(self.on_change_address(cr, uid, ids, addr['contact'])['value'])
partner = partner_obj.browse(cr, uid, [partner_id])
user_id = partner and partner[0].user_id or False
email = user_id and user_id.user_email or ''
data.update({'email_cc' : email})
return {
'value' : data,
'domain' : {'address_id' : partner_id and "[('partner_id', '=', partner_id)]" or "[]"}
+147
View File
@@ -0,0 +1,147 @@
# Galician translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-02-24 01:08+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Galician <gl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_configuration
msgid "Auto Directory Configuration"
msgstr "Configuración automática de directorios"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid ""
"Indicate the network address on which your OpenERP server should be "
"reachable for end-users. This depends on your network topology and "
"configuration, and will only affect the links displayed to the users. The "
"format is HOST:PORT and the default host (localhost) is only suitable for "
"access from the server machine itself.."
msgstr ""
"Indique a dirección de rede na que o seu servidor de OpenERP debería estar "
"dispoñible para os usuarios finais. Isto depende da topoloxía de rede e da "
"configuración, e só afectará aos enlaces mostrados aos usuarios. O formato é "
"ANFITRIÓN:PORTO e o anfitrión por defecto (localhost) só é adecuado para "
"acceso desde a propia máquina do servidor."
#. module: document_ftp
#: field:document.ftp.configuration,progress:0
msgid "Configuration Progress"
msgstr "Progreso da Configuración"
#. module: document_ftp
#: model:ir.actions.url,name:document_ftp.action_document_browse
msgid "Browse Files"
msgstr "Procurar arquivos"
#. module: document_ftp
#: field:document.ftp.configuration,config_logo:0
msgid "Image"
msgstr "Imaxe"
#. module: document_ftp
#: field:document.ftp.configuration,host:0
msgid "Address"
msgstr "Enderezo"
#. module: document_ftp
#: field:document.ftp.browse,url:0
msgid "FTP Server"
msgstr "Servidor FTP"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory
msgid "FTP Server Configuration"
msgstr "Configuración de servidor FTP"
#. module: document_ftp
#: model:ir.module.module,description:document_ftp.module_meta_information
msgid ""
"This is a support FTP Interface with document management system.\n"
" With this module you would not only be able to access documents through "
"OpenERP\n"
" but you would also be able to connect with them through the file system "
"using the\n"
" FTP client.\n"
msgstr ""
"Esta é unha Interfaz FTP para o sistema de xestión de documentos.\n"
" Con este módulo non podrías acceder aos documentos a través de "
"OpenERP\n"
" sen embargo pódese conectar con el a través do sistema de arquivos "
"usando o cliente FTP\n"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Browse"
msgstr "_Explorar"
#. module: document_ftp
#: help:document.ftp.configuration,host:0
msgid ""
"Server address or IP and port to which users should connect to for DMS access"
msgstr ""
"Dirección do servidor ou IP e porto para que os usuarios podan conectar ao "
"acceso DMS."
#. module: document_ftp
#: model:ir.ui.menu,name:document_ftp.menu_document_browse
msgid "Shared Repository (FTP)"
msgstr "Repositorio compartido (FTP)"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "_Cancel"
msgstr "_Cancelar"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Configure FTP Server"
msgstr "Configurar servidor FTP"
#. module: document_ftp
#: model:ir.module.module,shortdesc:document_ftp.module_meta_information
msgid "Integrated FTP Server with Document Management System"
msgstr "Servidor FTP integrado con sistema de xestión de documentos"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "title"
msgstr "título"
#. module: document_ftp
#: model:ir.model,name:document_ftp.model_document_ftp_browse
msgid "Document FTP Browse"
msgstr "Examinar documento por FTP"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "Knowledge Application Configuration"
msgstr "Configuración da aplicación do coñecemento"
#. module: document_ftp
#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse
msgid "Document Browse"
msgstr "Examinar documento"
#. module: document_ftp
#: view:document.ftp.browse:0
msgid "Browse Document"
msgstr "Examinar documento"
#. module: document_ftp
#: view:document.ftp.configuration:0
msgid "res_config_contents"
msgstr "res_config_contents"
+226
View File
@@ -0,0 +1,226 @@
# Galician translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-02-24 01:19+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Galician <gl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: document_webdav
#: field:document.webdav.dir.property,create_date:0
#: field:document.webdav.file.property,create_date:0
msgid "Date Created"
msgstr "Data de creación"
#. module: document_webdav
#: constraint:document.directory:0
msgid "Error! You can not create recursive Directories."
msgstr "Erro! Non se pode crear directorios recursivos."
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Search Document properties"
msgstr "Búsqueda de propiedades do documento"
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: field:document.webdav.dir.property,namespace:0
#: view:document.webdav.file.property:0
#: field:document.webdav.file.property,namespace:0
msgid "Namespace"
msgstr "Espazo de nomes"
#. module: document_webdav
#: field:document.directory,dav_prop_ids:0
msgid "DAV properties"
msgstr "Propiedades DAV"
#. module: document_webdav
#: model:ir.model,name:document_webdav.model_document_webdav_file_property
msgid "document.webdav.file.property"
msgstr "document.webdav.file.property"
#. module: document_webdav
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Group By..."
msgstr "Agrupar por ..."
#. module: document_webdav
#: view:document.directory:0
msgid "These properties will be added to WebDAV requests"
msgstr "Estas propiedades engadiranse as peticións WebDAV"
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_file_props
msgid "DAV properties for documents"
msgstr "Propiedades DAV para documentos"
#. module: document_webdav
#: code:addons/document_webdav/webdav.py:37
#, python-format
msgid "PyWebDAV Import Error!"
msgstr "Erro de importación PyWebDAV!"
#. module: document_webdav
#: view:document.webdav.file.property:0
#: field:document.webdav.file.property,file_id:0
msgid "Document"
msgstr "Documento"
#. module: document_webdav
#: model:ir.module.module,description:document_webdav.module_meta_information
msgid ""
" With this module, the WebDAV server for the documents is activated.\n"
" You can then use any compatible browser to remotely see the "
"attachments of OpenObject.\n"
"\n"
" After installation, the webDAV server can be controlled by a "
"[webdav] section in the server's config.\n"
" Server Configuration Parameter:\n"
" [webdav]\n"
" ; enable = True ; Serve webdav over the http(s) servers\n"
" ; vdir = webdav ; the directory that webdav will be served at\n"
" ; this default val means that webdav will be\n"
" ; on \"http://localhost:8069/webdav/\n"
" ; verbose = True ; Turn on the verbose messages of webdav\n"
" ; debug = True ; Turn on the debugging messages of webdav\n"
" ; since the messages are routed to the python logging, with\n"
" ; levels \"debug\" and \"debug_rpc\" respectively, you can leave\n"
" ; these options on\n"
msgstr ""
" Con este módulo activase o servidor WebDAV para os documentos.\n"
" Pode utilizar calquer navegador compatible para ver os arquivos adxuntos "
"de forma remota OpenObject.\n"
"\n"
" Despois da instalación, o servidor WebDAV pode ser controlado na sección "
"[webdav] da configuración do servidor.\n"
" Parámetros de configuración do servidor:\n"
" [webdav]\n"
" ; enable = True ; Serve webdav over the http(s) servers\n"
" ; vdir = webdav ; the directory that webdav will be served at\n"
" ; this default val means that webdav will be\n"
" ; on \"http://localhost:8069/webdav/\n"
" ; verbose = True ; Turn on the verbose messages of webdav\n"
" ; debug = True ; Turn on the debugging messages of webdav\n"
" ; since the messages are routed to the python logging, with\n"
" ; levels \"debug\" and \"debug_rpc\" respectively, you can leave\n"
" ; these options on\n"
#. module: document_webdav
#: sql_constraint:document.directory:0
msgid "Directory cannot be parent of itself!"
msgstr "O directorio non pode ser o seu propio pai!"
#. module: document_webdav
#: view:document.directory:0
msgid "Dynamic context"
msgstr "Contexto dinámico"
#. module: document_webdav
#: view:document.directory:0
msgid "WebDAV properties"
msgstr "Propiedades WebDAV"
#. module: document_webdav
#: sql_constraint:document.directory:0
msgid "The directory name must be unique !"
msgstr "O nome do directorio debe ser único!"
#. module: document_webdav
#: code:addons/document_webdav/webdav.py:37
#, python-format
msgid ""
"Please install PyWebDAV from "
"http://code.google.com/p/pywebdav/downloads/detail?name=PyWebDAV-"
"0.9.4.tar.gz&can=2&q=/"
msgstr ""
"Instale PyWebDAV desde "
"http://code.google.com/p/pywebdav/downloads/detail?name=PyWebDAV-"
"0.9.4.tar.gz&can=2&q=/"
#. module: document_webdav
#: model:ir.ui.menu,name:document_webdav.menu_dir_props
msgid "DAV properties for folders"
msgstr "Propiedades DAV para cartafois"
#. module: document_webdav
#: view:document.directory:0
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Properties"
msgstr "Propiedades"
#. module: document_webdav
#: field:document.webdav.dir.property,name:0
#: field:document.webdav.file.property,name:0
msgid "Name"
msgstr "Nome"
#. module: document_webdav
#: model:ir.model,name:document_webdav.model_document_webdav_dir_property
msgid "document.webdav.dir.property"
msgstr "documento.webdav.dir.propiedad"
#. module: document_webdav
#: field:document.webdav.dir.property,value:0
#: field:document.webdav.file.property,value:0
msgid "Value"
msgstr "Valor"
#. module: document_webdav
#: field:document.webdav.dir.property,dir_id:0
#: model:ir.model,name:document_webdav.model_document_directory
msgid "Directory"
msgstr "Directorio"
#. module: document_webdav
#: field:document.webdav.dir.property,write_uid:0
#: field:document.webdav.file.property,write_uid:0
msgid "Last Modification User"
msgstr "Usuario última modificación"
#. module: document_webdav
#: view:document.webdav.dir.property:0
msgid "Dir"
msgstr "Dir"
#. module: document_webdav
#: field:document.webdav.dir.property,write_date:0
#: field:document.webdav.file.property,write_date:0
msgid "Date Modified"
msgstr "Data de modificación"
#. module: document_webdav
#: field:document.webdav.dir.property,create_uid:0
#: field:document.webdav.file.property,create_uid:0
msgid "Creator"
msgstr "Creador"
#. module: document_webdav
#: model:ir.module.module,shortdesc:document_webdav.module_meta_information
msgid "WebDAV server for Document Management"
msgstr "Servidor WebDAV para xestión de documentos"
#. module: document_webdav
#: sql_constraint:document.directory:0
msgid "Directory must have a parent or a storage"
msgstr "O directorio debe ter un pai ou un almacenamento."
#. module: document_webdav
#: field:document.webdav.dir.property,do_subst:0
#: field:document.webdav.file.property,do_subst:0
msgid "Substitute"
msgstr "Substituto"
@@ -1,6 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">
<record id="base.res_groups_email_template_admin" model="res.groups">
<field name="name">Marketing / User</field>
</record>
</data>
</openerp>
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-23 04:37+0000\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: fetchmail
+387
View File
@@ -0,0 +1,387 @@
# Galician translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-02-23 23:32+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Galician <gl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: hr_contract
#: view:hr.contract.wage.type:0
msgid "Hourly cost computation"
msgstr "Cálculo custo por hora"
#. module: hr_contract
#: selection:hr.contract.wage.type,type:0
msgid "Gross"
msgstr "Bruto"
#. module: hr_contract
#: view:hr.contract:0
msgid "Trial Period"
msgstr "Período de probas"
#. module: hr_contract
#: field:hr.contract,trial_date_start:0
msgid "Trial Start Date"
msgstr "Data inicial de proba"
#. module: hr_contract
#: view:hr.contract:0
msgid "Passport"
msgstr "Pasaporte"
#. module: hr_contract
#: view:hr.employee:0
msgid "Medical Examination"
msgstr "Exame médico"
#. module: hr_contract
#: field:hr.employee,vehicle:0
msgid "Company Vehicle"
msgstr "Vehículo da compañía"
#. module: hr_contract
#: field:hr.contract.wage.type,name:0
msgid "Wage Type Name"
msgstr "Nome do tipo de salario"
#. module: hr_contract
#: view:hr.employee:0
msgid "Miscellaneous"
msgstr "Diversos"
#. module: hr_contract
#: view:hr.contract:0
msgid "Current"
msgstr "Actual"
#. module: hr_contract
#: field:hr.contract.wage.type,factor_type:0
msgid "Factor for hour cost"
msgstr "Factor para o coste hora"
#. module: hr_contract
#: view:hr.contract:0
msgid "Overpassed"
msgstr "Excedido"
#. module: hr_contract
#: view:hr.contract.wage.type:0
msgid "Wage Types"
msgstr "Tipos de salario"
#. module: hr_contract
#: field:hr.contract,department_id:0
msgid "Department"
msgstr "Departamento"
#. module: hr_contract
#: selection:hr.contract.wage.type,type:0
msgid "Basic"
msgstr "Básico"
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.contract,employee_id:0
#: model:ir.model,name:hr_contract.model_hr_employee
msgid "Employee"
msgstr "Empregado"
#. module: hr_contract
#: selection:hr.contract.wage.type,type:0
msgid "Net"
msgstr "Neto"
#. module: hr_contract
#: model:ir.module.module,shortdesc:hr_contract.module_meta_information
msgid "Human Resources Contracts"
msgstr "Contratos laborais para recursos humanos"
#. module: hr_contract
#: field:hr.contract.wage.type.period,factor_days:0
msgid "Hours in the period"
msgstr "Horas no período"
#. module: hr_contract
#: field:hr.employee,vehicle_distance:0
msgid "Home-Work Distance"
msgstr "Distancia de casa ao traballo"
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.employee,contract_ids:0
#: model:ir.actions.act_window,name:hr_contract.act_hr_employee_2_hr_contract
#: model:ir.actions.act_window,name:hr_contract.action_hr_contract
#: model:ir.ui.menu,name:hr_contract.hr_menu_contract
msgid "Contracts"
msgstr "Contratos"
#. module: hr_contract
#: view:hr.employee:0
msgid "Personal Info"
msgstr "Información persoal"
#. module: hr_contract
#: view:hr.contract:0
msgid "Job"
msgstr "Traballo"
#. module: hr_contract
#: view:hr.contract:0
msgid "Search Contract"
msgstr "Buscar contrato"
#. module: hr_contract
#: help:hr.employee,contract_id:0
msgid "Latest contract of the employee"
msgstr "Último contrato do empregado"
#. module: hr_contract
#: field:hr.contract,advantages_net:0
msgid "Deductions"
msgstr "Deduccións"
#. module: hr_contract
#: model:ir.module.module,description:hr_contract.module_meta_information
msgid ""
"\n"
" Add all information on the employee form to manage contracts:\n"
" * Marital status,\n"
" * Security number,\n"
" * Place of birth, birth date, ...\n"
" You can assign several contracts per employee.\n"
" "
msgstr ""
"\n"
" Engade información no formulario do empregado para xestionar contratos:\n"
" * Estado civil,\n"
" * Número Seguridade Social,\n"
" * Lugar de nacemento, data de nacemento, ...\n"
" Pode asignar varios contratos por empregado.\n"
" "
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.contract,advantages:0
msgid "Advantages"
msgstr "Ventaxas"
#. module: hr_contract
#: view:hr.contract:0
msgid "Valid for"
msgstr "Válido para"
#. module: hr_contract
#: view:hr.contract:0
msgid "Work Permit"
msgstr "Permiso de traballo"
#. module: hr_contract
#: field:hr.employee,children:0
msgid "Number of Children"
msgstr "Número de Fillos"
#. module: hr_contract
#: model:ir.actions.act_window,name:hr_contract.action_hr_contract_type
#: model:ir.ui.menu,name:hr_contract.hr_menu_contract_type
msgid "Contract Types"
msgstr "Tipos de Contrato"
#. module: hr_contract
#: field:hr.contract,wage_type_id:0
#: view:hr.contract.wage.type:0
#: model:ir.actions.act_window,name:hr_contract.action_hr_contract_wage_type
#: model:ir.model,name:hr_contract.model_hr_contract_wage_type
#: model:ir.ui.menu,name:hr_contract.hr_menu_contract_wage_type
msgid "Wage Type"
msgstr "Tipo de Salario"
#. module: hr_contract
#: constraint:hr.employee:0
msgid "Error ! You cannot create recursive Hierarchy of Employees."
msgstr "¡Erro! Non pode crear a Xerarquía recursiva dos Empregados"
#. module: hr_contract
#: field:hr.contract,date_end:0
msgid "End Date"
msgstr "Data de Fin"
#. module: hr_contract
#: field:hr.contract,wage:0
msgid "Wage"
msgstr "Salario"
#. module: hr_contract
#: field:hr.contract,name:0
msgid "Contract Reference"
msgstr "Referencia de Contrato"
#. module: hr_contract
#: help:hr.employee,vehicle_distance:0
msgid "In kilometers"
msgstr "En kilómetros"
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.contract,notes:0
msgid "Notes"
msgstr "Anotacións"
#. module: hr_contract
#: constraint:hr.employee:0
msgid ""
"Error ! You cannot select a department for which the employee is the manager."
msgstr ""
"¡Erro! Non pode seleccionar un departamento para o cal o empregado é o "
"director."
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.employee,contract_id:0
#: model:ir.model,name:hr_contract.model_hr_contract
#: model:ir.ui.menu,name:hr_contract.next_id_56
msgid "Contract"
msgstr "Contrato"
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.contract,type_id:0
#: view:hr.contract.type:0
#: field:hr.contract.type,name:0
#: model:ir.model,name:hr_contract.model_hr_contract_type
msgid "Contract Type"
msgstr "Tipo de Contrato"
#. module: hr_contract
#: view:hr.contract.wage.type.period:0
msgid "Search Wage Period"
msgstr "Buscar Período de Salario"
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.contract,working_hours:0
msgid "Working Schedule"
msgstr "Horario de Traballo"
#. module: hr_contract
#: view:hr.employee:0
msgid "Job Info"
msgstr "Información do emprego"
#. module: hr_contract
#: field:hr.contract.wage.type,period_id:0
#: view:hr.contract.wage.type.period:0
#: model:ir.model,name:hr_contract.model_hr_contract_wage_type_period
msgid "Wage Period"
msgstr "Período do salario"
#. module: hr_contract
#: field:hr.contract,job_id:0
msgid "Job Title"
msgstr "Posto de traballo"
#. module: hr_contract
#: field:hr.employee,manager:0
msgid "Is a Manager"
msgstr "É un Director"
#. module: hr_contract
#: field:hr.contract,date_start:0
msgid "Start Date"
msgstr "Data de comezo"
#. module: hr_contract
#: constraint:hr.contract:0
msgid "Error! contract start-date must be lower then contract end-date."
msgstr ""
"¡Erro! A data de comezo do contrato debe ser menor que a data de "
"finalización."
#. module: hr_contract
#: view:hr.contract.wage.type:0
msgid "Search Wage Type"
msgstr "Buscar Tipo de Salario"
#. module: hr_contract
#: field:hr.contract.wage.type,type:0
msgid "Type"
msgstr "Tipo"
#. module: hr_contract
#: field:hr.contract,trial_date_end:0
msgid "Trial End Date"
msgstr "Data de Finalización de Proba"
#. module: hr_contract
#: view:hr.contract:0
#: view:hr.contract.wage.type:0
msgid "Group By..."
msgstr "Agrupar por ..."
#. module: hr_contract
#: field:hr.contract.wage.type.period,name:0
msgid "Period Name"
msgstr "Nome do Período"
#. module: hr_contract
#: view:hr.contract.wage.type:0
msgid "Period"
msgstr "Período"
#. module: hr_contract
#: field:hr.employee,place_of_birth:0
msgid "Place of Birth"
msgstr "Lugar de nacemento"
#. module: hr_contract
#: model:ir.actions.act_window,name:hr_contract.action_hr_contract_wage_type_period
#: model:ir.ui.menu,name:hr_contract.hr_menu_contract_wage_type_period
msgid "Wage period"
msgstr "Período do salario"
#. module: hr_contract
#: help:hr.contract.wage.type,factor_type:0
#: help:hr.contract.wage.type.period,factor_days:0
msgid ""
"This field is used by the timesheet system to compute the price of an hour "
"of work wased on the contract of the employee"
msgstr ""
"Este campo é utilizado polo sistema de folla de traballo para computar o "
"precio dunha hora de traballo reflexado no contrato do empregado"
#. module: hr_contract
#: view:hr.contract:0
msgid "Duration"
msgstr "Duración"
#. module: hr_contract
#: field:hr.employee,medic_exam:0
msgid "Medical Examination Date"
msgstr "Data da Revisión Médica"
#. module: hr_contract
#: field:hr.contract,advantages_gross:0
msgid "Allowances"
msgstr "Subsidios"
#. module: hr_contract
#: view:hr.contract:0
msgid "Main Data"
msgstr "Datos Principais"
#. module: hr_contract
#: view:hr.contract.type:0
msgid "Search Contract Type"
msgstr "Buscar Tipo de Contrato"
File diff suppressed because it is too large Load Diff
+337
View File
@@ -0,0 +1,337 @@
# Galician translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-02-24 00:22+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Galician <gl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: hr_payroll_account
#: field:hr.payslip,move_line_ids:0
msgid "Accounting Lines"
msgstr "Movementos contables"
#. module: hr_payroll_account
#: field:hr.payroll.register,bank_journal_id:0
#: field:hr.payslip,bank_journal_id:0
msgid "Bank Journal"
msgstr "Diario bancario"
#. module: hr_payroll_account
#: model:ir.model,name:hr_payroll_account.model_hr_contibution_register_line
msgid "Contribution Register Line"
msgstr "Liña de rexistro de contribución"
#. module: hr_payroll_account
#: model:ir.model,name:hr_payroll_account.model_hr_contibution_register
msgid "Contribution Register"
msgstr "Rexistro de Contribución"
#. module: hr_payroll_account
#: help:hr.employee,analytic_account:0
msgid "Analytic Account for Salary Analysis"
msgstr "Conta analítica para análisis de nóminas"
#. module: hr_payroll_account
#: field:hr.payroll.register,journal_id:0
#: field:hr.payslip,journal_id:0
msgid "Expense Journal"
msgstr "Diario de gastos"
#. module: hr_payroll_account
#: field:hr.contibution.register.line,period_id:0
msgid "Period"
msgstr "Período"
#. module: hr_payroll_account
#: model:ir.model,name:hr_payroll_account.model_hr_employee
msgid "Employee"
msgstr "Empregado"
#. module: hr_payroll_account
#: view:hr.payslip:0
msgid "Other Informations"
msgstr "Outra información"
#. module: hr_payroll_account
#: field:hr.employee,salary_account:0
msgid "Salary Account"
msgstr "Conta de nómina"
#. module: hr_payroll_account
#: help:hr.employee,property_bank_account:0
msgid "Select Bank Account from where Salary Expense will be Paid"
msgstr "Seleccione unha conta bancaria desde a que pagar os gastos salariais"
#. module: hr_payroll_account
#: model:ir.model,name:hr_payroll_account.model_hr_payroll_register
msgid "Payroll Register"
msgstr "Rexistro de nóminas"
#. module: hr_payroll_account
#: model:ir.model,name:hr_payroll_account.model_hr_payslip_account_move
msgid "Account Move Link to Pay Slip"
msgstr "Asento contable enlazado á folla de pago"
#. module: hr_payroll_account
#: view:hr.payslip:0
msgid "Description"
msgstr "Descrición"
#. module: hr_payroll_account
#: code:addons/hr_payroll_account/hr_payroll_account.py:330
#, python-format
msgid "Please Confirm all Expense Invoice appear for Reimbursement"
msgstr ""
"Por favor, confirme que todas as facturas de gastos aparecen para o seu "
"reembolso"
#. module: hr_payroll_account
#: code:addons/hr_payroll_account/hr_payroll_account.py:432
#, python-format
msgid "Please defined partner in bank account for %s !"
msgstr "Por favor, defina a empresa da conta bancaria para %s !"
#. module: hr_payroll_account
#: view:hr.payslip:0
msgid "Accounting Informations"
msgstr "Información contable"
#. module: hr_payroll_account
#: help:hr.employee,salary_account:0
msgid "Expense account when Salary Expense will be recorded"
msgstr "Conta de gastos para rexistrar gastos salariaies"
#. module: hr_payroll_account
#: code:addons/hr_payroll_account/hr_payroll_account.py:429
#, python-format
msgid "Please defined bank account for %s !"
msgstr "Por favor, defina a conta bancaria para %s !"
#. module: hr_payroll_account
#: model:ir.module.module,description:hr_payroll_account.module_meta_information
msgid ""
"Generic Payroll system Integrated with Accountings\n"
" * Expanse Encoding\n"
" * Payment Encoding\n"
" * Comany Contribution Managemet\n"
" "
msgstr ""
"Sistema xenérico de pago de nóminas integrado coa contabilidade\n"
" * Codificación de gastos\n"
" * Codificación de pagos\n"
" * Xestión de contribucións da compañía\n"
" "
#. module: hr_payroll_account
#: model:ir.module.module,shortdesc:hr_payroll_account.module_meta_information
msgid "Human Resource Payroll Accounting"
msgstr "Contabilidade de nóminas de recursos humanos."
#. module: hr_payroll_account
#: view:hr.payslip:0
#: field:hr.payslip,move_payment_ids:0
msgid "Payment Lines"
msgstr "Liñas de pago"
#. module: hr_payroll_account
#: code:addons/hr_payroll_account/hr_payroll_account.py:273
#: code:addons/hr_payroll_account/hr_payroll_account.py:444
#, python-format
msgid "Please define fiscal year for perticular contract"
msgstr "Por favor defina o exercicio fiscal para un contrato en concreto"
#. module: hr_payroll_account
#: field:hr.payslip.account.move,slip_id:0
#: model:ir.model,name:hr_payroll_account.model_hr_payslip
msgid "Pay Slip"
msgstr "Nómina"
#. module: hr_payroll_account
#: constraint:hr.employee:0
msgid "Error ! You cannot create recursive Hierarchy of Employees."
msgstr "Erro! Non pode crear a Xerarquía recursiva dos Empregados"
#. module: hr_payroll_account
#: view:hr.payslip:0
msgid "Account Lines"
msgstr "Liñas de conta"
#. module: hr_payroll_account
#: field:hr.contibution.register,account_id:0
#: field:hr.holidays.status,account_id:0
#: field:hr.payroll.advice,account_id:0
msgid "Account"
msgstr "Conta"
#. module: hr_payroll_account
#: field:hr.employee,property_bank_account:0
msgid "Bank Account"
msgstr "Conta bancaria"
#. module: hr_payroll_account
#: field:hr.payslip.account.move,name:0
msgid "Name"
msgstr "Nome"
#. module: hr_payroll_account
#: model:ir.model,name:hr_payroll_account.model_hr_payslip_line
msgid "Payslip Line"
msgstr "Liña de nómina"
#. module: hr_payroll_account
#: view:hr.payslip:0
msgid "Accounting Vouchers"
msgstr "Recibos contables"
#. module: hr_payroll_account
#: constraint:hr.employee:0
msgid ""
"Error ! You cannot select a department for which the employee is the manager."
msgstr ""
"Erro! Non pode seleccionar un departamento para o cal o empregado é o "
"director."
#. module: hr_payroll_account
#: help:hr.payroll.register,period_id:0
#: help:hr.payslip,period_id:0
msgid "Keep empty to use the period of the validation(Payslip) date."
msgstr "Deixe en branco para usar o período da data de validación da nómina"
#. module: hr_payroll_account
#: model:ir.model,name:hr_payroll_account.model_hr_payroll_advice
msgid "Bank Advice Note"
msgstr "Nota de aviso bancario"
#. module: hr_payroll_account
#: field:hr.payslip.account.move,move_id:0
msgid "Expense Entries"
msgstr "Entradas de gastos"
#. module: hr_payroll_account
#: field:hr.payslip,move_ids:0
msgid "Accounting vouchers"
msgstr "Recibos contables"
#. module: hr_payroll_account
#: code:addons/hr_payroll_account/hr_payroll_account.py:273
#: code:addons/hr_payroll_account/hr_payroll_account.py:280
#: code:addons/hr_payroll_account/hr_payroll_account.py:283
#: code:addons/hr_payroll_account/hr_payroll_account.py:330
#: code:addons/hr_payroll_account/hr_payroll_account.py:444
#: code:addons/hr_payroll_account/hr_payroll_account.py:451
#: code:addons/hr_payroll_account/hr_payroll_account.py:454
#, python-format
msgid "Warning !"
msgstr "Coidado !"
#. module: hr_payroll_account
#: field:hr.employee,employee_account:0
msgid "Employee Account"
msgstr "Conta do empregado"
#. module: hr_payroll_account
#: field:hr.payslip.line,account_id:0
msgid "General Account"
msgstr "Conta Xeral"
#. module: hr_payroll_account
#: field:hr.contibution.register,yearly_total_by_emp:0
msgid "Total By Employee"
msgstr "Total por empregado"
#. module: hr_payroll_account
#: field:hr.payslip.account.move,sequence:0
msgid "Sequence"
msgstr "Secuencia"
#. module: hr_payroll_account
#: field:hr.payroll.register,period_id:0
#: field:hr.payslip,period_id:0
msgid "Force Period"
msgstr "Forzar período"
#. module: hr_payroll_account
#: model:ir.model,name:hr_payroll_account.model_hr_holidays_status
msgid "Leave Type"
msgstr "Tipo de ausencia"
#. module: hr_payroll_account
#: code:addons/hr_payroll_account/hr_payroll_account.py:280
#: code:addons/hr_payroll_account/hr_payroll_account.py:451
#, python-format
msgid "Fiscal Year is not defined for slip date %s"
msgstr "Non foi definido o ano fiscal para a nómina %s"
#. module: hr_payroll_account
#: field:hr.contibution.register,analytic_account_id:0
#: field:hr.employee,analytic_account:0
#: field:hr.holidays.status,analytic_account_id:0
#: field:hr.payroll.structure,account_id:0
#: field:hr.payslip.line,analytic_account_id:0
msgid "Analytic Account"
msgstr "Conta analítica"
#. module: hr_payroll_account
#: help:hr.employee,employee_account:0
msgid "Employee Payable Account"
msgstr "Conta a pagar do empregado"
#. module: hr_payroll_account
#: field:hr.contibution.register,yearly_total_by_comp:0
msgid "Total By Company"
msgstr "Total por compañía"
#. module: hr_payroll_account
#: model:ir.model,name:hr_payroll_account.model_hr_payroll_structure
msgid "Salary Structure"
msgstr "Estrutura salarial"
#. module: hr_payroll_account
#: code:addons/hr_payroll_account/hr_payroll_account.py:550
#, python-format
msgid "Please Configure Partners Receivable Account!!"
msgstr "Por favor, configure a conta a cobrar dos terceiros!"
#. module: hr_payroll_account
#: view:hr.contibution.register:0
msgid "Year"
msgstr "Ano"
#. module: hr_payroll_account
#: code:addons/hr_payroll_account/hr_payroll_account.py:283
#: code:addons/hr_payroll_account/hr_payroll_account.py:454
#, python-format
msgid "Period is not defined for slip date %s"
msgstr "Non se definiu o período para a nómina de data %s"
#. module: hr_payroll_account
#: view:hr.payslip:0
msgid "Accounting Details"
msgstr "Detalles de contabilidade"
#. module: hr_payroll_account
#: code:addons/hr_payroll_account/hr_payroll_account.py:533
#, python-format
msgid "Please Configure Partners Payable Account!!"
msgstr "Por favor, configure a conta de pago dos partners!"
#. module: hr_payroll_account
#: code:addons/hr_payroll_account/hr_payroll_account.py:429
#: code:addons/hr_payroll_account/hr_payroll_account.py:432
#: code:addons/hr_payroll_account/hr_payroll_account.py:533
#: code:addons/hr_payroll_account/hr_payroll_account.py:550
#, python-format
msgid "Integrity Error !"
msgstr "Erro de integridade!"
+154
View File
@@ -0,0 +1,154 @@
# Slovak translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-02-23 13:01+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovak <sk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document
msgid "Knowledge"
msgstr ""
#. module: knowledge
#: help:knowledge.installer,wiki_quality_manual:0
msgid "Creates an example skeleton for a standard quality manual."
msgstr ""
#. module: knowledge
#: view:knowledge.installer:0
msgid "Share information within the company with these specific Addons."
msgstr ""
#. module: knowledge
#: field:knowledge.installer,document_ftp:0
msgid "Shared Repositories (FTP)"
msgstr "Zdieľané úložisko (FTP)"
#. module: knowledge
#: model:ir.module.module,shortdesc:knowledge.module_meta_information
msgid "Knowledge Management System"
msgstr ""
#. module: knowledge
#: field:knowledge.installer,wiki:0
msgid "Collaborative Content (Wiki)"
msgstr ""
#. module: knowledge
#: help:knowledge.installer,document_ftp:0
msgid ""
"Provides an FTP access to your OpenERP's Document Management System. It lets "
"you access attachments and virtual documents through a standard FTP client."
msgstr ""
#. module: knowledge
#: help:knowledge.installer,document_webdav:0
msgid ""
"Provides a WebDAV access to your OpenERP's Document Management System. Lets "
"you access attachments and virtual documents through your standard file "
"browser."
msgstr ""
#. module: knowledge
#: view:knowledge.installer:0
msgid "Configure"
msgstr "Nastaviť"
#. module: knowledge
#: view:knowledge.installer:0
msgid "title"
msgstr "titul"
#. module: knowledge
#: model:ir.module.module,description:knowledge.module_meta_information
msgid ""
"Installer for knowledge-based tools\n"
" "
msgstr ""
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document_configuration
msgid "Configuration"
msgstr "Nastavenie"
#. module: knowledge
#: model:ir.actions.act_window,name:knowledge.action_knowledge_installer
msgid "Knowledge Modules Installation"
msgstr "Inštalácia Knowledge modulu"
#. module: knowledge
#: field:knowledge.installer,wiki_quality_manual:0
msgid "Quality Manual"
msgstr ""
#. module: knowledge
#: field:knowledge.installer,document_webdav:0
msgid "Shared Repositories (WebDAV)"
msgstr ""
#. module: knowledge
#: field:knowledge.installer,progress:0
msgid "Configuration Progress"
msgstr "Priebeh nastavenia"
#. module: knowledge
#: help:knowledge.installer,wiki_faq:0
msgid ""
"Creates a skeleton internal FAQ pre-filled with documentation about "
"OpenERP's Document Management System."
msgstr ""
#. module: knowledge
#: field:knowledge.installer,wiki_faq:0
msgid "Internal FAQ"
msgstr "Interné FAQ"
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document2
msgid "Collaborative Content"
msgstr ""
#. module: knowledge
#: field:knowledge.installer,config_logo:0
msgid "Image"
msgstr "Obrázok"
#. module: knowledge
#: view:knowledge.installer:0
msgid "Knowledge Application Configuration"
msgstr ""
#. module: knowledge
#: model:ir.model,name:knowledge.model_knowledge_installer
msgid "knowledge.installer"
msgstr ""
#. module: knowledge
#: view:knowledge.installer:0
msgid "Configure Your Knowledge Application"
msgstr ""
#. module: knowledge
#: help:knowledge.installer,wiki:0
msgid ""
"Lets you create wiki pages and page groups in order to keep track of "
"business knowledge and share it with and between your employees."
msgstr ""
#. module: knowledge
#: view:knowledge.installer:0
msgid "Content templates"
msgstr ""
+4 -11
View File
@@ -97,7 +97,7 @@ class mailgate_thread(osv.osv):
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param cases: a browse record list
@param keyword: Case action keyword e.g.: If case is closed "Close" keyword is used
@param keyword: Subject of the history item
@param history: Value True/False, If True it makes entry in case History otherwise in Case Log
@param email: Email-To / Recipient address
@param email_from: Email From / Sender address if any
@@ -141,7 +141,7 @@ class mailgate_thread(osv.osv):
'res_id': case.id,
'date': time.strftime('%Y-%m-%d %H:%M:%S'),
'message_id': message_id,
'description': details or (hasattr(case, 'description') and case.description or False),
'description': details,
'attachment_ids': [(6, 0, attachments)]
}
@@ -169,6 +169,7 @@ class mailgate_thread(osv.osv):
'message_id': message_id,
'attachment_ids': [(6, 0, attachments)]
}
obj.create(cr, uid, data, context=context)
return True
mailgate_thread()
@@ -251,15 +252,7 @@ class mailgate_message(osv.osv):
msg_txt += self.truncate_data(cr, uid, message.description, context=context)
else:
msg_txt = (message.user_id.name or '/') + _(' on ') + format_date_tz(message.date, tz) + ':\n\t'
if message.name == _('Opportunity'):
msg_txt += _("Converted to Opportunity")
elif message.name == _('Note'):
msg_txt = (message.user_id.name or '/') + _(' added note on ') + format_date_tz(message.date, tz) + ':\n\t'
msg_txt += self.truncate_data(cr, uid, message.description, context=context)
elif message.name == _('Stage'):
msg_txt += _("Changed Stage to: ") + message.description
else:
msg_txt += _("Changed Status to: ") + message.name
msg_txt += message.name
result[message.id] = msg_txt
return result
+1
View File
@@ -10,6 +10,7 @@
<menuitem id="menu_mrp_manufacturing" name="Manufacturing" parent="base.menu_mrp_root" sequence="1"/>
<menuitem name="Master Data"
id="menu_mrp_bom"
parent="base.menu_mrp_root"
+11 -11
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-02-23 04:02+0000\n"
"PO-Revision-Date: 2011-02-23 05:56+0000\n"
"Last-Translator: moelyana <Unknown>\n"
"Language-Team: Indonesian <id@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-23 04:37+0000\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: purchase_requisition
@@ -373,33 +373,33 @@ msgstr "Buat Penawaran"
#. module: purchase_requisition
#: constraint:product.product:0
msgid "Error: Invalid ean code"
msgstr ""
msgstr "Ada Kesalahan !! kode EAN tidak sah"
#. module: purchase_requisition
#: view:purchase.requisition:0
#: selection:purchase.requisition,state:0
msgid "Done"
msgstr ""
msgstr "selesai"
#. module: purchase_requisition
#: view:purchase.requisition.partner:0
msgid "_Cancel"
msgstr ""
msgstr "Batal"
#. module: purchase_requisition
#: view:purchase.requisition:0
msgid "Confirm Purchase Order"
msgstr ""
msgstr "Konfirmasi order pembelian"
#. module: purchase_requisition
#: view:purchase.requisition:0
msgid "Cancel"
msgstr ""
msgstr "Batal"
#. module: purchase_requisition
#: field:purchase.requisition.partner,partner_id:0
msgid "Partner"
msgstr ""
msgstr "Rekanan"
#. module: purchase_requisition
#: model:ir.module.module,shortdesc:purchase_requisition.module_meta_information
@@ -409,14 +409,14 @@ msgstr ""
#. module: purchase_requisition
#: view:purchase.requisition:0
msgid "Unassigned"
msgstr ""
msgstr "Tak ditugaskan"
#. module: purchase_requisition
#: view:purchase.order:0
msgid "Requisition"
msgstr ""
msgstr "Daftar Permintaan"
#. module: purchase_requisition
#: field:purchase.requisition,purchase_ids:0
msgid "Purchase Orders"
msgstr ""
msgstr "Order Pembelian"
+15 -12
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
"PO-Revision-Date: 2011-01-24 15:31+0000\n"
"Last-Translator: Tran Tuan <Unknown>\n"
"PO-Revision-Date: 2011-02-23 17:49+0000\n"
"Last-Translator: Anhnv Vinabis <Unknown>\n"
"Language-Team: Vietnamese <vi@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-01-25 04:55+0000\n"
"X-Generator: Launchpad (build 12177)\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#, python-format
#~ msgid ""
@@ -50,7 +50,7 @@ msgstr ""
#. module: sale
#: help:sale.order,partner_shipping_id:0
msgid "Shipping address for current sales order."
msgstr ""
msgstr "Địa chỉ chuyển hàng cho đơn hàng hiện tại"
#. module: sale
#: field:sale.advance.payment.inv,qtty:0
@@ -194,7 +194,7 @@ msgstr "Chiết khấu.(%)"
#. module: sale
#: model:process.transition.action,name:sale.process_transition_action_forceassignation0
msgid "Force Assignation"
msgstr "Phân phối lực lượng"
msgstr "Buộc phải uỷ thác"
#. module: sale
#: help:sale.make.invoice,grouped:0
@@ -242,7 +242,7 @@ msgstr ""
#. module: sale
#: model:ir.model,name:sale.model_sale_make_invoice
msgid "Sales Make Invoice"
msgstr ""
msgstr "Làm hóa đơn bán hàng"
#. module: sale
#: view:sale.order:0
@@ -265,7 +265,7 @@ msgstr ""
#: model:ir.actions.act_window,name:sale.open_board_sales_manager
#: model:ir.ui.menu,name:sale.menu_board_sales_manager
msgid "Sales Manager Dashboard"
msgstr ""
msgstr "Bản điều khiển quản lý bán hàng"
#. module: sale
#: field:sale.order.line,product_packaging:0
@@ -275,7 +275,7 @@ msgstr "Đóng gói"
#. module: sale
#: model:process.transition,name:sale.process_transition_saleinvoice0
msgid "From a sales order"
msgstr ""
msgstr "Từ một đơn hàng"
#. module: sale
#: field:sale.shop,name:0
@@ -353,7 +353,7 @@ msgstr "Tháng Sáu"
#: code:addons/sale/sale.py:584
#, python-format
msgid "Could not cancel this sales order !"
msgstr ""
msgstr "Không thể hủy hóa đơn bán hàng này"
#. module: sale
#: model:ir.model,name:sale.model_sale_report
@@ -381,7 +381,7 @@ msgstr "Các báo giá"
#. module: sale
#: help:sale.order,pricelist_id:0
msgid "Pricelist for current sales order."
msgstr ""
msgstr "Bảng giá cho đơn hàng hiện tại"
#. module: sale
#: selection:sale.config.picking_policy,step:0
@@ -399,6 +399,7 @@ msgid ""
"Number of days between the order confirmation the shipping of the products "
"to the customer"
msgstr ""
"Số ngày từ lúc xác nhận đặt hàng tới lúc vận chuyển sản phẩm tới khách hàng"
#. module: sale
#: report:sale.order:0
@@ -433,6 +434,8 @@ msgid ""
"The salesman confirms the quotation. The state of the sales order becomes "
"'In progress' or 'Manual in progress'."
msgstr ""
"Nhân viên bán hàng xác nhận báo giá. Tình trạng hóa đơn sẽ chuyển sang "
"\"Đang tiến hành\" hoặc \"Tiến hàng thủ công\"."
#. module: sale
#: code:addons/sale/sale.py:971
@@ -444,7 +447,7 @@ msgstr ""
#: code:addons/sale/sale.py:1042
#, python-format
msgid "(n/a)"
msgstr ""
msgstr "(n/a)"
#. module: sale
#: help:sale.advance.payment.inv,product_id:0
+156
View File
@@ -0,0 +1,156 @@
# Slovak translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
"PO-Revision-Date: 2011-02-23 19:00+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovak <sk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: sale_journal
#: field:sale_journal.invoice.type,note:0
msgid "Note"
msgstr "Poznámka"
#. module: sale_journal
#: help:res.partner,property_invoice_type:0
msgid "The type of journal used for sales and picking."
msgstr ""
#. module: sale_journal
#: sql_constraint:sale.order:0
msgid "Order Reference must be unique !"
msgstr ""
#. module: sale_journal
#: view:res.partner:0
msgid "Invoicing"
msgstr "Fakturácia"
#. module: sale_journal
#: view:res.partner:0
msgid "Sales & Purchases"
msgstr "Predaje a nákupy"
#. module: sale_journal
#: help:sale_journal.invoice.type,active:0
msgid ""
"If the active field is set to False, it will allow you to hide the invoice "
"type without removing it."
msgstr ""
#. module: sale_journal
#: view:sale_journal.invoice.type:0
msgid "Notes"
msgstr "Poznámky"
#. module: sale_journal
#: field:res.partner,property_invoice_type:0
msgid "Invoicing Method"
msgstr "Spôsob fakturácie"
#. module: sale_journal
#: model:ir.module.module,description:sale_journal.module_meta_information
msgid ""
"\n"
" The sales journal modules allows you to categorise your\n"
" sales and deliveries (picking lists) between different journals.\n"
" This module is very helpful for bigger companies that\n"
" works by departments.\n"
"\n"
" You can use journal for different purposes, some examples:\n"
" * isolate sales of different departments\n"
" * journals for deliveries by truck or by UPS\n"
"\n"
" Journals have a responsible and evolves between different status:\n"
" * draft, open, cancel, done.\n"
"\n"
" Batch operations can be processed on the different journals to\n"
" confirm all sales at once, to validate or invoice packing, ...\n"
"\n"
" It also supports batch invoicing methods that can be configured by\n"
" partners and sales orders, examples:\n"
" * daily invoicing,\n"
" * monthly invoicing, ...\n"
"\n"
" Some statistics by journals are provided.\n"
" "
msgstr ""
#. module: sale_journal
#: selection:sale_journal.invoice.type,invoicing_method:0
msgid "Non grouped"
msgstr ""
#. module: sale_journal
#: selection:sale_journal.invoice.type,invoicing_method:0
msgid "Grouped"
msgstr ""
#. module: sale_journal
#: constraint:res.partner:0
msgid "Error ! You can not create recursive associated members."
msgstr ""
#. module: sale_journal
#: model:ir.actions.act_window,help:sale_journal.action_definition_journal_invoice_type
msgid ""
"Invoice types are used for partners, sales orders and delivery orders. You "
"can create a specific invoicing journal to group your invoicing according to "
"your customer's needs: daily, each Wednesday, monthly, etc."
msgstr ""
#. module: sale_journal
#: field:sale_journal.invoice.type,invoicing_method:0
msgid "Invoicing method"
msgstr "Spôsob fakturácie"
#. module: sale_journal
#: model:ir.model,name:sale_journal.model_sale_order
msgid "Sales Order"
msgstr "Objednávka predaja"
#. module: sale_journal
#: field:sale.order,invoice_type_id:0
#: view:sale_journal.invoice.type:0
#: field:sale_journal.invoice.type,name:0
#: field:stock.picking,invoice_type_id:0
msgid "Invoice Type"
msgstr "Typ faktúry"
#. module: sale_journal
#: field:sale_journal.invoice.type,active:0
msgid "Active"
msgstr "Aktívny"
#. module: sale_journal
#: model:ir.model,name:sale_journal.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: sale_journal
#: model:ir.actions.act_window,name:sale_journal.action_definition_journal_invoice_type
#: model:ir.model,name:sale_journal.model_sale_journal_invoice_type
#: model:ir.ui.menu,name:sale_journal.menu_definition_journal_invoice_type
msgid "Invoice Types"
msgstr "Typy faktúr"
#. module: sale_journal
#: model:ir.model,name:sale_journal.model_stock_picking
msgid "Picking List"
msgstr ""
#. module: sale_journal
#: model:ir.module.module,shortdesc:sale_journal.module_meta_information
msgid "Managing sales and deliveries by journal"
msgstr ""
+410
View File
@@ -0,0 +1,410 @@
# Slovak translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
"PO-Revision-Date: 2011-02-23 19:59+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovak <sk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-24 04:37+0000\n"
"X-Generator: Launchpad (build 12351)\n"
#. module: sale_margin
#: view:report.account.invoice.product:0
msgid "Category"
msgstr "Kategória"
#. module: sale_margin
#: selection:report.account.invoice,type:0
#: selection:report.account.invoice.category,type:0
#: selection:report.account.invoice.partner,type:0
#: selection:report.account.invoice.partner.product,type:0
#: selection:report.account.invoice.product,type:0
msgid "Customer Refund"
msgstr "Refundácia zákazníkovi"
#. module: sale_margin
#: selection:report.account.invoice,type:0
#: selection:report.account.invoice.category,type:0
#: selection:report.account.invoice.partner,type:0
#: selection:report.account.invoice.partner.product,type:0
#: selection:report.account.invoice.product,type:0
msgid "Customer Invoice"
msgstr ""
#. module: sale_margin
#: selection:report.account.invoice.product,month:0
msgid "February"
msgstr "Február"
#. module: sale_margin
#: view:report.account.invoice.product:0
msgid "Current"
msgstr "Aktuálny"
#. module: sale_margin
#: view:report.account.invoice.product:0
msgid "Group By..."
msgstr "Zoskupiť podľa..."
#. module: sale_margin
#: field:report.account.invoice,state:0
#: field:report.account.invoice.category,state:0
#: field:report.account.invoice.partner,state:0
#: field:report.account.invoice.partner.product,state:0
#: field:report.account.invoice.product,state:0
msgid "State"
msgstr "Stav"
#. module: sale_margin
#: model:ir.module.module,description:sale_margin.module_meta_information
msgid ""
" \n"
" This module adds the 'Margin' on sales order,\n"
" which gives the profitability by calculating the difference between the "
"Unit Price and Cost Price\n"
" "
msgstr ""
" \n"
" This module adds the 'Margin' on sales order,\n"
" which gives the profitability by calculating the difference between the "
"Unit Price and Cost Price\n"
" "
#. module: sale_margin
#: selection:report.account.invoice,state:0
#: selection:report.account.invoice.category,state:0
#: selection:report.account.invoice.partner,state:0
#: selection:report.account.invoice.partner.product,state:0
#: selection:report.account.invoice.product,state:0
msgid "Draft"
msgstr "Návrh"
#. module: sale_margin
#: selection:report.account.invoice,state:0
#: selection:report.account.invoice.category,state:0
#: selection:report.account.invoice.partner,state:0
#: selection:report.account.invoice.partner.product,state:0
#: selection:report.account.invoice.product,state:0
msgid "Paid"
msgstr "Uhradené"
#. module: sale_margin
#: model:ir.model,name:sale_margin.model_stock_picking
msgid "Picking List"
msgstr ""
#. module: sale_margin
#: help:sale.order,margin:0
msgid ""
"It gives profitability by calculating the difference between the Unit Price "
"and Cost Price."
msgstr ""
#. module: sale_margin
#: field:report.account.invoice,type:0
#: field:report.account.invoice.category,type:0
#: field:report.account.invoice.partner,type:0
#: field:report.account.invoice.partner.product,type:0
#: field:report.account.invoice.product,type:0
#: wizard_field:stock.invoice_onshipping,init,type:0
msgid "Type"
msgstr "Typ"
#. module: sale_margin
#: model:ir.model,name:sale_margin.model_report_account_invoice_product
msgid "Invoice Statistics"
msgstr ""
#. module: sale_margin
#: field:report.account.invoice.partner.product,product_id:0
#: field:report.account.invoice.product,product_id:0
msgid "Product"
msgstr "Produkt"
#. module: sale_margin
#: sql_constraint:sale.order:0
msgid "Order Reference must be unique !"
msgstr ""
#. module: sale_margin
#: view:report.account.invoice.product:0
msgid "Invoice by Partner"
msgstr ""
#. module: sale_margin
#: selection:report.account.invoice.product,month:0
msgid "August"
msgstr "August"
#. module: sale_margin
#: selection:report.account.invoice,state:0
#: selection:report.account.invoice.category,state:0
#: selection:report.account.invoice.partner,state:0
#: selection:report.account.invoice.partner.product,state:0
#: selection:report.account.invoice.product,state:0
msgid "Pro-forma"
msgstr "Pro-forma"
#. module: sale_margin
#: selection:report.account.invoice.product,month:0
msgid "May"
msgstr "Máj"
#. module: sale_margin
#: selection:report.account.invoice.product,month:0
msgid "June"
msgstr "Jún"
#. module: sale_margin
#: view:report.account.invoice.product:0
msgid "Date Invoiced"
msgstr ""
#. module: sale_margin
#: model:ir.module.module,shortdesc:sale_margin.module_meta_information
msgid "Margins in Sales Order"
msgstr "Marže v objednávke predaja"
#. module: sale_margin
#: view:report.account.invoice.product:0
msgid "Search Margin"
msgstr "Hľadať maržu"
#. module: sale_margin
#: view:report.account.invoice.product:0
msgid "This Year"
msgstr "Tento rok"
#. module: sale_margin
#: field:report.account.invoice.product,date:0
msgid "Date"
msgstr "Dátum"
#. module: sale_margin
#: selection:report.account.invoice.product,month:0
msgid "July"
msgstr "Júl"
#. module: sale_margin
#: view:report.account.invoice.product:0
msgid "Extended Filters..."
msgstr "Rozšírené filtre..."
#. module: sale_margin
#: model:ir.ui.menu,name:sale_margin.menu_report_account_this_month_product
msgid "This Month"
msgstr "Tento mesiac"
#. module: sale_margin
#: view:report.account.invoice.product:0
#: field:report.account.invoice.product,day:0
msgid "Day"
msgstr "Deň"
#. module: sale_margin
#: field:report.account.invoice.category,categ_id:0
msgid "Categories"
msgstr "Kategórie"
#. module: sale_margin
#: field:account.invoice.line,cost_price:0
#: field:report.account.invoice,cost_price:0
#: field:report.account.invoice.category,cost_price:0
#: field:report.account.invoice.partner,cost_price:0
#: field:report.account.invoice.partner.product,cost_price:0
#: field:report.account.invoice.product,cost_price:0
#: field:sale.order.line,purchase_price:0
msgid "Cost Price"
msgstr "Nákladová cena"
#. module: sale_margin
#: selection:report.account.invoice.product,month:0
msgid "October"
msgstr "Október"
#. module: sale_margin
#: selection:report.account.invoice.product,month:0
msgid "January"
msgstr "Január"
#. module: sale_margin
#: view:report.account.invoice.product:0
#: field:report.account.invoice.product,year:0
msgid "Year"
msgstr "Rok"
#. module: sale_margin
#: selection:report.account.invoice.product,month:0
msgid "September"
msgstr "September"
#. module: sale_margin
#: selection:report.account.invoice.product,month:0
msgid "April"
msgstr "Apríl"
#. module: sale_margin
#: field:report.account.invoice,amount:0
#: field:report.account.invoice.category,amount:0
#: field:report.account.invoice.partner,amount:0
#: field:report.account.invoice.partner.product,amount:0
#: field:report.account.invoice.product,amount:0
msgid "Amount"
msgstr "Suma"
#. module: sale_margin
#: selection:report.account.invoice,type:0
#: selection:report.account.invoice.category,type:0
#: selection:report.account.invoice.partner,type:0
#: selection:report.account.invoice.partner.product,type:0
#: selection:report.account.invoice.product,type:0
msgid "Supplier Refund"
msgstr ""
#. module: sale_margin
#: selection:report.account.invoice.product,month:0
msgid "March"
msgstr "Marec"
#. module: sale_margin
#: field:report.account.invoice,margin:0
#: field:report.account.invoice.category,margin:0
#: field:report.account.invoice.partner,margin:0
#: field:report.account.invoice.partner.product,margin:0
#: field:report.account.invoice.product,margin:0
#: field:sale.order,margin:0
#: field:sale.order.line,margin:0
msgid "Margin"
msgstr "Marža"
#. module: sale_margin
#: selection:report.account.invoice.product,month:0
msgid "November"
msgstr "November"
#. module: sale_margin
#: field:report.account.invoice,quantity:0
#: field:report.account.invoice.category,quantity:0
#: field:report.account.invoice.partner,quantity:0
#: field:report.account.invoice.partner.product,quantity:0
#: field:report.account.invoice.product,quantity:0
msgid "Quantity"
msgstr "Množstvo"
#. module: sale_margin
#: view:report.account.invoice.product:0
msgid "Invoices by product"
msgstr "Faktúry podľa produktov"
#. module: sale_margin
#: selection:report.account.invoice,type:0
#: selection:report.account.invoice.category,type:0
#: selection:report.account.invoice.partner,type:0
#: selection:report.account.invoice.partner.product,type:0
#: selection:report.account.invoice.product,type:0
msgid "Supplier Invoice"
msgstr ""
#. module: sale_margin
#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_invoices
#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_invoices
#: view:report.account.invoice:0
#: view:stock.picking:0
#: field:stock.picking,invoice_ids:0
msgid "Invoices"
msgstr "Faktúry"
#. module: sale_margin
#: selection:report.account.invoice.product,month:0
msgid "December"
msgstr "December"
#. module: sale_margin
#: model:ir.model,name:sale_margin.model_account_invoice_line
msgid "Invoice Line"
msgstr "Položky faktúry"
#. module: sale_margin
#: field:report.account.invoice,name:0
#: field:report.account.invoice.category,name:0
#: field:report.account.invoice.partner,name:0
#: field:report.account.invoice.partner.product,name:0
#: field:report.account.invoice.product,name:0
msgid "Month"
msgstr "Mesiac"
#. module: sale_margin
#: selection:report.account.invoice,state:0
#: selection:report.account.invoice.category,state:0
#: selection:report.account.invoice.partner,state:0
#: selection:report.account.invoice.partner.product,state:0
#: selection:report.account.invoice.product,state:0
msgid "Canceled"
msgstr "Zrušené"
#. module: sale_margin
#: model:ir.actions.act_window,help:sale_margin.action_report_account_invoice_report
msgid ""
"This report gives you an overview of all the invoices generated by the "
"system. You can sort and group your results by specific selection criteria "
"to quickly find what you are looking for."
msgstr ""
#. module: sale_margin
#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_product
msgid "Invoice Report"
msgstr "Report faktúry"
#. module: sale_margin
#: view:report.account.invoice.product:0
msgid "Done"
msgstr "Dokončiť"
#. module: sale_margin
#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_product
msgid "Invoice"
msgstr "Faktúra"
#. module: sale_margin
#: view:stock.picking:0
msgid "Customer Invoices"
msgstr "Faktúry zákazníka"
#. module: sale_margin
#: field:report.account.invoice.partner,partner_id:0
#: field:report.account.invoice.partner.product,partner_id:0
msgid "Partner"
msgstr "Partner"
#. module: sale_margin
#: model:ir.model,name:sale_margin.model_sale_order
msgid "Sales Order"
msgstr "Objednávka predaja"
#. module: sale_margin
#: selection:report.account.invoice,state:0
#: selection:report.account.invoice.category,state:0
#: selection:report.account.invoice.partner,state:0
#: selection:report.account.invoice.partner.product,state:0
#: selection:report.account.invoice.product,state:0
msgid "Open"
msgstr "Otvorené"
#. module: sale_margin
#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_report
msgid "Invoice Analysis"
msgstr "Analýzy faktúr"
#. module: sale_margin
#: model:ir.model,name:sale_margin.model_sale_order_line
msgid "Sales Order Line"
msgstr "Položky objednávky"