[MERGE] with trunk.
bzr revid: nco@tinyerp.com-20130605070219-zs4wo3gxoa5mm5qx
This commit is contained in:
@@ -1460,6 +1460,7 @@ class account_invoice_line(osv.osv):
|
||||
result = {}
|
||||
res = self.pool.get('product.product').browse(cr, uid, product, context=context)
|
||||
|
||||
result['name'] = res.partner_ref
|
||||
if type in ('out_invoice','out_refund'):
|
||||
a = res.property_account_income.id
|
||||
if not a:
|
||||
@@ -1474,19 +1475,21 @@ class account_invoice_line(osv.osv):
|
||||
|
||||
if type in ('out_invoice', 'out_refund'):
|
||||
taxes = res.taxes_id and res.taxes_id or (a and self.pool.get('account.account').browse(cr, uid, a, context=context).tax_ids or False)
|
||||
if res.description_sale:
|
||||
result['name'] += '\n'+res.description_sale
|
||||
else:
|
||||
taxes = res.supplier_taxes_id and res.supplier_taxes_id or (a and self.pool.get('account.account').browse(cr, uid, a, context=context).tax_ids or False)
|
||||
if res.description_purchase:
|
||||
result['name'] += '\n'+res.description_purchase
|
||||
|
||||
tax_id = fpos_obj.map_tax(cr, uid, fpos, taxes)
|
||||
|
||||
if type in ('in_invoice', 'in_refund'):
|
||||
result.update( {'price_unit': price_unit or res.standard_price,'invoice_line_tax_id': tax_id} )
|
||||
else:
|
||||
result.update({'price_unit': res.list_price, 'invoice_line_tax_id': tax_id})
|
||||
result['name'] = res.partner_ref
|
||||
|
||||
result['uos_id'] = uom_id or res.uom_id.id
|
||||
if res.description:
|
||||
result['name'] += '\n'+res.description
|
||||
|
||||
domain = {'uos_id':[('category_id','=',res.uom_id.category_id.id)]}
|
||||
|
||||
|
||||
@@ -313,8 +313,8 @@
|
||||
<field name="code">TSAJ</field>
|
||||
<field name="type">sale</field>
|
||||
<field name="sequence_id" ref="sequence_sale_journal"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="a_sale"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="a_sale"/>
|
||||
<field name="default_credit_account_id" ref="a_sale"/>
|
||||
<field name="default_debit_account_id" ref="a_sale"/>
|
||||
<field name="analytic_journal_id" ref="cose_journal_sale"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
@@ -323,8 +323,8 @@
|
||||
<field name="code">TSCNJ</field>
|
||||
<field name="type">sale_refund</field>
|
||||
<field name="sequence_id" ref="sequence_refund_sales_journal"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="a_sale"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="a_sale"/>
|
||||
<field name="default_credit_account_id" ref="a_sale"/>
|
||||
<field name="default_debit_account_id" ref="a_sale"/>
|
||||
<field name="analytic_journal_id" ref="cose_journal_sale"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
@@ -334,8 +334,8 @@
|
||||
<field name="code">TEXJ</field>
|
||||
<field name="type">purchase</field>
|
||||
<field name="sequence_id" ref="sequence_purchase_journal"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="a_expense"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="a_expense"/>
|
||||
<field name="default_debit_account_id" ref="a_expense"/>
|
||||
<field name="default_credit_account_id" ref="a_expense"/>
|
||||
<field name="analytic_journal_id" ref="exp"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
@@ -344,8 +344,8 @@
|
||||
<field name="code">TECNJ</field>
|
||||
<field name="type">purchase_refund</field>
|
||||
<field name="sequence_id" ref="sequence_refund_purchase_journal"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="a_expense"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="a_expense"/>
|
||||
<field name="default_debit_account_id" ref="a_expense"/>
|
||||
<field name="default_credit_account_id" ref="a_expense"/>
|
||||
<field name="analytic_journal_id" ref="exp"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
@@ -355,8 +355,8 @@
|
||||
<field name="code">TBNK</field>
|
||||
<field name="type">bank</field>
|
||||
<field name="sequence_id" ref="sequence_bank_journal"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="bnk"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="bnk"/>
|
||||
<field name="default_debit_account_id" ref="bnk"/>
|
||||
<field name="default_credit_account_id" ref="bnk"/>
|
||||
<field name="analytic_journal_id" ref="sit"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
@@ -365,8 +365,8 @@
|
||||
<field name="code">TCHK</field>
|
||||
<field name="type">bank</field>
|
||||
<field name="sequence_id" ref="sequence_check_journal"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="cash"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="cash"/>
|
||||
<field name="default_debit_account_id" ref="cash"/>
|
||||
<field name="default_credit_account_id" ref="cash"/>
|
||||
<field name="analytic_journal_id" ref="sit"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
@@ -374,9 +374,9 @@
|
||||
<field name="name">Cash Journal - (test)</field>
|
||||
<field name="code">TCSH</field>
|
||||
<field name="type">cash</field>
|
||||
<field name="profit_account_id" model="account.account" ref="rsa" />
|
||||
<field name="loss_account_id" model="account.account" ref="rsa" />
|
||||
<field name="internal_account_id" model="account.account" ref="rsa" />
|
||||
<field name="profit_account_id" ref="rsa" />
|
||||
<field name="loss_account_id" ref="rsa" />
|
||||
<field name="internal_account_id" ref="rsa" />
|
||||
<field name="with_last_closing_balance" eval="True" />
|
||||
<!--
|
||||
Usually, cash payment methods requires a control at opening and closing.
|
||||
@@ -385,8 +385,8 @@
|
||||
-->
|
||||
<field name="cash_control" eval="False"/>
|
||||
<field name="sequence_id" ref="sequence_cash_journal"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="cash"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="cash"/>
|
||||
<field name="default_debit_account_id" ref="cash"/>
|
||||
<field name="default_credit_account_id" ref="cash"/>
|
||||
<field name="analytic_journal_id" ref="sit"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
@@ -403,8 +403,8 @@
|
||||
<field name="code">TOEJ</field>
|
||||
<field name="type">situation</field>
|
||||
<field name="sequence_id" ref="sequence_opening_journal"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="o_income"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="o_expense"/>
|
||||
<field name="default_debit_account_id" ref="o_income"/>
|
||||
<field name="default_credit_account_id" ref="o_expense"/>
|
||||
<field eval="True" name="centralisation"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
@@ -413,8 +413,8 @@
|
||||
<field name="name">USD Bank Journal - (test)</field>
|
||||
<field name="code">TUBK</field>
|
||||
<field name="type">bank</field>
|
||||
<field model="account.account" name="default_debit_account_id" ref="usd_bnk"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="usd_bnk"/>
|
||||
<field name="default_debit_account_id" ref="usd_bnk"/>
|
||||
<field name="default_credit_account_id" ref="usd_bnk"/>
|
||||
<field name="currency" ref="base.USD"/>
|
||||
</record>
|
||||
<!--
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
<a href="https://www.openerp.com/saas_master/demo?lang=en_US&module=account">
|
||||
<img src="account_sc_00.png" alt="Online Demo">
|
||||
</a>
|
||||
<span class="oe_demo_play"> </span>
|
||||
<div class="oe_demo_footer oe_centeralign">Online Demo</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2013-03-14 06:41+0000\n"
|
||||
"PO-Revision-Date: 2013-05-29 13:04+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: 2013-03-16 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-30 05:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16652)\n"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||
@@ -7386,7 +7386,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: field:account.config.settings,module_account_voucher:0
|
||||
msgid "Manage customer payments"
|
||||
msgstr ""
|
||||
msgstr "Управление платежами заказчиков"
|
||||
|
||||
#. module: account
|
||||
#: help:report.invoice.created,origin:0
|
||||
@@ -7415,7 +7415,7 @@ msgstr ""
|
||||
#: model:ir.actions.act_window,name:account.action_invoice_tree1
|
||||
#: model:ir.ui.menu,name:account.menu_action_invoice_tree1
|
||||
msgid "Customer Invoices"
|
||||
msgstr "Счета клиенту"
|
||||
msgstr "Счета заказчику"
|
||||
|
||||
#. module: account
|
||||
#: view:account.tax:0
|
||||
@@ -10543,7 +10543,7 @@ msgstr "Состояние счета - сделано"
|
||||
#. module: account
|
||||
#: field:account.config.settings,module_account_followup:0
|
||||
msgid "Manage customer payment follow-ups"
|
||||
msgstr ""
|
||||
msgstr "Управление напоминаниями заказчикам об оплатах"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_report_account_sales
|
||||
@@ -11037,7 +11037,7 @@ msgstr "Счет расходов по шаблону ТМЦ"
|
||||
#. module: account
|
||||
#: field:res.partner,property_payment_term:0
|
||||
msgid "Customer Payment Term"
|
||||
msgstr ""
|
||||
msgstr "Срок платежа заказчика"
|
||||
|
||||
#. module: account
|
||||
#: help:accounting.report,label_filter:0
|
||||
|
||||
@@ -123,24 +123,24 @@
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Confirm statement"""" name="name"/>
|
||||
<field eval=""""The accountant confirms the statement."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_accountingstatemententries0"/>
|
||||
<field model="process.node" name="source_node_id" ref="account.process_node_draftstatement0"/>
|
||||
<field name="target_node_id" ref="process_node_accountingstatemententries0"/>
|
||||
<field name="source_node_id" ref="account.process_node_draftstatement0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_analyticinvoice0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""From analytic accounts"""" name="name"/>
|
||||
<field eval=""""Analytic costs (timesheets, some purchased products, ...) come from analytic accounts. These generate draft invoices."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_draftinvoices0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_analytic0"/>
|
||||
<field name="target_node_id" ref="process_node_draftinvoices0"/>
|
||||
<field name="source_node_id" ref="process_node_analytic0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_customerinvoice0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Validation"""" name="name"/>
|
||||
<field eval=""""Draft invoices are checked, validated and printed."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_invoiceinvoice0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_draftinvoices0"/>
|
||||
<field name="target_node_id" ref="process_node_invoiceinvoice0"/>
|
||||
<field name="source_node_id" ref="process_node_draftinvoices0"/>
|
||||
<field eval="[(6,0,[ref('account.pro2_to_open')])]" name="transition_ids"/>
|
||||
</record>
|
||||
|
||||
@@ -148,40 +148,40 @@
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Validation"""" name="name"/>
|
||||
<field eval=""""Accountant validates the accounting entries coming from the invoice."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_accountingentries0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_invoiceinvoice0"/>
|
||||
<field name="target_node_id" ref="process_node_accountingentries0"/>
|
||||
<field name="source_node_id" ref="process_node_invoiceinvoice0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_entriesreconcile0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Accounting entries"""" name="name"/>
|
||||
<field eval=""""Accounting entries are the first input of the reconciliation."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_reconciliation0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_accountingentries0"/>
|
||||
<field name="target_node_id" ref="process_node_reconciliation0"/>
|
||||
<field name="source_node_id" ref="process_node_accountingentries0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_statemententries0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Validation"""" name="name"/>
|
||||
<field eval=""""Manual or automatic creation of payment entries according to the statements"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_paymententries0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_bankstatement0"/>
|
||||
<field name="target_node_id" ref="process_node_paymententries0"/>
|
||||
<field name="source_node_id" ref="process_node_bankstatement0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_paymentreconcile0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Payment entries"""" name="name"/>
|
||||
<field eval=""""Payment entries are the second input of the reconciliation."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_reconciliation0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_paymententries0"/>
|
||||
<field name="target_node_id" ref="process_node_reconciliation0"/>
|
||||
<field name="source_node_id" ref="process_node_paymententries0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_reconcilepaid0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Payment"""" name="name"/>
|
||||
<field eval=""""As soon as the reconciliation is done, the invoice can be paid."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_paidinvoice0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_reconciliation0"/>
|
||||
<field name="target_node_id" ref="process_node_paidinvoice0"/>
|
||||
<field name="source_node_id" ref="process_node_reconciliation0"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
|
||||
@@ -68,8 +68,8 @@
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Automatic import of the bank statement"""" name="name"/>
|
||||
<field eval=""""Import of the statement in the system from an electronic file"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_draftstatement0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_electronicfile0"/>
|
||||
<field name="target_node_id" ref="process_node_draftstatement0"/>
|
||||
<field name="source_node_id" ref="process_node_electronicfile0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_invoicemanually0" model="process.transition">
|
||||
@@ -77,17 +77,17 @@
|
||||
<field eval=""""Manual entry"""" name="name"/>
|
||||
<field eval=""""A statement with manual entries becomes a draft statement."""" name="note"/>
|
||||
|
||||
<field model="process.node" name="target_node_id" ref="process_node_draftstatement0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_manually0"/>
|
||||
<field name="target_node_id" ref="process_node_draftstatement0"/>
|
||||
<field name="source_node_id" ref="process_node_manually0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_invoiceimport0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Import from invoice or payment"""" name="name"/>
|
||||
<field eval=""""Import of the statement in the system from a supplier or customer invoice"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_draftstatement0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_importinvoice0"/>
|
||||
<field name="target_node_id" ref="process_node_draftstatement0"/>
|
||||
<field name="source_node_id" ref="process_node_importinvoice0"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
||||
@@ -111,16 +111,16 @@
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""From analytic accounts"""" name="name"/>
|
||||
<field eval=""""Analytic costs (timesheets, some purchased products, ...) come from analytic accounts. These generate draft supplier invoices."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_supplierdraftinvoices0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_analyticcost0"/>
|
||||
<field name="target_node_id" ref="process_node_supplierdraftinvoices0"/>
|
||||
<field name="source_node_id" ref="process_node_analyticcost0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_suppliercustomerinvoice0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Validation"""" name="name"/>
|
||||
<field eval=""""Draft invoices are validated. """" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_supplierinvoiceinvoice0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_supplierdraftinvoices0"/>
|
||||
<field name="target_node_id" ref="process_node_supplierinvoiceinvoice0"/>
|
||||
<field name="source_node_id" ref="process_node_supplierdraftinvoices0"/>
|
||||
<field eval="[(6,0,[ref('account.pro2_to_open')])]" name="transition_ids"/>
|
||||
</record>
|
||||
|
||||
@@ -128,40 +128,40 @@
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Validation"""" name="name"/>
|
||||
<field eval=""""Accountant validates the accounting entries coming from the invoice. """" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_supplieraccountingentries0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_supplierinvoiceinvoice0"/>
|
||||
<field name="target_node_id" ref="process_node_supplieraccountingentries0"/>
|
||||
<field name="source_node_id" ref="process_node_supplierinvoiceinvoice0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_supplierentriesreconcile0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Accounting entries"""" name="name"/>
|
||||
<field eval=""""Accounting entries are an input of the reconciliation."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_supplierreconciliation0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_supplieraccountingentries0"/>
|
||||
<field name="target_node_id" ref="process_node_supplierreconciliation0"/>
|
||||
<field name="source_node_id" ref="process_node_supplieraccountingentries0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_paymentorderbank0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Payment entries"""" name="name"/>
|
||||
<field eval=""""The payment order is sent to the bank."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_supplierbankstatement0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_supplierpaymentorder0"/>
|
||||
<field name="target_node_id" ref="process_node_supplierbankstatement0"/>
|
||||
<field name="source_node_id" ref="process_node_supplierpaymentorder0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_paymentorderreconcilation0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Validation"""" name="name"/>
|
||||
<field eval=""""Bank statements are entered in the system."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_supplierreconciliation0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_supplierbankstatement0"/>
|
||||
<field name="target_node_id" ref="process_node_supplierreconciliation0"/>
|
||||
<field name="source_node_id" ref="process_node_supplierbankstatement0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_supplierreconcilepaid0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""System payment"""" name="name"/>
|
||||
<field eval=""""As soon as the reconciliation is done, the invoice's state turns to “done” (i.e. paid) in the system."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_supplierpaidinvoice0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_supplierreconciliation0"/>
|
||||
<field name="target_node_id" ref="process_node_supplierpaidinvoice0"/>
|
||||
<field name="source_node_id" ref="process_node_supplierreconciliation0"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
||||
@@ -338,4 +338,10 @@ class account_config_settings(osv.osv_memory):
|
||||
dp = self.pool.get('ir.model.data').get_object(cr, uid, 'product','decimal_account')
|
||||
dp.write({'digits': config.decimal_precision})
|
||||
|
||||
def onchange_analytic_accounting(self, cr, uid, ids, analytic_accounting, context=None):
|
||||
if analytic_accounting:
|
||||
return {'value': {
|
||||
'module_account_accountant': True,
|
||||
}}
|
||||
return {}
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
<label for="module_account_accountant"/>
|
||||
</div>
|
||||
<div>
|
||||
<field name="group_analytic_accounting" class="oe_inline"/>
|
||||
<field name="group_analytic_accounting" class="oe_inline" on_change="onchange_analytic_accounting(group_analytic_accounting, context)"/>
|
||||
<label for="group_analytic_accounting"/>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
@@ -478,7 +478,7 @@ class account_analytic_account(osv.osv):
|
||||
'remaining_hours': fields.function(_remaining_hours_calc, type='float', string='Remaining Time',
|
||||
help="Computed using the formula: Maximum Time - Total Worked Time"),
|
||||
'remaining_hours_to_invoice': fields.function(_remaining_hours_to_invoice_calc, type='float', string='Remaining Time',
|
||||
help="Computed using the formula: Maximum Time - Total Invoiced Time"),
|
||||
help="Computed using the formula: Expected on timesheets - Total invoiced on timesheets"),
|
||||
'fix_price_to_invoice': fields.function(_fix_price_to_invoice_calc, type='float', string='Remaining Time',
|
||||
help="Sum of quotations for this contract."),
|
||||
'timesheet_ca_invoiced': fields.function(_timesheet_ca_invoiced_calc, type='float', string='Remaining Time',
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2011-02-19 12:16+0000\n"
|
||||
"PO-Revision-Date: 2013-05-31 07:35+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: 2013-03-16 05:25+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-06-01 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
@@ -73,7 +73,7 @@ msgstr ""
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "⇒ Invoice"
|
||||
msgstr ""
|
||||
msgstr "⇒ Счет"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,ca_invoiced:0
|
||||
@@ -196,6 +196,8 @@ msgid ""
|
||||
"{'required': [('type','=','contract')], 'invisible': [('type','in',['view', "
|
||||
"'normal','template'])]}"
|
||||
msgstr ""
|
||||
"{'required': [('type','=','contract')], 'invisible': [('type','in',['view', "
|
||||
"'normal','template'])]}"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,real_margin_rate:0
|
||||
@@ -335,7 +337,7 @@ msgstr "Теоретическая выручка"
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "To Renew"
|
||||
msgstr ""
|
||||
msgstr "К продлению"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
@@ -431,7 +433,7 @@ msgstr ""
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,toinvoice_total:0
|
||||
msgid "Total to Invoice"
|
||||
msgstr ""
|
||||
msgstr "Всего в счет"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
@@ -546,18 +548,18 @@ msgstr "Дата последней операции по этому счету.
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.model,name:account_analytic_analysis.model_sale_config_settings
|
||||
msgid "sale.config.settings"
|
||||
msgstr ""
|
||||
msgstr "sale.config.settings"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:sale.config.settings,group_template_required:0
|
||||
msgid "Mandatory use of templates."
|
||||
msgstr ""
|
||||
msgstr "Обязательное использование шаблонов."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.template_of_contract_action
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_template_of_contract_action
|
||||
msgid "Contract Template"
|
||||
msgstr ""
|
||||
msgstr "Шаблон контракта"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
@@ -612,7 +614,7 @@ msgstr ""
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
msgstr "Итого"
|
||||
|
||||
#~ msgid "Hours summary by user"
|
||||
#~ msgstr "Итого часов по пользователям"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<record id="analytic_default_comp_rule" model="ir.rule">
|
||||
<field name="name">Analytic Default multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_analytic_default"/>
|
||||
<field name="model_id" ref="model_account_analytic_default"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2012-12-28 10:00+0000\n"
|
||||
"PO-Revision-Date: 2013-05-31 07:41+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: 2013-03-16 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-06-01 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account4_ids:0
|
||||
@@ -48,7 +48,7 @@ msgstr "Ставка (%)"
|
||||
#: code:addons/account_analytic_plans/account_analytic_plans.py:234
|
||||
#, python-format
|
||||
msgid "The total should be between %s and %s."
|
||||
msgstr ""
|
||||
msgstr "Итог должен быть между %s и %s."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:account.analytic.plan:0
|
||||
@@ -131,7 +131,7 @@ msgstr "Не показывать пустые строки"
|
||||
#: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:61
|
||||
#, python-format
|
||||
msgid "There are no analytic lines related to account %s."
|
||||
msgstr ""
|
||||
msgstr "Нет позиций аналитики относящихся к счету %s."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account3_ids:0
|
||||
@@ -315,7 +315,7 @@ msgstr "Журнал аналитики"
|
||||
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:38
|
||||
#, python-format
|
||||
msgid "Please put a name and a code before saving the model."
|
||||
msgstr ""
|
||||
msgstr "Пожалуйста, введите имя и код перед сохранением модели."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: report:account.analytic.account.crossovered.analytic:0
|
||||
@@ -347,7 +347,7 @@ msgstr "Журнал"
|
||||
#: code:addons/account_analytic_plans/account_analytic_plans.py:486
|
||||
#, python-format
|
||||
msgid "You have to define an analytic journal on the '%s' journal."
|
||||
msgstr ""
|
||||
msgstr "Вы должны определить журнал аналитики для журнала '%s'"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: code:addons/account_analytic_plans/account_analytic_plans.py:342
|
||||
@@ -375,7 +375,7 @@ msgstr "Позиция счета"
|
||||
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:41
|
||||
#, python-format
|
||||
msgid "There is no analytic plan defined."
|
||||
msgstr ""
|
||||
msgstr "Аналитический план счетов не определен."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_bank_statement
|
||||
@@ -402,7 +402,7 @@ msgstr "Разнесение аналитики"
|
||||
#: code:addons/account_analytic_plans/account_analytic_plans.py:221
|
||||
#, python-format
|
||||
msgid "A model with this name and code already exists."
|
||||
msgstr ""
|
||||
msgstr "Модель с таким названием и кодом уже существует."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: help:account.analytic.plan.line,root_analytic_id:0
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2011-07-12 12:04+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2013-05-31 08:06+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: 2013-03-16 05:50+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-06-01 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
@@ -148,7 +148,7 @@ msgstr ""
|
||||
#. module: account_asset
|
||||
#: help:account.asset.asset,method_period:0
|
||||
msgid "The amount of time between two depreciations, in months"
|
||||
msgstr ""
|
||||
msgstr "Количество времени между амортизациями, в месяцах"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,depreciation_date:0
|
||||
@@ -160,7 +160,7 @@ msgstr "Дата амортизации"
|
||||
#. module: account_asset
|
||||
#: constraint:account.asset.asset:0
|
||||
msgid "Error ! You cannot create recursive assets."
|
||||
msgstr ""
|
||||
msgstr "Ошибка! Нельзя создавать рекурсивные активы."
|
||||
|
||||
#. module: account_asset
|
||||
#: field:asset.asset.report,posted_value:0
|
||||
@@ -205,7 +205,7 @@ msgstr "# позиций амортизации"
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,method_period:0
|
||||
msgid "Number of Months in a Period"
|
||||
msgstr ""
|
||||
msgstr "Количество месяцев в периоде"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
@@ -234,7 +234,7 @@ msgstr "Счет активов"
|
||||
#: model:ir.actions.act_window,name:account_asset.action_asset_depreciation_confirmation_wizard
|
||||
#: model:ir.ui.menu,name:account_asset.menu_asset_depreciation_confirmation_wizard
|
||||
msgid "Compute Assets"
|
||||
msgstr ""
|
||||
msgstr "Вычислить активы"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.category,method_period:0
|
||||
@@ -265,12 +265,12 @@ msgstr "Изменить длительность"
|
||||
#: help:account.asset.category,method_number:0
|
||||
#: help:account.asset.history,method_number:0
|
||||
msgid "The number of depreciations needed to depreciate your asset"
|
||||
msgstr ""
|
||||
msgstr "Количество амортизаций необходимых для обесценивания актива"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.category:0
|
||||
msgid "Analytic Information"
|
||||
msgstr ""
|
||||
msgstr "Аналитическая информация"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.category,account_analytic_id:0
|
||||
@@ -293,7 +293,7 @@ msgstr ""
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,remaining_value:0
|
||||
msgid "Next Period Depreciation"
|
||||
msgstr ""
|
||||
msgstr "Следующий период амортизации"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.history,method_period:0
|
||||
@@ -344,7 +344,7 @@ msgstr "Поиск категории актива"
|
||||
#. module: account_asset
|
||||
#: view:asset.modify:0
|
||||
msgid "months"
|
||||
msgstr ""
|
||||
msgstr "месяцы"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.model,name:account_asset.model_account_invoice_line
|
||||
@@ -372,7 +372,7 @@ msgstr ""
|
||||
#: view:asset.depreciation.confirmation.wizard:0
|
||||
#: view:asset.modify:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "или"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,note:0
|
||||
@@ -406,7 +406,7 @@ msgstr ""
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Assets in running state"
|
||||
msgstr ""
|
||||
msgstr "Активы в рабочем состоянии"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
@@ -427,7 +427,7 @@ msgstr ""
|
||||
#: field:account.asset.asset,state:0
|
||||
#: field:asset.asset.report,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Статус"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,partner_id:0
|
||||
@@ -474,12 +474,12 @@ msgstr "Вычислить"
|
||||
#. module: account_asset
|
||||
#: view:account.asset.history:0
|
||||
msgid "Asset History"
|
||||
msgstr ""
|
||||
msgstr "История актива"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.model,name:account_asset.model_asset_depreciation_confirmation_wizard
|
||||
msgid "asset.depreciation.confirmation.wizard"
|
||||
msgstr ""
|
||||
msgstr "asset.depreciation.confirmation.wizard"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,active:0
|
||||
@@ -505,7 +505,7 @@ msgstr "История"
|
||||
#. module: account_asset
|
||||
#: view:asset.depreciation.confirmation.wizard:0
|
||||
msgid "Compute Asset"
|
||||
msgstr ""
|
||||
msgstr "Вычислить актив"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:asset.depreciation.confirmation.wizard,period_id:0
|
||||
@@ -521,7 +521,7 @@ msgstr "Общий"
|
||||
#: field:account.asset.asset,prorata:0
|
||||
#: field:account.asset.category,prorata:0
|
||||
msgid "Prorata Temporis"
|
||||
msgstr ""
|
||||
msgstr "По истечении срока"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.model,name:account_asset.model_account_invoice
|
||||
@@ -553,7 +553,7 @@ msgstr "Элементы журнала"
|
||||
#. module: account_asset
|
||||
#: view:asset.modify:0
|
||||
msgid "Asset Durations to Modify"
|
||||
msgstr ""
|
||||
msgstr "Актив - интервал времени для изменения"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,purchase_date:0
|
||||
@@ -574,6 +574,8 @@ msgid ""
|
||||
"Choose the period for which you want to automatically post the depreciation "
|
||||
"lines of running assets"
|
||||
msgstr ""
|
||||
"Выберите период, за который вы хотите автоматически создавать записи "
|
||||
"амортизации для актива"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
@@ -588,12 +590,12 @@ msgstr "Метод амортизации"
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,amount:0
|
||||
msgid "Current Depreciation"
|
||||
msgstr ""
|
||||
msgstr "Текущая аммортизация"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,name:0
|
||||
msgid "Asset Name"
|
||||
msgstr ""
|
||||
msgstr "Название актива"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.category,open_asset:0
|
||||
@@ -618,7 +620,7 @@ msgstr "Журнал"
|
||||
#. module: account_asset
|
||||
#: field:account.asset.history,name:0
|
||||
msgid "History name"
|
||||
msgstr ""
|
||||
msgstr "Название истории"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,depreciated_value:0
|
||||
@@ -657,7 +659,7 @@ msgstr ""
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,purchase_value:0
|
||||
msgid "Gross Value"
|
||||
msgstr ""
|
||||
msgstr "Валовая стоимость"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.category,name:0
|
||||
@@ -703,12 +705,12 @@ msgstr ""
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
msgstr "Нумерация"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.category,method_period:0
|
||||
msgid "State here the time between 2 depreciations, in months"
|
||||
msgstr ""
|
||||
msgstr "Время между двумя амортизациями в месяцах"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.history,date:0
|
||||
@@ -729,7 +731,7 @@ msgstr "Число амортизаций"
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Create Move"
|
||||
msgstr ""
|
||||
msgstr "Создать перемещение"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2012-12-11 13:00+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2013-06-03 07:47+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: 2013-03-16 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-06-04 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: selection:res.company,check_layout:0
|
||||
@@ -25,13 +25,13 @@ msgstr ""
|
||||
#. module: account_check_writing
|
||||
#: report:account.print.check.top:0
|
||||
msgid "Open Balance"
|
||||
msgstr ""
|
||||
msgstr "Открытый баланс"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: view:account.check.write:0
|
||||
#: view:account.voucher:0
|
||||
msgid "Print Check"
|
||||
msgstr ""
|
||||
msgstr "Напечатать чек"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: selection:res.company,check_layout:0
|
||||
@@ -82,7 +82,7 @@ msgstr "Описание"
|
||||
#. module: account_check_writing
|
||||
#: model:ir.model,name:account_check_writing.model_account_journal
|
||||
msgid "Journal"
|
||||
msgstr ""
|
||||
msgstr "Журнал"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: model:ir.actions.act_window,name:account_check_writing.action_write_check
|
||||
@@ -95,14 +95,14 @@ msgstr ""
|
||||
#: report:account.print.check.middle:0
|
||||
#: report:account.print.check.top:0
|
||||
msgid "Discount"
|
||||
msgstr ""
|
||||
msgstr "Скидка"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: report:account.print.check.bottom:0
|
||||
#: report:account.print.check.middle:0
|
||||
#: report:account.print.check.top:0
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
msgstr "Первоначальная сумма"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: field:res.company,check_layout:0
|
||||
@@ -119,7 +119,7 @@ msgstr ""
|
||||
#: report:account.print.check.middle:0
|
||||
#: report:account.print.check.top:0
|
||||
msgid "Payment"
|
||||
msgstr ""
|
||||
msgstr "Платеж"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: field:account.journal,use_preprint_check:0
|
||||
@@ -153,7 +153,7 @@ msgstr ""
|
||||
#: report:account.print.check.middle:0
|
||||
#: report:account.print.check.top:0
|
||||
msgid "Due Date"
|
||||
msgstr ""
|
||||
msgstr "Дата исполнения"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_middle
|
||||
@@ -163,13 +163,13 @@ msgstr ""
|
||||
#. module: account_check_writing
|
||||
#: model:ir.model,name:account_check_writing.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr ""
|
||||
msgstr "Компании"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: code:addons/account_check_writing/wizard/account_check_batch_printing.py:59
|
||||
#, python-format
|
||||
msgid "Error!"
|
||||
msgstr ""
|
||||
msgstr "Ошибка!"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: help:account.check.write,check_number:0
|
||||
@@ -202,12 +202,12 @@ msgstr ""
|
||||
#. module: account_check_writing
|
||||
#: view:account.check.write:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "или"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: field:account.voucher,amount_in_word:0
|
||||
msgid "Amount in Word"
|
||||
msgstr ""
|
||||
msgstr "Сумма прописью"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: model:ir.model,name:account_check_writing.model_account_check_write
|
||||
@@ -217,7 +217,7 @@ msgstr ""
|
||||
#. module: account_check_writing
|
||||
#: view:account.check.write:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Отмена"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: field:account.check.write,check_number:0
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2011-11-11 15:21+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2013-05-31 10:28+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: 2013-03-16 05:11+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-06-01 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: account_followup
|
||||
#: model:email.template,subject:account_followup.email_template_account_followup_default
|
||||
@@ -22,7 +22,7 @@ msgstr ""
|
||||
#: model:email.template,subject:account_followup.email_template_account_followup_level1
|
||||
#: model:email.template,subject:account_followup.email_template_account_followup_level2
|
||||
msgid "${user.company_id.name} Payment Reminder"
|
||||
msgstr ""
|
||||
msgstr "${user.company_id.name} напоминание о платеже"
|
||||
|
||||
#. module: account_followup
|
||||
#: help:res.partner,latest_followup_level_id:0
|
||||
@@ -43,12 +43,12 @@ msgstr "Дальнейшие действия"
|
||||
#. module: account_followup
|
||||
#: view:account_followup.followup.line:0
|
||||
msgid "%(date)s"
|
||||
msgstr ""
|
||||
msgstr "%(date)s"
|
||||
|
||||
#. module: account_followup
|
||||
#: field:res.partner,payment_next_action_date:0
|
||||
msgid "Next Action Date"
|
||||
msgstr ""
|
||||
msgstr "Дата следующего действия"
|
||||
|
||||
#. module: account_followup
|
||||
#: view:account_followup.followup.line:0
|
||||
@@ -64,7 +64,7 @@ msgstr ""
|
||||
#. module: account_followup
|
||||
#: view:res.partner:0
|
||||
msgid "⇾ Mark as Done"
|
||||
msgstr ""
|
||||
msgstr "⇾ отметить как сделанное"
|
||||
|
||||
#. module: account_followup
|
||||
#: field:account_followup.followup.line,manual_action_note:0
|
||||
@@ -94,7 +94,7 @@ msgstr "Тема эл.письма"
|
||||
#. module: account_followup
|
||||
#: view:account_followup.followup.line:0
|
||||
msgid "%(user_signature)s"
|
||||
msgstr ""
|
||||
msgstr "%(user_signature)s"
|
||||
|
||||
#. module: account_followup
|
||||
#: view:account_followup.followup.line:0
|
||||
@@ -109,19 +109,19 @@ msgstr ""
|
||||
#. module: account_followup
|
||||
#: field:account_followup.print,email_body:0
|
||||
msgid "Email Body"
|
||||
msgstr ""
|
||||
msgstr "Тело эл. письма"
|
||||
|
||||
#. module: account_followup
|
||||
#: model:ir.actions.act_window,name:account_followup.action_account_followup_print
|
||||
msgid "Send Follow-Ups"
|
||||
msgstr ""
|
||||
msgstr "Послать напоминания"
|
||||
|
||||
#. module: account_followup
|
||||
#: report:account_followup.followup.print:0
|
||||
#: code:addons/account_followup/account_followup.py:263
|
||||
#, python-format
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
msgstr "Сумма"
|
||||
|
||||
#. module: account_followup
|
||||
#: help:res.partner,payment_next_action:0
|
||||
@@ -133,7 +133,7 @@ msgstr ""
|
||||
#. module: account_followup
|
||||
#: view:res.partner:0
|
||||
msgid "No Responsible"
|
||||
msgstr ""
|
||||
msgstr "Нет ответственного"
|
||||
|
||||
#. module: account_followup
|
||||
#: model:account_followup.followup.line,description:account_followup.demo_followup_line2
|
||||
@@ -209,17 +209,17 @@ msgstr "Всего по дебету"
|
||||
#. module: account_followup
|
||||
#: field:res.partner,payment_next_action:0
|
||||
msgid "Next Action"
|
||||
msgstr ""
|
||||
msgstr "Следующее действие"
|
||||
|
||||
#. module: account_followup
|
||||
#: view:account_followup.followup.line:0
|
||||
msgid ": Partner Name"
|
||||
msgstr ""
|
||||
msgstr ": Название партнера"
|
||||
|
||||
#. module: account_followup
|
||||
#: field:account_followup.followup.line,manual_action_responsible_id:0
|
||||
msgid "Assign a Responsible"
|
||||
msgstr ""
|
||||
msgstr "Назначить ответственного"
|
||||
|
||||
#. module: account_followup
|
||||
#: view:account_followup.followup:0
|
||||
@@ -305,7 +305,7 @@ msgstr ""
|
||||
#. module: account_followup
|
||||
#: view:account_followup.followup.line:0
|
||||
msgid "%(partner_name)s"
|
||||
msgstr ""
|
||||
msgstr "%(partner_name)s"
|
||||
|
||||
#. module: account_followup
|
||||
#: model:email.template,body_html:account_followup.email_template_account_followup_level1
|
||||
@@ -377,7 +377,7 @@ msgstr "Определяет порядок вывода списка напом
|
||||
#: code:addons/account_followup/wizard/account_followup_print.py:166
|
||||
#, python-format
|
||||
msgid " will be sent"
|
||||
msgstr ""
|
||||
msgstr " будет отправлен"
|
||||
|
||||
#. module: account_followup
|
||||
#: view:account_followup.followup.line:0
|
||||
@@ -388,7 +388,7 @@ msgstr ""
|
||||
#: view:account_followup.followup.line:0
|
||||
#: field:account_followup.followup.line,send_letter:0
|
||||
msgid "Send a Letter"
|
||||
msgstr ""
|
||||
msgstr "Отправить письмо"
|
||||
|
||||
#. module: account_followup
|
||||
#: model:ir.actions.act_window,name:account_followup.action_account_followup_definition_form
|
||||
@@ -466,7 +466,7 @@ msgstr "Напечатанное сообщение"
|
||||
#: code:addons/account_followup/wizard/account_followup_print.py:155
|
||||
#, python-format
|
||||
msgid "Anybody"
|
||||
msgstr ""
|
||||
msgstr "Кто угодно"
|
||||
|
||||
#. module: account_followup
|
||||
#: help:account_followup.followup.line,send_email:0
|
||||
@@ -528,7 +528,7 @@ msgstr ""
|
||||
#. module: account_followup
|
||||
#: view:res.partner:0
|
||||
msgid "Search Partner"
|
||||
msgstr ""
|
||||
msgstr "Поиск партнера"
|
||||
|
||||
#. module: account_followup
|
||||
#: model:ir.ui.menu,name:account_followup.account_followup_print_menu
|
||||
@@ -554,7 +554,7 @@ msgstr ""
|
||||
#. module: account_followup
|
||||
#: view:account_followup.print:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "или"
|
||||
|
||||
#. module: account_followup
|
||||
#: view:res.partner:0
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<record id="account_followup_comp_rule" model="ir.rule">
|
||||
<field name="name">Account Follow-up multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_followup_followup"/>
|
||||
<field name="model_id" ref="model_account_followup_followup"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
@@ -15,21 +15,21 @@
|
||||
|
||||
<record id="payment_mode_comp_rule" model="ir.rule">
|
||||
<field name="name">Payment Mode company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_payment_mode"/>
|
||||
<field name="model_id" ref="model_payment_mode"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="payment_order_comp_rule" model="ir.rule">
|
||||
<field name="name">Payment order multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_payment_order"/>
|
||||
<field name="model_id" ref="model_payment_order"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="payment_line_comp_rule" model="ir.rule">
|
||||
<field name="name">Payment line multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_payment_line"/>
|
||||
<field name="model_id" ref="model_payment_line"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
<a href="https://www.openerp.com/saas_master/demo?lang=en_US&module=account">
|
||||
<img src="account_sc_00.png" alt="Online Demo">
|
||||
</a>
|
||||
<span class="oe_demo_play"> </span>
|
||||
<div class="oe_demo_footer oe_centeralign">Online Demo</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -137,4 +136,5 @@ material. Define recurrencies to produce recurring invoice automatically.
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="oe_container oe_separator"/>
|
||||
<section class="oe_container oe_separator">
|
||||
</section>
|
||||
|
||||
@@ -7,24 +7,24 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:46+0000\n"
|
||||
"PO-Revision-Date: 2013-05-29 13:17+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: 2013-03-16 05:33+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-30 05:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16652)\n"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.bank.statement.line,voucher_id:0
|
||||
msgid "Reconciliation"
|
||||
msgstr ""
|
||||
msgstr "Сверка"
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.model,name:account_voucher.model_account_config_settings
|
||||
msgid "account.config.settings"
|
||||
msgstr ""
|
||||
msgstr "account.config.settings"
|
||||
|
||||
#. module: account_voucher
|
||||
#: code:addons/account_voucher/account_voucher.py:369
|
||||
@@ -45,7 +45,7 @@ msgstr "Общая сумма"
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "Open Customer Journal Entries"
|
||||
msgstr ""
|
||||
msgstr "Открыть записи журнала по заказчику"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
@@ -63,7 +63,7 @@ msgstr ""
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "(Update)"
|
||||
msgstr ""
|
||||
msgstr "(Обновить)"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
@@ -90,7 +90,7 @@ msgstr "Март"
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,message_unread:0
|
||||
msgid "Unread Messages"
|
||||
msgstr ""
|
||||
msgstr "Непрочитанные"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
@@ -115,13 +115,13 @@ msgstr "Номер транзакции."
|
||||
#. module: account_voucher
|
||||
#: view:sale.receipt.report:0
|
||||
msgid "Group by year of Invoice Date"
|
||||
msgstr ""
|
||||
msgstr "Группировать по году в дате счета"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:sale.receipt.report:0
|
||||
#: field:sale.receipt.report,user_id:0
|
||||
msgid "Salesperson"
|
||||
msgstr ""
|
||||
msgstr "Продавец"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
@@ -135,6 +135,8 @@ msgid ""
|
||||
"You can not change the journal as you already reconciled some statement "
|
||||
"lines!"
|
||||
msgstr ""
|
||||
"Вы не можете изменить журнал, так как вы уже сверили некоторые позиции "
|
||||
"документа!"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
@@ -145,7 +147,7 @@ msgstr "Утвердить"
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_vendor_payment
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_vendor_payment
|
||||
msgid "Supplier Payments"
|
||||
msgstr ""
|
||||
msgstr "Оплаты поставщикам"
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.act_window,help:account_voucher.action_purchase_receipt
|
||||
@@ -167,7 +169,7 @@ msgstr "Искать ваучеры"
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,writeoff_acc_id:0
|
||||
msgid "Counterpart Account"
|
||||
msgstr ""
|
||||
msgstr "Корреспондирующий счет"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,account_id:0
|
||||
@@ -189,7 +191,7 @@ msgstr "OK"
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher.line,reconcile:0
|
||||
msgid "Full Reconcile"
|
||||
msgstr ""
|
||||
msgstr "Полная сверка"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,date_due:0
|
||||
@@ -207,7 +209,7 @@ msgstr "Примечания"
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,message_ids:0
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
msgstr "Сообщения"
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_purchase_receipt
|
||||
@@ -225,7 +227,7 @@ msgstr "Элемент журнала"
|
||||
#: code:addons/account_voucher/account_voucher.py:981
|
||||
#, python-format
|
||||
msgid "Error!"
|
||||
msgstr ""
|
||||
msgstr "Ошибка!"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher.line,amount:0
|
||||
@@ -235,7 +237,7 @@ msgstr "Суммма"
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "Payment Options"
|
||||
msgstr ""
|
||||
msgstr "Варианты оплаты"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
@@ -254,6 +256,8 @@ msgstr "Отменено"
|
||||
msgid ""
|
||||
"You have to configure account base code and account tax code on the '%s' tax!"
|
||||
msgstr ""
|
||||
"Вы должны настроить код базового счета и код налогового счета для налога "
|
||||
"'%s'!"
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.act_window,help:account_voucher.action_sale_receipt
|
||||
@@ -271,7 +275,7 @@ msgstr ""
|
||||
#. module: account_voucher
|
||||
#: help:account.voucher,message_unread:0
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr ""
|
||||
msgstr "Если отмечено, новые сообщения требуют вашего внимания."
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.model,name:account_voucher.model_account_bank_statement_line
|
||||
@@ -294,12 +298,12 @@ msgstr "Налог"
|
||||
#: code:addons/account_voucher/account_voucher.py:879
|
||||
#, python-format
|
||||
msgid "Invalid Action!"
|
||||
msgstr ""
|
||||
msgstr "Неверное действие!"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,comment:0
|
||||
msgid "Counterpart Comment"
|
||||
msgstr ""
|
||||
msgstr "Корреспондирующий коментарий"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher.line,account_analytic_id:0
|
||||
@@ -312,6 +316,8 @@ msgid ""
|
||||
"Holds the Chatter summary (number of messages, ...). This summary is "
|
||||
"directly in html format in order to be inserted in kanban views."
|
||||
msgstr ""
|
||||
"Содержит сводку по Чаттеру (количество сообщений,...). Эта сводка в формате "
|
||||
"html для возможности использования в канбан виде"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
@@ -326,7 +332,7 @@ msgstr "Информация о платеже"
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "(update)"
|
||||
msgstr ""
|
||||
msgstr "(обновить)"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
@@ -395,7 +401,7 @@ msgstr "Ваучер поставщика"
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
msgstr "Подписчики"
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:account.voucher.line,type:0
|
||||
@@ -406,7 +412,7 @@ msgstr "Дебет"
|
||||
#: code:addons/account_voucher/account_voucher.py:1547
|
||||
#, python-format
|
||||
msgid "Unable to change journal !"
|
||||
msgstr ""
|
||||
msgstr "Невозможно изменить журнал!"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:sale.receipt.report:0
|
||||
@@ -446,7 +452,7 @@ msgstr ""
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "Open Supplier Journal Entries"
|
||||
msgstr ""
|
||||
msgstr "Открыть журнал проводок по поставщику"
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_review_voucher_list
|
||||
@@ -461,7 +467,7 @@ msgstr "Памятка"
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "Are you sure to unreconcile and cancel this record ?"
|
||||
msgstr ""
|
||||
msgstr "Вы уверены, что надо отменить сверку и саму запись ?"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,is_multi_currency:0
|
||||
@@ -494,13 +500,13 @@ msgstr ""
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,writeoff_amount:0
|
||||
msgid "Difference Amount"
|
||||
msgstr ""
|
||||
msgstr "Сумма разницы"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:sale.receipt.report:0
|
||||
#: field:sale.receipt.report,due_delay:0
|
||||
msgid "Avg. Due Delay"
|
||||
msgstr ""
|
||||
msgstr "Средн. задержка"
|
||||
|
||||
#. module: account_voucher
|
||||
#: code:addons/account_voucher/invoice.py:34
|
||||
@@ -554,7 +560,7 @@ msgstr "Оплаченная сумма"
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,payment_option:0
|
||||
msgid "Payment Difference"
|
||||
msgstr ""
|
||||
msgstr "Оплата разницы"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
@@ -568,7 +574,7 @@ msgstr "Для проверки"
|
||||
#: code:addons/account_voucher/account_voucher.py:1194
|
||||
#, python-format
|
||||
msgid "change"
|
||||
msgstr ""
|
||||
msgstr "изменить"
|
||||
|
||||
#. module: account_voucher
|
||||
#: code:addons/account_voucher/account_voucher.py:1014
|
||||
@@ -599,7 +605,7 @@ msgstr ""
|
||||
#. module: account_voucher
|
||||
#: view:account.invoice:0
|
||||
msgid "Register Payment"
|
||||
msgstr ""
|
||||
msgstr "Регистрация оплаты"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.statement.from.invoice.lines,line_ids:0
|
||||
@@ -614,7 +620,7 @@ msgstr "декабрём"
|
||||
#. module: account_voucher
|
||||
#: view:sale.receipt.report:0
|
||||
msgid "Group by month of Invoice Date"
|
||||
msgstr ""
|
||||
msgstr "Группировать по месяцу даты счета"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:sale.receipt.report:0
|
||||
@@ -647,7 +653,7 @@ msgstr ""
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "Are you sure to unreconcile this record?"
|
||||
msgstr ""
|
||||
msgstr "Вы уверены в отмене сверки"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,company_id:0
|
||||
@@ -665,13 +671,13 @@ msgstr ""
|
||||
#. module: account_voucher
|
||||
#: selection:account.voucher,payment_option:0
|
||||
msgid "Reconcile Payment Balance"
|
||||
msgstr ""
|
||||
msgstr "Сверка платежного баланса"
|
||||
|
||||
#. module: account_voucher
|
||||
#: code:addons/account_voucher/account_voucher.py:975
|
||||
#, python-format
|
||||
msgid "Configuration Error !"
|
||||
msgstr ""
|
||||
msgstr "Ошибка конфигурации !"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
@@ -695,18 +701,18 @@ msgstr ""
|
||||
#: field:account.voucher,state:0
|
||||
#: view:sale.receipt.report:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Статус"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "Allocation"
|
||||
msgstr ""
|
||||
msgstr "Распределение"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.statement.from.invoice.lines:0
|
||||
#: view:account.voucher:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "или"
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:sale.receipt.report,month:0
|
||||
@@ -716,7 +722,7 @@ msgstr "Август"
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "Validate Payment"
|
||||
msgstr ""
|
||||
msgstr "Утвердить оплату"
|
||||
|
||||
#. module: account_voucher
|
||||
#: help:account.voucher,audit:0
|
||||
@@ -724,6 +730,8 @@ msgid ""
|
||||
"Check this box if you are unsure of that journal entry and if you want to "
|
||||
"note it as 'to be reviewed' by an accounting expert."
|
||||
msgstr ""
|
||||
"Отметьте, если вы не уверены в этой проводке журнала и хотите отметить её "
|
||||
"\"для проверки\" опытному бухгалтеру."
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:sale.receipt.report,month:0
|
||||
@@ -734,7 +742,7 @@ msgstr "Октябрь"
|
||||
#: code:addons/account_voucher/account_voucher.py:976
|
||||
#, python-format
|
||||
msgid "Please activate the sequence of selected journal !"
|
||||
msgstr ""
|
||||
msgstr "Пожалуйста, включите нумерацию выбранного журнала!"
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:sale.receipt.report,month:0
|
||||
@@ -749,7 +757,7 @@ msgstr ""
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,paid:0
|
||||
msgid "Paid"
|
||||
msgstr ""
|
||||
msgstr "Оплачено"
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_sale_receipt
|
||||
@@ -760,7 +768,7 @@ msgstr ""
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr ""
|
||||
msgstr "Подписан"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,analytic_id:0
|
||||
@@ -787,7 +795,7 @@ msgstr "Расширенные фильтры..."
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,paid_amount_in_company_currency:0
|
||||
msgid "Paid Amount in Company Currency"
|
||||
msgstr ""
|
||||
msgstr "Оплаченная сумма в валюте компании"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.bank.statement.line,amount_reconciled:0
|
||||
@@ -814,7 +822,7 @@ msgstr "Предыдущие платежи ?"
|
||||
#: code:addons/account_voucher/account_voucher.py:1112
|
||||
#, python-format
|
||||
msgid "The invoice you are willing to pay is not valid anymore."
|
||||
msgstr ""
|
||||
msgstr "Счет, который вы готовы платить, уже не актуален ."
|
||||
|
||||
#. module: account_voucher
|
||||
#: selection:sale.receipt.report,month:0
|
||||
@@ -830,30 +838,30 @@ msgstr "Журнал ваучеров"
|
||||
#. module: account_voucher
|
||||
#: model:ir.model,name:account_voucher.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr ""
|
||||
msgstr "Компании"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,message_summary:0
|
||||
msgid "Summary"
|
||||
msgstr ""
|
||||
msgstr "Итог"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,active:0
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
msgstr "Активно"
|
||||
|
||||
#. module: account_voucher
|
||||
#: code:addons/account_voucher/account_voucher.py:982
|
||||
#, python-format
|
||||
msgid "Please define a sequence on the journal."
|
||||
msgstr ""
|
||||
msgstr "Пожалуйста, определите нумерацию журнала."
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.act_window,name:account_voucher.act_pay_voucher
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_vendor_receipt
|
||||
#: model:ir.ui.menu,name:account_voucher.menu_action_vendor_receipt
|
||||
msgid "Customer Payments"
|
||||
msgstr ""
|
||||
msgstr "Платежи клиентов"
|
||||
|
||||
#. module: account_voucher
|
||||
#: model:ir.actions.act_window,name:account_voucher.action_sale_receipt_report_all
|
||||
@@ -865,7 +873,7 @@ msgstr ""
|
||||
#. module: account_voucher
|
||||
#: view:sale.receipt.report:0
|
||||
msgid "Group by Invoice Date"
|
||||
msgstr ""
|
||||
msgstr "Группировать по дате счета"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
<data noupdate="1">
|
||||
<record id="voucher_comp_rule" model="ir.rule">
|
||||
<field name="name">Voucher multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_voucher"/>
|
||||
<field name="model_id" ref="model_account_voucher"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
<record id="voucher_line_comp_rule" model="ir.rule">
|
||||
<field name="name">Voucher Line multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_voucher_line"/>
|
||||
<field name="model_id" ref="model_account_voucher_line"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
|
||||
<record id="analytic_comp_rule" model="ir.rule">
|
||||
<field name="name">Analytic multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_analytic_account"/>
|
||||
<field name="model_id" ref="model_account_analytic_account"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="analytic_line_comp_rule" model="ir.rule">
|
||||
<field name="name">Analytic line multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_analytic_line"/>
|
||||
<field name="model_id" ref="model_account_analytic_line"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
@@ -23,6 +23,7 @@ import random
|
||||
from urllib import urlencode
|
||||
from urlparse import urljoin
|
||||
|
||||
from openerp.addons.base.ir.ir_mail_server import MailDeliveryException
|
||||
from openerp.osv import osv, fields
|
||||
from openerp.tools.misc import DEFAULT_SERVER_DATETIME_FORMAT
|
||||
from openerp.tools.safe_eval import safe_eval
|
||||
@@ -103,6 +104,9 @@ class res_partner(osv.Model):
|
||||
def action_signup_prepare(self, cr, uid, ids, context=None):
|
||||
return self.signup_prepare(cr, uid, ids, context=context)
|
||||
|
||||
def signup_cancel(self, cr, uid, ids, context=None):
|
||||
return self.write(cr, uid, ids, {'signup_token': False, 'signup_type': False, 'signup_expiration': False}, context=context)
|
||||
|
||||
def signup_prepare(self, cr, uid, ids, signup_type="signup", expiration=False, context=None):
|
||||
""" generate a new token for the partners with the given validity, if necessary
|
||||
:param expiration: the expiration datetime of the token (string, optional)
|
||||
@@ -202,7 +206,7 @@ class res_users(osv.Model):
|
||||
})
|
||||
if partner.company_id:
|
||||
values['company_id'] = partner.company_id.id
|
||||
values['company_ids'] = [(6,0,[partner.company_id.id])]
|
||||
values['company_ids'] = [(6, 0, [partner.company_id.id])]
|
||||
self._signup_create_user(cr, uid, values, context=context)
|
||||
else:
|
||||
# no token, sign up an external user
|
||||
@@ -259,25 +263,26 @@ class res_users(osv.Model):
|
||||
pass
|
||||
if not bool(template):
|
||||
template = self.pool.get('ir.model.data').get_object(cr, uid, 'auth_signup', 'reset_password_email')
|
||||
mail_obj = self.pool.get('mail.mail')
|
||||
assert template._name == 'email.template'
|
||||
|
||||
for user in self.browse(cr, uid, ids, context):
|
||||
if not user.email:
|
||||
raise osv.except_osv(_("Cannot send email: user has no email address."), user.name)
|
||||
mail_id = self.pool.get('email.template').send_mail(cr, uid, template.id, user.id, True, context=context)
|
||||
mail_state = mail_obj.read(cr, uid, mail_id, ['state'], context=context)
|
||||
|
||||
if mail_state and mail_state['state'] == 'exception':
|
||||
raise self.pool.get('res.config.settings').get_config_warning(cr, _("Cannot send email: no outgoing email server configured.\nYou can configure it under %(menu:base_setup.menu_general_configuration)s."), context)
|
||||
else:
|
||||
return True
|
||||
try:
|
||||
self.pool.get('email.template').send_mail(cr, uid, template.id, user.id, force_send=True, raise_exception=True, context=context)
|
||||
except Exception:
|
||||
raise
|
||||
|
||||
def create(self, cr, uid, values, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
# overridden to automatically invite user to sign up
|
||||
user_id = super(res_users, self).create(cr, uid, values, context=context)
|
||||
user = self.browse(cr, uid, user_id, context=context)
|
||||
if context and context.get('reset_password') and user.email:
|
||||
ctx = dict(context, create_user=True)
|
||||
self.action_reset_password(cr, uid, [user.id], context=ctx)
|
||||
if user.email and not context.get('no_reset_password'):
|
||||
context.update({'create_user': True})
|
||||
try:
|
||||
self.action_reset_password(cr, uid, [user.id], context=context)
|
||||
except MailDeliveryException:
|
||||
self.pool.get('res.partner').signup_cancel(cr, uid, [user.partner_id.id], context=context)
|
||||
return user_id
|
||||
|
||||
@@ -31,9 +31,11 @@
|
||||
<!-- add Reset Password button -->
|
||||
<xpath expr="//div[@class='oe_right oe_button_box']//button" position="replace">
|
||||
<button string="Send Reset Password Instructions"
|
||||
class="oe_link"
|
||||
type="object" name="action_reset_password"
|
||||
attrs="{'invisible': [('state', '!=', 'active')]}"/>
|
||||
<button string="Send an Invitation Email"
|
||||
class="oe_link"
|
||||
type="object" name="action_reset_password" context="{'create_user': 1}"
|
||||
attrs="{'invisible': [('state', '!=', 'new')]}"/>
|
||||
</xpath>
|
||||
|
||||
@@ -50,6 +50,7 @@ class base_action_rule(osv.osv):
|
||||
|
||||
_name = 'base.action.rule'
|
||||
_description = 'Action Rules'
|
||||
_order = 'sequence'
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Rule Name', size=64, required=True),
|
||||
@@ -61,6 +62,9 @@ class base_action_rule(osv.osv):
|
||||
help="When unchecked, the rule is hidden and will not be executed."),
|
||||
'sequence': fields.integer('Sequence',
|
||||
help="Gives the sequence order when displaying a list of rules."),
|
||||
'kind': fields.selection(
|
||||
[('on_create', 'On Creation'), ('on_write', 'On Update'), ('on_time', 'Based on Timed Condition')],
|
||||
string='When to Run'),
|
||||
'trg_date_id': fields.many2one('ir.model.fields', string='Trigger Date',
|
||||
domain="[('model_id', '=', model_id), ('ttype', 'in', ('date', 'datetime'))]"),
|
||||
'trg_date_range': fields.integer('Delay after trigger date',
|
||||
@@ -78,10 +82,10 @@ class base_action_rule(osv.osv):
|
||||
ondelete='restrict',
|
||||
domain="[('model_id', '=', model_id.model)]",
|
||||
help="If present, this condition must be satisfied before the update of the record."),
|
||||
'filter_id': fields.many2one('ir.filters', string='After Update Filter',
|
||||
'filter_id': fields.many2one('ir.filters', string='Filter',
|
||||
ondelete='restrict',
|
||||
domain="[('model_id', '=', model_id.model)]",
|
||||
help="If present, this condition must be satisfied after the update of the record."),
|
||||
help="If present, this condition must be satisfied before executing the action rule."),
|
||||
'last_run': fields.datetime('Last Run', readonly=1),
|
||||
}
|
||||
|
||||
@@ -90,7 +94,15 @@ class base_action_rule(osv.osv):
|
||||
'trg_date_range_type': 'day',
|
||||
}
|
||||
|
||||
_order = 'sequence'
|
||||
def onchange_kind(self, cr, uid, ids, kind, context=None):
|
||||
clear_fields = []
|
||||
if kind == 'on_create':
|
||||
clear_fields = ['filter_pre_id', 'trg_date_id', 'trg_date_range', 'trg_date_range_type']
|
||||
elif kind == 'on_write':
|
||||
clear_fields = ['trg_date_id', 'trg_date_range', 'trg_date_range_type']
|
||||
elif kind == 'on_time':
|
||||
clear_fields = ['filter_pre_id']
|
||||
return {'value': dict.fromkeys(clear_fields, False)}
|
||||
|
||||
def _filter(self, cr, uid, action, action_filter, record_ids, context=None):
|
||||
""" filter the list record_ids that satisfy the action filter """
|
||||
@@ -105,14 +117,7 @@ class base_action_rule(osv.osv):
|
||||
|
||||
def _process(self, cr, uid, action, record_ids, context=None):
|
||||
""" process the given action on the records """
|
||||
# execute server actions
|
||||
model = self.pool[action.model_id.model]
|
||||
if action.server_action_ids:
|
||||
server_action_ids = map(int, action.server_action_ids)
|
||||
for record in model.browse(cr, uid, record_ids, context):
|
||||
action_server_obj = self.pool.get('ir.actions.server')
|
||||
ctx = dict(context, active_model=model._name, active_ids=[record.id], active_id=record.id)
|
||||
action_server_obj.run(cr, uid, server_action_ids, context=ctx)
|
||||
|
||||
# modify records
|
||||
values = {}
|
||||
@@ -127,13 +132,21 @@ class base_action_rule(osv.osv):
|
||||
follower_ids = map(int, action.act_followers)
|
||||
model.message_subscribe(cr, uid, record_ids, follower_ids, context=context)
|
||||
|
||||
# execute server actions
|
||||
if action.server_action_ids:
|
||||
server_action_ids = map(int, action.server_action_ids)
|
||||
for record in model.browse(cr, uid, record_ids, context):
|
||||
action_server_obj = self.pool.get('ir.actions.server')
|
||||
ctx = dict(context, active_model=model._name, active_ids=[record.id], active_id=record.id)
|
||||
action_server_obj.run(cr, uid, server_action_ids, context=ctx)
|
||||
|
||||
return True
|
||||
|
||||
def _wrap_create(self, old_create, model):
|
||||
""" Return a wrapper around `old_create` calling both `old_create` and
|
||||
`_process`, in that order.
|
||||
"""
|
||||
def wrapper(cr, uid, vals, context=None):
|
||||
def create(cr, uid, vals, context=None):
|
||||
# avoid loops or cascading actions
|
||||
if context and context.get('action'):
|
||||
return old_create(cr, uid, vals, context=context)
|
||||
@@ -141,8 +154,8 @@ class base_action_rule(osv.osv):
|
||||
context = dict(context or {}, action=True)
|
||||
new_id = old_create(cr, uid, vals, context=context)
|
||||
|
||||
# as it is a new record, we do not consider the actions that have a prefilter
|
||||
action_dom = [('model', '=', model), ('trg_date_id', '=', False), ('filter_pre_id', '=', False)]
|
||||
# retrieve the action rules to run on creation
|
||||
action_dom = [('model', '=', model), ('kind', '=', 'on_create')]
|
||||
action_ids = self.search(cr, uid, action_dom, context=context)
|
||||
|
||||
# check postconditions, and execute actions on the records that satisfy them
|
||||
@@ -151,13 +164,13 @@ class base_action_rule(osv.osv):
|
||||
self._process(cr, uid, action, [new_id], context=context)
|
||||
return new_id
|
||||
|
||||
return wrapper
|
||||
return create
|
||||
|
||||
def _wrap_write(self, old_write, model):
|
||||
""" Return a wrapper around `old_write` calling both `old_write` and
|
||||
`_process`, in that order.
|
||||
"""
|
||||
def wrapper(cr, uid, ids, vals, context=None):
|
||||
def write(cr, uid, ids, vals, context=None):
|
||||
# avoid loops or cascading actions
|
||||
if context and context.get('action'):
|
||||
return old_write(cr, uid, ids, vals, context=context)
|
||||
@@ -165,8 +178,8 @@ class base_action_rule(osv.osv):
|
||||
context = dict(context or {}, action=True)
|
||||
ids = [ids] if isinstance(ids, (int, long, str)) else ids
|
||||
|
||||
# retrieve the action rules to possibly execute
|
||||
action_dom = [('model', '=', model), ('trg_date_id', '=', False)]
|
||||
# retrieve the action rules to run on update
|
||||
action_dom = [('model', '=', model), ('kind', '=', 'on_write')]
|
||||
action_ids = self.search(cr, uid, action_dom, context=context)
|
||||
actions = self.browse(cr, uid, action_ids, context=context)
|
||||
|
||||
@@ -185,7 +198,7 @@ class base_action_rule(osv.osv):
|
||||
self._process(cr, uid, action, post_ids, context=context)
|
||||
return True
|
||||
|
||||
return wrapper
|
||||
return write
|
||||
|
||||
def _register_hook(self, cr, ids=None):
|
||||
""" Wrap the methods `create` and `write` of the models specified by
|
||||
@@ -224,8 +237,8 @@ class base_action_rule(osv.osv):
|
||||
def _check(self, cr, uid, automatic=False, use_new_cursor=False, context=None):
|
||||
""" This Function is called by scheduler. """
|
||||
context = context or {}
|
||||
# retrieve all the action rules that have a trg_date_id and no precondition
|
||||
action_dom = [('trg_date_id', '!=', False), ('filter_pre_id', '=', False)]
|
||||
# retrieve all the action rules to run based on a timed condition
|
||||
action_dom = [('kind', '=', 'on_time')]
|
||||
action_ids = self.search(cr, uid, action_dom, context=context)
|
||||
for action in self.browse(cr, uid, action_ids, context=context):
|
||||
now = datetime.now()
|
||||
|
||||
@@ -26,24 +26,32 @@
|
||||
<notebook>
|
||||
<page string="Conditions">
|
||||
<group>
|
||||
<group name="filter" string="Filter Condition">
|
||||
<field name="filter_pre_id" domain="[('model_id','=',model)]" context="{'default_model_id': model}"/>
|
||||
<field name="filter_id" domain="[('model_id','=',model)]" context="{'default_model_id': model}"/>
|
||||
</group>
|
||||
<group name="timing" string="Timer">
|
||||
<field name="trg_date_id"/>
|
||||
<label for="trg_date_range" string="Delay After Trigger Date" attrs="{'invisible': [('trg_date_id','=',False)]}"/>
|
||||
<div attrs="{'invisible': [('trg_date_id','=',False)]}">
|
||||
<field name="trg_date_range" class="oe_inline"/>
|
||||
<field name="trg_date_range_type" class="oe_inline" attrs="{'required': [('trg_date_id','!=',False)]}"/>
|
||||
</div>
|
||||
</group>
|
||||
<field name="kind" required="1"
|
||||
on_change="onchange_kind(kind)"/>
|
||||
<field name="filter_pre_id"
|
||||
domain="[('model_id','=',model), ('user_id', '=', False)]"
|
||||
context="{'default_model_id': model}"
|
||||
attrs="{'invisible': [('kind', '!=', 'on_write')]}"/>
|
||||
<field name="filter_id"
|
||||
domain="[('model_id','=',model), ('user_id', '=', False)]"
|
||||
context="{'default_model_id': model}"/>
|
||||
<field name="trg_date_id"
|
||||
attrs="{'invisible': [('kind', '!=', 'on_time')], 'required': [('kind', '=', 'on_time')]}"/>
|
||||
<label for="trg_date_range" string="Delay After Trigger Date"
|
||||
attrs="{'invisible': [('trg_date_id','=',False)]}"/>
|
||||
<div attrs="{'invisible': [('trg_date_id','=',False)]}">
|
||||
<field name="trg_date_range" class="oe_inline"/>
|
||||
<field name="trg_date_range_type" class="oe_inline" attrs="{'required': [('trg_date_id','!=',False)]}"/>
|
||||
</div>
|
||||
</group>
|
||||
<p class="oe_grey">
|
||||
<b>Select a filter or a timer as condition.</b><br/> An action rule is checked when you create or modify the "Related Document Model". The precondition filter is checked right before the modification while the postcondition filter is checked after the modification. A precondition filter will therefore not work during a creation.<br/>
|
||||
<b>To create a new filter:</b><br/>
|
||||
- Go to your "Related Document Model" page and set the filter parameters in the "Search" view (Example of filter based on Leads/Opportunities: Creation Date "is equal to" 01/01/2012)<br/>
|
||||
- In this same "Search" view, select the menu "Save Current Filter", enter the name (Ex: Create the 01/01/2012) and add the option "Share with all users"<br/>
|
||||
<p>
|
||||
Select when the action must be run, and add filters and/or timing conditions.
|
||||
<br/>
|
||||
In order to create a new filter:
|
||||
<ul>
|
||||
<li>Go to your "Related Document Model" page and set the filter parameters in the "Search" view (Example of filter based on Leads/Opportunities: Creation Date "is equal to" 01/01/2012)</li>
|
||||
<li>In this same "Search" view, select the menu "Save Current Filter", enter the name (Ex: Create the 01/01/2012) and add the option "Share with all users"</li>
|
||||
</ul>
|
||||
The filter must therefore be available in this page.
|
||||
</p>
|
||||
</page>
|
||||
@@ -76,6 +84,7 @@
|
||||
<tree string="Action Rule">
|
||||
<field name="sequence"/>
|
||||
<field name="name"/>
|
||||
<field name="kind"/>
|
||||
<field name="filter_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 18:17+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"PO-Revision-Date: 2013-05-31 10:23+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: 2013-03-16 05:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-06-01 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule.lead.test,state:0
|
||||
@@ -58,7 +58,7 @@ msgstr "Добавить подписчиков"
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,act_user_id:0
|
||||
msgid "Set Responsible"
|
||||
msgstr ""
|
||||
msgstr "Указать ответственного"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: help:base.action.rule,trg_date_range:0
|
||||
@@ -71,7 +71,7 @@ msgstr ""
|
||||
#. module: base_action_rule
|
||||
#: model:ir.model,name:base_action_rule.model_base_action_rule_lead_test
|
||||
msgid "base.action.rule.lead.test"
|
||||
msgstr ""
|
||||
msgstr "base.action.rule.lead.test"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule.lead.test,state:0
|
||||
@@ -142,7 +142,7 @@ msgstr "Часы"
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "To create a new filter:"
|
||||
msgstr ""
|
||||
msgstr "Для создания нового фильтра:"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,active:0
|
||||
@@ -167,7 +167,7 @@ msgstr ""
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "Filter Condition"
|
||||
msgstr ""
|
||||
msgstr "Условие фильтра"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
@@ -216,7 +216,7 @@ msgstr "Тип задержки"
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "Server actions to run"
|
||||
msgstr ""
|
||||
msgstr "Действия сервера для запуска"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: help:base.action.rule,active:0
|
||||
@@ -246,7 +246,7 @@ msgstr "Минуты"
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,model_id:0
|
||||
msgid "Related Document Model"
|
||||
msgstr ""
|
||||
msgstr "Модель связанного документа"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: help:base.action.rule,filter_pre_id:0
|
||||
@@ -310,7 +310,7 @@ msgstr "Действия сервера"
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule.lead.test,name:0
|
||||
msgid "Subject"
|
||||
msgstr ""
|
||||
msgstr "Тема"
|
||||
|
||||
#~ msgid "Set State to"
|
||||
#~ msgstr "Уснатовить состояние в"
|
||||
|
||||
@@ -19,8 +19,8 @@ class base_action_rule_test(common.TransactionCase):
|
||||
'name': "Lead is in done state",
|
||||
'is_default': False,
|
||||
'model_id': 'base.action.rule.lead.test',
|
||||
'domain' : "[('state','=','done')]",
|
||||
}, context=context)
|
||||
'domain': "[('state','=','done')]",
|
||||
}, context=context)
|
||||
|
||||
def create_filter_draft(self, cr, uid, context=None):
|
||||
filter_pool = self.registry('ir.filters')
|
||||
@@ -40,16 +40,16 @@ class base_action_rule_test(common.TransactionCase):
|
||||
'user_id': self.admin,
|
||||
}, context=context)
|
||||
|
||||
def create_rule(self, cr, uid, filter_id=False, filter_pre_id=False, context=None):
|
||||
def create_rule(self, cr, uid, kind, filter_id=False, filter_pre_id=False, context=None):
|
||||
"""
|
||||
The "Rule 1" says that when a lead goes to the 'draft' state, the responsible for that lead changes to user "demo"
|
||||
"""
|
||||
return self.base_action_rule.create(cr,uid,{
|
||||
'name' : "Rule 1",
|
||||
'name': "Rule 1",
|
||||
'model_id': self.registry('ir.model').search(cr, uid, [('model','=','base.action.rule.lead.test')], context=context)[0],
|
||||
'active' : 1,
|
||||
'filter_pre_id' : filter_pre_id,
|
||||
'filter_id' : filter_id,
|
||||
'kind': kind,
|
||||
'filter_pre_id': filter_pre_id,
|
||||
'filter_id': filter_id,
|
||||
'act_user_id': self.demo,
|
||||
}, context=context)
|
||||
|
||||
@@ -64,7 +64,7 @@ class base_action_rule_test(common.TransactionCase):
|
||||
"""
|
||||
cr, uid = self.cr, self.uid
|
||||
filter_draft = self.create_filter_draft(cr, uid)
|
||||
self.create_rule(cr, uid, filter_pre_id=filter_draft)
|
||||
self.create_rule(cr, uid, 'on_write', filter_pre_id=filter_draft)
|
||||
new_lead_id = self.create_lead_test_1(cr, uid)
|
||||
new_lead = self.model.browse(cr, uid, new_lead_id)
|
||||
self.assertEquals(new_lead.state, 'draft')
|
||||
@@ -73,11 +73,11 @@ class base_action_rule_test(common.TransactionCase):
|
||||
|
||||
def test_01_check_to_state_draft_post(self):
|
||||
"""
|
||||
Check that a new record (with state = draft) changes its responsible when there is a postcondition filter which check that the state is draft.
|
||||
Check that a new record changes its responsible when there is a postcondition filter which check that the state is draft.
|
||||
"""
|
||||
cr, uid = self.cr, self.uid
|
||||
filter_draft = self.create_filter_draft(cr, uid)
|
||||
self.create_rule(cr, uid, filter_id=filter_draft)
|
||||
self.create_rule(cr, uid, 'on_create')
|
||||
new_lead_id = self.create_lead_test_1(cr, uid)
|
||||
new_lead = self.model.browse(cr, uid, new_lead_id)
|
||||
self.assertEquals(new_lead.state, 'draft')
|
||||
@@ -95,7 +95,7 @@ class base_action_rule_test(common.TransactionCase):
|
||||
cr, uid = self.cr, self.uid
|
||||
filter_draft = self.create_filter_draft(cr, uid)
|
||||
filter_done = self.create_filter_done(cr, uid)
|
||||
self.create_rule(cr, uid, filter_pre_id=filter_draft, filter_id=filter_done)
|
||||
self.create_rule(cr, uid, 'on_write', filter_pre_id=filter_draft, filter_id=filter_done)
|
||||
new_lead_id = self.create_lead_test_1(cr, uid)
|
||||
new_lead = self.model.browse(cr, uid, new_lead_id)
|
||||
self.assertEquals(new_lead.state, 'draft')
|
||||
@@ -133,7 +133,7 @@ class base_action_rule_test(common.TransactionCase):
|
||||
cr, uid = self.cr, self.uid
|
||||
filter_draft = self.create_filter_draft(cr, uid)
|
||||
filter_done = self.create_filter_done(cr, uid)
|
||||
self.create_rule(cr, uid, filter_pre_id=filter_draft, filter_id=filter_done)
|
||||
self.create_rule(cr, uid, 'on_write', filter_pre_id=filter_draft, filter_id=filter_done)
|
||||
new_lead_id = self.create_lead_test_1(cr, uid)
|
||||
new_lead = self.model.browse(cr, uid, new_lead_id)
|
||||
self.assertEquals(new_lead.state, 'draft')
|
||||
|
||||
@@ -81,8 +81,6 @@ Dashboard for CRM will include:
|
||||
'crm_lead_view.xml',
|
||||
'crm_lead_menu.xml',
|
||||
|
||||
'crm_case_section_view.xml',
|
||||
|
||||
'crm_meeting_menu.xml',
|
||||
|
||||
'crm_phonecall_view.xml',
|
||||
@@ -98,6 +96,8 @@ Dashboard for CRM will include:
|
||||
|
||||
'res_config_view.xml',
|
||||
'base_partner_merge_view.xml',
|
||||
|
||||
'crm_case_section_view.xml',
|
||||
],
|
||||
'demo': [
|
||||
'crm_demo.xml',
|
||||
@@ -121,7 +121,8 @@ Dashboard for CRM will include:
|
||||
'static/src/css/crm.css'
|
||||
],
|
||||
'js': [
|
||||
'static/src/js/crm.js'
|
||||
'static/lib/sparkline/jquery.sparkline.js',
|
||||
'static/src/js/crm_case_section.js',
|
||||
],
|
||||
'installable': True,
|
||||
'application': True,
|
||||
|
||||
@@ -13,6 +13,7 @@ from openerp.tools import mute_logger
|
||||
# Validation Library https://pypi.python.org/pypi/validate_email/1.1
|
||||
from .validate_email import validate_email
|
||||
|
||||
import openerp
|
||||
from openerp.osv import osv, orm
|
||||
from openerp.osv import fields
|
||||
from openerp.osv.orm import browse_record
|
||||
@@ -101,14 +102,26 @@ class MergePartnerAutomatic(osv.TransientModel):
|
||||
'current_line_id': fields.many2one('base.partner.merge.line', 'Current Line'),
|
||||
'line_ids': fields.one2many('base.partner.merge.line', 'wizard_id', 'Lines'),
|
||||
'partner_ids': fields.many2many('res.partner', string='Contacts'),
|
||||
'dst_partner_id': fields.many2one('res.partner', string='Destination Contact'),
|
||||
|
||||
'exclude_contact': fields.boolean('A user associated to the contact'),
|
||||
'exclude_journal_item': fields.boolean('Journal Items associated to the contact'),
|
||||
'maximum_group': fields.integer("Maximum of Group of Contacts"),
|
||||
}
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
res = super(MergePartnerAutomatic, self).default_get(cr, uid, fields, context)
|
||||
if context.get('active_model') == 'res.partner' and context.get('active_ids'):
|
||||
partner_ids = context['active_ids']
|
||||
res['state'] = 'selection'
|
||||
res['partner_ids'] = partner_ids
|
||||
res['dst_partner_id'] = self._get_ordered_partner(cr, uid, partner_ids, context=context)[-1].id
|
||||
return res
|
||||
|
||||
_defaults = {
|
||||
'state': 'option',
|
||||
'state': 'option'
|
||||
}
|
||||
|
||||
def get_fk_on(self, cr, table):
|
||||
@@ -204,8 +217,8 @@ class MergePartnerAutomatic(osv.TransientModel):
|
||||
if proxy is None:
|
||||
return
|
||||
domain = [(field_model, '=', 'res.partner'), (field_id, '=', src.id)]
|
||||
ids = proxy.search(cr, uid, domain, context=context)
|
||||
return proxy.write(cr, uid, ids, {field_id: dst_partner.id}, context=context)
|
||||
ids = proxy.search(cr, openerp.SUPERUSER_ID, domain, context=context)
|
||||
return proxy.write(cr, openerp.SUPERUSER_ID, ids, {field_id: dst_partner.id}, context=context)
|
||||
|
||||
update_records = functools.partial(update_records, context=context)
|
||||
|
||||
@@ -219,9 +232,9 @@ class MergePartnerAutomatic(osv.TransientModel):
|
||||
|
||||
proxy = self.pool['ir.model.fields']
|
||||
domain = [('ttype', '=', 'reference')]
|
||||
record_ids = proxy.search(cr, uid, domain, context=context)
|
||||
record_ids = proxy.search(cr, openerp.SUPERUSER_ID, domain, context=context)
|
||||
|
||||
for record in proxy.browse(cr, uid, record_ids, context=context):
|
||||
for record in proxy.browse(cr, openerp.SUPERUSER_ID, record_ids, context=context):
|
||||
proxy_model = self.pool[record.model]
|
||||
|
||||
field_type = proxy_model._columns.get(record.name).__class__._type
|
||||
@@ -233,11 +246,11 @@ class MergePartnerAutomatic(osv.TransientModel):
|
||||
domain = [
|
||||
(record.name, '=', 'res.partner,%d' % partner.id)
|
||||
]
|
||||
model_ids = proxy_model.search(cr, uid, domain, context=context)
|
||||
model_ids = proxy_model.search(cr, openerp.SUPERUSER_ID, domain, context=context)
|
||||
values = {
|
||||
record.name: 'res.partner,%d' % dst_partner.id,
|
||||
}
|
||||
proxy_model.write(cr, uid, model_ids, values, context=context)
|
||||
proxy_model.write(cr, openerp.SUPERUSER_ID, model_ids, values, context=context)
|
||||
|
||||
def _update_values(self, cr, uid, src_partners, dst_partner, context=None):
|
||||
_logger.debug('_update_values for dst_partner: %s for src_partners: %r', dst_partner.id, list(map(operator.attrgetter('id'), src_partners)))
|
||||
@@ -266,22 +279,31 @@ class MergePartnerAutomatic(osv.TransientModel):
|
||||
_logger.info('Skip recursive partner hierarchies for parent_id %s of partner: %s', parent_id, dst_partner.id)
|
||||
|
||||
@mute_logger('openerp.osv.expression', 'openerp.osv.orm')
|
||||
def _merge(self, cr, uid, partner_ids, context=None):
|
||||
def _merge(self, cr, uid, partner_ids, dst_partner=None, context=None):
|
||||
proxy = self.pool.get('res.partner')
|
||||
|
||||
partner_ids = proxy.exists(cr, uid, list(partner_ids), context=context)
|
||||
if len(partner_ids) < 2:
|
||||
return
|
||||
|
||||
partners = proxy.browse(cr, uid, list(partner_ids), context=context)
|
||||
ordered_partners = sorted(sorted(partners,
|
||||
key=operator.attrgetter('create_date'), reverse=True),
|
||||
key=operator.attrgetter('active'), reverse=True)
|
||||
if len(partner_ids) > 3:
|
||||
raise osv.except_osv(_('Error'), _("For safety reasons, you cannot merge more than 3 contacts together. You can re-open the wizard several times if needed."))
|
||||
|
||||
dst_partner = ordered_partners[-1]
|
||||
src_partners = ordered_partners[:-1]
|
||||
if openerp.SUPERUSER_ID != uid and len(set(partner.email for partner in proxy.browse(cr, uid, partner_ids, context=context))) > 1:
|
||||
raise osv.except_osv(_('Error'), _("All contacts must have the same email. Only the Administrator can merge contacts with different emails."))
|
||||
|
||||
if dst_partner and dst_partner.id in partner_ids:
|
||||
src_partners = proxy.browse(cr, uid, [id for id in partner_ids if id != dst_partner.id], context=context)
|
||||
else:
|
||||
ordered_partners = self._get_ordered_partner(cr, uid, partner_ids, context)
|
||||
dst_partner = ordered_partners[-1]
|
||||
src_partners = ordered_partners[:-1]
|
||||
_logger.info("dst_partner: %s", dst_partner.id)
|
||||
|
||||
if openerp.SUPERUSER_ID != uid and self._model_is_installed(cr, uid, 'account.move.line', context=context) and \
|
||||
self.pool.get('account.move.line').search(cr, openerp.SUPERUSER_ID, [('partner_id', 'in', [partner.id for partner in src_partners])], context=context):
|
||||
raise osv.except_osv(_('Error'), _("Only the destination contact may be linked to existing Journal Items. Please ask the Administrator if you need to merge several contacts linked to existing Journal Items."))
|
||||
|
||||
call_it = lambda function: function(cr, uid, src_partners, dst_partner,
|
||||
context=context)
|
||||
|
||||
@@ -289,12 +311,12 @@ class MergePartnerAutomatic(osv.TransientModel):
|
||||
call_it(self._update_reference_fields)
|
||||
call_it(self._update_values)
|
||||
|
||||
_logger.info("---merged---")
|
||||
|
||||
_logger.info('(uid = %s) merged the partners %r with %s', uid, list(map(operator.attrgetter('id'), src_partners)), dst_partner.id)
|
||||
dst_partner.message_post(body='%s %s'%(_("Merged with the following partners:"), ", ".join('%s<%s>(ID %s)' % (p.name, p.email or 'n/a', p.id) for p in src_partners)))
|
||||
|
||||
for partner in src_partners:
|
||||
partner.unlink()
|
||||
|
||||
|
||||
def clean_emails(self, cr, uid, context=None):
|
||||
"""
|
||||
Clean the email address of the partner, if there is an email field with
|
||||
@@ -414,9 +436,16 @@ class MergePartnerAutomatic(osv.TransientModel):
|
||||
this = self.browse(cr, uid, ids[0], context=context)
|
||||
if this.current_line_id:
|
||||
this.current_line_id.unlink()
|
||||
return self._next_screen(this)
|
||||
return self._next_screen(cr, uid, this, context)
|
||||
|
||||
def _next_screen(self, this):
|
||||
def _get_ordered_partner(self, cr, uid, partner_ids, context=None):
|
||||
partners = self.pool.get('res.partner').browse(cr, uid, list(partner_ids), context=context)
|
||||
ordered_partners = sorted(sorted(partners,
|
||||
key=operator.attrgetter('create_date'), reverse=True),
|
||||
key=operator.attrgetter('active'), reverse=True)
|
||||
return ordered_partners
|
||||
|
||||
def _next_screen(self, cr, uid, this, context=None):
|
||||
this.refresh()
|
||||
values = {}
|
||||
if this.line_ids:
|
||||
@@ -426,6 +455,7 @@ class MergePartnerAutomatic(osv.TransientModel):
|
||||
values.update({
|
||||
'current_line_id': current_line.id,
|
||||
'partner_ids': [(6, 0, current_partner_ids)],
|
||||
'dst_partner_id': self._get_ordered_partner(cr, uid, current_partner_ids, context)[-1].id,
|
||||
'state': 'selection',
|
||||
})
|
||||
else:
|
||||
@@ -525,7 +555,7 @@ class MergePartnerAutomatic(osv.TransientModel):
|
||||
query = self._generate_query(groups, this.maximum_group)
|
||||
self._process_query(cr, uid, ids, query, context=context)
|
||||
|
||||
return self._next_screen(this)
|
||||
return self._next_screen(cr, uid, this, context)
|
||||
|
||||
def automatic_process_cb(self, cr, uid, ids, context=None):
|
||||
assert is_integer_list(ids)
|
||||
@@ -666,7 +696,7 @@ class MergePartnerAutomatic(osv.TransientModel):
|
||||
# p1.parent_id = p1.id
|
||||
# """)
|
||||
|
||||
return self._next_screen(this)
|
||||
return self._next_screen(cr, uid, this, context)
|
||||
|
||||
def merge_cb(self, cr, uid, ids, context=None):
|
||||
assert is_integer_list(ids)
|
||||
@@ -685,33 +715,12 @@ class MergePartnerAutomatic(osv.TransientModel):
|
||||
'target': 'new',
|
||||
}
|
||||
|
||||
self._merge(cr, uid, partner_ids, context=context)
|
||||
self._merge(cr, uid, partner_ids, this.dst_partner_id, context=context)
|
||||
|
||||
this.current_line_id.unlink()
|
||||
if this.current_line_id:
|
||||
this.current_line_id.unlink()
|
||||
|
||||
return self._next_screen(this)
|
||||
|
||||
def merge_multi(self, cr, uid, ids, context=None):
|
||||
|
||||
active_model = context.get('active_model')
|
||||
if active_model != 'res.partner':
|
||||
raise osv.except_osv(
|
||||
_('Error'),
|
||||
_('This wizard can only used with the Partners')
|
||||
)
|
||||
|
||||
partner_ids = context.get('active_ids', [])
|
||||
|
||||
MINIMAL_NUMBER = 2
|
||||
if len(partner_ids) < MINIMAL_NUMBER:
|
||||
raise osv.except_osv(
|
||||
_('Error'),
|
||||
_("You can't use this wizard with only one Partner")
|
||||
)
|
||||
|
||||
self._merge(cr, uid, partner_ids, context=context)
|
||||
|
||||
return True
|
||||
return self._next_screen(cr, uid, this, context)
|
||||
|
||||
def auto_set_parent_id(self, cr, uid, ids, context=None):
|
||||
assert is_integer_list(ids)
|
||||
|
||||
@@ -68,9 +68,9 @@
|
||||
OpenERP will propose you to merge only those having
|
||||
all these fields in common. (not one of the fields).
|
||||
</p>
|
||||
<group attrs="{'invisible': [('state', 'not in', ('selection', 'finished'))]}">
|
||||
<group attrs="{'invisible': ['|', ('state', 'not in', ('selection', 'finished')), ('number_group', '=', 0)]}">
|
||||
<field name="state" invisible="1" />
|
||||
<field name="number_group" invisible="0" />
|
||||
<field name="number_group"/>
|
||||
</group>
|
||||
<group string="Search duplicates based on duplicated data in"
|
||||
attrs="{'invisible': [('state', 'not in', ('option',))]}">
|
||||
@@ -98,15 +98,15 @@
|
||||
redirected to the aggregated contact. You can remove
|
||||
contacts from this list to avoid merging them.
|
||||
</p>
|
||||
<field name="dst_partner_id" domain="[('id', 'in', partner_ids and partner_ids[0] and partner_ids[0][2] or False)]" attrs="{'required': [('state', '=', 'selection')]}"/>
|
||||
<field name="partner_ids" nolabel="1">
|
||||
<tree string="Partners">
|
||||
<field name="id" />
|
||||
<field name="name" />
|
||||
<field name="display_name" />
|
||||
<field name="email" />
|
||||
<field name="is_company" />
|
||||
<field name="vat" />
|
||||
<field name="country_id" />
|
||||
<field name="parent_id" />
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
@@ -114,24 +114,9 @@
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.server"
|
||||
id="ir_actions_server_merge_automatic">
|
||||
<field name="code">pool.get('base.partner.merge.automatic.wizard').merge_multi(cr, uid, None, context)</field>
|
||||
<field name="condition">True</field>
|
||||
<field name="model_id" ref="base.model_res_partner" />
|
||||
<field name="name">Automatic Merge</field>
|
||||
<field name="sequence" eval="5" />
|
||||
<field name="state">code</field>
|
||||
<field name="type">ir.actions.server</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.values" id="ir_open_merge_automatic">
|
||||
<field name="key2" eval="'client_action_multi'" />
|
||||
<field name="model">res.partner</field>
|
||||
<field name="name">Automatic Merge</field>
|
||||
<field name="value" eval="'ir.actions.server,%d' % ir_actions_server_merge_automatic" />
|
||||
</record>
|
||||
|
||||
<act_window id="action_partner_merge" res_model="base.partner.merge.automatic.wizard" src_model="res.partner"
|
||||
target="new" multi="True" key2="client_action_multi" view_mode="form" name="Automatic Merge"/>
|
||||
|
||||
</data>
|
||||
|
||||
|
||||
+59
-12
@@ -19,13 +19,12 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import base64
|
||||
import time
|
||||
from lxml import etree
|
||||
from datetime import date, datetime
|
||||
from dateutil import relativedelta
|
||||
|
||||
from openerp import tools
|
||||
from openerp.osv import fields
|
||||
from openerp.osv import osv
|
||||
from openerp import tools
|
||||
from openerp.tools.translate import _
|
||||
|
||||
MAX_LEVEL = 15
|
||||
AVAILABLE_STATES = [
|
||||
@@ -106,10 +105,57 @@ class crm_case_section(osv.osv):
|
||||
_inherit = "mail.thread"
|
||||
_description = "Sales Teams"
|
||||
_order = "complete_name"
|
||||
# number of periods for lead/opportunities/... tracking in salesteam kanban dashboard/kanban view
|
||||
_period_number = 5
|
||||
|
||||
def get_full_name(self, cr, uid, ids, field_name, arg, context=None):
|
||||
return dict(self.name_get(cr, uid, ids, context=context))
|
||||
|
||||
def __get_bar_values(self, cr, uid, obj, domain, read_fields, value_field, groupby_field, context=None):
|
||||
""" Generic method to generate data for bar chart values using SparklineBarWidget.
|
||||
This method performs obj.read_group(cr, uid, domain, read_fields, groupby_field).
|
||||
|
||||
:param obj: the target model (i.e. crm_lead)
|
||||
:param domain: the domain applied to the read_group
|
||||
:param list read_fields: the list of fields to read in the read_group
|
||||
:param str value_field: the field used to compute the value of the bar slice
|
||||
:param str groupby_field: the fields used to group
|
||||
|
||||
:return list section_result: a list of dicts: [
|
||||
{ 'value': (int) bar_column_value,
|
||||
'tootip': (str) bar_column_tooltip,
|
||||
}
|
||||
]
|
||||
"""
|
||||
month_begin = date.today().replace(day=1)
|
||||
section_result = [{
|
||||
'value': 0,
|
||||
'tooltip': (month_begin + relativedelta.relativedelta(months=-i)).strftime('%B'),
|
||||
} for i in range(self._period_number - 1, -1, -1)]
|
||||
group_obj = obj.read_group(cr, uid, domain, read_fields, groupby_field, context=context)
|
||||
for group in group_obj:
|
||||
group_begin_date = datetime.strptime(group['__domain'][0][2], tools.DEFAULT_SERVER_DATE_FORMAT)
|
||||
month_delta = relativedelta.relativedelta(month_begin, group_begin_date)
|
||||
section_result[self._period_number - (month_delta.months + 1)] = {'value': group.get(value_field, 0), 'tooltip': group_begin_date.strftime('%B')}
|
||||
return section_result
|
||||
|
||||
def _get_opportunities_data(self, cr, uid, ids, field_name, arg, context=None):
|
||||
""" Get opportunities-related data for salesteam kanban view
|
||||
monthly_open_leads: number of open lead during the last months
|
||||
monthly_planned_revenue: planned revenu of opportunities during the last months
|
||||
"""
|
||||
obj = self.pool.get('crm.lead')
|
||||
res = dict.fromkeys(ids, False)
|
||||
month_begin = date.today().replace(day=1)
|
||||
groupby_begin = (month_begin + relativedelta.relativedelta(months=-4)).strftime(tools.DEFAULT_SERVER_DATE_FORMAT)
|
||||
for id in ids:
|
||||
res[id] = dict()
|
||||
lead_domain = [('type', '=', 'lead'), ('section_id', '=', id), ('create_date', '>=', groupby_begin)]
|
||||
res[id]['monthly_open_leads'] = self.__get_bar_values(cr, uid, obj, lead_domain, ['create_date'], 'create_date_count', 'create_date', context=context)
|
||||
opp_domain = [('type', '=', 'opportunity'), ('section_id', '=', id), ('create_date', '>=', groupby_begin)]
|
||||
res[id]['monthly_planned_revenue'] = self.__get_bar_values(cr, uid, obj, opp_domain, ['planned_revenue', 'create_date'], 'planned_revenue', 'create_date', context=context)
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Sales Team', size=64, required=True, translate=True),
|
||||
'complete_name': fields.function(get_full_name, type='char', size=256, readonly=True, store=True),
|
||||
@@ -129,15 +175,16 @@ class crm_case_section(osv.osv):
|
||||
'alias_id': fields.many2one('mail.alias', 'Alias', ondelete="cascade", required=True,
|
||||
help="The email address associated with this team. New emails received will automatically "
|
||||
"create new leads assigned to the team."),
|
||||
'open_lead_ids': fields.one2many('crm.lead', 'section_id',
|
||||
string='Open Leads', readonly=True,
|
||||
domain=['&', ('type', '!=', 'opportunity'), ('state', 'not in', ['done', 'cancel'])]),
|
||||
'open_opportunity_ids': fields.one2many('crm.lead', 'section_id',
|
||||
string='Open Opportunities', readonly=True,
|
||||
domain=['&', '|', ('type', '=', 'opportunity'), ('type', '=', 'both'), ('state', 'not in', ['done', 'cancel'])]),
|
||||
'color': fields.integer('Color Index'),
|
||||
'use_leads': fields.boolean('Leads',
|
||||
help="This enables the management of leads in the sales team. Otherwise the sales team manages only opportunities."),
|
||||
help="The first contact you get with a potential customer is a lead you qualify before converting it into a real business opportunity. Check this box to manage leads in this sales team."),
|
||||
|
||||
'monthly_open_leads': fields.function(_get_opportunities_data,
|
||||
type="string", readonly=True, multi='_get_opportunities_data',
|
||||
string='Open Leads per Month'),
|
||||
'monthly_planned_revenue': fields.function(_get_opportunities_data,
|
||||
type="string", readonly=True, multi='_get_opportunities_data',
|
||||
string='Planned Revenue per Month')
|
||||
}
|
||||
|
||||
def _get_stage_common(self, cr, uid, context):
|
||||
|
||||
@@ -26,6 +26,7 @@ Description: [[object.description]]
|
||||
<field name="name">Set Auto Reminder on leads which are not open since 5 days.</field>
|
||||
<field name="model_id" ref="model_crm_lead"/>
|
||||
<field name="sequence">1</field>
|
||||
<field name="kind">on_time</field>
|
||||
<field name="filter_id" ref="filter_draft_lead"/>
|
||||
<field name="trg_date_id" ref="field_crm_lead_create_date"/>
|
||||
<field name="trg_date_range">5</field>
|
||||
@@ -54,12 +55,10 @@ object.write({'section_id': sales_team.id})
|
||||
<field name="name">Set Auto Followers on leads which are urgent and come from USA.</field>
|
||||
<field name="model_id" ref="model_crm_lead"/>
|
||||
<field name="sequence">2</field>
|
||||
<field name="kind">on_create</field>
|
||||
<field name="filter_id" ref="filter_usa_lead"/>
|
||||
<field name="act_followers" eval="[(6,0,[ref('base.res_partner_4'), ref('base.res_partner_5'), ref('base.res_partner_6')])]"/>
|
||||
<field name="act_user_id" ref="base.user_root"/>
|
||||
<field name="trg_date_id" ref="field_crm_lead_create_date"/>
|
||||
<field name="trg_date_range">0</field>
|
||||
<field name="trg_date_range_type">minutes</field>
|
||||
<field name="act_followers" eval="[(6,0,[ref('base.res_partner_4'), ref('base.res_partner_5'), ref('base.res_partner_6')])]"/>
|
||||
<field name="server_action_ids" eval="[(6,0,[ref('action_set_team_sales_department')])]"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
@@ -78,12 +78,12 @@
|
||||
<field name="note"/>
|
||||
<field name="alias_id"/>
|
||||
<field name="color"/>
|
||||
<field name="open_lead_ids"/>
|
||||
<field name="open_opportunity_ids"/>
|
||||
<field name="monthly_open_leads"/>
|
||||
<field name="monthly_planned_revenue"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_project oe_kanban_global_click oe_kanban_crm_salesteams">
|
||||
<div class="oe_dropdown_toggle oe_dropdown_kanban" groups="base.group_user">
|
||||
<div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click oe_kanban_crm_salesteams">
|
||||
<div class="oe_dropdown_toggle oe_dropdown_kanban" groups="base.group_sale_manager">
|
||||
<span class="oe_e">í</span>
|
||||
<ul class="oe_dropdown_menu">
|
||||
<li t-if="widget.view.is_action_enabled('edit')"><a type="edit">Sales Teams Settings</a></li>
|
||||
@@ -92,25 +92,19 @@
|
||||
</ul>
|
||||
</div>
|
||||
<div class="oe_kanban_content">
|
||||
<h4><field name="name"/></h4>
|
||||
<div class="oe_kanban_alias" t-if="record.use_leads.raw_value and record.alias_id.value">
|
||||
<span class="oe_e">%%</span><small><field name="alias_id"/></small>
|
||||
<h4 class="oe_center"><field name="name"/></h4>
|
||||
<div class="oe_kanban_alias oe_center" t-if="record.use_leads.raw_value and record.alias_id.value">
|
||||
<small><span class="oe_e" style="float: none;">%%</span><t t-raw="record.alias_id.raw_value[1]"/></small>
|
||||
</div>
|
||||
<div class="oe_items_list">
|
||||
<a t-if="record.use_leads.raw_value" name="%(crm_case_form_view_salesteams_lead)d" type="action">
|
||||
<t t-raw="record.open_lead_ids.raw_value.length"/>
|
||||
<t t-if="record.open_lead_ids.raw_value.length >= 2">Leads</t>
|
||||
<t t-if="record.open_lead_ids.raw_value.length < 2">Lead</t></a>
|
||||
<a name="%(crm_case_form_view_salesteams_opportunity)d" type="action">
|
||||
<t t-raw="record.open_opportunity_ids.raw_value.length"/>
|
||||
<t t-if="record.open_opportunity_ids.raw_value.length >= 2">Opportunities</t>
|
||||
<t t-if="record.open_opportunity_ids.raw_value.length < 2">Opportunity</t></a>
|
||||
</div>
|
||||
<div class="oe_avatars">
|
||||
<img t-if="record.user_id.raw_value" t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-data-member_id="record.user_id.raw_value"/>
|
||||
<t t-foreach="record.member_ids.raw_value.slice(0,11)" t-as="member">
|
||||
<img t-att-src="kanban_image('res.users', 'image_small', member)" t-att-data-member_id="member"/>
|
||||
</t>
|
||||
<div class="oe_salesteams_leads" t-if="record.use_leads.raw_value">
|
||||
<a name="%(crm_case_form_view_salesteams_lead)d" type="action">Leads</a>
|
||||
<a name="%(action_report_crm_lead)d" type="action" class="oe_sparkline_bar_link"><field name="monthly_open_leads" widget="sparkline_bar">Open Leads per Month<br/>Click to see a detailed analysis of leads.</field></a>
|
||||
</div>
|
||||
<div class="oe_salesteams_opportunities">
|
||||
<a name="%(crm_case_form_view_salesteams_opportunity)d" type="action">Opportunities</a>
|
||||
<a name="%(action_report_crm_opportunity)d" type="action"><field name="monthly_planned_revenue" widget="sparkline_bar">Planned Revenue per Month<br/>Click to see a detailed analysis of opportunities.</field></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -120,6 +114,27 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Case Sections Search view -->
|
||||
|
||||
<record id="crm_case_section_salesteams_search" model="ir.ui.view">
|
||||
<field name="name">Case Sections - Search</field>
|
||||
<field name="model">crm.case.section</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Salesteams Search">
|
||||
<field name="name"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="note"/>
|
||||
<field name="code"/>
|
||||
<filter name="personal" string="My Salesteams" domain="['|', ('member_ids', '=', uid), ('user_id', '=', uid)]"/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Team Leader" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Parent Sales Teams" domain="[]" context="{'group_by':'parent_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Case Sections Action -->
|
||||
|
||||
<record id="crm_case_section_salesteams_act" model="ir.actions.act_window">
|
||||
@@ -127,6 +142,7 @@
|
||||
<field name="res_model">crm.case.section</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">kanban,tree,form</field>
|
||||
<field name="context">{'search_default_personal': True}</field>
|
||||
<field name="view_id" ref="crm_case_section_salesteams_view_kanban"/>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
@@ -148,9 +164,9 @@
|
||||
<form string="Sales Team" version="7.0">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name" class="oe_edit_only" string="Project Name"/>
|
||||
<label for="name" class="oe_edit_only" string="Sales team"/>
|
||||
<h1>
|
||||
<field name="name" string="Project Name"/>
|
||||
<field name="name" string="Salesteam"/>
|
||||
</h1>
|
||||
<div name="group_alias"
|
||||
attrs="{'invisible': [('alias_domain', '=', False)]}">
|
||||
@@ -168,25 +184,18 @@
|
||||
</div>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="parent_id"/>
|
||||
<field name="resource_calendar_id"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="user_id"/>
|
||||
<field name="code"/>
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible': [('use_leads', '=', False)]}">
|
||||
|
||||
<group>
|
||||
<field name="parent_id"/>
|
||||
<field name="change_responsible"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Sales Team">
|
||||
<group>
|
||||
<field name="change_responsible"/>
|
||||
</group>
|
||||
<separator string="Team Members"/>
|
||||
<page string="Team Members">
|
||||
<field name="member_ids" widget="many2many_kanban">
|
||||
<kanban quick_create="false" create="true">
|
||||
<field name="name"/>
|
||||
|
||||
@@ -27,9 +27,10 @@
|
||||
</record>
|
||||
|
||||
<record model="crm.case.section" id="section_sales_department">
|
||||
<field name="name">Sales</field>
|
||||
<field name="code">Sales</field>
|
||||
<field name="name">Direct Sales</field>
|
||||
<field name="code">DM</field>
|
||||
<field name="use_leads">True</field>
|
||||
<field name="alias_name">info</field>
|
||||
<field name="member_ids" eval="[(4, ref('base.user_root'))]"/>
|
||||
</record>
|
||||
|
||||
|
||||
+3
-17
@@ -7,27 +7,13 @@
|
||||
</record>
|
||||
|
||||
<record model="crm.case.section" id="crm_case_section_1">
|
||||
<field name="name">Sales Marketing Department</field>
|
||||
<field name="code">SMD</field>
|
||||
<field name="parent_id" ref="crm.section_sales_department"/>
|
||||
<field name="name">Indirect Sales</field>
|
||||
<field name="code">IM</field>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.section" id="crm_case_section_2">
|
||||
<field name="name">Support Department</field>
|
||||
<field name="name">Marketing</field>
|
||||
<field name="code">SPD</field>
|
||||
<field name="parent_id" ref="crm.section_sales_department"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.section" id="crm_case_section_3">
|
||||
<field name="name">Direct Marketing</field>
|
||||
<field name="code">DM</field>
|
||||
<field name="parent_id" ref="crm.section_sales_department"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.section" id="crm_case_section_4">
|
||||
<field name="name">Online Support</field>
|
||||
<field name="code">OS</field>
|
||||
<field name="parent_id" ref="crm.crm_case_section_2"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.segmentation" id="crm_segmentation0">
|
||||
|
||||
@@ -367,8 +367,8 @@ class crm_lead(base_stage, format_address, osv.osv):
|
||||
def on_change_user(self, cr, uid, ids, user_id, context=None):
|
||||
""" When changing the user, also set a section_id or restrict section id
|
||||
to the ones user_id is member of. """
|
||||
section_id = False
|
||||
if user_id:
|
||||
section_id = self._get_default_section_id(cr, uid, context=context) or False
|
||||
if user_id and not section_id:
|
||||
section_ids = self.pool.get('crm.case.section').search(cr, uid, ['|', ('user_id', '=', user_id), ('member_ids', '=', user_id)], context=context)
|
||||
if section_ids:
|
||||
section_id = section_ids[0]
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor6])]"/>
|
||||
<field name="channel_id" ref="crm_case_channel_email"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="section_id" ref="crm_case_section_4"/>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="stage_id" ref="stage_lead1"/>
|
||||
<field name="description">Hello,
|
||||
@@ -44,7 +44,7 @@ Can you send me the details ?</field>
|
||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor2])]"/>
|
||||
<field name="channel_id" ref="crm_case_channel_website"/>
|
||||
<field name="priority">4</field>
|
||||
<field name="section_id" ref="crm_case_section_3"/>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="stage_id" ref="stage_lead1"/>
|
||||
<field eval="1" name="active"/>
|
||||
@@ -63,7 +63,7 @@ Can you send me the details ?</field>
|
||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor4])]"/>
|
||||
<field name="channel_id" ref=""/>
|
||||
<field name="priority">2</field>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="section_id" ref="crm_case_section_1"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="stage_id" ref="stage_lead2"/>
|
||||
<field eval="1" name="active"/>
|
||||
@@ -82,7 +82,7 @@ Can you send me the details ?</field>
|
||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor5])]"/>
|
||||
<field name="channel_id" ref=""/>
|
||||
<field name="priority">3</field>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="section_id" ref="crm_case_section_1"/>
|
||||
<field name="user_id" ref=""/>
|
||||
<field name="stage_id" ref="stage_lead7"/>
|
||||
<field eval="1" name="active"/>
|
||||
@@ -133,7 +133,7 @@ Contact: +1 813 494 5005</field>
|
||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor3,categ_oppor4])]"/>
|
||||
<field name="channel_id" ref=""/>
|
||||
<field name="priority">3</field>
|
||||
<field name="section_id" ref="crm_case_section_4"/>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="stage_id" ref="stage_lead1"/>
|
||||
<field eval="1" name="active"/>
|
||||
@@ -152,7 +152,7 @@ Contact: +1 813 494 5005</field>
|
||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor4])]"/>
|
||||
<field name="channel_id" ref=""/>
|
||||
<field name="priority">5</field>
|
||||
<field name="section_id" ref="crm_case_section_4"/>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="stage_id" ref="stage_lead7"/>
|
||||
<field eval="1" name="active"/>
|
||||
@@ -197,6 +197,9 @@ Contact: +1 813 494 5005</field>
|
||||
<field name="stage_id" ref="stage_lead1"/>
|
||||
<field eval="1" name="active"/>
|
||||
</record>
|
||||
<record id="crm_case_9" model="crm.lead">
|
||||
<field name="create_date" eval="(DateTime.today() - relativedelta(months=1)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
</record>
|
||||
|
||||
<record id="crm_case_10" model="crm.lead">
|
||||
<field name="type">lead</field>
|
||||
@@ -211,7 +214,7 @@ Contact: +1 813 494 5005</field>
|
||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="channel_id" ref="crm_case_channel_email"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="section_id" ref="crm_case_section_3"/>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="user_id" ref=""/>
|
||||
<field name="stage_id" ref="stage_lead1"/>
|
||||
<field name="description">Hi,
|
||||
@@ -235,7 +238,7 @@ Andrew</field>
|
||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor7])]"/>
|
||||
<field name="channel_id" ref="crm_case_channel_direct"/>
|
||||
<field name="priority">3</field>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="section_id" ref="crm_case_section_1"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="stage_id" ref="stage_lead1"/>
|
||||
<field eval="1" name="active"/>
|
||||
@@ -291,7 +294,7 @@ Andrew</field>
|
||||
<field eval="time.strftime('%Y-%m-25')" name="date_deadline"/>
|
||||
<field eval="time.strftime('%Y-%m-12')" name="date_action"/>
|
||||
<field name="title_action">Meeting for pricing information.</field>
|
||||
<field name="section_id" ref="crm_case_section_3"/>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
<field eval="1" name="active"/>
|
||||
@@ -317,7 +320,7 @@ Andrew</field>
|
||||
<field eval="time.strftime('%Y-%m-23')" name="date_deadline"/>
|
||||
<field eval="time.strftime('%Y-%m-10')" name="date_action"/>
|
||||
<field name="title_action">Send Catalogue by Email</field>
|
||||
<field name="section_id" ref="crm_case_section_4"/>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
<field eval="1" name="active"/>
|
||||
@@ -326,7 +329,7 @@ Andrew</field>
|
||||
<record id="crm_case_15" model="crm.lead">
|
||||
<field name="type">opportunity</field>
|
||||
<field name="name">Plan to buy RedHat servers</field>
|
||||
<field eval="35000" name="planned_revenue"/>
|
||||
<field eval="25000" name="planned_revenue"/>
|
||||
<field eval="30.0" name="probability"/>
|
||||
<field name="street">69 rue de Chimay</field>
|
||||
<field name="country_id" ref="base.be"/>
|
||||
@@ -339,10 +342,11 @@ Andrew</field>
|
||||
<field eval="time.strftime('%Y-%m-12')" name="date_deadline"/>
|
||||
<field eval="time.strftime('%Y-%m-10')" name="date_action"/>
|
||||
<field name="title_action">Call to ask system requirement</field>
|
||||
<field name="section_id" ref="crm_case_section_3"/>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="stage_id" ref="crm.stage_lead4"/>
|
||||
<field name="stage_id" ref="crm.stage_lead6"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="date_closed" eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
</record>
|
||||
|
||||
<record id="crm_case_16" model="crm.lead">
|
||||
@@ -367,6 +371,7 @@ Andrew</field>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="stage_id" ref="crm.stage_lead6"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="date_closed" eval="(DateTime.today() - relativedelta(hours=1)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
</record>
|
||||
|
||||
<record id="crm_case_17" model="crm.lead">
|
||||
@@ -388,10 +393,11 @@ Andrew</field>
|
||||
<field eval="time.strftime('%Y-%m-8')" name="date_deadline"/>
|
||||
<field eval="time.strftime('%Y-%m-3')" name="date_action"/>
|
||||
<field name="title_action">Send price list regarding our interventions</field>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="section_id" ref="crm_case_section_1"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
<field name="stage_id" ref="crm.stage_lead6"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="date_closed" eval="(DateTime.today() - relativedelta(hours=1)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
</record>
|
||||
|
||||
<record id="crm_case_18" model="crm.lead">
|
||||
@@ -412,7 +418,7 @@ Andrew</field>
|
||||
<field eval="time.strftime('%Y-%m-13')" name="date_deadline"/>
|
||||
<field eval="time.strftime('%Y-%m-4')" name="date_action"/>
|
||||
<field name="title_action">Call to define real needs about training</field>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="section_id" ref="crm_case_section_1"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
<field eval="1" name="active"/>
|
||||
@@ -438,8 +444,9 @@ Andrew</field>
|
||||
<field name="title_action">Ask for the good receprion of the proposition</field>
|
||||
<field name="section_id" ref="crm_case_section_1"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="stage_id" ref="crm.stage_lead4"/>
|
||||
<field name="stage_id" ref="crm.stage_lead6"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="date_closed" eval="(DateTime.today() - relativedelta(months=3)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
</record>
|
||||
|
||||
<record id="crm_case_20" model="crm.lead">
|
||||
@@ -468,10 +475,11 @@ Andrew</field>
|
||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor7])]"/>
|
||||
<field name="channel_id" ref="crm_case_channel_phone"/>
|
||||
<field name="priority">3</field>
|
||||
<field name="section_id" ref="crm_case_section_4"/>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="stage_id" ref="crm.stage_lead8"/>
|
||||
<field name="stage_id" ref="crm.stage_lead6"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="date_closed" eval="(DateTime.today() - relativedelta(months=1)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
</record>
|
||||
|
||||
<record id="crm_case_22" model="crm.lead">
|
||||
@@ -486,7 +494,7 @@ Andrew</field>
|
||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor3])]"/>
|
||||
<field name="channel_id" ref="crm_case_channel_email"/>
|
||||
<field name="priority">3</field>
|
||||
<field name="section_id" ref="crm_case_section_4"/>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="stage_id" ref="crm.stage_lead8"/>
|
||||
<field eval="1" name="active"/>
|
||||
@@ -504,14 +512,15 @@ Andrew</field>
|
||||
<field name="priority">5</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="stage_id" ref="crm.stage_lead5"/>
|
||||
<field name="stage_id" ref="crm.stage_lead6"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="date_closed" eval="(DateTime.today() - relativedelta(hours=1)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
</record>
|
||||
|
||||
<record id="crm_case_24" model="crm.lead">
|
||||
<field name="type">opportunity</field>
|
||||
<field name="name">Need 20 Days of Consultancy</field>
|
||||
<field eval="5025" name="planned_revenue"/>
|
||||
<field eval="6025" name="planned_revenue"/>
|
||||
<field eval="90.0" name="probability"/>
|
||||
<field name="email_from">info@mycompany.net</field>
|
||||
<field name="country_id" ref="base.pe"/>
|
||||
@@ -525,6 +534,7 @@ Andrew</field>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="stage_id" ref="crm.stage_lead6"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="date_closed" eval="(DateTime.today() - relativedelta(month=1)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
</record>
|
||||
|
||||
<record id="crm_case_25" model="crm.lead">
|
||||
@@ -544,7 +554,7 @@ Andrew</field>
|
||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor4])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="title_action">Conf call with technical service</field>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="section_id" ref="crm_case_section_1"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="stage_id" ref="crm.stage_lead4"/>
|
||||
<field eval="1" name="active"/>
|
||||
@@ -569,10 +579,11 @@ Andrew</field>
|
||||
<field eval="time.strftime('%Y-%m-23')" name="date_deadline"/>
|
||||
<field eval="time.strftime('%Y-%m-10')" name="date_action"/>
|
||||
<field name="title_action">Send Catalogue by Email</field>
|
||||
<field name="section_id" ref="crm_case_section_4"/>
|
||||
<field name="section_id" ref="crm_case_section_2"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
<field name="stage_id" ref="crm.stage_lead6"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="date_closed" eval="(DateTime.today() - relativedelta(hours=1)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
</record>
|
||||
|
||||
<!-- Unsubscribe Admin from case15, subscribe Demo -->
|
||||
|
||||
@@ -157,7 +157,8 @@
|
||||
<label for="section_id" groups="base.group_multi_salesteams"/>
|
||||
<div groups="base.group_multi_salesteams">
|
||||
<field name="section_id"/>
|
||||
<button name="case_escalate" string="Escalate" type="object"
|
||||
<button name="case_escalate" string="Escalate"
|
||||
type="object" class="oe_link"
|
||||
attrs="{'invisible': ['|', ('section_id','=',False), ('state', 'not in', ['draft','open','pending'])]}"/>
|
||||
</div>
|
||||
<field name="type" invisible="1"/>
|
||||
@@ -343,7 +344,7 @@
|
||||
help="Leads that are assigned to me"/>
|
||||
<filter string="Assigned to My Team(s)"
|
||||
domain="[('section_id.member_ids', 'in', [uid])]" context="{'invisible_section': False}"
|
||||
help="Leads that are assigned to any sales teams I am member of"/>
|
||||
help="Leads that are assigned to any sales teams I am member of" groups="base.group_multi_salesteams"/>
|
||||
<separator />
|
||||
<filter string="Available for mass mailing"
|
||||
name='not_opt_out' domain="[('opt_out', '=', False)]"
|
||||
@@ -351,7 +352,7 @@
|
||||
<separator />
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Salesperson" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Team" domain="[]" context="{'group_by':'section_id'}"/>
|
||||
<filter string="Team" domain="[]" context="{'group_by':'section_id'}" groups="base.group_multi_salesteams"/>
|
||||
<filter string="Stage" domain="[]" context="{'group_by':'stage_id'}"/>
|
||||
<filter string="Customer" help="Partner" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Country" domain="[]" context="{'group_by':'country_id'}"/>
|
||||
@@ -362,7 +363,7 @@
|
||||
</group>
|
||||
<group string="Display">
|
||||
<filter string="Show Countries" context="{'invisible_country': False}" help="Show Countries"/>
|
||||
<filter string="Show Sales Team" context="{'invisible_section': False}" domain="[]" help="Show Sales Team"/>
|
||||
<filter string="Show Sales Team" context="{'invisible_section': False}" domain="[]" help="Show Sales Team" groups="base.group_multi_salesteams"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
@@ -556,7 +557,7 @@
|
||||
<filter string="Lost" name="lost" domain="[('state','=','cancel')]"/>
|
||||
<filter string="Unassigned" name="unassigned" domain="[('user_id','=', False)]" help="No salesperson"/>
|
||||
<filter string="Unread Messages" name="message_unread" domain="[('message_unread','=',True)]" help="Unread messages"/>
|
||||
<filter string="Mine" name="assigned_to_me"
|
||||
<filter string="My Opportunities" name="assigned_to_me"
|
||||
domain="[('user_id','=',uid)]" context="{'invisible_section': False}"
|
||||
help="Opportunities that are assigned to me"/>
|
||||
<filter string="Assigned to My Team(s)"
|
||||
@@ -577,7 +578,7 @@
|
||||
<filter string="Creation" domain="[]" context="{'group_by':'create_date'}"/>
|
||||
</group>
|
||||
<group string="Display">
|
||||
<filter string="Show Sales Team" context="{'invisible_section': False}" domain="[]" help="Show Sales Team"/>
|
||||
<filter string="Show Sales Team" context="{'invisible_section': False}" domain="[]" help="Show Sales Team" groups="base.group_multi_salesteams"/>
|
||||
<filter string="Show Countries" context="{'invisible_country': False}" help="Show Countries"/>
|
||||
</group>
|
||||
</search>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<field name="name">Ask for convenient time of meeting</field>
|
||||
<field name="state">open</field>
|
||||
<field name="partner_phone">+1 786 525 0724</field>
|
||||
<field name="section_id" ref="crm.crm_case_section_3"/>
|
||||
<field name="section_id" ref="crm.crm_case_section_2"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="crm.categ_phone2"/>
|
||||
<field eval="5.0" name="duration"/>
|
||||
@@ -50,7 +50,7 @@
|
||||
<field name="state">done</field>
|
||||
<field name="partner_phone">(077) 582-4035</field>
|
||||
<field name="partner_mobile">(077) 341-3591</field>
|
||||
<field name="section_id" ref="crm.crm_case_section_4"/>
|
||||
<field name="section_id" ref="crm.crm_case_section_2"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="crm.categ_phone1"/>
|
||||
<field eval="5.45" name="duration"/>
|
||||
@@ -74,7 +74,7 @@
|
||||
<field name="name">Proposal for discount offer</field>
|
||||
<field name="state">open</field>
|
||||
<field name="partner_phone">+34 230 953 485</field>
|
||||
<field name="section_id" ref="crm.crm_case_section_3"/>
|
||||
<field name="section_id" ref="crm.crm_case_section_2"/>
|
||||
<field eval="time.strftime('%Y-%m-28 14:15:30')" name="date"/>
|
||||
<field name="categ_id" ref="crm.categ_phone2"/>
|
||||
<field eval="8.56" name="duration"/>
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
<field name="type"/>
|
||||
<field name="on_change"/>
|
||||
<field name="sequence"/>
|
||||
<field name="case_default"/>
|
||||
<field name="case_default" groups="base.group_multi_salesteams"/>
|
||||
<field name="fold"/>
|
||||
</group>
|
||||
<separator string="Requirements"/>
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
<a href="https://www.openerp.com/saas_master/demo?lang=en_US&module=crm">
|
||||
<img src="crm_sc_01.png">
|
||||
</a>
|
||||
<span class="oe_demo_play"> </span>
|
||||
<div class="oe_demo_footer oe_centeralign">Online Demo</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+28
-23
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2013-05-27 12:19+0000\n"
|
||||
"Last-Translator: leksei <lirgus@gmail.com>\n"
|
||||
"PO-Revision-Date: 2013-05-30 13:52+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: 2013-05-28 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16640)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-31 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
@@ -1108,7 +1108,7 @@ msgstr "Удалить"
|
||||
#. module: crm
|
||||
#: model:mail.message.subtype,description:crm.mt_lead_create
|
||||
msgid "Opportunity created"
|
||||
msgstr ""
|
||||
msgstr "Предложение создано"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
@@ -1397,7 +1397,7 @@ msgstr "Сделать"
|
||||
#. module: crm
|
||||
#: model:mail.message.subtype,description:crm.mt_lead_lost
|
||||
msgid "Opportunity lost"
|
||||
msgstr ""
|
||||
msgstr "Предложение отклонено"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead2opportunity.partner,action:0
|
||||
@@ -1446,7 +1446,7 @@ msgstr "Пользователи"
|
||||
#. module: crm
|
||||
#: model:mail.message.subtype,name:crm.mt_lead_stage
|
||||
msgid "Stage Changed"
|
||||
msgstr ""
|
||||
msgstr "Стадия изменена"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.stage,section_ids:0
|
||||
@@ -1759,7 +1759,7 @@ msgstr "Способ оплаты"
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_lead2opportunity_partner_mass
|
||||
msgid "Mass Lead To Opportunity Partner"
|
||||
msgstr "Массовое проведение предложений партнёру"
|
||||
msgstr "Массовое преобразование кандидатов в предложения"
|
||||
|
||||
#. module: crm
|
||||
#: view:sale.config.settings:0
|
||||
@@ -1917,7 +1917,7 @@ msgstr "Сделать"
|
||||
#: model:mail.message.subtype,name:crm.mt_lead_convert_to_opportunity
|
||||
#: model:mail.message.subtype,name:crm.mt_salesteam_lead_opportunity
|
||||
msgid "Lead to Opportunity"
|
||||
msgstr ""
|
||||
msgstr "Кандидат в предложение"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,user_email:0
|
||||
@@ -2126,7 +2126,7 @@ msgstr ""
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Address"
|
||||
msgstr ""
|
||||
msgstr "Адрес"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.section,alias_id:0
|
||||
@@ -2134,6 +2134,8 @@ msgid ""
|
||||
"The email address associated with this team. New emails received will "
|
||||
"automatically create new leads assigned to the team."
|
||||
msgstr ""
|
||||
"Адрес эл. почты связанный с этой командой. Новая полученная эл. почта будет "
|
||||
"автоматически создавать новые кандидаты связанные с командой."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
@@ -2192,7 +2194,7 @@ msgstr "Продолжение процесса"
|
||||
#: selection:crm.lead2opportunity.partner.mass,name:0
|
||||
#: model:ir.actions.act_window,name:crm.action_crm_lead2opportunity_partner
|
||||
msgid "Convert to opportunity"
|
||||
msgstr "Преобразовать в возможность"
|
||||
msgstr "Преобразовать в предложение"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.opportunity2phonecall,user_id:0
|
||||
@@ -2234,6 +2236,8 @@ msgid ""
|
||||
"This stage is not visible, for example in status bar or kanban view, when "
|
||||
"there are no records in that stage to display."
|
||||
msgstr ""
|
||||
"Эта стадия не видима, например в статус-баре или виде канбан, когда нет "
|
||||
"записей этой стадии для отображения."
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead.report,nbr:0
|
||||
@@ -2249,7 +2253,7 @@ msgstr "Отдел продаж, которому принадлежит воп
|
||||
#. module: crm
|
||||
#: model:crm.case.resource.type,name:crm.type_lead6
|
||||
msgid "Banner Ads"
|
||||
msgstr ""
|
||||
msgstr "Баннер"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.merge.opportunity,opportunity_ids:0
|
||||
@@ -2279,7 +2283,7 @@ msgstr "Выполняется"
|
||||
#. module: crm
|
||||
#: model:mail.message.subtype,description:crm.mt_lead_convert_to_opportunity
|
||||
msgid "Lead converted into an opportunity"
|
||||
msgstr ""
|
||||
msgstr "Кандидат превращенный в предложение"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
@@ -2289,7 +2293,7 @@ msgstr "Нераспределенные кандидаты"
|
||||
#. module: crm
|
||||
#: model:mail.message.subtype,description:crm.mt_lead_won
|
||||
msgid "Opportunity won"
|
||||
msgstr ""
|
||||
msgstr "Предложение принято"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.categ,object_id:0
|
||||
@@ -2364,7 +2368,7 @@ msgstr ""
|
||||
#. module: crm
|
||||
#: field:crm.case.stage,state:0
|
||||
msgid "Related Status"
|
||||
msgstr ""
|
||||
msgstr "Связанный статус"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.phonecall,name:0
|
||||
@@ -2410,7 +2414,7 @@ msgstr "Подтвердить"
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Unread messages"
|
||||
msgstr ""
|
||||
msgstr "Непрочитанные сообщения"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.phonecall.report,section_id:0
|
||||
@@ -2501,7 +2505,7 @@ msgstr "Создание предложений из кандидатов"
|
||||
#. module: crm
|
||||
#: model:crm.case.resource.type,name:crm.type_lead3
|
||||
msgid "Email Campaign - Products"
|
||||
msgstr ""
|
||||
msgstr "Кампания эл. почты - Продукция"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.act_window,help:crm.crm_case_categ_phone_incoming0
|
||||
@@ -2578,7 +2582,7 @@ msgstr "Август"
|
||||
#: model:mail.message.subtype,name:crm.mt_lead_lost
|
||||
#: model:mail.message.subtype,name:crm.mt_salesteam_lead_lost
|
||||
msgid "Opportunity Lost"
|
||||
msgstr ""
|
||||
msgstr "Предложение отклонено"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead.report,deadline_month:0
|
||||
@@ -2644,7 +2648,7 @@ msgstr "Сотрудники отдела"
|
||||
#: view:crm.opportunity2phonecall:0
|
||||
#: view:crm.phonecall2phonecall:0
|
||||
msgid "Schedule/Log a Call"
|
||||
msgstr ""
|
||||
msgstr "Запланировать/Описать звонок"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead,planned_cost:0
|
||||
@@ -2654,7 +2658,7 @@ msgstr "Планируемые затраты"
|
||||
#. module: crm
|
||||
#: help:crm.lead,date_deadline:0
|
||||
msgid "Estimate of the date on which the opportunity will be won."
|
||||
msgstr ""
|
||||
msgstr "Оценка даты на которую это предложение будет принято."
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.lead,email_cc:0
|
||||
@@ -2676,7 +2680,7 @@ msgstr "Описанные звонки"
|
||||
#: model:mail.message.subtype,name:crm.mt_lead_won
|
||||
#: model:mail.message.subtype,name:crm.mt_salesteam_lead_won
|
||||
msgid "Opportunity Won"
|
||||
msgstr ""
|
||||
msgstr "Предложение принято"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.act_window,name:crm.crm_case_section_act_tree
|
||||
@@ -2895,7 +2899,7 @@ msgstr ""
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Internal Notes"
|
||||
msgstr ""
|
||||
msgstr "Внутренние заметки"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
@@ -2960,6 +2964,7 @@ msgstr "Проиграно"
|
||||
#, python-format
|
||||
msgid "Closed/Cancelled leads cannot be converted into opportunities."
|
||||
msgstr ""
|
||||
"Закрытые/Отмененные кандидаты не могут быть конвертированы в возможности."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
@@ -3050,7 +3055,7 @@ msgstr "Рассылка"
|
||||
#. module: crm
|
||||
#: model:mail.message.subtype,name:crm.mt_salesteam_lead_stage
|
||||
msgid "Opportunity Stage Changed"
|
||||
msgstr ""
|
||||
msgstr "Этап предложения изменен"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.act_window,help:crm.crm_lead_stage_act
|
||||
|
||||
@@ -60,24 +60,24 @@
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Prospect Opportunity"""" name="name"/>
|
||||
<field eval=""""Creating business opportunities from Leads"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_opportunities0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_leads0"/>
|
||||
<field name="target_node_id" ref="process_node_opportunities0"/>
|
||||
<field name="source_node_id" ref="process_node_leads0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_leadpartner0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Prospect Partner"""" name="name"/>
|
||||
<field eval=""""Prospect is converting to business partner"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_partner0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_leads0"/>
|
||||
<field name="target_node_id" ref="process_node_partner0"/>
|
||||
<field name="source_node_id" ref="process_node_leads0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_opportunitymeeting0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Opportunity Meeting"""" name="name"/>
|
||||
<field eval=""""Normal or phone meeting for opportunity"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_meeting0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_opportunities0"/>
|
||||
<field name="target_node_id" ref="process_node_meeting0"/>
|
||||
<field name="source_node_id" ref="process_node_opportunities0"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
<filter icon="terp-dialog-close" string="Closed" domain="[('state','=','done')]" help="Leads/Opportunities which are in done state"/>
|
||||
<separator/>
|
||||
<filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]"
|
||||
help="Leads/Opportunities that are assigned to one of the sale teams I manage"/>
|
||||
help="Leads/Opportunities that are assigned to one of the sale teams I manage" groups="base.group_multi_salesteams"/>
|
||||
<separator/>
|
||||
<filter icon="terp-personal" string="My Case(s)" help="Leads/Opportunities that are assigned to me" domain="[('user_id','=',uid)]"/>
|
||||
<field name="section_id" context="{'invisible_section': False}"
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
help="Phone calls which are in pending state"/>
|
||||
<separator/>
|
||||
<filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]"
|
||||
help="Phone calls that are assigned to one of the sale teams I manage"/>
|
||||
help="Phone calls that are assigned to one of the sale teams I manage" groups="base.group_multi_salesteams"/>
|
||||
<separator/>
|
||||
<filter icon="terp-personal" string="My Phone Calls" help="Phone Calls that are assigned to me" domain="[('user_id','=',uid)]" />
|
||||
<field name="section_id" string="Sales Team" context="{'invisible_section': False}"
|
||||
|
||||
@@ -22,9 +22,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</group>
|
||||
<separator string="Sales Teams Configuration"/>
|
||||
<separator string="Sales Teams"/>
|
||||
<group>
|
||||
<label for="id" string="Use Sales Teams"/>
|
||||
<label for="id" string="Manage Sales Teams"/>
|
||||
<div>
|
||||
<field name="group_multi_salesteams" class="oe_inline"/>
|
||||
<label for="group_multi_salesteams"/>
|
||||
|
||||
@@ -12,7 +12,7 @@ access_crm_phonecall_manager,crm.phonecall.manager,model_crm_phonecall,base.grou
|
||||
access_crm_case_categ,crm.case.categ,model_crm_case_categ,base.group_user,1,0,0,0
|
||||
access_crm_lead,crm.lead,model_crm_lead,base.group_sale_salesman,1,1,1,0
|
||||
access_crm_phonecall,crm.phonecall,model_crm_phonecall,base.group_sale_salesman,1,1,1,0
|
||||
access_crm_case_section_user,crm.case.section.user,model_crm_case_section,base.group_sale_salesman,1,1,1,0
|
||||
access_crm_case_section_user,crm.case.section.user,model_crm_case_section,base.group_sale_salesman,1,0,0,0
|
||||
access_crm_case_section_manager,crm.case.section.manager,model_crm_case_section,base.group_sale_manager,1,1,1,1
|
||||
access_crm_case_stage,crm.case.stage,model_crm_case_stage,,1,0,0,0
|
||||
access_crm_case_stage_manager,crm.case.stage,model_crm_case_stage,base.group_sale_manager,1,1,1,1
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -20,15 +20,27 @@
|
||||
}
|
||||
|
||||
.openerp .oe_kanban_view .oe_kanban_crm_salesteams .oe_items_list {
|
||||
margin: 10px 0;
|
||||
position: relative;
|
||||
margin: 10px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_crm_salesteams .oe_items_list a {
|
||||
width: 110px;
|
||||
.openerp .oe_kanban_view .oe_kanban_crm_salesteams .oe_items_list div {
|
||||
width: 160px;
|
||||
height: 22px;
|
||||
margin: 0 !important;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_crm_salesteams .oe_items_list a:hover {
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_crm_salesteams .oe_items_list div a:nth-child(2n) {
|
||||
position: absolute;
|
||||
left: 90px;
|
||||
top: 0;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_crm_salesteams .oe_items_list div:nth-child(2n) a:nth-child(2n) {
|
||||
left: 110px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_crm_salesteams .oe_center {
|
||||
text-align: center;
|
||||
margin: 3px 0;
|
||||
@@ -40,3 +52,13 @@
|
||||
.openerp .oe_kanban_view .oe_kanban_crm_salesteams .oe_center .oe_subsum {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.openerp .oe_kanban_view .oe_justgage {
|
||||
color: black;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.openerp .oe_kanban_view .oe_sparkline_bar {
|
||||
height: 20px;
|
||||
width: 36px;
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
openerp.crm = function(openerp) {
|
||||
openerp.web_kanban.KanbanRecord.include({
|
||||
on_card_clicked: function() {
|
||||
if (this.view.dataset.model === 'crm.case.section') {
|
||||
this.$('.oe_kanban_crm_salesteams_list a').first().click();
|
||||
} else {
|
||||
this._super.apply(this, arguments);
|
||||
}
|
||||
},
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,34 @@
|
||||
openerp.crm = function(openerp) {
|
||||
openerp.web_kanban.KanbanRecord.include({
|
||||
on_card_clicked: function() {
|
||||
if (this.view.dataset.model === 'crm.case.section') {
|
||||
this.$('.oe_kanban_crm_salesteams_list a').first().click();
|
||||
} else {
|
||||
this._super.apply(this, arguments);
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
openerp.crm.SparklineBarWidget = openerp.web_kanban.AbstractField.extend({
|
||||
className: "oe_sparkline_bar",
|
||||
start: function() {
|
||||
var self = this;
|
||||
var title = this.$node.html();
|
||||
setTimeout(function () {
|
||||
var value = _.pluck(self.field.value, 'value');
|
||||
var tooltips = _.pluck(self.field.value, 'tooltip');
|
||||
self.$el.sparkline(value, {
|
||||
type: 'bar',
|
||||
barWidth: 5,
|
||||
tooltipFormat: '{{offset:offset}} {{value}}',
|
||||
tooltipValueLookups: {
|
||||
'offset': tooltips
|
||||
},
|
||||
});
|
||||
self.$el.tipsy({'delayIn': 0, 'html': true, 'title': function(){return title}, 'gravity': 'n'});
|
||||
}, 0);
|
||||
},
|
||||
});
|
||||
openerp.web_kanban.fields_registry.add("sparkline_bar", "openerp.crm.SparklineBarWidget");
|
||||
|
||||
};
|
||||
@@ -1,7 +1,9 @@
|
||||
-
|
||||
I cancel unqualified lead.
|
||||
I set a new sale team (with Marketing at parent) and I cancel unqualified lead .
|
||||
-
|
||||
!python {model: crm.lead}: |
|
||||
section_id = self.pool.get('crm.case.section').create(cr, uid, {'name': "Phone Marketing", 'parent_id': ref("crm.crm_case_section_2")})
|
||||
self.write(cr, uid, [ref("crm_case_1")], {'section_id': section_id})
|
||||
self.case_cancel(cr, uid, [ref("crm_case_1")])
|
||||
-
|
||||
I check cancelled lead.
|
||||
@@ -42,4 +44,4 @@
|
||||
I check the lead is correctly escalated to the parent team.
|
||||
-
|
||||
!assert {model: crm.lead, id: crm.crm_case_1, string: Escalate lead to parent team}:
|
||||
- section_id.name == "Support Department"
|
||||
- section_id.name == "Marketing"
|
||||
|
||||
+42
-28
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2012-10-24 05:01+0000\n"
|
||||
"PO-Revision-Date: 2013-05-30 14:03+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: 2013-03-16 05:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-31 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim.stage,fold:0
|
||||
@@ -23,6 +23,8 @@ msgid ""
|
||||
"This stage is not visible, for example in status bar or kanban view, when "
|
||||
"there are no records in that stage to display."
|
||||
msgstr ""
|
||||
"Эта стадия не видима, например в статус-баре или виде канбан, когда нет "
|
||||
"записей этой стадии для отображения."
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,nbr:0
|
||||
@@ -46,11 +48,13 @@ msgid ""
|
||||
"Allows you to configure your incoming mail server, and create claims from "
|
||||
"incoming emails."
|
||||
msgstr ""
|
||||
"Позволяет настроить сервер входящей почты и создавать претензии из входящих "
|
||||
"эл. писем."
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.model,name:crm_claim.model_crm_claim_stage
|
||||
msgid "Claim stages"
|
||||
msgstr ""
|
||||
msgstr "Этапы претензии"
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
@@ -65,7 +69,7 @@ msgstr "Задержка закрытия"
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,message_unread:0
|
||||
msgid "Unread Messages"
|
||||
msgstr ""
|
||||
msgstr "Непрочитанные"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,resolution:0
|
||||
@@ -100,12 +104,12 @@ msgstr "# претензий"
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.stage,name:0
|
||||
msgid "Stage Name"
|
||||
msgstr ""
|
||||
msgstr "Название этапа"
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Salesperson"
|
||||
msgstr ""
|
||||
msgstr "Продавец"
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim,priority:0
|
||||
@@ -149,7 +153,7 @@ msgstr "Предупредительная мера"
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim,message_unread:0
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr ""
|
||||
msgstr "Если отмечено, новые сообщения требуют вашего внимания."
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,date_closed:0
|
||||
@@ -182,6 +186,8 @@ msgid ""
|
||||
"Holds the Chatter summary (number of messages, ...). This summary is "
|
||||
"directly in html format in order to be inserted in kanban views."
|
||||
msgstr ""
|
||||
"Содержит сводку по Чаттеру (количество сообщений,...). Эта сводка в формате "
|
||||
"html для возможности использования в канбан виде"
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
@@ -235,12 +241,12 @@ msgstr "Важность"
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.stage,fold:0
|
||||
msgid "Hide in Views when Empty"
|
||||
msgstr ""
|
||||
msgstr "Скрыть вид, если пусто"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
msgstr "Подписчики"
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
@@ -254,7 +260,7 @@ msgstr "Новый"
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.stage,section_ids:0
|
||||
msgid "Sections"
|
||||
msgstr ""
|
||||
msgstr "Секции"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,email_from:0
|
||||
@@ -290,7 +296,7 @@ msgstr "Предмет претензии"
|
||||
#. module: crm_claim
|
||||
#: model:crm.claim.stage,name:crm_claim.stage_claim3
|
||||
msgid "Rejected"
|
||||
msgstr ""
|
||||
msgstr "Отклонено"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,date_action_next:0
|
||||
@@ -344,7 +350,7 @@ msgstr ""
|
||||
#: code:addons/crm_claim/crm_claim.py:194
|
||||
#, python-format
|
||||
msgid "No Subject"
|
||||
msgstr ""
|
||||
msgstr "Без темы"
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim.stage,state:0
|
||||
@@ -358,7 +364,7 @@ msgstr ""
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Settle"
|
||||
msgstr ""
|
||||
msgstr "Решать"
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.ui.menu,name:crm_claim.menu_claim_stage_view
|
||||
@@ -384,7 +390,7 @@ msgstr "Отчет о претензиях"
|
||||
#. module: crm_claim
|
||||
#: view:sale.config.settings:0
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
msgstr "Настроить"
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:crm.case.resource.type,name:crm_claim.type_claim1
|
||||
@@ -430,6 +436,8 @@ msgid ""
|
||||
"If you check this field, this stage will be proposed by default on each "
|
||||
"sales team. It will not assign this stage to existing teams."
|
||||
msgstr ""
|
||||
"Если вы отметите это поле, этот этап будет предложен по умолчанию каждому "
|
||||
"отделу продаж. Этот этап не будет назначен существующим отделам."
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,categ_id:0
|
||||
@@ -485,7 +493,7 @@ msgstr "Закрыто"
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
msgstr "Отклонить"
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:res.partner:0
|
||||
@@ -495,7 +503,7 @@ msgstr "Претензии партнера"
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.stage:0
|
||||
msgid "Claim Stage"
|
||||
msgstr ""
|
||||
msgstr "Этап претензии"
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
@@ -513,7 +521,7 @@ msgstr "Отложено"
|
||||
#: field:crm.claim.report,state:0
|
||||
#: field:crm.claim.stage,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Статус"
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
@@ -529,7 +537,7 @@ msgstr "Обычный"
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim.stage,sequence:0
|
||||
msgid "Used to order stages. Lower is better."
|
||||
msgstr ""
|
||||
msgstr "Используется для упорядочивания этапов. Меньше - лучше."
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
@@ -549,7 +557,7 @@ msgstr "Телефон"
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr ""
|
||||
msgstr "Подписан"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,user_id:0
|
||||
@@ -581,6 +589,10 @@ msgid ""
|
||||
"the case needs to be reviewed then the status is set "
|
||||
"to 'Pending'."
|
||||
msgstr ""
|
||||
"Статус устанавливается в \"Черновик\", при создании дела. Если дело в "
|
||||
"процессе, то статус - «Открыт». Когда дело закончено, устанавливается статус "
|
||||
"\"Готово\". Если дело должно быть пересмотрено то статус установлен в "
|
||||
"'Ожидание'."
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,active:0
|
||||
@@ -628,7 +640,7 @@ msgstr "Дата претензии"
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,message_summary:0
|
||||
msgid "Summary"
|
||||
msgstr ""
|
||||
msgstr "Итог"
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.actions.act_window,name:crm_claim.crm_claim_categ_action
|
||||
@@ -638,7 +650,7 @@ msgstr "Категории претензий"
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.stage,case_default:0
|
||||
msgid "Common to All Teams"
|
||||
msgstr ""
|
||||
msgstr "Общее для всех отделов"
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
@@ -677,7 +689,7 @@ msgstr "Претензия"
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "My Company"
|
||||
msgstr ""
|
||||
msgstr "Моя компания"
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
@@ -807,7 +819,7 @@ msgstr "Февраль"
|
||||
#. module: crm_claim
|
||||
#: model:ir.model,name:crm_claim.model_sale_config_settings
|
||||
msgid "sale.config.settings"
|
||||
msgstr ""
|
||||
msgstr "sale.config.settings"
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
@@ -833,22 +845,22 @@ msgstr "Мои дела"
|
||||
#. module: crm_claim
|
||||
#: model:crm.claim.stage,name:crm_claim.stage_claim2
|
||||
msgid "Settled"
|
||||
msgstr ""
|
||||
msgstr "Решено"
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim,message_ids:0
|
||||
msgid "Messages and communication history"
|
||||
msgstr ""
|
||||
msgstr "Сообщения и история общения"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:sale.config.settings,fetchmail_claim:0
|
||||
msgid "Create claims from incoming mails"
|
||||
msgstr ""
|
||||
msgstr "Создать претензии из входящей почты"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.stage,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
msgstr "Нумерация"
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
@@ -883,6 +895,8 @@ msgid ""
|
||||
"Link between stages and sales teams. When set, this limitate the current "
|
||||
"stage to the selected sales teams."
|
||||
msgstr ""
|
||||
"Связь между этапами и отделами продаж. При установке, ограничивает этап для "
|
||||
"выбранного отдела продаж."
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim.stage,case_refused:0
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
<filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]"/>
|
||||
<filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]"/>
|
||||
<separator/>
|
||||
<filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]" help="My Sales Team(s)" />
|
||||
<filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]" help="My Sales Team(s)" groups="base.group_multi_salesteams"/>
|
||||
<separator/>
|
||||
<filter string="My Company" icon="terp-go-home" context="{'invisible_section': False}" domain="[('section_id.user_id.company_id','=',uid)]" help="My company"/>
|
||||
<separator/>
|
||||
@@ -78,7 +78,7 @@
|
||||
</group>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Salesperson" name="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
|
||||
<filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" />
|
||||
<filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" groups="base.group_multi_salesteams"/>
|
||||
<filter string="Partner" name="partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" />
|
||||
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}" />
|
||||
<filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
|
||||
|
||||
@@ -151,14 +151,14 @@
|
||||
<filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="All pending Helpdesk Request" />
|
||||
<separator/>
|
||||
<filter string="Assigned to Me or My Sales Team(s)" icon="terp-personal+" domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
|
||||
help="Helpdesk requests that are assigned to me or to one of the sale teams I manage" />
|
||||
help="Helpdesk requests that are assigned to me or to one of the sale teams I manage" groups="base.group_multi_salesteams"/>
|
||||
<field name="partner_id" filter_domain="[('partner_id','child_of',self)]"/>
|
||||
<field name="user_id"/>
|
||||
<field name="section_id" string="Sales Team" groups="base.group_multi_salesteams"/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Partner" icon="terp-partner" domain="[]" help="Partner" context="{'group_by':'partner_id'}" />
|
||||
<filter string="Responsible" icon="terp-personal" domain="[]" help="Responsible User" context="{'group_by':'user_id'}" />
|
||||
<filter string="Sales Team" icon="terp-personal+" domain="[]" help="Sales Team" context="{'group_by':'section_id'}" />
|
||||
<filter string="Sales Team" icon="terp-personal+" domain="[]" help="Sales Team" context="{'group_by':'section_id'}" groups="base.group_multi_salesteams"/>
|
||||
<filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
|
||||
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" />
|
||||
<filter string="Date" icon="terp-go-month" domain="[]" help="Request Date" context="{'group_by':'date'}" />
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2012-10-24 05:08+0000\n"
|
||||
"PO-Revision-Date: 2013-05-30 14:09+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: 2013-03-16 05:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-31 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk.report,delay_close:0
|
||||
@@ -46,7 +46,7 @@ msgstr "Март"
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,message_unread:0
|
||||
msgid "Unread Messages"
|
||||
msgstr ""
|
||||
msgstr "Непрочитанные"
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,company_id:0
|
||||
@@ -63,7 +63,7 @@ msgstr "Адреса наблюдателей"
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "Salesperson"
|
||||
msgstr ""
|
||||
msgstr "Продавец"
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk,priority:0
|
||||
@@ -106,7 +106,7 @@ msgstr "Отменено"
|
||||
#. module: crm_helpdesk
|
||||
#: help:crm.helpdesk,message_unread:0
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr ""
|
||||
msgstr "Если отмечено, новые сообщения требуют вашего внимания."
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: model:ir.actions.act_window,name:crm_helpdesk.action_report_crm_helpdesk
|
||||
@@ -136,6 +136,8 @@ msgid ""
|
||||
"Holds the Chatter summary (number of messages, ...). This summary is "
|
||||
"directly in html format in order to be inserted in kanban views."
|
||||
msgstr ""
|
||||
"Содержит сводку по Чаттеру (количество сообщений,...). Эта сводка в формате "
|
||||
"html для возможности использования в канбан виде"
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
@@ -176,7 +178,7 @@ msgstr "Приоритет"
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
msgstr "Подписчики"
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
@@ -400,7 +402,7 @@ msgstr "В ожидании"
|
||||
#: view:crm.helpdesk.report:0
|
||||
#: field:crm.helpdesk.report,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Статус"
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,month:0
|
||||
@@ -454,7 +456,7 @@ msgstr "Планируемая выручка"
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr ""
|
||||
msgstr "Подписан"
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk.report,user_id:0
|
||||
@@ -501,7 +503,7 @@ msgstr "Январь"
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,message_summary:0
|
||||
msgid "Summary"
|
||||
msgstr ""
|
||||
msgstr "Итог"
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
@@ -517,7 +519,7 @@ msgstr "Прочее"
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "My Company"
|
||||
msgstr ""
|
||||
msgstr "Моя компания"
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
@@ -666,7 +668,7 @@ msgstr ""
|
||||
#. module: crm_helpdesk
|
||||
#: help:crm.helpdesk,message_ids:0
|
||||
msgid "Messages and communication history"
|
||||
msgstr ""
|
||||
msgstr "Сообщения и история общения"
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: model:ir.actions.act_window,help:crm_helpdesk.crm_helpdesk_categ_action
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
<separator/>
|
||||
<filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" />
|
||||
<separator/>
|
||||
<filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]" help="My Sales Team(s)" />
|
||||
<filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]" help="My Sales Team(s)" groups="base.group_multi_salesteams"/>
|
||||
<separator/>
|
||||
<filter string="My Company" icon="terp-go-home" context="{'invisible_section': False}" domain="[('section_id.user_id.company_id','=',uid)]" help="My company"/>
|
||||
<field name="user_id" string="Salesperson"/>
|
||||
@@ -71,7 +71,7 @@
|
||||
</group>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" />
|
||||
<filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" groups="base.group_multi_salesteams"/>
|
||||
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" />
|
||||
<filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" />
|
||||
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" />
|
||||
|
||||
@@ -3,7 +3,7 @@ Date: Tue, 25 Oct 2011 13:41:17 +0530
|
||||
From: Mr. John Right <info@customer.com>
|
||||
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.14) Gecko/20110223 Lightning/1.0b2 Thunderbird/3.1.8
|
||||
MIME-Version: 1.0
|
||||
To: info@my.com
|
||||
To: _helpdesk@my.com
|
||||
Subject: Where is download link of user manual of your product ?
|
||||
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2011-03-23 13:46+0000\n"
|
||||
"PO-Revision-Date: 2013-05-30 14:10+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: 2013-03-16 05:47+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-31 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.report.assign,delay_close:0
|
||||
@@ -25,7 +25,7 @@ msgstr "Задержка закрытия"
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,author_id:0
|
||||
msgid "Author"
|
||||
msgstr ""
|
||||
msgstr "Автор"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.report.assign,planned_revenue:0
|
||||
@@ -38,6 +38,9 @@ msgid ""
|
||||
"Message type: email for email message, notification for system message, "
|
||||
"comment for other messages such as user replies"
|
||||
msgstr ""
|
||||
"Тип сообщения: эл. почта - для эл. почты, уведомление - для системных "
|
||||
"сообщений, комментарий - для остальных сообщений таких как сообщения "
|
||||
"пользователя"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.report.assign,nbr:0
|
||||
@@ -53,7 +56,7 @@ msgstr "Группировать по ..."
|
||||
#. module: crm_partner_assign
|
||||
#: help:crm.lead.forward.to.partner,body:0
|
||||
msgid "Automatically sanitized HTML contents"
|
||||
msgstr ""
|
||||
msgstr "Автоматически обработанное HTML содержимое"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: view:crm.lead:0
|
||||
@@ -68,7 +71,7 @@ msgstr "Геолоцировать"
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,starred:0
|
||||
msgid "Starred"
|
||||
msgstr ""
|
||||
msgstr "Отмеченные"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: view:crm.lead.forward.to.partner:0
|
||||
@@ -81,6 +84,8 @@ msgid ""
|
||||
"Email address of the sender. This field is set when no matching partner is "
|
||||
"found for incoming emails."
|
||||
msgstr ""
|
||||
"Адрес эл. почты отправителя. Это поле устанавливается когда партнер не "
|
||||
"определен для входящих писем."
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: view:crm.partner.report.assign:0
|
||||
@@ -111,7 +116,7 @@ msgstr "Компания"
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,notification_ids:0
|
||||
msgid "Notifications"
|
||||
msgstr ""
|
||||
msgstr "Уведомления"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.report.assign,date_assign:0
|
||||
@@ -123,7 +128,7 @@ msgstr "Дата партнера"
|
||||
#: view:crm.partner.report.assign:0
|
||||
#: view:res.partner:0
|
||||
msgid "Salesperson"
|
||||
msgstr ""
|
||||
msgstr "Продавец"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: selection:crm.lead.report.assign,priority:0
|
||||
@@ -170,12 +175,12 @@ msgstr "Географическое назначение"
|
||||
#. module: crm_partner_assign
|
||||
#: model:ir.model,name:crm_partner_assign.model_crm_lead_forward_to_partner
|
||||
msgid "Email composition wizard"
|
||||
msgstr ""
|
||||
msgstr "Мастер составления эл. почты"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.partner.report.assign,turnover:0
|
||||
msgid "Turnover"
|
||||
msgstr ""
|
||||
msgstr "Оборот"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.report.assign,date_closed:0
|
||||
@@ -199,7 +204,7 @@ msgstr ""
|
||||
#. module: crm_partner_assign
|
||||
#: selection:crm.lead.forward.to.partner,type:0
|
||||
msgid "System notification"
|
||||
msgstr ""
|
||||
msgstr "Системное уведомление"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: code:addons/crm_partner_assign/wizard/crm_forward_to_partner.py:74
|
||||
@@ -271,7 +276,7 @@ msgstr "Тип"
|
||||
#. module: crm_partner_assign
|
||||
#: selection:crm.lead.forward.to.partner,type:0
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
msgstr "Эл. почта"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: help:crm.lead,partner_assigned_id:0
|
||||
@@ -286,7 +291,7 @@ msgstr "Низший"
|
||||
#. module: crm_partner_assign
|
||||
#: view:crm.partner.report.assign:0
|
||||
msgid "Date Invoice"
|
||||
msgstr ""
|
||||
msgstr "Дата счета"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,template_id:0
|
||||
@@ -311,12 +316,12 @@ msgstr "Дата создания"
|
||||
#. module: crm_partner_assign
|
||||
#: model:ir.model,name:crm_partner_assign.model_res_partner_activation
|
||||
msgid "res.partner.activation"
|
||||
msgstr ""
|
||||
msgstr "res.partner.activation"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,parent_id:0
|
||||
msgid "Parent Message"
|
||||
msgstr ""
|
||||
msgstr "Родительское сообщение"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,res_id:0
|
||||
@@ -358,12 +363,12 @@ msgstr "Этап"
|
||||
#: view:crm.lead.report.assign:0
|
||||
#: field:crm.lead.report.assign,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Статус"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,to_read:0
|
||||
msgid "To read"
|
||||
msgstr ""
|
||||
msgstr "Прочитать"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: code:addons/crm_partner_assign/wizard/crm_forward_to_partner.py:74
|
||||
@@ -418,12 +423,12 @@ msgstr "Количество дней, для закрытия вопроса"
|
||||
#: help:crm.lead.forward.to.partner,notified_partner_ids:0
|
||||
msgid ""
|
||||
"Partners that have a notification pushing this message in their mailboxes"
|
||||
msgstr ""
|
||||
msgstr "Партнеры которые имеют уведомление доставляемое в их почтовые ящики"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: selection:crm.lead.forward.to.partner,type:0
|
||||
msgid "Comment"
|
||||
msgstr ""
|
||||
msgstr "Комментарий"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:res.partner,partner_weight:0
|
||||
@@ -451,7 +456,7 @@ msgstr "Декабрь"
|
||||
#. module: crm_partner_assign
|
||||
#: help:crm.lead.forward.to.partner,vote_user_ids:0
|
||||
msgid "Users that voted for this message"
|
||||
msgstr ""
|
||||
msgstr "Пользователи, которые проголосовали за это сообщение"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: view:crm.lead.report.assign:0
|
||||
@@ -467,7 +472,7 @@ msgstr "Дата открытия"
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,child_ids:0
|
||||
msgid "Child Messages"
|
||||
msgstr ""
|
||||
msgstr "Связанные сообщения"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.partner.report.assign,date_review:0
|
||||
@@ -483,17 +488,17 @@ msgstr "Тема"
|
||||
#. module: crm_partner_assign
|
||||
#: view:crm.lead.forward.to.partner:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "или"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,body:0
|
||||
msgid "Contents"
|
||||
msgstr ""
|
||||
msgstr "Содержимое"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,vote_user_ids:0
|
||||
msgid "Votes"
|
||||
msgstr ""
|
||||
msgstr "Голоса"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: view:crm.lead.report.assign:0
|
||||
@@ -504,6 +509,8 @@ msgstr "# Предложений"
|
||||
#: help:crm.lead.forward.to.partner,starred:0
|
||||
msgid "Current user has a starred notification linked to this message"
|
||||
msgstr ""
|
||||
"Текущий пользователь имеет отмеченное уведомление, связанное с этим "
|
||||
"сообщением"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.partner.report.assign,date_partnership:0
|
||||
@@ -561,7 +568,7 @@ msgstr "Август"
|
||||
#. module: crm_partner_assign
|
||||
#: help:crm.lead.forward.to.partner,record_name:0
|
||||
msgid "Name get of the related document."
|
||||
msgstr ""
|
||||
msgstr "Название связанного документа."
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: selection:crm.lead.report.assign,priority:0
|
||||
@@ -684,7 +691,7 @@ msgstr "Вложения"
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,record_name:0
|
||||
msgid "Message Record Name"
|
||||
msgstr ""
|
||||
msgstr "Название записи сообщения"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:res.partner.activation,sequence:0
|
||||
@@ -724,7 +731,7 @@ msgstr "Открыто"
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,subtype_id:0
|
||||
msgid "Subtype"
|
||||
msgstr ""
|
||||
msgstr "Подтип"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:res.partner,date_localization:0
|
||||
@@ -739,12 +746,12 @@ msgstr "Текущий"
|
||||
#. module: crm_partner_assign
|
||||
#: model:ir.model,name:crm_partner_assign.model_crm_lead
|
||||
msgid "Lead/Opportunity"
|
||||
msgstr ""
|
||||
msgstr "Кандидат/Предложение"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,notified_partner_ids:0
|
||||
msgid "Notified partners"
|
||||
msgstr ""
|
||||
msgstr "Уведомленные партнеры"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: view:crm.lead.forward.to.partner:0
|
||||
@@ -775,7 +782,7 @@ msgstr "Вероятная выручка"
|
||||
#: field:res.partner,activation:0
|
||||
#: view:res.partner.activation:0
|
||||
msgid "Activation"
|
||||
msgstr ""
|
||||
msgstr "Активация"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: view:crm.lead:0
|
||||
@@ -792,6 +799,8 @@ msgstr ""
|
||||
#: help:crm.lead.forward.to.partner,to_read:0
|
||||
msgid "Current user has an unread notification linked to this message"
|
||||
msgstr ""
|
||||
"Текущий пользователь имеет непрочитанные уведомления, связанные с этим "
|
||||
"сообщением"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: selection:crm.lead.report.assign,type:0
|
||||
@@ -860,6 +869,8 @@ msgid ""
|
||||
"Technical field holding the message notifications. Use notified_partner_ids "
|
||||
"to access notified partners."
|
||||
msgstr ""
|
||||
"Техническое поле, содержащее уведомления. Используйте notified_partner_ids "
|
||||
"для доступа к оповещаемым партнерам."
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: view:crm.partner.report.assign:0
|
||||
@@ -874,12 +885,12 @@ msgstr "CRM - отчет по кандидатам"
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,composition_mode:0
|
||||
msgid "Composition mode"
|
||||
msgstr ""
|
||||
msgstr "Режим составления"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,model:0
|
||||
msgid "Related Document Model"
|
||||
msgstr ""
|
||||
msgstr "Модель связанного документа"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: selection:crm.lead.forward.to.partner,history_mode:0
|
||||
@@ -892,6 +903,8 @@ msgid ""
|
||||
"Author of the message. If not set, email_from may hold an email address that "
|
||||
"did not match any partner."
|
||||
msgstr ""
|
||||
"Автор сообщения. Если не установлен, email_from может содержать адрес почты, "
|
||||
"который не соответствует ни одному партнеру."
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: model:ir.model,name:crm_partner_assign.model_crm_partner_report_assign
|
||||
@@ -906,12 +919,12 @@ msgstr "Высокий"
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.forward.to.partner,partner_ids:0
|
||||
msgid "Additional contacts"
|
||||
msgstr ""
|
||||
msgstr "Дополнительные контакты"
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: help:crm.lead.forward.to.partner,parent_id:0
|
||||
msgid "Initial thread message."
|
||||
msgstr ""
|
||||
msgstr "Первое сообщение цепочки."
|
||||
|
||||
#. module: crm_partner_assign
|
||||
#: field:crm.lead.report.assign,create_date:0
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:51+0000\n"
|
||||
"PO-Revision-Date: 2013-05-30 14:05+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: 2013-03-16 05:32+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-31 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: crm_profiling
|
||||
#: view:crm_profiling.questionnaire:0
|
||||
@@ -151,7 +151,7 @@ msgstr "Используйте правила профилирования"
|
||||
#. module: crm_profiling
|
||||
#: constraint:crm.segmentation:0
|
||||
msgid "Error ! You cannot create recursive profiles."
|
||||
msgstr ""
|
||||
msgstr "Ошибка ! Нельзя создать рекурсивный профиль."
|
||||
|
||||
#. module: crm_profiling
|
||||
#: field:crm.segmentation,answer_yes:0
|
||||
@@ -200,7 +200,7 @@ msgstr "Сохранить данные"
|
||||
#. module: crm_profiling
|
||||
#: view:open.questionnaire:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "или"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<!--This file contains a typical setup of a WebDAV folders' structure,
|
||||
@@ -25,7 +24,7 @@
|
||||
<field eval="0" name="ressource_tree"/>
|
||||
<field name="user_id" eval="False"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="type">directory</field>
|
||||
<field eval="[(6,0,[])]" name="group_ids"/>
|
||||
<field name="name">groups</field>
|
||||
@@ -36,7 +35,7 @@
|
||||
<field eval="1" name="resource_find_all"/>
|
||||
<field eval="0" name="ressource_tree"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="type">directory</field>
|
||||
<field eval="[(6,0,[])]" name="group_ids"/>
|
||||
<field name="name">resources</field>
|
||||
@@ -48,7 +47,7 @@
|
||||
<field name="user_id" eval="False"/>
|
||||
<field name="resource_field" ref="base.field_res_users_login"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="type">ressource</field>
|
||||
<field name="ressource_type_id" ref="base.model_res_users"/>
|
||||
<field eval="[(6,0,[])]" name="group_ids"/>
|
||||
@@ -61,7 +60,7 @@
|
||||
<field name="user_id" eval="False"/>
|
||||
<field name="resource_field" ref="base.field_res_users_login"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="type">ressource</field>
|
||||
<field name="ressource_type_id" ref="base.model_res_users"/>
|
||||
<field eval="[(6,0,[])]" name="group_ids"/>
|
||||
@@ -72,7 +71,7 @@
|
||||
<field eval="1" name="resource_find_all"/>
|
||||
<field eval="0" name="ressource_tree"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="parent_id" ref="document_directory_principals0"/>
|
||||
<field name="type">directory</field>
|
||||
<field eval="[(6,0,[])]" name="group_ids"/>
|
||||
<field name="name">locations</field>
|
||||
@@ -91,4 +90,4 @@
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
+13
-10
@@ -8,35 +8,35 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2012-09-10 15:12+0000\n"
|
||||
"PO-Revision-Date: 2013-05-30 13:32+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: 2013-03-16 05:50+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-31 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: edi
|
||||
#. openerp-web
|
||||
#: code:addons/edi/static/src/js/edi.js:67
|
||||
#, python-format
|
||||
msgid "Reason:"
|
||||
msgstr ""
|
||||
msgstr "Причина:"
|
||||
|
||||
#. module: edi
|
||||
#. openerp-web
|
||||
#: code:addons/edi/static/src/js/edi.js:60
|
||||
#, python-format
|
||||
msgid "The document has been successfully imported!"
|
||||
msgstr ""
|
||||
msgstr "Документ был успешно импортирован!"
|
||||
|
||||
#. module: edi
|
||||
#. openerp-web
|
||||
#: code:addons/edi/static/src/js/edi.js:65
|
||||
#, python-format
|
||||
msgid "Sorry, the document could not be imported."
|
||||
msgstr ""
|
||||
msgstr "Извините, документ не может быть импортирован."
|
||||
|
||||
#. module: edi
|
||||
#: model:ir.model,name:edi.model_res_company
|
||||
@@ -53,13 +53,13 @@ msgstr "Валюта"
|
||||
#: code:addons/edi/static/src/js/edi.js:71
|
||||
#, python-format
|
||||
msgid "Document Import Notification"
|
||||
msgstr ""
|
||||
msgstr "Уведомление об импорте документа"
|
||||
|
||||
#. module: edi
|
||||
#: code:addons/edi/models/edi.py:130
|
||||
#, python-format
|
||||
msgid "Missing application."
|
||||
msgstr ""
|
||||
msgstr "Отсутствующее приложение."
|
||||
|
||||
#. module: edi
|
||||
#: code:addons/edi/models/edi.py:131
|
||||
@@ -69,12 +69,15 @@ msgid ""
|
||||
"You can install it by connecting as the administrator and opening the "
|
||||
"configuration assistant."
|
||||
msgstr ""
|
||||
"Документу, который вы пытаетесь импортировать, необходимо OpenERP приложение "
|
||||
"'%s'. Вы можете установить его, выполнив вход под администратором и открыв "
|
||||
"настройки."
|
||||
|
||||
#. module: edi
|
||||
#: code:addons/edi/models/edi.py:47
|
||||
#, python-format
|
||||
msgid "'%s' is an invalid external ID"
|
||||
msgstr ""
|
||||
msgstr "'%s' это неверный внешний идентификатор"
|
||||
|
||||
#. module: edi
|
||||
#: model:ir.model,name:edi.model_res_partner
|
||||
@@ -84,7 +87,7 @@ msgstr "Контрагент"
|
||||
#. module: edi
|
||||
#: model:ir.model,name:edi.model_edi_edi
|
||||
msgid "EDI Subsystem"
|
||||
msgstr ""
|
||||
msgstr "Подсистема электронного документооборота"
|
||||
|
||||
#~ msgid "The currency code must be unique per company!"
|
||||
#~ msgstr "Код валюты должен быть уникальным в компании!"
|
||||
|
||||
@@ -358,7 +358,7 @@ class email_template(osv.osv):
|
||||
values['attachment_ids'] = attachment_ids
|
||||
return values
|
||||
|
||||
def send_mail(self, cr, uid, template_id, res_id, force_send=False, context=None):
|
||||
def send_mail(self, cr, uid, template_id, res_id, force_send=False, raise_exception=False, context=None):
|
||||
"""Generates a new mail message for the given template and record,
|
||||
and schedules it for delivery through the ``mail`` module's scheduler.
|
||||
|
||||
@@ -400,7 +400,7 @@ class email_template(osv.osv):
|
||||
mail_mail.write(cr, uid, msg_id, {'attachment_ids': [(6, 0, attachment_ids)]}, context=context)
|
||||
|
||||
if force_send:
|
||||
mail_mail.send(cr, uid, [msg_id], context=context)
|
||||
mail_mail.send(cr, uid, [msg_id], raise_exception=raise_exception, context=context)
|
||||
return msg_id
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2012-12-25 12:16+0000\n"
|
||||
"Last-Translator: Olga <chikiro.spam@gmail.com>\n"
|
||||
"PO-Revision-Date: 2013-05-30 13:33+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: 2013-03-16 05:42+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-31 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: email_template
|
||||
#: field:email.template,email_from:0
|
||||
@@ -37,7 +37,7 @@ msgstr "Кнопка боковой панели для открытия дей
|
||||
#. module: email_template
|
||||
#: field:res.partner,opt_out:0
|
||||
msgid "Opt-Out"
|
||||
msgstr ""
|
||||
msgstr "Без уведомлений"
|
||||
|
||||
#. module: email_template
|
||||
#: field:email.template,email_to:0
|
||||
@@ -510,7 +510,7 @@ msgstr ""
|
||||
#. module: email_template
|
||||
#: view:email.template:0
|
||||
msgid "Contents"
|
||||
msgstr ""
|
||||
msgstr "Содержимое"
|
||||
|
||||
#. module: email_template
|
||||
#: field:email.template,subject:0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<field name="res_model">event.registration</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="name">Registrations</field>
|
||||
<field name="view_mode">calendar,tree,form,graph</field>
|
||||
<field name="view_mode">tree,form,calendar,graph</field>
|
||||
<field name="context">{'search_default_event_id': active_id, 'default_event_id': active_id}</field>
|
||||
</record>
|
||||
|
||||
@@ -93,6 +93,7 @@
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="user_id"/>
|
||||
<field name="type" on_change="onchange_event_type(type,context)" />
|
||||
<field name="date_begin" on_change="onchange_start_date(date_begin,date_end)"/>
|
||||
<field name="date_end"/>
|
||||
@@ -100,19 +101,13 @@
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Email Configuration" groups="base.group_no_one">
|
||||
<group>
|
||||
<page string="Event Details" groups="base.group_no_one">
|
||||
<group colspan="4">
|
||||
<field name="reply_to"/>
|
||||
<group>
|
||||
<field name="email_registration_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="email_confirmation_id"/>
|
||||
</group>
|
||||
<field name="email_registration_id"/>
|
||||
<field name="email_confirmation_id"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Event Description">
|
||||
<field name="note" colspan="4" nolabel="1"/>
|
||||
<field name="note" nolabel="1" placeholder="Event Description..."/>
|
||||
</page>
|
||||
<page string="Registrations">
|
||||
<group>
|
||||
|
||||
@@ -70,6 +70,8 @@ class sale_order_line(osv.osv):
|
||||
'''
|
||||
create registration with sales order
|
||||
'''
|
||||
if context is None:
|
||||
context = {}
|
||||
registration_obj = self.pool.get('event.registration')
|
||||
sale_obj = self.pool.get('sale.order')
|
||||
for order_line in self.browse(cr, uid, ids, context=context):
|
||||
@@ -83,7 +85,8 @@ class sale_order_line(osv.osv):
|
||||
'origin': order_line.order_id.name,
|
||||
'event_id': order_line.event_id.id,
|
||||
}
|
||||
message = _("The registration has been created for event <i>%s</i> from the Sale Order %s. ") % (order_line.event_id.name, order_line.order_id.name)
|
||||
context.update({'mail_create_nolog': True})
|
||||
registration_id = registration_obj.create(cr, uid, dic, context=context)
|
||||
message = _("The registration %s has been created from the Sales Order %s.") % (registration_id, order_line.order_id.name)
|
||||
registration_obj.message_post(cr, uid, [registration_id], body=message, context=context)
|
||||
return super(sale_order_line, self).button_confirm(cr, uid, ids, context=context)
|
||||
|
||||
+22
-20
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2013-01-06 11:09+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2013-06-03 05:25+0000\n"
|
||||
"Last-Translator: Armin GREGOR <armin.gregor@gmail.com>\n"
|
||||
"Language-Team: German <de@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: 2013-03-16 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-06-04 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: fleet
|
||||
#: selection:fleet.vehicle,fuel_type:0
|
||||
@@ -35,7 +35,7 @@ msgstr "Ersatz Kälteklimakompressor"
|
||||
#. module: fleet
|
||||
#: help:fleet.vehicle,vin_sn:0
|
||||
msgid "Unique number written on the vehicle motor (VIN/SN number)"
|
||||
msgstr "Eindeutige Fahrzeug-Identifizierungsnummer (FIN)"
|
||||
msgstr "Fahrgestellnummer"
|
||||
|
||||
#. module: fleet
|
||||
#: selection:fleet.service.type,category:0
|
||||
@@ -157,7 +157,7 @@ msgstr "Batterie Inspektion"
|
||||
#. module: fleet
|
||||
#: field:fleet.vehicle,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "Unternehmen"
|
||||
msgstr "Firma"
|
||||
|
||||
#. module: fleet
|
||||
#: view:fleet.vehicle.log.contract:0
|
||||
@@ -324,7 +324,7 @@ msgstr "Ersatz Luftfilter"
|
||||
#. module: fleet
|
||||
#: model:ir.model,name:fleet.model_fleet_vehicle_tag
|
||||
msgid "fleet.vehicle.tag"
|
||||
msgstr ""
|
||||
msgstr "fleet.vehicle.tag"
|
||||
|
||||
#. module: fleet
|
||||
#: view:fleet.vehicle:0
|
||||
@@ -339,7 +339,7 @@ msgstr "Bezeichnung des zu erneuernden Vertrags"
|
||||
#. module: fleet
|
||||
#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_senior
|
||||
msgid "Senior"
|
||||
msgstr ""
|
||||
msgstr "Senior"
|
||||
|
||||
#. module: fleet
|
||||
#: help:fleet.vehicle.log.contract,state:0
|
||||
@@ -490,6 +490,8 @@ msgid ""
|
||||
"$('.oe_picture').load(function() { if($(this).width() > $(this).height()) { "
|
||||
"$(this).addClass('oe_employee_picture_wide') } });"
|
||||
msgstr ""
|
||||
"$('.oe_picture').load(function() { if($(this).width() > $(this).height()) { "
|
||||
"$(this).addClass('oe_employee_picture_wide') } });"
|
||||
|
||||
#. module: fleet
|
||||
#: view:board.board:0
|
||||
@@ -737,7 +739,7 @@ msgstr "Aktueller Fahrzeugzustand"
|
||||
#. module: fleet
|
||||
#: selection:fleet.vehicle,transmission:0
|
||||
msgid "Manual"
|
||||
msgstr "Betriebsanleitung"
|
||||
msgstr "Handbuch"
|
||||
|
||||
#. module: fleet
|
||||
#: model:fleet.service.type,name:fleet.type_service_52
|
||||
@@ -917,7 +919,7 @@ msgstr "Kaufdatum des Fahrzeugs"
|
||||
#. module: fleet
|
||||
#: view:fleet.vehicle.model:0
|
||||
msgid "Models"
|
||||
msgstr "Modell"
|
||||
msgstr "Modelle"
|
||||
|
||||
#. module: fleet
|
||||
#: view:fleet.vehicle.log.contract:0
|
||||
@@ -1055,7 +1057,7 @@ msgstr "Kraftstoffart"
|
||||
#. module: fleet
|
||||
#: model:fleet.service.type,name:fleet.type_service_22
|
||||
msgid "Fuel Injector Replacement"
|
||||
msgstr "Ersatz Einfüllstutzen"
|
||||
msgstr "Ersatz Einspritzdüse"
|
||||
|
||||
#. module: fleet
|
||||
#: model:ir.actions.act_window,name:fleet.fleet_vehicle_state_act
|
||||
@@ -1101,7 +1103,7 @@ msgstr "Datum Vertragsbeginn"
|
||||
#. module: fleet
|
||||
#: selection:fleet.vehicle,fuel_type:0
|
||||
msgid "Electric"
|
||||
msgstr "Elektrisch"
|
||||
msgstr "Elektrik"
|
||||
|
||||
#. module: fleet
|
||||
#: field:fleet.vehicle,tag_ids:0
|
||||
@@ -1174,7 +1176,7 @@ msgstr "Ersatz Lichtmaschine"
|
||||
#. module: fleet
|
||||
#: model:fleet.service.type,name:fleet.type_service_3
|
||||
msgid "A/C Diagnosis"
|
||||
msgstr "Diagnose Batterie"
|
||||
msgstr "Diagnose Klimaanlage"
|
||||
|
||||
#. module: fleet
|
||||
#: model:fleet.service.type,name:fleet.type_service_23
|
||||
@@ -1199,7 +1201,7 @@ msgstr "Ersatz Wärmepumpe"
|
||||
#. module: fleet
|
||||
#: view:fleet.vehicle:0
|
||||
msgid "show all the costs for this vehicle"
|
||||
msgstr "gesamte Kostenübersicht der Fahrzeuge"
|
||||
msgstr "gesamte Kostenübersicht des Fahrzeugs"
|
||||
|
||||
#. module: fleet
|
||||
#: view:fleet.vehicle.odometer:0
|
||||
@@ -1534,7 +1536,7 @@ msgstr "Achsvermessung"
|
||||
#. module: fleet
|
||||
#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_purchased
|
||||
msgid "Purchased"
|
||||
msgstr "Ersatzteil"
|
||||
msgstr "Eingekauft"
|
||||
|
||||
#. module: fleet
|
||||
#: model:ir.actions.act_window,help:fleet.fleet_vehicle_odometer_act
|
||||
@@ -1747,7 +1749,7 @@ msgstr "Preis"
|
||||
#: field:fleet.vehicle.cost,odometer:0
|
||||
#: field:fleet.vehicle.odometer,value:0
|
||||
msgid "Odometer Value"
|
||||
msgstr "Tachostand"
|
||||
msgstr "Kilometerstand"
|
||||
|
||||
#. module: fleet
|
||||
#: view:fleet.vehicle:0
|
||||
@@ -1805,7 +1807,7 @@ msgstr "Schreiben Sie hier alle erforderlichen Zusatzinformationen auf."
|
||||
#. module: fleet
|
||||
#: model:fleet.service.type,name:fleet.type_service_29
|
||||
msgid "Ignition Coil Replacement"
|
||||
msgstr "Ersatz Zündkerzen"
|
||||
msgstr "Ersatz Zündspule"
|
||||
|
||||
#. module: fleet
|
||||
#: model:fleet.service.type,name:fleet.type_service_service_16
|
||||
@@ -1815,7 +1817,7 @@ msgstr "Optionen"
|
||||
#. module: fleet
|
||||
#: model:fleet.service.type,name:fleet.type_contract_repairing
|
||||
msgid "Repairing"
|
||||
msgstr "Reparieren"
|
||||
msgstr "Wird repariert"
|
||||
|
||||
#. module: fleet
|
||||
#: model:ir.actions.act_window,name:fleet.action_fleet_reporting_costs
|
||||
@@ -1853,7 +1855,7 @@ msgstr "Getriebe"
|
||||
#. module: fleet
|
||||
#: field:fleet.vehicle,vin_sn:0
|
||||
msgid "Chassis Number"
|
||||
msgstr "Fahrzeuqinformationsnummer"
|
||||
msgstr "Fahrgestellnummer"
|
||||
|
||||
#. module: fleet
|
||||
#: help:fleet.vehicle,color:0
|
||||
@@ -2009,7 +2011,7 @@ msgstr "Reifenwechsel"
|
||||
#. module: fleet
|
||||
#: model:fleet.service.type,name:fleet.type_service_42
|
||||
msgid "Starter Replacement"
|
||||
msgstr "Erstinspektion"
|
||||
msgstr "Ersatz Anlasser"
|
||||
|
||||
#. module: fleet
|
||||
#: view:fleet.vehicle.cost:0
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
<a href="https://www.openerp.com/saas_master/demo?lang=en_US&module=hr">
|
||||
<img src="hr_kanban.png">
|
||||
</a>
|
||||
<span class="oe_demo_play"> </span>
|
||||
<div class="oe_demo_footer oe_centeralign">Online Demo</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -54,17 +54,17 @@
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Link a user to an employee"""" name="name"/>
|
||||
<field eval=""""The Related user field on the Employee form allows to link the OpenERP user (and her rights) to the employee."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_openerpuser0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_employee0"/>
|
||||
<field name="target_node_id" ref="process_node_openerpuser0"/>
|
||||
<field name="source_node_id" ref="process_node_employee0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_contactofemployee0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Link the employee to information"""" name="name"/>
|
||||
<field eval=""""In the Employee form, there are different kind of information like Contact information."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_employeecontact0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_employee0"/>
|
||||
<field name="target_node_id" ref="process_node_employeecontact0"/>
|
||||
<field name="source_node_id" ref="process_node_employee0"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
|
||||
<record id="hr_dept_comp_rule" model="ir.rule">
|
||||
<field name="name">Department multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_department"/>
|
||||
<field name="model_id" ref="model_hr_department"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
<record id="hr_job_comp_rule" model="ir.rule">
|
||||
<field name="name">Job multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_job"/>
|
||||
<field name="model_id" ref="model_hr_job"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
<record id="property_rule_attendace_manager" model="ir.rule">
|
||||
<field name="name">Manager Attendance</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_attendance"/>
|
||||
<field name="model_id" ref="model_hr_attendance"/>
|
||||
<field name="domain_force">[(1,'=',1)]</field>
|
||||
<field name="groups" eval="[(4,ref('base.group_hr_manager')), (4,ref('base.group_hr_user'))]"/>
|
||||
</record>
|
||||
<record id="property_rule_attendace_employee" model="ir.rule">
|
||||
<field name="name">Employee Attendance</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_attendance"/>
|
||||
<field name="model_id" ref="model_hr_attendance"/>
|
||||
<field name="domain_force">[('employee_id.user_id','=',user.id)]</field>
|
||||
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
|
||||
</record>
|
||||
|
||||
@@ -31,14 +31,14 @@
|
||||
|
||||
<record id="hr_evaluation_plan_comp_rule" model="ir.rule">
|
||||
<field name="name">Evaluation Plan multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_evaluation_plan"/>
|
||||
<field name="model_id" ref="model_hr_evaluation_plan"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="hr_evaluation_plan_phase_comp_rule" model="ir.rule">
|
||||
<field name="name">Evaluation Plan Phase multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_evaluation_plan_phase"/>
|
||||
<field name="model_id" ref="model_hr_evaluation_plan_phase"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
@@ -101,48 +101,48 @@
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Confirm expense"""" name="name"/>
|
||||
<field eval=""""Expense is confirmed."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_confirmedexpenses0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_draftexpenses0"/>
|
||||
<field name="target_node_id" ref="process_node_confirmedexpenses0"/>
|
||||
<field name="source_node_id" ref="process_node_draftexpenses0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_refuseexpense0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Refuse expense"""" name="name"/>
|
||||
<field eval=""""Expense is refused."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_refused0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_confirmedexpenses0"/>
|
||||
<field name="target_node_id" ref="process_node_refused0"/>
|
||||
<field name="source_node_id" ref="process_node_confirmedexpenses0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_approveexpense0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Approve expense"""" name="name"/>
|
||||
<field eval=""""Expense is approved."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_approved0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_confirmedexpenses0"/>
|
||||
<field name="target_node_id" ref="process_node_approved0"/>
|
||||
<field name="source_node_id" ref="process_node_confirmedexpenses0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_approveinvoice0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Supplier Invoice"""" name="name"/>
|
||||
<field eval=""""Creates supplier invoice."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_supplierinvoice0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_approved0"/>
|
||||
<field name="target_node_id" ref="process_node_supplierinvoice0"/>
|
||||
<field name="source_node_id" ref="process_node_approved0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_reimburseexpense0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Reimburse expense"""" name="name"/>
|
||||
<field eval=""""After creating invoice, reimburse expenses"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_reimbursement0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_supplierinvoice0"/>
|
||||
<field name="target_node_id" ref="process_node_reimbursement0"/>
|
||||
<field name="source_node_id" ref="process_node_supplierinvoice0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_reimbursereinvoice0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Reinvoice"""" name="name"/>
|
||||
<field eval=""""Create Customer invoice"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_reinvoicing0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_reimbursement0"/>
|
||||
<field name="target_node_id" ref="process_node_reinvoicing0"/>
|
||||
<field name="source_node_id" ref="process_node_reimbursement0"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
@@ -178,4 +178,4 @@
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
||||
@@ -4,19 +4,19 @@
|
||||
|
||||
<record id="property_rule_expense_manager" model="ir.rule">
|
||||
<field name="name">Manager Expense</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_expense_expense"/>
|
||||
<field name="model_id" ref="model_hr_expense_expense"/>
|
||||
<field name="domain_force">[(1,'=',1)]</field>
|
||||
<field name="groups" eval="[(4,ref('base.group_hr_manager')), (4,ref('base.group_hr_user'))]"/>
|
||||
</record>
|
||||
<record id="property_rule_expense_employee" model="ir.rule">
|
||||
<field name="name">Employee Expense</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_expense_expense"/>
|
||||
<field name="model_id" ref="model_hr_expense_expense"/>
|
||||
<field name="domain_force">[('employee_id.user_id','=',user.id)]</field>
|
||||
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
|
||||
</record>
|
||||
<record id="hr_expense_comp_rule" model="ir.rule">
|
||||
<field name="name">Expense multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_expense_expense"/>
|
||||
<field name="model_id" ref="model_hr_expense_expense"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
@@ -100,48 +100,48 @@
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Employee Declaration"""" name="name"/>
|
||||
<field eval=""""Document for employee"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_legaldeclaration0"/>
|
||||
<field model="process.node" name="source_node_id" ref="hr.process_node_employee0"/>
|
||||
<field name="target_node_id" ref="process_node_legaldeclaration0"/>
|
||||
<field name="source_node_id" ref="hr.process_node_employee0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_holidaysdefrequest0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Holidays def Request"""" name="name"/>
|
||||
<field eval=""""If holidays available, employee can take it and fill it."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_holidaysrequest0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_holidaysdefinition0"/>
|
||||
<field name="target_node_id" ref="process_node_holidaysrequest0"/>
|
||||
<field name="source_node_id" ref="process_node_holidaysdefinition0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_refusedrequest0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Refused Request"""" name="name"/>
|
||||
<field eval=""""Request is refused."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_refused0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_holidaysrequest0" />
|
||||
<field name="target_node_id" ref="process_node_refused0"/>
|
||||
<field name="source_node_id" ref="process_node_holidaysrequest0" />
|
||||
</record>
|
||||
|
||||
<record id="process_transition_approvedrequest0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Approved Request"""" name="name"/>
|
||||
<field eval=""""Request is approved."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_approved0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_holidaysrequest0"/>
|
||||
<field name="target_node_id" ref="process_node_approved0"/>
|
||||
<field name="source_node_id" ref="process_node_holidaysrequest0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_setholiday0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Set Holiday"""" name="name"/>
|
||||
<field eval=""""Holiday is set in the calendar."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_calendar0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_approved0"/>
|
||||
<field name="target_node_id" ref="process_node_calendar0"/>
|
||||
<field name="source_node_id" ref="process_node_approved0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_employeeholidays0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Employee Holidays"""" name="name"/>
|
||||
<field eval=""""Employee get holidays"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_holidays0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_legaldeclaration0"/>
|
||||
<field name="target_node_id" ref="process_node_holidays0"/>
|
||||
<field name="source_node_id" ref="process_node_legaldeclaration0"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
@@ -170,4 +170,4 @@
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
<data>
|
||||
<record id="property_rule_holidays_employee" model="ir.rule">
|
||||
<field name="name">Employee Holidays</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_holidays"/>
|
||||
<field name="model_id" ref="model_hr_holidays"/>
|
||||
<field name="domain_force">[('employee_id.user_id','=',user.id)]</field>
|
||||
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="property_rule_holidays_officer" model="ir.rule">
|
||||
<field name="name">Holidays Officer</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_holidays"/>
|
||||
<field name="model_id" ref="model_hr_holidays"/>
|
||||
<field name="domain_force">[(1,'=',1)]</field>
|
||||
<field name="groups" eval="[(4,ref('base.group_hr_user'))]"/>
|
||||
</record>
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
|
||||
<record id="property_rule_employee_payslip" model="ir.rule">
|
||||
<field name="name">Employee Payslip</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_payslip"/>
|
||||
<field name="model_id" ref="model_hr_payslip"/>
|
||||
<field name="domain_force">['|', ('employee_id.user_id', '=', user.id), ('employee_id.department_id.manager_id.user_id', '=', user.id)]</field>
|
||||
<field name="groups" eval="[(4,ref('base.group_hr_user'))]"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
||||
@@ -57,9 +57,9 @@ You can define the different phases of interviews and easily rate the applicant
|
||||
'board_hr_recruitment_statistical_view.xml',
|
||||
'hr_recruitment_installer_view.xml',
|
||||
'res_config_view.xml',
|
||||
'hr_recruitment_data.xml'
|
||||
'hr_recruitment_data.xml',
|
||||
],
|
||||
'demo': ['hr_recruitment_demo.yml'],
|
||||
'demo': ['hr_recruitment_demo.xml'],
|
||||
'test': ['test/recruitment_process.yml'],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
|
||||
@@ -355,10 +355,12 @@ class hr_applicant(base_stage, osv.Model):
|
||||
This override updates the document according to the email.
|
||||
"""
|
||||
if custom_values is None: custom_values = {}
|
||||
val = msg.get('from').split('<')[0]
|
||||
desc = html2plaintext(msg.get('body')) if msg.get('body') else ''
|
||||
defaults = {
|
||||
'name': msg.get('subject') or _("No Subject"),
|
||||
'description': desc,
|
||||
'partner_name':val,
|
||||
'email_from': msg.get('from'),
|
||||
'email_cc': msg.get('cc'),
|
||||
'user_id': False,
|
||||
|
||||
@@ -485,6 +485,18 @@
|
||||
<field name="default" eval="False"/>
|
||||
<field name="description">Applicant refused</field>
|
||||
</record>
|
||||
|
||||
<!-- Applicant Categories(Tag) -->
|
||||
<record id="tag_applicant_reserve" model="hr.applicant_category">
|
||||
<field name="name">Reserve</field>
|
||||
</record>
|
||||
<record id="tag_applicant_manager" model="hr.applicant_category">
|
||||
<field name="name">Manager</field>
|
||||
</record>
|
||||
<record id="tag_applicant_it" model="hr.applicant_category">
|
||||
<field name="name">IT</field>
|
||||
</record>
|
||||
<record id="tag_applicant_sales" model="hr.applicant_category">
|
||||
<field name="name">Sales</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<record id="hr_case_salesman0" model="hr.applicant">
|
||||
<field name="name">Salesperson</field>
|
||||
<field name="job_id" ref="hr.job_developer"/>
|
||||
<field name="type_id" ref="degree_graduate"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('tag_applicant_sales')])]"/>
|
||||
<field eval= "time.strftime('%Y-%m-01 10:35:50')" name="date"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="partner_name">Enrique Jones</field>
|
||||
<field name="partner_mobile">9963214587</field>
|
||||
<field name="stage_id" ref="stage_job1"/>
|
||||
<field eval="time.strftime('%Y-%m-15 18:15:00')" name="date_action"/>
|
||||
<field name="title_action">Send mail regarding our interview</field>
|
||||
</record>
|
||||
<record id="hr_case_traineemca0" model="hr.applicant">
|
||||
<field name="name">Trainee - MCA</field>
|
||||
<field name="job_id" ref="hr.job_developer"/>
|
||||
<field name="type_id" ref="degree_bac5"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('tag_applicant_manager')])]"/>
|
||||
<field eval="time.strftime('%Y-%m-10 18:15:00')" name="date"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="priority">3</field>
|
||||
<field name="partner_name">Marie Justine</field>
|
||||
<field name="partner_mobile">9988774455</field>
|
||||
<field name="stage_id" ref="stage_job4"/>
|
||||
<field name="partner_phone">6633225</field>
|
||||
<field eval="time.strftime('%Y-%m-10 18:15:00')" name="date_action"/>
|
||||
<field name="title_action">Call to define real needs about training</field>
|
||||
</record>
|
||||
<record id="hr_case_fresher0" model="hr.applicant">
|
||||
<field name="name">Fresher</field>
|
||||
<field name="job_id" ref="hr.job_developer"/>
|
||||
<field name="type_id" ref="degree_licenced"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('tag_applicant_it')])]"/>
|
||||
<field eval="time.strftime('%Y-%m-10 18:15:00')" name="date"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="partner_name">Jose</field>
|
||||
<field name="stage_id" ref="stage_job3"/>
|
||||
<field name="partner_phone">999666735</field>
|
||||
<field eval="time.strftime('%Y-%m-5 18:15:00')" name="date_action"/>
|
||||
<field name="title_action">Send mail regarding our interview</field>
|
||||
</record>
|
||||
<record id="hr_case_yrsexperienceinphp0" model="hr.applicant">
|
||||
<field name="name">Marketing Job</field>
|
||||
<field name="job_id" ref="hr.job_developer"/>
|
||||
<field name="type_id" ref="degree_bac5"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('tag_applicant_manager')])]"/>
|
||||
<field eval="time.strftime('%Y-%m-25 16:25:52')" name="date"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="partner_name">John Bruno</field>
|
||||
<field name="stage_id" ref="stage_job5"/>
|
||||
<field eval="time.strftime('%Y-%m-24 18:15:00')" name="date_action"/>
|
||||
<field name="title_action">Call to define real needs about training</field>
|
||||
</record>
|
||||
<record id="hr_case_marketingjob0" model="hr.applicant">
|
||||
<field name="name">More than 5 yrs Experience in PHP</field>
|
||||
<field name="job_id" ref="hr.job_developer"/>
|
||||
<field name="type_id" ref="degree_licenced"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('tag_applicant_reserve')])]"/>
|
||||
<field eval="time.strftime('%Y-%m-26 17:15:32')" name="date"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="partner_name">Sandra Elvis</field>
|
||||
<field name="stage_id" ref="stage_job6"/>
|
||||
<field eval="time.strftime('%Y-%m-20 18:15:00')" name="date_action"/>
|
||||
<field name="title_action">Send mail regarding our interview</field>
|
||||
</record>
|
||||
<record id="hr_case_financejob0" model="hr.applicant">
|
||||
<field name="name">Finance Job</field>
|
||||
<field name="job_id" ref="hr.job_developer"/>
|
||||
<field name="type_id" ref="degree_licenced"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('tag_applicant_reserve')])]"/>
|
||||
<field eval="time.strftime('%Y-%m-26 17:39:42')" name="date"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="priority">4</field>
|
||||
<field name="partner_name">David Armstrong</field>
|
||||
<field name="stage_id" ref="stage_job2"/>
|
||||
<field name="partner_phone">33968745</field>
|
||||
<field eval="time.strftime('%Y-%m-18 18:15:00')" name="date_action"/>
|
||||
<field name="title_action">Send mail regarding our interview</field>
|
||||
</record>
|
||||
<record id="hr_case_traineemca1" model="hr.applicant">
|
||||
<field name="name">Trainee - MCA</field>
|
||||
<field name="job_id" ref="hr.job_developer"/>
|
||||
<field name="type_id" ref="degree_bac5"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('tag_applicant_sales')])]"/>
|
||||
<field eval="time.strftime('%Y-%m-12 17:49:19')" name="date"/>
|
||||
<field name="partner_name">Tina Augustie</field>
|
||||
<field name="partner_mobile">9898745745</field>
|
||||
<field name="stage_id" ref="stage_job4"/>
|
||||
<field name="partner_phone">6630125</field>
|
||||
<field eval="time.strftime('%Y-%m-15 18:15:00')" name="date_action"/>
|
||||
<field name="title_action">Send mail regarding our interview</field>
|
||||
</record>
|
||||
<record id="hr_case_programmer" model="hr.applicant">
|
||||
<field name="name">Programmer</field>
|
||||
<field name="job_id" ref="hr.job_developer"/>
|
||||
<field name="type_id" ref="degree_bac5"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('tag_applicant_it')])]"/>
|
||||
<field eval="time.strftime('%Y-%m-12 17:49:19')" name="date"/>
|
||||
<field name="partner_name">Shane Williams</field>
|
||||
<field name="partner_mobile">9812398524</field>
|
||||
<field name="stage_id" ref="stage_job4"/>
|
||||
<field name="partner_phone">6630125</field>
|
||||
<field name="salary_expected">11000.0</field>
|
||||
<field eval="time.strftime('%Y-%m-24 18:15:00')" name="date_action"/>
|
||||
<field name="title_action">Send mail regarding our interview</field>
|
||||
</record>
|
||||
<record id="hr_case_advertisement" model="hr.applicant">
|
||||
<field name="name">Advertisement</field>
|
||||
<field name="job_id" ref="hr.job_developer"/>
|
||||
<field name="type_id" ref="degree_licenced"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('tag_applicant_it')])]"/>
|
||||
<field eval="time.strftime('%Y-%m-26 17:39:42')" name="date"/>
|
||||
<field name="partner_name">David Armstrong</field>
|
||||
<field name="partner_mobile">9988774455</field>
|
||||
<field name="stage_id" ref="stage_job2"/>
|
||||
<field name="salary_expected">11000.0</field>
|
||||
<field eval="time.strftime('%Y-%m-15 18:15:00')" name="date_action"/>
|
||||
<field name="title_action">Send mail regarding our interview</field>
|
||||
</record>
|
||||
|
||||
<record id="hr.job_developer" model="hr.job">
|
||||
<field name="survey_id" ref="survey_job_0"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,102 +0,0 @@
|
||||
-
|
||||
!record {model: hr.applicant, id: hr_case_salesman0}:
|
||||
date: !eval time.strftime('%Y-%m-01 10:35:50')
|
||||
type_id: degree_graduate
|
||||
priority: '2'
|
||||
partner_name: 'Enrique Jones'
|
||||
partner_mobile: '9963214587'
|
||||
job_id: hr.job_developer
|
||||
stage_id: stage_job1
|
||||
name: 'Salesperson'
|
||||
partner_phone: '1236547890'
|
||||
|
||||
-
|
||||
!record {model: hr.applicant, id: hr_case_traineemca0}:
|
||||
date: !eval time.strftime('%Y-%m-10 18:15:00')
|
||||
type_id: degree_bac5
|
||||
priority: '3'
|
||||
user_id: base.user_demo
|
||||
partner_name: 'Marie Justine'
|
||||
partner_mobile: '9988774455'
|
||||
job_id: hr.job_developer
|
||||
stage_id: stage_job4
|
||||
name: 'Trainee - MCA'
|
||||
partner_phone: '6633225'
|
||||
-
|
||||
!record {model: hr.applicant, id: hr_case_fresher0}:
|
||||
date: !eval time.strftime('%Y-%m-15 16:10:00')
|
||||
type_id: degree_licenced
|
||||
priority: '1'
|
||||
user_id: base.user_root
|
||||
partner_name: 'Jose'
|
||||
job_id: hr.job_developer
|
||||
stage_id: stage_job3
|
||||
name: 'Fresher'
|
||||
partner_phone: '999666735'
|
||||
-
|
||||
!record {model: hr.applicant, id: hr_case_yrsexperienceinphp0}:
|
||||
date: !eval time.strftime('%Y-%m-25 16:25:52')
|
||||
job_id: hr.job_developer
|
||||
type_id: degree_bac5
|
||||
user_id: base.user_root
|
||||
partner_name: 'Sandra Elvis'
|
||||
stage_id: stage_job6
|
||||
name: 'More than 5 yrs Experience in PHP'
|
||||
-
|
||||
!record {model: hr.applicant, id: hr_case_marketingjob0}:
|
||||
date: !eval time.strftime('%Y-%m-26 17:15:32')
|
||||
type_id: degree_licenced
|
||||
user_id: base.user_demo
|
||||
partner_name: 'John Bruno'
|
||||
job_id: hr.job_developer
|
||||
color: 5
|
||||
stage_id: stage_job5
|
||||
name: 'Marketing Job'
|
||||
-
|
||||
!record {model: hr.applicant, id: hr_case_financejob0}:
|
||||
date: !eval time.strftime('%Y-%m-26 17:39:42')
|
||||
type_id: degree_licenced
|
||||
priority: '4'
|
||||
partner_name: 'David Armstrong'
|
||||
partner_mobile: '9966332214'
|
||||
job_id: hr.job_developer
|
||||
stage_id: stage_job2
|
||||
name: 'Finance Job'
|
||||
partner_phone: '33968745'
|
||||
-
|
||||
!record {model: hr.applicant, id: hr_case_traineemca1}:
|
||||
date: !eval time.strftime('%Y-%m-12 17:49:19')
|
||||
type_id: degree_bac5
|
||||
partner_name: 'Tina Augustie'
|
||||
partner_mobile: '9898745745'
|
||||
job_id: hr.job_developer
|
||||
stage_id: stage_job4
|
||||
name: 'Trainee - MCA'
|
||||
partner_phone: '6630125'
|
||||
|
||||
-
|
||||
!record {model: hr.applicant, id: hr_case_programmer}:
|
||||
date: !eval time.strftime('%Y-%m-12 17:49:19')
|
||||
type_id: degree_bac5
|
||||
partner_name: 'Shane Williams'
|
||||
partner_mobile: '9812398524'
|
||||
stage_id: stage_job4
|
||||
name: 'Programmer'
|
||||
partner_phone: '6630125'
|
||||
job_id: hr.job_developer
|
||||
department_id: hr.dep_rd
|
||||
salary_expected: 11000.0
|
||||
|
||||
-
|
||||
!record {model: hr.applicant, id: hr_case_advertisement}:
|
||||
date: !eval time.strftime('%Y-%m-26 17:39:42')
|
||||
type_id: degree_licenced
|
||||
partner_name: 'David Armstrong'
|
||||
job_id: hr.job_developer
|
||||
stage_id: stage_job2
|
||||
color: 4
|
||||
name: 'Advertisement'
|
||||
salary_expected: 11000.0
|
||||
-
|
||||
!record {model: hr.job, id: hr.job_developer}:
|
||||
survey_id: hr_recruitment.survey_job_0
|
||||
@@ -263,9 +263,14 @@
|
||||
<i><field name="name"/></i><br/>
|
||||
<field name="job_id"/><br/>
|
||||
<t t-if="record.partner_mobile.raw_value">Mobile: <field name="partner_mobile"/><br/></t>
|
||||
<t t-if="record.title_action.raw_value"><field name="title_action"/><br/></t>
|
||||
<field name="date_action"/>
|
||||
</div>
|
||||
<div style="padding-left: 0.5em">
|
||||
<t t-if="record.date_action.raw_value and record.date_action.raw_value lt (new Date())" t-set="red">oe_kanban_text_red</t>
|
||||
<span t-attf-class="#{red || ''}"><field name="date_action"/></span>
|
||||
<t t-if="record.date_action.raw_value"> : </t>
|
||||
<field name="title_action"/>
|
||||
</div>
|
||||
<div style="width:240px"><field name="categ_ids"/></div>
|
||||
<div class="oe_kanban_right">
|
||||
<t t-set="priority" t-value="record.priority.raw_value || 5"/>
|
||||
<a type="object" name="set_priority" args="['3']" t-if="priority gt 3">
|
||||
@@ -285,7 +290,6 @@
|
||||
</div>
|
||||
<div class="oe_kanban_footer_left" style="margin-top:5px;">
|
||||
<t t-raw="record.message_summary.raw_value"/>
|
||||
<field name="categ_ids"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_clear"></div>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<record id="hr_applicant_comp_rule" model="ir.rule">
|
||||
<field name="name">Applicant multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_applicant"/>
|
||||
<field name="model_id" ref="model_hr_applicant"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
|
||||
{
|
||||
'name': 'Timesheets',
|
||||
'name': 'Time Tracking',
|
||||
'version': '1.0',
|
||||
'category': 'Human Resources',
|
||||
'sequence': 23,
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<field name="product_uom_id" ref="product.product_uom_hour"/>
|
||||
<field name="account_id" ref="account.analytic_administratif"></field>
|
||||
<field eval="-60.00" name="amount"/>
|
||||
<field name="general_account_id" model="account.account" ref="account.a_expense"/>
|
||||
<field name="general_account_id" ref="account.a_expense"/>
|
||||
<field name="journal_id" ref="analytic_journal"/>
|
||||
</record>
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<field name="product_uom_id" ref="product.product_uom_hour"/>
|
||||
<field name="account_id" ref="account.analytic_administratif"></field>
|
||||
<field eval="-30.00" name="amount"/>
|
||||
<field name="general_account_id" model="account.account" ref="account.a_expense"/>
|
||||
<field name="general_account_id" ref="account.a_expense"/>
|
||||
<field name="journal_id" ref="analytic_journal"/>
|
||||
</record>
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
<field name="product_uom_id" ref="product.product_uom_hour"/>
|
||||
<field name="account_id" ref="account.analytic_administratif"></field>
|
||||
<field eval="-90.00" name="amount"/>
|
||||
<field name="general_account_id" model="account.account" ref="account.a_expense"/>
|
||||
<field name="general_account_id" ref="account.a_expense"/>
|
||||
<field name="journal_id" ref="analytic_journal"/>
|
||||
</record>
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
<field name="product_uom_id" ref="product.product_uom_hour"/>
|
||||
<field name="account_id" ref="account.analytic_administratif"></field>
|
||||
<field eval="-30.00" name="amount"/>
|
||||
<field name="general_account_id" model="account.account" ref="account.a_expense"/>
|
||||
<field name="general_account_id" ref="account.a_expense"/>
|
||||
<field name="journal_id" ref="analytic_journal"/>
|
||||
</record>
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
<field name="product_uom_id" ref="product.product_uom_hour"/>
|
||||
<field name="account_id" ref="account.analytic_administratif"></field>
|
||||
<field eval="-30.00" name="amount"/>
|
||||
<field name="general_account_id" model="account.account" ref="account.a_expense"/>
|
||||
<field name="general_account_id" ref="account.a_expense"/>
|
||||
<field name="journal_id" ref="analytic_journal"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
|
||||
<record id="property_rule_timesheet_manager" model="ir.rule">
|
||||
<field name="name">Manager HR Analytic Timesheet</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_analytic_timesheet"/>
|
||||
<field name="model_id" ref="model_hr_analytic_timesheet"/>
|
||||
<field name="domain_force">[(1,'=',1)]</field>
|
||||
<field name="groups" eval="[(4,ref('base.group_hr_manager')), (4,ref('base.group_hr_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="property_rule_timesheet_employee" model="ir.rule">
|
||||
<field name="name">Employee HR Analytic Timesheet</field>
|
||||
<field model="ir.model" name="model_id" ref="model_hr_analytic_timesheet"/>
|
||||
<field name="model_id" ref="model_hr_analytic_timesheet"/>
|
||||
<field name="domain_force">[('user_id', '=', user.id)]</field>
|
||||
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
|
||||
</record>
|
||||
|
||||
@@ -100,24 +100,24 @@
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Sign in/out"""" name="name"/>
|
||||
<field eval=""""The employee signs in and signs out."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_drafttimesheetsheet0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_attendance0"/>
|
||||
<field name="target_node_id" ref="process_node_drafttimesheetsheet0"/>
|
||||
<field name="source_node_id" ref="process_node_attendance0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_timesheetdraft0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Service"""" name="name"/>
|
||||
<field eval=""""The timesheet line represents the time spent by the employee on a specific service provided."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_drafttimesheetsheet0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_timesheet0"/>
|
||||
<field name="target_node_id" ref="process_node_drafttimesheetsheet0"/>
|
||||
<field name="source_node_id" ref="process_node_timesheet0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_confirmtimesheet0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Confirmation"""" name="name"/>
|
||||
<field eval=""""The employee periodically confirms his own timesheets."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_confirmedtimesheet0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_drafttimesheetsheet0"/>
|
||||
<field name="target_node_id" ref="process_node_confirmedtimesheet0"/>
|
||||
<field name="source_node_id" ref="process_node_drafttimesheetsheet0"/>
|
||||
<field eval="[(6,0,[ref('hr_timesheet_sheet.t1')])]" name="transition_ids"/>
|
||||
</record>
|
||||
|
||||
@@ -125,24 +125,24 @@
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Validation"""" name="name"/>
|
||||
<field eval=""""The project manager validates the timesheets."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_validatedtimesheet0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_confirmedtimesheet0"/>
|
||||
<field name="target_node_id" ref="process_node_validatedtimesheet0"/>
|
||||
<field name="source_node_id" ref="process_node_confirmedtimesheet0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_invoiceontimesheet0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Billing"""" name="name"/>
|
||||
<field eval=""""The invoice is created based on the timesheet."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_invoiceonwork0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_confirmedtimesheet0"/>
|
||||
<field name="target_node_id" ref="process_node_invoiceonwork0"/>
|
||||
<field name="source_node_id" ref="process_node_confirmedtimesheet0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_tasktimesheet0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Task timesheet"""" name="name"/>
|
||||
<field eval=""""Moves task entry into the timesheet line"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_timesheet0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_workontask0"/>
|
||||
<field name="target_node_id" ref="process_node_timesheet0"/>
|
||||
<field name="source_node_id" ref="process_node_workontask0"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
@@ -8,38 +7,38 @@
|
||||
-->
|
||||
<record id="state_SJ" model="res.country.state">
|
||||
<field name="code">SJ</field>
|
||||
<field name="name">San José</field>
|
||||
<field model="res.country" name="country_id" ref="base.cr"/>
|
||||
<field name="name">San José</field>
|
||||
<field name="country_id" ref="base.cr"/>
|
||||
</record>
|
||||
<record id="state_A" model="res.country.state">
|
||||
<field name="code">A</field>
|
||||
<field name="name">Alajuela</field>
|
||||
<field model="res.country" name="country_id" ref="base.cr"/>
|
||||
<field name="country_id" ref="base.cr"/>
|
||||
</record>
|
||||
<record id="state_H" model="res.country.state">
|
||||
<field name="code">H</field>
|
||||
<field name="name">Heredia</field>
|
||||
<field model="res.country" name="country_id" ref="base.cr"/>
|
||||
<field name="country_id" ref="base.cr"/>
|
||||
</record>
|
||||
<record id="state_C" model="res.country.state">
|
||||
<field name="code">C</field>
|
||||
<field name="name">Cartago</field>
|
||||
<field model="res.country" name="country_id" ref="base.cr"/>
|
||||
<field name="country_id" ref="base.cr"/>
|
||||
</record>
|
||||
<record id="state_P" model="res.country.state">
|
||||
<field name="code">P</field>
|
||||
<field name="name">Puntarenas</field>
|
||||
<field model="res.country" name="country_id" ref="base.cr"/>
|
||||
<field name="country_id" ref="base.cr"/>
|
||||
</record>
|
||||
<record id="state_G" model="res.country.state">
|
||||
<field name="code">G</field>
|
||||
<field name="name">Guanacaste</field>
|
||||
<field model="res.country" name="country_id" ref="base.cr"/>
|
||||
<field name="country_id" ref="base.cr"/>
|
||||
</record>
|
||||
<record id="state_L" model="res.country.state">
|
||||
<field name="code">L</field>
|
||||
<field name="name">Limón</field>
|
||||
<field model="res.country" name="country_id" ref="base.cr"/>
|
||||
<field name="name">Limón</field>
|
||||
<field name="country_id" ref="base.cr"/>
|
||||
</record>
|
||||
<!--
|
||||
Resource: res.partner.title
|
||||
@@ -71,7 +70,7 @@
|
||||
<field name="domain">contact</field>
|
||||
</record>
|
||||
<record id="res_partner_title_sal" model="res.partner.title">
|
||||
<field name="name">Sociedad Anónima Laboral</field>
|
||||
<field name="name">Sociedad Anónima Laboral</field>
|
||||
<field name="shortcut">S.A.L.</field>
|
||||
<field name="domain">partner</field>
|
||||
</record>
|
||||
@@ -136,4 +135,4 @@
|
||||
<field name="domain">contact</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
@@ -9,7 +9,6 @@
|
||||
<a href="https://www.openerp.com/saas_master/demo?lang=en_US&module=crm">
|
||||
<img src="mail_sc_00.png">
|
||||
</a>
|
||||
<span class="oe_demo_play"> </span>
|
||||
<div class="oe_demo_footer oe_centeralign">Online Demo</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -175,4 +174,5 @@ for your own company. Follow people, share best practices, 'like' top ideas, etc
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="oe_container oe_separator"/>
|
||||
<section class="oe_container oe_separator">
|
||||
</section>
|
||||
|
||||
@@ -27,6 +27,7 @@ from urlparse import urljoin
|
||||
|
||||
from openerp import tools
|
||||
from openerp import SUPERUSER_ID
|
||||
from openerp.addons.base.ir.ir_mail_server import MailDeliveryException
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.tools.translate import _
|
||||
|
||||
@@ -292,7 +293,7 @@ class mail_mail(osv.Model):
|
||||
'email_to': email_to,
|
||||
}
|
||||
|
||||
def send(self, cr, uid, ids, auto_commit=False, context=None):
|
||||
def send(self, cr, uid, ids, auto_commit=False, raise_exception=False, context=None):
|
||||
""" Sends the selected emails immediately, ignoring their current
|
||||
state (mails that have already been sent should not be passed
|
||||
unless they should actually be re-sent).
|
||||
@@ -303,6 +304,8 @@ class mail_mail(osv.Model):
|
||||
:param bool auto_commit: whether to force a commit of the mail status
|
||||
after sending each mail (meant only for scheduler processing);
|
||||
should never be True during normal transactions (default: False)
|
||||
:param bool raise_exception: whether to raise an exception if the
|
||||
email sending process has failed
|
||||
:return: True
|
||||
"""
|
||||
ir_mail_server = self.pool.get('ir.mail_server')
|
||||
@@ -348,9 +351,16 @@ class mail_mail(osv.Model):
|
||||
# see revid:odo@openerp.com-20120622152536-42b2s28lvdv3odyr in 6.1
|
||||
if mail_sent:
|
||||
self._postprocess_sent_message(cr, uid, mail, context=context)
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
_logger.exception('failed sending mail.mail %s', mail.id)
|
||||
mail.write({'state': 'exception'})
|
||||
if raise_exception:
|
||||
if isinstance(e, AssertionError):
|
||||
# get the args of the original error, wrap into a value and throw a MailDeliveryException
|
||||
# that is an except_orm, with name and value as arguments
|
||||
value = '. '.join(e.args)
|
||||
raise MailDeliveryException(_("Mail Delivery Failed"), value)
|
||||
raise
|
||||
|
||||
if auto_commit == True:
|
||||
cr.commit()
|
||||
|
||||
@@ -6,6 +6,11 @@
|
||||
<field name="model">mail.mail</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Email message" version="7.0">
|
||||
<header>
|
||||
<button name="send" string="Send Now" type="object" states='outgoing' class="oe_highlight"/>
|
||||
<button name="mark_outgoing" string="Retry" type="object" states='exception,cancel'/>
|
||||
<button name="cancel" string="Cancel" type="object" states='outgoing'/>
|
||||
</header>
|
||||
<sheet>
|
||||
<label for="subject" class="oe_edit_only"/>
|
||||
<h2><field name="subject"/></h2>
|
||||
|
||||
@@ -27,6 +27,7 @@ from openerp import SUPERUSER_ID
|
||||
from openerp.osv import osv, orm, fields
|
||||
from openerp.tools import html_email_clean
|
||||
from openerp.tools.translate import _
|
||||
from HTMLParser import HTMLParser
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -43,6 +44,19 @@ def decode(text):
|
||||
text = decode_header(text.replace('\r', ''))
|
||||
return ''.join([tools.ustr(x[0], x[1]) for x in text])
|
||||
|
||||
class MLStripper(HTMLParser):
|
||||
def __init__(self):
|
||||
self.reset()
|
||||
self.fed = []
|
||||
def handle_data(self, d):
|
||||
self.fed.append(d)
|
||||
def get_data(self):
|
||||
return ''.join(self.fed)
|
||||
|
||||
def strip_tags(html):
|
||||
s = MLStripper()
|
||||
s.feed(html)
|
||||
return s.get_data()
|
||||
|
||||
class mail_message(osv.Model):
|
||||
""" Messages model: system notification (replacing res.log notifications),
|
||||
@@ -125,7 +139,7 @@ class mail_message(osv.Model):
|
||||
ids = [ids]
|
||||
res = []
|
||||
for message in self.browse(cr, uid, ids, context=context):
|
||||
name = '%s: %s' % (message.subject or '', message.body or '')
|
||||
name = '%s: %s' % (message.subject or '', strip_tags(message.body or '') or '')
|
||||
res.append((message.id, self._shorten_name(name.lstrip(' :'))))
|
||||
return res
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<field name="signature" position="before">
|
||||
<field name="notification_email_send"/>
|
||||
</field>
|
||||
<field name="email" position="after">
|
||||
<field name="signature" position="before">
|
||||
<field name="alias_domain" invisible="1"/>
|
||||
<field name="alias_id" readonly="1" required="0" attrs="{'invisible': [('alias_domain', '=', False)]}"/>
|
||||
</field>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data>
|
||||
<!-- Email tempalte -->
|
||||
@@ -66,13 +65,13 @@
|
||||
|
||||
<!-- Transition -->
|
||||
<record id="marketing_campaign_transition_0" model="marketing.campaign.transition">
|
||||
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_0"/>
|
||||
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_1"/>
|
||||
<field name="activity_from_id" ref="marketing_campaign_activity_0"/>
|
||||
<field name="activity_to_id" ref="marketing_campaign_activity_1"/>
|
||||
</record>
|
||||
|
||||
<record id="marketing_campaign_transition_1" model="marketing.campaign.transition">
|
||||
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_1"/>
|
||||
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_2"/>
|
||||
<field name="activity_from_id" ref="marketing_campaign_activity_1"/>
|
||||
<field name="activity_to_id" ref="marketing_campaign_activity_2"/>
|
||||
</record>
|
||||
|
||||
<!-- Segment -->
|
||||
@@ -85,9 +84,9 @@
|
||||
<field eval="time.strftime('%Y-%m-%d %H:%M:%S')" name="date_run"/>
|
||||
<field name="name">OpenERP Partner</field>
|
||||
<field name="sync_mode">create_date</field>
|
||||
<field name="ir_filter_id" ref="filter0"></field>
|
||||
<field name="ir_filter_id" ref="filter0"/>
|
||||
<field name="campaign_id" ref="marketing_campaign_openerppartnerchannel"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
@@ -1,11 +1,10 @@
|
||||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="action_dummy" model="ir.actions.server">
|
||||
<field name="name">Dummy Action</field>
|
||||
<field name="model_id" ref="crm.model_crm_lead"/>
|
||||
<field name="state">dummy</field>
|
||||
<field name="code"></field>
|
||||
<field name="code"/>
|
||||
<field eval="5" name="sequence"/>
|
||||
<field eval="True" name="condition"/>
|
||||
</record>
|
||||
@@ -40,10 +39,10 @@
|
||||
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
|
||||
<field name="model_id" ref="crm.model_crm_lead"/>
|
||||
<field eval="0" name="user_signature"/>
|
||||
<field name="body_html"><![CDATA[<p>Hello,</p>
|
||||
<p>Thanks for the genuine interest you have shown in OpenERP.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p>]]></field>
|
||||
<field name="body_html"><p>Hello,</p>
|
||||
<p>Thanks for the genuine interest you have shown in OpenERP.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p></field>
|
||||
<field name="name">For OpenERP OnDemand Free Trial 2010</field>
|
||||
</record>
|
||||
<record id="email_template_2" model="email.template">
|
||||
@@ -53,11 +52,11 @@
|
||||
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
|
||||
<field name="model_id" ref="crm.model_crm_lead"/>
|
||||
<field eval="0" name="user_signature"/>
|
||||
<field name="body_html"><![CDATA[<p>Hello,</p>
|
||||
<p>We have very good offer that might suit you.
|
||||
We suggest you subscribe to the OpenERP Discovery Day on May 2010.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p>]]></field>
|
||||
<field name="body_html"><p>Hello,</p>
|
||||
<p>We have very good offer that might suit you.
|
||||
We suggest you subscribe to the OpenERP Discovery Day on May 2010.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p></field>
|
||||
<field name="name">For OpenERP Discovery Day on May 2010</field>
|
||||
</record>
|
||||
|
||||
@@ -68,10 +67,10 @@
|
||||
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
|
||||
<field name="model_id" ref="crm.model_crm_lead"/>
|
||||
<field eval="0" name="user_signature"/>
|
||||
<field name="body_html"><![CDATA[<p>Hello,</p>
|
||||
<p>Thanks for showing interest and for subscribing to the OpenERP Discovery Day.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p>]]></field>
|
||||
<field name="body_html"><p>Hello,</p>
|
||||
<p>Thanks for showing interest and for subscribing to the OpenERP Discovery Day.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p></field>
|
||||
<field name="name">For OpenERP Discovery Day</field>
|
||||
</record>
|
||||
|
||||
@@ -82,10 +81,10 @@
|
||||
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
|
||||
<field name="model_id" ref="crm.model_crm_lead"/>
|
||||
<field eval="0" name="user_signature"/>
|
||||
<field name="body_html"><![CDATA[<p>Hello,</p>
|
||||
<p>Thanks for showing interest and buying the OpenERP book.</p>
|
||||
<field name="body_html"><p>Hello,</p>
|
||||
<p>Thanks for showing interest and buying the OpenERP book.</p>
|
||||
If any further information required kindly revert back.
|
||||
<p>Regards,OpenERP Team,</p>]]></field>
|
||||
<p>Regards,OpenERP Team,</p></field>
|
||||
<field name="name">For OpenERP book</field>
|
||||
</record>
|
||||
|
||||
@@ -95,11 +94,11 @@
|
||||
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
|
||||
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
|
||||
<field eval="0" name="user_signature"/>
|
||||
<field name="body_html"><![CDATA[<p>Hello,</p>
|
||||
<p>We have very good offer that might suit you.
|
||||
For our gold partners,We are arranging free technical training on june,2010.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p>]]></field>
|
||||
<field name="body_html"><p>Hello,</p>
|
||||
<p>We have very good offer that might suit you.
|
||||
For our gold partners,We are arranging free technical training on june,2010.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p></field>
|
||||
<field name="name">technical training to gold partners</field>
|
||||
</record>
|
||||
|
||||
@@ -110,11 +109,11 @@
|
||||
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
|
||||
<field name="model_id" ref="crm.model_crm_lead"/>
|
||||
<field eval="0" name="user_signature"/>
|
||||
<field name="body_html"><![CDATA[<p>Hello,</p>
|
||||
<p>We have very good offer that might suit you.
|
||||
For our silver partners,We are paid technical training on june,2010.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p>]]></field>
|
||||
<field name="body_html"><p>Hello,</p>
|
||||
<p>We have very good offer that might suit you.
|
||||
For our silver partners,We are paid technical training on june,2010.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p></field>
|
||||
<field name="name">training to silver partners</field>
|
||||
</record>
|
||||
|
||||
@@ -125,11 +124,11 @@
|
||||
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
|
||||
<field name="model_id" ref="crm.model_crm_lead"/>
|
||||
<field eval="0" name="user_signature"/>
|
||||
<field name="body_html"><![CDATA[<p>Hello,</p>
|
||||
<p>We have very good offer that might suit you.
|
||||
For our silver partners, we are offering Gold partnership.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p>]]></field>
|
||||
<field name="body_html"><p>Hello,</p>
|
||||
<p>We have very good offer that might suit you.
|
||||
For our silver partners, we are offering Gold partnership.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p></field>
|
||||
<field name="name">gold partnership to silver partners</field>
|
||||
</record>
|
||||
|
||||
@@ -140,11 +139,11 @@
|
||||
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
|
||||
<field name="model_id" ref="crm.model_crm_lead"/>
|
||||
<field eval="0" name="user_signature"/>
|
||||
<field name="body_html"><![CDATA[<p>Hello,</p>
|
||||
<p>Thanks for showing interest and for subscribing to technical training.</p>
|
||||
If any further information required kindly revert back.I really appreciate your co-operation on this.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p>]]></field>
|
||||
<field name="body_html"><p>Hello,</p>
|
||||
<p>Thanks for showing interest and for subscribing to technical training.</p>
|
||||
If any further information required kindly revert back.I really appreciate your co-operation on this.</p>
|
||||
<p>If any further information is required, do not hesitate to reply to this message.</p>
|
||||
<p>Regards,OpenERP Team,</p></field>
|
||||
<field name="name">subscribing to technical training</field>
|
||||
</record>
|
||||
<!-- Report -->
|
||||
@@ -171,7 +170,7 @@
|
||||
<record id="marketing_campaign_activity_0" model="marketing.campaign.activity">
|
||||
<field name="name">Propose a 1 month free trial for an OnDemand offer</field>
|
||||
<field name="server_action_id" ref="action_dummy"/>
|
||||
<field model="marketing.campaign" name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="report_directory_id" ref="document_directory_campaign1"/>
|
||||
<field name="type">report</field>
|
||||
<field eval="1" name="start"/>
|
||||
@@ -180,27 +179,27 @@
|
||||
<record id="marketing_campaign_activity_1" model="marketing.campaign.activity">
|
||||
<field name="name">Thanks for showing interest</field>
|
||||
<field name="server_action_id" ref="action_dummy"/>
|
||||
<field model="marketing.campaign" name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="email_template_id" ref="email_template_1"/>
|
||||
</record>
|
||||
|
||||
<record id="marketing_campaign_activity_2" model="marketing.campaign.activity">
|
||||
<field name="name">Propose to subscribe to the OpenERP Discovery Day on May 2010</field>
|
||||
<field name="server_action_id" ref="action_dummy"/>
|
||||
<field model="marketing.campaign" name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="email_template_id" ref="email_template_2"/>
|
||||
</record>
|
||||
|
||||
<record id="marketing_campaign_activity_3" model="marketing.campaign.activity">
|
||||
<field name="name">Thanks for subscribing to the OpenERP Discovery Day</field>
|
||||
<field name="server_action_id" ref="action_dummy"/>
|
||||
<field model="marketing.campaign" name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="email_template_id" ref="email_template_3"/>
|
||||
</record>
|
||||
<record id="marketing_campaign_activity_4" model="marketing.campaign.activity">
|
||||
<field name="name">Propose to buy the OpenERP Book</field>
|
||||
<field name="server_action_id" ref="action_dummy"/>
|
||||
<field model="marketing.campaign" name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="report_directory_id" ref="document_directory_campaign1"/>
|
||||
<field name="type">report</field>
|
||||
<field name="report_id" ref="mc_crm_lead_demo_report"/>
|
||||
@@ -209,81 +208,81 @@
|
||||
<record id="marketing_campaign_activity_5" model="marketing.campaign.activity">
|
||||
<field name="name">Thanks for buying the OpenERP book</field>
|
||||
<field name="server_action_id" ref="action_dummy"/>
|
||||
<field model="marketing.campaign" name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="email_template_id" ref="email_template_4"/>
|
||||
</record>
|
||||
<record id="marketing_campaign_activity_6" model="marketing.campaign.activity">
|
||||
<field name="name">Propose a free technical training to Gold partners</field>
|
||||
<field name="server_action_id" ref="action_dummy"/>
|
||||
<field model="marketing.campaign" name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="email_template_id" ref="email_template_5"/>
|
||||
</record>
|
||||
<record id="marketing_campaign_activity_7" model="marketing.campaign.activity">
|
||||
<field name="name">Propose paid training to Silver partners</field>
|
||||
<field name="server_action_id" ref="action_dummy"/>
|
||||
<field model="marketing.campaign" name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="email_template_id" ref="email_template_6"/>
|
||||
</record>
|
||||
|
||||
<record id="marketing_campaign_activity_8" model="marketing.campaign.activity">
|
||||
<field name="name">Propose gold partnership to silver partners</field>
|
||||
<field name="server_action_id" ref="action_dummy"/>
|
||||
<field model="marketing.campaign" name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="email_template_id" ref="email_template_7"/>
|
||||
</record>
|
||||
|
||||
<record id="marketing_campaign_activity_9" model="marketing.campaign.activity">
|
||||
<field name="name">Thanks for subscribing to technical training</field>
|
||||
<field name="server_action_id" ref="action_dummy"/>
|
||||
<field model="marketing.campaign" name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="campaign_id" ref="marketing_campaign_openerpondemandfreetrial0"/>
|
||||
<field name="email_template_id" ref="email_template_8"/>
|
||||
</record>
|
||||
|
||||
<!-- Tranisition -->
|
||||
<record id="marketing_campaign_transition_0" model="marketing.campaign.transition">
|
||||
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_0"/>
|
||||
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_1"/>
|
||||
<field name="activity_from_id" ref="marketing_campaign_activity_0"/>
|
||||
<field name="activity_to_id" ref="marketing_campaign_activity_1"/>
|
||||
</record>
|
||||
|
||||
<record id="marketing_campaign_transition_1" model="marketing.campaign.transition">
|
||||
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_0"/>
|
||||
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_2"/>
|
||||
<field name="activity_from_id" ref="marketing_campaign_activity_0"/>
|
||||
<field name="activity_to_id" ref="marketing_campaign_activity_2"/>
|
||||
</record>
|
||||
<record id="marketing_campaign_transition_2" model="marketing.campaign.transition">
|
||||
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_2"/>
|
||||
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_3"/>
|
||||
<field name="activity_from_id" ref="marketing_campaign_activity_2"/>
|
||||
<field name="activity_to_id" ref="marketing_campaign_activity_3"/>
|
||||
</record>
|
||||
<record id="marketing_campaign_transition_3" model="marketing.campaign.transition">
|
||||
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_2"/>
|
||||
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_4"/>
|
||||
<field name="activity_from_id" ref="marketing_campaign_activity_2"/>
|
||||
<field name="activity_to_id" ref="marketing_campaign_activity_4"/>
|
||||
</record>
|
||||
<record id="marketing_campaign_transition_4" model="marketing.campaign.transition">
|
||||
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_4"/>
|
||||
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_5"/>
|
||||
<field name="activity_from_id" ref="marketing_campaign_activity_4"/>
|
||||
<field name="activity_to_id" ref="marketing_campaign_activity_5"/>
|
||||
</record>
|
||||
<record id="marketing_campaign_transition_5" model="marketing.campaign.transition">
|
||||
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_4"/>
|
||||
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_6"/>
|
||||
<field name="activity_from_id" ref="marketing_campaign_activity_4"/>
|
||||
<field name="activity_to_id" ref="marketing_campaign_activity_6"/>
|
||||
</record>
|
||||
<record id="marketing_campaign_transition_6" model="marketing.campaign.transition">
|
||||
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_4"/>
|
||||
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_7"/>
|
||||
<field name="activity_from_id" ref="marketing_campaign_activity_4"/>
|
||||
<field name="activity_to_id" ref="marketing_campaign_activity_7"/>
|
||||
</record>
|
||||
<record id="marketing_campaign_transition_7" model="marketing.campaign.transition">
|
||||
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_6"/>
|
||||
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_9"/>
|
||||
<field name="activity_from_id" ref="marketing_campaign_activity_6"/>
|
||||
<field name="activity_to_id" ref="marketing_campaign_activity_9"/>
|
||||
</record>
|
||||
<record id="marketing_campaign_transition_8" model="marketing.campaign.transition">
|
||||
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_7"/>
|
||||
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_8"/>
|
||||
<field name="activity_from_id" ref="marketing_campaign_activity_7"/>
|
||||
<field name="activity_to_id" ref="marketing_campaign_activity_8"/>
|
||||
</record>
|
||||
<record id="marketing_campaign_transition_9" model="marketing.campaign.transition">
|
||||
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_7"/>
|
||||
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_9"/>
|
||||
<field name="activity_from_id" ref="marketing_campaign_activity_7"/>
|
||||
<field name="activity_to_id" ref="marketing_campaign_activity_9"/>
|
||||
</record>
|
||||
<record id="marketing_campaign_transition_10" model="marketing.campaign.transition">
|
||||
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_9"/>
|
||||
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_1"/>
|
||||
<field name="activity_from_id" ref="marketing_campaign_activity_9"/>
|
||||
<field name="activity_to_id" ref="marketing_campaign_activity_1"/>
|
||||
</record>
|
||||
|
||||
<!-- Segment -->
|
||||
@@ -296,4 +295,4 @@
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
@@ -87,16 +87,16 @@
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Product to member"""" name="name"/>
|
||||
<field eval=""""Define product for membership."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_waitingmember0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_membershipproduct0"/>
|
||||
<field name="target_node_id" ref="process_node_waitingmember0"/>
|
||||
<field name="source_node_id" ref="process_node_membershipproduct0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_waitingtoinvoice0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Waiting to invoice"""" name="name"/>
|
||||
<field eval=""""Draft invoice is now open."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_invoicedmember0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_waitingmember0"/>
|
||||
<field name="target_node_id" ref="process_node_invoicedmember0"/>
|
||||
<field name="source_node_id" ref="process_node_waitingmember0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_action_create0" model="process.transition.action">
|
||||
@@ -110,25 +110,25 @@
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Invoice to paid"""" name="name"/>
|
||||
<field eval=""""Invoice is be paid."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_paidmember0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_invoicedmember0"/>
|
||||
<field name="target_node_id" ref="process_node_paidmember0"/>
|
||||
<field name="source_node_id" ref="process_node_invoicedmember0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_invoicetoassociate0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""invoice to associate"""" name="name"/>
|
||||
<field eval=""""Invoiced member may be Associated member."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_associatedmember0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_invoicedmember0"/>
|
||||
<field name="target_node_id" ref="process_node_associatedmember0"/>
|
||||
<field name="source_node_id" ref="process_node_invoicedmember0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_associationpartner0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Association Partner"""" name="name"/>
|
||||
<field eval=""""Associated partner."""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_associatedmember0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_setassociation0"/>
|
||||
<field name="target_node_id" ref="process_node_associatedmember0"/>
|
||||
<field name="source_node_id" ref="process_node_setassociation0"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
<a href="https://www.openerp.com/saas_master/demo?lang=en_US&module=mrp">
|
||||
<img src="mrp_product.png">
|
||||
</a>
|
||||
<span class="oe_demo_play"> </span>
|
||||
<div class="oe_demo_footer oe_centeralign">Online Demo</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -190,4 +189,5 @@ manufacturing operations.
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="oe_container oe_separator"/>
|
||||
<section class="oe_container oe_separator">
|
||||
</section>
|
||||
|
||||
+56
-57
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2012-07-21 12:33+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2013-06-04 04:00+0000\n"
|
||||
"Last-Translator: erdenebold <erdenebold10@gmail.com>\n"
|
||||
"Language-Team: Mongolian <mn@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: 2013-03-16 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build 16532)\n"
|
||||
"X-Launchpad-Export-Date: 2013-06-05 05:32+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.config.settings,module_mrp_repair:0
|
||||
@@ -48,7 +48,7 @@ msgstr "Дамжлагуудын Ашиглалт"
|
||||
#. module: mrp
|
||||
#: view:mrp.routing.workcenter:0
|
||||
msgid "Routing Work Centers"
|
||||
msgstr "Дамжлагуудын маршрут"
|
||||
msgstr "Шугамын дамжлагууд"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.production.workcenter.line,cycle:0
|
||||
@@ -86,12 +86,12 @@ msgstr ""
|
||||
#: model:ir.actions.act_window,name:mrp.mrp_routing_action
|
||||
#: model:ir.ui.menu,name:mrp.menu_mrp_routing_action
|
||||
msgid "Routings"
|
||||
msgstr "Маршрут"
|
||||
msgstr "Шугам"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.bom:0
|
||||
msgid "Search Bill Of Material"
|
||||
msgstr "Жор Хайх"
|
||||
msgstr "Орц Хайх"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.node,note:mrp.process_node_stockproduct1
|
||||
@@ -112,8 +112,8 @@ msgid ""
|
||||
"Number of iterations this work center has to do in the specified operation "
|
||||
"of the routing."
|
||||
msgstr ""
|
||||
"Үйлдвэрлэлийн нэг маршрутын хувьд уг дамжлага өөрийн үйлдлийг давтан "
|
||||
"гүйцэтгэх давтамжын тоо."
|
||||
"Үйлдвэрлэлийн нэг шугамын хувьд уг дамжлага өөрийн үйлдлийг давтан гүйцэтгэх "
|
||||
"давтамжын тоо."
|
||||
|
||||
#. module: mrp
|
||||
#: view:product.product:0
|
||||
@@ -214,7 +214,7 @@ msgstr ""
|
||||
#: code:addons/mrp/mrp.py:633
|
||||
#, python-format
|
||||
msgid "Cannot cancel manufacturing order!"
|
||||
msgstr ""
|
||||
msgstr "Үйлдвэрийн захиалгыг цуцлах боломжгүй!"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.workcenter,costs_cycle_account_id:0
|
||||
@@ -337,7 +337,7 @@ msgstr "Бараа Үйлдвэрлэх"
|
||||
#. module: mrp
|
||||
#: constraint:mrp.bom:0
|
||||
msgid "Error ! You cannot create recursive BoM."
|
||||
msgstr "Алдаа ! Тойрог хамааралтай жор үүсгэж болохгүй."
|
||||
msgstr "Алдаа ! Тойрог хамааралтай орц үүсгэж болохгүй."
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.model,name:mrp.model_mrp_routing_workcenter
|
||||
@@ -423,7 +423,7 @@ msgstr ""
|
||||
#: field:mrp.production,product_qty:0
|
||||
#: field:mrp.production.product.line,product_qty:0
|
||||
msgid "Product Quantity"
|
||||
msgstr ""
|
||||
msgstr "Барааны тоо"
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.production,picking_id:0
|
||||
@@ -491,13 +491,13 @@ msgstr "Товлогдсон огноо"
|
||||
#: code:addons/mrp/procurement.py:124
|
||||
#, python-format
|
||||
msgid "Manufacturing Order <em>%s</em> created."
|
||||
msgstr ""
|
||||
msgstr "Үйлдвэрлэлийн захиалга <em>%s</em> үүсгэгдлээ."
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.bom:0
|
||||
#: report:mrp.production.order:0
|
||||
msgid "Bill Of Material"
|
||||
msgstr "Жор"
|
||||
msgstr "Орц"
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.routing,location_id:0
|
||||
@@ -518,7 +518,7 @@ msgstr "Нөөцийн Үнийн Хазайлт"
|
||||
#. module: mrp
|
||||
#: model:ir.actions.act_window,name:mrp.action2
|
||||
msgid "Bill of Materials Structure"
|
||||
msgstr "Жорын Бүтэц"
|
||||
msgstr "Орцын Бүтэц"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.node,note:mrp.process_node_serviceproduct0
|
||||
@@ -560,7 +560,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"The Bill of Material is linked to a routing, i.e. the succession of work "
|
||||
"centers."
|
||||
msgstr "Жор нь маршруттай холбогдсон, ө.х. дамжлагуудын цуваанууд"
|
||||
msgstr "Орц нь шугамтай холбогдсон, ө.х. дамжлагуудын цуваанууд"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
@@ -592,7 +592,7 @@ msgstr "Нөөцийн үнэ"
|
||||
#. module: mrp
|
||||
#: model:ir.actions.act_window,name:mrp.action_product_bom_structure
|
||||
msgid "Product BoM Structure"
|
||||
msgstr "Барааны Жорын Бүтэц"
|
||||
msgstr "Барааны Орцын Бүтэц"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
@@ -603,12 +603,12 @@ msgstr "Үйлдвэрлэл Хайх"
|
||||
#: help:mrp.routing.workcenter,sequence:0
|
||||
msgid ""
|
||||
"Gives the sequence order when displaying a list of routing Work Centers."
|
||||
msgstr "Маршруутын дамжлагуудыг жагсаалтаар харуулах дэс дарааллыг өгнө."
|
||||
msgstr "Шугамын дамжлагуудыг жагсаалтаар харуулах дэс дарааллыг өгнө."
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.bom,child_complete_ids:0
|
||||
msgid "BoM Hierarchy"
|
||||
msgstr "Жорын удамшил"
|
||||
msgstr "Орцын удамшил"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.transition,name:mrp.process_transition_stockproduction0
|
||||
@@ -637,7 +637,7 @@ msgstr "Бэлтгэлтийн Сондгойрол"
|
||||
#. module: mrp
|
||||
#: field:mrp.bom,bom_lines:0
|
||||
msgid "BoM Lines"
|
||||
msgstr "Жорын мөрүүд"
|
||||
msgstr "Орцын мөрүүд"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.workcenter,time_start:0
|
||||
@@ -650,13 +650,13 @@ msgid ""
|
||||
"If the active field is set to False, it will allow you to hide the routing "
|
||||
"without removing it."
|
||||
msgstr ""
|
||||
"Идэвхтэй талбар нь худал буюу тэмдэглэгдээгүй байвал машрутыг устгалгүйгээр "
|
||||
"Идэвхтэй талбар нь худал буюу тэмдэглэгдээгүй байвал шугамыг устгалгүйгээр "
|
||||
"нуудаг."
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.transition,name:mrp.process_transition_billofmaterialrouting0
|
||||
msgid "Material Routing"
|
||||
msgstr "Материалын Машрут"
|
||||
msgstr "Материалын Шугам"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
@@ -676,13 +676,13 @@ msgstr "Дамжлагын Ачаалал"
|
||||
#: code:addons/mrp/procurement.py:50
|
||||
#, python-format
|
||||
msgid "No BoM defined for this product !"
|
||||
msgstr "Энэ бараанд жор тодорхойлогдоогүй байна !"
|
||||
msgstr "Энэ бараанд орц тодорхойлогдоогүй байна !"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.actions.act_window,name:mrp.mrp_bom_form_action2
|
||||
#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action2
|
||||
msgid "Bill of Material Components"
|
||||
msgstr "Жорын бүрдэлүүд"
|
||||
msgstr "Орцын бүрдэлүүд"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.model,name:mrp.model_stock_move
|
||||
@@ -708,7 +708,7 @@ msgid ""
|
||||
"operations and to plan future loads on work centers based on production "
|
||||
"plannification."
|
||||
msgstr ""
|
||||
"Эцсийн барааг үйлдвэрлэх үйлдлүүд (дамжлагууд)-н жагсаалт. Машрут гэдэг нь "
|
||||
"Эцсийн барааг үйлдвэрлэх үйлдлүүд (дамжлагууд)-н жагсаалт. Шугам гэдэг нь "
|
||||
"үндсэндээ дамжлагуудын өртөгийг тооцоолох болон ажлын ачааллыг тооцоолоход "
|
||||
"үйлдвэрлэлийн төлөвлөгөөн дээр суурилан бодоход хэрэглэгддэг."
|
||||
|
||||
@@ -734,7 +734,7 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: constraint:mrp.bom:0
|
||||
msgid "BoM line product should not be same as BoM product."
|
||||
msgstr "Жорын мөр нь жорын бараатайгаа ижил байж болохгүй."
|
||||
msgstr "Орцын мөр нь орцын бараатайгаа ижил байж болохгүй."
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
@@ -744,7 +744,7 @@ msgstr "Үйлдвэрлэгдэж буй"
|
||||
#. module: mrp
|
||||
#: model:ir.ui.menu,name:mrp.menu_mrp_property
|
||||
msgid "Master Bill of Materials"
|
||||
msgstr "Мастер жор"
|
||||
msgstr "Мастер орц"
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.config.settings,module_product_manufacturer:0
|
||||
@@ -907,7 +907,7 @@ msgid ""
|
||||
"All product quantities must be greater than 0.\n"
|
||||
"You should install the mrp_byproduct module if you want to manage extra "
|
||||
"products on BoMs !"
|
||||
msgstr ""
|
||||
msgstr "Бүх бүтээгдэхүүнийг тоог 0-оос эхэлж үүсгэнэ."
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
@@ -954,7 +954,7 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: field:mrp.bom,type:0
|
||||
msgid "BoM Type"
|
||||
msgstr "Жорын төрөл"
|
||||
msgstr "Орцын төрөл"
|
||||
|
||||
#. module: mrp
|
||||
#: code:addons/mrp/procurement.py:52
|
||||
@@ -962,7 +962,7 @@ msgstr "Жорын төрөл"
|
||||
msgid ""
|
||||
"Procurement '%s' has an exception: 'No BoM defined for this product !'"
|
||||
msgstr ""
|
||||
"'%s' татан авалтад сондгойрол байна: 'Бараанд жор тодорхойлогдоогүй !'"
|
||||
"'%s' татан авалтад сондгойрол байна: 'Бараанд орц тодорхойлогдоогүй !'"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.property:0
|
||||
@@ -1077,7 +1077,7 @@ msgstr "Нөөцлүүлэх"
|
||||
#. module: mrp
|
||||
#: report:bom.structure:0
|
||||
msgid "BOM Name"
|
||||
msgstr "Жорын нэр"
|
||||
msgstr "Орцын нэр"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.actions.act_window,name:mrp.act_product_manufacturing_open
|
||||
@@ -1167,7 +1167,7 @@ msgstr "Хийгдэж байгаа үйлдвэрлэлийн захиалгу
|
||||
#. module: mrp
|
||||
#: model:ir.actions.client,name:mrp.action_client_mrp_menu
|
||||
msgid "Open MRP Menu"
|
||||
msgstr ""
|
||||
msgstr "Нээлттэй MRP цэс"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.actions.act_window,name:mrp.mrp_production_action4
|
||||
@@ -1194,7 +1194,7 @@ msgstr "Циклийн Өртөг"
|
||||
#: code:addons/mrp/wizard/change_production_qty.py:88
|
||||
#, python-format
|
||||
msgid "Cannot find bill of material for this product."
|
||||
msgstr ""
|
||||
msgstr "Энэ бараа материалаар хайх боломжгүй."
|
||||
|
||||
#. module: mrp
|
||||
#: selection:mrp.workcenter.load,measure_unit:0
|
||||
@@ -1216,8 +1216,7 @@ msgstr "Нөөцүүд"
|
||||
msgid ""
|
||||
"Time in hours for this Work Center to achieve the operation of the specified "
|
||||
"routing."
|
||||
msgstr ""
|
||||
"Заагдсан маршрутын үйлдлийг гүйцэтгэхэд энэ дамжлагын хугацаа цагаар."
|
||||
msgstr "Заагдсан шугамын үйлдлийг гүйцэтгэхэд энэ дамжлагын хугацаа цагаар."
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.workcenter,costs_journal_id:0
|
||||
@@ -1272,7 +1271,7 @@ msgstr "Үйлдвэрлэлийг эхлүүлэхэд бэлэн Үйлдвэ
|
||||
#: field:mrp.production,bom_id:0
|
||||
#: model:process.node,name:mrp.process_node_billofmaterial0
|
||||
msgid "Bill of Material"
|
||||
msgstr "Жор"
|
||||
msgstr "Орц"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.workcenter.load:0
|
||||
@@ -1304,9 +1303,9 @@ msgid ""
|
||||
"Routing is indicated then,the third tab of a production order (Work Centers) "
|
||||
"will be automatically pre-completed."
|
||||
msgstr ""
|
||||
"Маршрут нь дамжлагууд ямар хугацаагаар хэдэн циклээр ашиглагдахыг "
|
||||
"илэрхийлдэг. Хэрэв маршрут байгаа бол гурав дахь үйлдвэрлэлийн дарааллын "
|
||||
"хавтас автоматаар бөглөгддөг."
|
||||
"Шугам нь дамжлагууд ямар хугацаагаар хэдэн циклээр ашиглагдахыг илэрхийлдэг. "
|
||||
"Хэрэв шугам байгаа бол гурав дахь үйлдвэрлэлийн дарааллын хавтас автоматаар "
|
||||
"бөглөгддөг."
|
||||
|
||||
#. module: mrp
|
||||
#: code:addons/mrp/mrp.py:505
|
||||
@@ -1431,7 +1430,7 @@ msgstr "Үйлдвэрлэлийн дамжлагыг хайх"
|
||||
#. module: mrp
|
||||
#: view:mrp.bom:0
|
||||
msgid "BoM Structure"
|
||||
msgstr "Жорын бүтэц"
|
||||
msgstr "Орцын бүтэц"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.production,date_start:0
|
||||
@@ -1541,7 +1540,7 @@ msgstr "БЗ Дугаар"
|
||||
#: code:addons/mrp/mrp.py:505
|
||||
#, python-format
|
||||
msgid "Cannot delete a manufacturing order in state '%s'."
|
||||
msgstr ""
|
||||
msgstr "Үйлдвэрлэлийн захиалгын '%s' төлөвт устгах боломжгүй."
|
||||
|
||||
#. module: mrp
|
||||
#: selection:mrp.production,state:0
|
||||
@@ -1689,7 +1688,7 @@ msgstr "Нөөц"
|
||||
#: help:mrp.bom,date_stop:0
|
||||
msgid "Validity of this BoM or component. Keep empty if it's always valid."
|
||||
msgstr ""
|
||||
"Энэ жор эсвэл бүрэлдхүүний зөв эсэхийн шалгалт. Хэрэв байнга зөв бол хоосон "
|
||||
"Орц эсвэл бүрэлдэхүүний зөв эсэхийн шалгалт. Хэрэв байнга зөв бол хоосон "
|
||||
"үлдээнэ."
|
||||
|
||||
#. module: mrp
|
||||
@@ -1710,7 +1709,7 @@ msgid ""
|
||||
"operations and to plan future loads on work centers based on production "
|
||||
"planning."
|
||||
msgstr ""
|
||||
"Барааг үйлдвэрлэх үйлдлийн жагсаалт (дамжлагын жагсаалт). Машрут нь "
|
||||
"Барааг үйлдвэрлэх үйлдлийн жагсаалт (дамжлагын жагсаалт). Шугам нь "
|
||||
"үйлдвэрлэлийн захиалга дээр үндэслэн дамжлагуудын өртөгийг тооцох, ажлын "
|
||||
"ирээдүйн ачааллыг тооцоолох зэрэгт голчлон хэрэглэгддэг."
|
||||
|
||||
@@ -1816,8 +1815,8 @@ msgid ""
|
||||
"are products themselves) can also have their own Bill of Material (multi-"
|
||||
"level)."
|
||||
msgstr ""
|
||||
"Жор гэдэг нь барааны задаргаа юм. Бүрэлдхүүнүүд (мөн бараанууд) нь мөн "
|
||||
"өөрийн жортой буюу олон түвшний жор байж болно."
|
||||
"Орц гэдэг нь барааны задаргаа юм. Бүрэлдэхүүнүүд (мөн бараанууд) нь мөн "
|
||||
"өөрийн орцтой буюу олон түвшний орц байж болно."
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.bom,company_id:0
|
||||
@@ -1882,7 +1881,7 @@ msgstr "Бүрэлдэхүүнүүд"
|
||||
#: report:bom.structure:0
|
||||
#: model:ir.actions.report.xml,name:mrp.report_bom_structure
|
||||
msgid "BOM Structure"
|
||||
msgstr "Жорын бүтэц"
|
||||
msgstr "Орцын бүтэц"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.config.settings,module_mrp_jit:0
|
||||
@@ -1902,7 +1901,7 @@ msgstr "Хүчинтэй байх эхлэл"
|
||||
#. module: mrp
|
||||
#: selection:mrp.bom,type:0
|
||||
msgid "Normal BoM"
|
||||
msgstr "Хэвийн жор"
|
||||
msgstr "Хэвийн орц"
|
||||
|
||||
#. module: mrp
|
||||
#: field:res.company,manufacturing_lead:0
|
||||
@@ -1958,7 +1957,7 @@ msgid ""
|
||||
"If the active field is set to False, it will allow you to hide the bills of "
|
||||
"material without removing it."
|
||||
msgstr ""
|
||||
"Идэвхтэй талбар худал буюу тэмдэглэгдээгүй бол жорыг устгалгүйгээр нууна."
|
||||
"Идэвхтэй талбар худал буюу тэмдэглэгдээгүй бол орцыг устгалгүйгээр нууна."
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.bom,product_rounding:0
|
||||
@@ -2083,7 +2082,7 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: field:procurement.order,bom_id:0
|
||||
msgid "BoM"
|
||||
msgstr "Жор"
|
||||
msgstr "Орц"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.model,name:mrp.model_report_mrp_inout
|
||||
@@ -2145,12 +2144,12 @@ msgstr "Хангах болон Үйлдвэрлэх"
|
||||
#. module: mrp
|
||||
#: field:mrp.bom,bom_id:0
|
||||
msgid "Parent BoM"
|
||||
msgstr "Эцэг жор"
|
||||
msgstr "Эцэг орц"
|
||||
|
||||
#. module: mrp
|
||||
#: report:bom.structure:0
|
||||
msgid "BOM Ref"
|
||||
msgstr "Жорын код"
|
||||
msgstr "Орцын код"
|
||||
|
||||
#. module: mrp
|
||||
#: code:addons/mrp/mrp.py:765
|
||||
@@ -2190,7 +2189,7 @@ msgstr "Тоо хэмжээг сонго"
|
||||
#: view:product.product:0
|
||||
#: field:product.product,bom_ids:0
|
||||
msgid "Bill of Materials"
|
||||
msgstr "Жорууд"
|
||||
msgstr "Орцууд"
|
||||
|
||||
#. module: mrp
|
||||
#: code:addons/mrp/mrp.py:610
|
||||
@@ -2322,7 +2321,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"a manufacturing\n"
|
||||
" order"
|
||||
msgstr ""
|
||||
msgstr "үйлдвэрлэл"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.config.settings,group_mrp_properties:0
|
||||
@@ -2344,7 +2343,7 @@ msgstr "Үзүүлэлтийн бүлэгүүд"
|
||||
#: view:mrp.routing:0
|
||||
#: model:process.node,name:mrp.process_node_routing0
|
||||
msgid "Routing"
|
||||
msgstr "Маршрут"
|
||||
msgstr "Шугам"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.transition,note:mrp.process_transition_procurestockableproduct0
|
||||
@@ -2390,8 +2389,8 @@ msgid ""
|
||||
"the BOM, through a run of the schedulers (MRP)."
|
||||
msgstr ""
|
||||
"Түүхий эдийг хангахын тулд (худалдан авах эсвэл үйлдвэрлэх) үйлдвэрлэлийн "
|
||||
"захиалга нь жорд тодорхойлогдсон бүрдлүүдээр татан авах захиалга үүсгэдэг ба "
|
||||
"энэ нь товлогчийг ажиллахад үүсдэг."
|
||||
"захиалга нь орцонд тодорхойлогдсон бүрдлүүдээр татан авах захиалга үүсгэдэг "
|
||||
"ба энэ нь товлогчийг ажиллахад үүсдэг."
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.product_price,number:0
|
||||
@@ -2423,7 +2422,7 @@ msgstr "Нөөцийн Амралт, Чөлөө"
|
||||
#. module: mrp
|
||||
#: help:mrp.bom,sequence:0
|
||||
msgid "Gives the sequence order when displaying a list of bills of material."
|
||||
msgstr "Жорын жагсаалтыг харуулах дэс дарааллыг өгдөг."
|
||||
msgstr "Орцын жагсаалтыг харуулах дэс дарааллыг өгдөг."
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.model,name:mrp.model_mrp_config_settings
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user