[MERGE]: Merge with lp:~openerp-dev/openobject-addons/trunk-dev-addons2
bzr revid: rpa@tinyerp.com-20100517053521-1cl5ryikxq0g5d5e
This commit is contained in:
commit
67b85ade2d
|
@ -160,5 +160,17 @@ class timesheet_invoice(osv.osv):
|
|||
)""")
|
||||
timesheet_invoice()
|
||||
|
||||
|
||||
class res_partner(osv.osv):
|
||||
""" Inherits partner and adds contract information in the partner form """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'contract_ids': fields.one2many('account.analytic.account', \
|
||||
'partner_id', 'Contracts'),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
@ -478,6 +478,23 @@
|
|||
<act_window domain="[('journal_id','=',active_id),('state','!=','draft'),('reconciled','=',False)]" id="act_account_journal_2_account_invoice_opened" name="Unpaid invoices" res_model="account.invoice" src_model="account.journal"/>
|
||||
|
||||
<act_window domain="[('account_analytic_id', '=', active_id)]" id="act_account_analytic_account_2_account_invoice_line" name="Invoice lines" res_model="account.invoice.line" src_model="account.analytic.account"/>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_invoice_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.invoice.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="Account Info">
|
||||
<field name="invoice_ids" colspan="4" nolabel="1" context="{'group_by':'product_id'}"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-04-17 18:26+0000\n"
|
||||
"PO-Revision-Date: 2010-05-15 09:04+0000\n"
|
||||
"Last-Translator: Boris <boris.t.ivanov@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: 2010-04-21 04:05+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-17 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
|
@ -1690,7 +1690,7 @@ msgstr "Разходи & приходи"
|
|||
#. module: account
|
||||
#: constraint:account.account:0
|
||||
msgid "Error ! You can not create recursive accounts."
|
||||
msgstr ""
|
||||
msgstr "Грешка! Не могат да бъдат създавани рекурсивни сметки."
|
||||
|
||||
#. module: account
|
||||
#: rml:account.tax.code.entries:0
|
||||
|
@ -2150,7 +2150,8 @@ msgid "Analytic Entry"
|
|||
msgstr "Аналитичен запис"
|
||||
|
||||
#. module: account
|
||||
#: view:res.company:0 field:res.company,overdue_msg:0
|
||||
#: view:res.company:0
|
||||
#: field:res.company,overdue_msg:0
|
||||
msgid "Overdue Payments Message"
|
||||
msgstr ""
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 14:46+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-05-14 17:04+0000\n"
|
||||
"Last-Translator: Borja López Soilán (Pexego) <borjals@pexego.es>\n"
|
||||
"Language-Team: Galician <gl@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-17 04:06+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-15 04:58+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
|
@ -25,7 +25,7 @@ msgstr "Nome interno"
|
|||
#. module: account
|
||||
#: view:account.tax.code:0
|
||||
msgid "Account Tax Code"
|
||||
msgstr ""
|
||||
msgstr "Código impuesto contable"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_invoice_tree9
|
||||
|
@ -56,7 +56,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nome do modelo incorrecto na definición da acción."
|
||||
|
||||
#. module: account
|
||||
#: help:account.journal,currency:0
|
||||
|
@ -806,7 +806,6 @@ msgstr ""
|
|||
msgid "Move Lines"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
|
||||
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
|
||||
|
@ -2134,7 +2133,8 @@ msgid "Analytic Entry"
|
|||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
#: view:res.company:0 field:res.company,overdue_msg:0
|
||||
#: view:res.company:0
|
||||
#: field:res.company,overdue_msg:0
|
||||
msgid "Overdue Payments Message"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-10 08:37+0000\n"
|
||||
"Last-Translator: eLBati - albatos.com <lorenzo.battistini@albatos.com>\n"
|
||||
"PO-Revision-Date: 2010-05-13 14:03+0000\n"
|
||||
"Last-Translator: Carlo - didotech.com <Unknown>\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: 2010-05-11 04:18+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-14 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
|
@ -2158,7 +2158,8 @@ msgid "Analytic Entry"
|
|||
msgstr "Registrazione analitica"
|
||||
|
||||
#. module: account
|
||||
#: view:res.company:0 field:res.company,overdue_msg:0
|
||||
#: view:res.company:0
|
||||
#: field:res.company,overdue_msg:0
|
||||
msgid "Overdue Payments Message"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2231,7 +2232,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: rml:account.invoice:0
|
||||
msgid "VAT :"
|
||||
msgstr ""
|
||||
msgstr "IVA"
|
||||
|
||||
#. module: account
|
||||
#: wizard_field:account.general.ledger.report,account_selection,Account_list:0
|
||||
|
@ -4475,7 +4476,7 @@ msgstr "Registrazioni contabili"
|
|||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.act_account_partner_account_move_unreconciled
|
||||
msgid "Receivables & Payables"
|
||||
msgstr "Invassi & Pagamenti"
|
||||
msgstr "Incassi & Pagamenti"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.general.ledger:0
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1496,4 +1496,15 @@ class account_invoice_tax(osv.osv):
|
|||
return res
|
||||
account_invoice_tax()
|
||||
|
||||
|
||||
class res_partner(osv.osv):
|
||||
""" Inherits partner and adds invoice information in the partner form """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'invoice_ids': fields.one2many('account.invoice.line', 'partner_id', 'Invoices'),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -74,13 +74,13 @@
|
|||
<page string="Accounting" position="inside">
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Customer Accounting Properties" colspan="2"/>
|
||||
<field name="property_account_receivable"/>
|
||||
<field name="property_account_receivable" groups="base.group_extended" />
|
||||
<field name="property_account_position" widget="selection"/>
|
||||
<field name="property_payment_term" widget="selection"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Supplier Accounting Properties" colspan="2"/>
|
||||
<field name="property_account_payable"/>
|
||||
<field name="property_account_payable" groups="base.group_extended"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Customer Credit" colspan="2"/>
|
||||
|
|
|
@ -441,6 +441,21 @@
|
|||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_contract_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.contract.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="invoice_ids" position="after">
|
||||
<field name="contract_ids" colspan="4" nolabel="1" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0_rc3\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 15:29+0000\n"
|
||||
"Last-Translator: Ivica Perić <ivica.peric@ipsoft-tg.com>\n"
|
||||
"PO-Revision-Date: 2010-05-16 20:18+0000\n"
|
||||
"Last-Translator: Mario Tomljenović <Unknown>\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: 2010-04-17 04:09+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-17 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_balance
|
||||
|
@ -24,51 +24,51 @@ msgstr ""
|
|||
#. module: account_balance
|
||||
#: selection:account.balance.account.balance.report,init,account_choice:0
|
||||
msgid "All accounts"
|
||||
msgstr ""
|
||||
msgstr "Svi računi"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_field:account.balance.account.balance.report,init,period_manner:0
|
||||
msgid "Entries Selection Based on"
|
||||
msgstr ""
|
||||
msgstr "Odabir stavaka zasnovan na"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,backtoinit:0
|
||||
#: wizard_view:account.balance.account.balance.report,zero_years:0
|
||||
msgid "Notification"
|
||||
msgstr ""
|
||||
msgstr "Obavijest"
|
||||
|
||||
#. module: account_balance
|
||||
#: selection:account.balance.account.balance.report,init,period_manner:0
|
||||
msgid "Financial Period"
|
||||
msgstr ""
|
||||
msgstr "Financijsko razdoblje"
|
||||
|
||||
#. module: account_balance
|
||||
#: model:ir.actions.report.xml,name:account_balance.account_account_balance
|
||||
#: model:ir.actions.report.xml,name:account_balance.account_account_balance_landscape
|
||||
msgid "Account balance"
|
||||
msgstr ""
|
||||
msgstr "Saldo računa"
|
||||
|
||||
#. module: account_balance
|
||||
#: rml:account.account.balance.landscape:0
|
||||
#: rml:account.balance.account.balance:0
|
||||
msgid "Account Name"
|
||||
msgstr ""
|
||||
msgstr "Naziv računa"
|
||||
|
||||
#. module: account_balance
|
||||
#: rml:account.account.balance.landscape:0
|
||||
#: rml:account.balance.account.balance:0
|
||||
msgid "Debit"
|
||||
msgstr ""
|
||||
msgstr "Dugovanje"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_button:account.balance.account.balance.report,init,checkyear:0
|
||||
msgid "Print"
|
||||
msgstr ""
|
||||
msgstr "Ispis"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,init:0
|
||||
msgid "Select Period(s)"
|
||||
msgstr ""
|
||||
msgstr "Odaberite razdoblja"
|
||||
|
||||
#. module: account_balance
|
||||
#: selection:account.balance.account.balance.report,init,compare_pattern:0
|
||||
|
|
|
@ -0,0 +1,312 @@
|
|||
# Basque translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-14 16:07+0000\n"
|
||||
"Last-Translator: Jon A. Ortuondo (Euskotec) <Unknown>\n"
|
||||
"Language-Team: Basque <eu@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: 2010-05-15 04:58+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: selection:account.invoice.line,state:0
|
||||
msgid "Sub Total"
|
||||
msgstr "Sub Totala"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Invoice Date:"
|
||||
msgstr "Fakturaren Data:"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Objetuaren izena x_ -z hasi behar da eta ezin ditu karaktere berezirik izan!"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Cancelled Invoice"
|
||||
msgstr "Factura Ezeztatua(k)"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: selection:account.invoice.line,state:0
|
||||
#: field:notify.message,name:0
|
||||
msgid "Title"
|
||||
msgstr "Izenburua"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: model:ir.actions.wizard,name:account_invoice_layout.wizard_notify_message
|
||||
msgid "Invoices with Layout and Message"
|
||||
msgstr "Molde eta mezu-dun Fakturak"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Disc. (%)"
|
||||
msgstr "Beherapena (%)"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "(Incl. taxes):"
|
||||
msgstr "(Barne Zerga):"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: selection:account.invoice.line,state:0
|
||||
msgid "Note"
|
||||
msgstr "Oharra"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: wizard_button:wizard.notify_message,init,print:0
|
||||
msgid "Print"
|
||||
msgstr "Inprimatu"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: help:notify.message,msg:0
|
||||
msgid ""
|
||||
"This notification will appear at the bottom of the Invoices when printed."
|
||||
msgstr "Ohar hau inprimatutako fakturaren oinean agertuko da."
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Unit Price"
|
||||
msgstr "Unitate Prezioa"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: model:ir.model,name:account_invoice_layout.model_notify_message
|
||||
msgid "Notify By Messages"
|
||||
msgstr "Mezuz Adierazi"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "PRO-FORMA"
|
||||
msgstr "PRO-FORMA"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: field:account.invoice,abstract_line_ids:0
|
||||
msgid "Invoice Lines"
|
||||
msgstr "Faktura Lerroak"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: view:account.invoice.line:0
|
||||
msgid "Seq."
|
||||
msgstr "Sek."
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: model:ir.ui.menu,name:account_invoice_layout.menu_finan_config_notify_message
|
||||
msgid "Notification Message"
|
||||
msgstr "Adierazpen Mezua"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Customer Ref:"
|
||||
msgstr "Bezero Erref."
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid ")"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: field:account.invoice.line,state:0
|
||||
msgid "Type"
|
||||
msgstr "Mota"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Price"
|
||||
msgstr "Prezioa"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "/ ("
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Taxes:"
|
||||
msgstr "Zergak:"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: field:account.invoice.line,functional_field:0
|
||||
msgid "Source Account"
|
||||
msgstr "Jatorri Kontua"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: model:ir.actions.act_window,name:account_invoice_layout.notify_mesage_tree_form
|
||||
msgid "Write Messages"
|
||||
msgstr "Mezua Idatzi"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Base"
|
||||
msgstr "Oinarria"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Fax :"
|
||||
msgstr "Fax:"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: field:notify.message,msg:0
|
||||
msgid "Special Message"
|
||||
msgstr "Mezu Berezia"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: view:notify.message:0
|
||||
msgid "Write a notification or a wishful message."
|
||||
msgstr "Adierazpen edo zorion-idazkiak sartu"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Tel. :"
|
||||
msgstr "Tel.:"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: selection:account.invoice.line,state:0
|
||||
msgid "Page Break"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Document:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: wizard_view:wizard.notify_message,init:0
|
||||
msgid "Select Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: view:notify.message:0
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: selection:account.invoice.line,state:0
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: model:ir.actions.report.xml,name:account_invoice_layout.account_invoices_1
|
||||
msgid "Invoices with Layout"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Description / Taxes"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Description/Taxes"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Draft Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: field:account.invoice.line,sequence:0
|
||||
msgid "Sequence Number"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Refund"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "VAT :"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: selection:account.invoice.line,state:0
|
||||
msgid "Separator Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Supplier Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Note :"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Tax"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: model:ir.module.module,shortdesc:account_invoice_layout.module_meta_information
|
||||
msgid "account_invoice_layout"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Total (Excl. taxes):"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: wizard_button:wizard.notify_message,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Supplier Refund"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: wizard_field:wizard.notify_message,init,message:0
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: model:ir.ui.menu,name:account_invoice_layout.menu_notify_mesage_tree_form
|
||||
msgid "All Notification Messages"
|
||||
msgstr ""
|
|
@ -44,6 +44,8 @@
|
|||
<field name="log_unlink" />
|
||||
<field name="log_create" />
|
||||
<field name="state" />
|
||||
<button string="Subscribe" name="subscribe"
|
||||
type="object" states="draft" icon="gtk-go-forward"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
|
@ -15,34 +15,35 @@
|
|||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
{
|
||||
"name" : "Basic Calendar Functionality",
|
||||
"version" : "1.0",
|
||||
"depends" : ["base"],
|
||||
"name" : "Basic Calendar Functionality",
|
||||
"version" : "1.0",
|
||||
"depends" : ["base"],
|
||||
'description': """Full featured calendar system that support:
|
||||
- Alerts (create requests)
|
||||
- Recurring events (*)
|
||||
- Invitations to others people""",
|
||||
"author" : "Tiny",
|
||||
'category': 'Generic Modules/Others',
|
||||
'website': 'http://www.openerp.com',
|
||||
- Invitations to others people""",
|
||||
"author" : "Tiny",
|
||||
'category': 'Generic Modules/Others',
|
||||
'website': 'http://www.openerp.com',
|
||||
"init_xml" : [
|
||||
'base_calendar_data.xml'
|
||||
],
|
||||
"demo_xml" : [],
|
||||
],
|
||||
"demo_xml" : [],
|
||||
"update_xml" : [
|
||||
'security/ir.model.access.csv',
|
||||
'wizard/calendar_event_edit_all_view.xml',
|
||||
'wizard/base_calendar_invite_attendee_view.xml',
|
||||
'wizard/calendar_event_edit_all_view.xml',
|
||||
'wizard/base_calendar_invite_attendee_view.xml',
|
||||
'wizard/base_calendar_set_exrule_view.xml',
|
||||
'base_calendar_view.xml'
|
||||
],
|
||||
"test" : ['test/base_calendar_test.yml'],
|
||||
"installable" : True,
|
||||
"active" : False,
|
||||
],
|
||||
# "test" : ['test/base_calendar_test.yml'],
|
||||
"installable" : True,
|
||||
"active" : False,
|
||||
}
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -44,7 +44,6 @@ def get_recurrent_dates(rrulestring, exdate, startdate=None, exrule=None):
|
|||
@param startdate: Startdate for computing recurrent dates
|
||||
@return: List of Recurrent dates
|
||||
"""
|
||||
|
||||
def todate(date):
|
||||
val = parser.parse(''.join((re.compile('\d')).findall(date)))
|
||||
return val
|
||||
|
@ -323,60 +322,60 @@ class calendar_attendee(osv.osv):
|
|||
'cutype': fields.selection([('individual', 'Individual'), \
|
||||
('group', 'Group'), ('resource', 'Resource'), \
|
||||
('room', 'Room'), ('unknown', '') ], \
|
||||
'Invite Type', help="Specify the type of Invitation"),
|
||||
'member': fields.char('Member', size=124,
|
||||
help="Indicate the groups that the attendee belongs to"),
|
||||
'Invite Type', help="Specify the type of Invitation"),
|
||||
'member': fields.char('Member', size=124,
|
||||
help="Indicate the groups that the attendee belongs to"),
|
||||
'role': fields.selection([('req-participant', 'Participation required'), \
|
||||
('chair', 'Chair Person'), \
|
||||
('opt-participant', 'Optional Participation'), \
|
||||
('non-participant', 'For information Purpose')], 'Role', \
|
||||
help='Participation role for the calendar user'),
|
||||
'state': fields.selection([('tentative', 'Tentative'),
|
||||
('needs-action', 'Needs Action'),
|
||||
('accepted', 'Accepted'),
|
||||
('declined', 'Declined'),
|
||||
help='Participation role for the calendar user'),
|
||||
'state': fields.selection([('tentative', 'Tentative'),
|
||||
('needs-action', 'Needs Action'),
|
||||
('accepted', 'Accepted'),
|
||||
('declined', 'Declined'),
|
||||
('delegated', 'Delegated')], 'State', readonly=True, \
|
||||
help="Status of the attendee's participation"),
|
||||
'rsvp': fields.boolean('Required Reply?',
|
||||
help="Indicats whether the favor of a reply is requested"),
|
||||
help="Status of the attendee's participation"),
|
||||
'rsvp': fields.boolean('Required Reply?',
|
||||
help="Indicats whether the favor of a reply is requested"),
|
||||
'delegated_to': fields.function(_compute_data, method=True, \
|
||||
string='Delegated To', type="char", size=124, store=True, \
|
||||
multi='delegated_to', help="The users that the original \
|
||||
request was delegated to"),
|
||||
request was delegated to"),
|
||||
'delegated_from': fields.function(_compute_data, method=True, string=\
|
||||
'Delegated From', type="char", store=True, size=124, multi='delegated_from'),
|
||||
'Delegated From', type="char", store=True, size=124, multi='delegated_from'),
|
||||
'parent_ids': fields.many2many('calendar.attendee', 'calendar_attendee_parent_rel', \
|
||||
'attendee_id', 'parent_id', 'Delegrated From'),
|
||||
'attendee_id', 'parent_id', 'Delegrated From'),
|
||||
'child_ids': fields.many2many('calendar.attendee', 'calendar_attendee_child_rel', \
|
||||
'attendee_id', 'child_id', 'Delegrated To'),
|
||||
'attendee_id', 'child_id', 'Delegrated To'),
|
||||
'sent_by': fields.function(_compute_data, method=True, string='Sent By', \
|
||||
type="char", multi='sent_by', store=True, size=124, \
|
||||
help="Specify the user that is acting on behalf of the calendar user"),
|
||||
help="Specify the user that is acting on behalf of the calendar user"),
|
||||
'sent_by_uid': fields.function(_compute_data, method=True, string='Sent By User', \
|
||||
type="many2one", relation="res.users", multi='sent_by_uid'),
|
||||
type="many2one", relation="res.users", multi='sent_by_uid'),
|
||||
'cn': fields.function(_compute_data, method=True, string='Common name', \
|
||||
type="char", size=124, multi='cn', store=True),
|
||||
type="char", size=124, multi='cn', store=True),
|
||||
'dir': fields.char('URI Reference', size=124, help="Reference to the URI\
|
||||
that points to the directory information corresponding to the attendee."),
|
||||
that points to the directory information corresponding to the attendee."),
|
||||
'language': fields.function(_compute_data, method=True, string='Language', \
|
||||
type="selection", selection=_lang_get, multi='language', \
|
||||
store=True, help="To specify the language for text values in a\
|
||||
property or property parameter."),
|
||||
'user_id': fields.many2one('res.users', 'User'),
|
||||
'partner_address_id': fields.many2one('res.partner.address', 'Contact'),
|
||||
property or property parameter."),
|
||||
'user_id': fields.many2one('res.users', 'User'),
|
||||
'partner_address_id': fields.many2one('res.partner.address', 'Contact'),
|
||||
'partner_id': fields.related('partner_address_id', 'partner_id', type='many2one', \
|
||||
relation='res.partner', string='Partner', help="Partner related to contact"),
|
||||
'email': fields.char('Email', size=124, help="Email of Invited Person"),
|
||||
relation='res.partner', string='Partner', help="Partner related to contact"),
|
||||
'email': fields.char('Email', size=124, help="Email of Invited Person"),
|
||||
'event_date': fields.function(_compute_data, method=True, string='Event Date', \
|
||||
type="datetime", multi='event_date'),
|
||||
type="datetime", multi='event_date'),
|
||||
'event_end_date': fields.function(_compute_data, method=True, \
|
||||
string='Event End Date', type="datetime", \
|
||||
multi='event_end_date'),
|
||||
'ref': fields.reference('Event Ref', selection=_links_get, size=128),
|
||||
'availability': fields.selection([('free', 'Free'), ('busy', 'Busy')], 'Free/Busy', readonly="True"),
|
||||
multi='event_end_date'),
|
||||
'ref': fields.reference('Event Ref', selection=_links_get, size=128),
|
||||
'availability': fields.selection([('free', 'Free'), ('busy', 'Busy')], 'Free/Busy', readonly="True"),
|
||||
}
|
||||
_defaults = {
|
||||
'state': lambda *x: 'needs-action',
|
||||
'state': lambda *x: 'needs-action',
|
||||
}
|
||||
|
||||
def get_ics_file(self, cr, uid, event_obj, context=None):
|
||||
|
@ -411,7 +410,7 @@ property or property parameter."),
|
|||
event.add('location').value = event_obj.location
|
||||
if event_obj.rrule:
|
||||
event.add('rrule').value = event_obj.rrule
|
||||
|
||||
|
||||
if event_obj.alarm_id:
|
||||
# computes alarm data
|
||||
valarm = event.add('valarm')
|
||||
|
@ -432,10 +431,10 @@ property or property parameter."),
|
|||
if interval == 'minutes':
|
||||
delta = timedelta(minutes=duration)
|
||||
trigger.value = delta
|
||||
|
||||
|
||||
# Compute other details
|
||||
valarm.add('DESCRIPTION').value = alarm_data['name'] or 'OpenERP'
|
||||
|
||||
|
||||
for attendee in event_obj.attendee_ids:
|
||||
attendee_add = event.add('attendee')
|
||||
attendee_add.params['CUTYPE'] = [str(attendee.cutype)]
|
||||
|
@ -470,14 +469,14 @@ property or property parameter."),
|
|||
att_infos.append(((att2.user_id and att2.user_id.name) or \
|
||||
(att2.partner_id and att2.partner_id.name) or \
|
||||
att2.email) + ' - Status: ' + att2.state.title())
|
||||
body_vals = {'name': res_obj.name,
|
||||
'start_date': res_obj.date,
|
||||
'end_date': res_obj.date_deadline or False,
|
||||
'description': res_obj.description or '-',
|
||||
'location': res_obj.location or '-',
|
||||
'attendees': '<br>'.join(att_infos),
|
||||
'user': res_obj.user_id and res_obj.user_id.name or 'OpenERP User',
|
||||
'sign': sign,
|
||||
body_vals = {'name': res_obj.name,
|
||||
'start_date': res_obj.date,
|
||||
'end_date': res_obj.date_deadline or False,
|
||||
'description': res_obj.description or '-',
|
||||
'location': res_obj.location or '-',
|
||||
'attendees': '<br>'.join(att_infos),
|
||||
'user': res_obj.user_id and res_obj.user_id.name or 'OpenERP User',
|
||||
'sign': sign,
|
||||
'company': company
|
||||
}
|
||||
body = html_invitation % body_vals
|
||||
|
@ -584,30 +583,30 @@ class res_alarm(osv.osv):
|
|||
_description = 'Basic Alarm Information'
|
||||
|
||||
_columns = {
|
||||
'name':fields.char('Name', size=256, required=True),
|
||||
'name':fields.char('Name', size=256, required=True),
|
||||
'trigger_occurs': fields.selection([('before', 'Before'), \
|
||||
('after', 'After')], \
|
||||
'Triggers', required=True),
|
||||
'Triggers', required=True),
|
||||
'trigger_interval': fields.selection([('minutes', 'Minutes'), \
|
||||
('hours', 'Hours'), \
|
||||
('days', 'Days')], 'Interval', \
|
||||
required=True),
|
||||
'trigger_duration': fields.integer('Duration', required=True),
|
||||
required=True),
|
||||
'trigger_duration': fields.integer('Duration', required=True),
|
||||
'trigger_related': fields.selection([('start', 'The event starts'), \
|
||||
('end', 'The event ends')], \
|
||||
'Related to', required=True),
|
||||
'Related to', required=True),
|
||||
'duration': fields.integer('Duration', help="""Duration' and 'Repeat' \
|
||||
are both optional, but if one occurs, so MUST the other"""),
|
||||
'repeat': fields.integer('Repeat'),
|
||||
are both optional, but if one occurs, so MUST the other"""),
|
||||
'repeat': fields.integer('Repeat'),
|
||||
'active': fields.boolean('Active', help="If the active field is set to \
|
||||
true, it will allow you to hide the event alarm information without removing it.")
|
||||
}
|
||||
_defaults = {
|
||||
'trigger_interval': lambda *x: 'minutes',
|
||||
'trigger_duration': lambda *x: 5,
|
||||
'trigger_occurs': lambda *x: 'before',
|
||||
'trigger_related': lambda *x: 'start',
|
||||
'active': lambda *x: 1,
|
||||
'trigger_interval': lambda *x: 'minutes',
|
||||
'trigger_duration': lambda *x: 5,
|
||||
'trigger_occurs': lambda *x: 'before',
|
||||
'trigger_related': lambda *x: 'start',
|
||||
'active': lambda *x: 1,
|
||||
}
|
||||
|
||||
def do_alarm_create(self, cr, uid, ids, model, date, context=None):
|
||||
|
@ -637,20 +636,20 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
self.do_alarm_unlink(cr, uid, [data.id], model)
|
||||
if basic_alarm:
|
||||
vals = {
|
||||
'action': 'display',
|
||||
'description': data.description,
|
||||
'name': data.name,
|
||||
'attendee_ids': [(6, 0, map(lambda x:x.id, data.attendee_ids))],
|
||||
'trigger_related': basic_alarm.trigger_related,
|
||||
'trigger_duration': basic_alarm.trigger_duration,
|
||||
'trigger_occurs': basic_alarm.trigger_occurs,
|
||||
'trigger_interval': basic_alarm.trigger_interval,
|
||||
'duration': basic_alarm.duration,
|
||||
'repeat': basic_alarm.repeat,
|
||||
'state': 'run',
|
||||
'event_date': data[date],
|
||||
'res_id': data.id,
|
||||
'model_id': model_id,
|
||||
'action': 'display',
|
||||
'description': data.description,
|
||||
'name': data.name,
|
||||
'attendee_ids': [(6, 0, map(lambda x:x.id, data.attendee_ids))],
|
||||
'trigger_related': basic_alarm.trigger_related,
|
||||
'trigger_duration': basic_alarm.trigger_duration,
|
||||
'trigger_occurs': basic_alarm.trigger_occurs,
|
||||
'trigger_interval': basic_alarm.trigger_interval,
|
||||
'duration': basic_alarm.duration,
|
||||
'repeat': basic_alarm.repeat,
|
||||
'state': 'run',
|
||||
'event_date': data[date],
|
||||
'res_id': data.id,
|
||||
'model_id': model_id,
|
||||
'user_id': uid
|
||||
}
|
||||
alarm_id = alarm_obj.create(cr, uid, vals)
|
||||
|
@ -725,8 +724,8 @@ class calendar_alarm(osv.osv):
|
|||
}
|
||||
|
||||
_defaults = {
|
||||
'action': lambda *x: 'email',
|
||||
'state': lambda *x: 'run',
|
||||
'action': lambda *x: 'email',
|
||||
'state': lambda *x: 'run',
|
||||
}
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
|
@ -779,11 +778,11 @@ class calendar_alarm(osv.osv):
|
|||
for alarm in self.browse(cr, uid, alarm_ids):
|
||||
if alarm.action == 'display':
|
||||
value = {
|
||||
'name': alarm.name,
|
||||
'act_from': alarm.user_id.id,
|
||||
'act_to': alarm.user_id.id,
|
||||
'body': alarm.description,
|
||||
'trigger_date': alarm.trigger_date,
|
||||
'name': alarm.name,
|
||||
'act_from': alarm.user_id.id,
|
||||
'act_to': alarm.user_id.id,
|
||||
'body': alarm.description,
|
||||
'trigger_date': alarm.trigger_date,
|
||||
'ref_doc1': '%s,%s' % (alarm.model_id.model, alarm.res_id)
|
||||
}
|
||||
request_id = request_obj.create(cr, uid, value)
|
||||
|
@ -813,9 +812,9 @@ class calendar_alarm(osv.osv):
|
|||
mail_to.append(att.user_id.address_id.email)
|
||||
if mail_to:
|
||||
tools.email_send(
|
||||
tools.config.get('email_from', False),
|
||||
mail_to,
|
||||
sub,
|
||||
tools.config.get('email_from', False),
|
||||
mail_to,
|
||||
sub,
|
||||
body
|
||||
)
|
||||
self.write(cr, uid, [alarm.id], {'state':'done'})
|
||||
|
@ -901,7 +900,7 @@ class calendar_event(osv.osv):
|
|||
cr.execute("UPDATE %s set freq='None',interval=0,count=0,end_date=Null,\
|
||||
mo=False,tu=False,we=False,th=False,fr=False,sa=False,su=False,\
|
||||
day=0,select1='date',month_list=Null ,byday=Null where id=%s" % (self._table, id))
|
||||
|
||||
|
||||
if not value:
|
||||
cr.execute("UPDATE %s set rrule_type='none' where id=%s" % (self._table, id))
|
||||
return True
|
||||
|
@ -930,19 +929,19 @@ class calendar_event(osv.osv):
|
|||
for day in val['byday'].split(','):
|
||||
new_val[day] = True
|
||||
val.pop('byday')
|
||||
|
||||
|
||||
if val.get('until'):
|
||||
until = parser.parse(''.join((re.compile('\d')).findall(val.get('until'))))
|
||||
new_val['end_date'] = until.strftime('%Y-%m-%d')
|
||||
val.pop('until')
|
||||
new_val.pop('until')
|
||||
|
||||
|
||||
if val.get('bymonthday'):
|
||||
new_val['day'] = val.get('bymonthday')
|
||||
val.pop('bymonthday')
|
||||
new_val['select1'] = 'date'
|
||||
new_val.pop('bymonthday')
|
||||
|
||||
|
||||
if val.get('byday'):
|
||||
d = val.get('byday')
|
||||
if '-' in d:
|
||||
|
@ -952,12 +951,12 @@ class calendar_event(osv.osv):
|
|||
new_val['byday'] = d[:1]
|
||||
new_val['week_list'] = d[1:3].upper()
|
||||
new_val['select1'] = 'day'
|
||||
|
||||
|
||||
if val.get('bymonth'):
|
||||
new_val['month_list'] = val.get('bymonth')
|
||||
val.pop('bymonth')
|
||||
new_val.pop('bymonth')
|
||||
|
||||
|
||||
for k, v in new_val.items():
|
||||
temp = ", %s='%s'" % (k, v)
|
||||
qry += temp
|
||||
|
@ -965,9 +964,9 @@ class calendar_event(osv.osv):
|
|||
whr = " where id=%(id)s"
|
||||
qry = qry + whr
|
||||
val.update({
|
||||
'table': self._table,
|
||||
'rule_type': rrule_type,
|
||||
'id': id,
|
||||
'table': self._table,
|
||||
'rule_type': rrule_type,
|
||||
'id': id,
|
||||
})
|
||||
cr.execute(qry % val)
|
||||
return True
|
||||
|
@ -1001,40 +1000,40 @@ class calendar_event(osv.osv):
|
|||
return result
|
||||
|
||||
_columns = {
|
||||
'id': fields.integer('ID'),
|
||||
'sequence': fields.integer('Sequence'),
|
||||
'name': fields.char('Description', size=64, required=True),
|
||||
'date': fields.datetime('Date'),
|
||||
'date_deadline': fields.datetime('Deadline'),
|
||||
'create_date': fields.datetime('Created', readonly=True),
|
||||
'duration': fields.float('Duration'),
|
||||
'description': fields.text('Your action'),
|
||||
'id': fields.integer('ID'),
|
||||
'sequence': fields.integer('Sequence'),
|
||||
'name': fields.char('Description', size=64, required=True),
|
||||
'date': fields.datetime('Date'),
|
||||
'date_deadline': fields.datetime('Deadline'),
|
||||
'create_date': fields.datetime('Created', readonly=True),
|
||||
'duration': fields.float('Duration'),
|
||||
'description': fields.text('Your action'),
|
||||
'class': fields.selection([('public', 'Public'), ('private', 'Private'), \
|
||||
('confidential', 'Confidential')], 'Mark as'),
|
||||
'location': fields.char('Location', size=264, help="Location of Event"),
|
||||
'show_as': fields.selection([('free', 'Free'), ('busy', 'Busy')], \
|
||||
'Show as'),
|
||||
'base_calendar_url': fields.char('Caldav URL', size=264),
|
||||
'Show as'),
|
||||
'base_calendar_url': fields.char('Caldav URL', size=264),
|
||||
'exdate': fields.text('Exception Date/Times', help="This property \
|
||||
defines the list of date/time exceptions for arecurring calendar component."),
|
||||
defines the list of date/time exceptions for arecurring calendar component."),
|
||||
'exrule': fields.char('Exception Rule', size=352, help="defines a \
|
||||
rule or repeating pattern for an exception to a recurrence set"),
|
||||
rule or repeating pattern for an exception to a recurrence set"),
|
||||
'rrule': fields.function(_get_rulestring, type='char', size=124, method=True, \
|
||||
string='Recurrent Rule', store=True, \
|
||||
fnct_inv=_set_rrulestring, help='Defines a\
|
||||
rule or repeating pattern for recurring events\n\
|
||||
e.g.: Every other month on the last Sunday of the month for 10 occurrences:\
|
||||
FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=-1SU'),
|
||||
FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=-1SU'),
|
||||
'rrule_type': fields.selection([('none', ''), ('daily', 'Daily'), \
|
||||
('weekly', 'Weekly'), ('monthly', 'Monthly'), \
|
||||
('yearly', 'Yearly'), ('custom', 'Custom')], 'Recurrency'),
|
||||
'alarm_id': fields.many2one('res.alarm', 'Alarm'),
|
||||
'base_calendar_alarm_id': fields.many2one('calendar.alarm', 'Alarm'),
|
||||
'recurrent_uid': fields.integer('Recurrent ID'),
|
||||
'recurrent_id': fields.datetime('Recurrent ID date'),
|
||||
('yearly', 'Yearly'), ('custom', 'Custom')], 'Recurrency'),
|
||||
'alarm_id': fields.many2one('res.alarm', 'Alarm'),
|
||||
'base_calendar_alarm_id': fields.many2one('calendar.alarm', 'Alarm'),
|
||||
'recurrent_uid': fields.integer('Recurrent ID'),
|
||||
'recurrent_id': fields.datetime('Recurrent ID date'),
|
||||
'vtimezone': fields.related('user_id', 'context_tz', type='char', size=24, \
|
||||
string='Timezone', store=True),
|
||||
'user_id': fields.many2one('res.users', 'Responsible'),
|
||||
string='Timezone', store=True),
|
||||
'user_id': fields.many2one('res.users', 'Responsible'),
|
||||
'freq': fields.selection([('None', 'No Repeat'), \
|
||||
('secondly', 'Secondly'), \
|
||||
('minutely', 'Minutely'), \
|
||||
|
@ -1042,23 +1041,23 @@ e.g.: Every other month on the last Sunday of the month for 10 occurrences:\
|
|||
('daily', 'Daily'), \
|
||||
('weekly', 'Weekly'), \
|
||||
('monthly', 'Monthly'), \
|
||||
('yearly', 'Yearly')], 'Frequency'),
|
||||
'interval': fields.integer('Interval'),
|
||||
'count': fields.integer('Count'),
|
||||
'mo': fields.boolean('Mon'),
|
||||
'tu': fields.boolean('Tue'),
|
||||
'we': fields.boolean('Wed'),
|
||||
'th': fields.boolean('Thu'),
|
||||
'fr': fields.boolean('Fri'),
|
||||
'sa': fields.boolean('Sat'),
|
||||
'su': fields.boolean('Sun'),
|
||||
('yearly', 'Yearly')], 'Frequency'),
|
||||
'interval': fields.integer('Interval'),
|
||||
'count': fields.integer('Count'),
|
||||
'mo': fields.boolean('Mon'),
|
||||
'tu': fields.boolean('Tue'),
|
||||
'we': fields.boolean('Wed'),
|
||||
'th': fields.boolean('Thu'),
|
||||
'fr': fields.boolean('Fri'),
|
||||
'sa': fields.boolean('Sat'),
|
||||
'su': fields.boolean('Sun'),
|
||||
'select1': fields.selection([('date', 'Date of month'), \
|
||||
('day', 'Day of month')], 'Option'),
|
||||
'day': fields.integer('Date of month'),
|
||||
('day', 'Day of month')], 'Option'),
|
||||
'day': fields.integer('Date of month'),
|
||||
'week_list': fields.selection([('MO', 'Monday'), ('TU', 'Tuesday'), \
|
||||
('WE', 'Wednesday'), ('TH', 'Thursday'), \
|
||||
('FR', 'Friday'), ('SA', 'Saturday'), \
|
||||
('SU', 'Sunday')], 'Weekday'),
|
||||
('SU', 'Sunday')], 'Weekday'),
|
||||
'byday': fields.selection([('1', 'First'), ('2', 'Second'), \
|
||||
('3', 'Third'), ('4', 'Fourth'), \
|
||||
('5', 'Fifth'), ('-1', 'Last')], 'By day'),
|
||||
|
@ -1072,14 +1071,14 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
}
|
||||
|
||||
_defaults = {
|
||||
'class': lambda *a: 'public',
|
||||
'show_as': lambda *a: 'busy',
|
||||
'freq': lambda *x: 'None',
|
||||
'select1': lambda *x: 'date',
|
||||
'interval': lambda *x: 1,
|
||||
'active': lambda *x: 1,
|
||||
'class': lambda *a: 'public',
|
||||
'show_as': lambda *a: 'busy',
|
||||
'freq': lambda *x: 'None',
|
||||
'select1': lambda *x: 'date',
|
||||
'interval': lambda *x: 1,
|
||||
'active': lambda *x: 1,
|
||||
}
|
||||
|
||||
|
||||
def open_event(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
Open Event From for Editing
|
||||
|
@ -1091,11 +1090,11 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
"""
|
||||
if not context:
|
||||
context = {}
|
||||
|
||||
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
|
||||
|
||||
value = {}
|
||||
|
||||
|
||||
id2 = data_obj._get_id(cr, uid, 'base_calendar', 'event_form_view')
|
||||
id3 = data_obj._get_id(cr, uid, 'base_calendar', 'event_tree_view')
|
||||
id4 = data_obj._get_id(cr, uid, 'base_calendar', 'event_calendar_view')
|
||||
|
@ -1117,7 +1116,7 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
'res_id': base_calendar_id2real_id(id),
|
||||
'nodestroy': True
|
||||
}
|
||||
|
||||
|
||||
return value
|
||||
|
||||
def modify_this(self, cr, uid, event_id, defaults, real_date, context=None, *args):
|
||||
|
@ -1135,9 +1134,9 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
event_id = base_calendar_id2real_id(event_id)
|
||||
datas = self.read(cr, uid, event_id, context=context)
|
||||
defaults.update({
|
||||
'recurrent_uid': base_calendar_id2real_id(datas['id']),
|
||||
'recurrent_id': defaults.get('date') or real_date,
|
||||
'rrule_type': 'none',
|
||||
'recurrent_uid': base_calendar_id2real_id(datas['id']),
|
||||
'recurrent_id': defaults.get('date') or real_date,
|
||||
'rrule_type': 'none',
|
||||
'rrule': ''
|
||||
})
|
||||
exdate = datas['exdate'] and datas['exdate'].split(',') or []
|
||||
|
@ -1156,7 +1155,7 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
@param context: A standard dictionary for contextual values
|
||||
@return: True
|
||||
"""
|
||||
|
||||
|
||||
for event_id in event_ids:
|
||||
event_id = base_calendar_id2real_id(event_id)
|
||||
|
||||
|
@ -1171,7 +1170,7 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
qry += ", location = '%(location)s'"
|
||||
qry += "WHERE id = %s" % (event_id)
|
||||
cr.execute(qry %(defaults))
|
||||
|
||||
|
||||
return True
|
||||
|
||||
def get_recurrent_ids(self, cr, uid, select, base_start_date, base_until_date, limit=100):
|
||||
|
@ -1193,7 +1192,7 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
result = []
|
||||
if ids and (base_start_date or base_until_date):
|
||||
cr.execute("select m.id, m.rrule, m.date, m.date_deadline, \
|
||||
m.exdate from " + self._table + \
|
||||
m.exdate, m.exrule from " + self._table + \
|
||||
" m where m.id in ("\
|
||||
+ ','.join(map(lambda x: str(x), ids))+")")
|
||||
|
||||
|
@ -1240,7 +1239,7 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
new_rule = '%s=%s' % (name, value)
|
||||
new_rrule_str.append(new_rule)
|
||||
new_rrule_str = ';'.join(new_rrule_str)
|
||||
rdates = get_recurrent_dates(str(new_rrule_str), exdate, start_date)
|
||||
rdates = get_recurrent_dates(str(new_rrule_str), exdate, start_date, data['exrule'])
|
||||
for rdate in rdates:
|
||||
r_date = datetime.strptime(rdate, "%Y-%m-%d %H:%M:%S")
|
||||
if start_date and r_date < start_date:
|
||||
|
@ -1255,7 +1254,7 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
if isinstance(select, (str, int, long)):
|
||||
return ids and ids[0] or False
|
||||
return ids
|
||||
|
||||
|
||||
def compute_rule_string(self, cr, uid, datas, context=None, *args):
|
||||
"""
|
||||
Compute rule string according to value type RECUR of iCalendar from the values given.
|
||||
|
@ -1275,9 +1274,9 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
freq = datas.get('freq')
|
||||
if freq == 'None':
|
||||
return ''
|
||||
|
||||
|
||||
interval_srting = datas.get('interval') and (';INTERVAL=' + str(datas.get('interval'))) or ''
|
||||
|
||||
|
||||
if freq == 'weekly':
|
||||
|
||||
byday = map(lambda x: x.upper(), filter(lambda x: datas.get(x) and x in weekdays, datas))
|
||||
|
@ -1313,7 +1312,7 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
return rrule_string
|
||||
|
||||
|
||||
def search(self, cr, uid, args, offset=0, limit=100, order=None,
|
||||
def search(self, cr, uid, args, offset=0, limit=100, order=None,
|
||||
context=None, count=False):
|
||||
"""
|
||||
Overrides orm search method.
|
||||
|
@ -1346,6 +1345,7 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
return self.get_recurrent_ids(cr, uid, res, start_date, until_date, limit)
|
||||
|
||||
|
||||
|
||||
def write(self, cr, uid, ids, vals, context=None, check=True, update_check=True):
|
||||
"""
|
||||
Overrides orm write method.
|
||||
|
@ -1378,7 +1378,7 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
event_id = base_calendar_id2real_id(event_id)
|
||||
if not event_id in new_ids:
|
||||
new_ids.append(event_id)
|
||||
|
||||
|
||||
res = super(calendar_event, self).write(cr, uid, new_ids, vals, context=context)
|
||||
if vals.has_key('alarm_id') or vals.has_key('base_calendar_alarm_id'):
|
||||
alarm_obj = self.pool.get('res.alarm')
|
||||
|
@ -1520,7 +1520,7 @@ class calendar_todo(osv.osv):
|
|||
_description = "Calendar Task"
|
||||
|
||||
def _get_date(self, cr, uid, ids, name, arg, context):
|
||||
"""
|
||||
"""
|
||||
Get Date
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -1536,7 +1536,7 @@ class calendar_todo(osv.osv):
|
|||
return res
|
||||
|
||||
def _set_date(self, cr, uid, id, name, value, arg, context):
|
||||
"""
|
||||
"""
|
||||
Set Date
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -1554,8 +1554,8 @@ class calendar_todo(osv.osv):
|
|||
|
||||
_columns = {
|
||||
'date': fields.function(_get_date, method=True, fnct_inv=_set_date, \
|
||||
string='Duration', store=True, type='datetime'),
|
||||
'duration': fields.integer('Duration'),
|
||||
string='Duration', store=True, type='datetime'),
|
||||
'duration': fields.integer('Duration'),
|
||||
}
|
||||
|
||||
__attribute__ = {}
|
||||
|
@ -1568,7 +1568,7 @@ class ir_attachment(osv.osv):
|
|||
_inherit = 'ir.attachment'
|
||||
|
||||
def search_count(self, cr, user, args, context=None):
|
||||
"""
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param user: the current user’s ID for security checks,
|
||||
|
@ -1581,9 +1581,9 @@ class ir_attachment(osv.osv):
|
|||
args1.append(map(lambda x:str(x).split('-')[0], arg))
|
||||
return super(ir_attachment, self).search_count(cr, user, args1, context)
|
||||
|
||||
def search(self, cr, uid, args, offset=0, limit=None, order=None,
|
||||
def search(self, cr, uid, args, offset=0, limit=None, order=None,
|
||||
context=None, count=False):
|
||||
"""
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
|
@ -1597,8 +1597,8 @@ class ir_attachment(osv.osv):
|
|||
for i, arg in enumerate(new_args):
|
||||
if arg[0] == 'res_id':
|
||||
new_args[i] = (arg[0], arg[1], base_calendar_id2real_id(arg[2]))
|
||||
return super(ir_attachment, self).search(cr, uid, new_args, offset=offset,
|
||||
limit=limit, order=order,
|
||||
return super(ir_attachment, self).search(cr, uid, new_args, offset=offset,
|
||||
limit=limit, order=order,
|
||||
context=context, count=False)
|
||||
ir_attachment()
|
||||
|
||||
|
@ -1607,12 +1607,12 @@ class ir_values(osv.osv):
|
|||
|
||||
def set(self, cr, uid, key, key2, name, models, value, replace=True, \
|
||||
isobject=False, meta=False, preserve_user=False, company=False):
|
||||
"""
|
||||
"""
|
||||
Set IR Values
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param model: Get The Model
|
||||
@param model: Get The Model
|
||||
"""
|
||||
|
||||
new_model = []
|
||||
|
@ -1626,12 +1626,12 @@ class ir_values(osv.osv):
|
|||
|
||||
def get(self, cr, uid, key, key2, models, meta=False, context=None, \
|
||||
res_id_req=False, without_user=True, key2_req=True):
|
||||
"""
|
||||
"""
|
||||
Get IR Values
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param model: Get The Model
|
||||
@param model: Get The Model
|
||||
"""
|
||||
if not context:
|
||||
context = {}
|
||||
|
@ -1658,7 +1658,7 @@ class ir_model(osv.osv):
|
|||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of IR Model’s IDs.
|
||||
@param context: A standard dictionary for contextual values
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
if not context:
|
||||
context = {}
|
||||
|
@ -1674,12 +1674,12 @@ ir_model()
|
|||
class virtual_report_spool(web_services.report_spool):
|
||||
|
||||
def exp_report(self, db, uid, object, ids, datas=None, context=None):
|
||||
"""
|
||||
"""
|
||||
Export Report
|
||||
@param self: The object pointer
|
||||
@param db: get the current database,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param context: A standard dictionary for contextual values
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
|
||||
if object == 'printscreen.list':
|
||||
|
@ -1704,14 +1704,14 @@ class res_users(osv.osv):
|
|||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of res user’s IDs.
|
||||
@param context: A standard dictionary for contextual values
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
|
||||
current_datetime = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
||||
res = {}
|
||||
attendee_obj = self.pool.get('calendar.attendee')
|
||||
attendee_ids = attendee_obj.search(cr, uid, [
|
||||
('event_date', '<=', current_datetime), ('event_end_date', '<=', current_datetime),
|
||||
('event_date', '<=', current_datetime), ('event_end_date', '<=', current_datetime),
|
||||
('state', '=', 'accepted'), ('user_id', 'in', ids)
|
||||
])
|
||||
|
||||
|
@ -1735,7 +1735,7 @@ class res_users(osv.osv):
|
|||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of res user’s IDs.
|
||||
@param context: A standard dictionary for contextual values
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
|
||||
return self._get_user_avail(cr, uid, ids, context=context)
|
||||
|
@ -1743,7 +1743,7 @@ class res_users(osv.osv):
|
|||
_columns = {
|
||||
'availability': fields.function(_get_user_avail_fun, type='selection', \
|
||||
selection=[('free', 'Free'), ('busy', 'Busy')], \
|
||||
string='Free/Busy', method=True),
|
||||
string='Free/Busy', method=True),
|
||||
}
|
||||
|
||||
res_users()
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
|
@ -15,12 +15,13 @@
|
|||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import calendar_event_edit_all
|
||||
import base_calendar_invite_attendee
|
||||
import base_calendar_set_exrule
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
@ -13,37 +13,38 @@
|
|||
<field name="type" />
|
||||
<field name="send_mail" />
|
||||
<newline />
|
||||
<group col="1" colspan="4"
|
||||
<group col="2" colspan="6"
|
||||
attrs="{'invisible': [('type', '!=', 'external')]}">
|
||||
<field name="email" colspan="4"
|
||||
attrs="{'required': [('type', '=', 'external')]}" />
|
||||
</group>
|
||||
<group col="1" colspan="4"
|
||||
<group col="2" colspan="6"
|
||||
attrs="{'invisible': [('type', '!=', 'internal')]}">
|
||||
<separator string="Users" colspan="4" />
|
||||
<field name="user_ids" select="1" colspan="4"
|
||||
nolabel="1" />
|
||||
<newline />
|
||||
</group>
|
||||
<group col="2" colspan="4"
|
||||
<group col="2" colspan="6"
|
||||
attrs="{'invisible': [('type', '!=', 'partner')]}">
|
||||
<field name="partner_id" colspan="2"
|
||||
on_change="onchange_partner_id(partner_id)"
|
||||
attrs="{'required': [('type', '=', 'partner')]}" />
|
||||
<newline />
|
||||
<separator string="Partner Contacts"
|
||||
colspan="4" />
|
||||
colspan="6" />
|
||||
<field name="contact_ids" select="1" colspan="4"
|
||||
nolabel="1" domain="[('partner_id', '=', partner_id)]"
|
||||
attrs="{'readonly': [('type', '!=', 'partner')]}" />
|
||||
</group>
|
||||
<newline />
|
||||
<separator string="" colspan="6" />
|
||||
<label string="" colspan="2" />
|
||||
<group col="4" colspan="4">
|
||||
<button icon='gtk-cancel' special="cancel"
|
||||
string="Cancel" />
|
||||
<button name="do_invite" string="Invite"
|
||||
type="object" icon="gtk-ok" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -0,0 +1,162 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from base_calendar import base_calendar
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
import tools
|
||||
import mx.DateTime
|
||||
import re
|
||||
|
||||
|
||||
months = {
|
||||
1: "January", 2: "February", 3: "March", 4: "April", \
|
||||
5: "May", 6: "June", 7: "July", 8: "August", 9: "September", \
|
||||
10: "October", 11: "November", 12: "December"
|
||||
}
|
||||
|
||||
class base_calendar_set_exrule(osv.osv_memory):
|
||||
"""
|
||||
Set Exrule.
|
||||
"""
|
||||
|
||||
_name = "base.calendar.set.exrule"
|
||||
_description = "Set Exrule"
|
||||
|
||||
_columns = {
|
||||
'freq': fields.selection([('None', 'No Repeat'), \
|
||||
('secondly', 'Secondly'), \
|
||||
('minutely', 'Minutely'), \
|
||||
('hourly', 'Hourly'), \
|
||||
('daily', 'Daily'), \
|
||||
('weekly', 'Weekly'), \
|
||||
('monthly', 'Monthly'), \
|
||||
('yearly', 'Yearly')], 'Frequency',required=True),
|
||||
'interval': fields.integer('Interval'),
|
||||
'count': fields.integer('Count'),
|
||||
'mo': fields.boolean('Mon'),
|
||||
'tu': fields.boolean('Tue'),
|
||||
'we': fields.boolean('Wed'),
|
||||
'th': fields.boolean('Thu'),
|
||||
'fr': fields.boolean('Fri'),
|
||||
'sa': fields.boolean('Sat'),
|
||||
'su': fields.boolean('Sun'),
|
||||
'select1': fields.selection([('date', 'Date of month'), \
|
||||
('day', 'Day of month')], 'Option'),
|
||||
'day': fields.integer('Date of month'),
|
||||
'week_list': fields.selection([('MO', 'Monday'), ('TU', 'Tuesday'), \
|
||||
('WE', 'Wednesday'), ('TH', 'Thursday'), \
|
||||
('FR', 'Friday'), ('SA', 'Saturday'), \
|
||||
('SU', 'Sunday')], 'Weekday'),
|
||||
'byday': fields.selection([('1', 'First'), ('2', 'Second'), \
|
||||
('3', 'Third'), ('4', 'Fourth'), \
|
||||
('5', 'Fifth'), ('-1', 'Last')], 'By day'),
|
||||
'month_list': fields.selection(months.items(),'Month'),
|
||||
'end_date': fields.date('Repeat Until'),
|
||||
|
||||
}
|
||||
|
||||
def view_init(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
This function checks for precondition before wizard executes
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param fields: List of fields for default value
|
||||
@param context: A standard dictionary for contextual values
|
||||
|
||||
"""
|
||||
crm_obj = self.pool.get('crm.meeting')
|
||||
for meeting in crm_obj.browse(cr, uid, context.get('active_ids', [])):
|
||||
if not meeting.rrule:
|
||||
raise osv.except_osv(_("Warning !"), _("Please Apply Recurrency after Apply Exception Rule"))
|
||||
return False
|
||||
|
||||
def compute_exrule_string(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
Compute rule string.
|
||||
@param self: the object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param datas: dictionary of freq and interval value.
|
||||
@return: string value which compute FREQILY;INTERVAL
|
||||
"""
|
||||
|
||||
weekdays = ['mo', 'tu', 'we', 'th', 'fr', 'sa', 'su']
|
||||
weekstring = ''
|
||||
monthstring = ''
|
||||
yearstring = ''
|
||||
|
||||
for datas in self.read(cr, uid, ids, context=context):
|
||||
freq = datas.get('freq')
|
||||
if freq == 'None':
|
||||
return ''
|
||||
|
||||
interval_srting = datas.get('interval') and (';INTERVAL=' + str(datas.get('interval'))) or ''
|
||||
|
||||
if freq == 'weekly':
|
||||
|
||||
byday = map(lambda x: x.upper(), filter(lambda x: datas.get(x) and x in weekdays, datas))
|
||||
if byday:
|
||||
weekstring = ';BYDAY=' + ','.join(byday)
|
||||
|
||||
elif freq == 'monthly':
|
||||
if datas.get('select1')=='date' and (datas.get('day') < 1 or datas.get('day') > 31):
|
||||
raise osv.except_osv(_('Error!'), ("Please select proper Day of month"))
|
||||
if datas.get('select1')=='day':
|
||||
monthstring = ';BYDAY=' + datas.get('byday') + datas.get('week_list')
|
||||
elif datas.get('select1')=='date':
|
||||
monthstring = ';BYMONTHDAY=' + str(datas.get('day'))
|
||||
|
||||
elif freq == 'yearly':
|
||||
if datas.get('select1')=='date' and (datas.get('day') < 1 or datas.get('day') > 31):
|
||||
raise osv.except_osv(_('Error!'), ("Please select proper Day of month"))
|
||||
bymonth = ';BYMONTH=' + str(datas.get('month_list'))
|
||||
if datas.get('select1')=='day':
|
||||
bystring = ';BYDAY=' + datas.get('byday') + datas.get('week_list')
|
||||
elif datas.get('select1')=='date':
|
||||
bystring = ';BYMONTHDAY=' + str(datas.get('day'))
|
||||
yearstring = bymonth + bystring
|
||||
|
||||
if datas.get('end_date'):
|
||||
datas['end_date'] = ''.join((re.compile('\d')).findall(datas.get('end_date'))) + '235959Z'
|
||||
enddate = (datas.get('count') and (';COUNT=' + str(datas.get('count'))) or '') +\
|
||||
((datas.get('end_date') and (';UNTIL=' + datas.get('end_date'))) or '')
|
||||
|
||||
exrule_string = 'FREQ=' + freq.upper() + weekstring + interval_srting \
|
||||
+ enddate + monthstring + yearstring
|
||||
ex_id = base_calendar.base_calendar_id2real_id(context['active_id'])
|
||||
model = context.get('model', False)
|
||||
model_obj = self.pool.get(model)
|
||||
exrule_value = model_obj.write(cr, uid,ex_id,{
|
||||
'exrule': exrule_string,
|
||||
})
|
||||
return {}
|
||||
|
||||
_defaults = {
|
||||
'freq': lambda *x: 'None',
|
||||
'select1': lambda *x: 'date',
|
||||
'interval': lambda *x: 1,
|
||||
}
|
||||
|
||||
base_calendar_set_exrule()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="view_base_calendar_set_exrule" model="ir.ui.view">
|
||||
<field name="name">base.calendar.set.exrule.form</field>
|
||||
<field name="model">base.calendar.set.exrule</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Set Exrule">
|
||||
<separator string="Select data for ExRule" colspan="8"/>
|
||||
<group col="8" colspan="6">
|
||||
<field name="freq" />
|
||||
<field name="interval" />
|
||||
<field name="count" />
|
||||
<field name="end_date" />
|
||||
</group>
|
||||
<group col="8" colspan="8" name="Select weekdays"
|
||||
attrs="{'invisible' : [('freq','!=','weekly')]}">
|
||||
<field name="mo" colspan="1" />
|
||||
<field name="tu" colspan="1" />
|
||||
<field name="we" colspan="1" />
|
||||
<field name="th" colspan="1" />
|
||||
<field name="fr" colspan="1" />
|
||||
<field name="sa" colspan="1" />
|
||||
<field name="su" colspan="1" />
|
||||
<newline />
|
||||
</group>
|
||||
<group col="8" colspan="6"
|
||||
attrs="{'invisible' : [('freq','!=','monthly'), ('freq','!=','yearly')]}">
|
||||
<group col="2" colspan="1">
|
||||
<field name="select1" />
|
||||
</group>
|
||||
<group col="2" colspan="1"
|
||||
attrs="{'invisible' : [('select1','=','day')]}">
|
||||
<field name="day"
|
||||
attrs="{'required' : [('select1','=','date')]}"/>
|
||||
</group>
|
||||
<group col="3" colspan="1"
|
||||
attrs="{'invisible' : [('select1','=','date')]}">
|
||||
<field name="byday" string="The"
|
||||
attrs="{'required' : [('select1','=','day')]}"/>
|
||||
<field name="week_list" nolabel="1"
|
||||
attrs="{'required' : [('select1','=','day')]}"/>
|
||||
</group>
|
||||
<group col="1" colspan="1"
|
||||
attrs="{'invisible' : [('freq','!=','yearly')]}">
|
||||
<field name="month_list" string="of"
|
||||
colspan="1"
|
||||
attrs="{'required' : [('freq','=','yearly')]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<group colspan="4" col="6">
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-ok" string="ok" name="compute_exrule_string" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_base_calendar_set_exrule" model="ir.actions.act_window">
|
||||
<field name="name">Set Exrule</field>
|
||||
<field name="res_model">base.calendar.set.exrule</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form,tree</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -136,8 +136,8 @@
|
|||
<form string="Address">
|
||||
<group string="Postal Address" colspan="2" col="2">
|
||||
<field name="type" />
|
||||
<field name="street"/>
|
||||
<field name="street2"/>
|
||||
<field name="street" widget="selection"/>
|
||||
<field name="street2" widget="selection"/>
|
||||
<field name="zip"/>
|
||||
<field name="city"/>
|
||||
<field name="country_id" completion="1"/>
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-12-29 16:54+0000\n"
|
||||
"Last-Translator: Carlo Vettore <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-05-13 13:58+0000\n"
|
||||
"Last-Translator: eLBati - albatos.com <lorenzo.battistini@albatos.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: 2010-04-17 04:03+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-14 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_vat
|
||||
|
@ -31,9 +31,9 @@ msgstr "XML non valido per Visualizzazione Architettura!"
|
|||
#. module: base_vat
|
||||
#: field:res.partner,vat_subjected:0
|
||||
msgid "VAT Legal Statement"
|
||||
msgstr "Numero di Partita IVA"
|
||||
msgstr "Soggetto a IVA"
|
||||
|
||||
#. module: base_vat
|
||||
#: model:ir.module.module,shortdesc:base_vat.module_meta_information
|
||||
msgid "VAT"
|
||||
msgstr "P.IVA"
|
||||
msgstr "Partita IVA"
|
||||
|
|
|
@ -143,7 +143,8 @@ class board_board(osv.osv):
|
|||
_columns = {
|
||||
'name': fields.char('Dashboard', size=64, required=True),
|
||||
'view_id': fields.many2one('ir.ui.view', 'Board View'),
|
||||
'line_ids': fields.one2many('board.board.line', 'board_id', 'Action Views')
|
||||
'line_ids': fields.one2many('board.board.line', 'board_id', 'Action Views'),
|
||||
'menu_id':fields.many2one('ir.ui.menu', 'Menu', required=False),
|
||||
}
|
||||
|
||||
# the following lines added to let the button on dashboard work.
|
||||
|
|
|
@ -66,11 +66,14 @@
|
|||
<field eval="1" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Dashboard">
|
||||
<field name="name" select="1"/>
|
||||
<button colspan="2"
|
||||
name="%(action_board_menu_create)d"
|
||||
string="Create Menu" type="action"
|
||||
icon="gtk-justify-fill" />
|
||||
<group col="6" colspan="4">
|
||||
<field name="name" select="1" />
|
||||
<field name="menu_id" colspan="2"/>
|
||||
<button
|
||||
name="%(action_board_menu_create)d"
|
||||
string="Create Menu" type="action"
|
||||
icon="gtk-justify-fill" attrs="{'invisible':[('menu_id','!=',False)]}"/>
|
||||
</group>
|
||||
<field colspan="4" name="line_ids" nolabel="1">
|
||||
<tree string="Dashboard View">
|
||||
<field name="name"/>
|
||||
|
|
|
@ -69,14 +69,17 @@ class board_menu_create(osv.osv_memory):
|
|||
'view_id': board.view_id.id,
|
||||
})
|
||||
obj_menu = self.pool.get('ir.ui.menu')
|
||||
obj_board = self.pool.get('board.board')
|
||||
#start Loop
|
||||
for data in self.read(cr, uid, ids):
|
||||
obj_menu.create(cr, uid, {
|
||||
'name': data.get('menu_name'),
|
||||
'parent_id': data.get('menu_parent_id'),
|
||||
'icon': 'STOCK_SELECT_COLOR',
|
||||
'action': 'ir.actions.act_window,' + str(action_id)
|
||||
}, context=context)
|
||||
id = obj_menu.create(cr, uid, {
|
||||
'name': data.get('menu_name'),
|
||||
'parent_id': data.get('menu_parent_id'),
|
||||
'icon': 'STOCK_SELECT_COLOR',
|
||||
'action': 'ir.actions.act_window,' + str(action_id)
|
||||
}, context=context)
|
||||
obj_board.write(cr, uid, [context_id], { "menu_id": id})
|
||||
|
||||
#End Loop
|
||||
return {}
|
||||
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
<separator string="" colspan="4" />
|
||||
<group colspan="4" col="6">
|
||||
<label string=" " colspan="2"/>
|
||||
<button icon="gtk-cancel" special="cancel"
|
||||
string="Cancel" />
|
||||
<button icon="gtk-save" string="Create Menu"
|
||||
<button icon="gtk-close" special="cancel"
|
||||
string="Close" />
|
||||
<button icon="gtk-ok" string="Create"
|
||||
name="board_menu_create" type="object" />
|
||||
</group>
|
||||
</form>
|
||||
|
|
|
@ -7,40 +7,40 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 12:29+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-05-14 16:28+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\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: 2010-04-17 03:59+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-15 04:58+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: board_sale
|
||||
#: model:ir.module.module,shortdesc:board_sale.module_meta_information
|
||||
msgid "Dashboard for sales"
|
||||
msgstr ""
|
||||
msgstr "Konsola dla sprzedaży"
|
||||
|
||||
#. module: board_sale
|
||||
#: model:ir.actions.act_window,name:board_sale.open_board_sales_manager
|
||||
#: model:ir.ui.menu,name:board_sale.menu_board_sales_manager
|
||||
msgid "Sale Dashboard"
|
||||
msgstr ""
|
||||
msgstr "Konsola sprzedaży"
|
||||
|
||||
#. module: board_sale
|
||||
#: view:board.board:0
|
||||
msgid "Sales of the month"
|
||||
msgstr ""
|
||||
msgstr "Sprzedaż w miesiącu"
|
||||
|
||||
#. module: board_sale
|
||||
#: view:board.board:0
|
||||
msgid "Sales manager board"
|
||||
msgstr ""
|
||||
msgstr "Konsola szefa sprzedaży"
|
||||
|
||||
#. module: board_sale
|
||||
#: view:board.board:0
|
||||
msgid "Cases of the month"
|
||||
msgstr ""
|
||||
msgstr "Zdarzenia miesiąca"
|
||||
|
||||
#. module: board_sale
|
||||
#: constraint:ir.ui.view:0
|
||||
|
@ -50,12 +50,12 @@ msgstr "XML niewłaściwy dla tej architektury wyświetlania!"
|
|||
#. module: board_sale
|
||||
#: view:board.board:0
|
||||
msgid "My open quotations"
|
||||
msgstr ""
|
||||
msgstr "Moje otwarte zamówienia"
|
||||
|
||||
#. module: board_sale
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
|
||||
|
||||
#. module: board_sale
|
||||
#: model:ir.ui.menu,name:board_sale.next_id_88
|
||||
|
@ -65,9 +65,9 @@ msgstr "Sprzedaż"
|
|||
#. module: board_sale
|
||||
#: view:board.board:0
|
||||
msgid "Cases statistics"
|
||||
msgstr ""
|
||||
msgstr "Statystyka zdarzeń"
|
||||
|
||||
#. module: board_sale
|
||||
#: view:board.board:0
|
||||
msgid "Top ten sales of the month"
|
||||
msgstr ""
|
||||
msgstr "Dziesięć najlepszych sprzedaży w miesiącu"
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
<record model="ir.ui.view" id="view_calendar_collection_tree">
|
||||
<field name="name">Calendar Collections : Tree</field>
|
||||
<field name="model">document.directory</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Calendar Collections" toolbar="1">
|
||||
<field name="name"/>
|
||||
<field name="name"/>
|
||||
<field name="user_id"/>
|
||||
<field name="create_date"/>
|
||||
<field name="write_date"/>
|
||||
|
@ -53,8 +53,8 @@
|
|||
<field name="view_id" ref="view_calendar_collection_form"/>
|
||||
<field name="act_window_id" ref="action_calendar_collection_form"/>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
|
||||
<menuitem
|
||||
id="menu_calendar"
|
||||
name="Calendar"
|
||||
parent="base.menu_document_configuration"/>
|
||||
|
@ -73,7 +73,7 @@
|
|||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
<field name="user_id"/>
|
||||
<field name="collection_id" required="1"/>
|
||||
<field name="collection_id" required="1"/>
|
||||
<field name="line_ids" mode="form,tree" colspan="4" nolabel="1">
|
||||
<form string="Calendar Lines">
|
||||
<field name="name" required="1" select="1" />
|
||||
|
@ -110,11 +110,11 @@
|
|||
<record model="ir.ui.view" id="view_caldav_tree">
|
||||
<field name="name">Calendar : Tree</field>
|
||||
<field name="model">basic.calendar</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Calendars" toolbar="1">
|
||||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
<field name="user_id"/>
|
||||
<field name="create_date"/>
|
||||
<field name="write_date"/>
|
||||
|
@ -127,8 +127,8 @@
|
|||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">basic.calendar</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<record id="action_caldav_view1" model="ir.actions.act_window.view">
|
||||
<field eval="10" name="sequence"/>
|
||||
|
@ -147,5 +147,6 @@
|
|||
action="action_caldav_form"
|
||||
id="menu_caldav_directories"
|
||||
parent="menu_calendar"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'Customer & Supplier Relationship Management',
|
||||
'version': '1.0',
|
||||
'category': 'Generic Modules/CRM & SRM',
|
||||
'name': 'Customer & Supplier Relationship Management',
|
||||
'version': '1.0',
|
||||
'category': 'Generic Modules/CRM & SRM',
|
||||
'description': """The generic Open ERP Customer Relationship Management
|
||||
system enables a group of people to intelligently and efficiently manage
|
||||
leads, opportunities, meeting, phonecall etc.
|
||||
|
@ -41,78 +41,78 @@ appropriate staff, and making sure all future correspondence gets to the right
|
|||
place.
|
||||
|
||||
The CRM module has a email gateway for the synchronisation interface
|
||||
between mails and Open ERP.""",
|
||||
'author': 'Tiny',
|
||||
'website': 'http://www.openerp.com',
|
||||
between mails and Open ERP.""",
|
||||
'author': 'Tiny',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': [
|
||||
'base',
|
||||
'base_action_rule',
|
||||
'process',
|
||||
'mail_gateway',
|
||||
'base_calendar',
|
||||
'resource',
|
||||
],
|
||||
'base',
|
||||
'base_action_rule',
|
||||
'process',
|
||||
'mail_gateway',
|
||||
'base_calendar',
|
||||
'resource',
|
||||
],
|
||||
'init_xml': [
|
||||
'crm_data.xml',
|
||||
'crm_meeting_data.xml',
|
||||
'crm_lead_data.xml',
|
||||
'crm_meeting_data.xml',
|
||||
'crm_opportunity_data.xml',
|
||||
'crm_phonecall_data.xml',
|
||||
],
|
||||
'crm_data.xml',
|
||||
'crm_meeting_data.xml',
|
||||
'crm_lead_data.xml',
|
||||
'crm_meeting_data.xml',
|
||||
'crm_opportunity_data.xml',
|
||||
'crm_phonecall_data.xml',
|
||||
],
|
||||
|
||||
'update_xml': [
|
||||
'wizard/crm_lead_to_partner_view.xml',
|
||||
'wizard/crm_lead_to_opportunity_view.xml',
|
||||
'wizard/crm_lead_to_partner_view.xml',
|
||||
'wizard/crm_lead_to_opportunity_view.xml',
|
||||
|
||||
'wizard/crm_phonecall_to_phonecall_view.xml',
|
||||
'wizard/crm_phonecall_to_partner_view.xml',
|
||||
'wizard/crm_phonecall_to_opportunity_view.xml',
|
||||
'wizard/crm_phonecall_to_phonecall_view.xml',
|
||||
'wizard/crm_phonecall_to_partner_view.xml',
|
||||
'wizard/crm_phonecall_to_opportunity_view.xml',
|
||||
|
||||
'wizard/crm_opportunity_to_phonecall_view.xml',
|
||||
'wizard/crm_partner_to_opportunity_view.xml',
|
||||
'wizard/crm_opportunity_to_phonecall_view.xml',
|
||||
'wizard/crm_partner_to_opportunity_view.xml',
|
||||
|
||||
'wizard/crm_forward_to_partner_view.xml',
|
||||
'wizard/crm_send_email_view.xml',
|
||||
'crm_view.xml',
|
||||
'wizard/crm_forward_to_partner_view.xml',
|
||||
'wizard/crm_send_email_view.xml',
|
||||
'crm_view.xml',
|
||||
|
||||
'crm_action_rule_view.xml',
|
||||
'crm_lead_view.xml',
|
||||
'crm_lead_menu.xml',
|
||||
|
||||
'crm_meeting_view.xml',
|
||||
'crm_meeting_menu.xml',
|
||||
|
||||
'crm_phonecall_view.xml',
|
||||
'crm_phonecall_menu.xml',
|
||||
|
||||
'crm_opportunity_view.xml',
|
||||
'crm_opportunity_menu.xml',
|
||||
|
||||
'security/crm_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'crm_action_rule_view.xml',
|
||||
'crm_lead_view.xml',
|
||||
'crm_lead_menu.xml',
|
||||
|
||||
'report/crm_lead_report_view.xml',
|
||||
'report/crm_phonecall_report_view.xml',
|
||||
'crm_meeting_view.xml',
|
||||
'crm_meeting_menu.xml',
|
||||
|
||||
'process/crm_configuration_process.xml',
|
||||
'crm_phonecall_view.xml',
|
||||
'crm_phonecall_menu.xml',
|
||||
|
||||
'crm_opportunity_view.xml',
|
||||
'crm_opportunity_menu.xml',
|
||||
|
||||
'security/crm_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
|
||||
'report/crm_lead_report_view.xml',
|
||||
'report/crm_phonecall_report_view.xml',
|
||||
|
||||
'process/crm_configuration_process.xml',
|
||||
'crm_installer_view.xml'
|
||||
],
|
||||
],
|
||||
'demo_xml': [
|
||||
'crm_demo.xml',
|
||||
'crm_lead_demo.xml',
|
||||
'crm_meeting_demo.xml',
|
||||
'crm_opportunity_demo.xml',
|
||||
'crm_demo.xml',
|
||||
'crm_lead_demo.xml',
|
||||
'crm_meeting_demo.xml',
|
||||
'crm_opportunity_demo.xml',
|
||||
'crm_phonecall_demo.xml'
|
||||
],
|
||||
],
|
||||
'test': [
|
||||
'test/test_crm_lead.yml',
|
||||
'test/test_crm_meeting.yml',
|
||||
'test/test_crm_opportunity.yml',
|
||||
'test/test_crm_phonecall.yml',
|
||||
],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '0079056041421',
|
||||
'test/test_crm_lead.yml',
|
||||
'test/test_crm_meeting.yml',
|
||||
'test/test_crm_opportunity.yml',
|
||||
'test/test_crm_phonecall.yml',
|
||||
],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '0079056041421',
|
||||
}
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -74,7 +74,7 @@ class crm_lead(osv.osv, crm_case):
|
|||
|
||||
duration = float(ans.days)
|
||||
if lead.section_id and lead.section_id.resource_calendar_id:
|
||||
duration = float(ans.days) * 24
|
||||
duration = float(ans.days) * 24
|
||||
new_dates = cal_obj.interval_get(cr,
|
||||
uid,
|
||||
lead.section_id.resource_calendar_id and lead.section_id.resource_calendar_id.id or False,
|
||||
|
@ -95,18 +95,18 @@ class crm_lead(osv.osv, crm_case):
|
|||
|
||||
_columns = {
|
||||
# From crm.case
|
||||
'email_from': fields.char('Email', size=128, help="These people will receive email."),
|
||||
'email_from': fields.char('Email', size=128, help="These people will receive email."),
|
||||
'section_id': fields.many2one('crm.case.section', 'Sales Team', \
|
||||
select=True, help='Sales team to which Case belongs to.\
|
||||
Define Responsible user and Email account for mail gateway.'),
|
||||
Define Responsible user and Email account for mail gateway.'),
|
||||
'create_date': fields.datetime('Creation Date' , readonly=True),
|
||||
'email_cc': fields.text('Watchers Emails', size=252 , help="These \
|
||||
people will receive a copy of the future communication between partner \
|
||||
and users by email"),
|
||||
'description': fields.text('Description'),
|
||||
'write_date': fields.datetime('Update Date' , readonly=True),
|
||||
'description': fields.text('Description'),
|
||||
'write_date': fields.datetime('Update Date' , readonly=True),
|
||||
|
||||
# Lead fields
|
||||
# Lead fields
|
||||
'categ_id': fields.many2one('crm.case.categ', 'Lead Source', \
|
||||
domain="[('section_id','=',section_id),\
|
||||
('object_id.model', '=', 'crm.lead')]"),
|
||||
|
@ -117,34 +117,34 @@ and users by email"),
|
|||
'type':fields.selection([
|
||||
('lead','Lead'),
|
||||
('opportunity','Opportunity'),
|
||||
|
||||
],'Type', help="Type is used to separate Leads and Opportunities"),
|
||||
|
||||
],'Type', help="Type is used to separate Leads and Opportunities"),
|
||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'stage_id': fields.many2one('crm.case.stage', 'Stage', \
|
||||
domain="[('section_id','=',section_id),\
|
||||
('object_id.model', '=', 'crm.lead')]"),
|
||||
'user_id': fields.many2one('res.users', 'Salesman'),
|
||||
'user_id': fields.many2one('res.users', 'Salesman',help='By Default Salesman is Administrator when create New User'),
|
||||
'referred': fields.char('Referred By', size=64),
|
||||
'date_open': fields.datetime('Opened', readonly=True),
|
||||
'day_open': fields.function(_compute_day, string='Days to Open', \
|
||||
method=True, multi='day_open', type="float", store=True),
|
||||
'day_close': fields.function(_compute_day, string='Days to Close', \
|
||||
method=True, multi='day_close', type="float", store=True),
|
||||
'function_name': fields.char('Function', size=64),
|
||||
'state': fields.selection(crm.AVAILABLE_STATES, 'State', size=16, readonly=True,
|
||||
'function_name': fields.char('Function', size=64),
|
||||
'state': fields.selection(crm.AVAILABLE_STATES, 'State', size=16, readonly=True,
|
||||
help='The state is set to \'Draft\', when a case is created.\
|
||||
\nIf the case is in progress the state is set to \'Open\'.\
|
||||
\nWhen the case is over, the state is set to \'Done\'.\
|
||||
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
|
||||
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'active': lambda *a: 1,
|
||||
'user_id': crm_case._get_default_user,
|
||||
'email_from': crm_case._get_default_email,
|
||||
'state': lambda *a: 'draft',
|
||||
'section_id': crm_case._get_section,
|
||||
'active': lambda *a: 1,
|
||||
'user_id': crm_case._get_default_user,
|
||||
'email_from': crm_case._get_default_email,
|
||||
'state': lambda *a: 'draft',
|
||||
'section_id': crm_case._get_section,
|
||||
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.lead', context=c),
|
||||
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
|
||||
}
|
||||
|
@ -160,7 +160,7 @@ and users by email"),
|
|||
res = super(crm_lead, self).case_open(cr, uid, ids, *args)
|
||||
self.write(cr, uid, ids, {'date_open': time.strftime('%Y-%m-%d %H:%M:%S')})
|
||||
return res
|
||||
|
||||
|
||||
def case_close(self, cr, uid, ids, *args):
|
||||
"""Overrides close for crm_case for setting close date
|
||||
@param self: The object pointer
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
name="convert_opportunity"
|
||||
string="Convert"
|
||||
help="Convert to Opportunity"
|
||||
icon="gtk-index"
|
||||
icon="gtk-index"
|
||||
type="object"/>
|
||||
<newline />
|
||||
<field name="section_id" colspan="1"
|
||||
|
@ -175,7 +175,7 @@
|
|||
<field name="email_to"/>
|
||||
<field name="description"/>
|
||||
</tree>
|
||||
</field>
|
||||
</field>
|
||||
<button colspan="2" string="Send New Email"
|
||||
name="%(action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'crm.lead'}"
|
||||
|
|
|
@ -157,4 +157,32 @@ class calendar_attendee(osv.osv):
|
|||
|
||||
calendar_attendee()
|
||||
|
||||
class res_users(osv.osv):
|
||||
_name = 'res.users'
|
||||
_inherit = 'res.users'
|
||||
|
||||
def create(self, cr, uid, data, context={}):
|
||||
user_id = super(res_users, self).create(cr, uid, data, context)
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
data_id = data_obj._get_id(cr, uid, 'crm', 'ir_ui_view_sc_calendar0')
|
||||
view_id = data_obj.browse(cr, uid, data_id, context=context).res_id
|
||||
copy_id = self.pool.get('ir.ui.view_sc').copy(cr, uid, view_id, default = {
|
||||
'user_id': user_id}, context=context)
|
||||
return user_id
|
||||
|
||||
res_users()
|
||||
|
||||
|
||||
class res_partner(osv.osv):
|
||||
""" Inherits partner and adds meetings information in the partner form """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'meeting_ids': fields.one2many('crm.meeting', 'partner_id',\
|
||||
'Meetings'),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -110,7 +110,8 @@
|
|||
|
||||
<menuitem id="menu_attendee_invitations"
|
||||
name="Meeting Invitations" parent="crm.menu_meeting_sale"
|
||||
sequence="10" action="action_view_attendee_form" />
|
||||
sequence="10" action="action_view_attendee_form"
|
||||
groups="base.group_extended" />
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -50,6 +50,10 @@
|
|||
attrs="{'invisible':[('rrule_type','in', ('none', False))]}"
|
||||
name="open_meeting" icon="gtk-edit"
|
||||
type="object" />
|
||||
<button string="ExRule"
|
||||
name="%(base_calendar.action_base_calendar_set_exrule)d" icon="gtk-zoom-out" type="action"
|
||||
context="{'model' : 'crm.meeting'}"
|
||||
attrs="{'invisible':[('rrule_type','in', ('none', False))]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="4" colspan="4" name="rrule" attrs="{'invisible': [('rrule_type','!=','custom')]}">
|
||||
|
@ -213,7 +217,6 @@
|
|||
<field name="partner_id" string="Partner" />
|
||||
<field name="date" string="Meeting Date" />
|
||||
<field name="duration" />
|
||||
<field name="user_id" />
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -324,5 +327,22 @@
|
|||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_meeting_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.meeting.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="CRM Info">
|
||||
<field name="meeting_ids" colspan="4" nolabel="1" />
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -166,4 +166,16 @@ class crm_opportunity(osv.osv):
|
|||
|
||||
crm_opportunity()
|
||||
|
||||
class res_partner(osv.osv):
|
||||
""" Inherits partner and adds Opportunities information in the partner form """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'opportunity_ids': fields.one2many('crm.lead', 'partner_id',\
|
||||
'Opportunities', domain=[('type', '=', 'opportunity')]),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -2,16 +2,6 @@
|
|||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<act_window
|
||||
id="act_crm_opportunity_crm_meeting_new"
|
||||
name="Meetings"
|
||||
res_model="crm.meeting"
|
||||
src_model="crm.lead"
|
||||
view_mode="tree,form,calendar,"
|
||||
context="{'default_duration': 4.0, 'default_opportunity_id': active_id}"
|
||||
domain="[('user_id','=',uid), ('opportunity_id', '=', active_id)]"
|
||||
view_type="form"/>
|
||||
|
||||
<act_window
|
||||
id="act_crm_opportunity_crm_phonecall_new"
|
||||
name="Phone calls"
|
||||
|
@ -22,6 +12,16 @@
|
|||
domain="[('user_id','=',uid),('opportunity_id', '=', active_id)]"
|
||||
view_type="form"/>
|
||||
|
||||
<act_window
|
||||
id="act_crm_opportunity_crm_meeting_new"
|
||||
name="Meetings"
|
||||
res_model="crm.meeting"
|
||||
src_model="crm.lead"
|
||||
view_mode="tree,form,calendar,"
|
||||
context="{'default_duration': 4.0, 'default_opportunity_id': active_id}"
|
||||
domain="[('user_id','=',uid), ('opportunity_id', '=', active_id)]"
|
||||
view_type="form"/>
|
||||
|
||||
<record model="ir.actions.act_window" id="crm_case_category_act_oppor11">
|
||||
<field name="name">Opportunities</field>
|
||||
<field name="res_model">crm.lead</field>
|
||||
|
|
|
@ -216,7 +216,7 @@
|
|||
<field name="name" string="Opportunity"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="stage_id"/>
|
||||
<field name="categ_id" invisible="1"/>
|
||||
<field name="categ_id" invisible="1" groups="base.group_extended"/>
|
||||
<button name="stage_previous" string="Previous"
|
||||
states="open,pending" type="object" icon="gtk-go-back" />
|
||||
<button name="stage_next" string="Next"
|
||||
|
@ -295,7 +295,7 @@
|
|||
help="My Opportunities" default="1"
|
||||
/>
|
||||
<filter icon="terp-partner"
|
||||
domain="[('user_id','=', False)]"
|
||||
domain="[('user_id','=', uid)]"
|
||||
help="Unassigned Opportunities" />
|
||||
</field>
|
||||
<field name="section_id"
|
||||
|
@ -315,8 +315,6 @@
|
|||
domain="[]" context="{'group_by':'categ_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Partner" icon="terp-crm" domain="[]"
|
||||
context="{'group_by':'partner_id'}" />
|
||||
<filter string="Salesman" icon="terp-crm"
|
||||
domain="[('user_id','=',uid)]" context="{'group_by':'user_id'}" />
|
||||
<separator orientation="vertical" />
|
||||
|
@ -328,5 +326,60 @@
|
|||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_opp_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.opportunity.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="phonecall_ids" position="after">
|
||||
<field name="opportunity_ids" colspan="4" nolabel="1" domain="[('type', '=', 'opportunity')]">
|
||||
<tree string="Opportunities" colors="blue:state=='pending';grey:state in ('cancel', 'done')">
|
||||
<field name="create_date"/>
|
||||
<field name="partner_name"/>
|
||||
<field name="name"/>
|
||||
<field name="email_from"/>
|
||||
<field name="phone"/>
|
||||
|
||||
<field name="categ_id" invisible="1"/>
|
||||
<field name="type_id" invisible="1"/>
|
||||
<field name="referred" invisible="1"/>
|
||||
|
||||
<field name="stage_id"/>
|
||||
<button name="stage_previous" string="Previous"
|
||||
states="open,pending" type="object" icon="gtk-go-back" />
|
||||
<button name="stage_next" string="Next"
|
||||
states="open,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
<field name="section_id"
|
||||
invisible="context.get('invisible_section', True)" />
|
||||
<field name="user_id" />
|
||||
<field name="state" />
|
||||
<button name="case_open" string="Open"
|
||||
states="draft,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
<button name="case_close" string="Close"
|
||||
states="open,draft,pending" type="object"
|
||||
icon="gtk-close" />
|
||||
<button string="Convert to Opportunity"
|
||||
name="convert_opportunity"
|
||||
states="draft,open,pending" icon="gtk-index"
|
||||
type="object" />
|
||||
<button name="case_escalate" string="Escalate"
|
||||
states="open,draft,pending" type="object"
|
||||
icon="gtk-go-up" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
</tree>
|
||||
</field>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -175,4 +175,15 @@ class crm_phonecall(osv.osv, crm_case):
|
|||
|
||||
crm_phonecall()
|
||||
|
||||
class res_partner(osv.osv):
|
||||
""" Inherits partner and adds Phonecalls information in the partner form """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'phonecall_ids': fields.one2many('crm.phonecall', 'partner_id', 'Phonecalls'),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
view_mode="calendar,tree,form"
|
||||
context="{'default_partner_id': active_id, 'default_duration': 1.0}"
|
||||
domain="[('partner_id', '=', active_id)]"
|
||||
groups="base.group_extended"
|
||||
/>
|
||||
|
||||
<!-- PHONE CALLS (menu) -->
|
||||
|
|
|
@ -291,5 +291,20 @@
|
|||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_phonecall_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.phonecall.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="meeting_ids" position="after">
|
||||
<field name="phonecall_ids" colspan="4" nolabel="1" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -119,7 +119,6 @@
|
|||
|
||||
<menuitem id="menu_crm_case_stage" name="Stages" parent="base.menu_crm_configuration" groups="base.group_extended"/>
|
||||
|
||||
|
||||
<!-- Case Categories Form View -->
|
||||
|
||||
<record id="crm_case_categ-view" model="ir.ui.view">
|
||||
|
@ -425,7 +424,7 @@
|
|||
|
||||
<!-- Case Search View -->
|
||||
|
||||
|
||||
|
||||
<record id="view_crm_case_filter" model="ir.ui.view">
|
||||
<field name="name">crm.case.select</field>
|
||||
<field name="model">mailgate.thread</field>
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-01-05 05:59+0000\n"
|
||||
"PO-Revision-Date: 2010-05-12 20:13+0000\n"
|
||||
"PO-Revision-Date: 2010-05-14 20:14+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\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: 2010-05-13 04:36+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-15 04:58+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: crm
|
||||
|
@ -27,16 +27,12 @@ msgid ""
|
|||
"This property defines the list of date/time exceptions for "
|
||||
"arecurring calendar component."
|
||||
msgstr ""
|
||||
"Ta cecha definiuje listę wyjątków daty/czasu dla powtarzanych elementów "
|
||||
"kalendarza."
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.rule,act_mail_to_user:0
|
||||
msgid ""
|
||||
"Check this if you want the rule to send an email to the responsible person."
|
||||
msgstr ""
|
||||
"Zaznacz to jeżeli chcesz aby przez regułę został wysłany email do "
|
||||
"odpowiedzialnej osoby."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
|
@ -84,12 +80,12 @@ msgstr "Planowane koszty"
|
|||
#. module: crm
|
||||
#: wizard_field:crm.job.partner_create,init,close:0
|
||||
msgid "Close job request"
|
||||
msgstr "Żądanie zakończenia zadania."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.stage,name:0
|
||||
msgid "Stage Name"
|
||||
msgstr ""
|
||||
msgstr "Nazwa etapu"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.case:0
|
||||
|
@ -255,7 +251,7 @@ msgstr "Rozmowa telefoniczna"
|
|||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_report_crm_case_section_stage
|
||||
msgid "Cases by section and stage"
|
||||
msgstr ""
|
||||
msgstr "Zdarzenia wg sekcji i etapów"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.rule,act_mail_to_email:0
|
||||
|
@ -661,7 +657,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: help:crm.case,email_from:0
|
||||
msgid "These people will receive email."
|
||||
msgstr ""
|
||||
msgstr "Ci ludzie otrzymają wiadomość"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.section,calendar:0
|
||||
|
@ -710,6 +706,8 @@ msgstr ""
|
|||
msgid ""
|
||||
"You must define a responsible user for this case in order to use this action!"
|
||||
msgstr ""
|
||||
"Musisz zdefiniować użytkownika odpowiedzialnego za zdarzenie, aby zastosować "
|
||||
"tę akcję!"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.phonecall:0
|
||||
|
@ -724,7 +722,7 @@ msgstr "Zdarzenia partnera"
|
|||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_job4
|
||||
msgid "Contract Proposed"
|
||||
msgstr ""
|
||||
msgstr "Zaproponowano umowę"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.ui.menu,name:crm.menu_crm_case_job_req_main
|
||||
|
@ -737,7 +735,7 @@ msgstr "Praca - proces zatrudnienia"
|
|||
#: view:crm.lead:0
|
||||
#: view:crm.opportunity:0
|
||||
msgid "Related Cases"
|
||||
msgstr ""
|
||||
msgstr "Zdarzenia związane"
|
||||
|
||||
#. module: crm
|
||||
#: selection:report.crm.case.section.categ.categ2,month:0
|
||||
|
@ -781,7 +779,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_oppor_stage
|
||||
msgid "Cases by Opportunities and Stage"
|
||||
msgstr ""
|
||||
msgstr "Zdarzenia wg szans i etapów"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.claim:0
|
||||
|
@ -796,18 +794,18 @@ msgstr "Pozycje segmentacji partnera"
|
|||
#. module: crm
|
||||
#: model:ir.actions.act_window,name:crm.crm_case_category_act_leads_all
|
||||
msgid "All Leads"
|
||||
msgstr ""
|
||||
msgstr "Wszystkie sygnały"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Leads Form"
|
||||
msgstr ""
|
||||
msgstr "Formularz sygnałów"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.segmentation:0
|
||||
#: model:ir.model,name:crm.model_crm_segmentation
|
||||
msgid "Partner Segmentation"
|
||||
msgstr ""
|
||||
msgstr "Segmentacja partnerów"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_job5
|
||||
|
@ -833,7 +831,7 @@ msgstr "Prawdopodobieństwo (%)"
|
|||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_lead
|
||||
msgid "Leads Cases"
|
||||
msgstr ""
|
||||
msgstr "Zdarzenia - sygnały"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.section,reply_to:0
|
||||
|
@ -846,7 +844,7 @@ msgstr ""
|
|||
#: view:crm.case.rule:0
|
||||
#: model:ir.model,name:crm.model_crm_case_rule
|
||||
msgid "Case Rule"
|
||||
msgstr ""
|
||||
msgstr "Reguła zdarzenia"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm_opportunity.py:0
|
||||
|
@ -1299,7 +1297,7 @@ msgstr "Oblicz segmentację"
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Lead Email"
|
||||
msgstr ""
|
||||
msgstr "Email sygnału"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.act_window,name:crm.crm_segmentation-act
|
||||
|
@ -1851,7 +1849,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.claim:0
|
||||
msgid "In Progress Claims"
|
||||
msgstr ""
|
||||
msgstr "Reklamacje w toku"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.actions.wizard,name:crm.wizard_crm_set_rrule
|
||||
|
@ -1916,7 +1914,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Leads Tree"
|
||||
msgstr ""
|
||||
msgstr "Drzewo sygnałów"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.meeting,caldav_url:0
|
||||
|
@ -2180,7 +2178,7 @@ msgstr "Utworzono"
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Lead Information"
|
||||
msgstr ""
|
||||
msgstr "Informacja sygnału"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_segmentation_line
|
||||
|
@ -2438,6 +2436,8 @@ msgid ""
|
|||
"Allows you to track and manage leads which are pre-sales requests or "
|
||||
"contacts, the very first contact with a customer request."
|
||||
msgstr ""
|
||||
"Pozwala śledzić i zarządzać sygnałami, które są pytaniami sondażowymi lub "
|
||||
"przypadkowymi kontaktami."
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case,som:0
|
||||
|
@ -2770,7 +2770,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Lead Name"
|
||||
msgstr ""
|
||||
msgstr "Nazwa sygnału"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.claim:0
|
||||
|
@ -2785,13 +2785,14 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Meeting For Leads Generation"
|
||||
msgstr ""
|
||||
msgstr "Spotkanie do generacji sygnałów"
|
||||
|
||||
#. module: crm
|
||||
#: wizard_view:crm.lead.opportunity_set,create_partner:0
|
||||
#: wizard_view:crm.lead.partner_create,init:0
|
||||
msgid "Are you sure you want to create a partner based on this lead ?"
|
||||
msgstr ""
|
||||
"Jesteś pewien, że chcesz utworzyć partnera na podstawie tego sygnału ?"
|
||||
|
||||
#. module: crm
|
||||
#: model:crm.case.stage,name:crm.stage_job6
|
||||
|
@ -2868,7 +2869,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:ir.actions.act_window,name:crm.crm_case_categ_claim0
|
||||
msgid "All Claims"
|
||||
msgstr ""
|
||||
msgstr "Wszystkie reklamacje"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.log,user_id:0
|
||||
|
@ -2972,12 +2973,12 @@ msgstr "Wszystkie przypadki"
|
|||
#: code:addons/crm/wizard/crm_lead_wizard.py:0
|
||||
#, python-format
|
||||
msgid "A partner is already defined on this lead."
|
||||
msgstr ""
|
||||
msgstr "Na podstawie tego sygnału juz został utworzony partner."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Lead Source"
|
||||
msgstr ""
|
||||
msgstr "Źródło sygnału"
|
||||
|
||||
#. module: crm
|
||||
#: field:report.crm.case.section.categ.categ2,nbr:0
|
||||
|
@ -3072,7 +3073,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Search Leads"
|
||||
msgstr ""
|
||||
msgstr "Szukaj sygnału"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.case.rule,active:0
|
||||
|
@ -3244,7 +3245,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_lead_stage
|
||||
msgid "Cases by Leads and Stage"
|
||||
msgstr ""
|
||||
msgstr "Zdarzenia wg sygnałów i etapów"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.meeting,exdate:0
|
||||
|
@ -3259,7 +3260,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: model:process.transition,note:crm.process_transition_leadopportunity0
|
||||
msgid "Creating business opportunities from Leads"
|
||||
msgstr ""
|
||||
msgstr "Tworzenie szansy z sygnału"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.ui.menu,name:crm.next_id_64
|
||||
|
@ -3331,7 +3332,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Lead Subject"
|
||||
msgstr ""
|
||||
msgstr "Temat sygnału"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
|
@ -3515,7 +3516,7 @@ msgstr ""
|
|||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
msgid "Lead Details"
|
||||
msgstr ""
|
||||
msgstr "Szczegóły sygnału"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.case.rule,act_section_id:0
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
</record>
|
||||
|
||||
<!-- Leads by user and section Search View -->
|
||||
|
||||
|
||||
<record id="view_report_crm_lead_filter" model="ir.ui.view">
|
||||
<field name="name">crm.lead.report.select</field>
|
||||
<field name="model">crm.lead.report</field>
|
||||
|
@ -119,7 +119,7 @@
|
|||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="1" string="Extended options..." colspan="10" col="12" groups="base.group_extended">
|
||||
<filter icon="terp-sale"
|
||||
string="Done"
|
||||
domain="[('state','=','done')]"/>
|
||||
|
@ -144,14 +144,14 @@
|
|||
<filter string="Section" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'section_id'}" />
|
||||
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="State" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'state'}" />
|
||||
|
||||
<filter string="Stage" icon="terp-sale" domain="[]"
|
||||
context="{'group_by':'stage_id'}" />
|
||||
|
||||
|
||||
<filter string="Category" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'categ_id'}" />
|
||||
|
||||
|
@ -180,9 +180,9 @@
|
|||
<tree string="Opportunities">
|
||||
<field name="name" invisible="1"/>
|
||||
<field name="month" invisible="1"/>
|
||||
<field name="section_id" invisible="1"/>
|
||||
<field name="section_id" invisible="1" groups="base.group_extended"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="company_id" invisible="1" groups="base.group_extended"/>
|
||||
<field name="partner_id" invisible="1"/>
|
||||
<field name="day" invisible="1"/>
|
||||
<field name="nbr" string="#Opportunities" sum="#Opportunities"/>
|
||||
|
@ -220,7 +220,7 @@
|
|||
<field name="view_id" ref="view_report_crm_lead_graph"/>
|
||||
<field name="act_window_id" ref="action_report_crm_lead"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="action_report_crm_opportunity" model="ir.actions.act_window">
|
||||
<field name="name">Opportunities</field>
|
||||
<field name="res_model">crm.lead.report</field>
|
||||
|
@ -244,7 +244,7 @@
|
|||
<field name="view_id" ref="view_report_crm_lead_graph"/>
|
||||
<field name="act_window_id" ref="action_report_crm_opportunity"/>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem name="Leads" id="menu_report_crm_leads_tree"
|
||||
groups="base.group_extended"
|
||||
parent="base.next_id_64" action="action_report_crm_lead" />
|
||||
|
|
|
@ -39,7 +39,8 @@
|
|||
key2="client_action_multi" name="Create Opportunity"
|
||||
res_model="crm.partner2opportunity" src_model="res.partner"
|
||||
view_id="view_crm_lead2partner_create"
|
||||
view_mode="form" target="new" view_type="form" />
|
||||
view_mode="form" target="new" view_type="form"
|
||||
groups="base.group_extended"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -118,7 +118,7 @@
|
|||
<record model="ir.ui.view" id="view_document_directory_tree">
|
||||
<field name="name">document.directory</field>
|
||||
<field name="model">document.directory</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Directories" toolbar="1">
|
||||
<field name="name"/>
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-10 10:27+0000\n"
|
||||
"PO-Revision-Date: 2010-05-13 08:53+0000\n"
|
||||
"Last-Translator: lyyser <logard.1961@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: 2010-05-11 04:18+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-14 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: event
|
||||
|
@ -185,7 +185,7 @@ msgstr ""
|
|||
#. module: event
|
||||
#: view:event.registration:0
|
||||
msgid "Badge"
|
||||
msgstr ""
|
||||
msgstr "Tunnusmärk"
|
||||
|
||||
#. module: event
|
||||
#: field:event.event,section_id:0
|
||||
|
@ -200,7 +200,7 @@ msgstr ""
|
|||
#. module: event
|
||||
#: model:ir.ui.menu,name:event.menu_event_event
|
||||
msgid "All Events"
|
||||
msgstr ""
|
||||
msgstr "Kõik sündmused"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.ui.menu,name:event.menu_report_event
|
||||
|
@ -210,12 +210,12 @@ msgstr "Aruandlus"
|
|||
#. module: event
|
||||
#: view:event.registration:0
|
||||
msgid "Cancel Registration"
|
||||
msgstr ""
|
||||
msgstr "Loobu registreerimisest"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.ui.menu,name:event.menu_action_event_categories
|
||||
msgid "Events by Categories"
|
||||
msgstr ""
|
||||
msgstr "Sündmused kategooria järgi"
|
||||
|
||||
#. module: event
|
||||
#: wizard_view:event.confirm_registration,split:0
|
||||
|
@ -225,12 +225,12 @@ msgstr ""
|
|||
#. module: event
|
||||
#: field:report.event.type.registration,confirm_state:0
|
||||
msgid "Confirm Registrations"
|
||||
msgstr ""
|
||||
msgstr "Kinnita registreerimised"
|
||||
|
||||
#. module: event
|
||||
#: view:event.registration:0
|
||||
msgid "References"
|
||||
msgstr ""
|
||||
msgstr "Viited"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.actions.act_window,name:event.action_event_type_registration
|
||||
|
@ -252,7 +252,7 @@ msgstr "Vigane XML vaate arhitektuurile!"
|
|||
#. module: event
|
||||
#: wizard_button:event.confirm_registration,split,confirm:0
|
||||
msgid "Confirm Anyway"
|
||||
msgstr ""
|
||||
msgstr "Kinnita siiski"
|
||||
|
||||
#. module: event
|
||||
#: constraint:product.template:0
|
||||
|
@ -272,7 +272,7 @@ msgstr ""
|
|||
#. module: event
|
||||
#: field:report.event.type.registration,nbevent:0
|
||||
msgid "Number Of Events"
|
||||
msgstr ""
|
||||
msgstr "Sündmuste arv"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
|
@ -282,7 +282,7 @@ msgstr ""
|
|||
#. module: event
|
||||
#: wizard_field:event.reg_make_invoice,init,inv_rej_reason:0
|
||||
msgid "Error Messages"
|
||||
msgstr ""
|
||||
msgstr "Veateated"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
|
@ -299,7 +299,7 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:event.action_registration_draft
|
||||
#: model:ir.ui.menu,name:event.menu_action_registration_draft
|
||||
msgid "Unconfirmed Registrations"
|
||||
msgstr ""
|
||||
msgstr "Kinnitamatta registreerimised"
|
||||
|
||||
#. module: event
|
||||
#: field:event.registration,partner_invoice_id:0
|
||||
|
@ -314,7 +314,7 @@ msgstr ""
|
|||
#. module: event
|
||||
#: selection:event.event,state:0
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
msgstr "Katkestatud"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-02-03 12:00+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-05-15 08:57+0000\n"
|
||||
"Last-Translator: Boris <boris.t.ivanov@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: 2010-04-17 04:16+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-17 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: hr
|
||||
|
@ -316,6 +316,7 @@ msgstr ""
|
|||
#: constraint:hr.employee:0
|
||||
msgid "Error ! You cannot create recursive Hierarchy of Employees."
|
||||
msgstr ""
|
||||
"Грешка! Не могат да бъдат създавани рекурсивни йерархии от служители."
|
||||
|
||||
#. module: hr
|
||||
#: model:process.process,name:hr.process_process_employeecontractprocess0
|
||||
|
|
|
@ -0,0 +1,277 @@
|
|||
# Chinese (Simplified) translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-11-25 12:18+0000\n"
|
||||
"PO-Revision-Date: 2010-05-15 06:32+0000\n"
|
||||
"Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <zh_CN@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: 2010-05-17 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.type:0
|
||||
#: field:hr_evaluation.type,info:0
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr "对象名称必须以“x_”开头且不能包含任何特殊字符!"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Schedule next evaluation"
|
||||
msgstr "安排下次考核"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: field:hr_evaluation.evaluation,info_bad:0
|
||||
msgid "Bad Points"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.actions.act_window,name:hr_evaluation.open_view_employee_evaluation_next_my_list
|
||||
msgid "My Next Evaluation"
|
||||
msgstr "我的下次考核"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.type,value_ids:0
|
||||
msgid "Values"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: field:hr_evaluation.evaluation,info_good:0
|
||||
msgid "Good Points"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,state:0
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,score:0
|
||||
#: field:hr_evaluation.quote,score:0
|
||||
#: field:hr_evaluation.type,score:0
|
||||
#: field:hr_evaluation.type.value,score:0
|
||||
msgid "Score"
|
||||
msgstr "评分"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr_evaluation.evaluation,state:0
|
||||
msgid "Draft"
|
||||
msgstr "草稿"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Informal Data"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,employee_id:0
|
||||
msgid "Employee"
|
||||
msgstr "员工"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: field:hr_evaluation.evaluation,info_improve:0
|
||||
msgid "To Improve"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.quote,evaluation_id:0
|
||||
msgid "Evaluation"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.type.value,type_id:0
|
||||
msgid "Evaluation Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.type:0
|
||||
msgid "Apply to categories"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.module.module,description:hr_evaluation.module_meta_information
|
||||
msgid "Ability to create employees evaluation."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.quote,name:0
|
||||
msgid "Quote"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.type,category_ids:0
|
||||
msgid "Appliable Role"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,user_id:0
|
||||
msgid "Evaluation User"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.type:0
|
||||
msgid "Choices Results"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,date:0
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_eval_hr
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_open_view_employee_evaluation_form
|
||||
msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_eval_config
|
||||
msgid "Configuration"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_open_view_employee_evaluation_next_list
|
||||
msgid "Next Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_open_view_evaluation_type_form
|
||||
msgid "Evaluation Criterions"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_open_view_employee_my_old_evaluation_list
|
||||
msgid "My Preceeding Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_resp_hr
|
||||
msgid "HR Responsible"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.quote,value_id:0
|
||||
#: field:hr_evaluation.type.value,name:0
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,name:0
|
||||
msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.type,active:0
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.type:0
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_evaluation
|
||||
msgid "Employee Evaluation"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_type
|
||||
msgid "Employee Evaluation Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Quotations"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.actions.act_window,name:hr_evaluation.open_view_employee_evaluation_next_list
|
||||
msgid "Next Employee Evaluation"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.quote,type_id:0
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.type:0
|
||||
#: field:hr_evaluation.type,name:0
|
||||
msgid "Evaluation Criterion"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_open_view_employee_evaluation_next_my_list
|
||||
msgid "My Next Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.quote:0
|
||||
msgid "Evalution Quote"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.module.module,shortdesc:hr_evaluation.module_meta_information
|
||||
msgid "Human Resources Evaluation"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,quote_ids:0
|
||||
msgid "Quotes"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: selection:hr_evaluation.evaluation,state:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_quote
|
||||
msgid "Employee Evaluation Quote"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: field:hr_evaluation.evaluation,info_employee:0
|
||||
msgid "Employee Response"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_type_value
|
||||
msgid "Evaluation Type Value"
|
||||
msgstr ""
|
|
@ -21,8 +21,6 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from mx import DateTime
|
||||
import time
|
||||
import pooler
|
||||
import netsvc
|
||||
import datetime
|
||||
|
@ -53,8 +51,6 @@ class hr_holidays_status(osv.osv):
|
|||
return_false = False
|
||||
employee_id = False
|
||||
res = {}
|
||||
for id in ids:
|
||||
res[id] = {}.fromkeys(name, 0)
|
||||
if context and context.has_key('employee_id'):
|
||||
if not context['employee_id']:
|
||||
return_false = True
|
||||
|
@ -67,6 +63,8 @@ class hr_holidays_status(osv.osv):
|
|||
return_false = True
|
||||
if employee_id:
|
||||
res = self.get_days(cr, uid, ids, employee_id, return_false, context=context)
|
||||
else:
|
||||
res = dict.fromkeys(ids, {name: 0})
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
|
@ -135,20 +133,15 @@ class hr_holidays(osv.osv):
|
|||
vals['allocation_type'] = context['allocation_type']
|
||||
return super(osv.osv,self).create(cr, uid, vals, context)
|
||||
|
||||
def onchange_date_from(self, cr, uid, ids, date_to, date_from):
|
||||
result = {}
|
||||
if date_to and date_from:
|
||||
from_dt = time.mktime(time.strptime(date_from,'%Y-%m-%d %H:%M:%S'))
|
||||
to_dt = time.mktime(time.strptime(date_to,'%Y-%m-%d %H:%M:%S'))
|
||||
diff_day = (to_dt-from_dt)/(3600*24)
|
||||
result['value'] = {
|
||||
'number_of_days_temp': round(diff_day)+1
|
||||
}
|
||||
return result
|
||||
result['value'] = {
|
||||
'number_of_days_temp': 0,
|
||||
}
|
||||
return result
|
||||
def _get_number_of_days(date_from, date_to):
|
||||
"""Returns a float equals to the timedelta between two dates given as string."""
|
||||
|
||||
DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S"
|
||||
from_dt = datetime.datetime.strptime(date_from, DATETIME_FORMAT)
|
||||
to_dt = datetime.datetime.strptime(date_to, DATETIME_FORMAT)
|
||||
timedelta = to_dt - from_dt
|
||||
diff_day = timedelta.days + float(timedelata.seconds) / 86400
|
||||
return diff_day
|
||||
|
||||
def _update_user_holidays(self, cr, uid, ids):
|
||||
for record in self.browse(cr, uid, ids):
|
||||
|
@ -178,21 +171,22 @@ class hr_holidays(osv.osv):
|
|||
return super(hr_holidays, self).unlink(cr, uid, ids, context)
|
||||
|
||||
|
||||
def onchange_date_to(self, cr, uid, ids, date_from, date_to):
|
||||
def onchange_date_from(self, cr, uid, ids, date_to, date_from):
|
||||
result = {}
|
||||
if date_from and date_to:
|
||||
from_dt = time.mktime(time.strptime(date_from,'%Y-%m-%d %H:%M:%S'))
|
||||
to_dt = time.mktime(time.strptime(date_to,'%Y-%m-%d %H:%M:%S'))
|
||||
diff_day = (to_dt-from_dt)/(3600*24)
|
||||
if date_to and date_from:
|
||||
diff_day = self._get_number_of_days(date_from, date_to)
|
||||
result['value'] = {
|
||||
'number_of_days_temp': round(diff_day)+1
|
||||
}
|
||||
return result
|
||||
result['value'] = {
|
||||
'number_of_days_temp': 0
|
||||
'number_of_days_temp': 0,
|
||||
}
|
||||
return result
|
||||
|
||||
def onchange_date_to(self, cr, uid, ids, date_from, date_to):
|
||||
return onchange_date_from(cr, uid, ids, date_to, date_from)
|
||||
|
||||
def onchange_sec_id(self, cr, uid, ids, status, context={}):
|
||||
warning = {}
|
||||
if status:
|
||||
|
@ -323,16 +317,15 @@ class hr_holidays(osv.osv):
|
|||
self.holidays_validate(cr, uid, holiday_ids)
|
||||
|
||||
if record.holiday_status_id.categ_id and record.date_from and record.date_to and record.employee_id:
|
||||
vals={}
|
||||
vals['name']=record.name
|
||||
vals['categ_id']=record.holiday_status_id.categ_id.id
|
||||
epoch_c = time.mktime(time.strptime(record.date_to,'%Y-%m-%d %H:%M:%S'))
|
||||
epoch_d = time.mktime(time.strptime(record.date_from,'%Y-%m-%d %H:%M:%S'))
|
||||
diff_day = (epoch_c - epoch_d)/(3600*24)
|
||||
vals['duration'] = (diff_day) * 8
|
||||
vals['note'] = record.notes
|
||||
vals['user_id'] = record.user_id.id
|
||||
vals['date'] = record.date_from
|
||||
diff_day = self._get_number_of_days(record.date_from, record.date_to)
|
||||
vals = {
|
||||
'name' : record.name,
|
||||
'categ_id' : record.holiday_status_id.categ_id.id,
|
||||
'duration' : (diff_day) * 8,
|
||||
'note' : record.notes,
|
||||
'user_id' : record.user_id.id,
|
||||
'date' : record.date_from,
|
||||
}
|
||||
case_id = self.pool.get('crm.meeting').create(cr,uid,vals)
|
||||
self.write(cr, uid, ids, {'case_id':case_id})
|
||||
return True
|
||||
|
|
|
@ -43,7 +43,7 @@ class hr_analytic_timesheet(osv.osv):
|
|||
_inherits = {'account.analytic.line': 'line_id'}
|
||||
_order = "id desc"
|
||||
_columns = {
|
||||
'line_id' : fields.many2one('account.analytic.line', 'Analytic line', ondelete='cascade'),
|
||||
'line_id' : fields.many2one('account.analytic.line', 'Analytic line', ondelete='cascade'),
|
||||
'partner_id': fields.related('account_id', 'partner_id', type='many2one', string='Partner Id',relation='account.analytic.account',store=True),
|
||||
}
|
||||
|
||||
|
@ -57,8 +57,7 @@ class hr_analytic_timesheet(osv.osv):
|
|||
|
||||
def on_change_unit_amount(self, cr, uid, id, prod_id, unit_amount, unit, context={}):
|
||||
res = {}
|
||||
# if prod_id and unit_amount:
|
||||
if prod_id:
|
||||
if prod_id and unit_amount:
|
||||
# find company
|
||||
company_id=self.pool.get('res.company')._company_default_get(cr, uid, 'account.analytic.line', context)
|
||||
res = self.pool.get('account.analytic.line').on_change_unit_amount(cr, uid, id, prod_id, unit_amount,company_id,unit, context)
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
##############################################################################
|
||||
|
||||
from osv import osv, fields
|
||||
import time
|
||||
|
||||
VoteValues = [('-1', 'Not Voted'), ('0', 'Very Bad'), ('25', 'Bad'), \
|
||||
('50', 'Normal'), ('75', 'Good'), ('100', 'Very Good') ]
|
||||
|
@ -90,26 +91,6 @@ class idea_idea(osv.osv):
|
|||
cr.execute(sql, (ids,))
|
||||
return dict(cr.fetchall())
|
||||
|
||||
def _comment_count(self, cr, uid, ids, name, arg, context=None):
|
||||
|
||||
""" count number of comment
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of comment’s IDs
|
||||
@return: dictionay of Idea """
|
||||
|
||||
if not ids:
|
||||
return {}
|
||||
|
||||
sql = """SELECT i.id, COUNT(1)
|
||||
FROM idea_idea i LEFT OUTER JOIN idea_comment c ON i.id = c.idea_id
|
||||
WHERE i.id = ANY(%s)
|
||||
GROUP BY i.id
|
||||
"""
|
||||
|
||||
cr.execute(sql, (ids,))
|
||||
return dict(cr.fetchall())
|
||||
|
||||
def _vote_read(self, cr, uid, ids, name, arg, context = None):
|
||||
|
||||
""" Read Vote
|
||||
|
@ -149,18 +130,15 @@ class idea_idea(osv.osv):
|
|||
vote_obj.create(cr, uid, {'idea_id': id, 'user_id': uid, 'score': textual_value })
|
||||
|
||||
_columns = {
|
||||
'user_id': fields.many2one('res.users', 'Creator', required=True, readonly=True),
|
||||
'user_id': fields.many2one('res.users', 'Responsible', required=True, readonly=True),
|
||||
'title': fields.char('Idea Summary', size=64, required=True),
|
||||
'description': fields.text('Description', required=True, help='Content of the idea'),
|
||||
'comment_ids': fields.one2many('idea.comment', 'idea_id', 'Comments'),
|
||||
'create_date': fields.datetime('Creation date', readonly=True),
|
||||
'vote_ids': fields.one2many('idea.vote', 'idea_id', 'Vote'),
|
||||
'created_date': fields.datetime('Date'),
|
||||
'vote_ids': fields.one2many('idea.vote', 'idea_id', 'Vote', readonly=True),
|
||||
'my_vote': fields.function(_vote_read, fnct_inv = _vote_save, \
|
||||
string="My Vote", method=True, type="selection", selection=VoteValues),
|
||||
'vote_avg': fields.function(_vote_avg_compute, method=True, string="Average Score", type="float"),
|
||||
'count_votes': fields.function(_vote_count, method=True, string="Count of votes", type="integer"),
|
||||
'count_comments': fields.function(_comment_count, method=True, \
|
||||
string="Count of comments", type="integer"),
|
||||
'category_id': fields.many2one('idea.category', 'Category', required=True),
|
||||
'state': fields.selection([('draft', 'Draft'), ('open', 'Opened'), \
|
||||
('close', 'Accepted'), ('cancel', 'Cancelled')], \
|
||||
|
@ -169,8 +147,7 @@ class idea_idea(osv.osv):
|
|||
opened by the user, the state is \'Opened\'.\
|
||||
\nIf the idea is accepted, the state is \'Accepted\'.'),
|
||||
'stat_vote_ids': fields.one2many('idea.vote.stat', 'idea_id', 'Statistics', readonly=True),
|
||||
'date': fields.date('Creation date'),
|
||||
'vote_user': fields.integer('Maximum Vote per User',
|
||||
'vote_limit': fields.integer('Maximum Vote per User',
|
||||
help="Set to one if you require only one Vote per user"),
|
||||
}
|
||||
|
||||
|
@ -178,7 +155,8 @@ class idea_idea(osv.osv):
|
|||
'user_id': lambda self,cr,uid,context: uid,
|
||||
'my_vote': lambda *a: '-1',
|
||||
'state': lambda *a: 'draft',
|
||||
'vote_user': lambda * a: 1,
|
||||
'vote_limit': lambda * a: 1,
|
||||
'created_date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
}
|
||||
_order = 'id desc'
|
||||
|
||||
|
@ -199,29 +177,6 @@ class idea_idea(osv.osv):
|
|||
return True
|
||||
idea_idea()
|
||||
|
||||
class idea_comment(osv.osv):
|
||||
""" Apply Idea for Comment """
|
||||
|
||||
_name = 'idea.comment'
|
||||
_description = 'Comments'
|
||||
_rec_name = 'content'
|
||||
|
||||
_columns = {
|
||||
'idea_id': fields.many2one('idea.idea', 'Idea', required=True, ondelete='cascade'),
|
||||
'user_id': fields.many2one('res.users', 'User', required=True),
|
||||
'content': fields.text('Comment', required=True),
|
||||
'create_date': fields.datetime('Creation date', readonly=True),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'user_id': lambda self, cr, uid, context: uid
|
||||
}
|
||||
|
||||
_order = 'id desc'
|
||||
|
||||
idea_comment()
|
||||
|
||||
|
||||
class idea_vote(osv.osv):
|
||||
""" Apply Idea for Vote """
|
||||
|
||||
|
@ -230,12 +185,15 @@ class idea_vote(osv.osv):
|
|||
_rec_name = 'score'
|
||||
|
||||
_columns = {
|
||||
'user_id': fields.many2one('res.users', 'User'),
|
||||
'idea_id': fields.many2one('idea.idea', 'Idea', required=True, ondelete='cascade'),
|
||||
'score': fields.selection(VoteValues, 'Score', required=True),
|
||||
'user_id': fields.many2one('res.users', 'By user', readonly="True"),
|
||||
'idea_id': fields.many2one('idea.idea', 'Idea', readonly="True", ondelete='cascade'),
|
||||
'score': fields.selection(VoteValues, 'Vote Status', readonly="True"),
|
||||
'date': fields.datetime('Date', readonly="True"),
|
||||
'comment': fields.text('Comment', readonly="True"),
|
||||
}
|
||||
_defaults = {
|
||||
'score': lambda *a: DefaultVoteValue,
|
||||
'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
}
|
||||
|
||||
idea_vote()
|
||||
|
|
|
@ -47,10 +47,10 @@
|
|||
id="base.menu_lunch_survey_root" sequence="6"/>
|
||||
|
||||
<menuitem name="Ideas" parent="base.menu_lunch_survey_root" id="menu_ideas"/>
|
||||
|
||||
|
||||
<menuitem name="Categories" parent="menu_ideas"
|
||||
id="menu_idea_category" action="action_idea_category" />
|
||||
|
||||
|
||||
<!-- Idea Category Action -->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_idea_category_tree">
|
||||
|
@ -61,13 +61,18 @@
|
|||
</record>
|
||||
|
||||
<menuitem name="Ideas" parent="base.menu_tools" id="menu_ideas1" sequence="4"/>
|
||||
|
||||
|
||||
<menuitem
|
||||
name="Ideas by Categories" parent="menu_ideas1"
|
||||
id="menu_idea_category_tree"
|
||||
action="action_idea_category_tree"/>
|
||||
|
||||
<menuitem name="Give Vote" parent="menu_ideas1"
|
||||
id="menu_give_vote"
|
||||
action="action_idea_select"/>
|
||||
|
||||
<!-- Oepn Ideas Action -->
|
||||
|
||||
<!-- Open Ideas Action -->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_idea_idea_categ_open">
|
||||
<field name="name">Open Ideas</field>
|
||||
|
@ -108,9 +113,9 @@
|
|||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Votes">
|
||||
<field name="idea_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="score" />
|
||||
<field name="user_id" />
|
||||
<field name="score"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -123,9 +128,14 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Votes">
|
||||
<field name="idea_id" select="1" />
|
||||
<field name="user_id" select="1" />
|
||||
<field name="score"/>
|
||||
<group colspan="4">
|
||||
<field name="user_id" select="1" />
|
||||
<field name="date"/>
|
||||
<newline/>
|
||||
<field name="score"/>
|
||||
</group>
|
||||
<separator string="Comments:" colspan="4"/>
|
||||
<field name="comment" colspan="4" nolabel="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -144,6 +154,7 @@
|
|||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="14">
|
||||
<filter string="Vote date" icon="terp-crm" domain="[]" context="{'group_by':'date'}"/>
|
||||
<filter string="Idea" icon="terp-crm" domain="[]" context="{'group_by':'idea_id'}"/>
|
||||
<filter string="User" name="user" icon="terp-partner" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
</group>
|
||||
|
@ -159,37 +170,25 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="New Idea">
|
||||
<notebook>
|
||||
<page string="Idea">
|
||||
<field name="title" select="1" />
|
||||
<field name="category_id" select="1"/>
|
||||
<field name="date" />
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="vote_avg" widget="progressbar"/>
|
||||
<field name="vote_user"/>
|
||||
<separator string="Description" colspan="4"/>
|
||||
<field name="description" colspan="4" widget="text_wiki" nolabel="1"/>
|
||||
<field name="state"/>
|
||||
<group colspan="2" col="3">
|
||||
<button name="idea_open" string="Open" states="draft" icon="gtk-go-forward"/>
|
||||
<button name="idea_close" string="Close" states="open" icon="gtk-close" groups="base.group_extended"/>
|
||||
<button name="idea_cancel" string="Cancel" states="open" icon="gtk-cancel" groups="base.group_extended"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Comments">
|
||||
<field name="comment_ids" nolabel="1" colspan="4">
|
||||
<form string="Comment">
|
||||
<field name="user_id" colspan="2"/>
|
||||
<separator string="User comment" colspan="4"/>
|
||||
<field name="content" nolabel="1" colspan="4"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Vote">
|
||||
<field name="vote_ids" nolabel="1" colspan="4" />
|
||||
</page>
|
||||
<page string="Statistics">
|
||||
<field name="stat_vote_ids" colspan="4" mode="graph,tree" nolabel="1">
|
||||
<group colspan="4" col="6">
|
||||
<field name="title" select="1"/>
|
||||
<field name="created_date" />
|
||||
<field name="user_id" select="1"/>
|
||||
<newline/>
|
||||
<field name="category_id" select="1"/>
|
||||
<field name="vote_avg" widget="progressbar"/>
|
||||
<field name="vote_limit"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Notes">
|
||||
<separator string="Description" colspan="4"/>
|
||||
<field name="description" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Votes">
|
||||
<field name="vote_ids" nolabel="1" colspan="4" />
|
||||
</page>
|
||||
<page string="Statistics">
|
||||
<field name="stat_vote_ids" colspan="4" mode="graph,tree" nolabel="1">
|
||||
<graph string="vote_stat of ideas" type="bar">
|
||||
<field name="score"/>
|
||||
<field name="nbr"/>
|
||||
|
@ -199,8 +198,17 @@
|
|||
<field name="nbr"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</page>
|
||||
</notebook>
|
||||
<group colspan="4" col="6">
|
||||
<field name="state"/>
|
||||
<button name="idea_open" string="Open" states="draft" icon="gtk-go-forward"/>
|
||||
<button name="idea_close" string="Close" states="open" icon="gtk-close" groups="base.group_extended"/>
|
||||
<button name="idea_cancel" string="Cancel" states="open" icon="gtk-cancel" groups="base.group_extended"/>
|
||||
<button name="%(action_idea_post_vote)d"
|
||||
icon="gtk-execute" type="action" states="draft,open"
|
||||
string="Give vote" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -213,12 +221,11 @@
|
|||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="All Ideas">
|
||||
<field name="category_id" />
|
||||
<field name="create_date"/>
|
||||
<field name="user_id" />
|
||||
<field name="title"/>
|
||||
<field name="title"/>
|
||||
<field name="category_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="created_date"/>
|
||||
<field name="vote_avg" />
|
||||
<field name="count_comments" />
|
||||
<field name="count_votes" />
|
||||
<button name="%(action_idea_post_vote)d" icon="gtk-execute"
|
||||
type="action" states="draft,open" string="Vote" />
|
||||
|
@ -251,30 +258,13 @@
|
|||
<filter string="Category" icon="terp-crm" domain="[]" context="{'group_by':'category_id'}"/>
|
||||
<filter string="State" icon="terp-crm" domain="[]" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Idea date" icon="terp-crm" domain="[]" context="{'group_by':'date'}"/>
|
||||
<filter string="Vote date" icon="terp-crm" domain="[]" context="{'group_by':'created_date'}"/>
|
||||
<filter string="User" name="user" icon="terp-partner" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Comments on Idea Tree View -->
|
||||
|
||||
<record model="ir.ui.view" id="view_idea_comment_tree">
|
||||
<field name="name">idea.comment.tree</field>
|
||||
<field name="model">idea.comment</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Comments">
|
||||
<field name="create_date" />
|
||||
<field name="user_id" />
|
||||
<field name="content" string="Comment" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Idea Action -->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_idea_idea">
|
||||
<field name="name">Ideas</field>
|
||||
<field name="res_model">idea.idea</field>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_idea_category","idea.category","model_idea_category","base.group_user",1,0,0,0
|
||||
"access_idea_idea","idea.idea","model_idea_idea","base.group_user",1,1,1,1
|
||||
"access_idea_comment","idea.comment","model_idea_comment","base.group_user",1,1,1,1
|
||||
"access_idea_vote","idea.vote","model_idea_vote","base.group_user",1,1,1,1
|
||||
"access_idea_vote_stat","idea.vote.stat","model_idea_vote_stat","base.group_user",1,0,0,0
|
||||
"access_idea_category_system","idea.category system","model_idea_category","base.group_system",1,1,1,1
|
||||
|
|
|
|
@ -8,10 +8,10 @@
|
|||
name: Technical
|
||||
- |
|
||||
I create a New Idea of "Technical presentation for 1 hours in every day" and specify category "Technical".
|
||||
|
||||
-
|
||||
!record {model: idea.idea, id: idea_idea_0}:
|
||||
category_id: idea_category_technical0
|
||||
created_date: '05/13/2010 19:16:26'
|
||||
description: I want that Technical presentation are arranged for 1 hours in every
|
||||
day.\nso, on that presentation, we can know all things what improvement and development
|
||||
are done in our company.\n\n\n\n\n
|
||||
|
@ -50,31 +50,34 @@
|
|||
|
||||
- |
|
||||
In order to post vote I connect as user1 and open the idea page
|
||||
I click on "Vote" wizard and vote the idea as "Normal"
|
||||
I click on "Give Vote" wizard button and vote the idea as "Normal"
|
||||
-
|
||||
!record {model: idea.post.vote, id: idea_post_vote_0}:
|
||||
vote: 50
|
||||
|
||||
- |
|
||||
Now I click on "Post Vote" button of wizard.
|
||||
Now I click on "Post" button of this wizard.
|
||||
-
|
||||
!python {model: idea.post.vote}: |
|
||||
uid = ref('res_users_user0')
|
||||
self.do_vote(cr, uid, [ref("idea_post_vote_0")], {'active_id': ref('idea_idea_0')})
|
||||
self.do_vote(cr, uid, [ref("idea_post_vote_0")], {'active_ids': [ref('idea_idea_0')]})
|
||||
|
||||
- |
|
||||
To add other vote I connect as user2 and open the idea page
|
||||
I click on "Vote" wizard and vote the idea as "Very Good"
|
||||
I click on "Give Vote" wizard and vote the idea as "Very Good" and put comment "We can learn many things from technical presentation".
|
||||
|
||||
-
|
||||
!record {model: idea.post.vote, id: idea_post_vote_1}:
|
||||
vote: 100
|
||||
content: We can learn many things from technical presentation
|
||||
|
||||
|
||||
- |
|
||||
I click on "Post Vote" button of this wizard.
|
||||
I click on "Post" button of this wizard.
|
||||
-
|
||||
!python {model: idea.post.vote}: |
|
||||
uid = ref('res_users_user1')
|
||||
self.do_vote(cr, uid, [ref("idea_post_vote_1")], {'active_id': ref('idea_idea_0')})
|
||||
self.do_vote(cr, uid, [ref("idea_post_vote_1")], {'active_ids': [ref('idea_idea_0')]})
|
||||
|
||||
- |
|
||||
I can see that the Average score changed in "Average score" field with value 75
|
||||
|
@ -82,14 +85,6 @@
|
|||
!record {model: idea.idea, id: idea_idea_0}:
|
||||
vote_avg: 75
|
||||
|
||||
- |
|
||||
I put one comment "We can learn many things from technical presentation" for the idea.
|
||||
-
|
||||
!record {model: idea.idea, id: idea.idea_idea_0}:
|
||||
comment_ids:
|
||||
- content: We can learn many things from technical presentation
|
||||
idea_id: idea.idea_idea_0
|
||||
user_id: res_users_user1
|
||||
- |
|
||||
I connect as Manager and close this idea by click on "Close" button.
|
||||
-
|
||||
|
|
|
@ -34,7 +34,7 @@ class idea_post_vote(osv.osv_memory):
|
|||
('25', 'Bad'),
|
||||
('50', 'Normal'),
|
||||
('75', 'Good'),
|
||||
('100', 'Very Good') ], 'Post Vote', required=True),
|
||||
('100', 'Very Good') ], 'Give Vote', required=True),
|
||||
'content': fields.text('Comment'),
|
||||
}
|
||||
|
||||
|
@ -48,25 +48,28 @@ class idea_post_vote(osv.osv_memory):
|
|||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
idea_obj = self.pool.get('idea.idea')
|
||||
|
||||
vote_obj = self.pool.get('idea.vote')
|
||||
|
||||
for idea in idea_obj.browse(cr, uid, context.get('active_ids', [])):
|
||||
|
||||
cr.execute('select count(id) from idea_vote where user_id=%s\
|
||||
and idea_id=%s' % (uid, context.get('active_id')))
|
||||
res = cr.fetchone()[0]
|
||||
user_limit = idea.vote_user
|
||||
if res >= user_limit:
|
||||
for active_id in context.get('active_ids'):
|
||||
|
||||
vote_ids = vote_obj.search(cr, uid, [('user_id', '=', uid), ('idea_id', '=', active_id)])
|
||||
vote_obj_id = vote_obj.browse(cr, uid, vote_ids)
|
||||
count = 0
|
||||
for vote in vote_obj_id:
|
||||
count += 1
|
||||
|
||||
user_limit = idea.vote_limit
|
||||
if count >= user_limit:
|
||||
raise osv.except_osv(_('Warning !'),_("You can not give Vote for this idea more than %s times") % (user_limit))
|
||||
|
||||
if idea.state in ['draft', 'close', 'cancel']:
|
||||
raise osv.except_osv(_("Warning !"), _("Draft/Accepted/Cancelled \
|
||||
ideas Could not be voted"))
|
||||
if idea.state != 'open':
|
||||
raise osv.except_osv(_('Warning !'), _('idea should be in \
|
||||
raise osv.except_osv(_('Warning !'), _('Idea should be in \
|
||||
\'Open\' state before vote for that idea.'))
|
||||
return False
|
||||
|
||||
def do_vote(self, cr, uid, ids, context):
|
||||
def do_vote(self, cr, uid, ids, context=None):
|
||||
|
||||
"""
|
||||
Create idea vote.
|
||||
|
@ -75,21 +78,56 @@ ideas Could not be voted"))
|
|||
@param ids: List of Idea Post vote’s IDs.
|
||||
@return: Dictionary {}
|
||||
"""
|
||||
|
||||
data = context and context.get('active_id', False) or False
|
||||
data = context and context.get('active_ids', []) or []
|
||||
vote_obj = self.pool.get('idea.vote')
|
||||
comment_obj = self.pool.get('idea.comment')
|
||||
|
||||
for do_vote_obj in self.read(cr, uid, ids):
|
||||
score = str(do_vote_obj['vote'])
|
||||
comment = do_vote_obj['content']
|
||||
dic = {'idea_id': data, 'user_id': uid, 'score': score}
|
||||
if comment:
|
||||
comment_id = comment_obj.create(cr, uid, {'idea_id': data, 'user_id': uid, 'content': comment})
|
||||
vote = vote_obj.create(cr, uid, dic)
|
||||
for id in data:
|
||||
dic = {'idea_id': id, 'user_id': uid, 'score': score, 'comment': comment}
|
||||
vote = vote_obj.create(cr, uid, dic)
|
||||
return {}
|
||||
|
||||
|
||||
idea_post_vote()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
class idea_select(osv.osv_memory):
|
||||
|
||||
""" Select idea for vote."""
|
||||
|
||||
_name = "idea.select"
|
||||
_description = "select idea"
|
||||
|
||||
_columns = {
|
||||
'idea_id': fields.many2one('idea.idea', 'Idea', required=True),
|
||||
}
|
||||
|
||||
def open_vote(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
This function load column.
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current users ID for security checks,
|
||||
@param ids: List of load column,
|
||||
@return: dictionary of query logs clear message window
|
||||
"""
|
||||
idea_obj = self.browse(cr, uid, ids)
|
||||
for idea in idea_obj:
|
||||
idea_id = idea.idea_id.id
|
||||
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
id2 = data_obj._get_id(cr, uid, 'idea', 'view_idea_post_vote')
|
||||
if id2:
|
||||
id2 = data_obj.browse(cr, uid, id2, context=context).res_id
|
||||
value = {
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form',
|
||||
'res_model': 'idea.post.vote',
|
||||
'views': [(id2, 'form'), (False, 'tree'), (False, 'calendar'), (False, 'graph')],
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new',
|
||||
'context': {'active_ids': [idea_id]}
|
||||
}
|
||||
return value
|
||||
|
||||
idea_select()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -9,8 +9,9 @@
|
|||
<field name="model">idea.post.vote</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Create Tasks">
|
||||
<form string="Give Vote">
|
||||
<group colspan="4" >
|
||||
<separator colspan="4" string="Give Vote for Idea"/>
|
||||
<field name="vote"/>
|
||||
<separator string="Comment" colspan="4"/>
|
||||
<field name="content" colspan="4" nolabel="1"/>
|
||||
|
@ -18,8 +19,29 @@
|
|||
<separator string="" colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string="" colspan="2"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-ok" name="do_vote" string="Post Vote" type="object"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Close"/>
|
||||
<button icon="gtk-apply" name="do_vote" string="Post" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="view_idea_select" model="ir.ui.view">
|
||||
<field name="name">idea.select.form</field>
|
||||
<field name="model">idea.select</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Idea for Vote">
|
||||
<group colspan="4" >
|
||||
<separator string="Select Idea for Vote" colspan="4"/>
|
||||
<field name="idea_id"/>
|
||||
</group>
|
||||
<separator string="" colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string="" colspan="2"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Close"/>
|
||||
<button icon="gtk-go-forward" name="open_vote" string="Next" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -36,12 +58,16 @@
|
|||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<!-- Post Idea for vote Action Window -->
|
||||
|
||||
<act_window id="action_idea_post_vote_values"
|
||||
key2="client_action_multi" name="vote"
|
||||
res_model="idea.post.vote" src_model="idea.idea"
|
||||
view_mode="form" target="new" view_type="form" />
|
||||
|
||||
<record id="action_idea_select" model="ir.actions.act_window">
|
||||
<field name="name">Idea select</field>
|
||||
<field name="res_model">idea.select</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_idea_select"/>
|
||||
<field name="target">new</field>
|
||||
<field name="context">{'model': 'idea.idea'}</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
6
addons/partner_infotab/__init__.py → addons/marketing_campaign/__init__.py
Normal file → Executable file
6
addons/partner_infotab/__init__.py → addons/marketing_campaign/__init__.py
Normal file → Executable file
|
@ -1,6 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
|
@ -15,11 +15,11 @@
|
|||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import partner_infotab
|
||||
import marketing_campaign
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
50
addons/partner_infotab/__openerp__.py → addons/marketing_campaign/__openerp__.py
Normal file → Executable file
50
addons/partner_infotab/__openerp__.py → addons/marketing_campaign/__openerp__.py
Normal file → Executable file
|
@ -1,6 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
|
@ -15,40 +15,30 @@
|
|||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
|
||||
{
|
||||
'name': 'Detailed information on partner form',
|
||||
'version': '1.0',
|
||||
'category': 'Generic Modules/Base',
|
||||
'description': """
|
||||
This module allows a salesman to have a direct overlook at all events related to this partner directly from the partner form.
|
||||
|
||||
It adds the following fields on the partner form:
|
||||
|
||||
* Opportunities
|
||||
* Meetings
|
||||
* Phone Calls
|
||||
* Invoices
|
||||
- group by product_id
|
||||
* Contracts
|
||||
* Timesheets
|
||||
|
||||
""",
|
||||
'author': 'Tiny',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': ['crm', 'account_analytic_analysis'],
|
||||
'init_xml': [],
|
||||
"name" : "",
|
||||
"version" : "1.1",
|
||||
"depends" : ["crm",
|
||||
"document",
|
||||
"poweremail" # need to get this module form the branch
|
||||
# lp:poweremail
|
||||
],
|
||||
"author" : "Tiny",
|
||||
"category": 'Generic Modules/Marketing',
|
||||
"description": """
|
||||
""",
|
||||
'website': 'http://www.openerp.com',
|
||||
'init_xml': [],
|
||||
'update_xml': [
|
||||
'security/ir.model.access.csv',
|
||||
'partner_infotab_view.xml'
|
||||
],
|
||||
'demo_xml': [],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'marketing_campaign_view.xml',
|
||||
],
|
||||
'demo_xml': [],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
}
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -0,0 +1,180 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
import time
|
||||
from datetime import datetime
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
from osv import fields, osv
|
||||
|
||||
_intervalTypes = {
|
||||
'hours': lambda interval: relativedelta(hours=interval),
|
||||
'days': lambda interval: relativedelta(days=interval),
|
||||
'months': lambda interval: relativedelta(months=interval),
|
||||
'years': lambda interval: relativedelta(years=interval),
|
||||
}
|
||||
|
||||
class marketing_campaign(osv.osv): #{{{
|
||||
_name = "marketing.campaign"
|
||||
_description = "Marketing Campaigns"
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64),
|
||||
'object_id': fields.many2one('ir.model', 'Objects'),
|
||||
'mode':fields.selection([('test', 'Test'),
|
||||
('test_realtime', 'Realtime Time'),
|
||||
('manual', 'Manual'),
|
||||
('active', 'Active')],
|
||||
'Mode'),
|
||||
'state': fields.selection([('draft', 'Draft'),
|
||||
('running', 'Running'),
|
||||
('done', 'Done'),
|
||||
('cancelled', 'Cancelled'),],
|
||||
'State',
|
||||
readonly=True),
|
||||
|
||||
}
|
||||
|
||||
marketing_campaign()#}}}
|
||||
|
||||
class marketing_campaign_segment(osv.osv): #{{{
|
||||
_name = "marketing.campaign.segment"
|
||||
_description = "Marketing Campaign Segments"
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64),
|
||||
'campaign_id': fields.many2one('marketing.campaign', 'Campaign'),
|
||||
'object_id': fields.related('campaign_id','object_id',
|
||||
type='many2one', relation='ir.model',
|
||||
string='Object'),
|
||||
'ir_filter_id':fields.many2one('ir.filters', 'Filter'),
|
||||
'sync_last_date': fields.datetime('Date'),
|
||||
'sync_mode':fields.selection([('create', 'Create'),
|
||||
('write', 'Write')],
|
||||
'Mode'),
|
||||
'state': fields.selection([('draft', 'Draft'),
|
||||
('running', 'Running'),
|
||||
('done', 'Done'),
|
||||
('cancelled', 'Cancelled')],
|
||||
'State',
|
||||
readonly=True),
|
||||
'date_run': fields.datetime('Running'),
|
||||
'date_done': fields.datetime('Done'),
|
||||
}
|
||||
|
||||
marketing_campaign_segment()#}}}
|
||||
|
||||
class marketing_campaign_activity(osv.osv): #{{{
|
||||
_name = "marketing.campaign.activity"
|
||||
_description = "Marketing Campaign Activities"
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64),
|
||||
'campaign_id': fields.many2one('marketing.campaign', 'Campaign'),
|
||||
'object_id': fields.related('campaign_id','object_id',
|
||||
type='many2one', relation='ir.model',
|
||||
string='Object'),
|
||||
'start': fields.boolean('Start'),
|
||||
'condition': fields.text('Condition'),
|
||||
'type':fields.selection([('email', 'E-mail'),
|
||||
('paper', 'Paper'),
|
||||
('action', 'Action'),
|
||||
('subcampaign', 'Sub-Campaign')],
|
||||
'Type'),
|
||||
'email_template_id': fields.many2one('poweremail.templates','Email Template'),
|
||||
'report_id': fields.many2one('ir.actions.report.xml', 'Reports'),
|
||||
'report_directory_id': fields.many2one('document.directory', 'Directory'),
|
||||
'server_action_id': fields.many2one('ir.actions.server', string='Action'),
|
||||
'to_ids': fields.one2many('marketing.campaign.transition',
|
||||
'activity_from_id',
|
||||
'Next Activities'),
|
||||
'subcampaign_id' :fields.many2one('marketing.campaign', 'Sub-Campaign'),
|
||||
'subcampaign_segment_id' :fields.many2one('marketing.campaign.segment',
|
||||
'Sub Campaign Segment'),
|
||||
|
||||
}
|
||||
|
||||
marketing_campaign_activity()#}}}
|
||||
|
||||
class marketing_campaign_transition(osv.osv): #{{{
|
||||
_name = "marketing.campaign.transition"
|
||||
_description = "Campaign Transitions"
|
||||
|
||||
_columns = {
|
||||
'activity_from_id': fields.many2one('marketing.campaign.activity',
|
||||
'Source Activity'),
|
||||
'activity_to_id': fields.many2one('marketing.campaign.activity',
|
||||
'Destination Activity'),
|
||||
'interval_nbr': fields.integer('Interval No.'),
|
||||
'interval_type': fields.selection([('hours', 'Hours'), ('days', 'Days'),
|
||||
('months', 'Months'), ('years','Years')], 'Interval Type')
|
||||
}
|
||||
|
||||
marketing_campaign_transition() #}}}
|
||||
|
||||
class marketing_campaign_workitem(osv.osv): #{{{
|
||||
_name = "marketing.campaign.workitem"
|
||||
_description = "Campaign Workitems"
|
||||
|
||||
_columns = {
|
||||
'segment_id': fields.many2one('marketing.campaign.segment', 'Segment'),
|
||||
'activity_id': fields.many2one('marketing.campaign.activity', 'Activity'),
|
||||
'object_id': fields.related('segment_id', 'campaign_id', 'object_id',
|
||||
type='many2one', relation='ir.model',
|
||||
string='Object'),
|
||||
'res_id': fields.integer('Results'),
|
||||
'date': fields.datetime('Execution Date'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'state': fields.selection([('todo', 'ToDo'), ('inprogress', 'In Progress'),
|
||||
('exception', 'Exception'), ('done', 'Done'),
|
||||
('cancelled', 'Cancelled')], 'State')
|
||||
}
|
||||
|
||||
def process_chain(self, cr, uid, workitem_id, context={}):
|
||||
workitem = self.browse(cr, uid, workitem_id)
|
||||
to_ids = [to_ids.id for to_ids in workitem.activity_id.to_ids]
|
||||
mct_obj = self.pool.get('marketing.campaign.transition')
|
||||
process_to_id = mct_obj.search(cr,uid, [('id', 'in', to_ids),
|
||||
('activity_from_id','=', 'activity_id')])
|
||||
for mct_id in mct_obj.browse(cr, uid, process_to_id):
|
||||
launch_date = datetime.datetime.now() + _intervalTypes[ \
|
||||
mct_id.interval_type](mct_id.interval_nbr)
|
||||
workitem_vals = {'segment_id': workitem.segment_id.id,
|
||||
'activity_id': mct_id.activity_to_id.id,
|
||||
'date': launch_date,
|
||||
'partner_id': workitem.partner_id.id,
|
||||
'state': 'todo',
|
||||
}
|
||||
self.create(cr, uid, workitem_vals)
|
||||
|
||||
def process(self, cr, uid, workitem_ids, context={}):
|
||||
#for wi in self.browse(cr, uid, workitem_ids):
|
||||
# if wi.state == 'todo'# we searched the wi which are in todo state then y v keep this filter again
|
||||
return True
|
||||
|
||||
def process_all(self, cr, uid, context={}):
|
||||
workitem_ids = self.search(cr, uid, [('type', '=', 'todo'),
|
||||
('date','<=', time.strftime('%Y-%m-%d %H:%M:%S'))])
|
||||
if workitem_ids:
|
||||
self.parocess(cr, uid, workitem_ids, context)
|
||||
|
||||
marketing_campaign_workitem() #}}}
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<!-- Cron -->
|
||||
|
||||
<record model="ir.cron" id="ir_cron_marketing_campaign_every_hour">
|
||||
<field name="name">Check Workitem</field>
|
||||
<field name="interval_number">60</field>
|
||||
<field name="interval_type">minutes</field>
|
||||
<field name="numbercall">-1</field>
|
||||
<field name="doall" eval="False"/>
|
||||
<field name="model" eval="'marketing.campaign.workitem'"/>
|
||||
<field name="function" eval="'process_all'"/>
|
||||
<field name="args" eval="'()'"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,261 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<menuitem name="Direct Marketing" id="menu_marketing" parent="base.menu_base_partner"/>
|
||||
|
||||
<!--
|
||||
======================
|
||||
Marketing Campaign
|
||||
======================
|
||||
-->
|
||||
|
||||
<record model="ir.ui.view" id="view_marketing_campaign_form">
|
||||
<field name="name">marketing.campaign.form</field>
|
||||
<field name="model">marketing.campaign</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Campaign">
|
||||
<group colspan="4">
|
||||
<field name="name" select="1"/>
|
||||
<field name="object_id" select="1"/>
|
||||
<field name="mode"/>
|
||||
</group>
|
||||
<separator string="Status" colspan="4" />
|
||||
<field name="state" nolabel = "1" colspan="4"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_marketing_campaign_tree">
|
||||
<field name="name">marketing.campaign.tree</field>
|
||||
<field name="model">marketing.campaign</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="All Campaigns">
|
||||
<field name="name" select="1"/>
|
||||
<field name="object_id" select="1"/>
|
||||
<field name="mode"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--record id="view_marketing_campaign_diagram" model="ir.ui.view">
|
||||
<field name="name">marketing.campaign.diagram</field>
|
||||
<field name="model">marketing.campaign</field>
|
||||
<field name="type">diagram</field>
|
||||
<field name="arch" type="xml">
|
||||
<diagram string="Campaign Editor">
|
||||
<node object="marketing.campaign.activity" shape="rectangle:type!='subcampaign'" bgcolor="gray:start==True">
|
||||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
<field name="start" invisible="1"/>
|
||||
</node>
|
||||
<arrow object="marketing.campaign.transition" source="activity_from_id" destination="activity_to_id">
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id"/>
|
||||
</arrow>
|
||||
</diagram>
|
||||
</field>
|
||||
</record-->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_marketing_campaign_form">
|
||||
<field name="name">All Campaigns</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">marketing.campaign</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,diagram</field>
|
||||
<field name="view_id" ref="view_marketing_campaign_tree"/>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_marketing_campaign_form" parent="menu_marketing" action="action_marketing_campaign_form" sequence="20" />
|
||||
|
||||
<!--
|
||||
======================
|
||||
Marketing Segments
|
||||
======================
|
||||
-->
|
||||
|
||||
<record model="ir.ui.view" id="view_marketing_campaign_segment_form">
|
||||
<field name="name">marketing.campaign.segment.form</field>
|
||||
<field name="model">marketing.campaign.segment</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Segments">
|
||||
<group colspan="4">
|
||||
<field name="name" select="1"/>
|
||||
<newline/>
|
||||
<field name="campaign_id" select="1"/>
|
||||
<field name="object_id" select="1"/>
|
||||
<newline/>
|
||||
<field name="ir_filter_id" select="1"/>
|
||||
<newline/>
|
||||
<field name="date_run"/>
|
||||
<field name="date_done"/>
|
||||
<separator string="Synchronization" colspan="4" />
|
||||
<field name="sync_last_date"/>
|
||||
<field name="sync_mode"/>
|
||||
</group>
|
||||
<separator string="Status" colspan="4" />
|
||||
<field name="state" nolabel = "1" colspan="4"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_marketing_campaign_segment_tree">
|
||||
<field name="name">marketing.campaign.segment.tree</field>
|
||||
<field name="model">marketing.campaign.segment</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="All Segments">
|
||||
<field name="name" select="1"/>
|
||||
<field name="campaign_id" select="1"/>
|
||||
<field name="sync_last_date"/>
|
||||
<field name="sync_mode"/>
|
||||
<field name="state"/>
|
||||
<field name="date_run"/>
|
||||
<field name="date_done"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_marketing_campaign_segment_form">
|
||||
<field name="name">All Segments</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">marketing.campaign.segment</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_marketing_campaign_segment_tree"/>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_marketing_campaign_segment_form" parent="menu_marketing" action="action_marketing_campaign_segment_form" sequence="10" />
|
||||
|
||||
<!--
|
||||
======================
|
||||
Marketing Activities
|
||||
======================
|
||||
-->
|
||||
|
||||
<record model="ir.ui.view" id="view_marketing_campaign_activity_form">
|
||||
<field name="name">marketing.campaign.activity.form</field>
|
||||
<field name="model">marketing.campaign.activity</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Activities">
|
||||
<field name="name" select="1" />
|
||||
<field name="start"/>
|
||||
<field name="campaign_id" select="1"/>
|
||||
<field name="object_id"/>
|
||||
<field name="condition" colspan="4"/>
|
||||
<newline/>
|
||||
<field name="type"/>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','email')]}" >
|
||||
<field name="email_template_id" attrs="{'required':[('type','=','email')]}" />
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','paper')]}" >
|
||||
<field name="report_id" attrs="{'required':[('type','=','paper')]}" />
|
||||
<field name="report_directory_id" attrs="{'required':[('type','=','paper')]}" />
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','action')]}" >
|
||||
<field name="server_action_id" attrs="{'required':[('type','=','action')]}" />
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','subcampaign')]}" >
|
||||
<field name="subcampaign_id" attrs="{'required':[('type','=','subcampaign')]}" />
|
||||
<field name="subcampaign_segment_id" attrs="{'required':[('type','=','subcampaign')]}" />
|
||||
</group>
|
||||
<field name="to_ids" nolabel="1" colspan="4" mode="tree">
|
||||
<tree string="All Transitions" editable="bottom">
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id" />
|
||||
<field name="interval_nbr" />
|
||||
<field name="interval_type"/>
|
||||
</tree>
|
||||
</field>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_marketing_campaign_activity_tree">
|
||||
<field name="name">marketing.campaign.activity.tree</field>
|
||||
<field name="model">marketing.campaign.activity</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="All Activities">
|
||||
<field name="name" select="1"/>
|
||||
<field name="campaign_id" select="1"/>
|
||||
<field name="start"/>
|
||||
<field name="object_id"/>
|
||||
<field name="condition"/>
|
||||
<field name="type"/>
|
||||
<field name="report_id"/>
|
||||
<field name="to_ids"/>
|
||||
<field name="subcampaign_id"/>
|
||||
<field name="subcampaign_segment_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_marketing_campaign_activity_form">
|
||||
<field name="name">All Activities</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">marketing.campaign.activity</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_marketing_campaign_activity_tree"/>
|
||||
</record>
|
||||
<!--
|
||||
|
||||
<menuitem id="menu_marketing_campaign_activity_form" parent="menu_marketing" action="action_marketing_campaign_activity_form" sequence="3" />-->
|
||||
|
||||
<!--
|
||||
======================
|
||||
Marketing Workitems
|
||||
======================
|
||||
-->
|
||||
|
||||
<record model="ir.ui.view" id="view_marketing_campaign_workitem_tree">
|
||||
<field name="name">marketing.campaign.workitem.tree</field>
|
||||
<field name="model">marketing.campaign.workitem</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="All Workitems">
|
||||
<field name="segment_id"/>
|
||||
<field name="activity_id" />
|
||||
<field name="res_id" />
|
||||
<field name="date"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_marketing_campaign_workitem_form">
|
||||
<field name="name">marketing.campaign.workitem.form</field>
|
||||
<field name="model">marketing.campaign.workitem</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Workitem">
|
||||
<field name="segment_id" select="1"/>
|
||||
<field name="activity_id" select="1"/>
|
||||
<field name="object_id"/>
|
||||
<field name="res_id"/>
|
||||
<field name="date" select="1"/>
|
||||
<field name="partner_id" select="1"/>
|
||||
<separator string="Status" colspan="4"/>
|
||||
<field name="state" nolabel="1" colspan="4" readonly="True" select="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_marketing_campaign_workitem">
|
||||
<field name="name">All Workitems</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">marketing.campaign.workitem</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_marketing_campaign_workitem_tree"/>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_action_marketing_campaign_workitem" parent="menu_marketing" action="action_marketing_campaign_workitem" sequence="30" groups="base.group_extended"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -7,87 +7,87 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 16:42+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-05-13 16:57+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\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: 2010-04-17 04:19+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-14 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Fees Line"
|
||||
msgstr ""
|
||||
msgstr "Pozycja opłat"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.fee,repair_id:0
|
||||
#: field:mrp.repair.line,repair_id:0
|
||||
msgid "Repair Order Ref"
|
||||
msgstr ""
|
||||
msgstr "Odnośnik zamówienia naprawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.line,move_id:0
|
||||
msgid "Inventory Move"
|
||||
msgstr ""
|
||||
msgstr "Przesunięcie zapasów"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Untaxed amount"
|
||||
msgstr ""
|
||||
msgstr "Kwota bez podatku"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,state:0
|
||||
msgid "Repair State"
|
||||
msgstr ""
|
||||
msgstr "Stan naprawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
msgid "Printing Date"
|
||||
msgstr ""
|
||||
msgstr "Data wydruku"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.fee,product_uom_qty:0
|
||||
#: rml:repair.order:0
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
msgstr "Ilość"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Set to Draft"
|
||||
msgstr ""
|
||||
msgstr "Ustaw na projekt"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair,state:0
|
||||
msgid "Invoice Exception"
|
||||
msgstr ""
|
||||
msgstr "Wyjątek faktury"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,address_id:0
|
||||
msgid "Delivery Address"
|
||||
msgstr ""
|
||||
msgstr "Adres dostawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Make Invoice"
|
||||
msgstr ""
|
||||
msgstr "Utwórz fakturę"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.fee,price_subtotal:0
|
||||
#: field:mrp.repair.line,price_subtotal:0
|
||||
msgid "Subtotal"
|
||||
msgstr ""
|
||||
msgstr "Wartość"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
msgid "Invoice address :"
|
||||
msgstr ""
|
||||
msgstr "Adres do faktury :"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,guarantee_limit:0
|
||||
|
@ -99,12 +99,12 @@ msgstr ""
|
|||
#: field:mrp.repair.fee,tax_id:0
|
||||
#: field:mrp.repair.line,tax_id:0
|
||||
msgid "Taxes"
|
||||
msgstr ""
|
||||
msgstr "Podatki"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
msgid "Net Total :"
|
||||
msgstr ""
|
||||
msgstr "Suma netto :"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
|
@ -114,148 +114,148 @@ msgstr ""
|
|||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Operations"
|
||||
msgstr ""
|
||||
msgstr "Operacje"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,move_id:0
|
||||
msgid "Move"
|
||||
msgstr ""
|
||||
msgstr "Przesunięcie"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.actions.act_window,name:mrp_repair.action_repair_order_tree
|
||||
msgid "Repair Orders"
|
||||
msgstr ""
|
||||
msgstr "Zamówienie naprawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.actions.report.xml,name:mrp_repair.report_mrp_repair
|
||||
msgid "Quotation / Order"
|
||||
msgstr ""
|
||||
msgstr "Oferta / Zamówienie"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Extra Info"
|
||||
msgstr ""
|
||||
msgstr "Dodatkowe informacje"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
msgstr "Partner"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.actions.act_window,name:mrp_repair.action_repair_quotation_tree
|
||||
#: model:ir.ui.menu,name:mrp_repair.menu_repair_quotation
|
||||
msgid "Repairs in quotation"
|
||||
msgstr ""
|
||||
msgstr "Naprawy w ofercie"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair,state:0
|
||||
#: selection:mrp.repair.line,state:0
|
||||
msgid "Confirmed"
|
||||
msgstr ""
|
||||
msgstr "Potwierdzone"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Recreate Invoice"
|
||||
msgstr ""
|
||||
msgstr "Utwórz fakturę od nowa"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Repairs order"
|
||||
msgstr ""
|
||||
msgstr "Zamówienie napraw"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
msgid "Repair Order N° :"
|
||||
msgstr ""
|
||||
msgstr "Zamówienie naprawy nr :"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,prodlot_id:0
|
||||
#: rml:repair.order:0
|
||||
msgid "Lot Number"
|
||||
msgstr ""
|
||||
msgstr "Numer partii"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair,state:0
|
||||
msgid "Under Repair"
|
||||
msgstr ""
|
||||
msgstr "W trakcie naprawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,fees_lines:0
|
||||
msgid "Fees Lines"
|
||||
msgstr ""
|
||||
msgstr "Pozycja opłaty"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.model,name:mrp_repair.model_mrp_repair_fee
|
||||
msgid "Repair Fees line"
|
||||
msgstr ""
|
||||
msgstr "Pozycja opłaty naprawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
msgid "Fees Line(s)"
|
||||
msgstr ""
|
||||
msgstr "Pozycja(e) opłaty"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair,state:0
|
||||
msgid "To be Invoiced"
|
||||
msgstr ""
|
||||
msgstr "Do zafakturowania"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
msgid "Shipping address :"
|
||||
msgstr ""
|
||||
msgstr "Adres do wysyłki :"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Start Repair"
|
||||
msgstr ""
|
||||
msgstr "Rozpocznij naprawę"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.line,product_uom_qty:0
|
||||
msgid "Quantity (UoM)"
|
||||
msgstr ""
|
||||
msgstr "Ilość (JM)"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.fee,to_invoice:0
|
||||
#: field:mrp.repair.line,to_invoice:0
|
||||
msgid "To Invoice"
|
||||
msgstr ""
|
||||
msgstr "Do zafakturowania"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.ui.menu,name:mrp_repair.menu_repair_order
|
||||
msgid "Repairs"
|
||||
msgstr ""
|
||||
msgstr "Naprawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,picking_id:0
|
||||
msgid "Packing"
|
||||
msgstr ""
|
||||
msgstr "Lista przesunięć"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
msgid "Total :"
|
||||
msgstr ""
|
||||
msgstr "Suma :"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,pricelist_id:0
|
||||
msgid "Pricelist"
|
||||
msgstr ""
|
||||
msgstr "Cennik"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: help:mrp.repair,state:0
|
||||
msgid "Gives the state of the Repair Order"
|
||||
msgstr ""
|
||||
msgstr "Określa stan zamówienia naprawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
#: field:mrp.repair,quotation_notes:0
|
||||
msgid "Quotation Notes"
|
||||
msgstr ""
|
||||
msgstr "Uwagi oferty"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.actions.act_window,name:mrp_repair.action_repair_progress_tree
|
||||
#: model:ir.ui.menu,name:mrp_repair.menu_repair_progress
|
||||
msgid "Repairs in progress"
|
||||
msgstr ""
|
||||
msgstr "Naprawa w trakcie"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: constraint:ir.ui.view:0
|
||||
|
@ -274,93 +274,93 @@ msgstr ""
|
|||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Repair Line"
|
||||
msgstr ""
|
||||
msgstr "Pozycja naprawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
msgid "N° :"
|
||||
msgstr ""
|
||||
msgstr "Nr :"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,invoice_method:0
|
||||
msgid "Invoice Method"
|
||||
msgstr ""
|
||||
msgstr "Metoda fakturowania"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,repaired:0
|
||||
msgid "Repaired"
|
||||
msgstr ""
|
||||
msgstr "Naprawione"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: wizard_field:mrp.repair.make_invoice,init,group:0
|
||||
msgid "Group by partner invoice address"
|
||||
msgstr ""
|
||||
msgstr "Grupuj wg adresów partnera do faktur"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.fee,invoice_line_id:0
|
||||
#: field:mrp.repair.line,invoice_line_id:0
|
||||
msgid "Invoice Line"
|
||||
msgstr ""
|
||||
msgstr "Pozycja faktury"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Total amount"
|
||||
msgstr ""
|
||||
msgstr "Suma kwot"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair.line,state:0
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
msgstr "Anulowano"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair,invoice_method:0
|
||||
msgid "Before Repair"
|
||||
msgstr ""
|
||||
msgstr "Przed naprawą"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,location_id:0
|
||||
msgid "Current Location"
|
||||
msgstr ""
|
||||
msgstr "Obecna strefa"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: wizard_button:mrp.repair.cancel,display,yes:0
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
msgstr "Tak"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,invoiced:0
|
||||
#: field:mrp.repair.fee,invoiced:0
|
||||
#: field:mrp.repair.line,invoiced:0
|
||||
msgid "Invoiced"
|
||||
msgstr ""
|
||||
msgstr "Zafakturowano"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: wizard_button:mrp.repair.cancel,display,end:0
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
msgstr "Nie"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: wizard_view:mrp.repair.make_invoice,init:0
|
||||
#: wizard_button:mrp.repair.make_invoice,init,invoice:0
|
||||
msgid "Create invoices"
|
||||
msgstr ""
|
||||
msgstr "Utwórz faktury"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair.line,type:0
|
||||
#: rml:repair.order:0
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
msgstr "Dodaj"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair.line,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.actions.act_window,name:mrp_repair.action_repair_order_form
|
||||
#: model:ir.ui.menu,name:mrp_repair.menu_repair_form
|
||||
msgid "New Repair"
|
||||
msgstr ""
|
||||
msgstr "Nowa naprawa"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: constraint:ir.model:0
|
||||
|
@ -373,12 +373,12 @@ msgstr ""
|
|||
#. module: mrp_repair
|
||||
#: field:mrp.repair,amount_untaxed:0
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
msgstr "Kwota bez podatku"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.line,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Stan"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
|
@ -389,12 +389,12 @@ msgstr ""
|
|||
#: field:mrp.repair,product_id:0
|
||||
#: rml:repair.order:0
|
||||
msgid "Product to Repair"
|
||||
msgstr ""
|
||||
msgstr "Produkt do naprawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: help:mrp.repair,pricelist_id:0
|
||||
msgid "The pricelist comes from the selected partner, by default."
|
||||
msgstr ""
|
||||
msgstr "Cennik domyślnie jest pobierany z wybranego partnera"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: wizard_view:mrp.repair.cancel,display:0
|
||||
|
@ -402,105 +402,107 @@ msgid ""
|
|||
"This operation will cancel the Repair process, but will not cancel it's "
|
||||
"Invoice. Do you want to continue?"
|
||||
msgstr ""
|
||||
"Ta operacja anuluje proces naprawy, ale nie anuluje faktury. Czy chcesz "
|
||||
"kontynuować?"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair,state:0
|
||||
msgid "Quotation"
|
||||
msgstr ""
|
||||
msgstr "Oferta"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Compute"
|
||||
msgstr ""
|
||||
msgstr "Oblicz"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Confirm Repair"
|
||||
msgstr ""
|
||||
msgstr "Potwierdź naprawę"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
msgid "Repair Quotation"
|
||||
msgstr ""
|
||||
msgstr "Oferta naprawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "End Repair"
|
||||
msgstr ""
|
||||
msgstr "Koniec naprawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "History"
|
||||
msgstr ""
|
||||
msgstr "Historia"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.model,name:mrp_repair.model_mrp_repair
|
||||
msgid "Repairs Order"
|
||||
msgstr ""
|
||||
msgstr "Oferty napraw"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.actions.act_window,name:mrp_repair.action_repair_ready_tree
|
||||
#: model:ir.ui.menu,name:mrp_repair.menu_repair_ready
|
||||
msgid "Repairs Ready to Start"
|
||||
msgstr ""
|
||||
msgstr "Naprawy gotowe do rozpoczęcia"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Qty"
|
||||
msgstr ""
|
||||
msgstr "Il."
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair,state:0
|
||||
#: selection:mrp.repair.line,state:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
msgstr "Wykonano"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.actions.act_window,name:mrp_repair.action_repair_2binvoiced_tree
|
||||
#: model:ir.ui.menu,name:mrp_repair.menu_repair_2binvoiced
|
||||
msgid "Repairs to be invoiced"
|
||||
msgstr ""
|
||||
msgstr "Naprawy do zafakturowania"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,invoice_id:0
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
msgstr "Faktura"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Fees"
|
||||
msgstr ""
|
||||
msgstr "Opłaty"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair,state:0
|
||||
#: wizard_button:mrp.repair.make_invoice,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Anuluj"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.line,location_dest_id:0
|
||||
msgid "Dest. Location"
|
||||
msgstr ""
|
||||
msgstr "Strefa docelowa"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
msgid "Operation Line(s)"
|
||||
msgstr ""
|
||||
msgstr "Pozycje operacji"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.model,name:mrp_repair.model_mrp_repair_line
|
||||
msgid "Repair Operations Lines"
|
||||
msgstr ""
|
||||
msgstr "Pozycje operacji naprawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,location_dest_id:0
|
||||
msgid "Delivery Location"
|
||||
msgstr ""
|
||||
msgstr "Strefa dostawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.module.module,shortdesc:mrp_repair.module_meta_information
|
||||
msgid "Products Repairs Module"
|
||||
msgstr ""
|
||||
msgstr "Moduł naprawy produktów"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: help:mrp.repair,invoice_method:0
|
||||
|
@ -515,35 +517,35 @@ msgstr ""
|
|||
#: field:mrp.repair.line,price_unit:0
|
||||
#: rml:repair.order:0
|
||||
msgid "Unit Price"
|
||||
msgstr ""
|
||||
msgstr "Cena jednostkowa"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: wizard_view:mrp.repair.make_invoice,init:0
|
||||
msgid "Do you really want to create the invoices ?"
|
||||
msgstr ""
|
||||
msgstr "Na pewno chcesz utworzyć faktury ?"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.fee,name:0
|
||||
#: field:mrp.repair.line,name:0
|
||||
#: rml:repair.order:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
msgstr "Opis"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,operations:0
|
||||
msgid "Operation Lines"
|
||||
msgstr ""
|
||||
msgstr "Pozycje operacji"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.fee,product_id:0
|
||||
#: field:mrp.repair.line,product_id:0
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
msgstr "Produkt"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Invoice Corrected"
|
||||
msgstr ""
|
||||
msgstr "Faktura poprawiona"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: help:mrp.repair,deliver_bool:0
|
||||
|
@ -553,118 +555,122 @@ msgid ""
|
|||
"that you can select the locations in the Info tab, if you have the extended "
|
||||
"view."
|
||||
msgstr ""
|
||||
"Zaznacz to pole, jeśli chcesz zarządzać dostawą po naprawie. Jeśli "
|
||||
"zaznaczone, to zostanie utworzona lista przesunięć z wybranym produktem. "
|
||||
"Zwróć uwagę, że możesz wybrać strefę w zakładce informacyjnej, jeśli masz "
|
||||
"ustawiony rozszerzony widok."
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.line,type:0
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
msgstr "Typ"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
msgstr "Cena"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,deliver_bool:0
|
||||
msgid "Deliver"
|
||||
msgstr ""
|
||||
msgstr "Dostarcz"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
#: field:mrp.repair,internal_notes:0
|
||||
msgid "Internal Notes"
|
||||
msgstr ""
|
||||
msgstr "Uwagi wewnętrzne"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: rml:repair.order:0
|
||||
msgid "Taxes:"
|
||||
msgstr ""
|
||||
msgstr "Podatki:"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.actions.wizard,name:mrp_repair.wizard_mrp_repair_make_invoice
|
||||
msgid "Make invoices"
|
||||
msgstr ""
|
||||
msgstr "Utwórz faktury"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,name:0
|
||||
msgid "Repair Ref"
|
||||
msgstr ""
|
||||
msgstr "Odnośnik naprawy"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "UoM"
|
||||
msgstr ""
|
||||
msgstr "JM"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair.line,type:0
|
||||
#: rml:repair.order:0
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
msgstr "Usuń"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: wizard_view:mrp.repair.cancel,display:0
|
||||
msgid "Cancel Repair...??"
|
||||
msgstr ""
|
||||
msgstr "Anulować naprawę...??"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.fee,product_uom:0
|
||||
#: field:mrp.repair.line,product_uom:0
|
||||
msgid "Product UoM"
|
||||
msgstr ""
|
||||
msgstr "JM produktu"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,partner_invoice_id:0
|
||||
msgid "Invoicing Address"
|
||||
msgstr ""
|
||||
msgstr "Adres do faktury"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair,invoice_method:0
|
||||
msgid "After Repair"
|
||||
msgstr ""
|
||||
msgstr "Po naprawie"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Invoicing"
|
||||
msgstr ""
|
||||
msgstr "Fakturowanie"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair.line,location_id:0
|
||||
msgid "Source Location"
|
||||
msgstr ""
|
||||
msgstr "Strefa źródłowa"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Quality"
|
||||
msgstr ""
|
||||
msgstr "Jakość"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: model:ir.actions.wizard,name:mrp_repair.action_cancel_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "Cancel Repair"
|
||||
msgstr ""
|
||||
msgstr "Anuluj naprawę"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair,invoice_method:0
|
||||
msgid "No Invoice"
|
||||
msgstr ""
|
||||
msgstr "Brak faktur"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: view:mrp.repair:0
|
||||
msgid "States"
|
||||
msgstr ""
|
||||
msgstr "Stany"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: help:mrp.repair,partner_id:0
|
||||
msgid ""
|
||||
"This field allow you to choose the parner that will be invoiced and delivered"
|
||||
msgstr ""
|
||||
msgstr "To pole pozwala ci wybrać partnera, który dostanie fakturę i dostawę"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: field:mrp.repair,amount_total:0
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
msgstr "Suma"
|
||||
|
||||
#. module: mrp_repair
|
||||
#: selection:mrp.repair,state:0
|
||||
msgid "Ready to Repair"
|
||||
msgstr ""
|
||||
msgstr "Gotowe do naprawy"
|
||||
|
|
|
@ -8,41 +8,45 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-12-08 11:46+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 11:01+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2010-05-13 16:47+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
|
||||
"Language-Team: Polish <pl@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: 2010-04-17 04:21+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-14 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: multi_company
|
||||
#: help:multi_company.default,object_id:0
|
||||
msgid "Object affect by this rules"
|
||||
msgstr ""
|
||||
msgstr "Obiekt podlegający tej regule"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Nazwa obiektu musi zaczynać się od x_ oraz nie może zawierać znaków "
|
||||
"specjalnych !"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:product.template:0
|
||||
msgid ""
|
||||
"Error: The default UOM and the purchase UOM must be in the same category."
|
||||
msgstr ""
|
||||
msgstr "Błąd: domyślna JM i zakupowa JM muszą być tej samej kategorii."
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:res.partner:0
|
||||
msgid "The VAT doesn't seem to be correct."
|
||||
msgstr ""
|
||||
"Numer NIP wygląda na niepoprawny. Wpisuj numer z PL na początku. Bez kresek "
|
||||
"i spacji."
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
|
||||
|
||||
#. module: multi_company
|
||||
#: model:res.company,overdue_msg:multi_company.res_company_odoo
|
||||
|
@ -59,18 +63,18 @@ msgstr ""
|
|||
#. module: multi_company
|
||||
#: field:multi_company.default,company_dest_id:0
|
||||
msgid "Default Company"
|
||||
msgstr ""
|
||||
msgstr "Domyślna firma"
|
||||
|
||||
#. module: multi_company
|
||||
#: field:multi_company.default,object_id:0
|
||||
msgid "Object"
|
||||
msgstr ""
|
||||
msgstr "Obiekt"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.module.module,shortdesc:multi_company.module_meta_information
|
||||
#: view:multi_company.default:0
|
||||
msgid "Multi Company"
|
||||
msgstr ""
|
||||
msgstr "Wielofirmowość"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.module.module,description:multi_company.module_meta_information
|
||||
|
@ -83,12 +87,12 @@ msgstr ""
|
|||
#. module: multi_company
|
||||
#: field:multi_company.default,company_id:0
|
||||
msgid "Main Company"
|
||||
msgstr ""
|
||||
msgstr "Główna firma"
|
||||
|
||||
#. module: multi_company
|
||||
#: view:multi_company.default:0
|
||||
msgid "Condition"
|
||||
msgstr ""
|
||||
msgstr "Warunek"
|
||||
|
||||
#. module: multi_company
|
||||
#: help:multi_company.default,company_dest_id:0
|
||||
|
@ -98,17 +102,17 @@ msgstr ""
|
|||
#. module: multi_company
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr ""
|
||||
msgstr "XML niewłaściwy dla tej architektury wyświetlania!"
|
||||
|
||||
#. module: multi_company
|
||||
#: field:multi_company.default,name:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
msgstr "Nazwa"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:product.template:0
|
||||
msgid "Error: UOS must be in a different category than the UOM"
|
||||
msgstr ""
|
||||
msgstr "Błąd: JS musi być innej kategorii niż JM."
|
||||
|
||||
#. module: multi_company
|
||||
#: model:product.category,name:multi_company.Odoo1
|
||||
|
@ -118,17 +122,17 @@ msgstr ""
|
|||
#. module: multi_company
|
||||
#: constraint:res.company:0
|
||||
msgid "Error! You can not create recursive companies."
|
||||
msgstr ""
|
||||
msgstr "Błąd! Nie możesz tworzyć firm rekurencyjnych."
|
||||
|
||||
#. module: multi_company
|
||||
#: help:multi_company.default,name:0
|
||||
msgid "Name it to easily find a record"
|
||||
msgstr ""
|
||||
msgstr "Nazwij to, aby łatwiej odszukać rekord"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.ui.menu,name:multi_company.menu_custom_multicompany
|
||||
msgid "Multi company"
|
||||
msgstr ""
|
||||
msgstr "Wielofirmowość"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.model,name:multi_company.model_multi_company_default
|
||||
|
@ -138,17 +142,17 @@ msgstr ""
|
|||
#. module: multi_company
|
||||
#: help:multi_company.default,company_id:0
|
||||
msgid "Company where the user is connected"
|
||||
msgstr ""
|
||||
msgstr "Firma, do której użytkownik jest podłączony"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.actions.act_window,name:multi_company.action_inventory_form
|
||||
msgid "Default Company per Object"
|
||||
msgstr ""
|
||||
msgstr "Domyślna firma dla obiektów"
|
||||
|
||||
#. module: multi_company
|
||||
#: field:multi_company.default,expression:0
|
||||
msgid "Expression"
|
||||
msgstr ""
|
||||
msgstr "Wyrażenie"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:product.template,name:multi_company.product_product_odoo1_product_template
|
||||
|
@ -158,35 +162,35 @@ msgstr ""
|
|||
#. module: multi_company
|
||||
#: field:multi_company.default,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
msgstr "Numeracja"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:product.category:0
|
||||
msgid "Error ! You can not create recursive categories."
|
||||
msgstr ""
|
||||
msgstr "Błąd ! Nie możesz tworzyć rekurencyjnych kategorii."
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:product.product:0
|
||||
msgid "Error: Invalid ean code"
|
||||
msgstr ""
|
||||
msgstr "Błąd: Niedozwolony kod EAN"
|
||||
|
||||
#. module: multi_company
|
||||
#: help:multi_company.default,expression:0
|
||||
msgid "Expression, must be True to match"
|
||||
msgstr ""
|
||||
msgstr "Wyrażenie, musi być Prawdą aby było spełnione"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.ui.menu,name:multi_company.menu_action_inventory_form
|
||||
msgid "Default company per Object"
|
||||
msgstr ""
|
||||
msgstr "Domyślna firma dla obiektu"
|
||||
|
||||
#. module: multi_company
|
||||
#: code:addons/multi_company/multi_company.py:0
|
||||
#, python-format
|
||||
msgid " (copy)"
|
||||
msgstr ""
|
||||
msgstr " (kopia)"
|
||||
|
||||
#. module: multi_company
|
||||
#: view:multi_company.default:0
|
||||
msgid "Matching"
|
||||
msgstr ""
|
||||
msgstr "Zgodność"
|
||||
|
|
|
@ -46,8 +46,8 @@
|
|||
"data/olap_security.xml",
|
||||
'security/ir.model.access.csv'
|
||||
],
|
||||
"demo_xml" : ["data/olap_demo.xml",
|
||||
"test/olap_test00.yml"],
|
||||
"demo_xml" : ["data/olap_demo.xml"
|
||||
],
|
||||
"active": False,
|
||||
"installable": True
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<data>
|
||||
|
||||
<!-- Wizard view for the load data -->
|
||||
|
||||
|
||||
<record id="bi_load_db_form" model="ir.ui.view">
|
||||
<field name="name">bi.load.db.form</field>
|
||||
<field name="model">bi.load.db.wizard</field>
|
||||
|
@ -22,7 +22,7 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="act_bi_load_db_wizard" model="ir.actions.act_window">
|
||||
<field name="name">Load database Structure</field>
|
||||
<field name="res_model">bi.load.db.wizard</field>
|
||||
|
@ -33,10 +33,10 @@
|
|||
<field name="auto_refresh" eval="1"/>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Wizard For Olap Warehouse -->
|
||||
|
||||
|
||||
<record id="view_warehouse_bi" model="ir.ui.view">
|
||||
<field name="name">Olap Warehouse</field>
|
||||
<field name="model">olap.warehouse.wizard</field>
|
||||
|
@ -51,7 +51,7 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="action_olap_warehouse" model="ir.actions.act_window">
|
||||
<field name="name">Olap Warehouse</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
|
@ -60,7 +60,7 @@
|
|||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
name="Olap Warehouse"
|
||||
action="action_olap_warehouse"
|
||||
|
@ -68,9 +68,9 @@
|
|||
sequence="51"
|
||||
parent="base.next_id_50"
|
||||
/>
|
||||
|
||||
|
||||
<!-- Wizard View for the parameters wizard -->
|
||||
|
||||
|
||||
<record id="view_config_bi" model="ir.ui.view">
|
||||
<field name="name">Parameters Configuration</field>
|
||||
<field name="model">olap.parameters.config.wizard</field>
|
||||
|
@ -90,7 +90,7 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="action_config_bi_parameters" model="ir.actions.act_window">
|
||||
<field name="name">Parameters Configuration</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
|
@ -99,7 +99,7 @@
|
|||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
name="Server Parameters"
|
||||
action="action_config_bi_parameters"
|
||||
|
@ -107,16 +107,16 @@
|
|||
sequence="50"
|
||||
parent="base.next_id_50"
|
||||
/>
|
||||
|
||||
|
||||
<record model="ir.actions.todo" id="config_auto_directory">
|
||||
<field name="name">Server Parameters Configuration</field>
|
||||
<field name="note">This wizard will configure the URL of the web client</field>
|
||||
<field name="action_id" ref="action_config_bi_parameters"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Wizard view for the Auto Configuring the data -->
|
||||
|
||||
|
||||
<record id="bi_auto_configure_form" model="ir.ui.view">
|
||||
<field name="name">bi.auto.configure.form</field>
|
||||
<field name="model">bi.auto.configure.wizard</field>
|
||||
|
@ -131,7 +131,7 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="act_bi_auto_configure" model="ir.actions.act_window">
|
||||
<field name="name">Auto Configuration</field>
|
||||
<field name="res_model">bi.auto.configure.wizard</field>
|
||||
|
@ -142,13 +142,13 @@
|
|||
<field name="auto_refresh" eval="1"/>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Olap Schema
|
||||
# ------------------------------------------------------------------
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_schema_tree">
|
||||
<field name="name">olap.schema.tree</field>
|
||||
<field name="model">olap.schema</field>
|
||||
|
@ -160,7 +160,7 @@
|
|||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_schema_form">
|
||||
<field name="name">olap.schema.form</field>
|
||||
<field name="model">olap.schema</field>
|
||||
|
@ -195,19 +195,19 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="action_olap_schema_form">
|
||||
<field name="name">Olap Schemas</field>
|
||||
<field name="res_model">olap.schema</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
name="Olap Schema"
|
||||
action="action_olap_schema_form"
|
||||
id="menu_action_olap_schema_form"
|
||||
parent="menu_bi_conf_cubes"/>
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Olap Cubes Table
|
||||
# ------------------------------------------------------------------
|
||||
|
@ -245,23 +245,23 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="action_olap_cube_table_form">
|
||||
<field name="name">Olap Cube Tables</field>
|
||||
<field name="res_model">olap.cube.table</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
name="Olap Cubes Table"
|
||||
parent = "menu_bi_conf_cubes"
|
||||
action="action_olap_cube_table_form"
|
||||
id="menu_action_olap_cube_table_form"/>
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Olap Cubes
|
||||
# ------------------------------------------------------------------
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_cube_tree">
|
||||
<field name="name">olap.cube.tree</field>
|
||||
<field name="model">olap.cube</field>
|
||||
|
@ -273,7 +273,7 @@
|
|||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_cube_form">
|
||||
<field name="name">olap.cube.form</field>
|
||||
<field name="model">olap.cube</field>
|
||||
|
@ -287,24 +287,24 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="action_olap_cube_form">
|
||||
<field name="name">Olap Cubes</field>
|
||||
<field name="res_model">olap.cube</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
name="Olap Cubes"
|
||||
parent ="menu_bi_conf_cubes"
|
||||
action="action_olap_cube_form"
|
||||
id="menu_action_olap_cube_form"/>
|
||||
|
||||
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Olap Dimensions
|
||||
# ------------------------------------------------------------------
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_dimension_tree">
|
||||
<field name="name">olap.dimension.tree</field>
|
||||
<field name="model">olap.dimension</field>
|
||||
|
@ -316,7 +316,7 @@
|
|||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_dimension_form">
|
||||
<field name="name">olap.dimension.form</field>
|
||||
<field name="model">olap.dimension</field>
|
||||
|
@ -328,23 +328,23 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="action_olap_dimension_form">
|
||||
<field name="name">Olap Dimensions</field>
|
||||
<field name="res_model">olap.dimension</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
name="Olap Dimension"
|
||||
parent = "menu_bi_conf_cubes"
|
||||
action="action_olap_dimension_form"
|
||||
id="menu_action_olap_dimension_form"/>
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Olap Hierarchies
|
||||
# ------------------------------------------------------------------
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_hierarchy_tree">
|
||||
<field name="name">olap.hierarchy.tree</field>
|
||||
<field name="model">olap.hierarchy</field>
|
||||
|
@ -356,7 +356,7 @@
|
|||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_hierarchy_form">
|
||||
<field name="name">olap.hierarchy.form</field>
|
||||
<field name="model">olap.hierarchy</field>
|
||||
|
@ -365,33 +365,29 @@
|
|||
<form string="Olap hierarchy">
|
||||
<field name="name" select="1" colspan="2"/>
|
||||
<field name="sequence" colspan="2"/>
|
||||
<field name="dimension_id" select="1" attrs="{'readonly':[('dimension_id','!=','')]}" colspan="4"/>
|
||||
<!-- <field name="field_name" select="2"/>-->
|
||||
|
||||
<field name="table_id" select="2" colspan="4" context="{'d_id':dimension_id}"/>
|
||||
<!-- <separator string="Levels" colspan="4"/>
|
||||
<field name="level_ids" colspan="4" nolabel="1"/>-->
|
||||
<field name="dimension_id" select="1" attrs="{'readonly':[('dimension_id','!=','')]}" colspan="2"/>
|
||||
<field name="table_id" select="2" colspan="2" context="{'d_id':dimension_id}"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="action_olap_hierarchy_form">
|
||||
<field name="name">Olap Hierarchies</field>
|
||||
<field name="res_model">olap.hierarchy</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
name="Olap Hierarchy"
|
||||
parent = "menu_bi_conf_cubes"
|
||||
action="action_olap_hierarchy_form"
|
||||
id="menu_action_olap_hierarchy_form"/>
|
||||
|
||||
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Olap Levels
|
||||
# ------------------------------------------------------------------
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_level_tree">
|
||||
<field name="name">olap.level.tree</field>
|
||||
<field name="model">olap.level</field>
|
||||
|
@ -408,7 +404,7 @@
|
|||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_level_form">
|
||||
<field name="name">olap.level.form</field>
|
||||
<field name="model">olap.level</field>
|
||||
|
@ -427,24 +423,24 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="action_olap_level_form">
|
||||
<field name="name">Olap Level</field>
|
||||
<field name="res_model">olap.level</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
name="Olap Level"
|
||||
parent = "menu_bi_conf_cubes"
|
||||
action="action_olap_level_form"
|
||||
id="menu_action_olap_level_form"/>
|
||||
|
||||
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Olap Measure
|
||||
# ------------------------------------------------------------------
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_measure_tree">
|
||||
<field name="name">olap.measure.tree</field>
|
||||
<field name="model">olap.measure</field>
|
||||
|
@ -456,7 +452,7 @@
|
|||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_measure_form">
|
||||
<field name="name">olap.measure.form</field>
|
||||
<field name="model">olap.measure</field>
|
||||
|
@ -471,7 +467,7 @@
|
|||
<group colspan="4" attrs="{'invisible':[('measure_type','!=','fact_column')]}">
|
||||
<newline/>
|
||||
<field name="value_column" select="1" attrs="{'required':[('measure_type','=','fact_column')]}" on_change="onchange_measure_name(value_column)" context="{'filter_cols_cube':cube_id}"/>
|
||||
<field name="agregator" select="2" />
|
||||
<field name="agregator" select="2"/>
|
||||
<field name="formatstring" select="2"/>
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('measure_type','!=','sql_expr')]}">
|
||||
|
@ -484,19 +480,19 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="action_olap_measure_form">
|
||||
<field name="name">Olap Measures</field>
|
||||
<field name="res_model">olap.measure</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
name="Olap Measures"
|
||||
parent = "menu_bi_conf_cubes"
|
||||
action="action_olap_measure_form"
|
||||
id="menu_action_olap_measure_form"/>
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Olap Saved Query
|
||||
# ------------------------------------------------------------------
|
||||
|
@ -515,7 +511,7 @@
|
|||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_saved_query_form_mdx">
|
||||
<field name="name">olap.saved.query.mdx</field>
|
||||
<field name="model">olap.saved.query</field>
|
||||
|
@ -531,7 +527,7 @@
|
|||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_saved_query_form">
|
||||
<field name="name">olap.saved.query.form</field>
|
||||
<field name="model">olap.saved.query</field>
|
||||
|
@ -553,22 +549,22 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="action_olap_saved_query_form">
|
||||
<field name="name">Olap Saved Query</field>
|
||||
<field name="res_model">olap.saved.query</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,mdx</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
name="Olap Saved Query"
|
||||
parent = "menu_bi_conf_tools"
|
||||
action="action_olap_saved_query_form"
|
||||
id="menu_action_olap_saved_query_form"/>
|
||||
|
||||
|
||||
<!-- All Logs -->
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_query_logs_tree">
|
||||
<field name="name">olap.query.logs</field>
|
||||
<field name="model">olap.query.logs</field>
|
||||
|
@ -582,7 +578,7 @@
|
|||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_query_logs_form">
|
||||
<field name="name">olap.query.logs.form</field>
|
||||
<field name="model">olap.query.logs</field>
|
||||
|
@ -599,21 +595,21 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="action_olap_query_logs_form">
|
||||
<field name="name">All Logs</field>
|
||||
<field name="res_model">olap.query.logs</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
name="All Logs"
|
||||
action="action_olap_query_logs_form"
|
||||
id="menu_action_olap_query_logs_form"
|
||||
parent="menu_bi_conf_tools"/>
|
||||
|
||||
|
||||
<!-- All Logs / My logs -->
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_query_logs_my_tree">
|
||||
<field name="name">olap.query.logs</field>
|
||||
<field name="model">olap.query.logs</field>
|
||||
|
@ -626,7 +622,7 @@
|
|||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_query_logs_my_tree">
|
||||
<field name="name">olap.query.logs</field>
|
||||
<field name="model">olap.query.logs</field>
|
||||
|
@ -639,9 +635,9 @@
|
|||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Query Logs -->
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_olap_query_logs_my_form">
|
||||
<field name="name">olap.query.logs.form</field>
|
||||
<field name="model">olap.query.logs</field>
|
||||
|
@ -657,7 +653,7 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="action_olap_query_logs_my_form">
|
||||
<field name="name">My Logs</field>
|
||||
<field name="res_model">olap.query.logs</field>
|
||||
|
@ -665,12 +661,12 @@
|
|||
<field name="view_mode">tree,form,mdx</field>
|
||||
<field name="domain">[('user_id','=',uid)]</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
name="My Logs"
|
||||
action="action_olap_query_logs_my_form"
|
||||
id="menu_action_olap_query_logs_my_form"
|
||||
parent="menu_action_olap_query_logs_form"/>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -11,20 +11,23 @@
|
|||
name: OpenERP
|
||||
type: postgres
|
||||
-
|
||||
I will check the connection for successful login. >>>>>>(Problem)
|
||||
# !python {model: olap.fact.database}: |
|
||||
# self.test_connection(cr, uid,[ref('olap_fact_database_openerp0')], context)
|
||||
I will check the connection for successful login.
|
||||
-
|
||||
!python {model: olap.fact.database}: |
|
||||
import tools
|
||||
if tools.config['db_name'] == 'tiny' and tools.config['db_password'] == '123456' and tools.config['db_host'] == 'localhost':
|
||||
self.test_connection(cr, uid, ids ,{'active_ids':[ref('olap_fact_database_openerp0')]})
|
||||
-
|
||||
In order to test schema,I create a new schema record.
|
||||
-
|
||||
!record {model: olap.schema, id: olap_schema_Partners0}:
|
||||
database_id: olap_fact_database_openerp0
|
||||
name: Partners
|
||||
-
|
||||
-
|
||||
I press "Connect to Database" and I see that the Schema State is "Database Connected" now
|
||||
-
|
||||
-
|
||||
!workflow {model: olap.schema, action: dbconnect, ref: olap_schema_Partners0}
|
||||
-
|
||||
-
|
||||
Now I will load the structure of the database. by structure we mean tables, columns and the relations. This will help in defining cube easily.
|
||||
-
|
||||
!record {model: bi.load.db.wizard, id: bi_load_db_wizard_0}:
|
||||
|
@ -45,7 +48,7 @@
|
|||
!workflow {model: olap.schema, action: dbconfigure, ref: olap_schema_Partners0}
|
||||
-
|
||||
Performing a workflow action dbready on module olap.schema
|
||||
-
|
||||
-
|
||||
!workflow {model: olap.schema, action: dbready, ref: olap_schema_Partners0}
|
||||
-
|
||||
In order to create Cube I first define the fact table.Fact table are the key tables in which measures are stored and we can branch to other tables for other parameters.
|
||||
|
@ -93,7 +96,7 @@
|
|||
table_id: olap_cube_table_partnercubetable0
|
||||
-
|
||||
After adding the hierarchy I create level.I select Product's default_code as Columns Name that is loaded in Fact columns.
|
||||
-
|
||||
-
|
||||
!record {model: olap.level, id: olap_level_productscode0}:
|
||||
column_id_name: name
|
||||
column_name: olap.columns_res_user_name
|
||||
|
@ -107,5 +110,4 @@
|
|||
-
|
||||
!python {model: olap.load.column}: |
|
||||
ids = self.search(cr, uid, [])
|
||||
self.get_table_data(cr, uid, ids, {'active_ids': [ref('olap_cube_table_partnercubetable0')]})
|
||||
|
||||
self.get_table_data(cr, uid, ids, {'active_ids': [ref('olap_cube_table_partnercubetable0')]})
|
||||
|
|
|
@ -9,9 +9,13 @@
|
|||
<field name="model">olap.load.column</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="">
|
||||
<separator string=" " colspan="4"/>
|
||||
<button name="get_table_data" string="Open" type="object"/>
|
||||
<form string="Open Columns">
|
||||
<label string="Do u Want to Open Columns ?" colspan="6"/>
|
||||
<separator string="" colspan="6"/>
|
||||
<group col="6" colspan="4">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="get_table_data" string="Open" type="object" icon="gtk-ok"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -11,11 +11,10 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string=" To Load Data">
|
||||
<field name='user_name'/>
|
||||
<separator string="" colspan="4" />
|
||||
<label string="" colspan="2" />
|
||||
<group colspan="4">
|
||||
<button special="cancel" string="Cancel" />
|
||||
<button name="clear_logs" string="Clear Logs" type="object"/>
|
||||
<separator string="" colspan="6" />
|
||||
<group col="4" colspan="4">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel" />
|
||||
<button name="clear_logs" string="Clear Logs" type="object" icon="gtk-clear"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import osv, fields
|
||||
|
||||
class res_partner(osv.osv):
|
||||
""" Inherits partner and adds more information in the partner form """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'opportunity_ids': fields.one2many('crm.lead', 'partner_id', 'Opportunities', domain=[('type', '=', 'opportunity')]),
|
||||
'meeting_ids': fields.one2many('crm.meeting', 'partner_id',\
|
||||
'Meetings'),
|
||||
'phonecall_ids': fields.one2many('crm.phonecall', 'partner_id', 'Phonecalls'),
|
||||
'invoice_ids': fields.one2many('account.invoice.line', 'partner_id', 'Invoices'),
|
||||
'contract_ids': fields.one2many('account.analytic.account', \
|
||||
'partner_id', 'Contracts'),
|
||||
'account_line_ids': fields.one2many('hr.analytic.timesheet', \
|
||||
'partner_id', 'Anaylitic account lines '),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -1,32 +0,0 @@
|
|||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.form.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="CRM Info">
|
||||
<field name="opportunity_ids" colspan="4" nolabel="1" />
|
||||
<field name="meeting_ids" colspan="4" nolabel="1" />
|
||||
<field name="phonecall_ids" colspan="4" nolabel="1" />
|
||||
</page>
|
||||
|
||||
<page string="Other Info">
|
||||
<field name="invoice_ids" colspan="4" nolabel="1" context="{'group_by':'product_id'}"/>
|
||||
<field name="contract_ids" colspan="4" nolabel="1"/>
|
||||
<field name="account_line_ids" colspan="4" nolabel="1" context="{'group_by':'date'}"/>
|
||||
|
||||
</page>
|
||||
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -1,9 +0,0 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_crm_meeting_partner_manager","crm.meeting","crm.model_crm_meeting","base.group_partner_manager",1,0,0,0
|
||||
"access_crm_meeting_user","crm.meeting","crm.model_crm_meeting","base.group_user",1,0,0,0
|
||||
"access_crm_phonecall_partner_manager","crm.phonecall","crm.model_crm_phonecall","base.group_partner_manager",1,0,0,0
|
||||
"access_crm_phonecall_user","crm.phonecall","crm.model_crm_phonecall","base.group_user",1,0,0,0
|
||||
"access_invoice_partner_manager","account.invoice","account.model_account_invoice","base.group_partner_manager",1,0,0,0
|
||||
"access_invoice_user","account.invoice","account.model_account_invoice","base.group_user",1,0,0,0
|
||||
"access_analytic_account_partner_manager","account.analytic.account","account_analytic_analysis.model_account_analytic_account","base.group_partner_manager",1,0,0,0
|
||||
"access_analytic_account_user","account.analytic.account","account_analytic_analysis.model_account_analytic_account","base.group_user",1,0,0,0
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 12:55+0000\n"
|
||||
"Last-Translator: ale <alessio.guidi@gmail.com>\n"
|
||||
"PO-Revision-Date: 2010-05-16 08:40+0000\n"
|
||||
"Last-Translator: Luca Bedogni <me@lucabedogni.it>\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: 2010-04-17 04:00+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-17 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: point_of_sale
|
||||
|
@ -52,7 +52,7 @@ msgstr "Totale pezzi"
|
|||
#. module: point_of_sale
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nome del modello non valido nella definizione dell'azione."
|
||||
|
||||
#. module: point_of_sale
|
||||
#: field:pos.order,name:0
|
||||
|
@ -77,7 +77,7 @@ msgstr "Aggiungi Prodotto"
|
|||
#. module: point_of_sale
|
||||
#: rml:pos.lines:0
|
||||
msgid "Net Total"
|
||||
msgstr ""
|
||||
msgstr "Totale netto"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: model:ir.ui.menu,name:point_of_sale.menu_action_pos_order_tree2
|
||||
|
@ -102,17 +102,17 @@ msgstr "Seleziona un ordine di vendita aperto"
|
|||
#. module: point_of_sale
|
||||
#: rml:pos.lines:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
msgstr "Impresa"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: rml:pos.invoice:0
|
||||
msgid "Invoice Date"
|
||||
msgstr ""
|
||||
msgstr "Data della fattura"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: rml:pos.receipt:0
|
||||
msgid ","
|
||||
msgstr ""
|
||||
msgstr ","
|
||||
|
||||
#. module: point_of_sale
|
||||
#: model:ir.actions.report.xml,name:point_of_sale.pos_lines_detail
|
||||
|
@ -137,12 +137,12 @@ msgstr "Subtotale"
|
|||
#. module: point_of_sale
|
||||
#: rml:pos.invoice:0
|
||||
msgid "Partner Ref."
|
||||
msgstr ""
|
||||
msgstr "Rif. Partner"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: rml:pos.receipt:0
|
||||
msgid "Tel : + 32 (0) 2 231 04 35"
|
||||
msgstr ""
|
||||
msgstr "Tel: + 32 (0) 2 231 04 35"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: field:pos.order.line,name:0
|
||||
|
@ -192,7 +192,7 @@ msgstr "Riga Vendita"
|
|||
#. module: point_of_sale
|
||||
#: rml:pos.lines:0
|
||||
msgid "No. Of Articles"
|
||||
msgstr ""
|
||||
msgstr "N. Di Articoli"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: field:pos.config.journal,code:0
|
||||
|
@ -242,7 +242,7 @@ msgstr "Qta'"
|
|||
#. module: point_of_sale
|
||||
#: field:pos.order,user_id:0
|
||||
msgid "Logged in User"
|
||||
msgstr ""
|
||||
msgstr "Utente autenticato"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: rml:pos.details:0
|
||||
|
@ -262,7 +262,7 @@ msgstr "Totale Transazione"
|
|||
#. module: point_of_sale
|
||||
#: rml:pos.details:0
|
||||
msgid "Disc"
|
||||
msgstr ""
|
||||
msgstr "Sconto"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: rml:pos.invoice:0
|
||||
|
@ -273,7 +273,7 @@ msgstr "Fax :"
|
|||
#. module: point_of_sale
|
||||
#: wizard_view:pos.scan_product,init:0
|
||||
msgid "Scan Barcode"
|
||||
msgstr ""
|
||||
msgstr "Scansione codice a barre"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: field:pos.order,partner_id:0
|
||||
|
@ -340,7 +340,7 @@ msgstr "Data Pagamento"
|
|||
#. module: point_of_sale
|
||||
#: wizard_field:pos.payment,ask_pay,payment_name:0
|
||||
msgid "Payment name"
|
||||
msgstr ""
|
||||
msgstr "Nome del pagamento"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: field:pos.order,lines:0
|
||||
|
@ -350,17 +350,17 @@ msgstr "Righe Ordine"
|
|||
#. module: point_of_sale
|
||||
#: rml:pos.invoice:0
|
||||
msgid "Disc.(%)"
|
||||
msgstr ""
|
||||
msgstr "Sconto (%)"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: model:ir.module.module,shortdesc:point_of_sale.module_meta_information
|
||||
msgid "Point Of Sale"
|
||||
msgstr ""
|
||||
msgstr "Punto vendita"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: field:pos.order.line,create_date:0
|
||||
msgid "Creation Date"
|
||||
msgstr ""
|
||||
msgstr "Data della creazione"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: rml:pos.invoice:0
|
||||
|
@ -385,7 +385,7 @@ msgstr "Configurazione Registro Punto Vendita"
|
|||
#. module: point_of_sale
|
||||
#: rml:pos.receipt:0
|
||||
msgid "Total :"
|
||||
msgstr ""
|
||||
msgstr "Totale :"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: wizard_field:pos.config.journal,init,default_journal:0
|
||||
|
@ -437,7 +437,7 @@ msgstr "Registri Predefiniti"
|
|||
#. module: point_of_sale
|
||||
#: rml:pos.invoice:0
|
||||
msgid "Draft Invoice"
|
||||
msgstr ""
|
||||
msgstr "Bozza Fattura"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: field:pos.order.line,discount:0
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-12-26 09:25+0000\n"
|
||||
"Last-Translator: lem0na <nickyk@gmx.net>\n"
|
||||
"PO-Revision-Date: 2010-05-15 09:15+0000\n"
|
||||
"Last-Translator: Boris <boris.t.ivanov@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: 2010-04-17 04:10+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-17 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: product
|
||||
|
@ -1218,7 +1218,7 @@ msgstr ""
|
|||
#. module: product
|
||||
#: help:product.pricelist.version,date_end:0
|
||||
msgid "Ending date for this pricelist version to be valid."
|
||||
msgstr ""
|
||||
msgstr "Крайна дата на валидност на тази версия на ценоразпис."
|
||||
|
||||
#. module: product
|
||||
#: field:pricelist.partnerinfo,suppinfo_id:0
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<field name="view_id" ref="product_pricelist_version_tree_view"/>
|
||||
</record>
|
||||
<menuitem
|
||||
action="product_pricelist_action" id="menu_product_pricelist_action"
|
||||
action="product_pricelist_action" id="menu_product_pricelist_action"
|
||||
parent="product.menu_product_pricelist_main" sequence="2"/>
|
||||
|
||||
<record id="product_pricelist_item_tree_view" model="ir.ui.view">
|
||||
|
|
|
@ -446,9 +446,9 @@ class product_product(osv.osv):
|
|||
'outgoing_qty': fields.function(_product_outgoing_qty, method=True, type='float', string='Outgoing'),
|
||||
'price': fields.function(_product_price, method=True, type='float', string='Pricelist', digits_compute=dp.get_precision('Sale Price')),
|
||||
'lst_price' : fields.function(_product_lst_price, method=True, type='float', string='List Price', digits_compute=dp.get_precision('Sale Price')),
|
||||
'code': fields.function(_product_code, method=True, type='char', string='Code'),
|
||||
'code': fields.function(_product_code, method=True, type='char', string='Reference'),
|
||||
'partner_ref' : fields.function(_product_partner_ref, method=True, type='char', string='Customer ref'),
|
||||
'default_code' : fields.char('Code', size=64),
|
||||
'default_code' : fields.char('Reference', size=64),
|
||||
'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the product without removing it."),
|
||||
'variants': fields.char('Variants', size=64),
|
||||
'product_tmpl_id': fields.many2one('product.template', 'Product Template', required=False),
|
||||
|
@ -676,7 +676,20 @@ class pricelist_partnerinfo(osv.osv):
|
|||
_order = 'min_quantity asc'
|
||||
pricelist_partnerinfo()
|
||||
|
||||
class res_users(osv.osv):
|
||||
_name = 'res.users'
|
||||
_inherit = 'res.users'
|
||||
|
||||
def create(self, cr, uid, data, context={}):
|
||||
user_id = super(res_users, self).create(cr, uid, data, context)
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
data_id = data_obj._get_id(cr, uid, 'product', 'ir_ui_view_sc_product0')
|
||||
view_id = data_obj.browse(cr, uid, data_id, context=context).res_id
|
||||
copy_id = self.pool.get('ir.ui.view_sc').copy(cr, uid, view_id, default = {
|
||||
'user_id': user_id}, context=context)
|
||||
return user_id
|
||||
|
||||
res_users()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<field name="name" select="1"/>
|
||||
<field name="categ_id" select="1" widget="selection" operator="child_of"/>
|
||||
<newline/>
|
||||
<group col='8' colspan='14' expand="1" string="Extended options...">
|
||||
<group col='8' colspan='14' expand="1" string="Extended options..." groups="base.group_extended">
|
||||
<field name="pricelist_id" select="1" widget="selection" context="{'pricelist': self}" />
|
||||
</group>
|
||||
<newline/>
|
||||
|
@ -99,7 +99,7 @@
|
|||
|
||||
<group colspan="2" col="2" name="status">
|
||||
<separator string="Status" colspan="2"/>
|
||||
<field name="categ_id" select="1"/>
|
||||
<field name="categ_id" select="1" groups="base.group_extended"/>
|
||||
<field name="state"/>
|
||||
<field groups="base.group_extended" name="product_manager"/>
|
||||
</group>
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data>
|
||||
<wizard
|
||||
id="report_wizard_price"
|
||||
string="Price List"
|
||||
model="product.product"
|
||||
name="product.price_list"
|
||||
keyword="client_print_multi"
|
||||
groups="base.group_extended"/>
|
||||
</data>
|
||||
</openerp>
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-03-31 08:41+0000\n"
|
||||
"PO-Revision-Date: 2010-05-15 08:53+0000\n"
|
||||
"Last-Translator: Boris <boris.t.ivanov@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: 2010-04-17 03:54+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-17 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: project
|
||||
|
@ -199,6 +199,7 @@ msgid ""
|
|||
"Estimated time for you to validate the work done by the user to whom you "
|
||||
"delegate this task."
|
||||
msgstr ""
|
||||
"Очаквано време за да валидирате извършената от назначения потребител работа."
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
|
@ -483,7 +484,7 @@ msgstr "Мои проекти"
|
|||
#. module: project
|
||||
#: help:project.task.delegate,init,planned_hours:0
|
||||
msgid "Estimated time to close this task by the delegated user."
|
||||
msgstr ""
|
||||
msgstr "Очаквано време за приключване на задачата от назначения потребител."
|
||||
|
||||
#. module: project
|
||||
#: selection:project.project,state:0
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-04-20 08:36+0000\n"
|
||||
"Last-Translator: PROSID <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-05-13 17:05+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\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: 2010-04-21 04:05+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-14 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: project
|
||||
|
@ -54,7 +54,7 @@ msgstr "Otwórz wykonane zadania"
|
|||
#. module: project
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
|
||||
|
||||
#. module: project
|
||||
#: wizard_field:project.task.delegate,init,planned_hours_me:0
|
||||
|
@ -73,6 +73,8 @@ msgid ""
|
|||
"Total remaining time, can be re-estimated periodically by the assignee of "
|
||||
"the task."
|
||||
msgstr ""
|
||||
"Czas pozostały. Może być okresowo przeszacowany przez osobę przypisaną do "
|
||||
"zadania."
|
||||
|
||||
#. module: project
|
||||
#: field:project.project,child_id:0
|
||||
|
@ -93,7 +95,7 @@ msgstr "Zadania wg przydzieleń"
|
|||
#: model:ir.actions.act_window,name:project.open_view_my_project_my_run
|
||||
#: model:ir.ui.menu,name:project.menu_open_view_my_project_my_run
|
||||
msgid "My Running Projects"
|
||||
msgstr ""
|
||||
msgstr "Moje projekty w toku"
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,child_ids:0
|
||||
|
@ -125,7 +127,7 @@ msgstr "Użytkownik, któremu chcesz przydzielić to zadanie."
|
|||
#. module: project
|
||||
#: model:ir.actions.wizard,name:project.wizard_attachment_task
|
||||
msgid "All Attachments"
|
||||
msgstr ""
|
||||
msgstr "Wszystkie załączniki"
|
||||
|
||||
#. module: project
|
||||
#: model:process.transition.action,name:project.process_transition_action_openpendingtask0
|
||||
|
@ -247,6 +249,7 @@ msgstr "Moje projekty zadań"
|
|||
msgid ""
|
||||
"Automatic variables for headers and footer. Use exactly the same notation."
|
||||
msgstr ""
|
||||
"Automatyczne zmienne dla nagłówka i stopki. Stosuj dokładnie tę samą notację."
|
||||
|
||||
#. module: project
|
||||
#: selection:project.project,state:0
|
||||
|
@ -258,7 +261,7 @@ msgstr "Anulowano"
|
|||
#: view:project.project:0
|
||||
#: field:project.project,warn_header:0
|
||||
msgid "Mail Header"
|
||||
msgstr ""
|
||||
msgstr "Magłówke wiadomości"
|
||||
|
||||
#. module: project
|
||||
#: model:process.node,name:project.process_node_donetask0
|
||||
|
@ -278,7 +281,7 @@ msgstr "Przydziela zadanie innemu użytkownikowi"
|
|||
#. module: project
|
||||
#: help:project.task,effective_hours:0
|
||||
msgid "Computed using the sum of the task work done."
|
||||
msgstr ""
|
||||
msgstr "Obliczone według sum czasów wykonanych zadań."
|
||||
|
||||
#. module: project
|
||||
#: help:project.project,warn_customer:0
|
||||
|
@ -376,7 +379,7 @@ msgstr "Przydzielone zadanie"
|
|||
#. module: project
|
||||
#: help:project.project,progress_rate:0
|
||||
msgid "Percent of tasks closed according to the total of tasks todo."
|
||||
msgstr ""
|
||||
msgstr "Procent zadań zamkniętych do sumy zadań do wykonania."
|
||||
|
||||
#. module: project
|
||||
#: wizard_field:project.task.delegate,init,new_task_description:0
|
||||
|
@ -396,7 +399,7 @@ msgstr "Projekt nadrzędny"
|
|||
#. module: project
|
||||
#: help:project.task,total_hours:0
|
||||
msgid "Computed as: Time Spent + Remaining Time."
|
||||
msgstr ""
|
||||
msgstr "Obliczone jako: Czas spędzony + Czas pozostały"
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,type:0
|
||||
|
@ -459,7 +462,7 @@ msgstr "Godziny"
|
|||
#: model:ir.actions.act_window,name:project.action_view_task5_pending
|
||||
#: model:ir.ui.menu,name:project.menu_tasks_yours_pending
|
||||
msgid "My Pending Tasks"
|
||||
msgstr ""
|
||||
msgstr "Moje zadania oczekujące"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.act_project_project_2_project_task_opened
|
||||
|
@ -532,7 +535,7 @@ msgstr "Wyzwól fakturę"
|
|||
#. module: project
|
||||
#: model:process.transition,name:project.process_transition_draftopentask0
|
||||
msgid "Draft Open task"
|
||||
msgstr ""
|
||||
msgstr "Projekty otwartych zadań"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
|
@ -629,7 +632,7 @@ msgstr "Planowane"
|
|||
#. module: project
|
||||
#: help:project.project,total_hours:0
|
||||
msgid "Sum of total hours of all tasks related to this project."
|
||||
msgstr ""
|
||||
msgstr "Suma godzin wszystkich zadań związanych z tym projektem."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
|
@ -855,18 +858,18 @@ msgstr ""
|
|||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.act_res_users_2_project_task_work_month
|
||||
msgid "Month works"
|
||||
msgstr ""
|
||||
msgstr "Praca miesięczna"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.report.xml,name:project.report_project_project_gantt
|
||||
#: model:ir.actions.report.xml,name:project.report_project_task_gantt
|
||||
msgid "Gantt Representation"
|
||||
msgstr ""
|
||||
msgstr "Reprezentacja Gantt"
|
||||
|
||||
#. module: project
|
||||
#: field:project.project,warn_customer:0
|
||||
msgid "Warn Partner"
|
||||
msgstr ""
|
||||
msgstr "Ostrzeż partnera"
|
||||
|
||||
#. module: project
|
||||
#: field:project.project,state:0
|
||||
|
@ -876,12 +879,12 @@ msgstr "Stan"
|
|||
#. module: project
|
||||
#: field:project.task,name:0
|
||||
msgid "Task summary"
|
||||
msgstr ""
|
||||
msgstr "Podsumowanie zadania"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Date Start: %(date_start)s"
|
||||
msgstr ""
|
||||
msgstr "Data początkowa: %(date_start)s"
|
||||
|
||||
#. module: project
|
||||
#: help:project.project,category_id:0
|
||||
|
@ -965,7 +968,7 @@ msgstr "Bardzo niski"
|
|||
#. module: project
|
||||
#: wizard_view:project.task.close,mail_ask:0
|
||||
msgid "Send mail to customer"
|
||||
msgstr ""
|
||||
msgstr "Wyślij wiadomość do klienta"
|
||||
|
||||
#. module: project
|
||||
#: field:project.project,warn_manager:0
|
||||
|
@ -980,12 +983,12 @@ msgstr ""
|
|||
#. module: project
|
||||
#: wizard_button:project.task.close,mail_ask,close:0
|
||||
msgid "Quiet close"
|
||||
msgstr ""
|
||||
msgstr "Ciche zamknięcie"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task.delegate,init,prefix:0
|
||||
msgid "New title of your own task to validate the work done."
|
||||
msgstr ""
|
||||
msgstr "Nowy tytuł twojego zadania do zatwierdzenia wykkonanej pracy."
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,progress:0
|
||||
|
@ -1031,6 +1034,8 @@ msgid ""
|
|||
"If you have [?] in the name, it means there are no analytic account linked "
|
||||
"to project."
|
||||
msgstr ""
|
||||
"Jeśli masz [?] w nazwie, to oznacza, że nie przypisano do projektu konta "
|
||||
"analitycznego."
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.wizard,name:project.wizard_delegate_task
|
||||
|
@ -1048,11 +1053,13 @@ msgid ""
|
|||
"If you check this field, the project manager will receive a request each "
|
||||
"time a task is completed by his team."
|
||||
msgstr ""
|
||||
"Jeśli zaznaczysz to pole, to menedżer projektu otrzyma zgłoszenie za każdym "
|
||||
"razem, gdy zadanie zostanie wypełnione przez zespół."
|
||||
|
||||
#. module: project
|
||||
#: model:project.task.type,name:project.project_tt_feature
|
||||
msgid "New Feature"
|
||||
msgstr ""
|
||||
msgstr "Nowa funkcjonalność"
|
||||
|
||||
#. module: project
|
||||
#: model:process.node,note:project.process_node_opentask0
|
||||
|
@ -1097,6 +1104,8 @@ msgid ""
|
|||
"Footer added at the beginning of the email for the warning message sent to "
|
||||
"the customer when a task is closed."
|
||||
msgstr ""
|
||||
"Nagłówek dodawany na początek wiadomości informującej klienta o zamknięciu "
|
||||
"zadania."
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
|
@ -1131,12 +1140,12 @@ msgstr "Przypisz do"
|
|||
#. module: project
|
||||
#: field:project.task.work,name:0
|
||||
msgid "Work summary"
|
||||
msgstr ""
|
||||
msgstr "Podsumowanie pracy"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Date Stop: %(date_stop)s"
|
||||
msgstr ""
|
||||
msgstr "Data zakończenia: %(date_stop)s"
|
||||
|
||||
#. module: project
|
||||
#: field:project.project,date_end:0
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-01-09 14:07+0000\n"
|
||||
"Last-Translator: Carlo Vettore <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-05-13 14:08+0000\n"
|
||||
"Last-Translator: eLBati - albatos.com <lorenzo.battistini@albatos.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: 2010-04-17 03:59+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-14 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: purchase
|
||||
|
@ -691,7 +691,7 @@ msgstr "Annulla"
|
|||
#. module: purchase
|
||||
#: view:res.partner:0
|
||||
msgid "Purchases Properties"
|
||||
msgstr ""
|
||||
msgstr "Proprietà d'acquisto"
|
||||
|
||||
#. module: purchase
|
||||
#: field:purchase.order.line,order_id:0
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-01-09 13:15+0000\n"
|
||||
"Last-Translator: Carlo Vettore <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-05-13 07:44+0000\n"
|
||||
"Last-Translator: Carlo - didotech.com <Unknown>\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: 2010-04-17 04:13+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-14 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: report_sale
|
||||
|
@ -283,7 +283,7 @@ msgstr "Ammontare Vendite giornaliere dopo un anno"
|
|||
#. module: report_sale
|
||||
#: selection:report.sale.order.created,state:0
|
||||
msgid "Manual In Progress"
|
||||
msgstr "Manuale in Progressp"
|
||||
msgstr "Manuale in Progresso"
|
||||
|
||||
#. module: report_sale
|
||||
#: field:report.sale.order.category,name:0
|
||||
|
|
|
@ -8,26 +8,26 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-16 11:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2010-05-13 16:50+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
|
||||
"Language-Team: Polish <pl@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: 2010-04-17 04:21+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-14 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: report_task
|
||||
#: selection:report.closed.task,state:0
|
||||
msgid "In Progress"
|
||||
msgstr ""
|
||||
msgstr "W toku"
|
||||
|
||||
#. module: report_task
|
||||
#: model:ir.actions.act_window,name:report_task.action_project_task
|
||||
#: model:ir.ui.menu,name:report_task.menu_project_task_user_tree
|
||||
#: view:report.task.user.pipeline.open:0
|
||||
msgid "Tasks by User"
|
||||
msgstr ""
|
||||
msgstr "Zadania wg użytkownika"
|
||||
|
||||
#. module: report_task
|
||||
#: constraint:ir.model:0
|
||||
|
@ -40,17 +40,17 @@ msgstr ""
|
|||
#. module: report_task
|
||||
#: field:report.closed.task,remaining_hours:0
|
||||
msgid "Remaining Hours"
|
||||
msgstr ""
|
||||
msgstr "Pozostałe godziny"
|
||||
|
||||
#. module: report_task
|
||||
#: selection:report.task.user.pipeline.open,task_state:0
|
||||
msgid "No Task"
|
||||
msgstr ""
|
||||
msgstr "Brak zadań"
|
||||
|
||||
#. module: report_task
|
||||
#: model:ir.module.module,shortdesc:report_task.module_meta_information
|
||||
msgid "Report on tasks by user for projects"
|
||||
msgstr ""
|
||||
msgstr "Raport zadań wg użytkowników"
|
||||
|
||||
#. module: report_task
|
||||
#: view:report.closed.task:0
|
||||
|
@ -60,66 +60,66 @@ msgstr ""
|
|||
#. module: report_task
|
||||
#: selection:report.closed.task,priority:0
|
||||
msgid "Very Low"
|
||||
msgstr ""
|
||||
msgstr "Bardzo niski"
|
||||
|
||||
#. module: report_task
|
||||
#: selection:report.closed.task,state:0
|
||||
#: selection:report.task.user.pipeline.open,task_state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: report_task
|
||||
#: selection:report.closed.task,priority:0
|
||||
msgid "Low"
|
||||
msgstr ""
|
||||
msgstr "Mało"
|
||||
|
||||
#. module: report_task
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.closed.task,name:0
|
||||
msgid "Task summary"
|
||||
msgstr ""
|
||||
msgstr "Podsumowanie zadania"
|
||||
|
||||
#. module: report_task
|
||||
#: selection:report.closed.task,state:0
|
||||
#: selection:report.task.user.pipeline.open,task_state:0
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
msgstr "Oczekiwanie"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.closed.task,state:0
|
||||
#: field:report.task.user.pipeline.open,task_state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Stan"
|
||||
|
||||
#. module: report_task
|
||||
#: selection:report.closed.task,priority:0
|
||||
msgid "Medium"
|
||||
msgstr ""
|
||||
msgstr "Średni"
|
||||
|
||||
#. module: report_task
|
||||
#: model:ir.actions.act_window,name:report_task.action_report_timesheet_task_user
|
||||
#: model:ir.ui.menu,name:report_task.menu_timesheet_task_user
|
||||
msgid "Timesheet / Task Hours Per Month"
|
||||
msgstr ""
|
||||
msgstr "Karta czasu pracy / Czasy zadań na miesiąc"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.closed.task,progress:0
|
||||
msgid "Progress (%)"
|
||||
msgstr ""
|
||||
msgstr "Postęp (%)"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.closed.task,priority:0
|
||||
msgid "Importance"
|
||||
msgstr ""
|
||||
msgstr "Ważność"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.task.user.pipeline.open,company_id:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
msgstr "Firma"
|
||||
|
||||
#. module: report_task
|
||||
#: model:ir.ui.menu,name:report_task.next_id_57
|
||||
|
@ -136,29 +136,29 @@ msgstr ""
|
|||
#: field:report.task.user.pipeline.open,user_id:0
|
||||
#: field:report.timesheet.task.user,user_id:0
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
msgstr "Użytkownik"
|
||||
|
||||
#. module: report_task
|
||||
#: model:ir.actions.act_window,name:report_task.action_closed_task_board
|
||||
msgid "Task Closed Within Past 15 Days"
|
||||
msgstr ""
|
||||
msgstr "Zadania zamknięte w ostatnich 15stu dniach"
|
||||
|
||||
#. module: report_task
|
||||
#: selection:report.closed.task,priority:0
|
||||
msgid "Very urgent"
|
||||
msgstr ""
|
||||
msgstr "Bardzo pilne"
|
||||
|
||||
#. module: report_task
|
||||
#: selection:report.closed.task,state:0
|
||||
#: selection:report.task.user.pipeline.open,task_state:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
msgstr "Wykonano"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.task.user.pipeline.open,task_hrs:0
|
||||
#: field:report.timesheet.task.user,task_hrs:0
|
||||
msgid "Task Hours"
|
||||
msgstr ""
|
||||
msgstr "Godziny zadania"
|
||||
|
||||
#. module: report_task
|
||||
#: constraint:ir.ui.view:0
|
||||
|
@ -168,17 +168,17 @@ msgstr "XML niewłaściwy dla tej architektury wyświetlania!"
|
|||
#. module: report_task
|
||||
#: field:report.closed.task,delay_hours:0
|
||||
msgid "Delay Hours"
|
||||
msgstr ""
|
||||
msgstr "Opóźnienie"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.closed.task,project_id:0
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.task.user.pipeline.open,task_nbr:0
|
||||
msgid "Task Number"
|
||||
msgstr ""
|
||||
msgstr "Numer zadania"
|
||||
|
||||
#. module: report_task
|
||||
#: model:ir.model,name:report_task.model_report_timesheet_task_user
|
||||
|
@ -188,18 +188,18 @@ msgstr ""
|
|||
#. module: report_task
|
||||
#: model:ir.model,name:report_task.model_report_task_user_pipeline_open
|
||||
msgid "Tasks by user and project"
|
||||
msgstr ""
|
||||
msgstr "Zadania wg użytkownika i projektu"
|
||||
|
||||
#. module: report_task
|
||||
#: view:report.closed.task:0
|
||||
msgid "Planned"
|
||||
msgstr ""
|
||||
msgstr "Planowane"
|
||||
|
||||
#. module: report_task
|
||||
#: selection:report.closed.task,state:0
|
||||
#: selection:report.task.user.pipeline.open,task_state:0
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
msgstr "Anulowano"
|
||||
|
||||
#. module: report_task
|
||||
#: view:report.timesheet.task.user:0
|
||||
|
@ -209,59 +209,59 @@ msgstr ""
|
|||
#. module: report_task
|
||||
#: field:report.task.user.pipeline.open,task_progress:0
|
||||
msgid "Task Progress"
|
||||
msgstr ""
|
||||
msgstr "Postęp zadania"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.closed.task,date_close:0
|
||||
msgid "Date Closed"
|
||||
msgstr ""
|
||||
msgstr "Data zamknięcia"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.closed.task,user_id:0
|
||||
msgid "Assigned to"
|
||||
msgstr ""
|
||||
msgstr "Przypisano do"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.closed.task,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
msgstr "Numeracja"
|
||||
|
||||
#. module: report_task
|
||||
#: model:ir.model,name:report_task.model_report_closed_task
|
||||
msgid "Closed Task Report"
|
||||
msgstr ""
|
||||
msgstr "Raport zamkniętych zadań"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.timesheet.task.user,name:0
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
msgstr "Miesiąc"
|
||||
|
||||
#. module: report_task
|
||||
#: selection:report.closed.task,priority:0
|
||||
msgid "Urgent"
|
||||
msgstr ""
|
||||
msgstr "Pilne"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.closed.task,date_deadline:0
|
||||
msgid "Deadline"
|
||||
msgstr ""
|
||||
msgstr "Ostateczny czas ukończenia"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.timesheet.task.user,timesheet_hrs:0
|
||||
msgid "Timesheet Hours"
|
||||
msgstr ""
|
||||
msgstr "Godziny karty czasu pracy"
|
||||
|
||||
#. module: report_task
|
||||
#: view:report.closed.task:0
|
||||
msgid "Closed Tasks"
|
||||
msgstr ""
|
||||
msgstr "Zadania zamknięte"
|
||||
|
||||
#. module: report_task
|
||||
#: selection:report.task.user.pipeline.open,task_state:0
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
msgstr "Otwarte"
|
||||
|
||||
#. module: report_task
|
||||
#: field:report.closed.task,planned_hours:0
|
||||
msgid "Planned Hours"
|
||||
msgstr ""
|
||||
msgstr "Planowane godziny"
|
||||
|
|
|
@ -7,31 +7,31 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-11-09 19:50+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-05-13 16:51+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\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: 2010-04-17 04:12+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-14 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.action_timesheet_account_date_stat_my
|
||||
#: model:ir.ui.menu,name:report_timesheet.menu_report_timesheet_account_date_my
|
||||
msgid "My daily timesheets by account"
|
||||
msgstr ""
|
||||
msgstr "Moja dzienne karty czasu pracy wg konta"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: view:report_timesheet.user:0
|
||||
msgid "Timesheet by user"
|
||||
msgstr ""
|
||||
msgstr "Karty czasu pracy wg użytkownika"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.action_timesheet_account_stat_all
|
||||
#: model:ir.ui.menu,name:report_timesheet.menu_report_timesheet_account_all
|
||||
msgid "Timesheet by Account"
|
||||
msgstr ""
|
||||
msgstr "Karta czasu pracy wg konta"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: constraint:ir.model:0
|
||||
|
@ -44,19 +44,19 @@ msgstr ""
|
|||
#. module: report_timesheet
|
||||
#: view:report_timesheet.account:0
|
||||
msgid "Timesheet by account"
|
||||
msgstr ""
|
||||
msgstr "Karta czasu pracy wg konta"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.act_res_users_2_report_timesheet_invoice
|
||||
#: model:ir.model,name:report_timesheet.model_report_timesheet_invoice
|
||||
msgid "Costs to invoice"
|
||||
msgstr ""
|
||||
msgstr "Koszty do faktury"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.action_timesheet_user_stat_my
|
||||
#: model:ir.ui.menu,name:report_timesheet.menu_report_timesheet_user_my
|
||||
msgid "My Timesheet of the Month"
|
||||
msgstr ""
|
||||
msgstr "Moja karta czasu pracy w miesiącu"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.action_random_timesheet_lines_board
|
||||
|
@ -67,33 +67,33 @@ msgstr "Przypadkowe pozycje karty czasu pracy"
|
|||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.act_account_analytic_account_2_report_timehsheet_account
|
||||
msgid "Timesheets"
|
||||
msgstr ""
|
||||
msgstr "Karty czasu pracy"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.act_res_users_2_report_timehsheet_account
|
||||
msgid "Timesheets per account"
|
||||
msgstr ""
|
||||
msgstr "Karty czasu pracy na konto"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: view:report_timesheet.invoice:0
|
||||
msgid "Timesheets to invoice"
|
||||
msgstr ""
|
||||
msgstr "Karta czasu pracy to zafakturowania"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.act_res_users_2_report_timesheet_user
|
||||
msgid "Timesheets per day"
|
||||
msgstr ""
|
||||
msgstr "Karty czasu pracy na dni"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.action_timesheet_account_date_stat_all
|
||||
#: model:ir.ui.menu,name:report_timesheet.menu_report_timesheet_account_date_all
|
||||
msgid "Daily Timesheet by Account"
|
||||
msgstr ""
|
||||
msgstr "Dzienna karta czasu pracy wg konta"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: field:random.timesheet.lines,product_id:0
|
||||
|
@ -104,18 +104,18 @@ msgstr "Produkt"
|
|||
#: field:random.timesheet.lines,name:0
|
||||
#: field:report.random.timesheet,name:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
msgstr "Opis"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.model,name:report_timesheet.model_report_timesheet_account
|
||||
#: view:report_timesheet.account:0
|
||||
msgid "Timesheet per account"
|
||||
msgstr ""
|
||||
msgstr "Karta czasu pracy na konto"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.module.module,shortdesc:report_timesheet.module_meta_information
|
||||
msgid "Timesheet - Reporting"
|
||||
msgstr ""
|
||||
msgstr "Karta czasu pracy - Raportowanie"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: field:random.timesheet.lines,date:0
|
||||
|
@ -123,12 +123,12 @@ msgstr ""
|
|||
#: field:report_timesheet.account.date,name:0
|
||||
#: field:report_timesheet.user,name:0
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
msgstr "Data"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: view:report_timesheet.invoice:0
|
||||
msgid "Timesheet by invoice"
|
||||
msgstr ""
|
||||
msgstr "Karta czasu pracy wg faktury"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: field:random.timesheet.lines,quantity:0
|
||||
|
@ -138,23 +138,23 @@ msgstr ""
|
|||
#: field:report_timesheet.invoice,quantity:0
|
||||
#: field:report_timesheet.user,quantity:0
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
msgstr "Ilość"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.ui.menu,name:report_timesheet.next_id_69
|
||||
msgid "This Month"
|
||||
msgstr ""
|
||||
msgstr "W tym miesiącu"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.action_timesheet_account_stat_my
|
||||
#: model:ir.ui.menu,name:report_timesheet.menu_report_timesheet_account_my
|
||||
msgid "My timesheets by account"
|
||||
msgstr ""
|
||||
msgstr "Moje karty czasu pracy wg konta"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.model,name:report_timesheet.model_report_random_timesheet
|
||||
msgid "Random Timesheet Report"
|
||||
msgstr ""
|
||||
msgstr "Raport przypadkowych kart czasu pracy"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: field:random.timesheet.lines,user_id:0
|
||||
|
@ -164,7 +164,7 @@ msgstr ""
|
|||
#: field:report_timesheet.invoice,user_id:0
|
||||
#: field:report_timesheet.user,user_id:0
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
msgstr "Użytkownik"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: constraint:ir.ui.view:0
|
||||
|
@ -174,12 +174,12 @@ msgstr "XML niewłaściwy dla tej architektury wyświetlania!"
|
|||
#. module: report_timesheet
|
||||
#: view:report.random.timesheet:0
|
||||
msgid "Random Timesheets"
|
||||
msgstr ""
|
||||
msgstr "Przypadkowe karty czasu pracy"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: view:report_timesheet.account.date:0
|
||||
msgid "Daily timesheet by account"
|
||||
msgstr ""
|
||||
msgstr "Dzienna karta czasu pracy wg konta"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: view:random.timesheet.lines:0
|
||||
|
@ -189,7 +189,7 @@ msgstr "Pozycje przypadkowych kart czasu pracy"
|
|||
#. module: report_timesheet
|
||||
#: field:report_timesheet.invoice,account_id:0
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: field:random.timesheet.lines,amount:0
|
||||
|
@ -199,24 +199,24 @@ msgstr "Kwota"
|
|||
#. module: report_timesheet
|
||||
#: field:report_timesheet.invoice,amount_invoice:0
|
||||
msgid "To invoice"
|
||||
msgstr ""
|
||||
msgstr "Do zafakturowania"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.action_timesheet_user_stat_all
|
||||
#: model:ir.ui.menu,name:report_timesheet.menu_report_timesheet_user_all
|
||||
msgid "Timesheet by User"
|
||||
msgstr ""
|
||||
msgstr "Karta czasu pracy wg użytkownika"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.action_timesheet_invoice_stat_all
|
||||
#: model:ir.ui.menu,name:report_timesheet.menu_report_timesheet_invoice_all
|
||||
msgid "Timesheet by Invoice"
|
||||
msgstr ""
|
||||
msgstr "Karta czasu pracy wg faktury"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.action_random_timesheet_board
|
||||
msgid "Random Timesheet"
|
||||
msgstr ""
|
||||
msgstr "Przypadkowa karta czasu pracy"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: field:random.timesheet.lines,to_invoice:0
|
||||
|
@ -231,19 +231,19 @@ msgstr "Konto ogólne"
|
|||
#. module: report_timesheet
|
||||
#: model:ir.model,name:report_timesheet.model_report_timesheet_user
|
||||
msgid "Timesheet per day"
|
||||
msgstr ""
|
||||
msgstr "Karta czasu pracy na dzień"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.actions.act_window,name:report_timesheet.action_timesheet_invoice_stat_my
|
||||
#: model:ir.ui.menu,name:report_timesheet.menu_report_timesheet_invoice_my
|
||||
msgid "My timesheets to invoice"
|
||||
msgstr ""
|
||||
msgstr "Moje karty czasu pracy do zafakturowania"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.model,name:report_timesheet.model_report_timesheet_account_date
|
||||
#: view:report_timesheet.account.date:0
|
||||
msgid "Daily timesheet per account"
|
||||
msgstr ""
|
||||
msgstr "Dzienna karta czasu pracy na konto"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: model:ir.module.module,description:report_timesheet.module_meta_information
|
||||
|
@ -251,11 +251,14 @@ msgid ""
|
|||
"Module to add timesheet views like\n"
|
||||
" All Month, Timesheet By User, Timesheet Of Month, Timesheet By Account"
|
||||
msgstr ""
|
||||
"Moduł do dodawania widoków karty czasu pracy jak\n"
|
||||
" Wszystkie miesiące, Karta czasu pracy wg użytkownika, Karta czasu pracy "
|
||||
"miesiąca, Karta czasu pracy wg konta"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: field:report_timesheet.account,name:0
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
msgstr "Miesiąc"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: field:random.timesheet.lines,analytic_account_id:0
|
||||
|
@ -263,17 +266,17 @@ msgstr ""
|
|||
#: field:report_timesheet.account,account_id:0
|
||||
#: field:report_timesheet.account.date,account_id:0
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
msgstr "Konto analityczne"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: field:report_timesheet.invoice,manager_id:0
|
||||
msgid "Manager"
|
||||
msgstr ""
|
||||
msgstr "Menedżer"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: field:report_timesheet.user,cost:0
|
||||
msgid "Cost"
|
||||
msgstr ""
|
||||
msgstr "Koszt"
|
||||
|
||||
#. module: report_timesheet
|
||||
#: field:random.timesheet.lines,uom_id:0
|
||||
|
@ -284,4 +287,4 @@ msgstr "JM"
|
|||
#: model:ir.actions.act_window,name:report_timesheet.action_timesheet_user_stat
|
||||
#: model:ir.ui.menu,name:report_timesheet.menu_report_timesheet_user
|
||||
msgid "Timesheet by user (this month)"
|
||||
msgstr ""
|
||||
msgstr "Karta czasu pracy wg użytkownika (ten miesiąc)"
|
||||
|
|
|
@ -49,7 +49,6 @@ def _incoterm_get(self, cr, uid, context=None):
|
|||
cr.execute('select code, code||\', \'||name from stock_incoterms where active')
|
||||
return cr.fetchall()
|
||||
|
||||
|
||||
class sale_order(osv.osv):
|
||||
_name = "sale.order"
|
||||
_description = "Sale Order"
|
||||
|
@ -1043,7 +1042,7 @@ class sale_order_line(osv.osv):
|
|||
if product_obj.uos_id.category_id.id != uos2.category_id.id:
|
||||
uos = False
|
||||
else:
|
||||
uos = False
|
||||
uos = False
|
||||
if product_obj.description_sale:
|
||||
result['notes'] = product_obj.description_sale
|
||||
fpos = fiscal_position and self.pool.get('account.fiscal.position').browse(cr, uid, fiscal_position) or False
|
||||
|
|
|
@ -193,6 +193,7 @@
|
|||
<field name="amount_tax"/>
|
||||
<field name="amount_total" sum="Total amount"/>
|
||||
<button name="button_dummy" states="draft" string="Compute" type="object" icon="gtk-execute"/>
|
||||
<button name="%(action_view_sale_advance_payment_inv)d" string="Advance Invoice" type="action" icon="gtk-execute"/>
|
||||
</group>
|
||||
<group col="13" colspan="4">
|
||||
<field name="state"/>
|
||||
|
@ -384,6 +385,11 @@
|
|||
<field colspan="4" name="tax_id" domain="[('parent_id','=',False),('type_tax_use','<>','purchase')]"/>
|
||||
<separator colspan="4" string="States"/>
|
||||
<field name="state"/>
|
||||
<button colspan="1"
|
||||
name="%(action_view_sale_order_line_make_invoice)d"
|
||||
string="Make Invoice"
|
||||
type="action"
|
||||
icon="gtk-print" />
|
||||
<group col="2" colspan="2">
|
||||
<button name="button_done"
|
||||
states="confirmed,exception"
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<act_window name="Make Invoices"
|
||||
res_model="sale.order.line.make.invoice"
|
||||
src_model="sale.order.line"
|
||||
view_mode="form"
|
||||
target="new"
|
||||
key2="client_action_multi"
|
||||
id="action_view_sale_order_line_make_invoice"/>
|
||||
<record id="action_view_sale_order_line_make_invoice" model="ir.actions.act_window">
|
||||
<field name="name">Make Invoices</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">sale.order.line.make.invoice</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="view_sale_advance_payment_inv" model="ir.ui.view">
|
||||
|
@ -20,15 +19,14 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<act_window name="Advance Invoice"
|
||||
res_model="sale.advance.payment.inv"
|
||||
src_model="sale.order"
|
||||
view_mode="form"
|
||||
target="new"
|
||||
key2="client_action_multi"
|
||||
id="action_view_sale_advance_payment_inv"/>
|
||||
|
||||
<record id="action_view_sale_advance_payment_inv" model="ir.actions.act_window">
|
||||
<field name="name">Advance Invoice</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">sale.advance.payment.inv</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<record id="view_sale_open_invoice" model="ir.ui.view">
|
||||
<field name="name">Open Invoice</field>
|
||||
|
|
|
@ -8,19 +8,19 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-11-18 15:13+0000\n"
|
||||
"Last-Translator: Radoslav Sloboda <rado.sloboda@gmail.com>\n"
|
||||
"PO-Revision-Date: 2010-05-13 15:14+0000\n"
|
||||
"Last-Translator: misko <Unknown>\n"
|
||||
"Language-Team: Slovak <sk@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-17 04:17+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-14 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: sale_analytic_plans
|
||||
#: field:sale.order.line,analytics_id:0
|
||||
msgid "Analytic Distribution"
|
||||
msgstr ""
|
||||
msgstr "Analytická distribúcia"
|
||||
|
||||
#. module: sale_analytic_plans
|
||||
#: constraint:ir.ui.view:0
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="priority" position="after">
|
||||
<button string="Convert to Quote" icon="terp-sale" name="%(sale_crm_wizard)d" type="action"/>
|
||||
<button string="Create a Sale Order" icon="terp-sale" name="%(sale_crm_wizard)d" type="action"/>
|
||||
<label colspan="2" string=""/>
|
||||
</field>
|
||||
</field>
|
||||
|
|
|
@ -28,7 +28,7 @@ import pooler
|
|||
from tools.translate import _
|
||||
|
||||
sale_form = """<?xml version="1.0"?>
|
||||
<form string="Convert to Quote">
|
||||
<form string="Create a Sale Order">
|
||||
<field name="partner_id" required="True"/>
|
||||
<field name="shop_id" required="True"/>
|
||||
<field name="analytic_account"/>
|
||||
|
@ -130,10 +130,10 @@ class make_sale(wizard.interface):
|
|||
|
||||
if data['form']['close']:
|
||||
case_obj.case_close(cr, uid, data['ids'])
|
||||
|
||||
|
||||
if not new_ids:
|
||||
return {}
|
||||
|
||||
|
||||
if len(new_ids)<=1:
|
||||
value = {
|
||||
'domain': str([('id', 'in', new_ids)]),
|
||||
|
@ -154,14 +154,14 @@ class make_sale(wizard.interface):
|
|||
'type': 'ir.actions.act_window',
|
||||
'res_id':new_ids
|
||||
}
|
||||
|
||||
|
||||
return value
|
||||
|
||||
states = {
|
||||
'init': {
|
||||
'actions': [_selectPartner],
|
||||
'result': {'type': 'form', 'arch': sale_form, 'fields': sale_fields,
|
||||
'state' : [('end', 'Cancel', 'gtk-cancel'),('order', 'Create Quote', 'gtk-go-forward')]}
|
||||
'state' : [('end', 'Cancel', 'gtk-cancel'),('order', 'Create', 'gtk-go-forward')]}
|
||||
},
|
||||
'order': {
|
||||
'actions': [],
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
<field name="model">sale.journal.picking.report</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Picking journal">
|
||||
<tree string="Picking Journal">
|
||||
<field name="name" invisible="1"/>
|
||||
<field name="month" invisible="1"/>
|
||||
<field name="invoice_state" invisible="1"/>
|
||||
|
@ -172,7 +172,7 @@
|
|||
<!-- Action for picking journal view -->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_sale_journal_picking_report_open_menu_all">
|
||||
<field name="name">Picking journal</field>
|
||||
<field name="name">Picking Journal</field>
|
||||
<field name="res_model">sale.journal.picking.report</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
|
@ -184,4 +184,4 @@
|
|||
<menuitem name="Picking journal" id="menu_invoice_type_picking_stats_open_all" parent="stock.next_id_61" action="action_sale_journal_picking_report_open_menu_all"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<field name="model">sale_journal.sale.journal</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Sale Journal">
|
||||
<form string="Sales Journals">
|
||||
<notebook>
|
||||
<page string="Journal">
|
||||
<separator string="Journal Information" colspan="4"/>
|
||||
|
@ -96,7 +96,7 @@
|
|||
<field name="model">sale_journal.sale.journal</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Sale Journal">
|
||||
<tree string="Sales Journals">
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
|
@ -146,9 +146,10 @@
|
|||
<field name="model">sale.order</field>
|
||||
<field name="inherit_id" ref="sale.view_order_form" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="invoiced" position="after">
|
||||
<field name="journal_id" select="1"/>
|
||||
<field name="invoice_type_id" select="1"/>
|
||||
<field name="user_id" position="after">
|
||||
<separator string="Journal" colspan="4"/>
|
||||
<field name="journal_id" select="1" widget="selection"/>
|
||||
<field name="invoice_type_id" select="1" widget="selection"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -192,7 +193,7 @@
|
|||
<field name="model">stock.picking</field>
|
||||
<field name="inherit_id" ref="stock.vpicktree" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="invoice_state" position="after">
|
||||
<field name="origin" position="after">
|
||||
<field name="journal_id" select="1"/>
|
||||
<field name="invoice_type_id" select="1"/>
|
||||
<field name="sale_journal_id" select="1"/>
|
||||
|
@ -252,7 +253,7 @@
|
|||
<field name="model">stock.picking</field>
|
||||
<field name="inherit_id" ref="stock.view_picking_in_tree" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="invoice_state" position="after">
|
||||
<field name="origin" position="after">
|
||||
<field name="journal_id" select="1"/>
|
||||
<field name="invoice_type_id" select="1"/>
|
||||
<field name="sale_journal_id" select="1"/>
|
||||
|
@ -280,7 +281,7 @@
|
|||
<field name="model">stock.picking</field>
|
||||
<field name="inherit_id" ref="stock.view_picking_out_tree" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="invoice_state" position="after">
|
||||
<field name="origin" position="after">
|
||||
<field name="journal_id" select="1"/>
|
||||
<field name="invoice_type_id" select="1"/>
|
||||
<field name="sale_journal_id" select="1"/>
|
||||
|
@ -417,7 +418,7 @@
|
|||
<field name="model">sale_journal.picking.journal</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Picking Journal">
|
||||
<search string="Picking Journals">
|
||||
<group col="8" colspan="4">
|
||||
<filter icon="terp-hr" string="My Picking Journals" domain="[('user_id','=',uid)]" help="My Picking Journals"/>
|
||||
<filter icon="terp-hr" string="Open" domain="[('state','=','open')]" help="Open Picking Journals"/>
|
||||
|
@ -434,7 +435,7 @@
|
|||
<!-- Action of Picking journals -->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_definition_picking_journal">
|
||||
<field name="name">Picking journals</field>
|
||||
<field name="name">Picking Journals</field>
|
||||
<field name="res_model">sale_journal.picking.journal</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
|
|
|
@ -0,0 +1,840 @@
|
|||
# Chinese (Simplified) translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-11-26 06:00+0000\n"
|
||||
"PO-Revision-Date: 2010-05-15 06:34+0000\n"
|
||||
"Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <zh_CN@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: 2010-05-17 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.queue,bcc:0
|
||||
msgid "BCC to"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "__number__ for Invoice / Sales Number"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,ssl:0
|
||||
msgid "Use SSL?"
|
||||
msgstr "使用 SSL?"
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "Start Server"
|
||||
msgstr "启动服务器"
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.actions.wizard,name:smtpclient.wizard_email_verifycode
|
||||
msgid "Verify Server"
|
||||
msgstr "校验服务器"
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,priority:0
|
||||
msgid "Server Priority"
|
||||
msgstr "服务器优先级"
|
||||
|
||||
#. module: smtpclient
|
||||
#: help:email.sendcode,init,emailto:0
|
||||
msgid "Enter the address Email where you want to get the Verification Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,auth_type:0
|
||||
msgid "Other Mail Servers"
|
||||
msgstr "其他的邮件服务器"
|
||||
|
||||
#. module: smtpclient
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "在动作定义中使用了无效的模快名。"
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.queue,to:0
|
||||
msgid "Mail to"
|
||||
msgstr "致"
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "Message Error!"
|
||||
msgstr "邮件错误!"
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,name:0
|
||||
msgid "Server Name"
|
||||
msgstr "服务器名称"
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,header_ids:0
|
||||
msgid "Default Headers"
|
||||
msgstr "缺省邮件头"
|
||||
|
||||
#. module: smtpclient
|
||||
#: wizard_button:email.testemail,init,send:0
|
||||
msgid "Send Email"
|
||||
msgstr "发送邮件"
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:res.company.address,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "公司"
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "Set to Draft"
|
||||
msgstr "设为草稿"
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/wizard/verifycode.py:0
|
||||
#, python-format
|
||||
msgid "Server already verified!"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/wizard/sendcode.py:0
|
||||
#: code:addons/smtpclient/wizard/testemail.py:0
|
||||
#, python-format
|
||||
msgid "Verification Failed. Please check the Server Configuration!"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "SMTP Server Error!"
|
||||
msgstr "SMTP 服务器错误!"
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,auth_type:0
|
||||
#: field:email.smtpclient,type:0
|
||||
msgid "Server Type"
|
||||
msgstr "服务器类型"
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,from_email:0
|
||||
msgid "Email From"
|
||||
msgstr "发件人"
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "User Information"
|
||||
msgstr "用户信息"
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "OpenERP SMTP server Email Registration Code!"
|
||||
msgstr "OpenERP SMTP 服务器电子邮件注册码"
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.model,name:smtpclient.model_report_smtp_server
|
||||
#: view:report.smtp.server:0
|
||||
msgid "Server Statistics"
|
||||
msgstr "服务器统计"
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "Messages"
|
||||
msgstr "邮件列表"
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,type:0
|
||||
#: selection:res.company.address,name:0
|
||||
msgid "Sale"
|
||||
msgstr "销售"
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.headers,value:0
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "Access Permission"
|
||||
msgstr "访问权限"
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.model,name:smtpclient.model_email_headers
|
||||
msgid "Email Headers"
|
||||
msgstr "邮件头"
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,delete_queue:0
|
||||
msgid "Queue Option"
|
||||
msgstr "队列选项"
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "Please configure Email Server Messages [Verification / Test]"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/wizard/verifycode.py:0
|
||||
#, python-format
|
||||
msgid "Verification failed. Invalid Verification Code!"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.actions.act_window,name:smtpclient.act_mail_server_2_mail_history
|
||||
msgid "Email History"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient.history:0
|
||||
msgid "Server History"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,auth_type:0
|
||||
msgid "Yahoo!!! Server"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
#: field:email.smtpclient,test_email:0
|
||||
msgid "Test Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:report.smtp.server,server_id:0
|
||||
msgid "Server ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: help:email.smtpclient,delete_queue_period:0
|
||||
msgid "delete emails/contents from email queue after specified no of days"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:report.smtp.server,no:0
|
||||
msgid "Total No."
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: help:email.smtpclient,process_id:0
|
||||
msgid "Mail Transport Agent Process"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "__user__ for User Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,date_create:0
|
||||
msgid "Date Create"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,state:0
|
||||
msgid "Server Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.queue,error:0
|
||||
msgid "Last Error"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: wizard_view:email.sendcode,init:0
|
||||
#: wizard_button:email.sendcode,init,send:0
|
||||
msgid "Send Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.queue,name:0
|
||||
msgid "Subject"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "Read Error!"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "Unable to read Server Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,server_statistics:0
|
||||
msgid "Statistics"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: wizard_view:email.testemail,init:0
|
||||
msgid "Test Email"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.history,server_id:0
|
||||
msgid "Smtp Server"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:res.company,addresses:0
|
||||
msgid "Email Addresses"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.actions.act_window,name:smtpclient.action_email_smtpclient_history_tree
|
||||
#: model:ir.ui.menu,name:smtpclient.menu_smtpclient_administration_server_history
|
||||
msgid "Email Server History"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient.queue,state:0
|
||||
msgid "Waiting"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: help:email.testemail,init,emailto:0
|
||||
msgid "Enter the address Email where you want to get the Test Email"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,state:0
|
||||
msgid "Not Verified"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.history,email:0
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient.queue,state:0
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.history,user_id:0
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:res.company.address,name:0
|
||||
msgid "Address Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "Permission"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient.queue:0
|
||||
msgid "Message with All Headers"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "Message Headers"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:ir.actions.server,report_id:0
|
||||
msgid "Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "Other Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "Configuration"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: constraint:ir.cron:0
|
||||
msgid "Invalid arguments"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
#: field:email.smtpclient,disclaimers:0
|
||||
msgid "Disclaimers"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:report.smtp.server,name:0
|
||||
msgid "Server"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:res.company:0
|
||||
msgid "SMTP Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: help:email.smtpclient,body:0
|
||||
msgid ""
|
||||
"The message text that will be send along with the email which is send "
|
||||
"through this server"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.actions.wizard,name:smtpclient.wizard_email_testemail
|
||||
msgid "Send Test Email"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.model,name:smtpclient.model_email_smtpclient_queue
|
||||
msgid "Email Queue"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "Server Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: help:email.verifycode,init,code:0
|
||||
msgid "Enter the verification code thay you get in your verification Email"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.model,name:smtpclient.model_email_smtpclient_history
|
||||
msgid "Email Client History"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,delete_queue:0
|
||||
msgid "Never Delete Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "OpenERP Test Email!"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
#: field:email.smtpclient,body:0
|
||||
#: view:email.smtpclient.queue:0
|
||||
#: field:email.smtpclient.queue,serialized_message:0
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,process_id:0
|
||||
msgid "MTA Process"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.headers,server_id:0
|
||||
#: view:email.smtpclient:0
|
||||
#: field:email.smtpclient,server:0
|
||||
#: field:email.smtpclient.queue,server_id:0
|
||||
#: model:ir.ui.menu,name:smtpclient.menu_smtpclient_administration_smtp_server
|
||||
msgid "SMTP Server"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,auth_type:0
|
||||
msgid "Google Server"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,state:0
|
||||
msgid "Verified"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: help:email.smtpclient,priority:0
|
||||
msgid ""
|
||||
"Priority between 0 to 10, will be used to define the MTA process priotiry"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,port:0
|
||||
msgid "SMTP Port"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "Email TO Address not Defined !"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "SMTP Server Error !"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,auth:0
|
||||
msgid "Use Auth"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,pstate:0
|
||||
msgid "Server Statue"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,user:0
|
||||
msgid "User Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,verify_email:0
|
||||
msgid "Verify Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.model,name:smtpclient.model_email_smtpclient
|
||||
#: model:ir.module.module,shortdesc:smtpclient.module_meta_information
|
||||
msgid "Email Client"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "Disclaimers Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "__code__ for Verification Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient.queue,state:0
|
||||
msgid "Queued"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.history,date_create:0
|
||||
#: field:email.smtpclient.queue,date_create:0
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.queue,cc:0
|
||||
msgid "CC to"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:email.smtpclient,verify_email:smtpclient.email_smtpclient_sendmailserver0
|
||||
msgid ""
|
||||
"Verification Message. This is the code\n"
|
||||
"__code__ \n"
|
||||
"you must copy in the OpenERP Email Server (Verify Server wizard).\n"
|
||||
"Created by user __user__"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient.queue:0
|
||||
#: model:ir.actions.act_window,name:smtpclient.action_email_smtpclient_queue_tree
|
||||
#: model:ir.ui.menu,name:smtpclient.menu_smtpclient_administration_smtp_server_queue
|
||||
msgid "Message Queue"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,type:0
|
||||
#: selection:res.company.address,name:0
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,delete_queue:0
|
||||
msgid "Delete Content After"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "You have no permission to access SMTP Server : %s "
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,active:0
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.actions.act_window,name:smtpclient.act_mail_server_2_mail_queue
|
||||
msgid "Message Queus"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/wizard/sendcode.py:0
|
||||
#: code:addons/smtpclient/wizard/testemail.py:0
|
||||
#: code:addons/smtpclient/wizard/verifycode.py:0
|
||||
#: view:email.smtpclient.queue:0
|
||||
#: selection:email.smtpclient.queue,state:0
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "Server Error!"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,delete_queue:0
|
||||
msgid "Clear All After"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Please verify Email Server, without verification you can not send Email(s)."
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,history_line:0
|
||||
#: field:report.smtp.server,history:0
|
||||
msgid "History"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.queue,priority:0
|
||||
msgid "Message Priority"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:ir.actions.server,file_ids:0
|
||||
msgid "Attachments"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "__name__ for Customer Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient.queue:0
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.headers,key:0
|
||||
msgid "Header"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Verification Message. This is the code\n"
|
||||
"\n"
|
||||
"__code__\n"
|
||||
"\n"
|
||||
"you must copy in the OpenERP Email Server (Verify Server wizard).\n"
|
||||
"\n"
|
||||
"Created by user __user__"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:res.company.address,name:0
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: wizard_view:email.verifycode,init:0
|
||||
#: wizard_button:email.verifycode,init,check:0
|
||||
msgid "Verify Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: wizard_button:email.sendcode,init,end:0
|
||||
#: wizard_button:email.testemail,init,end:0
|
||||
#: wizard_button:email.verifycode,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,delete_queue_period:0
|
||||
msgid "Delete after"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "Server is not Verified, Please Verify the Server !"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.history,resource_id:0
|
||||
msgid "Resource ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "SMTP Data Error !"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,delete_queue:0
|
||||
msgid "Delete when Email Sent"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,type:0
|
||||
msgid "Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.module.module,description:smtpclient.module_meta_information
|
||||
msgid ""
|
||||
"Email Client module that provides:\n"
|
||||
" Sending Email\n"
|
||||
" Use Multiple Server\n"
|
||||
" Multi Threading\n"
|
||||
" Multi Attachment\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,type:0
|
||||
msgid "Stock"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.history,name:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,code:0
|
||||
#: wizard_field:email.verifycode,init,code:0
|
||||
msgid "Verification Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,pstate:0
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.queue,body:0
|
||||
msgid "Email Text"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:res.company.address,name:0
|
||||
msgid "Delivery"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,pstate:0
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient.queue:0
|
||||
msgid "Last Error occured"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: selection:email.smtpclient,state:0
|
||||
msgid "Waiting for Verification"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,password:0
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient,users_id:0
|
||||
msgid "Users Allowed"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/wizard/sendcode.py:0
|
||||
#, python-format
|
||||
msgid "Verification Code Already Generated !"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: wizard_field:email.sendcode,init,emailto:0
|
||||
#: field:email.smtpclient,email:0
|
||||
#: wizard_field:email.testemail,init,emailto:0
|
||||
#: view:res.company:0
|
||||
#: field:res.company.address,email:0
|
||||
msgid "Email Address"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "Verification Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: view:email.smtpclient:0
|
||||
msgid "Stop Server"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.ui.menu,name:smtpclient.menu_smtpclient_administration_server
|
||||
msgid "Email Servers"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.actions.wizard,name:smtpclient.wizard_email_sendcode
|
||||
msgid "Send Verification Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.history,model:0
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.actions.act_window,name:smtpclient.action_email_smtpclient_tree
|
||||
#: field:ir.actions.server,email_server:0
|
||||
msgid "Email Server"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: code:addons/smtpclient/smtpclient.py:0
|
||||
#, python-format
|
||||
msgid "Permission Error!"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: model:ir.model,name:smtpclient.model_res_company_address
|
||||
msgid "res.company.address"
|
||||
msgstr ""
|
||||
|
||||
#. module: smtpclient
|
||||
#: field:email.smtpclient.queue,state:0
|
||||
msgid "Message Status"
|
||||
msgstr ""
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-11-26 06:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-07 17:04+0000\n"
|
||||
"PO-Revision-Date: 2010-05-13 09:26+0000\n"
|
||||
"Last-Translator: lyyser <logard.1961@gmail.com>\n"
|
||||
"Language-Team: Estonian <et@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: 2010-05-08 04:05+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-14 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: survey
|
||||
|
@ -118,7 +118,7 @@ msgstr "Märkused"
|
|||
#. module: survey
|
||||
#: field:survey.question,tot_resp:0
|
||||
msgid "Total Response"
|
||||
msgstr ""
|
||||
msgstr "Kokku vastuseid"
|
||||
|
||||
#. module: survey
|
||||
#: view:survey.question.wiz:0
|
||||
|
|
|
@ -42,8 +42,8 @@
|
|||
'data/wiki_main.xml',
|
||||
'security/ir.model.access.csv'
|
||||
],
|
||||
'demo_xml': ['test/wiki_test00.yml'],
|
||||
# 'test': ['test/wiki_test00.yml'],
|
||||
'demo_xml': [],
|
||||
'test': ['test/wiki_test00.yml'],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '0086363630317',
|
||||
|
|
|
@ -33,8 +33,9 @@
|
|||
ids = self.search(cr, uid, [])
|
||||
self.wiki_do_index(cr, uid, ids , {'active_ids': [ref('wiki_wiki_openerpwikiediting0')]})
|
||||
-
|
||||
# Remaining Act window
|
||||
I check the page history for the current page by clicking on "Page History".After that find difference between history.
|
||||
-
|
||||
!act_window {name: Page History,view_type: form,id: act_wiki_wiki_history,domain: "[('wiki_id', '=', active_id)]",res_model: wiki.wiki.history,src_model: wiki.wiki,view_mode: tree,key2: client_action_multi,target: new}
|
||||
-
|
||||
I create a new wiki group on the Given Home Page
|
||||
-
|
||||
|
@ -48,7 +49,10 @@
|
|||
ids = self.search(cr, uid, [])
|
||||
self.open_wiki_page(cr, uid, ids, {'active_ids': [ref('wiki_groups_wikigroupediting0')]})
|
||||
-
|
||||
# Remaining beacuse of Act window (I search the page by clicking on the "search page".)
|
||||
I search the page by clicking on the "search page".
|
||||
-
|
||||
!act_window {name: Search Page,view_type: form,id: act_wiki_group_open,domain: "[('group_id', '=', active_id)]",res_model: wiki.wiki,src_model: wiki.groups,view_mode: tree,key2: client_action_multi,target: new}
|
||||
-
|
||||
In order to create a menu I will create wizard data
|
||||
-
|
||||
!record {model: wiki.groups, id: wiki.wiki_groups_wikiformatting0}:
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<field name="model">wiki.groups</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Wikis">
|
||||
<tree string="Wiki Groups">
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -34,7 +34,7 @@
|
|||
<field name="model">wiki.groups</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Wikis">
|
||||
<form string="Wiki Groups">
|
||||
<group colspan="4" col="4">
|
||||
<field name="name" select="1"/>
|
||||
<field name="create_date" readonly="2"/>
|
||||
|
@ -62,7 +62,7 @@
|
|||
<!-- Wiki Groups Action -->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_wiki_groups">
|
||||
<field name="name">Wikis</field>
|
||||
<field name="name">Wiki Groups</field>
|
||||
<field name="res_model">wiki.groups</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
|
@ -74,7 +74,7 @@
|
|||
action="action_wiki_groups"/>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_wiki_groups_browse">
|
||||
<field name="name">Wikis</field>
|
||||
<field name="name">Wiki Groups</field>
|
||||
<field name="res_model">wiki.groups</field>
|
||||
<field name="view_type">tree</field>
|
||||
</record>
|
||||
|
@ -126,13 +126,15 @@
|
|||
<form string="Wiki">
|
||||
<group col="8" colspan="4">
|
||||
<field name="name" select="1" colspan="6"/>
|
||||
<field name="group_id" select="1" on_change="onchange_group_id(group_id, text_area)"/>
|
||||
<field name="section" invisible="not context.get('section',False)"/>
|
||||
<field name="parent_id"/>
|
||||
<button name="open_wiki_page" type="object"
|
||||
string="Basic Wiki Editing" icon="gtk-ok" />
|
||||
</group>
|
||||
|
||||
<group col="8" colspan="4">
|
||||
<field name="group_id" select="1" on_change="onchange_group_id(group_id, text_area)"/>
|
||||
<field name="section" invisible="not context.get('section',False)"/>
|
||||
<field name="parent_id"/>
|
||||
</group>
|
||||
<separator colspan="4" string="Informations"/>
|
||||
<field name="text_area" nolabel="1" colspan="4" select="1" widget="text_wiki"/>
|
||||
<separator colspan="4" string="Modifications"/>
|
||||
<group col="6" colspan="4">
|
||||
|
@ -169,7 +171,7 @@
|
|||
<!-- search page for wiki -->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_wiki">
|
||||
<field name="name">Search Pages</field>
|
||||
<field name="name">Wiki Pages</field>
|
||||
<field name="res_model">wiki.wiki</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
|
|
|
@ -41,6 +41,7 @@ class wiki_create_menu(osv.osv_memory):
|
|||
@param ids: List of create menu’s IDs
|
||||
|
||||
"""
|
||||
data = context and context.get('active_id', False) or False
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
action_id = mod_obj._get_id(cr, uid, 'wiki', 'action_view_wiki_wiki_page_open')
|
||||
|
||||
|
@ -49,10 +50,10 @@ class wiki_create_menu(osv.osv_memory):
|
|||
'name': menu.menu_name,
|
||||
'parent_id':menu.menu_parent_id.id,
|
||||
'icon': 'STOCK_DIALOG_QUESTION',
|
||||
'action': 'ir.actions.act_window,'+ str(action_id)
|
||||
'action': 'ir.actions.act_window,'+ str(action_id)[0]
|
||||
}, context)
|
||||
home = menu.page.id
|
||||
group_id = menu.id
|
||||
group_id = data
|
||||
res = {
|
||||
'home': home,
|
||||
}
|
||||
|
@ -61,7 +62,6 @@ class wiki_create_menu(osv.osv_memory):
|
|||
{'group_id': group_id, 'action_id': menu_id})
|
||||
return {}
|
||||
|
||||
|
||||
wiki_create_menu()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -9,13 +9,11 @@
|
|||
<field name="model">wiki.make.index</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Create Menu">
|
||||
<separator string="Menu Information" colspan="4"/>
|
||||
<label string="Want to create a Index on Selected Pages ? "/>
|
||||
<form string="Create Index">
|
||||
<label string="Want to create a Index on Selected Pages ?" colspan="4"/>
|
||||
<separator string="" colspan="6" />
|
||||
<label string="" colspan="2"/>
|
||||
<group>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel" />
|
||||
<group col="4" colspan="4">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="wiki_do_index" string="Create Index" type="object" icon="gtk-ok"/>
|
||||
</group>
|
||||
</form>
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<field name="diff" nolabel="1" colspan="4" width="300"/>
|
||||
<label string="" colspan="2" />
|
||||
<group>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button special="cancel" string="OK" icon="gtk-ok" />
|
||||
</group>
|
||||
</form>
|
||||
|
|
|
@ -10,11 +10,9 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Open Page">
|
||||
<separator string="" colspan="6" />
|
||||
<label string="Want to open a wiki page? "/>
|
||||
<separator string="" colspan="6" />
|
||||
<label string="" colspan="2" />
|
||||
<group>
|
||||
<label string="Want to open a wiki page?" colspan="4"/>
|
||||
<separator string="" colspan="4"/>
|
||||
<group col="4" colspan="4">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel" />
|
||||
<button name="open_wiki_page" string="Open Wiki Page" type="object" icon="gtk-ok"/>
|
||||
</group>
|
||||
|
|
Loading…
Reference in New Issue