@@ -0,0 +1 @@
|
||||
.*
|
||||
@@ -283,7 +283,10 @@ class account_move_line(osv.osv):
|
||||
result.append((line.id, line.name))
|
||||
return result
|
||||
|
||||
def _balance_search(self, cursor, user, obj, name, args):
|
||||
def _balance_search(self, cursor, user, obj, name, args, domain=None, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
if not len(args):
|
||||
return []
|
||||
where = ' and '.join(map(lambda x: '(abs(sum(debit-credit))'+x[1]+str(x[2])+')',args))
|
||||
|
||||
@@ -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-12-20 12:49+0000\n"
|
||||
"Last-Translator: Hend Awad <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-02-22 08:34+0000\n"
|
||||
"Last-Translator: some one <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: 2009-12-21 04:43+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
|
||||
@@ -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-11-20 14:43+0000\n"
|
||||
"Last-Translator: Henning Eggers <henning.eggers@canonical.com>\n"
|
||||
"PO-Revision-Date: 2010-02-28 09:03+0000\n"
|
||||
"Last-Translator: Ferdinand @ ChriCar <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: 2009-12-16 05:11+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-01 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
@@ -763,7 +763,7 @@ msgstr "Jahresende Buchungsjournal"
|
||||
#: view:product.product:0
|
||||
#: view:product.template:0
|
||||
msgid "Purchase Properties"
|
||||
msgstr "EInkaufs Eingenschaften"
|
||||
msgstr "Einkauf Eigenschaften"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,note:account.process_node_paymententries0
|
||||
@@ -1566,7 +1566,7 @@ msgstr "Kontenplan Vorlagen"
|
||||
#. module: account
|
||||
#: field:account.invoice,move_id:0
|
||||
msgid "Invoice Movement"
|
||||
msgstr "Workflow der Rechnung"
|
||||
msgstr "Rechnungsbuchung"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_wizard_multi_chart
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.1\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-01-14 09:09+0000\n"
|
||||
"PO-Revision-Date: 2010-02-18 09:24+0000\n"
|
||||
"Last-Translator: Olivier Dony (OpenERP) <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-01-15 04:34+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-20 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
@@ -1599,7 +1599,7 @@ msgstr "Devise société"
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_fiscal_position_account_template
|
||||
msgid "Fiscal Position Template Account Mapping"
|
||||
msgstr "Mapping du Compte Modèle de la Position Fiscale"
|
||||
msgstr "Affectation des comptes suivant le modèle de régime fiscal"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.account,parent_id:0
|
||||
@@ -1657,7 +1657,7 @@ msgstr "Transaction non-lettrée"
|
||||
#: field:account.fiscal.position,tax_ids:0
|
||||
#: field:account.fiscal.position.template,tax_ids:0
|
||||
msgid "Tax Mapping"
|
||||
msgstr "Mapping des taxes"
|
||||
msgstr "Affectation des taxes"
|
||||
|
||||
#. module: account
|
||||
#: view:account.config.wizard: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-30 16:38+0000\n"
|
||||
"PO-Revision-Date: 2010-02-23 13:20+0000\n"
|
||||
"Last-Translator: Dukai Gábor <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-01-31 04:51+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
@@ -1789,7 +1789,7 @@ msgstr "Értékesítés"
|
||||
#: wizard_button:account.account.balance.report,account_selection,checktype:0
|
||||
#: wizard_button:account.general.ledger.report,account_selection,checktype:0
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
msgstr "Tovább"
|
||||
|
||||
#. module: account
|
||||
#: help:res.partner,property_account_position:0
|
||||
|
||||
+62
-59
@@ -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-16 18:36+0000\n"
|
||||
"Last-Translator: Andrzej MoST (Marcin Ostajewski) <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-02-20 16:07+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus) <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-01-17 04:46+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
@@ -45,7 +45,7 @@ msgstr "Podaj wiadomość dla raportu o przeterminowanych należnościach."
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_confirmstatementfromdraft0
|
||||
msgid "Confirm statement from draft"
|
||||
msgstr "Zatwierdź projekt zestawienia"
|
||||
msgstr "Zatwierdź projekt wyciągu"
|
||||
|
||||
#. module: account
|
||||
#: model:account.account.type,name:account.account_type_asset
|
||||
@@ -60,7 +60,7 @@ msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
|
||||
#. module: account
|
||||
#: help:account.journal,currency:0
|
||||
msgid "The currency used to enter statement"
|
||||
msgstr "Waluta zastosowana do wprowadzenia zestawienia"
|
||||
msgstr "Waluta zastosowana do wprowadzenia wyciągu"
|
||||
|
||||
#. module: account
|
||||
#: wizard_view:account_use_models,init_form:0
|
||||
@@ -334,7 +334,7 @@ msgstr "Odnośnik"
|
||||
#. module: account
|
||||
#: wizard_view:account.subscription.generate,init:0
|
||||
msgid "Subscription Compute"
|
||||
msgstr ""
|
||||
msgstr "Oblicz subskrypcję"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.central.journal:0
|
||||
@@ -344,7 +344,7 @@ msgstr "Nr konta"
|
||||
#. module: account
|
||||
#: rml:account.analytic.account.analytic.check:0
|
||||
msgid "Delta Debit"
|
||||
msgstr ""
|
||||
msgstr "Przyrost Winien"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.invoice:0
|
||||
@@ -466,7 +466,7 @@ msgstr "Specjalne Obliczenie"
|
||||
#. module: account
|
||||
#: model:process.transition,note:account.process_transition_confirmstatementfromdraft0
|
||||
msgid "Confirm statement with/without reconciliation from draft statement"
|
||||
msgstr "Potwierdź projekt zestawienia z lub bez uzgodnienia"
|
||||
msgstr "Potwierdź projekt wyciągu z lub bez uzgodnienia"
|
||||
|
||||
#. module: account
|
||||
#: wizard_view:account.move.bank.reconcile,init:0
|
||||
@@ -910,7 +910,7 @@ msgstr "Dziennik odpisów"
|
||||
#: field:account.model.line,amount_currency:0
|
||||
#: field:account.move.line,amount_currency:0
|
||||
msgid "Amount Currency"
|
||||
msgstr "Waluta kwoty"
|
||||
msgstr "Kwota w walucie"
|
||||
|
||||
#. module: account
|
||||
#: field:account.chart.template,property_account_expense_categ:0
|
||||
@@ -981,7 +981,7 @@ msgstr "Domyślne konto Winien"
|
||||
#: model:ir.actions.act_window,name:account.action_bank_statement_tree
|
||||
#: model:ir.ui.menu,name:account.menu_bank_statement_tree
|
||||
msgid "Entries by Statements"
|
||||
msgstr "Zapisy wg zestawień"
|
||||
msgstr "Zapisy wg wyciągów"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_analyticinvoice0
|
||||
@@ -1471,7 +1471,7 @@ msgstr "Wyświetl konta "
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_bank_statement_reconcile_line
|
||||
msgid "Statement reconcile line"
|
||||
msgstr "Pozycja uzgodnienia zestawienia"
|
||||
msgstr "Pozycja uzgodnienia wyciągu"
|
||||
|
||||
#. module: account
|
||||
#: view:account.tax:0
|
||||
@@ -1631,7 +1631,7 @@ msgstr "Konta należności i zobowiązań"
|
||||
#: view:account.subscription:0
|
||||
#: field:account.subscription,lines_id:0
|
||||
msgid "Subscription Lines"
|
||||
msgstr ""
|
||||
msgstr "Pozycje subskrypcji"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.analytic.journal,type:0
|
||||
@@ -1750,13 +1750,13 @@ msgstr "Włącz do kwoty bazowej"
|
||||
#. module: account
|
||||
#: rml:account.analytic.account.analytic.check:0
|
||||
msgid "Delta Credit"
|
||||
msgstr ""
|
||||
msgstr "Przyrost Ma"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.wizard,name:account.wizard_reconcile_unreconcile
|
||||
#: model:ir.actions.wizard,name:account.wizard_unreconcile
|
||||
msgid "Unreconcile Entries"
|
||||
msgstr ""
|
||||
msgstr "Skasuj uzgodnienie zapisów"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,note:account.process_node_supplierdraftinvoices0
|
||||
@@ -1772,7 +1772,7 @@ msgstr "Rejestr kosztów dla okresu"
|
||||
#: model:ir.actions.act_window,name:account.action_bank_statement_tree2
|
||||
#: model:ir.ui.menu,name:account.menu_bank_statement_tree2
|
||||
msgid "New Statement"
|
||||
msgstr "Nowe zestawienie"
|
||||
msgstr "Nowy wyciąg"
|
||||
|
||||
#. module: account
|
||||
#: wizard_field:account.analytic.account.chart,init,from_date:0
|
||||
@@ -1936,7 +1936,7 @@ msgstr "Projekty faktur dla klienta"
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_subscription_line
|
||||
msgid "Account Subscription Line"
|
||||
msgstr ""
|
||||
msgstr "Pozycja konta subskrypcji"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.account.balance.report,checktype,state:0
|
||||
@@ -2154,7 +2154,7 @@ msgstr "Uzgodnienie płatności"
|
||||
#: model:ir.actions.act_window,name:account.action_bank_statement_reconciliation_form
|
||||
#: model:ir.ui.menu,name:account.menu_action_account_bank_reconcile_tree
|
||||
msgid "Statements reconciliation"
|
||||
msgstr "Uzgodnienie zestawienia"
|
||||
msgstr "Uzgodnienie wyciagów"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_subscription_form_new
|
||||
@@ -2187,7 +2187,7 @@ msgstr "Schemat podatków"
|
||||
#. module: account
|
||||
#: field:account.payment.term.line,value_amount:0
|
||||
msgid "Value Amount"
|
||||
msgstr ""
|
||||
msgstr "Kwota"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.act_account_acount_move_line_reconcile_open
|
||||
@@ -2270,7 +2270,7 @@ msgstr ""
|
||||
#: model:ir.actions.wizard,name:account.wizard_generate_subscription
|
||||
#: model:ir.ui.menu,name:account.menu_generate_subscription
|
||||
msgid "Create subscription entries"
|
||||
msgstr ""
|
||||
msgstr "Utwórz zapisy subskrypcji"
|
||||
|
||||
#. module: account
|
||||
#: wizard_field:account.fiscalyear.close,init,journal_id:0
|
||||
@@ -2321,7 +2321,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: help:account.invoice.tax,base_code_id:0
|
||||
msgid "The account basis of the tax declaration."
|
||||
msgstr ""
|
||||
msgstr "Konto podstawy do deklaracji podatkowej"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.analytic.account.journal:0
|
||||
@@ -2352,7 +2352,7 @@ msgstr "Typ odnośnika"
|
||||
#: wizard_button:account.move.line.unreconcile,init,unrec:0
|
||||
#: wizard_button:account.reconcile.unreconcile,init,unrec:0
|
||||
msgid "Unreconcile"
|
||||
msgstr ""
|
||||
msgstr "Skasuj uzgodnienie"
|
||||
|
||||
#. module: account
|
||||
#: field:account.tax,type:0
|
||||
@@ -2363,7 +2363,7 @@ msgstr "Typ podatku"
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_statemententries0
|
||||
msgid "Statement Entries"
|
||||
msgstr "Zapisy zestawienia"
|
||||
msgstr "Zapisy wyciągu"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.line,user_id:0
|
||||
@@ -2627,7 +2627,7 @@ msgstr "Konto zobowiązań"
|
||||
#. module: account
|
||||
#: wizard_view:populate_statement_from_inv,init:0
|
||||
msgid "Import Invoices in Statement"
|
||||
msgstr "Importuj faktury do zestawienia"
|
||||
msgstr "Importuj faktury do wyciągu"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
@@ -2673,7 +2673,7 @@ msgstr "Kapitał własny"
|
||||
#. module: account
|
||||
#: field:wizard.company.setup,overdue_msg:0
|
||||
msgid "Overdue Payment Message"
|
||||
msgstr ""
|
||||
msgstr "Komunikat przeterminowanej płatności"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_tax_code_template
|
||||
@@ -2703,7 +2703,7 @@ msgstr "Zamykanie roku"
|
||||
#. module: account
|
||||
#: model:ir.ui.menu,name:account.menu_generic_report
|
||||
msgid "Generic Reports"
|
||||
msgstr ""
|
||||
msgstr "Ogólne raporty"
|
||||
|
||||
#. module: account
|
||||
#: wizard_field:account.automatic.reconcile,init,power:0
|
||||
@@ -2808,12 +2808,12 @@ msgstr "Nazwa"
|
||||
#: wizard_view:account.move.line.reconcile,init_full:0
|
||||
#: wizard_view:account.move.line.reconcile,init_partial:0
|
||||
msgid "Reconciliation transactions"
|
||||
msgstr ""
|
||||
msgstr "Transakcje uzgodnień"
|
||||
|
||||
#. module: account
|
||||
#: wizard_field:account.aged.trial.balance,init,direction_selection:0
|
||||
msgid "Analysis Direction"
|
||||
msgstr ""
|
||||
msgstr "Kierunek analizy"
|
||||
|
||||
#. module: account
|
||||
#: wizard_button:populate_statement_from_inv,init,go:0
|
||||
@@ -2928,7 +2928,7 @@ msgstr "Konto Podatkowe"
|
||||
#. module: account
|
||||
#: model:process.transition,note:account.process_transition_statemententries0
|
||||
msgid "From statement, create entries"
|
||||
msgstr "Z zestawienia, utwórz zapisy"
|
||||
msgstr "Z wyciągu, utwórz zapisy"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.account,complete_name:0
|
||||
@@ -2981,7 +2981,7 @@ msgstr "Mapowanie podatków"
|
||||
#: wizard_view:account.move.line.unreconcile,init:0
|
||||
#: wizard_view:account.reconcile.unreconcile,init:0
|
||||
msgid "Unreconciliation transactions"
|
||||
msgstr ""
|
||||
msgstr "Transakcje kasowania uzgodnień"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,note:account.process_transition_paymentorderbank0
|
||||
@@ -3029,7 +3029,7 @@ msgstr "Dziennik analityczny -"
|
||||
#. module: account
|
||||
#: rml:account.analytic.account.analytic.check:0
|
||||
msgid "Analytic Debit"
|
||||
msgstr ""
|
||||
msgstr "Winien - analityka"
|
||||
|
||||
#. module: account
|
||||
#: field:account.account,currency_mode:0
|
||||
@@ -3268,7 +3268,7 @@ msgstr "Kurs średni"
|
||||
#: model:process.node,note:account.process_node_bankstatement0
|
||||
#: model:process.node,note:account.process_node_supplierbankstatement0
|
||||
msgid "Statement encoding produces payment entries"
|
||||
msgstr ""
|
||||
msgstr "Wprowadzenie wyciągu generuje zapisy płatności"
|
||||
|
||||
#. module: account
|
||||
#: field:account.account,code:0
|
||||
@@ -3342,7 +3342,7 @@ msgstr "30 dni od końca miesiąca"
|
||||
#. module: account
|
||||
#: field:account.chart.template,tax_code_root_id:0
|
||||
msgid "Root Tax Code"
|
||||
msgstr ""
|
||||
msgstr "Główny kod podatkowy"
|
||||
|
||||
#. module: account
|
||||
#: constraint:account.invoice:0
|
||||
@@ -3543,7 +3543,7 @@ msgstr "Zapłać i uzgodnij"
|
||||
#: rml:account.central.journal:0
|
||||
#: model:ir.actions.report.xml,name:account.account_central_journal
|
||||
msgid "Central Journal"
|
||||
msgstr ""
|
||||
msgstr "Dziennik główny"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.third_party_ledger:0
|
||||
@@ -3709,7 +3709,7 @@ msgstr "Wprowadzanie zapisów"
|
||||
#: wizard_view:account.invoice.refund,init:0
|
||||
#: model:ir.actions.wizard,name:account.wizard_invoice_refund
|
||||
msgid "Credit Note"
|
||||
msgstr ""
|
||||
msgstr "Nota kredytowa"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.todo,note:account.config_fiscalyear
|
||||
@@ -3754,7 +3754,7 @@ msgstr "Miesiąc"
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_subscription
|
||||
msgid "Account Subscription"
|
||||
msgstr ""
|
||||
msgstr "Konto subskrypcji"
|
||||
|
||||
#. module: account
|
||||
#: field:account.model.line,date_maturity:0
|
||||
@@ -3766,7 +3766,7 @@ msgstr "Data zapłaty"
|
||||
#. module: account
|
||||
#: view:account.subscription:0
|
||||
msgid "Entry Subscription"
|
||||
msgstr ""
|
||||
msgstr "Zapis subskrypcji"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.print.journal.report,init,sort_selection:0
|
||||
@@ -3815,7 +3815,7 @@ msgstr "Data faktury"
|
||||
#. module: account
|
||||
#: selection:account.account.type,close_method:0
|
||||
msgid "Unreconciled"
|
||||
msgstr ""
|
||||
msgstr "Skasowano uzgodnienie"
|
||||
|
||||
#. module: account
|
||||
#: field:account.account,note:0
|
||||
@@ -3880,7 +3880,7 @@ msgstr ""
|
||||
#: model:ir.actions.act_window,name:account.action_wizard_company_setup_form
|
||||
#: view:wizard.company.setup:0
|
||||
msgid "Overdue Payment Report Message"
|
||||
msgstr ""
|
||||
msgstr "Komunikat raportu przeterminowanych płatności"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.tax,tax_group:0
|
||||
@@ -3966,6 +3966,9 @@ msgid ""
|
||||
"needs to create analytic entries, Open ERP will look for a matching journal "
|
||||
"of the same type."
|
||||
msgstr ""
|
||||
"Podaje typ dziennika analitycznego. Kiedy dokument (np. faktura) ma utworzyć "
|
||||
"zapisy analityczne, to OpenERP będzie szukał odpowiedniego dziennika tego "
|
||||
"samego typu."
|
||||
|
||||
#. module: account
|
||||
#: field:account.journal,groups_id:0
|
||||
@@ -3975,7 +3978,7 @@ msgstr "Grupy"
|
||||
#. module: account
|
||||
#: rml:account.analytic.account.quantity_cost_ledger:0
|
||||
msgid "Code/Date"
|
||||
msgstr ""
|
||||
msgstr "Kod/Data"
|
||||
|
||||
#. module: account
|
||||
#: field:account.account,active:0
|
||||
@@ -4084,7 +4087,7 @@ msgstr "Zmiana stanu konta"
|
||||
#: view:account.bank.statement:0
|
||||
#: field:account.bank.statement,line_ids:0
|
||||
msgid "Statement lines"
|
||||
msgstr "Pozycje zestawienia"
|
||||
msgstr "Pozycje wyciągu"
|
||||
|
||||
#. module: account
|
||||
#: field:account.move.line,amount_taxed:0
|
||||
@@ -4160,7 +4163,7 @@ msgstr "Ogólne"
|
||||
#. module: account
|
||||
#: rml:account.general.journal:0
|
||||
msgid "Credit Trans."
|
||||
msgstr ""
|
||||
msgstr "Trans. Ma"
|
||||
|
||||
#. module: account
|
||||
#: field:wizard.multi.charts.accounts,seq_journal:0
|
||||
@@ -4228,7 +4231,7 @@ msgstr "Szukaj zapisów"
|
||||
#: model:process.node,note:account.process_node_analytic0
|
||||
#: model:process.node,note:account.process_node_analyticcost0
|
||||
msgid "Analytic costs to reinvoice purchases, timesheets, ..."
|
||||
msgstr ""
|
||||
msgstr "Koszt analityczny do refakturowania zakupów, kart pracy, ..."
|
||||
|
||||
#. module: account
|
||||
#: field:account.account,tax_ids:0
|
||||
@@ -4276,7 +4279,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: field:account.account,parent_left:0
|
||||
msgid "Parent Left"
|
||||
msgstr ""
|
||||
msgstr "Lewy nadrzędny"
|
||||
|
||||
#. module: account
|
||||
#: help:account.journal,sequence_id:0
|
||||
@@ -4397,7 +4400,7 @@ msgstr ""
|
||||
#: model:ir.actions.act_window,name:account.action_subscription_form_running
|
||||
#: model:ir.ui.menu,name:account.menu_action_subscription_form_running
|
||||
msgid "Running Subscriptions"
|
||||
msgstr ""
|
||||
msgstr "Działające subskrypcje"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.move,type:0
|
||||
@@ -4413,7 +4416,7 @@ msgstr "Zaksięgowano"
|
||||
#: view:account.tax:0
|
||||
#: view:account.tax.template:0
|
||||
msgid "Credit Notes"
|
||||
msgstr ""
|
||||
msgstr "Nota kredytowa"
|
||||
|
||||
#. module: account
|
||||
#: field:account.config.wizard,date2:0
|
||||
@@ -4587,7 +4590,7 @@ msgstr "Ważna zapisy"
|
||||
#: model:ir.actions.wizard,name:account.wizard_line_account_use_model
|
||||
#: model:ir.ui.menu,name:account.menu_account_use_model
|
||||
msgid "Create Entries From Models"
|
||||
msgstr "Utwórz zapisu z modeli"
|
||||
msgstr "Utwórz zapisy z modeli"
|
||||
|
||||
#. module: account
|
||||
#: field:account.account.template,reconcile:0
|
||||
@@ -4642,7 +4645,7 @@ msgstr ""
|
||||
#: field:account.bank.statement.line,statement_id:0
|
||||
#: field:account.move.line,statement_id:0
|
||||
msgid "Statement"
|
||||
msgstr "Zestawienie"
|
||||
msgstr "Wyciąg"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_move_line_form_encode_by_move
|
||||
@@ -4719,7 +4722,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: model:process.node,name:account.process_node_draftstatement0
|
||||
msgid "Draft statement"
|
||||
msgstr "Projekt zestawienia"
|
||||
msgstr "Projekt wyciągu"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.journal,name:0
|
||||
@@ -4729,7 +4732,7 @@ msgstr "Nazwa dziennika"
|
||||
#. module: account
|
||||
#: model:process.transition,note:account.process_transition_invoiceimport0
|
||||
msgid "Import invoice from statement"
|
||||
msgstr "Importuj fakturę z zestawienia"
|
||||
msgstr "Importuj fakturę z wyciągu"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.automatic.reconcile,init,power:0
|
||||
@@ -4825,7 +4828,7 @@ msgstr "Anulowano"
|
||||
#: model:ir.actions.act_window,name:account.action_bank_statement_draft_tree
|
||||
#: model:ir.ui.menu,name:account.menu_bank_statement_draft_tree
|
||||
msgid "Draft statements"
|
||||
msgstr "Projekty zestawień"
|
||||
msgstr "Projekty wyciągów"
|
||||
|
||||
#. module: account
|
||||
#: wizard_field:populate_statement_from_inv,init,date:0
|
||||
@@ -4852,7 +4855,7 @@ msgstr "Konta należności"
|
||||
#. module: account
|
||||
#: wizard_button:account.move.line.unreconcile.select,init,open:0
|
||||
msgid "Open for unreconciliation"
|
||||
msgstr ""
|
||||
msgstr "Otwórz do kasowania uzgodnień"
|
||||
|
||||
#. module: account
|
||||
#: field:account.bank.statement.reconcile,statement_line:0
|
||||
@@ -5082,7 +5085,7 @@ msgstr "Grupuj pozycje faktury"
|
||||
#. module: account
|
||||
#: model:ir.ui.menu,name:account.menu_finance_configuration
|
||||
msgid "Configuration"
|
||||
msgstr "Ustawienia"
|
||||
msgstr "Konfiguracja"
|
||||
|
||||
#. module: account
|
||||
#: view:account.analytic.line:0
|
||||
@@ -5098,7 +5101,7 @@ msgstr "Dziennik kont"
|
||||
#. module: account
|
||||
#: view:account.subscription.line:0
|
||||
msgid "Subscription lines"
|
||||
msgstr ""
|
||||
msgstr "pozycje subskrypcji"
|
||||
|
||||
#. module: account
|
||||
#: field:account.chart.template,property_account_income:0
|
||||
@@ -5204,7 +5207,7 @@ msgstr "Szablon kodu konta podatkowego"
|
||||
#. module: account
|
||||
#: view:account.subscription:0
|
||||
msgid "Subscription Periods"
|
||||
msgstr ""
|
||||
msgstr "Okresy subskrypcji"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,name:account.process_node_manually0
|
||||
@@ -5265,7 +5268,7 @@ msgstr "Podatek zamienny"
|
||||
#. module: account
|
||||
#: model:process.transition,note:account.process_transition_invoicemanually0
|
||||
msgid "Encode manually statement comes into the draft statement"
|
||||
msgstr "Ręcznie wprowadzone zestawienie jest projektem"
|
||||
msgstr "Ręcznie wprowadzony wyciąg jest projektem wyciągu"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.ui.menu,name:account.next_id_43
|
||||
@@ -5292,7 +5295,7 @@ msgstr "Płatności"
|
||||
#. module: account
|
||||
#: model:process.node,note:account.process_node_accountingstatemententries0
|
||||
msgid "Accounting entries at statement's confirmation"
|
||||
msgstr "Zapisy księgowe przy potwierdzeniu zestawienia"
|
||||
msgstr "Zapisy księgowe przy potwierdzeniu wyciągu"
|
||||
|
||||
#. module: account
|
||||
#: wizard_view:account_use_models,create:0
|
||||
@@ -5474,7 +5477,7 @@ msgstr "Zastosowanie podatku"
|
||||
#: model:ir.actions.act_window,name:account.action_subscription_form
|
||||
#: model:ir.ui.menu,name:account.menu_action_subscription_form
|
||||
msgid "Subscription Entries"
|
||||
msgstr ""
|
||||
msgstr "Zapisy subskrypcji"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_invoice_tree6
|
||||
@@ -5995,12 +5998,12 @@ msgstr "Obszary podatkowe"
|
||||
#. module: account
|
||||
#: model:process.process,name:account.process_process_statementprocess0
|
||||
msgid "Statement Process"
|
||||
msgstr ""
|
||||
msgstr "Proces wyciągu"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_bank_statement_reconcile
|
||||
msgid "Statement reconcile"
|
||||
msgstr ""
|
||||
msgstr "Uzgodnienia wyciągu"
|
||||
|
||||
#. module: account
|
||||
#: wizard_field:account.fiscalyear.close,init,sure: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-14 10:44+0000\n"
|
||||
"Last-Translator: Carlos Paiva <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-02-22 21:38+0000\n"
|
||||
"Last-Translator: sbrianti <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-01-15 04:34+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
@@ -313,7 +313,7 @@ msgstr "Pagamentos atrasados"
|
||||
#: wizard_view:account.analytic.account.quantity_cost_ledger.report,init:0
|
||||
#: wizard_view:account.vat.declaration,init:0
|
||||
msgid "Select period"
|
||||
msgstr "Periodo selecionado"
|
||||
msgstr "Selecione o período"
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice,origin:0
|
||||
@@ -1011,7 +1011,7 @@ msgstr "Período"
|
||||
#. module: account
|
||||
#: rml:account.partner.balance:0
|
||||
msgid "Grand total"
|
||||
msgstr "Grande total"
|
||||
msgstr "Total geral"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.ui.menu,name:account.menu_finance_accounting
|
||||
@@ -1340,7 +1340,7 @@ msgstr "Modelo"
|
||||
#: model:ir.actions.wizard,name:account.wizard_fiscalyear_close_state
|
||||
#: model:ir.ui.menu,name:account.menu_wizard_fy_close_state
|
||||
msgid "Close a Fiscal Year"
|
||||
msgstr "Fechar ano fiscal"
|
||||
msgstr "Fechar um ano fiscal"
|
||||
|
||||
#. module: account
|
||||
#: field:account.journal,centralisation:0
|
||||
@@ -1355,7 +1355,7 @@ msgstr "Mensagem:"
|
||||
#. module: account
|
||||
#: model:process.node,note:account.process_node_supplierpaymentorder0
|
||||
msgid "Select invoices you want to pay and manages advances"
|
||||
msgstr "Selecionar faturaa s pagar e administrar vantagens"
|
||||
msgstr "Selecionar as faturas que você quer pagar e adiantamentos a fazer"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.account,type:0
|
||||
@@ -1389,7 +1389,7 @@ msgstr "O método de calculo para o valor do imposto."
|
||||
#: model:process.node,note:account.process_node_accountingentries0
|
||||
#: model:process.node,note:account.process_node_supplieraccountingentries0
|
||||
msgid "Validated accounting entries."
|
||||
msgstr "Lançamentos de conta validado"
|
||||
msgstr "Lançamentos contábeis validados"
|
||||
|
||||
#. module: account
|
||||
#: wizard_view:account.move.line.unreconcile,init:0
|
||||
@@ -1398,8 +1398,9 @@ msgid ""
|
||||
"If you unreconciliate transactions, you must also verify all the actions "
|
||||
"that are linked to those transactions because they will not be disable"
|
||||
msgstr ""
|
||||
"Se você não concilia transações, você também deve verificar todas as ações "
|
||||
"que estão ligadas a essas operações, porque não será desativaadas"
|
||||
"Se você desfazer a reconciliação de transações, você deve também verificar "
|
||||
"todas as ações que estão ligadas a essas operações, porque elas não serão "
|
||||
"desfeitas pelo sistema"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,name:account.process_node_electronicfile0
|
||||
|
||||
+37
-35
@@ -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-02-16 11:32+0000\n"
|
||||
"Last-Translator: Treecko <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-02-24 18:59+0000\n"
|
||||
"Last-Translator: Anders Eriksson <ae@mobilasystem.se>\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-02-17 04:55+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
@@ -73,6 +73,8 @@ msgid ""
|
||||
"This account will be used to value incoming stock for the current product "
|
||||
"category"
|
||||
msgstr ""
|
||||
"Detta konto kommer att användas användas för inleveranser till lagret för "
|
||||
"den aktuella produktkategorin"
|
||||
|
||||
#. module: account
|
||||
#: help:account.invoice,period_id:0
|
||||
@@ -105,7 +107,7 @@ msgstr ""
|
||||
#: model:ir.actions.wizard,name:account.wizard_vat_declaration
|
||||
#: model:ir.ui.menu,name:account.menu_wizard_vat_declaration
|
||||
msgid "Print Taxes Report"
|
||||
msgstr ""
|
||||
msgstr "Skriv ut momsrapport"
|
||||
|
||||
#. module: account
|
||||
#: field:account.account,parent_id:0
|
||||
@@ -115,7 +117,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: selection:account.move,type:0
|
||||
msgid "Journal Voucher"
|
||||
msgstr ""
|
||||
msgstr "Journalverifikat"
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice,residual:0
|
||||
@@ -159,7 +161,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: model:ir.actions.wizard,name:account.wizard_invoice_state_confirm
|
||||
msgid "Confirm draft invoices"
|
||||
msgstr ""
|
||||
msgstr "Godkänn preliminära fakturor"
|
||||
|
||||
#. module: account
|
||||
#: help:account.payment.term.line,days2:0
|
||||
@@ -172,12 +174,12 @@ msgstr ""
|
||||
#. module: account
|
||||
#: view:account.move:0
|
||||
msgid "Total Credit"
|
||||
msgstr ""
|
||||
msgstr "Total kredit"
|
||||
|
||||
#. module: account
|
||||
#: field:account.config.wizard,charts:0
|
||||
msgid "Charts of Account"
|
||||
msgstr ""
|
||||
msgstr "Kontoplan"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.wizard,name:account.wizard_move_line_select
|
||||
@@ -200,7 +202,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: field:account.tax.code,sum_period:0
|
||||
msgid "Period Sum"
|
||||
msgstr ""
|
||||
msgstr "Periodtotal"
|
||||
|
||||
#. module: account
|
||||
#: view:account.tax:0
|
||||
@@ -235,19 +237,19 @@ msgstr ""
|
||||
#: field:account.tax.template,amount:0
|
||||
#: xsl:account.transfer:0
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
msgstr "Belopp"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.report.xml,name:account.account_3rdparty_ledger
|
||||
#: model:ir.actions.wizard,name:account.wizard_third_party_ledger
|
||||
#: model:ir.ui.menu,name:account.menu_third_party_ledger
|
||||
msgid "Partner Ledger"
|
||||
msgstr ""
|
||||
msgstr "Partnerreskontra"
|
||||
|
||||
#. module: account
|
||||
#: field:product.template,supplier_taxes_id:0
|
||||
msgid "Supplier Taxes"
|
||||
msgstr ""
|
||||
msgstr "Leverantörsskatter"
|
||||
|
||||
#. module: account
|
||||
#: view:account.move:0
|
||||
@@ -282,13 +284,13 @@ msgstr ""
|
||||
#: selection:account.tax,type:0
|
||||
#: selection:account.tax.template,type:0
|
||||
msgid "Fixed"
|
||||
msgstr ""
|
||||
msgstr "Fast"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.report.xml,name:account.account_overdue
|
||||
#: view:res.company:0
|
||||
msgid "Overdue Payments"
|
||||
msgstr ""
|
||||
msgstr "Försenade betalningar"
|
||||
|
||||
#. module: account
|
||||
#: wizard_view:account.account.balance.report,checktype:0
|
||||
@@ -299,7 +301,7 @@ msgstr ""
|
||||
#: wizard_view:account.analytic.account.quantity_cost_ledger.report,init:0
|
||||
#: wizard_view:account.vat.declaration,init:0
|
||||
msgid "Select period"
|
||||
msgstr ""
|
||||
msgstr "Välj period"
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice,origin:0
|
||||
@@ -350,7 +352,7 @@ msgstr ""
|
||||
#: field:account.move.line,analytic_account_id:0
|
||||
#: field:report.hr.timesheet.invoice.journal,account_id:0
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
msgstr "Objekt"
|
||||
|
||||
#. module: account
|
||||
#: field:account.tax,child_depend:0
|
||||
@@ -363,12 +365,12 @@ msgstr ""
|
||||
#: rml:account.general.journal:0
|
||||
#: field:account.journal,name:0
|
||||
msgid "Journal Name"
|
||||
msgstr ""
|
||||
msgstr "Journalnamn"
|
||||
|
||||
#. module: account
|
||||
#: view:account.payment.term:0
|
||||
msgid "Description on invoices"
|
||||
msgstr ""
|
||||
msgstr "Fakturabeskrivning"
|
||||
|
||||
#. module: account
|
||||
#: constraint:account.analytic.account:0
|
||||
@@ -410,17 +412,17 @@ msgstr ""
|
||||
#. module: account
|
||||
#: rml:account.overdue:0
|
||||
msgid "Date:"
|
||||
msgstr ""
|
||||
msgstr "Datum:"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.account.type,sign:0
|
||||
msgid "Negative"
|
||||
msgstr ""
|
||||
msgstr "Negativ"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.partner.balance:0
|
||||
msgid "(Account/Partner) Name"
|
||||
msgstr ""
|
||||
msgstr "(Konto/Partner) namn"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.move,type:0
|
||||
@@ -464,7 +466,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: rml:account.invoice:0
|
||||
msgid "Disc.(%)"
|
||||
msgstr ""
|
||||
msgstr "Rabatt (%)"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.general.ledger:0
|
||||
@@ -473,12 +475,12 @@ msgstr ""
|
||||
#: rml:account.overdue:0
|
||||
#: field:account.subscription,ref:0
|
||||
msgid "Ref"
|
||||
msgstr ""
|
||||
msgstr "Ref"
|
||||
|
||||
#. module: account
|
||||
#: field:account.tax.template,type_tax_use:0
|
||||
msgid "Tax Use In"
|
||||
msgstr ""
|
||||
msgstr "Aktuell moms"
|
||||
|
||||
#. module: account
|
||||
#: help:account.tax.template,include_base_amount:0
|
||||
@@ -501,12 +503,12 @@ msgstr ""
|
||||
#: model:ir.actions.act_window,name:account.action_account_tax_code_template_form
|
||||
#: model:ir.ui.menu,name:account.menu_action_account_tax_code_template_form
|
||||
msgid "Tax Code Templates"
|
||||
msgstr ""
|
||||
msgstr "Momsmallar"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
msgid "Supplier invoice"
|
||||
msgstr ""
|
||||
msgstr "Leverantörsfaktura"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_reconcilepaid0
|
||||
@@ -523,7 +525,7 @@ msgstr ""
|
||||
#: model:ir.actions.act_window,name:account.action_account_tax_template_form
|
||||
#: model:ir.ui.menu,name:account.menu_action_account_tax_template_form
|
||||
msgid "Tax Templates"
|
||||
msgstr ""
|
||||
msgstr "Momsmallar"
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice,reconciled:0
|
||||
@@ -549,7 +551,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: view:account.invoice.line:0
|
||||
msgid "Line"
|
||||
msgstr ""
|
||||
msgstr "Rad"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.analytic.account.cost_ledger:0
|
||||
@@ -560,7 +562,7 @@ msgstr ""
|
||||
#: selection:account.tax,applicable_type:0
|
||||
#: selection:account.tax.template,applicable_type:0
|
||||
msgid "True"
|
||||
msgstr ""
|
||||
msgstr "Sant"
|
||||
|
||||
#. module: account
|
||||
#: help:account.payment.term.line,days:0
|
||||
@@ -577,7 +579,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: rml:account.central.journal:0
|
||||
msgid "Printing Date"
|
||||
msgstr ""
|
||||
msgstr "Utskriftsdatum"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.general.ledger:0
|
||||
@@ -616,7 +618,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: field:account.analytic.account,contact_id:0
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
msgstr "Kontakt"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.model.line,date:0
|
||||
@@ -637,7 +639,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: field:account.invoice.line,discount:0
|
||||
msgid "Discount (%)"
|
||||
msgstr ""
|
||||
msgstr "Rabatt (%)"
|
||||
|
||||
#. module: account
|
||||
#: wizard_field:account.move.line.reconcile,init_full,writeoff:0
|
||||
@@ -653,12 +655,12 @@ msgstr ""
|
||||
#. module: account
|
||||
#: model:ir.ui.menu,name:account.menu_analytic_accounting
|
||||
msgid "Analytic Accounting"
|
||||
msgstr ""
|
||||
msgstr "Objektsredovisning"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.overdue:0
|
||||
msgid "Sub-Total :"
|
||||
msgstr ""
|
||||
msgstr "Subtotal :"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.account,line_ids:0
|
||||
@@ -671,7 +673,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: selection:account.subscription,period_type:0
|
||||
msgid "month"
|
||||
msgstr ""
|
||||
msgstr "månad"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.account,partner_id:0
|
||||
|
||||
+84
-73
@@ -29,18 +29,6 @@ from mx.DateTime import RelativeDateTime
|
||||
from tools import config
|
||||
from tools.translate import _
|
||||
|
||||
#class fiscalyear_seq(osv.osv):
|
||||
# _name = "fiscalyear.seq"
|
||||
# _description = "Maintains Invoice sequences with Fiscal Year"
|
||||
# _rec_name = 'fiscalyear_id'
|
||||
# _columns = {
|
||||
# 'journal_id': fields.many2one('account.journal', 'Journal'),
|
||||
# 'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscal Year',required=True),
|
||||
# 'sequence_id':fields.many2one('ir.sequence', 'Sequence',required=True),
|
||||
# }
|
||||
#
|
||||
#fiscalyear_seq()
|
||||
|
||||
class account_invoice(osv.osv):
|
||||
def _amount_all(self, cr, uid, ids, name, args, context=None):
|
||||
res = {}
|
||||
@@ -505,21 +493,21 @@ class account_invoice(osv.osv):
|
||||
else:
|
||||
journal_ids=self.pool.get('account.journal').search(cr,uid,[])
|
||||
dom={'journal_id': [('id','in',journal_ids)]}
|
||||
|
||||
|
||||
if currency_id and company_id:
|
||||
currency = self.pool.get('res.currency').browse(cr, uid, currency_id)
|
||||
if currency.company_id.id != company_id:
|
||||
val['currency_id'] = False
|
||||
else:
|
||||
val['currency_id'] = currency.id
|
||||
|
||||
|
||||
if company_id:
|
||||
company = self.pool.get('res.company').browse(cr, uid, company_id)
|
||||
if company.currency_id.company_id.id != company_id:
|
||||
val['currency_id'] = False
|
||||
val['currency_id'] = False
|
||||
else:
|
||||
val['currency_id'] = company.currency_id.id
|
||||
|
||||
|
||||
return {'value' : val, 'domain': dom }
|
||||
|
||||
# go from canceled state to draft state
|
||||
@@ -631,7 +619,84 @@ class account_invoice(osv.osv):
|
||||
self.write(cr, uid, [inv.id], res['value'])
|
||||
return True
|
||||
|
||||
def check_tax_lines(self, cr, uid, inv, compute_taxes, ait_obj):
|
||||
if not inv.tax_line:
|
||||
for tax in compute_taxes.values():
|
||||
ait_obj.create(cr, uid, tax)
|
||||
else:
|
||||
tax_key = []
|
||||
for tax in inv.tax_line:
|
||||
if tax.manual:
|
||||
continue
|
||||
key = (tax.tax_code_id.id, tax.base_code_id.id, tax.account_id.id)
|
||||
tax_key.append(key)
|
||||
if not key in compute_taxes:
|
||||
raise osv.except_osv(_('Warning !'), _('Global taxes defined, but are not in invoice lines !'))
|
||||
base = compute_taxes[key]['base']
|
||||
if abs(base - tax.base) > inv.company_id.currency_id.rounding:
|
||||
raise osv.except_osv(_('Warning !'), _('Tax base different !\nClick on compute to update tax base'))
|
||||
for key in compute_taxes:
|
||||
if not key in tax_key:
|
||||
raise osv.except_osv(_('Warning !'), _('Taxes missing !'))
|
||||
|
||||
def compute_invoice_totals(self, cr, uid, inv, company_currency, ref, invoice_move_lines):
|
||||
total = 0
|
||||
total_currency = 0
|
||||
for i in invoice_move_lines:
|
||||
if inv.currency_id.id != company_currency:
|
||||
i['currency_id'] = inv.currency_id.id
|
||||
i['amount_currency'] = i['price']
|
||||
i['price'] = cur_obj.compute(cr, uid, inv.currency_id.id,
|
||||
company_currency, i['price'],
|
||||
context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')})
|
||||
else:
|
||||
i['amount_currency'] = False
|
||||
i['currency_id'] = False
|
||||
i['ref'] = ref
|
||||
if inv.type in ('out_invoice','in_refund'):
|
||||
total += i['price']
|
||||
total_currency += i['amount_currency'] or i['price']
|
||||
i['price'] = - i['price']
|
||||
else:
|
||||
total -= i['price']
|
||||
total_currency -= i['amount_currency'] or i['price']
|
||||
return total, total_currency, invoice_move_lines
|
||||
|
||||
def inv_line_characteristic_hashcode(self, invoice, invoice_line):
|
||||
"""Overridable hashcode generation for invoice lines. Lines having the same hashcode
|
||||
will be grouped together if the journal has the 'group line' option. Of course a module
|
||||
can add fields to invoice lines that would need to be tested too before merging lines
|
||||
or not."""
|
||||
return "%s-%s-%s-%s-%s"%(
|
||||
invoice_line['account_id'],
|
||||
invoice_line.get('tax_code_id',"False"),
|
||||
invoice_line.get('product_id',"False"),
|
||||
invoice_line.get('analytic_account_id',"False"),
|
||||
invoice_line.get('date_maturity',"False"))
|
||||
|
||||
def group_lines(self, cr, uid, iml, line, inv):
|
||||
"""Merge account move lines (and hence analytic lines) if invoice line hashcodes are equals"""
|
||||
if inv.journal_id.group_invoice_lines:
|
||||
line2 = {}
|
||||
for x, y, l in line:
|
||||
tmp = self.inv_line_characteristic_hashcode(inv, l)
|
||||
|
||||
if tmp in line2:
|
||||
am = line2[tmp]['debit'] - line2[tmp]['credit'] + (l['debit'] - l['credit'])
|
||||
line2[tmp]['debit'] = (am > 0) and am or 0.0
|
||||
line2[tmp]['credit'] = (am < 0) and -am or 0.0
|
||||
line2[tmp]['tax_amount'] += l['tax_amount']
|
||||
line2[tmp]['analytic_lines'] += l['analytic_lines']
|
||||
else:
|
||||
line2[tmp] = l
|
||||
line = []
|
||||
for key, val in line2.items():
|
||||
line.append((0,0,val))
|
||||
|
||||
return line
|
||||
|
||||
def action_move_create(self, cr, uid, ids, *args):
|
||||
"""Creates invoice related analytics and financial move lines"""
|
||||
ait_obj = self.pool.get('account.invoice.tax')
|
||||
cur_obj = self.pool.get('res.currency')
|
||||
context = {}
|
||||
@@ -650,24 +715,7 @@ class account_invoice(osv.osv):
|
||||
|
||||
context.update({'lang': inv.partner_id.lang})
|
||||
compute_taxes = ait_obj.compute(cr, uid, inv.id, context=context)
|
||||
if not inv.tax_line:
|
||||
for tax in compute_taxes.values():
|
||||
ait_obj.create(cr, uid, tax)
|
||||
else:
|
||||
tax_key = []
|
||||
for tax in inv.tax_line:
|
||||
if tax.manual:
|
||||
continue
|
||||
key = (tax.tax_code_id.id, tax.base_code_id.id, tax.account_id.id)
|
||||
tax_key.append(key)
|
||||
if not key in compute_taxes:
|
||||
raise osv.except_osv(_('Warning !'), _('Global taxes defined, but are not in invoice lines !'))
|
||||
base = compute_taxes[key]['base']
|
||||
if abs(base - tax.base) > inv.company_id.currency_id.rounding:
|
||||
raise osv.except_osv(_('Warning !'), _('Tax base different !\nClick on compute to update tax base'))
|
||||
for key in compute_taxes:
|
||||
if not key in tax_key:
|
||||
raise osv.except_osv(_('Warning !'), _('Taxes missing !'))
|
||||
self.check_tax_lines(cr, uid, inv, compute_taxes, ait_obj)
|
||||
|
||||
if inv.type in ('in_invoice', 'in_refund') and abs(inv.check_total - inv.amount_total) >= (inv.currency_id.rounding/2.0):
|
||||
raise osv.except_osv(_('Bad total !'), _('Please verify the price of the invoice !\nThe real total does not match the computed total.'))
|
||||
@@ -684,24 +732,7 @@ class account_invoice(osv.osv):
|
||||
# create one move line for the total and possibly adjust the other lines amount
|
||||
total = 0
|
||||
total_currency = 0
|
||||
for i in iml:
|
||||
if inv.currency_id.id != company_currency:
|
||||
i['currency_id'] = inv.currency_id.id
|
||||
i['amount_currency'] = i['price']
|
||||
i['price'] = cur_obj.compute(cr, uid, inv.currency_id.id,
|
||||
company_currency, i['price'],
|
||||
context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')})
|
||||
else:
|
||||
i['amount_currency'] = False
|
||||
i['currency_id'] = False
|
||||
i['ref'] = ref
|
||||
if inv.type in ('out_invoice','in_refund'):
|
||||
total += i['price']
|
||||
total_currency += i['amount_currency'] or i['price']
|
||||
i['price'] = - i['price']
|
||||
else:
|
||||
total -= i['price']
|
||||
total_currency -= i['amount_currency'] or i['price']
|
||||
total, total_currency, iml = self.compute_invoice_totals(cr, uid, inv, company_currency, ref, iml)
|
||||
acc_id = inv.account_id.id
|
||||
|
||||
name = inv['name'] or '/'
|
||||
@@ -756,26 +787,7 @@ class account_invoice(osv.osv):
|
||||
|
||||
line = map(lambda x:(0,0,self.line_get_convert(cr, uid, x, part, date, context={})) ,iml)
|
||||
|
||||
if inv.journal_id.group_invoice_lines:
|
||||
line2 = {}
|
||||
for x, y, l in line:
|
||||
tmp = str(l['account_id'])
|
||||
tmp += '-'+str(l.get('tax_code_id',"False"))
|
||||
tmp += '-'+str(l.get('product_id',"False"))
|
||||
tmp += '-'+str(l.get('analytic_account_id',"False"))
|
||||
tmp += '-'+str(l.get('date_maturity',"False"))
|
||||
|
||||
if tmp in line2:
|
||||
am = line2[tmp]['debit'] - line2[tmp]['credit'] + (l['debit'] - l['credit'])
|
||||
line2[tmp]['debit'] = (am > 0) and am or 0.0
|
||||
line2[tmp]['credit'] = (am < 0) and -am or 0.0
|
||||
line2[tmp]['tax_amount'] += l['tax_amount']
|
||||
line2[tmp]['analytic_lines'] += l['analytic_lines']
|
||||
else:
|
||||
line2[tmp] = l
|
||||
line = []
|
||||
for key, val in line2.items():
|
||||
line.append((0,0,val))
|
||||
line = self.group_lines(cr, uid, iml, line, inv)
|
||||
|
||||
journal_id = inv.journal_id.id #self._get_journal(cr, uid, {'type': inv['type']})
|
||||
journal = self.pool.get('account.journal').browse(cr, uid, journal_id)
|
||||
@@ -1449,4 +1461,3 @@ class account_invoice_tax(osv.osv):
|
||||
account_invoice_tax()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
###############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,7 +15,7 @@
|
||||
# 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/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@@ -70,51 +70,51 @@ account_analytic_default()
|
||||
class account_invoice_line(osv.osv):
|
||||
_inherit = 'account.invoice.line'
|
||||
_description = 'account invoice line'
|
||||
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition=False, price_unit=False, address_invoice_id=False, context={}):
|
||||
res_prod = super(account_invoice_line,self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition, price_unit, address_invoice_id, context)
|
||||
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition=False, price_unit=False, address_invoice_id=False, currency_id=False, context={}):
|
||||
res_prod = super(account_invoice_line,self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition, price_unit, address_invoice_id, currency_id=currency_id, context=context)
|
||||
rec = self.pool.get('account.analytic.default').account_get(cr, uid, product, partner_id, uid, time.strftime('%Y-%m-%d'), context)
|
||||
if rec:
|
||||
res_prod['value'].update({'account_analytic_id':rec.analytic_id.id})
|
||||
else:
|
||||
res_prod['value'].update({'account_analytic_id':False})
|
||||
res_prod['value'].update({'account_analytic_id':False})
|
||||
return res_prod
|
||||
account_invoice_line()
|
||||
|
||||
|
||||
class stock_picking(osv.osv):
|
||||
_inherit = "stock.picking"
|
||||
|
||||
|
||||
def _get_account_analytic_invoice(self, cursor, user, picking, move_line):
|
||||
partner_id = picking.address_id and picking.address_id.partner_id or False
|
||||
rec = self.pool.get('account.analytic.default').account_get(cursor, user, move_line.product_id.id, partner_id and partner_id.id, user, time.strftime('%Y-%m-%d'), context={})
|
||||
|
||||
|
||||
if rec:
|
||||
return rec.analytic_id.id
|
||||
|
||||
|
||||
return super(stock_picking, self)._get_account_analytic_invoice(cursor,
|
||||
user, picking, move_line)
|
||||
|
||||
|
||||
stock_picking()
|
||||
|
||||
class sale_order_line(osv.osv):
|
||||
_inherit = 'sale.order.line'
|
||||
|
||||
|
||||
# Method overridden to set the analytic account by default on criterion match
|
||||
def invoice_line_create(self, cr, uid, ids, context={}):
|
||||
create_ids = super(sale_order_line,self).invoice_line_create(cr, uid, ids, context)
|
||||
sale_line_obj = self.browse(cr, uid, ids[0], context)
|
||||
pool_inv_line = self.pool.get('account.invoice.line')
|
||||
|
||||
|
||||
for line in pool_inv_line.browse(cr, uid, create_ids, context):
|
||||
rec = self.pool.get('account.analytic.default').account_get(cr, uid, line.product_id.id, sale_line_obj.order_id.partner_id.id, uid, time.strftime('%Y-%m-%d'), context)
|
||||
|
||||
|
||||
if rec:
|
||||
pool_inv_line.write(cr, uid, [line.id], {'account_analytic_id':rec.analytic_id.id}, context=context)
|
||||
return create_ids
|
||||
|
||||
sale_order_line()
|
||||
|
||||
|
||||
sale_order_line()
|
||||
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -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-11-17 09:38+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-02-20 15:28+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus) <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: 2009-12-16 05:18+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_analytic_default
|
||||
@@ -21,12 +21,12 @@ msgstr ""
|
||||
#: model:ir.actions.act_window,name:account_analytic_default.action_analytic_default_form
|
||||
#: model:ir.ui.menu,name:account_analytic_default.menu_analytic_defaul_form
|
||||
msgid "Analytic Defaults"
|
||||
msgstr ""
|
||||
msgstr "Domyślne ustawienia analityczne"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.module.module,shortdesc:account_analytic_default.module_meta_information
|
||||
msgid "Account Analytic Default"
|
||||
msgstr ""
|
||||
msgstr "Domyślne ustawienia konta analitycznego"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: constraint:ir.ui.view:0
|
||||
@@ -84,7 +84,7 @@ msgstr "Użytkownik"
|
||||
#. module: account_analytic_default
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.actions.act_window,name:account_analytic_default.act_account_acount_move_line_open
|
||||
@@ -111,4 +111,4 @@ msgstr "Warunki"
|
||||
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_product
|
||||
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_user
|
||||
msgid "Analytic Rules"
|
||||
msgstr ""
|
||||
msgstr "Reguły analityczne"
|
||||
|
||||
@@ -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-16 12:18+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-02-25 08:30+0000\n"
|
||||
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.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: 2009-12-16 05:18+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-27 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_analytic_default
|
||||
@@ -26,12 +26,12 @@ msgstr "Аналитика по умолчанию"
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.module.module,shortdesc:account_analytic_default.module_meta_information
|
||||
msgid "Account Analytic Default"
|
||||
msgstr ""
|
||||
msgstr "Счет аналитики по умолчанию"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Неправильный XML для просмотра архитектуры!"
|
||||
msgstr "Некорректный формат XML для структуры вида!"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: constraint:ir.model:0
|
||||
@@ -69,12 +69,12 @@ msgstr "Продукция"
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,analytic_id:0
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
msgstr "Счет аналитического учета"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.model,name:account_analytic_default.model_account_analytic_default
|
||||
msgid "Analytic Distributions"
|
||||
msgstr ""
|
||||
msgstr "Аналитическое распределение"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,user_id:0
|
||||
@@ -84,7 +84,7 @@ msgstr "Пользователь"
|
||||
#. module: account_analytic_default
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Недопустимое имя модели в определении действия"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: model:ir.actions.act_window,name:account_analytic_default.act_account_acount_move_line_open
|
||||
|
||||
@@ -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-11-22 18:43+0000\n"
|
||||
"PO-Revision-Date: 2010-02-28 09:02+0000\n"
|
||||
"Last-Translator: Ferdinand @ ChriCar <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: 2009-12-16 05:16+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-01 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
@@ -143,7 +143,7 @@ msgstr "Konto3 ID"
|
||||
#: field:account.analytic.plan.instance,journal_id:0
|
||||
#: wizard_field:wizard.crossovered.analytic,init,journal_ids:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Analyse Journal"
|
||||
msgstr "Analytisches Journal"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
@@ -300,7 +300,7 @@ msgstr "Analyt. Planpositionen"
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Crossovered Analytic -"
|
||||
msgstr ""
|
||||
msgstr "Matrix Analyse"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,plan_id:0
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
# Italian 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-24 12:50+0000\n"
|
||||
"PO-Revision-Date: 2010-02-27 18:15+0000\n"
|
||||
"Last-Translator: phede92 <phede92@yahoo.it>\n"
|
||||
"Language-Team: Italian <it@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-03-01 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: view:product.category:0
|
||||
msgid " Accounting Property"
|
||||
msgstr " Contabili di proprietà"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: model:ir.module.module,description:account_anglo_saxon.module_meta_information
|
||||
msgid ""
|
||||
"This module will support the Anglo-Saxons accounting methodology by \n"
|
||||
" changing the accounting logic with stock transactions. The difference "
|
||||
"between the Anglo-Saxon accounting countries \n"
|
||||
" and the Rhine or also called Continental accounting countries is the "
|
||||
"moment of taking the Cost of Goods Sold versus Cost of Sales. \n"
|
||||
" Anglo-Saxons accounting does take the cost when sales invoice is "
|
||||
"created, Continental accounting will take the cost at he moment the goods "
|
||||
"are shipped.\n"
|
||||
" This module will add this functionality by using a interim account, to "
|
||||
"store the value of shipped goods and will contra book this interim account \n"
|
||||
" when the invoice is created to transfer this amount to the debtor or "
|
||||
"creditor account."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: model:ir.module.module,shortdesc:account_anglo_saxon.module_meta_information
|
||||
msgid "Stock Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: field:product.category,property_account_creditor_price_difference_categ:0
|
||||
#: field:product.template,property_account_creditor_price_difference:0
|
||||
msgid "Price Difference Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: help:product.category,property_account_creditor_price_difference_categ:0
|
||||
#: help:product.template,property_account_creditor_price_difference:0
|
||||
msgid ""
|
||||
"This account will be used to value price difference between purchase price "
|
||||
"and cost price."
|
||||
msgstr ""
|
||||
@@ -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-02-16 14:07+0000\n"
|
||||
"PO-Revision-Date: 2010-02-22 12:42+0000\n"
|
||||
"Last-Translator: adnan <adnankraljic@yahoo.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-02-17 04:56+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_balance
|
||||
@@ -73,27 +73,27 @@ msgstr "Odaberite razdoblja"
|
||||
#. module: account_balance
|
||||
#: selection:account.balance.account.balance.report,init,compare_pattern:0
|
||||
msgid "Percentage"
|
||||
msgstr ""
|
||||
msgstr "Procenat"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_field:account.balance.account.balance.report,init,compare_pattern:0
|
||||
msgid "Compare Selected Years In Terms Of"
|
||||
msgstr ""
|
||||
msgstr "Usporedi odabrane godine pod uvjetima"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,init:0
|
||||
msgid "Select Fiscal Year(s)(Maximum Three Years)"
|
||||
msgstr ""
|
||||
msgstr "Odaberite fiskalne godine (Maksimalno 3 godine)"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_field:account.balance.account.balance.report,init,select_account:0
|
||||
msgid "Select Reference Account(for % comparision)"
|
||||
msgstr ""
|
||||
msgstr "Izaberi odgovarajuća konta (za poređenje u %)"
|
||||
|
||||
#. module: account_balance
|
||||
#: model:ir.actions.wizard,name:account_balance.wizard_account_balance_report
|
||||
msgid "Account balance-Compare Years"
|
||||
msgstr ""
|
||||
msgstr "Saldo konta - poredi godine"
|
||||
|
||||
#. module: account_balance
|
||||
#: model:ir.module.module,description:account_balance.module_meta_information
|
||||
@@ -120,108 +120,108 @@ msgstr ""
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,backtoinit:0
|
||||
msgid "You have to select 'Landscape' option. Please Check it."
|
||||
msgstr ""
|
||||
msgstr "Morate odabrati opciju 'Položeno'. Molimo označite je."
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_field:account.balance.account.balance.report,init,landscape:0
|
||||
msgid "Show Report in Landscape Form"
|
||||
msgstr ""
|
||||
msgstr "Prikaži izvješće u položenoj formi"
|
||||
|
||||
#. module: account_balance
|
||||
#: help:account.balance.account.balance.report,init,periods:0
|
||||
msgid "All periods if empty"
|
||||
msgstr ""
|
||||
msgstr "Ako je prazno, sva razdoblja"
|
||||
|
||||
#. module: account_balance
|
||||
#: selection:account.balance.account.balance.report,init,account_choice:0
|
||||
msgid "With balance is not equal to 0"
|
||||
msgstr ""
|
||||
msgstr "Sa saldom različit od 0"
|
||||
|
||||
#. module: account_balance
|
||||
#: rml:account.account.balance.landscape:0
|
||||
#: rml:account.balance.account.balance:0
|
||||
msgid "Total :"
|
||||
msgstr ""
|
||||
msgstr "Ukupno :"
|
||||
|
||||
#. module: account_balance
|
||||
#: rml:account.account.balance.landscape:0
|
||||
#: rml:account.balance.account.balance:0
|
||||
msgid "Account Balance -"
|
||||
msgstr ""
|
||||
msgstr "Saldo računa -"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_field:account.balance.account.balance.report,init,format_perc:0
|
||||
msgid "Show Comparision in %"
|
||||
msgstr ""
|
||||
msgstr "Prikaži usporedbu u %"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,init:0
|
||||
msgid "Select Period"
|
||||
msgstr ""
|
||||
msgstr "Odaberite razdoblje"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,init:0
|
||||
msgid "Report Options"
|
||||
msgstr ""
|
||||
msgstr "Postavke izvješća"
|
||||
|
||||
#. module: account_balance
|
||||
#: selection:account.balance.account.balance.report,init,account_choice:0
|
||||
msgid "With movements"
|
||||
msgstr ""
|
||||
msgstr "Sa kretanjima"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_button:account.balance.account.balance.report,backtoinit,end:0
|
||||
#: wizard_button:account.balance.account.balance.report,zero_years,end:0
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
msgstr "Uredu"
|
||||
|
||||
#. module: account_balance
|
||||
#: selection:account.balance.account.balance.report,init,compare_pattern:0
|
||||
msgid "Cash"
|
||||
msgstr ""
|
||||
msgstr "Gotovina"
|
||||
|
||||
#. module: account_balance
|
||||
#: selection:account.balance.account.balance.report,init,compare_pattern:0
|
||||
msgid "Don't Compare"
|
||||
msgstr ""
|
||||
msgstr "Ne uspoređuj"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_field:account.balance.account.balance.report,init,account_choice:0
|
||||
msgid "Show Accounts"
|
||||
msgstr ""
|
||||
msgstr "Prikaži račune"
|
||||
|
||||
#. module: account_balance
|
||||
#: rml:account.account.balance.landscape:0
|
||||
#: rml:account.balance.account.balance:0
|
||||
msgid "Credit"
|
||||
msgstr ""
|
||||
msgstr "Potražuje"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,backtoinit:0
|
||||
msgid "1. You have selected more than 3 years in any case."
|
||||
msgstr ""
|
||||
msgstr "1. Odabrali ste više od 3 godine u svakom slučaju."
|
||||
|
||||
#. module: account_balance
|
||||
#: model:ir.module.module,shortdesc:account_balance.module_meta_information
|
||||
msgid "Accounting and financial management-Compare Accounts"
|
||||
msgstr ""
|
||||
msgstr "Upravljanje računovodstvom i finansijama - Usporedi konta"
|
||||
|
||||
#. module: account_balance
|
||||
#: rml:account.account.balance.landscape:0
|
||||
#: rml:account.balance.account.balance:0
|
||||
msgid "Year :"
|
||||
msgstr ""
|
||||
msgstr "Godina:"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,backtoinit:0
|
||||
msgid "You can select maximum 3 years. Please check again."
|
||||
msgstr ""
|
||||
msgstr "Možete odabrati maksimalno 3 godine. Molimo pokušajte ponovno."
|
||||
|
||||
#. module: account_balance
|
||||
#: rml:account.account.balance.landscape:0
|
||||
#: rml:account.balance.account.balance:0
|
||||
msgid "Balance"
|
||||
msgstr ""
|
||||
msgstr "Saldo"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,backtoinit:0
|
||||
@@ -229,27 +229,30 @@ msgid ""
|
||||
"3. You have selected 'Percentage' option with more than 2 years, but you "
|
||||
"have not selected landscape format."
|
||||
msgstr ""
|
||||
"Izabrali ste \"Postotak\" opciju sa više od dvije godine, ali niste odabrali "
|
||||
"\"Položeni\" format."
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,backtoinit:0
|
||||
msgid ""
|
||||
"You might have done following mistakes. Please correct them and try again."
|
||||
msgstr ""
|
||||
"Možda ste napravili sljedeće pogreške. Ispravite ih i pokušajte ponovno."
|
||||
|
||||
#. module: account_balance
|
||||
#: help:account.balance.account.balance.report,init,select_account:0
|
||||
msgid "Keep empty for comparision to its parent"
|
||||
msgstr ""
|
||||
msgstr "Ostavite prazno za usporedbu sa roditeljem"
|
||||
|
||||
#. module: account_balance
|
||||
#: selection:account.balance.account.balance.report,init,period_manner:0
|
||||
msgid "Creation Date"
|
||||
msgstr ""
|
||||
msgstr "Datum kreiranja"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_field:account.balance.account.balance.report,init,fiscalyear:0
|
||||
msgid "Fiscal year"
|
||||
msgstr ""
|
||||
msgstr "Fiskalna godina"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,backtoinit:0
|
||||
@@ -257,11 +260,12 @@ msgid ""
|
||||
"2. You have not selected 'Percentage' option, but you have selected more "
|
||||
"than 2 years."
|
||||
msgstr ""
|
||||
"2. Niste odabrali opciju 'Postotak', ali ste odabrali više od 2 godine."
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_field:account.balance.account.balance.report,init,periods:0
|
||||
msgid "Periods"
|
||||
msgstr ""
|
||||
msgstr "Razdoblja"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,zero_years:0
|
||||
@@ -270,18 +274,21 @@ msgid ""
|
||||
"credit/debit columns and % option.This can lead contents to be printed out "
|
||||
"of the paper.Please try again."
|
||||
msgstr ""
|
||||
"Postoji mogućnost da ste odabrali postavke usporedbe sa više od 1 godine sa "
|
||||
"stupcima duguje/potražuje i % opcijom. Ovo može biti uzrok ispisa van "
|
||||
"papira. Molimo pokušajte ponovno."
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_button:account.balance.account.balance.report,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Odustani"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,zero_years:0
|
||||
msgid "You have to select at least 1 Fiscal Year. Try again."
|
||||
msgstr ""
|
||||
msgstr "Morate odabrati bar 1 fiskalnu godinu. Pokušajte ponovno."
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,init:0
|
||||
msgid "Customize Report"
|
||||
msgstr ""
|
||||
msgstr "Prilagodite izvješće"
|
||||
|
||||
@@ -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-02-14 21:29+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-02-27 08:20+0000\n"
|
||||
"Last-Translator: Oktay Altunergil <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-02-17 04:56+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-01 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_budget
|
||||
@@ -35,7 +35,7 @@ msgstr "Bütçe Durumları"
|
||||
#. module: account_budget
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "İşlem tanımlamasında geçersiz model adı."
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
# Norwegian Bokmal 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-02-21 07:35+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Norwegian Bokmal <nb@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-02-25 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_chart
|
||||
#: model:ir.module.module,description:account_chart.module_meta_information
|
||||
msgid "Remove minimal account chart"
|
||||
msgstr "Fjern minimal konto diagram"
|
||||
@@ -7,16 +7,16 @@ 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-18 15:24+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-02-21 07:34+0000\n"
|
||||
"Last-Translator: Kristian <kimocoder> Bremvaag <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: 2009-12-16 05:27+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_chart
|
||||
#: model:ir.module.module,description:account_chart.module_meta_information
|
||||
msgid "Remove minimal account chart"
|
||||
msgstr ""
|
||||
msgstr "Ta bort minimal konto diagram"
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>account_invoice_layout</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.python.pydev.PyDevBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.python.pydev.pythonNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?eclipse-pydev version="1.0"?>
|
||||
|
||||
<pydev_project>
|
||||
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.4</pydev_property>
|
||||
</pydev_project>
|
||||
@@ -0,0 +1,53 @@
|
||||
# English (Australia) 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-02-26 06:55+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: English (Australia) <en_AU@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-02-27 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_tax_include
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_tax_include
|
||||
#: field:account.invoice,price_type:0
|
||||
msgid "Price method"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_tax_include
|
||||
#: model:ir.module.module,shortdesc:account_tax_include.module_meta_information
|
||||
msgid "Invoices and prices with taxes included"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_tax_include
|
||||
#: selection:account.invoice,price_type:0
|
||||
msgid "Tax included"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_tax_include
|
||||
#: selection:account.invoice,price_type:0
|
||||
msgid "Tax excluded"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_tax_include
|
||||
#: view:account.tax:0
|
||||
msgid "Compute Code for Taxes included prices"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_tax_include
|
||||
#: field:account.invoice.line,price_subtotal_incl:0
|
||||
msgid "Subtotal"
|
||||
msgstr ""
|
||||
@@ -0,0 +1,53 @@
|
||||
# Slovak 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-02-23 08:12+0000\n"
|
||||
"Last-Translator: Radoslav Sloboda <rado.sloboda@gmail.com>\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-02-25 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_tax_include
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Neplatný súbor XML pre zobrazenie architektúry!"
|
||||
|
||||
#. module: account_tax_include
|
||||
#: field:account.invoice,price_type:0
|
||||
msgid "Price method"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_tax_include
|
||||
#: model:ir.module.module,shortdesc:account_tax_include.module_meta_information
|
||||
msgid "Invoices and prices with taxes included"
|
||||
msgstr "Faktúry a ceny zahrnuté s DPH"
|
||||
|
||||
#. module: account_tax_include
|
||||
#: selection:account.invoice,price_type:0
|
||||
msgid "Tax included"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_tax_include
|
||||
#: selection:account.invoice,price_type:0
|
||||
msgid "Tax excluded"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_tax_include
|
||||
#: view:account.tax:0
|
||||
msgid "Compute Code for Taxes included prices"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_tax_include
|
||||
#: field:account.invoice.line,price_subtotal_incl:0
|
||||
msgid "Subtotal"
|
||||
msgstr "Medzisúčet"
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,7 +15,7 @@
|
||||
# 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/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@@ -36,7 +36,7 @@ class account_invoice(osv.osv):
|
||||
_defaults = {
|
||||
'price_type': lambda *a: 'tax_excluded',
|
||||
}
|
||||
|
||||
|
||||
def refund(self, cr, uid, ids, date=None, period_id=None, description=None):
|
||||
map_old_new = {}
|
||||
refund_ids = []
|
||||
@@ -44,12 +44,12 @@ class account_invoice(osv.osv):
|
||||
new_id = super(account_invoice,self).refund(cr, uid, ids, date=date, period_id=period_id, description=description)
|
||||
refund_ids += new_id
|
||||
map_old_new[old_inv_id] = new_id[0]
|
||||
|
||||
|
||||
for old_inv_id in map_old_new.keys():
|
||||
old_inv_record = self.read(cr, uid, [old_inv_id], ['price_type'])[0]['price_type']
|
||||
self.write(cr, uid, [map_old_new[old_inv_id]], {'price_type' : old_inv_record})
|
||||
return refund_ids
|
||||
|
||||
|
||||
account_invoice()
|
||||
|
||||
class account_invoice_line(osv.osv):
|
||||
@@ -156,16 +156,16 @@ class account_invoice_line(osv.osv):
|
||||
else:
|
||||
return super(account_invoice_line, self).product_id_change_unit_price_inv(cr, uid, tax_id, price_unit, qty, address_invoice_id, product, partner_id, context=context)
|
||||
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, context=None):
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None):
|
||||
# note: will call product_id_change_unit_price_inv with context...
|
||||
|
||||
# Temporary trap, for bad context that came from koo:
|
||||
# Temporary trap, for bad context that came from koo:
|
||||
# if isinstance(context, str):
|
||||
# print "str context:", context
|
||||
|
||||
ctx = (context and context.copy()) or {}
|
||||
ctx.update({'price_type': ctx.get('price_type','tax_excluded')})
|
||||
return super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, context=ctx)
|
||||
return super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id=currency_id, context=ctx)
|
||||
account_invoice_line()
|
||||
|
||||
class account_invoice_tax(osv.osv):
|
||||
@@ -180,7 +180,7 @@ class account_invoice_tax(osv.osv):
|
||||
cur_obj = self.pool.get('res.currency')
|
||||
cur = inv.currency_id
|
||||
company_currency = inv.company_id.currency_id.id
|
||||
|
||||
|
||||
for line in inv.invoice_line:
|
||||
data = self.pool.get('account.invoice.line')._amount_line2(cr, uid, [line.id], [], [], context)[line.id]
|
||||
for tax in data['data']:
|
||||
@@ -218,7 +218,7 @@ class account_invoice_tax(osv.osv):
|
||||
t['amount'] = cur_obj.round(cr, uid, cur, t['amount'])
|
||||
t['base_amount'] = cur_obj.round(cr, uid, cur, t['base_amount'])
|
||||
t['tax_amount'] = cur_obj.round(cr, uid, cur, t['tax_amount'])
|
||||
|
||||
|
||||
return tax_grouped
|
||||
account_invoice_tax()
|
||||
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
# Slovak 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-02-23 08:09+0000\n"
|
||||
"Last-Translator: Radoslav Sloboda <rado.sloboda@gmail.com>\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-02-25 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Neplatný súbor XML pre zobrazenie architektúry!"
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: model:ir.model,name:analytic_user_function.model_analytic_user_funct_grid
|
||||
msgid "Relation table between users and products on a analytic account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: field:analytic_user_funct_grid,product_id:0
|
||||
msgid "Product"
|
||||
msgstr "Produkt"
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: field:analytic_user_funct_grid,account_id:0
|
||||
msgid "Analytic Account"
|
||||
msgstr "Analytický účet"
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: view:account.analytic.account:0
|
||||
#: field:account.analytic.account,user_product_ids:0
|
||||
msgid "Users/Products Rel."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: field:analytic_user_funct_grid,user_id:0
|
||||
msgid "User"
|
||||
msgstr "Užívateľ"
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Názov objektu musí začínať x_ a nesmie obsahovať žiadne špeciálne znaky!"
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: model:ir.module.module,shortdesc:analytic_user_function.module_meta_information
|
||||
msgid "Analytic User Function"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: view:analytic_user_funct_grid:0
|
||||
msgid "User's Product for this Analytic Account"
|
||||
msgstr ""
|
||||
@@ -37,6 +37,9 @@ months = {
|
||||
10:"October", 11:"November", 12:"December"}
|
||||
|
||||
def get_recurrent_dates(rrulestring, exdate, startdate=None):
|
||||
def todate(date):
|
||||
val = parser.parse(''.join((re.compile('\d')).findall(date)) + 'Z')
|
||||
return val
|
||||
if not startdate:
|
||||
startdate = datetime.now()
|
||||
rset1 = rrule.rrulestr(rrulestring, dtstart=startdate, forceset=True)
|
||||
@@ -394,7 +397,7 @@ request was delegated to"),
|
||||
'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'),
|
||||
'partner_id': fields.related('partner_address_id', 'partner_id', type='many2one', relation='res.partner', string='Partner'),
|
||||
'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, required=True, help="Email of Invited Person"),
|
||||
'event_date': fields.function(_compute_data, method=True, string='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'),
|
||||
|
||||
@@ -71,8 +71,8 @@
|
||||
<group colspan="4" col="4">
|
||||
<field name="user_id" string="Invited User"/>
|
||||
<newline/>
|
||||
<field name="partner_id" string="Partner"/>
|
||||
<field name="partner_address_id" string="Contact"/>
|
||||
<field name="partner_address_id" string="Partner Contact"/>
|
||||
<field name="partner_id" string="Partner" readonly="1"/>
|
||||
<field name="role" string="Role" />
|
||||
<field name="cutype" string="Invitation type" />
|
||||
<field name="rsvp" />
|
||||
|
||||
@@ -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-22 18:58+0000\n"
|
||||
"PO-Revision-Date: 2010-02-28 09:01+0000\n"
|
||||
"Last-Translator: Ferdinand @ ChriCar <Unknown>\n"
|
||||
"Language-Team: German <de@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2009-12-16 05:26+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-01 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_quality
|
||||
#: field:module.quality.check,final_score:0
|
||||
msgid "Final Score (%)"
|
||||
msgstr "Final Score (%)"
|
||||
msgstr "Endergebnis"
|
||||
|
||||
#. module: base_module_quality
|
||||
#: constraint:ir.model:0
|
||||
|
||||
@@ -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: 2010-02-02 17:45+0000\n"
|
||||
"PO-Revision-Date: 2010-02-25 08:34+0000\n"
|
||||
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.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-02-04 04:47+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-27 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_module_quality
|
||||
@@ -98,7 +98,7 @@ msgstr "Неправильный XML для просмотра архитект
|
||||
#. module: base_module_quality
|
||||
#: model:ir.model,name:base_module_quality.model_module_quality_check
|
||||
msgid "module.quality.check"
|
||||
msgstr ""
|
||||
msgstr "Проверка качества"
|
||||
|
||||
#. module: base_module_quality
|
||||
#: field:module.quality.detail,name:0
|
||||
@@ -154,7 +154,7 @@ msgstr "Проверка качества"
|
||||
#. module: base_module_quality
|
||||
#: model:ir.model,name:base_module_quality.model_module_quality_detail
|
||||
msgid "module.quality.detail"
|
||||
msgstr ""
|
||||
msgstr "Детальный отчет от качестве модуля"
|
||||
|
||||
#. module: base_module_quality
|
||||
#: selection:module.quality.detail,state: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:16+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-02-26 20:18+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus) <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: 2009-12-16 05:21+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-27 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_report_creator
|
||||
@@ -27,7 +27,7 @@ msgstr ""
|
||||
#. module: base_report_creator
|
||||
#: field:base_report_creator.report,view_graph_type:0
|
||||
msgid "Graph Type"
|
||||
msgstr ""
|
||||
msgstr "Typ wykresu"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: view:base_report_creator.report:0
|
||||
@@ -57,7 +57,7 @@ msgstr ""
|
||||
#. module: base_report_creator
|
||||
#: field:base_report_creator.report.filter,expression:0
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
msgstr "Wartość"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: model:ir.actions.wizard,name:base_report_creator.wizard_set_filter_fields
|
||||
@@ -67,7 +67,7 @@ msgstr ""
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report.fields,calendar_mode:0
|
||||
msgid "Ending Date"
|
||||
msgstr ""
|
||||
msgstr "Data końcowa"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: model:ir.model,name:base_report_creator.model_base_report_creator_report_filter
|
||||
@@ -84,17 +84,17 @@ msgstr ""
|
||||
#: view:base_report_creator.report:0
|
||||
#: wizard_button:base_report_creator.report.menu.create,init,create_menu:0
|
||||
msgid "Create Menu"
|
||||
msgstr ""
|
||||
msgstr "Utwórz menu"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report.fields,group_method:0
|
||||
msgid "Minimum"
|
||||
msgstr ""
|
||||
msgstr "Minimum"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: wizard_field:base_report_creator.report_filter.fields,set_value_select_field,operator:0
|
||||
msgid "Operator"
|
||||
msgstr ""
|
||||
msgstr "Operator"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report.filter,condition:0
|
||||
@@ -131,7 +131,7 @@ msgstr ""
|
||||
#. module: base_report_creator
|
||||
#: field:base_report_creator.report,type:0
|
||||
msgid "Report Type"
|
||||
msgstr ""
|
||||
msgstr "Typ raportu"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: view:base_report_creator.report:0
|
||||
@@ -141,7 +141,7 @@ msgstr "Stan"
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report,state:0
|
||||
msgid "Valid"
|
||||
msgstr "Prawidłowy"
|
||||
msgstr "Skończony"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: view:base_report_creator.report:0
|
||||
@@ -158,7 +158,7 @@ msgstr ""
|
||||
#: selection:base_report_creator.report,view_type2:0
|
||||
#: selection:base_report_creator.report,view_type3:0
|
||||
msgid "Form"
|
||||
msgstr ""
|
||||
msgstr "Formularz"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report,view_type3:0
|
||||
@@ -172,12 +172,12 @@ msgstr ""
|
||||
#: field:base_report_creator.report.filter,report_id:0
|
||||
#: model:ir.model,name:base_report_creator.model_base_report_creator_report
|
||||
msgid "Report"
|
||||
msgstr ""
|
||||
msgstr "Raport"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report.fields,calendar_mode:0
|
||||
msgid "Starting Date"
|
||||
msgstr ""
|
||||
msgstr "Data rozpoczęcia"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: constraint:ir.ui.view:0
|
||||
@@ -189,7 +189,7 @@ msgstr "XML niewłaściwy dla tej architektury wyświetlania!"
|
||||
#: selection:base_report_creator.report,view_type2:0
|
||||
#: selection:base_report_creator.report,view_type3:0
|
||||
msgid "Tree"
|
||||
msgstr ""
|
||||
msgstr "Drzewo"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: field:base_report_creator.report,group_ids:0
|
||||
@@ -209,12 +209,12 @@ msgstr ""
|
||||
#. module: base_report_creator
|
||||
#: view:base_report_creator.report:0
|
||||
msgid "Security"
|
||||
msgstr "Zabezpieczenia"
|
||||
msgstr "Uprawnienia"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: wizard_field:base_report_creator.report.menu.create,init,menu_name:0
|
||||
msgid "Menu Name"
|
||||
msgstr ""
|
||||
msgstr "Nazwa Menu"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report.filter,condition:0
|
||||
@@ -235,21 +235,21 @@ msgstr ""
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report.fields,graph_mode:0
|
||||
msgid "Y Axis"
|
||||
msgstr ""
|
||||
msgstr "Oś Y"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report,view_type1:0
|
||||
#: selection:base_report_creator.report,view_type2:0
|
||||
#: selection:base_report_creator.report,view_type3:0
|
||||
msgid "Calendar"
|
||||
msgstr ""
|
||||
msgstr "Kalendarz"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report,view_type1:0
|
||||
#: selection:base_report_creator.report,view_type2:0
|
||||
#: selection:base_report_creator.report,view_type3:0
|
||||
msgid "Graph"
|
||||
msgstr ""
|
||||
msgstr "Wykres"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: wizard_field:base_report_creator.report_filter.fields,set_value_select_field,field_id:0
|
||||
@@ -259,7 +259,7 @@ msgstr "Nazwa pola"
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report,state:0
|
||||
msgid "Draft"
|
||||
msgstr "Roboczy"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: wizard_view:base_report_creator.report_filter.fields,set_value_select_field:0
|
||||
@@ -269,12 +269,12 @@ msgstr ""
|
||||
#. module: base_report_creator
|
||||
#: field:base_report_creator.report,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Stan"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report,view_graph_orientation:0
|
||||
msgid "Vertical"
|
||||
msgstr ""
|
||||
msgstr "Pionowo"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report,type:0
|
||||
@@ -284,7 +284,7 @@ msgstr ""
|
||||
#. module: base_report_creator
|
||||
#: view:base_report_creator.report:0
|
||||
msgid "General Configuration"
|
||||
msgstr ""
|
||||
msgstr "Konfiguracja ogólna"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: wizard_view:base_report_creator.report_filter.fields,init:0
|
||||
@@ -294,38 +294,38 @@ msgstr ""
|
||||
#. module: base_report_creator
|
||||
#: field:base_report_creator.report,active:0
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
msgstr "Aktywne"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report,view_graph_orientation:0
|
||||
msgid "Horizontal"
|
||||
msgstr ""
|
||||
msgstr "Poziomo"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: field:base_report_creator.report.fields,group_method:0
|
||||
msgid "Grouping Method"
|
||||
msgstr ""
|
||||
msgstr "Metoda grupowania"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: field:base_report_creator.report.filter,condition:0
|
||||
#: wizard_field:base_report_creator.report_filter.fields,set_value_select_field,condition:0
|
||||
msgid "Condition"
|
||||
msgstr ""
|
||||
msgstr "Warunek"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report.fields,group_method:0
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
msgstr "Licznik"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report.fields,graph_mode:0
|
||||
msgid "X Axis"
|
||||
msgstr ""
|
||||
msgstr "Oś X"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: wizard_field:base_report_creator.report.menu.create,init,menu_parent_id:0
|
||||
msgid "Parent Menu"
|
||||
msgstr ""
|
||||
msgstr "Menu nadrzędne"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: wizard_button:base_report_creator.report_filter.fields,set_value_select_field,set_value:0
|
||||
@@ -340,12 +340,12 @@ msgstr ""
|
||||
#. module: base_report_creator
|
||||
#: model:ir.actions.wizard,name:base_report_creator.wizard_report_open
|
||||
msgid "Open Report"
|
||||
msgstr ""
|
||||
msgstr "Otwórz raport"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report.fields,group_method:0
|
||||
msgid "Grouped"
|
||||
msgstr ""
|
||||
msgstr "Zgrupowane"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: view:base_report_creator.report:0
|
||||
@@ -358,7 +358,7 @@ msgstr ""
|
||||
#: wizard_button:base_report_creator.report_filter.fields,init,end:0
|
||||
#: wizard_button:base_report_creator.report_filter.fields,set_value_select_field,end:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Anuluj"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: constraint:ir.model:0
|
||||
@@ -391,7 +391,7 @@ msgstr ""
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report,view_graph_type:0
|
||||
msgid "Pie Chart"
|
||||
msgstr ""
|
||||
msgstr "Wykres kołowy"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: field:base_report_creator.report,view_type3:0
|
||||
@@ -417,42 +417,42 @@ msgstr ""
|
||||
#. module: base_report_creator
|
||||
#: field:base_report_creator.report,name:0
|
||||
msgid "Report Name"
|
||||
msgstr ""
|
||||
msgstr "Nazwa raportu"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: view:base_report_creator.report:0
|
||||
msgid "Fields"
|
||||
msgstr ""
|
||||
msgstr "Pola"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report.fields,group_method:0
|
||||
msgid "Average"
|
||||
msgstr ""
|
||||
msgstr "Średnia"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: view:base_report_creator.report:0
|
||||
msgid "Reports"
|
||||
msgstr ""
|
||||
msgstr "Raporty"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report.fields,group_method:0
|
||||
msgid "Maximum"
|
||||
msgstr ""
|
||||
msgstr "Maksimum"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: wizard_button:base_report_creator.report_filter.fields,init,set_value_select_field:0
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
msgstr "Kontynuuj"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: wizard_field:base_report_creator.report_filter.fields,set_value_select_field,value:0
|
||||
msgid "Values"
|
||||
msgstr ""
|
||||
msgstr "Wartości"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: selection:base_report_creator.report,view_graph_type:0
|
||||
msgid "Bar Chart"
|
||||
msgstr ""
|
||||
msgstr "Wykres słupkowy"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: field:base_report_creator.report,view_type2:0
|
||||
@@ -472,12 +472,12 @@ msgstr ""
|
||||
#. module: base_report_creator
|
||||
#: field:base_report_creator.report.fields,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
msgstr "Numeracja"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: wizard_field:base_report_creator.report_filter.fields,init,field_id:0
|
||||
msgid "Filter Field"
|
||||
msgstr ""
|
||||
msgstr "Pole filtrowania"
|
||||
|
||||
#. module: base_report_creator
|
||||
#: view:base_report_creator.report:0
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
# English (Australia) 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-02-26 07:31+0000\n"
|
||||
"Last-Translator: brentos <Unknown>\n"
|
||||
"Language-Team: English (Australia) <en_AU@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-02-27 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_vat
|
||||
#: model:ir.module.module,description:base_vat.module_meta_information
|
||||
msgid ""
|
||||
"Enable the VAT Number for the partner. Check the validity of that VAT Number."
|
||||
msgstr "Enable the ABN for the partner. Check the validity of at ABN."
|
||||
|
||||
#. module: base_vat
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Invalid XML for View Architecture!"
|
||||
|
||||
#. module: base_vat
|
||||
#: field:res.partner,vat_subjected:0
|
||||
msgid "VAT Legal Statement"
|
||||
msgstr "GST Legal Statement"
|
||||
|
||||
#. module: base_vat
|
||||
#: model:ir.module.module,shortdesc:base_vat.module_meta_information
|
||||
msgid "VAT"
|
||||
msgstr "GST"
|
||||
@@ -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-12-15 11:05+0000\n"
|
||||
"PO-Revision-Date: 2010-02-23 08:20+0000\n"
|
||||
"Last-Translator: Radoslav Sloboda <rado.sloboda@gmail.com>\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: 2009-12-16 05:21+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
msgid "Analytic accounts to close"
|
||||
msgstr ""
|
||||
msgstr "Zatvoriť analytické účty"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
@@ -36,24 +36,24 @@ msgstr "Neplatný súbor XML pre zobrazenie architektúry!"
|
||||
#: model:ir.actions.act_window,name:board_account.open_board_account
|
||||
#: model:ir.ui.menu,name:board_account.menu_board_account
|
||||
msgid "Accounting Dashboard"
|
||||
msgstr ""
|
||||
msgstr "Nástenka účtovníctva"
|
||||
|
||||
#. module: board_account
|
||||
#: model:ir.actions.act_window,name:board_account.action_aged_receivable
|
||||
msgid "Receivable Accounts"
|
||||
msgstr ""
|
||||
msgstr "Účty pohľadávok"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board_account.act_my_account
|
||||
msgid "Accounts to invoice"
|
||||
msgstr ""
|
||||
msgstr "Účty na faktúre"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board_account.action_account_analytic_line_to_invoice
|
||||
msgid "Costs to invoice"
|
||||
msgstr ""
|
||||
msgstr "Náklady na faktúru"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
@@ -73,17 +73,17 @@ msgstr ""
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
msgid "My indicators"
|
||||
msgstr ""
|
||||
msgstr "Moja ukazovatele"
|
||||
|
||||
#. module: board_account
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Neplatný názov modelu v akcii definície."
|
||||
|
||||
#. module: board_account
|
||||
#: model:ir.ui.menu,name:board_account.next_id_68
|
||||
msgid "Accounting"
|
||||
msgstr ""
|
||||
msgstr "Účtovníctvo"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
|
||||
@@ -24,9 +24,9 @@ import crm_mailgate
|
||||
import crm_action_rule
|
||||
import crm_segmentation
|
||||
import crm_meeting
|
||||
import crm_opportunity
|
||||
import crm_lead
|
||||
import crm_phonecall
|
||||
import crm_opportunity
|
||||
import crm_claim
|
||||
import crm_fundraising
|
||||
import crm_helpdesk
|
||||
|
||||
+24
-28
@@ -62,15 +62,15 @@ icon_lst = {
|
||||
|
||||
class crm_case_section(osv.osv):
|
||||
_name = "crm.case.section"
|
||||
_description = "Case Section"
|
||||
_description = "Sales Teams"
|
||||
_order = "name"
|
||||
_columns = {
|
||||
'name': fields.char('Case Section',size=64, required=True, translate=True),
|
||||
'code': fields.char('Section Code',size=8),
|
||||
'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the case section without removing it."),
|
||||
'name': fields.char('Sales Team',size=64, required=True, translate=True),
|
||||
'code': fields.char('Code',size=8),
|
||||
'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the sales team without removing it."),
|
||||
'allow_unlink': fields.boolean('Allow Delete', help="Allows to delete non draft cases"),
|
||||
'user_id': fields.many2one('res.users', 'Responsible User'),
|
||||
'reply_to': fields.char('Reply-To', size=64, help="The email address put in the 'Reply-To' of all emails sent by Open ERP about cases in this section"),
|
||||
'reply_to': fields.char('Reply-To', size=64, help="The email address put in the 'Reply-To' of all emails sent by Open ERP about cases in this sales team"),
|
||||
'parent_id': fields.many2one('crm.case.section', 'Parent Section'),
|
||||
'child_ids': fields.one2many('crm.case.section', 'parent_id', 'Child Sections'),
|
||||
}
|
||||
@@ -111,17 +111,15 @@ class crm_case_categ(osv.osv):
|
||||
_description = "Category of case"
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Case Category Name', size=64, required=True, translate=True),
|
||||
'probability': fields.float('Probability (%)', required=True),
|
||||
'section_id': fields.many2one('crm.case.section', 'Case Section'),
|
||||
'name': fields.char('Case Category Name', size=64, required=True, translate=True),
|
||||
'section_id': fields.many2one('crm.case.section', 'Sales Team'),
|
||||
'object_id': fields.many2one('ir.model','Object Name'),
|
||||
}
|
||||
def _find_object_id(self, cr, uid, context=None):
|
||||
object_id = context and context.get('object_id', False) or False
|
||||
ids =self.pool.get('ir.model').search(cr, uid, [('model', '=', object_id)])
|
||||
return ids and ids[0]
|
||||
_defaults = {
|
||||
'probability': lambda *args: 0.0,
|
||||
_defaults = {
|
||||
'object_id' : _find_object_id
|
||||
}
|
||||
#
|
||||
@@ -133,7 +131,7 @@ class crm_case_resource_type(osv.osv):
|
||||
_rec_name = "name"
|
||||
_columns = {
|
||||
'name': fields.char('Case Resource Type', size=64, required=True, translate=True),
|
||||
'section_id': fields.many2one('crm.case.section', 'Case Section'),
|
||||
'section_id': fields.many2one('crm.case.section', 'Sales Team'),
|
||||
'object_id': fields.many2one('ir.model','Object Name'),
|
||||
}
|
||||
def _find_object_id(self, cr, uid, context=None):
|
||||
@@ -153,9 +151,11 @@ class crm_case_stage(osv.osv):
|
||||
_order = "sequence"
|
||||
_columns = {
|
||||
'name': fields.char('Stage Name', size=64, required=True, translate=True),
|
||||
'section_id': fields.many2one('crm.case.section', 'Case Section'),
|
||||
'section_id': fields.many2one('crm.case.section', 'Sales Team'),
|
||||
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of case stages."),
|
||||
'object_id': fields.many2one('ir.model','Object Name'),
|
||||
'probability': fields.float('Probability (%)', required=True),
|
||||
'on_change': fields.boolean('Set Onchange'),
|
||||
}
|
||||
def _find_object_id(self, cr, uid, context=None):
|
||||
object_id = context and context.get('object_id', False) or False
|
||||
@@ -163,6 +163,7 @@ class crm_case_stage(osv.osv):
|
||||
return ids and ids[0]
|
||||
_defaults = {
|
||||
'sequence': lambda *args: 1,
|
||||
'probability': lambda *args: 0.0,
|
||||
'object_id' : _find_object_id
|
||||
}
|
||||
|
||||
@@ -218,21 +219,22 @@ class crm_case(osv.osv):
|
||||
'id': fields.integer('ID', readonly=True),
|
||||
'name': fields.char('Description', size=1024, required=True),
|
||||
'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the case without removing it."),
|
||||
'description': fields.text('Your action'),
|
||||
'section_id': fields.many2one('crm.case.section', 'Section', select=True, help='Section to which Case belongs to. Define Responsible user and Email account for mail gateway.'),
|
||||
'email_from': fields.char('Partner Email', size=128, help="These people will receive email."),
|
||||
'email_cc': fields.char('Watchers Emails', size=252 , help="These people will receive a copy of the future" \
|
||||
'description': fields.text('Description'),
|
||||
'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.'),
|
||||
'email_from': fields.char('Email', size=128, help="These people will receive email."),
|
||||
'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"),
|
||||
'email_last': fields.function(_email_last, method=True,
|
||||
string='Latest E-Mail', type='text'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', domain="[('partner_id','=',partner_id)]"),
|
||||
'date': fields.datetime('Date'),
|
||||
'create_date': fields.datetime('Created' ,readonly=True),
|
||||
'date_deadline': fields.datetime('Deadline'),
|
||||
'create_date': fields.datetime('Creation Date' ,readonly=True),
|
||||
'write_date': fields.datetime('Update Date' ,readonly=True),
|
||||
'date_deadline': fields.date('Deadline'),
|
||||
'user_id': fields.many2one('res.users', 'Responsible'),
|
||||
'history_line': fields.function(_get_log_ids, method=True, type='one2many', multi="history_line", relation="crm.case.history", string="Communication"),
|
||||
'log_ids': fields.function(_get_log_ids, method=True, type='one2many', multi="log_ids", relation="crm.case.log", string="Logs History"),
|
||||
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.opportunity')]"),
|
||||
'state': fields.selection(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\'.\
|
||||
@@ -274,9 +276,9 @@ class crm_case(osv.osv):
|
||||
'partner_address_id': _get_default_partner_address,
|
||||
'email_from': _get_default_email,
|
||||
'state': lambda *a: 'draft',
|
||||
'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
'date_deadline': lambda *a:(datetime.today() + timedelta(days=3)).strftime('%Y-%m-%d %H:%M:%S'),
|
||||
'section_id': _get_section,
|
||||
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.case', context=c),
|
||||
}
|
||||
_order = 'date_deadline desc, date desc,id desc'
|
||||
|
||||
@@ -318,13 +320,8 @@ class crm_case(osv.osv):
|
||||
s[section] = dict([(v, k) for (k, v) in s[section].iteritems()])
|
||||
if st in s[section]:
|
||||
self.write(cr, uid, [case.id], {'stage_id': s[section][st]})
|
||||
return True
|
||||
return True
|
||||
|
||||
def onchange_categ_id(self, cr, uid, ids, categ, context={}):
|
||||
if not categ:
|
||||
return {'value':{}}
|
||||
cat = self.pool.get('crm.case.categ').browse(cr, uid, categ, context).probability
|
||||
return {'value':{'probability':cat}}
|
||||
|
||||
def onchange_case_id(self, cr, uid, ids, case_id, name, partner_id, context={}):
|
||||
if not case_id:
|
||||
@@ -430,7 +427,7 @@ class crm_case(osv.osv):
|
||||
if not part:
|
||||
return {'value':{'partner_address_id': False,
|
||||
'email_from': False,
|
||||
'partner_name2': False}}
|
||||
}}
|
||||
addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['contact'])
|
||||
data = {'partner_address_id': addr['contact']}
|
||||
data.update(self.onchange_partner_address_id(cr, uid, ids, addr['contact'])['value'])
|
||||
@@ -442,7 +439,6 @@ class crm_case(osv.osv):
|
||||
return {'value': {'email_from': False, 'partner_name2': False}}
|
||||
address= self.pool.get('res.partner.address').browse(cr, uid, add)
|
||||
data['email_from'] = address.email
|
||||
data['partner_name2'] = address.name or ''
|
||||
return {'value': data}
|
||||
|
||||
def case_close(self, cr, uid, ids, *args):
|
||||
|
||||
@@ -29,6 +29,7 @@ class crm_claim(osv.osv):
|
||||
_inherit = 'crm.case'
|
||||
_columns = {
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'date': fields.datetime('Date'),
|
||||
'ref' : fields.reference('Reference', selection=crm._links_get, size=128),
|
||||
'ref2' : fields.reference('Reference 2', selection=crm._links_get, size=128),
|
||||
'canal_id': fields.many2one('res.partner.canal', 'Channel',help="The channels represent the different communication modes available with the customer." \
|
||||
|
||||
@@ -8,25 +8,25 @@
|
||||
<field name="name">Claim Categories</field>
|
||||
<field name="res_model">crm.case.categ</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.claim')]</field>
|
||||
<field name="context">{'object_id':'crm.claim'}</field>
|
||||
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.claim')]</field>
|
||||
<field name="context">{'object_id':'crm.claim'}</field>
|
||||
</record>
|
||||
<menuitem action="crm_claim_categ_action" id="menu_crm_case_claim-act" parent="crm.menu_crm_case_categ"/>
|
||||
# ------------------------------------------------------
|
||||
# Stages
|
||||
# ------------------------------------------------------
|
||||
<record id="crm_claim_stage_act" model="ir.actions.act_window">
|
||||
<field name="name">Claim Stages</field>
|
||||
<field name="res_model">crm.case.stage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_stage_tree"/>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.claim')]</field>
|
||||
<field name="context">{'object_id':'crm.claim'}</field>
|
||||
</record>
|
||||
<menuitem action="crm_claim_stage_act" id="menu_crm_claim_stage_act" parent="crm.menu_crm_case_stage"/>
|
||||
<record id="crm_claim_stage_act" model="ir.actions.act_window">
|
||||
<field name="name">Claim Stages</field>
|
||||
<field name="res_model">crm.case.stage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_stage_tree"/>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.claim')]</field>
|
||||
<field name="context">{'object_id':'crm.claim'}</field>
|
||||
</record>
|
||||
<menuitem action="crm_claim_stage_act" id="menu_crm_claim_stage_act" parent="crm.menu_crm_case_stage"/>
|
||||
|
||||
<!-- Claims -->
|
||||
<!-- Claims -->
|
||||
<record model="ir.ui.view" id="crm_case_claims_tree_view">
|
||||
<field name="name">CRM - Claims Tree</field>
|
||||
<field name="model">crm.claim</field>
|
||||
@@ -59,36 +59,35 @@
|
||||
<group colspan="4" col="4">
|
||||
<notebook>
|
||||
<page string="Claim Info">
|
||||
<separator colspan="4" string="Communication"/>
|
||||
<group colspan="4" col="4">
|
||||
<field name="partner_id" string="Partner"
|
||||
on_change="onchange_partner_id(partner_id)" />
|
||||
<field name="partner_address_id" string="Contact"
|
||||
on_change="onchange_partner_address_id(partner_address_id, email_from)" />
|
||||
<field name="partner_phone"/>
|
||||
<field name="partner_mobile"/>
|
||||
<field name="email_from"/>
|
||||
</group>
|
||||
<separator colspan="4" string="Communication"/>
|
||||
<group colspan="4" col="4">
|
||||
<field name="partner_id" string="Partner"
|
||||
on_change="onchange_partner_id(partner_id)" />
|
||||
<field name="partner_address_id" string="Contact"
|
||||
on_change="onchange_partner_address_id(partner_address_id, email_from)" />
|
||||
<field name="partner_phone"/>
|
||||
<field name="partner_mobile"/>
|
||||
<field name="email_from"/>
|
||||
</group>
|
||||
<separator colspan="4" string="Status and Categorization"/>
|
||||
<group colspan="4" col="6">
|
||||
<field name="user_id" string="Responsible" select="2"/>
|
||||
<field name="section_id" widget="selection"/>
|
||||
<label string="Stage: " align="1.0"/>
|
||||
<group colspan="1" col="2">
|
||||
<field name="stage_id" select="1" nolabel="1"/>
|
||||
<button icon="gtk-go-forward" string="" name="stage_next" type="object"/>
|
||||
</group>
|
||||
<field name="categ_id" select="1" widget="selection"
|
||||
on_change="onchange_categ_id(categ_id)"
|
||||
domain="[('object_id.model', '=', 'crm.claim')]" />
|
||||
<field name="type_id" string="Type of Action" select="1"
|
||||
domain="[('object_id.model', '=', 'crm.claim')]" />
|
||||
<field name="priority"/>
|
||||
<field name="user_id" string="Responsible" select="2"/>
|
||||
<field name="section_id" widget="selection"/>
|
||||
<label string="Stage: " align="1.0"/>
|
||||
<group colspan="1" col="2">
|
||||
<field name="stage_id" select="1" nolabel="1"/>
|
||||
<button icon="gtk-go-forward" string="" name="stage_next" type="object"/>
|
||||
</group>
|
||||
<field name="categ_id" select="1" widget="selection"
|
||||
domain="[('object_id.model', '=', 'crm.claim')]" />
|
||||
<field name="type_id" string="Type of Action" select="1"
|
||||
domain="[('object_id.model', '=', 'crm.claim')]" />
|
||||
<field name="priority"/>
|
||||
</group>
|
||||
<separator colspan="4" string="References"/>
|
||||
<group colspan="4" col="4">
|
||||
<field name="ref"/>
|
||||
<field name="ref2"/>
|
||||
<field name="ref"/>
|
||||
<field name="ref2"/>
|
||||
</group>
|
||||
<separator colspan="4" string="Claim/Action Description"/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
@@ -132,9 +131,9 @@
|
||||
<field name="email"/>
|
||||
<field name="canal_id"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
@@ -168,17 +167,17 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_graph_view_stage_cost">
|
||||
<field name="name">CRM -Graph</field>
|
||||
<field name="model">crm.claim</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Cases By Stage and Estimates" type="bar" orientation="vertical">
|
||||
<field name="stage_id"/>
|
||||
<field name="planned_cost" operator="+"/>
|
||||
<field name="planned_revenue" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
<record model="ir.ui.view" id="crm_case_graph_view_stage_cost">
|
||||
<field name="name">CRM -Graph</field>
|
||||
<field name="model">crm.claim</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Cases By Stage and Estimates" type="bar" orientation="vertical">
|
||||
<field name="stage_id"/>
|
||||
<field name="planned_cost" operator="+"/>
|
||||
<field name="planned_revenue" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_crm_case_claims_filter" model="ir.ui.view">
|
||||
@@ -187,35 +186,32 @@
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Claims">
|
||||
<group col="4" colspan="1">
|
||||
<filter icon="gtk-new" string="Current Claims"
|
||||
domain="[('state','in',('draft', 'open'))]"
|
||||
separator="1" help="Current Claims" default="1"
|
||||
/>
|
||||
<filter icon="gtk-execute"
|
||||
string="In Progress Claims"
|
||||
domain="[('state','=','open')]"
|
||||
separator="1" help="In Progress Claims"
|
||||
/>
|
||||
<filter icon="gtk-media-pause"
|
||||
string="Pending Claims"
|
||||
domain="[('state','=','pending')]"
|
||||
separator="1" help="All pending Claims"
|
||||
/>
|
||||
</group>
|
||||
<filter icon="gtk-new" string="Current Claims"
|
||||
domain="[('state','in',('draft', 'open'))]"
|
||||
separator="1" help="Current Claims" default="1"
|
||||
/>
|
||||
<filter icon="gtk-execute"
|
||||
string="In Progress Claims"
|
||||
domain="[('state','=','open')]"
|
||||
separator="1" help="In Progress Claims"
|
||||
/>
|
||||
<filter icon="gtk-media-pause"
|
||||
string="Pending Claims"
|
||||
domain="[('state','=','pending')]"
|
||||
separator="1" help="All pending Claims"
|
||||
/>
|
||||
<separator orientation="vertical"/>
|
||||
<group col="4" colspan="2">
|
||||
<field name="name" select='1'/>
|
||||
<field name="partner_id" select="1"/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
</group>
|
||||
<field name="name" select='1'/>
|
||||
<field name="partner_id" select="1"/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
<field name="section_id" select="1" widget="selection" string="Section" default="context.get('section_id', False)">
|
||||
<filter icon="terp-crm"
|
||||
domain="[('section_id','=',context.get('section_id',False))]"
|
||||
help="My section"
|
||||
/>
|
||||
</field>
|
||||
<group expand="1" string="Group By..." colspan="4" col="20">
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="20">
|
||||
<filter string="Deadline" icon="terp-crm" domain="[]" context="{'group_by':'date_deadline'}"/>
|
||||
<filter string="Closure" icon="terp-crm" domain="[]" context="{'group_by':'date_closed'}"/>
|
||||
</group>
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
<field name="user_id" select="2" string="Responsible"/>
|
||||
<field name="section_id" colspan="1" widget="selection"/>
|
||||
<field name="categ_id" select="1"
|
||||
on_change="onchange_categ_id(categ_id)" widget="selection"
|
||||
widget="selection"
|
||||
domain="[('object_id.model', '=', 'crm.fundraising')]" />
|
||||
<field name="date"/>
|
||||
<field name="duration"/>
|
||||
|
||||
@@ -29,6 +29,7 @@ class crm_fundraising(osv.osv):
|
||||
_inherit ='crm.case'
|
||||
_columns = {
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'date': fields.datetime('Date'),
|
||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
||||
'categ_id': fields.many2one('crm.case.categ','Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.fundraising')]"),
|
||||
'planned_revenue': fields.float('Planned Revenue'),
|
||||
|
||||
@@ -29,6 +29,7 @@ class crm_helpdesk(osv.osv):
|
||||
_inherit = 'crm.case'
|
||||
_columns = {
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'date': fields.datetime('Date'),
|
||||
'ref' : fields.reference('Reference', selection=crm._links_get, size=128),
|
||||
'ref2' : fields.reference('Reference 2', selection=crm._links_get, size=128),
|
||||
'canal_id': fields.many2one('res.partner.canal', 'Channel',help="The channels represent the different communication modes available with the customer." \
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
<page string="History" groups="base.group_extended">
|
||||
<field name="id" select="1"/>
|
||||
<field name="active" select="2"/>
|
||||
<field name="categ_id" on_change="onchange_categ_id(categ_id)" select="2"/>
|
||||
<field name="categ_id" select="2"/>
|
||||
<field name="som" select="2"/>
|
||||
<separator colspan="4" string="Dates"/>
|
||||
<field name="create_date"/>
|
||||
@@ -160,34 +160,31 @@
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Helpdesk">
|
||||
<group col="6" colspan="1">
|
||||
<filter icon="gtk-home" string="Today"
|
||||
separator="1"
|
||||
domain="[('date::date','=',time.strftime('%%Y-%%m-%%d'))]"
|
||||
help="Todays's Helpdesk Requests"
|
||||
/>
|
||||
<filter icon="gtk-media-rewind"
|
||||
string="7 Days" separator="1"
|
||||
help="Helpdesk requests during last 7 days"
|
||||
domain="[('date','<', time.strftime('%%Y-%%m-%%d')), ('date','>=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
/>
|
||||
</group>
|
||||
<filter icon="gtk-home" string="Today"
|
||||
separator="1"
|
||||
domain="[('date::date','=',time.strftime('%%Y-%%m-%%d'))]"
|
||||
help="Todays's Helpdesk Requests"
|
||||
/>
|
||||
<filter icon="gtk-media-rewind"
|
||||
string="7 Days" separator="1"
|
||||
help="Helpdesk requests during last 7 days"
|
||||
domain="[('date','<', time.strftime('%%Y-%%m-%%d')), ('date','>=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
/>
|
||||
<separator orientation="vertical"/>
|
||||
<group col="6" colspan="2">
|
||||
<field name="name" select='1' string="Query"/>
|
||||
<field name="user_id" select="1" widget="selection">
|
||||
<filter icon="terp-partner" domain="[('user_id','=',uid)]" help="My Helpdesk Requests" default="1"/>
|
||||
</field>
|
||||
<field name="state" select="1">
|
||||
<filter icon="gtk-index" domain="[('state','in',('open','draft' ))]" help="Current " default="1"/>
|
||||
</field>
|
||||
<field name="section_id" default="context.get('section_id', False)" select="1" widget="selection" string="Section">
|
||||
<filter icon="terp-crm"
|
||||
domain="[('section_id','=',context.get('section_id',False))]"
|
||||
help="My section"/>
|
||||
</field>
|
||||
</group>
|
||||
<group expand="1" string="Group By..." colspan="4" col="20">
|
||||
<field name="name" select='1' string="Query"/>
|
||||
<field name="user_id" select="1" widget="selection">
|
||||
<filter icon="terp-partner" domain="[('user_id','=',uid)]" help="My Helpdesk Requests" default="1"/>
|
||||
</field>
|
||||
<field name="state" select="1">
|
||||
<filter icon="gtk-index" domain="[('state','in',('open','draft' ))]" help="Current " default="1"/>
|
||||
</field>
|
||||
<field name="section_id" default="context.get('section_id', False)" select="1" widget="selection" string="Section">
|
||||
<filter icon="terp-crm"
|
||||
domain="[('section_id','=',context.get('section_id',False))]"
|
||||
help="My section"/>
|
||||
</field>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="12" col="20">
|
||||
<filter string="Customer" icon="terp-crm" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="State" icon="terp-crm" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="Priority" icon="terp-crm" domain="[]" context="{'group_by':'priority'}"/>
|
||||
|
||||
+16
-29
@@ -22,38 +22,25 @@
|
||||
from osv import fields,osv,orm
|
||||
import crm
|
||||
|
||||
class crm_opportunity(osv.osv):
|
||||
_name = "crm.opportunity"
|
||||
_description = "Opportunity Cases"
|
||||
crm_opportunity()
|
||||
|
||||
class crm_lead(osv.osv):
|
||||
_name = "crm.lead"
|
||||
_description = "Leads Cases"
|
||||
_order = "id desc"
|
||||
_inherit = 'crm.case'
|
||||
_order = "priority desc, id desc"
|
||||
_inherit = ['res.partner.address','crm.case']
|
||||
_columns = {
|
||||
'name': fields.char('Lead Subject', size=64),
|
||||
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.opportunity')]"),
|
||||
'type_id': fields.many2one('crm.case.resource.type', 'Lead Type Name', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.lead')]"),
|
||||
'partner_name': fields.char("Lead Name", size=64),
|
||||
'partner_name2': fields.char('Email', size=64),
|
||||
'partner_phone': fields.char('Phone', size=32),
|
||||
'partner_mobile': fields.char('Mobile', size=32),
|
||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
||||
'probability': fields.float('Probability (%)'),
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'ref' : fields.reference('Reference', selection=crm._links_get, size=128),
|
||||
'ref2' : fields.reference('Reference 2', selection=crm._links_get, size=128),
|
||||
'canal_id': fields.many2one('res.partner.canal', 'Channel',help="The channels represent the different communication modes available with the customer." \
|
||||
" With each commercial opportunity, you can indicate the canall which is this opportunity source."),
|
||||
'planned_revenue': fields.float('Planned Revenue'),
|
||||
'planned_cost': fields.float('Planned Costs'),
|
||||
'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.lead')]"),
|
||||
'som': fields.many2one('res.partner.som', 'State of Mind', help="The minds states allow to define a value scale which represents" \
|
||||
"the partner mentality in relation to our services.The scale has" \
|
||||
"to be created with a factor for each level from 0 (Very dissatisfied) to 10 (Extremely satisfied)."),
|
||||
'opportunity_id': fields.many2one('crm.opportunity', 'Opportunity'),
|
||||
}
|
||||
'categ_id': fields.many2one('crm.case.categ', 'Lead Source', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.opportunity')]"),
|
||||
'type_id': fields.many2one('crm.case.resource.type', 'Lead Type', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.lead')]"),
|
||||
'partner_name': fields.char("Lead Name", size=64),
|
||||
|
||||
'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')]"),
|
||||
'opportunity_id': fields.many2one('crm.opportunity', 'Opportunity'),
|
||||
|
||||
'user_id': fields.many2one('res.users', 'Salesman'),
|
||||
'referred': fields.char('Referred By', size=32),
|
||||
}
|
||||
_defaults = {
|
||||
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.lead', context=c),
|
||||
}
|
||||
crm_lead()
|
||||
|
||||
@@ -8,111 +8,111 @@
|
||||
<!--For Leads-->
|
||||
<record id="crm_case_itisatelesalescampaign0" model="crm.lead">
|
||||
<field name="type_id" ref="crm.type_lead1"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
<field eval="'3'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""Exhibition ERP 2009"" name="name"/>
|
||||
<field eval=""open"" name="state"/>
|
||||
<field eval="'Luc Latour'" name="name"/>
|
||||
<field eval="'open'" name="state"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval=""Michel Lafont"" name="partner_name2"/>
|
||||
<field eval=""(726) 782-0636"" name="partner_mobile"/>
|
||||
<field eval="'Michel Lafont'" name="partner_name2"/>
|
||||
<field eval="'(726) 782-0636'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="crm.categ_oppor6"/>
|
||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||
<field eval=""The Oil Company"" name="partner_name"/>
|
||||
<field eval=""(769) 703-274"" name="partner_phone"/>
|
||||
<field eval="'The Oil Company'" name="partner_name"/>
|
||||
<field eval="'(769) 703-274'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="crm_case_electonicgoodsdealer0" model="crm.lead">
|
||||
<field name="type_id" ref="crm.type_lead7"/>
|
||||
<field eval=""4"" name="priority"/>
|
||||
<field eval="'4'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""Exhibition ERP 2009"" name="name"/>
|
||||
<field eval=""open"" name="state"/>
|
||||
<field eval="'Marc Dufour'" name="name"/>
|
||||
<field eval="'open'" name="state"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval=""Luc Latour"" name="partner_name2"/>
|
||||
<field eval=""(392) 895-7917"" name="partner_mobile"/>
|
||||
<field eval="'Luc Latour'" name="partner_name2"/>
|
||||
<field eval="'(392) 895-7917'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="crm.categ_oppor2"/>
|
||||
<field name="stage_id" ref="crm.stage_lead2"/>
|
||||
<field eval=""Le Club SARL"" name="partner_name"/>
|
||||
<field eval=""(956) 293-2595"" name="partner_phone"/>
|
||||
<field eval="'Le Club SARL'" name="partner_name"/>
|
||||
<field eval="'(956) 293-2595'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="crm_case_developingwebapplications0" model="crm.lead">
|
||||
<field name="type_id" ref="crm.type_lead5"/>
|
||||
<field eval=""2"" name="priority"/>
|
||||
<field eval="'2'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field eval=""Exhibition ERP 2009"" name="name"/>
|
||||
<field eval=""done"" name="state"/>
|
||||
<field eval="'Fabien Pinckaers'" name="name"/>
|
||||
<field eval="'done'" name="state"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval=""Mike Gardner"" name="partner_name2"/>
|
||||
<field eval=""(820) 167-3208"" name="partner_mobile"/>
|
||||
<field eval="'Mike Gardner'" name="partner_name2"/>
|
||||
<field eval="'(820) 167-3208'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="crm.categ_oppor4"/>
|
||||
<field name="stage_id" ref="crm.stage_lead4"/>
|
||||
<field eval=""TheKompany"" name="partner_name"/>
|
||||
<field eval=""(079) 681-2139"" name="partner_phone"/>
|
||||
<field eval=""contact@tecsas.fr"" name="email_from"/>
|
||||
<field eval="'TheKompany'" name="partner_name"/>
|
||||
<field eval="'(079) 681-2139'" name="partner_phone"/>
|
||||
<field eval="'contact@tecsas.fr'" name="email_from"/>
|
||||
</record>
|
||||
<record id="crm_case_qrecorp0" model="crm.lead">
|
||||
<field name="type_id" ref="crm.type_lead8"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
<field eval="'3'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""Exhibition ERP 2009"" name="name"/>
|
||||
<field eval=""draft"" name="state"/>
|
||||
<field eval="'Henry Mc Coy'" name="name"/>
|
||||
<field eval="'draft'" name="state"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval=""(077) 582-4035"" name="partner_mobile"/>
|
||||
<field eval="'(077) 582-4035'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="crm.categ_oppor1"/>
|
||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||
<field eval=""The Gas Company"" name="partner_name"/>
|
||||
<field eval=""(514) 698-4118"" name="partner_phone"/>
|
||||
<field eval="'The Gas Company'" name="partner_name"/>
|
||||
<field eval="'(514) 698-4118'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="crm_case_itdeveloper0" model="crm.lead">
|
||||
<field name="type_id" ref="crm.type_lead4"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
<field eval="'3'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""Carrie Helle"" name="name"/>
|
||||
<field eval=""pending"" name="state"/>
|
||||
<field eval="'Carrie Helle'" name="name"/>
|
||||
<field eval="'pending'" name="state"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval=""Sam Stone"" name="partner_name2"/>
|
||||
<field eval=""(333) 715-1450"" name="partner_mobile"/>
|
||||
<field eval="'Sam Stone'" name="partner_name2"/>
|
||||
<field eval="'(333) 715-1450'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="crm.categ_oppor6"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
<field eval=""Stonage IT"" name="partner_name"/>
|
||||
<field eval=""(855) 924-4364"" name="partner_phone"/>
|
||||
<field eval="'Stonage IT'" name="partner_name"/>
|
||||
<field eval="'(855) 924-4364'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="crm_case_mgroperations0" model="crm.lead">
|
||||
<field name="partner_address_id" ref="base.res_partner_address_1"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="type_id" ref="crm.type_lead3"/>
|
||||
<field name="partner_id" ref="base.res_partner_9"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
<field eval="'3'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""Tina Pinero"" name="name"/>
|
||||
<field eval=""cancel"" name="state"/>
|
||||
<field eval="'Tina Pinero'" name="name"/>
|
||||
<field eval="'cancel'" name="state"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval=""Benoit Mortier"" name="partner_name2"/>
|
||||
<field eval=""(468) 017-2684"" name="partner_mobile"/>
|
||||
<field eval="'Benoit Mortier'" name="partner_name2"/>
|
||||
<field eval="'(468) 017-2684'" name="partner_mobile"/>
|
||||
<field name="categ_id" ref="crm.categ_oppor8"/>
|
||||
<field name="stage_id" ref="crm.stage_lead6"/>
|
||||
<field eval=""Opensides SPRL"" name="partner_name"/>
|
||||
<field eval=""(373) 907-1009"" name="partner_phone"/>
|
||||
<field eval=""info@opensides.be"" name="email_from"/>
|
||||
<field eval="'Opensides SPRL'" name="partner_name"/>
|
||||
<field eval="'(373) 907-1009'" name="partner_phone"/>
|
||||
<field eval="'info@opensides.be'" name="email_from"/>
|
||||
</record>
|
||||
<record id="crm_case_vpoperations0" model="crm.lead">
|
||||
<field eval="1" name="active"/>
|
||||
<field name="type_id" ref="crm.type_lead8"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
<field eval="'3'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""Wendi Baltz"" name="name"/>
|
||||
<field eval=""done"" name="state"/>
|
||||
<field eval="'Wendi Baltz'" name="name"/>
|
||||
<field eval="'done'" name="state"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval=""Will Smith"" name="partner_name2"/>
|
||||
<field eval=""(463) 014-1208"" name="partner_mobile"/>
|
||||
<field eval="'Will Smith'" name="partner_name2"/>
|
||||
<field eval="'(463) 014-1208'" name="partner_mobile"/>
|
||||
<field name="categ_id" ref="crm.categ_oppor4"/>
|
||||
<field name="stage_id" ref="crm.stage_lead4"/>
|
||||
<field eval=""Gardner Group"" name="partner_name"/>
|
||||
<field eval=""(282) 603-7489"" name="partner_phone"/>
|
||||
<field eval="'Gardner Group'" name="partner_name"/>
|
||||
<field eval="'(282) 603-7489'" name="partner_phone"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
+194
-135
@@ -4,18 +4,19 @@
|
||||
|
||||
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Stage
|
||||
# ------------------------------------------------------
|
||||
<record id="crm_lead_stage_act" model="ir.actions.act_window">
|
||||
<field name="name">Lead Stages</field>
|
||||
<field name="res_model">crm.case.stage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_stage_tree"/>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.lead')]</field>
|
||||
<field name="context">{'object_id':'crm.lead'}</field>
|
||||
</record>
|
||||
<menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" parent="crm.menu_crm_case_stage"/>
|
||||
# ------------------------------------------------------
|
||||
# Stage
|
||||
# ------------------------------------------------------
|
||||
<record id="crm_lead_stage_act" model="ir.actions.act_window">
|
||||
<field name="name">Lead Stages</field>
|
||||
<field name="res_model">crm.case.stage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_stage_tree"/>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.lead')]</field>
|
||||
<field name="context">{'object_id':'crm.lead'}</field>
|
||||
</record>
|
||||
<menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" parent="crm.menu_crm_case_stage"/>
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Leads
|
||||
# ------------------------------------------------------
|
||||
@@ -26,102 +27,147 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Leads Form">
|
||||
<group colspan="4" col="6">
|
||||
<field name="partner_name" string="Lead Name" required="1"/>
|
||||
<field name="name" string="Lead Subject"/>
|
||||
<button string="Create Opportunity" name="%(wizard_crm_lead_opportunity_set)d" icon="gtk-index" type="action"/>
|
||||
<field name="partner_name2" string="Contact Name"/>
|
||||
<field name="email_from" string="Email"/>
|
||||
<button string="Convert to Partner"
|
||||
icon="terp-partner" name="%(wizard_crm_lead_partner_create)d"
|
||||
type="action" attrs="{'invisible':[('partner_id','!=',False)]}"
|
||||
/>
|
||||
<group colspan="4" col="6">
|
||||
<field name="partner_name" required="1"/>
|
||||
<field name="priority" required="1"/>
|
||||
<field name="date_deadline"/>
|
||||
|
||||
<newline/>
|
||||
<field name="section_id" colspan="1" widget="selection"/>
|
||||
<field name="user_id"/>
|
||||
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
|
||||
|
||||
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Lead">
|
||||
<group colspan="2" col="4">
|
||||
<separator string="Contact" colspan="4" col="4"/>
|
||||
<field name="name" string="Contact Name" colspan="4"/>
|
||||
<newline/>
|
||||
<field domain="[('domain', '=', 'contact')]" name="title"/>
|
||||
<field name="function"/>
|
||||
<field name="street" colspan="4"/>
|
||||
<field name="street2" colspan="4"/>
|
||||
<field name="zip"/>
|
||||
<field name="city"/>
|
||||
<field name="country_id"/>
|
||||
<field name="state_id"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Leads">
|
||||
<separator colspan="4" string="Communication"/>
|
||||
<field name="partner_id" string="Partner"
|
||||
on_change="onchange_partner_id(partner_id)" />
|
||||
<field name="partner_address_id"
|
||||
string="Contact"
|
||||
on_change="onchange_partner_address_id(partner_address_id, email_from)" />
|
||||
<field name="partner_phone"/>
|
||||
<field name="partner_mobile"/>
|
||||
<separator colspan="4" string="Status and Categorization"/>
|
||||
<group colspan="4" col="6">
|
||||
<field name="user_id" select="2"/>
|
||||
<field name="stage_id" select="1" string="Status" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
|
||||
<field name="categ_id" select="1"
|
||||
on_change="onchange_categ_id(categ_id)"
|
||||
string="Lead Source" widget="selection"
|
||||
domain="[('object_id.model', '=', 'crm.opportunity')]" />
|
||||
<field name="type_id" string="Campaign" select="1"/>
|
||||
<field name="section_id" colspan="1" widget="selection"/>
|
||||
<field name="priority" string="Priority"/>
|
||||
<field name="date" string="Create Date"/>
|
||||
</group>
|
||||
<separator colspan="4" string="Details"/>
|
||||
<field name="description" nolabel="1" colspan="4"/>
|
||||
<separator colspan="4"/>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state" select="2"/>
|
||||
<button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
|
||||
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
|
||||
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Emails" groups="base.group_extended">
|
||||
<group colspan="4">
|
||||
<field colspan="4" name="email_cc" string="CC"/>
|
||||
</group>
|
||||
<field name="history_line" colspan="4" nolabel="1" mode="form,tree">
|
||||
<form string="Communication history">
|
||||
<group col="7" colspan="4">
|
||||
<field name="date"/>
|
||||
<field name="email"/>
|
||||
<field name="canal_id"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4" string="Reply to Last Email" name="%(crm.wizard_crm_send_mail)d" context="{'mail':'reply'}" icon="gtk-go-forward" type="action"/>
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email"/>
|
||||
<group colspan="2" col="3">
|
||||
<separator string="Communication" colspan="4" col="3"/>
|
||||
<field name="phone"/>
|
||||
<newline/>
|
||||
<field name="fax"/>
|
||||
<newline/>
|
||||
<field name="mobile"/>
|
||||
<newline/>
|
||||
<field name="email_from" widget="email"/>
|
||||
<newline/>
|
||||
<separator string="Links" colspan="4" col="3"/>
|
||||
<field name="partner_id"/>
|
||||
<button
|
||||
name="%(wizard_crm_lead_partner_create)d"
|
||||
icon="gtk-index" type="action"
|
||||
string="Create"
|
||||
attrs="{'invisible':[('partner_id','!=',False)]}"/>
|
||||
<field name="opportunity_id"/>
|
||||
<button
|
||||
name="%(wizard_crm_lead_opportunity_set)d"
|
||||
string="Convert"
|
||||
icon="gtk-index"
|
||||
type="action"
|
||||
attrs="{'invisible':[('opportunity_id','!=',False)]}"/>
|
||||
</group>
|
||||
<separator colspan="4" string="Notes"/>
|
||||
<field name="description" nolabel="1" colspan="4"/>
|
||||
<separator colspan="4"/>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state" select="2"/>
|
||||
<button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
|
||||
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
|
||||
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Emails" groups="base.group_extended">
|
||||
<group colspan="4">
|
||||
<field colspan="4" name="email_cc" string="CC"/>
|
||||
</group>
|
||||
<field name="history_line" colspan="4" nolabel="1" mode="form,tree">
|
||||
<form string="Communication history">
|
||||
<group col="7" colspan="4">
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(crm.wizard_crm_new_send_mail)d"
|
||||
context="{'mail':'new'}" icon="gtk-go-forward"
|
||||
type="action" />
|
||||
</page>
|
||||
</notebook>
|
||||
<field name="email"/>
|
||||
<field name="canal_id"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4" string="Reply to Last Email" name="%(crm.wizard_crm_send_mail)d" context="{'mail':'reply'}" icon="gtk-go-forward" type="action"/>
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(crm.wizard_crm_new_send_mail)d"
|
||||
context="{'mail':'new'}" icon="gtk-go-forward"
|
||||
type="action" />
|
||||
</page>
|
||||
<page string="Extra Info" groups="base.group_extended">
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Categories" colspan="2" col="2"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection" colspan="2"/>
|
||||
<field name="categ_id"
|
||||
widget="selection"
|
||||
domain="[('object_id.model', '=', 'crm.opportunity')]" />
|
||||
<field name="type_id" string="Campaign" select="1"/>
|
||||
<field name="referred"/>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Dates" colspan="2" col="2"/>
|
||||
<field name="create_date"/>
|
||||
<field name="write_date"/>
|
||||
<field name="date_closed"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_tree_view_leads">
|
||||
<field name="name">CRM - Leads Tree</field>
|
||||
<field name="model">crm.lead</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Leads Tree" colors="red:state=='open';black:state in ('draft', 'pending');grey: state in ('cancel','done')">
|
||||
<field name="partner_name" string="Lead Name"/>
|
||||
<field name="stage_id" string="Status"/>
|
||||
<field name="date" string="Create Date"/>
|
||||
<field name="categ_id" string="Lead Source"/>
|
||||
<field name="email_from" string="Email"/>
|
||||
<tree string="Leads Tree" 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="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
|
||||
<button string="Convert to Opportunity" name="%(wizard_crm_lead_opportunity_set)d" states="draft,open,pending" icon="gtk-index" type="action"/>
|
||||
<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>
|
||||
@@ -133,10 +179,10 @@
|
||||
<field name="type">calendar</field>
|
||||
<field name="priority" eval="2"/>
|
||||
<field name="arch" type="xml">
|
||||
<calendar string="Meeting For Leads Generation" date_start="date" color="user_id" date_delay="duration">
|
||||
<calendar string="Meeting For Leads Generation" date_start="create_date" color="user_id" date_delay="duration">
|
||||
<field name="name"/>
|
||||
<field name="partner_name"/>
|
||||
<field name="partner_name2"/>
|
||||
<field name="partner_contact"/>
|
||||
</calendar>
|
||||
</field>
|
||||
</record>
|
||||
@@ -148,46 +194,59 @@
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Leads">
|
||||
<group colspan="4">
|
||||
<group col="3" colspan="1">
|
||||
<filter icon="gtk-home" string=" Today "
|
||||
separator="1"
|
||||
domain="[('date::date','=',time.strftime('%%Y-%%m-%%d'))]"
|
||||
help="Todays's Leads"
|
||||
<filter icon="terp-project"
|
||||
string="Current"
|
||||
default="1"
|
||||
domain="[('state','in',('draft','open'))]"/>
|
||||
<filter icon="terp-project"
|
||||
string="Open"
|
||||
domain="[('state','=','open')]"/>
|
||||
<filter icon="terp-project"
|
||||
string="Pending"
|
||||
domain="[('state','=','pending')]"/>
|
||||
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="gtk-home" string="Today"
|
||||
domain="[('create_date','<', time.strftime('%%Y-%%m-%%d 23:59:59')), ('create_date','>=', time.strftime('%%Y-%%m-%%d 23:59:59'))]"
|
||||
help="Todays' Opportunities"
|
||||
/>
|
||||
<filter icon="gtk-media-rewind" string="7 Days"
|
||||
help="Opportunities during last 7 days"
|
||||
domain="[('create_date','<', time.strftime('%%Y-%%m-%%d')), ('create_date','>=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="partner_name"/>
|
||||
<field name="email_from"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<filter icon="terp-partner"
|
||||
domain="[('user_id','=',uid)]"
|
||||
help="My Leads" default="1"
|
||||
/>
|
||||
<filter icon="gtk-media-rewind" string=" 7 Days "
|
||||
separator="1" help="Leads during last 7 days"
|
||||
domain="[('date','<', time.strftime('%%Y-%%m-%%d')), ('date','>=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
/>
|
||||
</group>
|
||||
<separator orientation="vertical"/>
|
||||
<group col="6" colspan="2">
|
||||
<field name="name" select="1"/>
|
||||
<field name="user_id" select="1" widget="selection">
|
||||
<filter icon="terp-partner"
|
||||
domain="[('user_id','=',uid)]" help="My Leads"
|
||||
default="1"
|
||||
/>
|
||||
</field>
|
||||
<field name="state" select="1">
|
||||
<filter icon="gtk-new" domain="[('state','in',('draft', 'open'))]" help="Current Leads" default="1"/>
|
||||
<filter icon="gtk-yes" domain="[('state','=','open')]" help="Open Leads"/>
|
||||
</field>
|
||||
<field name="section_id" select="1" default="context.get('section_id', False)" widget="selection" string="Section">
|
||||
<filter icon="terp-crm"
|
||||
domain="[('section_id','=',context.get('section_id',False))]"
|
||||
help="My section"
|
||||
/>
|
||||
</field>
|
||||
</group>
|
||||
</group>
|
||||
</field>
|
||||
<field name="section_id" default="context.get('section_id', False)" widget="selection"
|
||||
context="{'invisible_section': False}">
|
||||
<filter icon="terp-crm"
|
||||
context="{'invisible_section': False}"
|
||||
domain="[('section_id.user_id','=',uid)]"
|
||||
help="My section"/>
|
||||
<filter icon="terp-crm"
|
||||
context="{'invisible_section': False}"
|
||||
domain="[]"
|
||||
help="Show Sections"/>
|
||||
</field>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="20">
|
||||
<filter string="Status" icon="terp-crm" domain="[]" context="{'group_by':'stage_id'}"/>
|
||||
<filter string="Lead Source" icon="terp-crm" domain="[]" context="{'group_by':'categ_id'}"/>
|
||||
<filter string="Responsible" icon="terp-crm" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Create Date" icon="terp-crm" domain="[]" context="{'group_by':'date'}"/>
|
||||
</group>
|
||||
<group expand="1" string="Group By..." colspan="14">
|
||||
<filter string="Stage" icon="terp-crm" domain="[]" context="{'group_by':'stage_id'}"/>
|
||||
<filter string="State" icon="terp-crm" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="Source" icon="terp-crm" domain="[]" context="{'group_by':'categ_id'}"/>
|
||||
<filter string="Type" icon="terp-crm" domain="[]" context="{'group_by':'type'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Team" icon="terp-crm" domain="[]" context="{'group_by':'section_id'}"/>
|
||||
<filter string="Salesman" icon="terp-crm" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Referrer" icon="terp-crm" domain="[]" context="{'group_by':'referred'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Creation" icon="terp-project" domain="[]" context="{'group_by':'create_date'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -27,9 +27,13 @@ from datetime import datetime, timedelta
|
||||
class crm_opportunity(osv.osv):
|
||||
_name = 'crm.opportunity'
|
||||
crm_opportunity()
|
||||
|
||||
|
||||
class crm_phonecall(osv.osv):
|
||||
_name = 'crm.phonecall'
|
||||
crm_phonecall()
|
||||
crm_phonecall()
|
||||
|
||||
|
||||
class crm_meeting(osv.osv):
|
||||
_name = 'crm.meeting'
|
||||
_description = "Meeting Cases"
|
||||
@@ -44,7 +48,8 @@ class crm_meeting(osv.osv):
|
||||
'phonecall_id':fields.many2one ('crm.phonecall', 'Phonecall'),
|
||||
'opportunity_id':fields.many2one ('crm.opportunity', 'Opportunity'),
|
||||
'attendee_ids': fields.many2many('calendar.attendee', 'event_attendee_rel', 'event_id', 'attendee_id', 'Attendees'),
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'date_deadline': fields.datetime('Deadline'),
|
||||
}
|
||||
|
||||
crm_meeting()
|
||||
|
||||
@@ -22,29 +22,47 @@
|
||||
from osv import fields,osv,orm
|
||||
import crm
|
||||
|
||||
AVAILABLE_STATES = [
|
||||
('draft','New'),
|
||||
('open','Open'),
|
||||
('cancel', 'Lost'),
|
||||
('done', 'Won'),
|
||||
('pending','Pending')
|
||||
]
|
||||
|
||||
class crm_opportunity(osv.osv):
|
||||
_name = "crm.opportunity"
|
||||
_description = "Opportunity Cases"
|
||||
_order = "id desc"
|
||||
_inherit = 'crm.case'
|
||||
_columns = {
|
||||
_inherit = 'crm.case'
|
||||
_columns = {
|
||||
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.opportunity')]"),
|
||||
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.opportunity')]"),
|
||||
'type_id': fields.many2one('crm.case.resource.type', 'Resource Type', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.opportunity')]"),
|
||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
||||
'probability': fields.float('Probability (%)'),
|
||||
'planned_revenue': fields.float('Planned Revenue'),
|
||||
'planned_cost': fields.float('Planned Costs'),
|
||||
'canal_id': fields.many2one('res.partner.canal', 'Channel',help="The channels represent the different communication modes available with the customer." \
|
||||
" With each commercial opportunity, you can indicate the canall which is this opportunity source."),
|
||||
'som': fields.many2one('res.partner.som', 'State of Mind', help="The minds states allow to define a value scale which represents" \
|
||||
"the partner mentality in relation to our services.The scale has" \
|
||||
"to be created with a factor for each level from 0 (Very dissatisfied) to 10 (Extremely satisfied)."),
|
||||
'planned_revenue': fields.float('Expected Revenue'),
|
||||
'ref' : fields.reference('Reference', selection=crm._links_get, size=128),
|
||||
'ref2' : fields.reference('Reference 2', selection=crm._links_get, size=128),
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'phonecall_id':fields.many2one ('crm.phonecall', 'Phonecall'),
|
||||
'partner_phone': fields.char('Phone', size=32),
|
||||
'user_id': fields.many2one('res.users', 'Salesman'),
|
||||
'phone': fields.char("Phone", size=64),
|
||||
'state': fields.selection(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\'.'),
|
||||
}
|
||||
def onchange_stage_id(self, cr, uid, ids, stage_id, context={}):
|
||||
if not stage_id:
|
||||
return {'value':{}}
|
||||
stage = self.pool.get('crm.case.stage').browse(cr, uid, stage_id, context)
|
||||
if not stage.on_change:
|
||||
return {'value':{}}
|
||||
return {'value':{'probability':stage.probability}}
|
||||
|
||||
_defaults = {
|
||||
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.opportunity', context=c),
|
||||
}
|
||||
|
||||
crm_opportunity()
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
<act_window
|
||||
id="act_crm_opportunity_crm_meeting_new"
|
||||
name="Meeting Cases"
|
||||
name="Meetings"
|
||||
res_model="crm.meeting"
|
||||
src_model="crm.opportunity"
|
||||
view_mode="calendar,graph"
|
||||
|
||||
+105
-110
@@ -2,7 +2,7 @@
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
# ------------------------------------------------------
|
||||
# ------------------------------------------------------
|
||||
# Opportunity Categories
|
||||
# ------------------------------------------------------
|
||||
|
||||
@@ -11,22 +11,22 @@
|
||||
<field name="res_model">crm.case.categ</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
|
||||
<field name="context">{'object_id':'crm.opportunity'}</field>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
|
||||
<field name="context">{'object_id':'crm.opportunity'}</field>
|
||||
</record>
|
||||
<menuitem action="crm_opportunity_categ_action" id="menu_crm_case_opportunity-act" parent="crm.menu_crm_case_categ"/>
|
||||
# ------------------------------------------------------
|
||||
# Stage
|
||||
# ------------------------------------------------------
|
||||
<record id="crm_opportunity_stage_act" model="ir.actions.act_window">
|
||||
<field name="name">Opportunity Stages</field>
|
||||
<field name="res_model">crm.case.stage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_stage_tree"/>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
|
||||
<field name="context">{'object_id':'crm.opportunity'}</field>
|
||||
</record>
|
||||
<menuitem action="crm_opportunity_stage_act" id="menu_crm_opportunity_stage_act" parent="crm.menu_crm_case_stage"/>
|
||||
# ------------------------------------------------------
|
||||
# Stage
|
||||
# ------------------------------------------------------
|
||||
<record id="crm_opportunity_stage_act" model="ir.actions.act_window">
|
||||
<field name="name">Opportunity Stages</field>
|
||||
<field name="res_model">crm.case.stage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_stage_tree"/>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
|
||||
<field name="context">{'object_id':'crm.opportunity'}</field>
|
||||
</record>
|
||||
<menuitem action="crm_opportunity_stage_act" id="menu_crm_opportunity_stage_act" parent="crm.menu_crm_case_stage"/>
|
||||
# ------------------------------------------------------
|
||||
# Opportunities
|
||||
# ------------------------------------------------------
|
||||
@@ -34,75 +34,69 @@
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_form_view_oppor">
|
||||
<field name="name">CRM - Opportunities Form</field>
|
||||
<field name="name">Opportunities</field>
|
||||
<field name="model">crm.opportunity</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Opportunities">
|
||||
<group colspan="4" col="4">
|
||||
<field name="name" select="1" string="Opportunity" colspan="4"/>
|
||||
<field name="planned_revenue" required="1"/>
|
||||
<field name="planned_cost"/>
|
||||
<field name="probability"/>
|
||||
<field name="date_deadline" string="Expected Close Date" required="1"/>
|
||||
<group colspan="4" col="5">
|
||||
<label string="" colspan="2"/>
|
||||
<group colspan="4" col="7">
|
||||
<field name="name" string="Opportunity"/>
|
||||
<field name="stage_id" on_change="onchange_stage_id(stage_id)" widget="selection" domain="[('object_id.model', '=', 'crm.opportunity')]"/>
|
||||
<field name="user_id"/>
|
||||
<button string="Schedule Meeting"
|
||||
name="%(wizard_crm_opportunity_meeting_set)d" icon="gtk-redo" type="action" />
|
||||
<field name="planned_revenue"/>
|
||||
<field name="probability"/>
|
||||
<field name="date_deadline" string="Expected Closing"/>
|
||||
<button string="Schedule Call"
|
||||
name="%(wizard_crm_opportunity_reschedule_phone_call)d" icon="gtk-redo" type="action" />
|
||||
</group>
|
||||
</group>
|
||||
|
||||
<group colspan="4" col="4">
|
||||
<notebook>
|
||||
<notebook colspan="4">
|
||||
<page string="Opportunity">
|
||||
<separator colspan="4" string="Communication"/>
|
||||
<field name="partner_id" required="1" select="1" on_change="onchange_partner_id(partner_id, email_from)" colspan="2"/>
|
||||
<field name="partner_address_id" string="Contact" on_change="onchange_partner_address_id(partner_address_id, email_from)" colspan="1"/>
|
||||
<field name="email_from" colspan="2" string="Email"/>
|
||||
<field name="partner_phone" colspan="2"/>
|
||||
|
||||
<separator colspan="4" string="Status and Categorization"/>
|
||||
<group colspan="4" col="6">
|
||||
<field name="user_id" select="2" string="Responsible"/>
|
||||
<field name="stage_id" select="1" string="Sales Stage" required="1" widget="selection" domain="[('object_id.model', '=', 'crm.opportunity')]"/>
|
||||
<field name="categ_id" select="1" on_change="onchange_categ_id(categ_id)" string="Lead Source" widget="selection" domain="[('object_id.model', '=', 'crm.opportunity')]"/>
|
||||
<group col="2" colspan="2">
|
||||
<separator colspan="2" string="Contacts"/>
|
||||
<field name="partner_id" select="1" on_change="onchange_partner_id(partner_id, email_from)" colspan="2"/>
|
||||
<field name="partner_address_id" string="Contact" on_change="onchange_partner_address_id(partner_address_id, email_from)" colspan="1"/>
|
||||
<field name="email_from" string="Email"/>
|
||||
<field name="phone"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator colspan="2" string="Categorization"/>
|
||||
<field name="type_id" select="1" string="Campaign"/>
|
||||
<field name="section_id" colspan="1" widget="selection"/>
|
||||
<field name="priority" string="Priority"/>
|
||||
<field name="date" string="Create Date"/>
|
||||
<field name="categ_id" select="1" string="Category" widget="selection" domain="[('object_id.model', '=', 'crm.opportunity')]"/>
|
||||
</group>
|
||||
|
||||
|
||||
|
||||
|
||||
<separator colspan="4" string="Details"/>
|
||||
<field name="description" nolabel="1" colspan="4"/>
|
||||
|
||||
<separator colspan="4"/>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state" select="2"/>
|
||||
<button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-close"/>
|
||||
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
|
||||
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_close" string="Mark Won" states="open,draft,pending" type="object" icon="gtk-close"/>
|
||||
<button name="case_cancel" string="Mark Lost" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
</group>
|
||||
</page>
|
||||
|
||||
<page string="History" groups="base.group_extended">
|
||||
<field name="active"/>
|
||||
<field name="canal_id"/>
|
||||
<field name="som"/>
|
||||
|
||||
<separator colspan="4" string="Dates"/>
|
||||
<field name="create_date"/>
|
||||
<field name="date_closed"/>
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Dates" colspan="2"/>
|
||||
<field name="create_date"/>
|
||||
<field name="write_date"/>
|
||||
<field name="date_closed"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Misc" colspan="2"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
<separator colspan="4" string="References"/>
|
||||
<field name="ref" colspan="4"/>
|
||||
<field name="ref2" colspan="4"/>
|
||||
|
||||
<field name="ref"/>
|
||||
<field name="ref2"/>
|
||||
<field name="log_ids" nolabel="1" colspan="4">
|
||||
<form string="Actions">
|
||||
<separator string="Action Information" colspan="4"/>
|
||||
@@ -125,9 +119,9 @@
|
||||
<field name="email"/>
|
||||
<field name="canal_id"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
@@ -142,30 +136,31 @@
|
||||
<button colspan="4" string="Send New Email" name="%(crm.wizard_crm_new_send_mail)d" context="{'mail':'new'}" icon="gtk-go-forward" type="action"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="crm_case_tree_view_oppor">
|
||||
<field name="name">CRM - Opportunities Tree</field>
|
||||
<field name="name">Opportunities Tree</field>
|
||||
<field name="model">crm.opportunity</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Opportunities Tree" colors="red:state=='open';black:state in ('draft', 'cancel','done','pending')">
|
||||
<field name="id"/>
|
||||
<field name="name" string="Opportunities"/>
|
||||
<field name="stage_id" string="Sales Stage"/>
|
||||
<field name="partner_id" string="Partner"/>
|
||||
<tree string="Opportunities" colors="blue:state=='pending';grey:state in ('cancel','done')">
|
||||
<field name="create_date"/>
|
||||
<field name="name" string="Opportunity"/>
|
||||
<field name="partner_id"/>
|
||||
<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="planned_revenue" sum="Total of Planned Revenue"/>
|
||||
<field name="probability" avg="Avg. of Probability"/>
|
||||
<field name="date" string="Create Date"/>
|
||||
<field name="date_deadline" string="Excepted Close Date"/>
|
||||
<field name="probability" widget="progressbar" avg="Avg. of Probability"/>
|
||||
<field name="date_deadline" string="Excepted Closing"/>
|
||||
<field name="section_id"/>
|
||||
<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="Done" states="open,draft,pending" type="object" icon="gtk-close"/>
|
||||
<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"/>
|
||||
<button name="case_close" string="Won" states="open,draft,pending" type="object" icon="gtk-close"/>
|
||||
<button name="case_pending" string="Pending" states="open,draft" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_cancel" string="Lost" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -188,45 +183,45 @@
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Opportunities">
|
||||
<group colspan="4">
|
||||
<group col="3" colspan="1">
|
||||
<filter icon="gtk-home" string=" Today "
|
||||
separator="1"
|
||||
domain="[('date::date','=',time.strftime('%%Y-%%m-%%d'))]"
|
||||
help="Todays's Opportunities"
|
||||
/>
|
||||
<filter icon="gtk-media-rewind" string=" 7 Days "
|
||||
separator="1" help="Opportunities during last 7 days"
|
||||
domain="[('date','<', time.strftime('%%Y-%%m-%%d')), ('date','>=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
/>
|
||||
</group>
|
||||
<separator orientation="vertical"/>
|
||||
<group col="6" colspan="2">
|
||||
<field name="name" select="1" string="Opportunity"/>
|
||||
<field name="user_id" select="1" widget="selection">
|
||||
<filter icon="terp-partner"
|
||||
domain="[('user_id','=',uid)]"
|
||||
help="My Opportunities" default="1"
|
||||
/>
|
||||
</field>
|
||||
<field name="partner_id" select="1"/>
|
||||
<field name="state" select="1">
|
||||
<filter icon="gtk-index" domain="[('state','in',('open','draft'))]" help="Current " default="1"/>
|
||||
</field>
|
||||
<field name="section_id" default="context.get('section_id', False)" select="1" widget="selection" string="Section">
|
||||
<filter icon="terp-crm"
|
||||
domain="[('section_id','=',context.get('section_id',False))]"
|
||||
help="My section"/>
|
||||
</field>
|
||||
</group>
|
||||
</group>
|
||||
<filter icon="gtk-home" string="Today"
|
||||
domain="[('create_date','<', time.strftime('%%Y-%%m-%%d 23:59:59')), ('create_date','>=', time.strftime('%%Y-%%m-%%d 23:59:59'))]"
|
||||
help="Todays' Opportunities"
|
||||
/>
|
||||
<filter icon="gtk-media-rewind" string="7 Days"
|
||||
help="Opportunities during last 7 days"
|
||||
domain="[('create_date','<', time.strftime('%%Y-%%m-%%d')), ('create_date','>=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" string="Opportunity"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<filter icon="terp-partner"
|
||||
domain="[('user_id','=',uid)]"
|
||||
help="My Opportunities" default="1"
|
||||
/>
|
||||
</field>
|
||||
<field name="partner_id"/>
|
||||
<field name="state">
|
||||
<filter icon="gtk-media-rewind"
|
||||
string="New and open opportunities"
|
||||
default="1"
|
||||
domain="[('state','in',('draft','open'))]"/>
|
||||
</field>
|
||||
<field name="section_id" default="context.get('section_id', False)" select="1" widget="selection">
|
||||
<filter icon="terp-crm"
|
||||
domain="[('section_id','=',context.get('section_id',False))]"
|
||||
help="My section"/>
|
||||
</field>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4">
|
||||
<filter string="Stage" icon="terp-crm" domain="[]" context="{'group_by':'stage_id'}"/>
|
||||
<filter string="Partner" icon="terp-crm" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Responsible" icon="terp-crm" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Create Date" icon="terp-crm" domain="[]" context="{'group_by':'date'}"/>
|
||||
|
||||
<filter string="Stage" icon="terp-crm" domain="[]" context="{'group_by':'stage_id'}"/>
|
||||
<filter string="Category" icon="terp-crm" domain="[]" context="{'group_by':'categ_id'}"/>
|
||||
<filter string="Campaign" icon="terp-crm" domain="[]" context="{'group_by':'type_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Partner" icon="terp-crm" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Salesman" icon="terp-crm" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Creation" icon="terp-project" domain="[]" context="{'group_by':'create_date'}"/>
|
||||
<filter string="Exp.Closing" icon="terp-project" domain="[]" context="{'group_by':'date_deadline'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
from osv import fields, osv
|
||||
import crm
|
||||
import time
|
||||
|
||||
class crm_phonecall(osv.osv):
|
||||
_name = "crm.phonecall"
|
||||
@@ -31,18 +32,17 @@ class crm_phonecall(osv.osv):
|
||||
'duration': fields.float('Duration'),
|
||||
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.phonecall')]"),
|
||||
'partner_phone': fields.char('Phone', size=32),
|
||||
'partner_contact': fields.related('partner_address_id', 'name', type="char", string="Contact", size=128),
|
||||
'partner_mobile': fields.char('Mobile', size=32),
|
||||
'som': fields.many2one('res.partner.som', 'State of Mind', help="The minds states allow to define a value scale which represents" \
|
||||
"the partner mentality in relation to our services.The scale has" \
|
||||
"to be created with a factor for each level from 0 (Very dissatisfied) to 10 (Extremely satisfied)."),
|
||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
||||
'canal_id': fields.many2one('res.partner.canal', 'Channel',help="The channels represent the different communication modes available with the customer." \
|
||||
" With each commercial opportunity, you can indicate the canall which is this opportunity source."),
|
||||
'probability': fields.float('Probability (%)'),
|
||||
'planned_revenue': fields.float('Planned Revenue'),
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'opportunity_id':fields.many2one ('crm.opportunity', 'Opportunity'),
|
||||
'date': fields.datetime('Date'),
|
||||
'opportunity_id':fields.many2one ('crm.opportunity', 'Opportunity'),
|
||||
}
|
||||
_defaults = {
|
||||
'date': lambda *a: time.strftime('%Y-%m-%d')
|
||||
}
|
||||
|
||||
crm_phonecall()
|
||||
|
||||
|
||||
@@ -50,12 +50,13 @@
|
||||
<field name="view_mode">tree,calendar</field>
|
||||
<field name="view_id" ref="crm_case_phone_tree_view"/>
|
||||
<field name="domain" eval="'[(\'categ_id\',\'=\','+str(ref('categ_phone1'))+')]'"/>
|
||||
<field name="context">{'set_editable':True}</field>
|
||||
<field name="search_view_id" ref="crm.view_crm_case_phonecalls_filter"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_crm_tag_tree_phone_incoming0">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="crm_case_phone_incomming_tree_view"/>
|
||||
<field name="view_id" ref="crm_case_phone_tree_view"/>
|
||||
<field name="act_window_id" ref="crm_case_categ_phone_incoming0"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_crm_tag_calendar_phone_incoming0">
|
||||
|
||||
@@ -11,23 +11,11 @@
|
||||
<field name="res_model">crm.case.categ</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.phonecall')]</field>
|
||||
<field name="context">{'object_id':'crm.phonecall'}</field>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.phonecall')]</field>
|
||||
<field name="context">{'object_id':'crm.phonecall'}</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="crm_phonecall_categ_action" id="menu_crm_case_phonecall-act" parent="crm.menu_crm_case_categ"/>
|
||||
# ------------------------------------------------------
|
||||
# Phonecall Stage
|
||||
# ------------------------------------------------------
|
||||
<record id="crm_phonecall_stage_act" model="ir.actions.act_window">
|
||||
<field name="name">Phonecall Stages</field>
|
||||
<field name="res_model">crm.case.stage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_stage_tree"/>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.phonecall')]</field>
|
||||
<field name="context">{'object_id':'crm.phonecall'}</field>
|
||||
</record>
|
||||
<menuitem action="crm_phonecall_stage_act" id="menu_crm_phonecall_stage_act" parent="crm.menu_crm_case_stage"/>
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Phone Calls
|
||||
@@ -39,37 +27,26 @@
|
||||
<field name="model">crm.phonecall</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Phone Calls" colors="red:state=='open';black:state in ('draft', 'cancel','done','pending')">
|
||||
<tree string="Phone Calls" colors="grey:state in ('cancel','done');blue:state in ('pending',)">
|
||||
<field name="date" string="Date"/>
|
||||
<field name="name" string="Call Summary"/>
|
||||
<field name="partner_id" string="Partner"/>
|
||||
<field name="partner_address_id" string="Contact"/>
|
||||
<field name="opportunity_id"/>
|
||||
<field name="partner_contact"/>
|
||||
<field name="partner_phone"/>
|
||||
<field name="partner_mobile"/>
|
||||
<field name="user_id"/>
|
||||
<button string="Opportunity"
|
||||
name="%(wizard_crm_phonecall_opportunity_set)d" type="action" attrs="{'invisible':[('opportunity_id','!=',False)]}" />
|
||||
name="%(wizard_crm_phonecall_opportunity_set)d"
|
||||
states="draft,open,pending"
|
||||
type="action" attrs="{'invisible':[('opportunity_id','!=',False)]}" />
|
||||
<button string="Meeting"
|
||||
states="draft,open,pending"
|
||||
name="%(wizard_crm_phonecall_meeting_set)d" type="action" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_phone_incomming_tree_view">
|
||||
<field name="name">CRM - Phone Calls Tree</field>
|
||||
<field name="model">crm.phonecall</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Phone Calls" editable="bottom" colors="red:state=='open';black:state in ('draft', 'cancel','done','pending')">
|
||||
<field name="date" string="Date"/>
|
||||
<field name="name" string="Call Summary"/>
|
||||
<field name="partner_id" string="Partner"/>
|
||||
<field name="partner_address_id" string="Contact"/>
|
||||
<group col="2">
|
||||
<field name="opportunity_id"/>
|
||||
<button string="Opportunity"
|
||||
name="%(wizard_crm_phonecall_opportunity_set)d" type="action" attrs="{'invisible':[('opportunity_id','!=',False)]}" />
|
||||
<button string="Meeting"
|
||||
name="%(wizard_crm_phonecall_meeting_set)d" type="action" />
|
||||
</group>
|
||||
<field name="state"/>
|
||||
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
|
||||
<button name="case_close" string="Held" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
|
||||
<button name="case_pending" string="Not Held" states="open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -80,46 +57,46 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Phone Call">
|
||||
<group colspan="4" col="8">
|
||||
<group colspan="7" col="4">
|
||||
<field name="name" string="Subject" />
|
||||
<field name="date" string="Planned Date" />
|
||||
<field name="partner_phone" />
|
||||
<field name="duration" />
|
||||
</group>
|
||||
<group col="1" colspan="1">
|
||||
<button string="Schedule a Meeting"
|
||||
name="%(wizard_crm_phonecall_meeting_set)d" icon="gtk-redo"
|
||||
type="action" />
|
||||
<button string="Convert to Opportunity"
|
||||
name="%(wizard_crm_phonecall_opportunity_set)d"
|
||||
icon="gtk-index" type="action"
|
||||
attrs="{'invisible':[('opportunity_id','!=',False)]}" />
|
||||
</group>
|
||||
</group>
|
||||
<separator colspan="4" string="Communication" />
|
||||
<field name="partner_id" />
|
||||
<button string="Convert to Partner"
|
||||
colspan="2"
|
||||
icon="terp-crm"
|
||||
name="%(wizard_crm_phonecall_partner_create)d"
|
||||
type="action"
|
||||
attrs="{'invisible':[('partner_id','!=',False)]}" />
|
||||
<newline />
|
||||
<field name="partner_address_id" string="Contact" />
|
||||
<field name="partner_mobile" />
|
||||
<separator colspan="4" string="Status and Categorization" />
|
||||
<group colspan="4" col="6">
|
||||
<field name="user_id" string="Assigned to" select="2" />
|
||||
<group colspan="4" col="7">
|
||||
<field name="name" string="Call Summary"/>
|
||||
<field name="date" string="Planned Date"/>
|
||||
<field name="user_id"/>
|
||||
<button string="Schedule a Meeting"
|
||||
name="%(wizard_crm_phonecall_meeting_set)d"
|
||||
icon="gtk-redo"
|
||||
type="action" />
|
||||
<newline/>
|
||||
|
||||
<field name="partner_phone"/>
|
||||
<field name="duration"/>
|
||||
<field name="section_id" colspan="1" widget="selection" />
|
||||
|
||||
<button string="Convert to Opportunity"
|
||||
name="%(wizard_crm_phonecall_opportunity_set)d"
|
||||
icon="gtk-index" type="action"
|
||||
attrs="{'invisible':[('opportunity_id','!=',False)]}" />
|
||||
</group>
|
||||
<group col="3" colspan="2">
|
||||
<separator colspan="3" string="Contacts" />
|
||||
<field name="partner_id" />
|
||||
<button string="Convert to Partner"
|
||||
icon="terp-crm"
|
||||
name="%(wizard_crm_phonecall_partner_create)d"
|
||||
type="action"
|
||||
attrs="{'invisible':[('partner_id','!=',False)]}" />
|
||||
<newline/>
|
||||
<field name="partner_address_id" string="Contact" />
|
||||
<newline/>
|
||||
<field name="partner_mobile" />
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator colspan="2" string="Categorization" />
|
||||
<field name="priority"/>
|
||||
<field name="opportunity_id"
|
||||
on_change="onchange_case_id(case_id, name, partner_id)"
|
||||
context="{'default_name':name,'default_section_id':section_id,'default_user_id':user_id,'default_duration':duration,
|
||||
'default_partner_id':partner_id,'default_partner_address_id':partner_address_id,'default_partner_phone':partner_phone,
|
||||
'default_partner_mobile':partner_mobile,'default_categ_id':categ_id}" />
|
||||
<field name="som" />
|
||||
<field name="priority" />
|
||||
<field name="active" string="Reminder" />
|
||||
</group>
|
||||
<separator string="Description" colspan="4" />
|
||||
<field name="description" nolabel="1" colspan="4" />
|
||||
@@ -144,8 +121,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<calendar string="Phone Calls" date_start="date" color="user_id" date_delay="duration">
|
||||
<field name="name"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="categ_id"/>
|
||||
<field name="partner_id"/>
|
||||
</calendar>
|
||||
</field>
|
||||
</record>
|
||||
@@ -156,36 +132,40 @@
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Phonecalls">
|
||||
<group col="6" colspan="1">
|
||||
<filter icon="gtk-home" string=" Today "
|
||||
separator="1"
|
||||
domain="[('date::date','=',time.strftime('%%Y-%%m-%%d'))]"
|
||||
help="Todays's Phonecalls"
|
||||
/>
|
||||
<filter icon="gtk-media-rewind"
|
||||
string=" 7 Days " separator="1"
|
||||
help="Phonecalls during last 7 days"
|
||||
domain="[('date','<', time.strftime('%%Y-%%m-%%d')), ('date','>=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
/>
|
||||
</group>
|
||||
<filter icon="gtk-home" string="Today"
|
||||
domain="[('date','<', time.strftime('%%Y-%%m-%%d 23:59:59')), ('date','>=',datetime.strftime('%%Y-%%m-%%d 00:00:00'))]"
|
||||
help="Todays's Phonecalls"
|
||||
/>
|
||||
<filter icon="gtk-media-rewind"
|
||||
string="7 Days"
|
||||
help="Phonecalls during last 7 days"
|
||||
domain="[('date','<', time.strftime('%%Y-%%m-%%d')), ('date','>=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
/>
|
||||
<separator orientation="vertical"/>
|
||||
<group col="6" colspan="2">
|
||||
<field name="name" select='1' string="Subject"/>
|
||||
<field name="user_id" select="1" widget="selection">
|
||||
<filter icon="terp-partner" domain="[('user_id','=',uid)]" help="My Phonecalls" default="1"/>
|
||||
</field>
|
||||
<field name="state" select="1">
|
||||
<filter icon="gtk-index" domain="[('state','in',('open','draft' ))]" help="Current " default="1"/>
|
||||
</field>
|
||||
<field name="section_id" default="context.get('section_id', False)" select="1" widget="selection" string="Section">
|
||||
<filter icon="terp-crm"
|
||||
domain="[('section_id','=',context.get('section_id',False))]"
|
||||
help="My section"/>
|
||||
</field>
|
||||
</group>
|
||||
<field name="name" string="Call Summary"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<filter icon="terp-partner" domain="[('user_id','=',uid)]" help="My Phonecalls" default="1"/>
|
||||
<filter icon="terp-partner" domain="[('user_id','=',False)]" help="Unassigned Phonecalls"/>
|
||||
</field>
|
||||
<field name="state">
|
||||
<filter icon="gtk-index" domain="[('state','in',('open','draft' ))]" help="Current" default="1"/>
|
||||
</field>
|
||||
<field name="section_id" default="context.get('section_id', False)" select="1" widget="selection" string="Section">
|
||||
<filter icon="terp-crm"
|
||||
domain="[('section_id','=',context.get('section_id',False))]"
|
||||
help="My section"/>
|
||||
</field>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4">
|
||||
<filter string="Partner" icon="terp-crm" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Responsible" icon="terp-crm" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Creation" icon="terp-project" domain="[]" context="{'group_by':'create_date'}"/>
|
||||
<filter string="Date" icon="terp-project" domain="[]" context="{'group_by':'date'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
+10
-7
@@ -59,7 +59,9 @@
|
||||
<tree string="Stages">
|
||||
<field name="sequence"/>
|
||||
<field name="name"/>
|
||||
<field name="probability"/>
|
||||
<field name="section_id"/>
|
||||
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -73,6 +75,9 @@
|
||||
<field name="section_id" select="1" widget="selection"/>
|
||||
<field name="object_id" invisible="1" />
|
||||
<field name="sequence"/>
|
||||
<field name="probability"/>
|
||||
<field name="on_change"/>
|
||||
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
@@ -92,8 +97,7 @@
|
||||
<form string="Case Category">
|
||||
<field name="name" select="1"/>
|
||||
<field name="section_id" select="1" widget="selection"/>
|
||||
<field name="object_id" invisible="1" />
|
||||
<field name="probability"/>
|
||||
<field name="object_id" invisible="1" />
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
@@ -104,8 +108,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Case Category">
|
||||
<field name="name"/>
|
||||
<field name="section_id"/>
|
||||
<field name="probability"/>
|
||||
<field name="section_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -202,7 +205,7 @@
|
||||
<field name="model">crm.case</field>
|
||||
<field name="type">calendar</field>
|
||||
<field name="arch" type="xml">
|
||||
<calendar color="user_id" date_start="date" date_stop="date_deadline" day_length="12" string="Cases">
|
||||
<calendar color="user_id" date_start="create_date" date_stop="date_deadline" day_length="12" string="Cases">
|
||||
<field name="name"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="state"/>
|
||||
@@ -219,7 +222,7 @@
|
||||
<tree colors="red:date_deadline<current_date and state=='open';black:state in ('draft', 'cancel','done','pending')" string="Cases">
|
||||
<field name="id"/>
|
||||
<field name="section_id"/>
|
||||
<field name="date"/>
|
||||
<field name="create_date"/>
|
||||
<field name="date_deadline"/>
|
||||
<field name="name"/>
|
||||
<field name="partner_id"/>
|
||||
@@ -244,7 +247,7 @@
|
||||
<form string="Cases">
|
||||
<field colspan="4" name="name" select="1"/>
|
||||
<field colspan="2" name="section_id" widget="selection"/>
|
||||
<field name="date" select="1"/>
|
||||
<field name="create_date" select="1"/>
|
||||
<field name="date_deadline" select="2"/>
|
||||
<newline />
|
||||
<notebook colspan="4">
|
||||
|
||||
@@ -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-02-02 16:15+0000\n"
|
||||
"PO-Revision-Date: 2010-02-24 10:59+0000\n"
|
||||
"Last-Translator: Carlo Vettore <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-02-04 04:47+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: crm
|
||||
@@ -297,7 +297,7 @@ msgstr "Sezioni"
|
||||
#. module: crm
|
||||
#: help:crm.menu.config_wizard,opportunity:0
|
||||
msgid "Tracks identified business opportunities for your sales pipeline."
|
||||
msgstr ""
|
||||
msgstr "Tracce identificano le opportunità per le linee di vendita."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
|
||||
+418
-222
File diff suppressed because it is too large
Load Diff
@@ -27,7 +27,18 @@ import ir
|
||||
import pooler
|
||||
from tools.translate import _
|
||||
|
||||
class lead2opportunity(wizard.interface):
|
||||
class partner_create(wizard.interface):
|
||||
|
||||
case_form = """<?xml version="1.0"?>
|
||||
<form string="Convert To Partner">
|
||||
<label string="Are you sure you want to create a partner based on this lead ?" colspan="4"/>
|
||||
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
|
||||
<!--field name="close"/-->
|
||||
</form>"""
|
||||
|
||||
case_fields = {
|
||||
'close': {'type':'boolean', 'string':'Close Lead'}
|
||||
}
|
||||
|
||||
partner_form = """<?xml version="1.0"?>
|
||||
<form string="Convert To Partner">
|
||||
@@ -35,18 +46,116 @@ class lead2opportunity(wizard.interface):
|
||||
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
|
||||
<newline />
|
||||
<field name="action"/>
|
||||
<group attrs="{'invisible':[('action','=','create')]}">
|
||||
<field name="partner_id" attrs="{'required':[('action','=','exist')]}"/>
|
||||
<group attrs="{'invisible':[('action','!=','exist')]}">
|
||||
<field name="partner_id"/>
|
||||
</group>
|
||||
</form>"""
|
||||
|
||||
partner_fields = {
|
||||
'action': {'type':'selection',
|
||||
'selection':[('exist','Link to an existing partner'),('create','Create a new partner')],
|
||||
'string':'Action', 'required':True, 'default': lambda *a:'create'},
|
||||
'string':'Action', 'required':True, 'default': lambda *a:'exist'},
|
||||
'partner_id' : {'type':'many2one', 'relation':'res.partner', 'string':'Partner'},
|
||||
}
|
||||
|
||||
def _selectPartner(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
case_obj = pool.get('crm.lead')
|
||||
partner_obj = pool.get('res.partner')
|
||||
contact_obj = pool.get('res.partner.address')
|
||||
for case in case_obj.browse(cr, uid, data['ids']):
|
||||
if case.partner_id:
|
||||
raise wizard.except_wizard(_('Warning !'),
|
||||
_('A partner is already defined on this lead.'))
|
||||
|
||||
partner_ids = partner_obj.search(cr, uid, [('name', '=', case.partner_name or case.name)])
|
||||
if not partner_ids and case.email_from:
|
||||
address_ids = contact_obj.search(cr, uid, [('email', '=', case.email_from)])
|
||||
if address_ids:
|
||||
addresses = contact_obj.browse(cr, uid, address_ids)
|
||||
partner_ids = addresses and [addresses[0].partner_id.id] or False
|
||||
|
||||
partner_id = partner_ids and partner_ids[0] or False
|
||||
return {'partner_id': partner_id}
|
||||
|
||||
def _create_partner(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
case_obj = pool.get('crm.lead')
|
||||
partner_obj = pool.get('res.partner')
|
||||
contact_obj = pool.get('res.partner.address')
|
||||
partner_ids = []
|
||||
partner_id = False
|
||||
contact_id = False
|
||||
for case in case_obj.browse(cr, uid, data['ids']):
|
||||
if data['form']['action'] == 'create':
|
||||
partner_id = partner_obj.create(cr, uid, {
|
||||
'name': case.partner_name or case.name,
|
||||
'user_id': case.user_id.id,
|
||||
'comment': case.description,
|
||||
})
|
||||
contact_id = contact_obj.create(cr, uid, {
|
||||
'partner_id': partner_id,
|
||||
'name': case.name,
|
||||
'phone': case.phone,
|
||||
'mobile': case.mobile,
|
||||
'email': case.email_from
|
||||
})
|
||||
|
||||
else:
|
||||
if data['form']['partner_id']:
|
||||
partner = partner_obj.browse(cr,uid,data['form']['partner_id'])
|
||||
partner_id = partner.id
|
||||
contact_id = partner.address and partner.address[0].id
|
||||
|
||||
partner_ids.append(partner_id)
|
||||
vals = {}
|
||||
if partner_id:
|
||||
vals.update({'partner_id': partner_id})
|
||||
if contact_id:
|
||||
vals.update({'partner_address_id': contact_id})
|
||||
case_obj.write(cr, uid, [case.id], vals)
|
||||
return partner_ids
|
||||
|
||||
def _make_partner(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
partner_ids = self._create_partner(cr, uid, data, context)
|
||||
mod_obj = pool.get('ir.model.data')
|
||||
result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
|
||||
res = mod_obj.read(cr, uid, result, ['res_id'])
|
||||
value = {
|
||||
'domain': "[]",
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form,tree',
|
||||
'res_model': 'res.partner',
|
||||
'res_id': partner_ids and int(partner_ids[0]) or False,
|
||||
'view_id': False,
|
||||
'type': 'ir.actions.act_window',
|
||||
'search_view_id': res['res_id']
|
||||
}
|
||||
return value
|
||||
|
||||
states = {
|
||||
'init': {
|
||||
'actions': [_selectPartner],
|
||||
'result': {'type': 'form', 'arch': case_form, 'fields': case_fields,
|
||||
'state' : [('end', 'Cancel', 'gtk-cancel'),('create_partner', 'Create Partner', 'gtk-go-forward')]}
|
||||
},
|
||||
'create_partner': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch': partner_form, 'fields': partner_fields,
|
||||
'state' : [('end', 'Cancel', 'gtk-cancel'),('create', 'Continue', 'gtk-go-forward')]}
|
||||
},
|
||||
'create': {
|
||||
'actions': [],
|
||||
'result': {'type': 'action', 'action': _make_partner, 'state': 'end'}
|
||||
}
|
||||
}
|
||||
|
||||
partner_create('crm.lead.partner_create')
|
||||
|
||||
|
||||
class lead2opportunity(partner_create):
|
||||
|
||||
case_form = """<?xml version="1.0"?>
|
||||
<form string="Convert To Opportunity">
|
||||
<field name="name"/>
|
||||
@@ -75,11 +184,8 @@ class lead2opportunity(wizard.interface):
|
||||
def _selectopportunity(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
case_obj = pool.get('crm.lead')
|
||||
for case in case_obj.browse(cr, uid, data['ids']):
|
||||
if not case.partner_id:
|
||||
return 'create_partner'
|
||||
return {'name': case.name, 'probability': case.probability or 20.0,
|
||||
'planned_revenue':case.planned_revenue, 'partner_id':case.partner_id.id}
|
||||
case = case_obj.browse(cr, uid, data['id'])
|
||||
return {'name': case.name, 'partner_id':case.partner_id and case.partner_id.id or False}
|
||||
|
||||
def _selectChoice(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
@@ -116,10 +222,7 @@ class lead2opportunity(wizard.interface):
|
||||
'date_deadline': lead.date_deadline,
|
||||
'partner_address_id':lead.partner_address_id.id,
|
||||
'priority': lead.priority,
|
||||
'date': lead.date,
|
||||
'partner_phone': lead.partner_phone,
|
||||
'canal_id': lead.canal_id,
|
||||
'som': lead.som,
|
||||
'phone': lead.phone,
|
||||
'email_from': lead.email_from
|
||||
})
|
||||
|
||||
@@ -149,37 +252,7 @@ class lead2opportunity(wizard.interface):
|
||||
return value
|
||||
|
||||
def _makePartner(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
lead_case_obj = pool.get('crm.lead')
|
||||
partner_obj = pool.get('res.partner')
|
||||
contact_obj = pool.get('res.partner.address')
|
||||
if data['form']['action'] == 'create':
|
||||
for case in lead_case_obj.browse(cr, uid, data['ids']):
|
||||
partner_id = partner_obj.search(cr, uid, [('name', '=', case.partner_name or case.name)])
|
||||
if partner_id:
|
||||
raise wizard.except_wizard(_('Warning !'),_('A partner is already existing with the same name.'))
|
||||
else:
|
||||
partner_id = partner_obj.create(cr, uid, {
|
||||
'name': case.partner_name or case.name,
|
||||
'user_id': case.user_id.id,
|
||||
'comment': case.description,
|
||||
})
|
||||
contact_id = contact_obj.create(cr, uid, {
|
||||
'partner_id': partner_id,
|
||||
'name': case.partner_name2,
|
||||
'phone': case.partner_phone,
|
||||
'mobile': case.partner_mobile,
|
||||
'email': case.email_from
|
||||
})
|
||||
else:
|
||||
partner = partner_obj.browse(cr,uid,data['form']['partner_id'])
|
||||
partner_id = partner.id
|
||||
contact_id = partner.address and partner.address[0].id
|
||||
|
||||
lead_case_obj.write(cr, uid, data['ids'], {
|
||||
'partner_id': partner_id,
|
||||
'partner_address_id': contact_id
|
||||
})
|
||||
partner_ids = self._create_partner(cr, uid, data, context)
|
||||
return {}
|
||||
|
||||
states = {
|
||||
@@ -188,9 +261,9 @@ class lead2opportunity(wizard.interface):
|
||||
'result': {'type':'choice','next_state':_selectChoice}
|
||||
},
|
||||
'create_partner': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch': partner_form, 'fields': partner_fields,
|
||||
'state' : [('end', 'Cancel', 'gtk-cancel'),('create', 'Continue', 'gtk-go-forward')]}
|
||||
'actions': [partner_create._selectPartner],
|
||||
'result': {'type': 'form', 'arch': partner_create.partner_form, 'fields': partner_create.partner_fields,
|
||||
'state' : [('end', 'Cancel', 'gtk-cancel'),('opportunity', 'Skip', 'gtk-goto-last'), ('create', 'Continue', 'gtk-go-forward')]}
|
||||
},
|
||||
'create': {
|
||||
'actions': [],
|
||||
@@ -209,86 +282,4 @@ class lead2opportunity(wizard.interface):
|
||||
|
||||
lead2opportunity('crm.lead.opportunity_set')
|
||||
|
||||
class partner_create(wizard.interface):
|
||||
|
||||
case_form = """<?xml version="1.0"?>
|
||||
<form string="Convert To Partner">
|
||||
<label string="Are you sure you want to create a partner based on this lead ?" colspan="4"/>
|
||||
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
|
||||
<!--field name="close"/-->
|
||||
</form>"""
|
||||
|
||||
case_fields = {
|
||||
'close': {'type':'boolean', 'string':'Close Lead'}
|
||||
}
|
||||
|
||||
def _selectPartner(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
case_obj = pool.get('crm.lead')
|
||||
for case in case_obj.browse(cr, uid, data['ids']):
|
||||
if case.partner_id:
|
||||
raise wizard.except_wizard(_('Warning !'),
|
||||
_('A partner is already defined on this lead.'))
|
||||
return {}
|
||||
|
||||
def _makeOrder(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
mod_obj = pool.get('ir.model.data')
|
||||
result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
|
||||
res = mod_obj.read(cr, uid, result, ['res_id'])
|
||||
case_obj = pool.get('crm.lead')
|
||||
partner_obj = pool.get('res.partner')
|
||||
contact_obj = pool.get('res.partner.address')
|
||||
for case in case_obj.browse(cr, uid, data['ids']):
|
||||
partner_id = partner_obj.search(cr, uid, [('name', '=', case.partner_name or case.name)])
|
||||
if partner_id:
|
||||
raise wizard.except_wizard(_('Warning !'),_('A partner is already existing with the same name.'))
|
||||
else:
|
||||
partner_id = partner_obj.create(cr, uid, {
|
||||
'name': case.partner_name or case.name,
|
||||
'user_id': case.user_id.id,
|
||||
'comment': case.description,
|
||||
})
|
||||
contact_id = contact_obj.create(cr, uid, {
|
||||
'partner_id': partner_id,
|
||||
'name': case.partner_name2,
|
||||
'phone': case.partner_phone,
|
||||
'mobile': case.partner_mobile,
|
||||
'email': case.email_from
|
||||
})
|
||||
|
||||
|
||||
case_obj.write(cr, uid, data['ids'], {
|
||||
'partner_id': partner_id,
|
||||
'partner_address_id': contact_id
|
||||
})
|
||||
if data['form']['close']:
|
||||
case_obj.case_close(cr, uid, data['ids'])
|
||||
|
||||
value = {
|
||||
'domain': "[]",
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form,tree',
|
||||
'res_model': 'res.partner',
|
||||
'res_id': int(partner_id),
|
||||
'view_id': False,
|
||||
'type': 'ir.actions.act_window',
|
||||
'search_view_id': res['res_id']
|
||||
}
|
||||
return value
|
||||
|
||||
states = {
|
||||
'init': {
|
||||
'actions': [_selectPartner],
|
||||
'result': {'type': 'form', 'arch': case_form, 'fields': case_fields,
|
||||
'state' : [('end', 'Cancel', 'gtk-cancel'),('confirm', 'Create Partner', 'gtk-go-forward')]}
|
||||
},
|
||||
'confirm': {
|
||||
'actions': [],
|
||||
'result': {'type': 'action', 'action': _makeOrder, 'state': 'end'}
|
||||
}
|
||||
}
|
||||
|
||||
partner_create('crm.lead.partner_create')
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -135,21 +135,7 @@ class opportunity2meeting(wizard.interface):
|
||||
|
||||
def _makeMeeting(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
opportunity_case_obj = pool.get('crm.opportunity')
|
||||
meeting_case_obj = pool.get('crm.meeting')
|
||||
for opportunity in opportunity_case_obj.browse(cr, uid, data['ids']):
|
||||
new_meeting_id = meeting_case_obj.create(cr, uid, {
|
||||
'name': opportunity.name,
|
||||
'date': opportunity.date,
|
||||
'section_id' : opportunity.section_id and opportunity.section_id.id or False,
|
||||
'date_deadline': opportunity.date_deadline,
|
||||
'description':opportunity.description,
|
||||
'opportunity_id':opportunity.id
|
||||
})
|
||||
new_meeting = meeting_case_obj.browse(cr, uid, new_meeting_id)
|
||||
vals = {}
|
||||
opportunity_case_obj.write(cr, uid, [opportunity.id], vals)
|
||||
meeting_case_obj.case_open(cr, uid, [new_meeting_id])
|
||||
opportunity_case_obj = pool.get('crm.opportunity')
|
||||
data_obj = pool.get('ir.model.data')
|
||||
result = data_obj._get_id(cr, uid, 'crm', 'view_crm_case_meetings_filter')
|
||||
id = data_obj.read(cr, uid, result, ['res_id'])
|
||||
|
||||
@@ -27,26 +27,124 @@ import ir
|
||||
import pooler
|
||||
from tools.translate import _
|
||||
|
||||
class phonecall2opportunity(wizard.interface):
|
||||
class partner_create(wizard.interface):
|
||||
|
||||
partner_form = """<?xml version="1.0"?>
|
||||
case_form = """<?xml version="1.0"?>
|
||||
<form string="Convert To Partner">
|
||||
<label string="Are you sure you want to create a partner based on this phonecall ?" colspan="4"/>
|
||||
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
|
||||
<!--field name="close"/-->
|
||||
</form>"""
|
||||
|
||||
case_fields = {
|
||||
'close': {'type':'boolean', 'string':'Close Phonecall'}
|
||||
}
|
||||
|
||||
partner_form = """<?xml version="1.0"?>
|
||||
<form string="Convert To Partner">
|
||||
<label string="Are you sure you want to create a partner based on this lead ?" colspan="4"/>
|
||||
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
|
||||
<newline />
|
||||
<field name="action"/>
|
||||
<group attrs="{'invisible':[('action','=','create')]}">
|
||||
<field name="partner_id" attrs="{'required':[('action','=','exist')]}"/>
|
||||
<group attrs="{'invisible':[('action','!=','exist')]}">
|
||||
<field name="partner_id"/>
|
||||
</group>
|
||||
</form>"""
|
||||
|
||||
partner_fields = {
|
||||
'action': {'type':'selection',
|
||||
'selection':[('exist','Link to an existing partner'),('create','Create a new partner')],
|
||||
'string':'Action', 'required':True, 'default': lambda *a:'create'},
|
||||
'string':'Action', 'required':True, 'default': lambda *a:'exist'},
|
||||
'partner_id' : {'type':'many2one', 'relation':'res.partner', 'string':'Partner'},
|
||||
}
|
||||
|
||||
def _selectPartner(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
case_obj = pool.get('crm.phonecall')
|
||||
for case in case_obj.browse(cr, uid, data['ids']):
|
||||
if case.partner_id:
|
||||
raise wizard.except_wizard(_('Warning !'),
|
||||
_('A partner is already defined on this phonecall.'))
|
||||
return {}
|
||||
|
||||
def _create_partner(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
case_obj = pool.get('crm.phonecall')
|
||||
partner_obj = pool.get('res.partner')
|
||||
contact_obj = pool.get('res.partner.address')
|
||||
partner_ids = []
|
||||
partner_id = False
|
||||
contact_id = False
|
||||
for case in case_obj.browse(cr, uid, data['ids']):
|
||||
if data['form']['action'] == 'create':
|
||||
partner_id = partner_obj.create(cr, uid, {
|
||||
'name': case.partner_name or case.name,
|
||||
'user_id': case.user_id.id,
|
||||
'comment': case.description,
|
||||
})
|
||||
contact_id = contact_obj.create(cr, uid, {
|
||||
'partner_id': partner_id,
|
||||
'name': case.name,
|
||||
'phone': case.phone,
|
||||
'mobile': case.mobile,
|
||||
'email': case.email_from
|
||||
})
|
||||
|
||||
else:
|
||||
if data['form']['partner_id']:
|
||||
partner = partner_obj.browse(cr,uid,data['form']['partner_id'])
|
||||
partner_id = partner.id
|
||||
contact_id = partner.address and partner.address[0].id
|
||||
|
||||
partner_ids.append(partner_id)
|
||||
vals = {}
|
||||
if partner_id:
|
||||
vals.update({'partner_id': partner_id})
|
||||
if contact_id:
|
||||
vals.update({'partner_address_id': contact_id})
|
||||
case_obj.write(cr, uid, [case.id], vals)
|
||||
return partner_ids
|
||||
|
||||
def _make_partner(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
partner_ids = self._create_partner(cr, uid, data, context)
|
||||
mod_obj = pool.get('ir.model.data')
|
||||
result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
|
||||
res = mod_obj.read(cr, uid, result, ['res_id'])
|
||||
value = {
|
||||
'domain': "[]",
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form,tree',
|
||||
'res_model': 'res.partner',
|
||||
'res_id': partner_ids and int(partner_ids[0]) or False,
|
||||
'view_id': False,
|
||||
'type': 'ir.actions.act_window',
|
||||
'search_view_id': res['res_id']
|
||||
}
|
||||
return value
|
||||
|
||||
states = {
|
||||
'init': {
|
||||
'actions': [_selectPartner],
|
||||
'result': {'type': 'form', 'arch': case_form, 'fields': case_fields,
|
||||
'state' : [('end', 'Cancel', 'gtk-cancel'),('create_partner', 'Create Partner', 'gtk-go-forward')]}
|
||||
},
|
||||
'create_partner': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch': partner_form, 'fields': partner_fields,
|
||||
'state' : [('end', 'Cancel', 'gtk-cancel'),('create', 'Continue', 'gtk-go-forward')]}
|
||||
},
|
||||
'create': {
|
||||
'actions': [],
|
||||
'result': {'type': 'action', 'action': _make_partner, 'state': 'end'}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
partner_create('crm.phonecall.partner_create')
|
||||
|
||||
class phonecall2opportunity(partner_create):
|
||||
|
||||
case_form = """<?xml version="1.0"?>
|
||||
<form string="Convert To Opportunity">
|
||||
<field name="name"/>
|
||||
@@ -75,11 +173,8 @@ class phonecall2opportunity(wizard.interface):
|
||||
def _selectopportunity(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
case_obj = pool.get('crm.phonecall')
|
||||
for case in case_obj.browse(cr, uid, data['ids']):
|
||||
if not case.partner_id:
|
||||
return 'create_partner'
|
||||
return {'name': case.name, 'probability': case.probability or 20.0,
|
||||
'planned_revenue':case.planned_revenue, 'partner_id':case.partner_id.id}
|
||||
case = case_obj.browse(cr, uid, data['id'])
|
||||
return {'name': case.name, 'partner_id':case.partner_id and case.partner_id.id or False}
|
||||
|
||||
def _selectChoice(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
@@ -115,7 +210,6 @@ class phonecall2opportunity(wizard.interface):
|
||||
'section_id': phonecall.section_id.id,
|
||||
'description': phonecall.description,
|
||||
'phonecall_id': phonecall.id,
|
||||
'date': phonecall.date,
|
||||
'priority': phonecall.priority
|
||||
})
|
||||
new_opportunity = opportunity_case_obj.browse(cr, uid, new_opportunity_id)
|
||||
@@ -140,37 +234,7 @@ class phonecall2opportunity(wizard.interface):
|
||||
return value
|
||||
|
||||
def _makePartner(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
phonecall_case_obj = pool.get('crm.phonecall')
|
||||
partner_obj = pool.get('res.partner')
|
||||
contact_obj = pool.get('res.partner.address')
|
||||
if data['form']['action']=='create':
|
||||
for case in phonecall_case_obj.browse(cr, uid, data['ids']):
|
||||
partner_id = partner_obj.search(cr, uid, [('name', '=', case.partner_name or case.name)])
|
||||
if partner_id:
|
||||
raise wizard.except_wizard(_('Warning !'),_('A partner is already existing with the same name.'))
|
||||
else:
|
||||
partner_id = partner_obj.create(cr, uid, {
|
||||
'name': case.partner_name or case.name,
|
||||
'user_id': case.user_id.id,
|
||||
'comment': case.description,
|
||||
})
|
||||
contact_id = contact_obj.create(cr, uid, {
|
||||
'partner_id': partner_id,
|
||||
'name': case.partner_name2,
|
||||
'phone': case.partner_phone,
|
||||
'mobile': case.partner_mobile,
|
||||
'email': case.email_from
|
||||
})
|
||||
else:
|
||||
partner = partner_obj.browse(cr,uid,data['form']['partner_id'])
|
||||
partner_id=partner.id
|
||||
contact_id=partner.address and partner.address[0].id
|
||||
|
||||
phonecall_case_obj.write(cr, uid, data['ids'], {
|
||||
'partner_id': partner_id,
|
||||
'partner_address_id': contact_id
|
||||
})
|
||||
partner_ids = self._create_partner(cr, uid, data, context)
|
||||
return {}
|
||||
|
||||
states = {
|
||||
@@ -180,8 +244,8 @@ class phonecall2opportunity(wizard.interface):
|
||||
},
|
||||
'create_partner': {
|
||||
'actions': [],
|
||||
'result': {'type': 'form', 'arch': partner_form, 'fields': partner_fields,
|
||||
'state' : [('end', 'Cancel', 'gtk-cancel'),('create', 'Continue', 'gtk-go-forward')]}
|
||||
'result': {'type': 'form', 'arch': partner_create.partner_form, 'fields': partner_create.partner_fields,
|
||||
'state' : [('end', 'Cancel', 'gtk-cancel'),('opportunity', 'Skip', 'gtk-goto-last'),('create', 'Continue', 'gtk-go-forward')]}
|
||||
},
|
||||
'create': {
|
||||
'actions': [],
|
||||
@@ -204,22 +268,7 @@ class phonecall2meeting(wizard.interface):
|
||||
|
||||
def _makeMeeting(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
phonecall_case_obj = pool.get('crm.phonecall')
|
||||
meeting_case_obj = pool.get('crm.meeting')
|
||||
for phonecall in phonecall_case_obj.browse(cr, uid, data['ids']):
|
||||
new_meeting_id = meeting_case_obj.create(cr, uid, {
|
||||
'name': phonecall.name,
|
||||
'date': phonecall.date,
|
||||
'section_id' : phonecall.section_id and phonecall.section_id.id or False,
|
||||
'duration': phonecall.duration,
|
||||
'description':phonecall.description,
|
||||
'phonecall_id':phonecall.id
|
||||
})
|
||||
new_meeting = meeting_case_obj.browse(cr, uid, new_meeting_id)
|
||||
vals = {}
|
||||
phonecall_case_obj.write(cr, uid, [phonecall.id], vals)
|
||||
phonecall_case_obj.case_cancel(cr, uid, [phonecall.id])
|
||||
meeting_case_obj.case_open(cr, uid, [new_meeting_id])
|
||||
phonecall_case_obj = pool.get('crm.phonecall')
|
||||
data_obj = pool.get('ir.model.data')
|
||||
result = data_obj._get_id(cr, uid, 'crm', 'view_crm_case_meetings_filter')
|
||||
id = data_obj.read(cr, uid, result, ['res_id'])
|
||||
@@ -256,86 +305,4 @@ class phonecall2meeting(wizard.interface):
|
||||
}
|
||||
phonecall2meeting('crm.phonecall.meeting_set')
|
||||
|
||||
class partner_create(wizard.interface):
|
||||
|
||||
case_form = """<?xml version="1.0"?>
|
||||
<form string="Convert To Partner">
|
||||
<label string="Are you sure you want to create a partner based on this phonecall ?" colspan="4"/>
|
||||
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
|
||||
<!--field name="close"/-->
|
||||
</form>"""
|
||||
|
||||
case_fields = {
|
||||
'close': {'type':'boolean', 'string':'Close Phonecall'}
|
||||
}
|
||||
|
||||
def _selectPartner(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
case_obj = pool.get('crm.phonecall')
|
||||
for case in case_obj.browse(cr, uid, data['ids']):
|
||||
if case.partner_id:
|
||||
raise wizard.except_wizard(_('Warning !'),
|
||||
_('A partner is already defined on this phonecall.'))
|
||||
return {}
|
||||
|
||||
def _makeOrder(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
mod_obj = pool.get('ir.model.data')
|
||||
result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
|
||||
res = mod_obj.read(cr, uid, result, ['res_id'])
|
||||
case_obj = pool.get('crm.phonecall')
|
||||
partner_obj = pool.get('res.partner')
|
||||
contact_obj = pool.get('res.partner.address')
|
||||
for case in case_obj.browse(cr, uid, data['ids']):
|
||||
partner_id = partner_obj.search(cr, uid, [('name', '=', case.name)])
|
||||
if partner_id:
|
||||
raise wizard.except_wizard(_('Warning !'),_('A partner is already existing with the same name.'))
|
||||
else:
|
||||
partner_id = partner_obj.create(cr, uid, {
|
||||
'name': case.name,
|
||||
'user_id': case.user_id.id,
|
||||
'comment': case.description,
|
||||
})
|
||||
contact_id = contact_obj.create(cr, uid, {
|
||||
'partner_id': partner_id,
|
||||
'name': case.name,
|
||||
'phone': case.partner_phone,
|
||||
'mobile': case.partner_mobile,
|
||||
'email': case.email_from
|
||||
})
|
||||
|
||||
|
||||
case_obj.write(cr, uid, data['ids'], {
|
||||
'partner_id': partner_id,
|
||||
'partner_address_id': contact_id
|
||||
})
|
||||
if data['form']['close']:
|
||||
case_obj.case_close(cr, uid, data['ids'])
|
||||
|
||||
value = {
|
||||
'domain': "[]",
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form,tree',
|
||||
'res_model': 'res.partner',
|
||||
'res_id': int(partner_id),
|
||||
'view_id': False,
|
||||
'type': 'ir.actions.act_window',
|
||||
'search_view_id': res['res_id']
|
||||
}
|
||||
return value
|
||||
|
||||
states = {
|
||||
'init': {
|
||||
'actions': [_selectPartner],
|
||||
'result': {'type': 'form', 'arch': case_form, 'fields': case_fields,
|
||||
'state' : [('end', 'Cancel', 'gtk-cancel'),('confirm', 'Create Partner', 'gtk-go-forward')]}
|
||||
},
|
||||
'confirm': {
|
||||
'actions': [],
|
||||
'result': {'type': 'action', 'action': _makeOrder, 'state': 'end'}
|
||||
}
|
||||
}
|
||||
|
||||
partner_create('crm.phonecall.partner_create')
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="view_crm_job_categ_graph">
|
||||
<field name="name">report.crm.job.categ.graph</field>
|
||||
<field name="model">report.crm.job.categ</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Jobs by Sections and Categories" type="bar" orientation="horizontal">
|
||||
<field name="categ_id"/>
|
||||
<field name="nbr" operator="+"/>
|
||||
<field name="state" group="True"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window name="Jobs Requests Of The Month by Applied Job"
|
||||
domain="[('month','=',time.strftime('%%m')),('state','!=','done'),('state','!=','cancel')]"
|
||||
res_model="report.crm.job.categ"
|
||||
view_type="form"
|
||||
view_mode="graph,tree,form"
|
||||
view_id="view_crm_job_categ_graph"
|
||||
id="act_jobs_categ"/>
|
||||
|
||||
<record model="ir.ui.view" id="board_crm_hr_statistical_form">
|
||||
<field name="name">CRM - Statistical Dashboard Form</field>
|
||||
<field name="model">board.board</field>
|
||||
<field name="inherit_id" ref="board_crm_configuration.board_crm_statistical_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Statistics Dashboard">
|
||||
<hpaned>
|
||||
<child2>
|
||||
<action
|
||||
string="Jobs Requests Of The Month by Applied Job"
|
||||
name="%(act_jobs_categ)d"
|
||||
colspan="4"/>
|
||||
</child2>
|
||||
</hpaned>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,55 +0,0 @@
|
||||
# -*- 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 osv import fields,osv,orm
|
||||
from crm import crm
|
||||
|
||||
class crm_job(osv.osv):
|
||||
_name = "crm.job"
|
||||
_description = "Job Cases"
|
||||
_order = "id desc"
|
||||
_inherit ='crm.case'
|
||||
_columns = {
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
||||
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.job')]"),
|
||||
'planned_revenue': fields.float('Planned Revenue'),
|
||||
'planned_cost': fields.float('Planned Costs'),
|
||||
'probability': fields.float('Probability (%)'),
|
||||
'partner_name': fields.char("Employee's Name", size=64),
|
||||
'partner_name2': fields.char('Employee Email', size=64),
|
||||
'partner_phone': fields.char('Phone', size=32),
|
||||
'partner_mobile': fields.char('Mobile', size=32),
|
||||
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.job')]"),
|
||||
'type_id': fields.many2one('crm.case.resource.type', 'Type Name', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.job')]"),
|
||||
'duration': fields.float('Duration'),
|
||||
'case_id': fields.many2one('crm.case', 'Related Case'),
|
||||
'ref' : fields.reference('Reference', selection=crm._links_get, size=128),
|
||||
'ref2' : fields.reference('Reference 2', selection=crm._links_get, size=128),
|
||||
'canal_id': fields.many2one('res.partner.canal', 'Channel',help="The channels represent the different communication modes available with the customer." \
|
||||
" With each commercial opportunity, you can indicate the canall which is this opportunity source."),
|
||||
'som': fields.many2one('res.partner.som', 'State of Mind', help="The minds states allow to define a value scale which represents" \
|
||||
"the partner mentality in relation to our services.The scale has" \
|
||||
"to be created with a factor for each level from 0 (Very dissatisfied) to 10 (Extremely satisfied)."),
|
||||
'phonecall_id':fields.many2one ('crm.phonecall', 'Phonecall'),
|
||||
}
|
||||
|
||||
crm_job()
|
||||
@@ -1,511 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
|
||||
<!-- CASE CATEGORY(categ_id) -->
|
||||
|
||||
<record model="crm.case.categ" id="categ_job1">
|
||||
<field name="name">Salesman</field>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.job')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.categ" id="categ_job2">
|
||||
<field name="name">Junior Developer</field>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.job')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<!-- Resource(type_id) -->
|
||||
|
||||
<record model="crm.case.resource.type" id="type_job1">
|
||||
<field name="name">Graduate</field>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.job')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.resource.type" id="type_job2">
|
||||
<field name="name">Licenced</field>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.job')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.resource.type" id="type_job3">
|
||||
<field name="name"> > Bac +5</field>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.job')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<!-- STAGE(stage_id) -->
|
||||
|
||||
<record model="crm.case.stage" id="stage_job1">
|
||||
<field name="name">Initial Jobs Demand</field>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.job')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_job2">
|
||||
<field name="name">First Interview</field>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.job')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_job3">
|
||||
<field name="name">Second Interview</field>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.job')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_job4">
|
||||
<field name="name">Contract Proposed</field>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.claim')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_job5">
|
||||
<field name="name">Contract Signed</field>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.job')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_job6">
|
||||
<field name="name">Refused by Employee</field>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.job')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_job7">
|
||||
<field name="name">Refused by Company</field>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.job')]" model="ir.model"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
<data>
|
||||
<record id="survey_job_0" model="survey">
|
||||
<field name="title">Job Survey</field>
|
||||
<field name="state">draft</field>
|
||||
<field name="max_response_limit">20</field>
|
||||
<field eval="[(6,0,[])]" name="users"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_page_job_0" model="survey.page">
|
||||
<field name="title">Default Section</field>
|
||||
<field name="survey_id" ref="survey_job_0"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_page_job_1" model="survey.page">
|
||||
<field name="title">Education & Activities</field>
|
||||
<field name="survey_id" ref="survey_job_0"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_page_job_2" model="survey.page">
|
||||
<field name="title">Importance</field>
|
||||
<field name="survey_id" ref="survey_job_0"/>
|
||||
<field eval="3" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_0" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="1" name="sequence"/>
|
||||
<field name="question">From which university will you graduate?</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">single_textbox</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_0"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_1" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="1" name="sequence"/>
|
||||
<field name="question">Rate the Importance</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">matrix_of_choices_only_one_ans</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_2"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_2" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="1" name="sequence"/>
|
||||
<field name="question">Education</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">comment</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_1"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_3" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="2" name="sequence"/>
|
||||
<field name="question">Knowledge</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">comment</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_1"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_4" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="2" name="sequence"/>
|
||||
<field name="question">What is your gender?</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">multiple_choice_only_one_ans</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_0"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
|
||||
<record id="survey_answer_job_70" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Male</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_4"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
|
||||
<record id="survey_answer_job_71" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Female</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_4"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_5" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="3" name="sequence"/>
|
||||
<field name="question">What age group do you belong to?</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">multiple_choice_only_one_ans</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_0"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
|
||||
<record id="survey_answer_job_81" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">0 - 15</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_82" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">16 - 20</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_83" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">21 - 30</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
|
||||
<field eval="3" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_84" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">31 - 40</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
|
||||
<field eval="4" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_85" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">41 - 50</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
|
||||
<field eval="5" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_86" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">51 - 60</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
|
||||
<field eval="6" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_87" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">61 - 70</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
|
||||
<field eval="7" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_88" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">71 +</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_5"/>
|
||||
<field eval="8" name="sequence"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_6" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="3" name="sequence"/>
|
||||
<field name="question">Exprience</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">comment</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_1"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_7" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="4" name="sequence"/>
|
||||
<field name="question">Activities</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">comment</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_1"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_column_heading_job_0" model="survey.question.column.heading">
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="title">Not important</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_column_heading_job_1" model="survey.question.column.heading">
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="title">Somewhat important</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_column_heading_job_2" model="survey.question.column.heading">
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="title">Important</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_column_heading_job_3" model="survey.question.column.heading">
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="title">Very important</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_column_heading_job_4" model="survey.question.column.heading">
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="title">Most important</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
<data>
|
||||
<record id="survey_answer_job_0" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Good pay</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_1" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Getting on with colleagues</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_2" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Office environment (décor, light, space etc)</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
|
||||
<field eval="3" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_3" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Desk space</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
|
||||
<field eval="4" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_4" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">State of the art technology</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
|
||||
<field eval="5" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_5" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Office location (proximity to home)</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
|
||||
<field eval="6" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_6" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Good management/boss</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
|
||||
<field eval="7" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_7" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Freebies such as tea, coffee and stationery</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
|
||||
<field eval="8" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_8" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Perks such as free parking, gym passes etc</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
|
||||
<field eval="9" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_9" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">No out of hours working</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
|
||||
<field eval="10" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_10" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Dress code</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
|
||||
<field eval="11" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_11" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Regular meetings</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
|
||||
<field eval="12" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_12" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Good social life (office nights out, good Christmas parties etc)</field>
|
||||
<field name="question_id" ref="crm_hr.survey_question_job_1"/>
|
||||
<field eval="13" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
</openerp>
|
||||
@@ -1,149 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<!--
|
||||
((((((((((( Demo Cases )))))))))))
|
||||
-->
|
||||
|
||||
<!--For Jobs Requests-->
|
||||
<record id="crm_case_salesman0" model="crm.job">
|
||||
<field eval="time.strftime('%Y-%m-01 10:35:50')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-03')" name="date_deadline"/>
|
||||
<field name="type_id" ref="crm_hr.type_job1"/>
|
||||
<field name="partner_id" ref="base.res_partner_asus"/>
|
||||
<field eval=""2"" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""Enrique Jones"" name="partner_name"/>
|
||||
<field eval=""draft"" name="state"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval=""enrique@rediff.com"" name="partner_name2"/>
|
||||
<field eval=""9963214587"" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="9.0" name="duration"/>
|
||||
<field name="categ_id" ref="crm_hr.categ_job1"/>
|
||||
<field name="stage_id" ref="crm_hr.stage_job1"/>
|
||||
<field eval=""Salesman"" name="name"/>
|
||||
<field eval=""1236547890"" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="crm_case_traineemca0" model="crm.job">
|
||||
<field model="res.partner.canal" name="canal_id" search="[('name','=','E-mail')]"/>
|
||||
<field name="partner_address_id" ref="base.res_partner_address_14"/>
|
||||
<field name="som" ref="base.som_fury"/>
|
||||
<field eval="time.strftime('%Y-%m-10 18:15:00')" name="date"/>
|
||||
<field name="type_id" ref="crm_hr.type_job3"/>
|
||||
<field name="partner_id" ref="base.res_partner_15"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""Marie Justine"" name="partner_name"/>
|
||||
<field eval=""open"" name="state"/>
|
||||
<field eval="5.15" name="duration"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval=""marie@gmail.com"" name="partner_name2"/>
|
||||
<field eval=""9988774455"" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="crm_hr.categ_job2"/>
|
||||
<field name="stage_id" ref="crm_hr.stage_job4"/>
|
||||
<field eval=""Trainee - MCA"" name="name"/>
|
||||
<field eval="time.strftime('%Y-%m-15')" name="date_deadline"/>
|
||||
<field eval=""6633225"" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="crm_case_fresher0" model="crm.job">
|
||||
<field model="res.partner.canal" name="canal_id" search="[('name','=','direct')]"/>
|
||||
<field name="som" ref="base.som_happy"/>
|
||||
<field eval="time.strftime('%Y-%m-15 16:10:00')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-18')" name="date_deadline"/>
|
||||
<field name="type_id" ref="crm_hr.type_job2"/>
|
||||
<field name="partner_id" ref="base.res_partner_5"/>
|
||||
<field eval=""1"" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="1.45" name="duration"/>
|
||||
<field eval=""Jose"" name="partner_name"/>
|
||||
<field eval=""pending"" name="state"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval=""jose@timesgroup.com"" name="partner_name2"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="crm_hr.categ_job1"/>
|
||||
<field name="stage_id" ref="crm_hr.stage_job3"/>
|
||||
<field eval=""Fresher"" name="name"/>
|
||||
<field eval=""999666735"" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="crm_case_yrsexperienceinphp0" model="crm.job">
|
||||
<field eval="time.strftime('%Y-%m-25 16:25:52')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-28')" name="date_deadline"/>
|
||||
<field name="categ_id" ref="crm_hr.categ_job2"/>
|
||||
<field name="type_id" ref="crm_hr.type_job3"/>
|
||||
<field name="partner_id" ref="base.res_partner_10"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="1.35" name="duration"/>
|
||||
<field eval=""Sandra Elvis"" name="partner_name"/>
|
||||
<field eval=""sandra@example.com"" name="partner_name2"/>
|
||||
<field eval=""cancel"" name="state"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="stage_id" ref="crm_hr.stage_job6"/>
|
||||
<field eval=""More than 5 yrs Experience in PHP"" name="name"/>
|
||||
</record>
|
||||
<record id="crm_case_marketingjob0" model="crm.job">
|
||||
<field eval="time.strftime('%Y-%m-26 17:15:32')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-28')" name="date_deadline"/>
|
||||
<field name="type_id" ref="crm_hr.type_job2"/>
|
||||
<field name="partner_id" ref="base.res_partner_11"/>
|
||||
<field eval=""4"" name="priority"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field eval="2.0" name="duration"/>
|
||||
<field eval=""John Bruno"" name="partner_name"/>
|
||||
<field eval=""done"" name="state"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval=""john@market.edu"" name="partner_name2"/>
|
||||
<field eval=""9966332214"" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="crm_hr.categ_job1"/>
|
||||
<field name="stage_id" ref="crm_hr.stage_job5"/>
|
||||
<field eval=""Marketing Job"" name="name"/>
|
||||
<field eval=""33968745"" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="crm_case_financejob0" model="crm.job">
|
||||
<field eval="time.strftime('%Y-%m-26 17:39:42')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-28')" name="date_deadline"/>
|
||||
<field name="type_id" ref="crm_hr.type_job2"/>
|
||||
<field name="partner_id" ref="base.res_partner_11"/>
|
||||
<field eval=""4"" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""David Armstrong"" name="partner_name"/>
|
||||
<field eval=""done"" name="state"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval=""david@market.edu"" name="partner_name2"/>
|
||||
<field eval=""9966332214"" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="2.20" name="duration"/>
|
||||
<field name="categ_id" ref="crm_hr.categ_job1"/>
|
||||
<field name="stage_id" ref="crm_hr.stage_job5"/>
|
||||
<field eval=""Finance Job"" name="name"/>
|
||||
<field eval=""33968745"" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="crm_case_traineemca1" model="crm.job">
|
||||
<field model="res.partner.canal" name="canal_id" search="[('name','=','E-mail')]"/>
|
||||
<field name="partner_address_id" ref="base.res_partner_address_14"/>
|
||||
<field name="som" ref="base.som_fury"/>
|
||||
<field eval="time.strftime('%Y-%m-12 17:49:19')" name="date"/>
|
||||
<field name="type_id" ref="crm_hr.type_job3"/>
|
||||
<field name="partner_id" ref="base.res_partner_15"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""Tina Augustie"" name="partner_name"/>
|
||||
<field eval=""open"" name="state"/>
|
||||
<field eval="1.15" name="duration"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field eval=""tina_augustie@example.com"" name="partner_name2"/>
|
||||
<field eval=""9898745745"" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="crm_hr.categ_job2"/>
|
||||
<field name="stage_id" ref="crm_hr.stage_job4"/>
|
||||
<field eval=""Trainee - MCA"" name="name"/>
|
||||
<field eval="time.strftime('%Y-%m-15')" name="date_deadline"/>
|
||||
<field eval=""6630125"" name="partner_phone"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,252 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Job Categories
|
||||
# ------------------------------------------------------
|
||||
|
||||
<record id="crm_job_categ_action" model="ir.actions.act_window">
|
||||
<field name="name">Job Categories</field>
|
||||
<field name="res_model">crm.case.categ</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.claim')]</field>
|
||||
<field name="context">{'object_id':'crm.job'}</field>
|
||||
</record>
|
||||
# ------------------------------------------------------
|
||||
# Stage
|
||||
# ------------------------------------------------------
|
||||
<record id="crm_job_stage_act" model="ir.actions.act_window">
|
||||
<field name="name">Job Stages</field>
|
||||
<field name="res_model">crm.case.stage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_stage_tree"/>
|
||||
<field name="domain">[('object_id.model', '=', 'crm.claim')]</field>
|
||||
<field name="context">{'object_id':'crm.job'}</field>
|
||||
</record>
|
||||
<menuitem action="crm_job_stage_act" id="menu_crm_job_stage_act" parent="crm.menu_crm_case_stage"/>
|
||||
# ------------------------------------------------------
|
||||
# Jobs
|
||||
# ------------------------------------------------------
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_tree_view_job">
|
||||
<field name="name">CRM - Jobs Requests Tree</field>
|
||||
<field name="model">crm.job</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Jobs - Recruitment Tree" colors="red:state=='open';black:state in ('draft', 'cancel','done','pending')">
|
||||
<field name="id"/>
|
||||
<field name="name" string="Description"/>
|
||||
<field name="partner_name" string="Name"/>
|
||||
<field name="email_from" string="Candidate Email"/>
|
||||
<field name="partner_phone" string="Candidate Phone"/>
|
||||
<field name="categ_id" string="Applied Job" select="1"/>
|
||||
<field name="stage_id"/>
|
||||
<field name="priority" string="Appreciation"/>
|
||||
<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_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_close" string="Hired" states="open,draft,pending" type="object" icon="terp-partner"/>
|
||||
<button name="case_cancel" string="Refused" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_form_view_job">
|
||||
<field name="name">CRM - Jobs Requests Form</field>
|
||||
<field name="model">crm.job</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Jobs - Recruitment Form">
|
||||
<group colspan="4" col="7">
|
||||
<field name="name" string="Description" colspan="2"/>
|
||||
<field name="section_id" colspan="1" widget="selection"/>
|
||||
<field name="user_id" string="Responsible" select="2"/>
|
||||
<newline/>
|
||||
<label string="Stage: " align="1.0"/>
|
||||
<group colspan="1" col="2">
|
||||
<field name="stage_id" select="1" nolabel="1"/>
|
||||
<button icon="gtk-go-forward" string="" name="stage_next" type="object"/>
|
||||
</group>
|
||||
<field name="date" string="Next Interview"/>
|
||||
<field name="duration" widget="float_time"/>
|
||||
<button name="%(wizard_crm_job_meeting_set)d" string="Schedule Meeting" icon="terp-crm" type="action"/>
|
||||
<field name="phonecall_id" select="1"/>
|
||||
<button string="Schedule a Phone Call"
|
||||
name="%(wizard_crm_job_reschedule_phone_call)d" icon="gtk-redo" type="action" attrs="{'invisible':[('phonecall_id','!=',False)]}"/>
|
||||
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Job Info">
|
||||
<field name="partner_name" string="Candidate Name"/>
|
||||
<field name="partner_name2" string="Candidate Name2"/>
|
||||
<newline/>
|
||||
<field name="partner_phone"/>
|
||||
<field name="partner_mobile"/>
|
||||
<field name="email_from" string="Candidate Email"/>
|
||||
<newline/>
|
||||
<group colspan="2" col="3">
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id, email_from)" />
|
||||
<button string="Convert to Partner"
|
||||
icon="terp-partner" name="%(wizard_crm_job_partner_create)d"
|
||||
type="action" attrs="{'invisible':[('partner_id','!=',False)]}"
|
||||
/>
|
||||
</group>
|
||||
<field name="partner_address_id" string="Contact" on_change="onchange_partner_address_id(partner_address_id, email_from)" colspan="1"/>
|
||||
<newline/>
|
||||
<separator colspan="4" string="Contract Data"/>
|
||||
<field name="probability" string="Availability (weeks)"/>
|
||||
<newline/>
|
||||
<field name="planned_cost" string="Expected Salary"/>
|
||||
<field name="planned_revenue" string="Proposed Salary"/>
|
||||
<field name="categ_id" string="Applied Job" select="1" on_change="onchange_categ_id(categ_id)"/>
|
||||
<field name="type_id" string="Degree" select="1"/>
|
||||
<separator colspan="4" string="Qualication"/>
|
||||
<field name="priority" string="Appreciation" select="2"/>
|
||||
|
||||
<separator colspan="4" string="Status"/>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state" select="1"/>
|
||||
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
|
||||
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_close" string="Hired" states="open,draft,pending" type="object" icon="terp-partner"/>
|
||||
<button name="case_cancel" string="Refused" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Internal Notes">
|
||||
<field name="description" nolabel="1" colspan="4"/>
|
||||
</page>
|
||||
<page string="History">
|
||||
<field name="id" select="1"/>
|
||||
<field name="active"/>
|
||||
<field name="canal_id"/>
|
||||
<separator colspan="4" string="Dates"/>
|
||||
<field name="create_date"/>
|
||||
<field name="date_closed"/>
|
||||
<separator colspan="4" string="References"/>
|
||||
<field name="ref" colspan="4"/>
|
||||
<field name="ref2" colspan="4"/>
|
||||
|
||||
<field name="log_ids" nolabel="1" colspan="4">
|
||||
<form string="Actions">
|
||||
<separator string="Action Information" colspan="4"/>
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="date"/>
|
||||
<field name="user_id"/>
|
||||
<field name="som"/>
|
||||
<field name="canal_id"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Emails" groups="base.group_extended">
|
||||
<group colspan="4">
|
||||
<field colspan="4" name="email_cc" string="CC"/>
|
||||
</group>
|
||||
<field name="history_line" colspan="4" nolabel="1" mode="form,tree">
|
||||
<form string="Communication history">
|
||||
<group col="7" colspan="4">
|
||||
<field name="date"/>
|
||||
<field name="email"/>
|
||||
<field name="canal_id"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4" string="Reply to Last Email" name="%(crm.wizard_crm_send_mail)d" context="{'mail':'reply'}" icon="gtk-undo" type="action"/>
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email" name="%(crm.wizard_crm_new_send_mail)d" context="{'mail':'new'}" icon="gtk-go-forward" type="action"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_calendar_view_job">
|
||||
<field name="name">CRM - Jobs Requests Calendar</field>
|
||||
<field name="model">crm.job</field>
|
||||
<field name="type">calendar</field>
|
||||
<field name="priority" eval="2"/>
|
||||
<field name="arch" type="xml">
|
||||
<calendar string="Meeting With Candidates" date_start="date" color="user_id" date_delay="duration">
|
||||
<field name="name"/>
|
||||
<field name="partner_name"/>
|
||||
<field name="partner_name2"/>
|
||||
</calendar>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_graph_view_job">
|
||||
<field name="name">CRM - Jobs Requests Graph</field>
|
||||
<field name="model">crm.job</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Cases By Stage and Estimates" type="bar" orientation="vertical">
|
||||
<field name="categ_id"/>
|
||||
<field name="planned_cost" operator="+"/>
|
||||
<field name="state" group="True"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_crm_case_jobs_filter" model="ir.ui.view">
|
||||
<field name="name">CRM - Jobs Requests Search</field>
|
||||
<field name="model">crm.job</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Jobs">
|
||||
<group col="7" colspan="1">
|
||||
<filter icon="gtk-home" string=" Today "
|
||||
separator="1"
|
||||
domain="[('date','=',time.strftime('%%Y-%%m-%%d'))]"
|
||||
help="Todays's Jobs"
|
||||
/>
|
||||
<filter icon="gtk-media-rewind"
|
||||
string=" 7 Days " separator="1"
|
||||
domain="[('date','<', time.strftime('%%Y-%%m-%%d')), ('date','>=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Jobs during last 7 days"
|
||||
/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="gtk-new" string="New Jobs"
|
||||
domain="[('stage_id.name','=','Initial Jobs Demand')]"
|
||||
separator="1" help="All Initial Jobs"
|
||||
/>
|
||||
<filter icon="gtk-yes" string="Open Jobs"
|
||||
domain="[('state','=','open')]"
|
||||
separator="1" help="Open Jobs"
|
||||
/>
|
||||
<filter icon="gtk-media-pause" string="Pending Jobs"
|
||||
domain="[('state','=','pending')]"
|
||||
separator="1" help="Pending Jobs"
|
||||
/>
|
||||
</group>
|
||||
<separator orientation="vertical"/>
|
||||
<group col="4" colspan="2">
|
||||
<field name="name" select='1' string="Name"/>
|
||||
<field name="email_from" select='1' string="Email"/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
</group>
|
||||
<field name="section_id" select="1" widget="selection" string="Section">
|
||||
<filter icon="terp-crm"
|
||||
domain="[('section_id','=',context.get('section_id',False))]"
|
||||
help="My section"
|
||||
/>
|
||||
</field>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<wizard
|
||||
id="wizard_crm_job_reschedule_phone_call"
|
||||
keyword="client_action_multi"
|
||||
model="crm.job"
|
||||
name="crm.job.reschedule_phone_call"
|
||||
multi="True"
|
||||
string="Schedule Phone Call" />
|
||||
|
||||
<wizard
|
||||
id="wizard_crm_job_meeting_set"
|
||||
keyword="client_action_multi"
|
||||
model="crm.job"
|
||||
name="crm.job.meeting_set"
|
||||
multi="True"
|
||||
string="Schedule Meeting"/>
|
||||
|
||||
<wizard
|
||||
id="wizard_crm_job_partner_create"
|
||||
keyword="client_action_multi"
|
||||
model="crm.job"
|
||||
name="crm.job.partner_create"
|
||||
multi="True"
|
||||
string="Create Partner"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,131 +0,0 @@
|
||||
from osv import fields,osv
|
||||
import tools
|
||||
|
||||
class report_crm_job_user(osv.osv):
|
||||
_name = "report.crm.job.user"
|
||||
_description = "Job by user and section"
|
||||
_auto = False
|
||||
_inherit = "report.crm.case.user"
|
||||
_columns = {
|
||||
'probability': fields.float('Avg. Probability', readonly=True),
|
||||
'amount_revenue': fields.float('Est.Revenue', readonly=True),
|
||||
'amount_costs': fields.float('Est.Cost', readonly=True),
|
||||
'amount_revenue_prob': fields.float('Est. Rev*Prob.', readonly=True),
|
||||
'delay_close': fields.char('Delay to close', size=20, readonly=True),
|
||||
}
|
||||
def init(self, cr):
|
||||
tools.drop_view_if_exists(cr, 'report_crm_job_user')
|
||||
cr.execute("""
|
||||
create or replace view report_crm_job_user as (
|
||||
select
|
||||
min(c.id) as id,
|
||||
to_char(c.create_date, 'YYYY') as name,
|
||||
to_char(c.create_date, 'MM') as month,
|
||||
c.state,
|
||||
c.user_id,
|
||||
c.section_id,
|
||||
count(*) as nbr,
|
||||
sum(planned_revenue) as amount_revenue,
|
||||
sum(planned_cost) as amount_costs,
|
||||
sum(planned_revenue*probability)::decimal(16,2) as amount_revenue_prob,
|
||||
avg(probability)::decimal(16,2) as probability,
|
||||
to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
|
||||
from
|
||||
crm_job c
|
||||
group by to_char(c.create_date, 'YYYY'), to_char(c.create_date, 'MM'), c.state, c.user_id,c.section_id
|
||||
)""")
|
||||
report_crm_job_user()
|
||||
|
||||
class report_crm_job_categ(osv.osv):
|
||||
_name = "report.crm.job.categ"
|
||||
_description = "Jobs by section and category"
|
||||
_auto = False
|
||||
_inherit = "report.crm.case.categ"
|
||||
_columns = {
|
||||
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.job')]"),
|
||||
'amount_revenue': fields.float('Est.Revenue', readonly=True),
|
||||
'amount_costs': fields.float('Est.Cost', readonly=True),
|
||||
'amount_revenue_prob': fields.float('Est. Rev*Prob.', readonly=True),
|
||||
'probability': fields.float('Avg. Probability', readonly=True),
|
||||
'delay_close': fields.char('Delay Close', size=20, readonly=True),
|
||||
}
|
||||
|
||||
def init(self, cr):
|
||||
tools.drop_view_if_exists(cr, 'report_crm_job_categ')
|
||||
cr.execute("""
|
||||
create or replace view report_crm_job_categ as (
|
||||
select
|
||||
min(c.id) as id,
|
||||
to_char(c.create_date, 'YYYY') as name,
|
||||
to_char(c.create_date, 'MM') as month,
|
||||
c.categ_id,
|
||||
c.state,
|
||||
c.section_id,
|
||||
count(*) as nbr,
|
||||
sum(planned_revenue) as amount_revenue,
|
||||
sum(planned_cost) as amount_costs,
|
||||
sum(planned_revenue*probability)::decimal(16,2) as amount_revenue_prob,
|
||||
avg(probability)::decimal(16,2) as probability,
|
||||
to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
|
||||
from
|
||||
crm_job c
|
||||
group by c.categ_id,to_char(c.create_date, 'YYYY'), to_char(c.create_date, 'MM'), c.state,c.section_id
|
||||
)""")
|
||||
report_crm_job_categ()
|
||||
|
||||
class report_crm_job_section(osv.osv):
|
||||
_name = "report.crm.job.section"
|
||||
_description = "job by Section"
|
||||
_auto = False
|
||||
_inherit = "report.crm.case.section"
|
||||
|
||||
def _get_data(self, cr, uid, ids, field_name, arg, context={}):
|
||||
res = {}
|
||||
state_perc = 0.0
|
||||
avg_ans = 0.0
|
||||
|
||||
for case in self.browse(cr, uid, ids, context):
|
||||
if field_name != 'avg_answers':
|
||||
state = field_name[5:]
|
||||
cr.execute("select count(*) from crm_job where section_id =%s and state='%s'"%(case.section_id.id,state))
|
||||
state_cases = cr.fetchone()[0]
|
||||
perc_state = (state_cases / float(case.nbr_cases) ) * 100
|
||||
|
||||
res[case.id] = perc_state
|
||||
else:
|
||||
cr.execute('select count(*) from crm_case_log l where l.section_id=%s'%(case.section_id.id))
|
||||
logs = cr.fetchone()[0]
|
||||
|
||||
avg_ans = logs / case.nbr_cases
|
||||
res[case.id] = avg_ans
|
||||
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
'avg_answers': fields.function(_get_data,string='Avg. Answers', method=True,type="integer"),
|
||||
'perc_done': fields.function(_get_data,string='%Done', method=True,type="float"),
|
||||
'perc_cancel': fields.function(_get_data,string='%Cancel', method=True,type="float"),
|
||||
'delay_close': fields.char('Delay to close', size=20, readonly=True),
|
||||
}
|
||||
_order = 'name desc, section_id'
|
||||
def init(self, cr):
|
||||
tools.drop_view_if_exists(cr, 'report_crm_job_section')
|
||||
cr.execute("""
|
||||
create or replace view report_crm_job_section as (
|
||||
select
|
||||
min(c.id) as id,
|
||||
to_char(c.create_date, 'YYYY') as name,
|
||||
to_char(c.create_date, 'MM') as month,
|
||||
count(*) as nbr_cases,
|
||||
c.section_id as section_id,
|
||||
0 as avg_answers,
|
||||
0.0 as perc_done,
|
||||
0.0 as perc_cancel,
|
||||
to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
|
||||
from
|
||||
crm_job c
|
||||
group by to_char(c.create_date, 'YYYY'),to_char(c.create_date, 'MM'),c.section_id
|
||||
)""")
|
||||
report_crm_job_section()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
@@ -1,197 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<!--
|
||||
jobs by user and section
|
||||
-->
|
||||
|
||||
<record id="view_crm_job_user_tree" model="ir.ui.view">
|
||||
<field name="name">report.crm.job.user.tree</field>
|
||||
<field name="model">report.crm.job.user</field>
|
||||
<field name="inherit_id" ref="report_crm.view_crm_case_user_tree"/>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="nbr" position="after">
|
||||
<field name="delay_close"/>
|
||||
<field name="amount_revenue"/>
|
||||
<field name="amount_costs"/>
|
||||
<field name="amount_revenue_prob"/>
|
||||
<field name="probability"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_crm_job_user_form" model="ir.ui.view">
|
||||
<field name="name">report.crm.job.user.form</field>
|
||||
<field name="model">report.crm.job.user</field>
|
||||
<field name="inherit_id" ref="report_crm.view_crm_case_user_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="nbr" position="after">
|
||||
<field name="delay_close"/>
|
||||
<field name="amount_revenue"/>
|
||||
<field name="amount_costs"/>
|
||||
<field name="amount_revenue_prob"/>
|
||||
<field name="probability"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_crm_job_user_graph" model="ir.ui.view">
|
||||
<field name="name">report.crm.job.user.graph</field>
|
||||
<field name="model">report.crm.job.user</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph orientation="horizontal" string="jobs by User and Section" type="bar">
|
||||
<field name="state"/>
|
||||
<field name="nbr" operator="+"/>
|
||||
<field group="True" name="user_id"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_crm_job_user_filter" model="ir.ui.view">
|
||||
<field name="name">report.crm.job.user.select</field>
|
||||
<field name="model">report.crm.job.user</field>
|
||||
<field name="inherit_id" ref="report_crm.view_crm_case_user_filter"/>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="state" position="before">
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_report_crm_job_user_tree" model="ir.actions.act_window">
|
||||
<field name="name">Jobs by User and Section</field>
|
||||
<field name="res_model">report.crm.job.user</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="view_id" ref="view_crm_job_user_graph"/>
|
||||
<field name="search_view_id" ref="view_crm_job_user_filter"/>
|
||||
</record>
|
||||
<menuitem
|
||||
id="hr.menu_hr_reporting"
|
||||
name="Reporting"
|
||||
parent="hr.menu_hr_root"
|
||||
sequence="40" />
|
||||
<menuitem name="Jobs" id="menu_crm_jobs_tree" parent="hr.menu_hr_reporting"/>
|
||||
<menuitem action="action_report_crm_job_user_tree" id="menu_crm_job_user_tree" parent="menu_crm_jobs_tree"/>
|
||||
|
||||
<!-- # jobs by section and category of case -->
|
||||
|
||||
<record id="view_crm_job_categ_tree" model="ir.ui.view">
|
||||
<field name="name">report.crm.job.categ.tree</field>
|
||||
<field name="model">report.crm.job.categ</field>
|
||||
<field name="inherit_id" ref="report_crm.view_crm_case_categ_tree"/>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="nbr" position="after">
|
||||
<field name="delay_close"/>
|
||||
<field name="amount_revenue"/>
|
||||
<field name="amount_costs"/>
|
||||
<field name="amount_revenue_prob"/>
|
||||
<field name="probability"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_crm_job_categ_form" model="ir.ui.view">
|
||||
<field name="name">report.crm.job.categ.form</field>
|
||||
<field name="model">report.crm.job.categ</field>
|
||||
<field name="inherit_id" ref="report_crm.view_crm_case_categ_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="nbr" position="after">
|
||||
<field name="delay_close"/>
|
||||
<field name="amount_revenue"/>
|
||||
<field name="amount_costs"/>
|
||||
<field name="amount_revenue_prob"/>
|
||||
<field name="probability"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_crm_job_categ_graph" model="ir.ui.view">
|
||||
<field name="name">report.crm.job.categ.graph</field>
|
||||
<field name="model">report.crm.job.categ</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph orientation="horizontal" string="jobs by Section and Categories" type="bar">
|
||||
<field name="state"/>
|
||||
<field name="nbr" operator="+"/>
|
||||
<field group="True" name="categ_id"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_crm_job_categ_filter" model="ir.ui.view">
|
||||
<field name="name">report.crm.job.categ.select</field>
|
||||
<field name="model">report.crm.job.categ</field>
|
||||
<field name="inherit_id" ref="report_crm.view_crm_case_categ_filter"/>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="state" position="before">
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_report_crm_job_categ_tree" model="ir.actions.act_window">
|
||||
<field name="name">Jobs by Categories and Section</field>
|
||||
<field name="res_model">report.crm.job.categ</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="view_id" ref="view_crm_job_categ_graph"/>
|
||||
<field name="search_view_id" ref="view_crm_job_categ_filter"/>
|
||||
</record>
|
||||
<menuitem action="action_report_crm_job_categ_tree" id="menu_crm_job_categ_tree" parent="menu_crm_jobs_tree"/>
|
||||
|
||||
<!-- jobs by Section -->
|
||||
|
||||
<record id="view_report_crm_job_section_tree" model="ir.ui.view">
|
||||
<field name="name">report.crm.job.section.tree</field>
|
||||
<field name="model">report.crm.job.section</field>
|
||||
<field name="inherit_id" ref="report_crm.view_report_crm_case_section_tree"/>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="nbr_cases" position="after">
|
||||
<field name="avg_answers"/>
|
||||
<field name="perc_done" select="2"/>
|
||||
<field name="perc_cancel" select="2"/>
|
||||
<field name="delay_close"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_report_crm_job_section_graph" model="ir.ui.view">
|
||||
<field name="name">report.crm.job.section.graph</field>
|
||||
<field name="model">report.crm.job.section</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph orientation="horizontal" string="jobs by Section" type="bar">
|
||||
<field name="name"/>
|
||||
<field name="nbr_cases" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_report_crm_job_section_filter" model="ir.ui.view">
|
||||
<field name="name">report.crm.job.section.select</field>
|
||||
<field name="model">report.crm.job.section</field>
|
||||
<field name="inherit_id" ref="report_crm.view_report_crm_case_section_filter"/>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="nbr_cases" position="before">
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_report_crm_job_section_tree" model="ir.actions.act_window">
|
||||
<field name="name">Jobs by Section</field>
|
||||
<field name="res_model">report.crm.job.section</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="view_id" ref="view_report_crm_job_section_graph"/>
|
||||
<field name="search_view_id" ref="view_report_crm_job_section_filter"/>
|
||||
</record>
|
||||
<menuitem action="action_report_crm_job_section_tree" id="menu_crm_job_section_tree" parent="menu_crm_jobs_tree"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,5 +0,0 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_crm_job","crm.job","model_crm_job","crm.group_crm_manager",1,1,1,1
|
||||
"access_report_crm_job_user","report.crm.job.user","model_report_crm_job_user","crm.group_crm_manager",1,0,0,0
|
||||
"access_report_crm_job_categ","report.crm.job.categ","model_report_crm_job_categ","crm.group_crm_manager",1,0,0,0
|
||||
"access_repor_crm_job_section","report.crm.job.section","model_report_crm_job_section","crm.group_crm_manager",1,0,0,0
|
||||
|
@@ -42,6 +42,7 @@ class crm_project_bug(osv.osv):
|
||||
_inherit = 'crm.case'
|
||||
_columns = {
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'date': fields.datetime('Date'),
|
||||
'ref' : fields.reference('Reference', selection=crm._links_get, size=128),
|
||||
'ref2' : fields.reference('Reference 2', selection=crm._links_get, size=128),
|
||||
'canal_id': fields.many2one('res.partner.canal', 'Channel',help="The channels represent the different communication modes available with the customer." \
|
||||
|
||||
+41
-41
@@ -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-04-10 09:33+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-02-24 18:48+0000\n"
|
||||
"Last-Translator: Anders Eriksson <ae@mobilasystem.se>\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: 2009-12-16 05:05+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: delivery
|
||||
@@ -36,7 +36,7 @@ msgstr ""
|
||||
#. module: delivery
|
||||
#: view:delivery.grid:0
|
||||
msgid "Destination"
|
||||
msgstr ""
|
||||
msgstr "Destination"
|
||||
|
||||
#. module: delivery
|
||||
#: model:product.template,name:delivery.delivery_product_product_template
|
||||
@@ -71,59 +71,59 @@ msgstr ""
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_delivery_grid
|
||||
msgid "Delivery Grid"
|
||||
msgstr ""
|
||||
msgstr "Leveransmatris"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,zip_from:0
|
||||
msgid "Start Zip"
|
||||
msgstr ""
|
||||
msgstr "Från postnr"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,price_type:0
|
||||
msgid "Fixed"
|
||||
msgstr ""
|
||||
msgstr "Fast"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,line_ids:0
|
||||
msgid "Grid Line"
|
||||
msgstr ""
|
||||
msgstr "Matrisrad"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.act_window,name:delivery.action_delivery_grid_form
|
||||
#: model:ir.ui.menu,name:delivery.menu_action_delivery_grid_form
|
||||
msgid "Delivery Pricelist"
|
||||
msgstr ""
|
||||
msgstr "Leveransprislista"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.act_window,name:delivery.action_picking_tree5
|
||||
#: model:ir.ui.menu,name:delivery.menu_action_picking_tree5
|
||||
msgid "Generate Draft Invoices On Receptions"
|
||||
msgstr ""
|
||||
msgstr "Skapa en preliminär faktura vid leverans"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_delivery_grid_line
|
||||
msgid "Delivery line of grid"
|
||||
msgstr ""
|
||||
msgstr "Matrisens leveransrad"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.ui.menu,name:delivery.menu_delivery
|
||||
msgid "Delivery"
|
||||
msgstr ""
|
||||
msgstr "Leverans"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid.line:0
|
||||
msgid "Grid Lines"
|
||||
msgstr ""
|
||||
msgstr "Matrisrader"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,grid_id:0
|
||||
msgid "Grid"
|
||||
msgstr ""
|
||||
msgstr "Matris"
|
||||
|
||||
#. module: delivery
|
||||
#: view:res.partner:0
|
||||
msgid "Deliveries Properties"
|
||||
msgstr ""
|
||||
msgstr "Leveransuppgifter"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,active:0
|
||||
@@ -134,13 +134,13 @@ msgstr "Aktiv"
|
||||
#. module: delivery
|
||||
#: view:delivery.grid:0
|
||||
msgid "Grid definition"
|
||||
msgstr ""
|
||||
msgstr "Matrisdefinition"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,type:0
|
||||
#: selection:delivery.grid.line,variable_factor:0
|
||||
msgid "Weight * Volume"
|
||||
msgstr ""
|
||||
msgstr "Vikt * Volym"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,operator:0
|
||||
@@ -150,22 +150,22 @@ msgstr ""
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,product_id:0
|
||||
msgid "Delivery Product"
|
||||
msgstr ""
|
||||
msgstr "Leveransprodukt"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid.line:0
|
||||
msgid "Condition"
|
||||
msgstr ""
|
||||
msgstr "Villkor"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_delivery_carrier
|
||||
msgid "Carrier and delivery grids"
|
||||
msgstr ""
|
||||
msgstr "Distributör- och leveransmatris"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,standard_price:0
|
||||
msgid "Cost Price"
|
||||
msgstr ""
|
||||
msgstr "Kostpris"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,name:0
|
||||
@@ -180,7 +180,7 @@ msgstr ""
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,country_ids:0
|
||||
msgid "Countries"
|
||||
msgstr ""
|
||||
msgstr "Länder"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:product.template:0
|
||||
@@ -196,18 +196,18 @@ msgstr "Anteckningar"
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,variable_factor:0
|
||||
msgid "Variable Factor"
|
||||
msgstr ""
|
||||
msgstr "Variabel faktor"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,price_type:0
|
||||
#: field:delivery.grid.line,type:0
|
||||
msgid "Variable"
|
||||
msgstr ""
|
||||
msgstr "Variabel"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,name:0
|
||||
msgid "Grid Name"
|
||||
msgstr ""
|
||||
msgstr "Matrisnamn"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.carrier:0
|
||||
@@ -222,17 +222,17 @@ msgstr "Bärare"
|
||||
#: selection:delivery.grid.line,variable_factor:0
|
||||
#: field:stock.picking,volume:0
|
||||
msgid "Volume"
|
||||
msgstr ""
|
||||
msgstr "Volym"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,max_value:0
|
||||
msgid "Maximum Value"
|
||||
msgstr ""
|
||||
msgstr "Maximalt värde"
|
||||
|
||||
#. module: delivery
|
||||
#: wizard_button:delivery.sale.order,init,delivery:0
|
||||
msgid "Add Delivery Costs"
|
||||
msgstr ""
|
||||
msgstr "Lägg till leveranskostnad"
|
||||
|
||||
#. module: delivery
|
||||
#: wizard_field:delivery.sale.order,init,carrier_id:0
|
||||
@@ -240,7 +240,7 @@ msgstr ""
|
||||
#: model:ir.ui.menu,name:delivery.menu_action_delivery_carrier_form
|
||||
#: field:res.partner,property_delivery_carrier:0
|
||||
msgid "Delivery Method"
|
||||
msgstr ""
|
||||
msgstr "Leveransmetod"
|
||||
|
||||
#. module: delivery
|
||||
#: field:sale.order,id:0
|
||||
@@ -255,19 +255,19 @@ msgstr ""
|
||||
#. module: delivery
|
||||
#: model:ir.module.module,shortdesc:delivery.module_meta_information
|
||||
msgid "Carriers and deliveries"
|
||||
msgstr ""
|
||||
msgstr "Distributörer och leveranser"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,grids_id:0
|
||||
msgid "Delivery Grids"
|
||||
msgstr ""
|
||||
msgstr "Leveranstabeller"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,type:0
|
||||
#: selection:delivery.grid.line,variable_factor:0
|
||||
#: field:stock.picking,weight:0
|
||||
msgid "Weight"
|
||||
msgstr ""
|
||||
msgstr "Vikt"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,sequence:0
|
||||
@@ -277,7 +277,7 @@ msgstr "Sekvens"
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,partner_id:0
|
||||
msgid "Carrier Partner"
|
||||
msgstr ""
|
||||
msgstr "Sistributörpartner"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.module.module,description:delivery.module_meta_information
|
||||
@@ -290,7 +290,7 @@ msgstr ""
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,zip_to:0
|
||||
msgid "To Zip"
|
||||
msgstr ""
|
||||
msgstr "Till postnummer"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.act_window,name:delivery.action_picking_tree4
|
||||
@@ -307,12 +307,12 @@ msgstr ""
|
||||
#. module: delivery
|
||||
#: model:ir.actions.wizard,name:delivery.wizard_deliver_line_add
|
||||
msgid "Delivery Costs"
|
||||
msgstr ""
|
||||
msgstr "Leveranskostnad"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,list_price:0
|
||||
msgid "Sale Price"
|
||||
msgstr ""
|
||||
msgstr "Försäljningspris"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:product.product:0
|
||||
@@ -322,17 +322,17 @@ msgstr ""
|
||||
#. module: delivery
|
||||
#: view:delivery.grid:0
|
||||
msgid "Delivery grids"
|
||||
msgstr ""
|
||||
msgstr "Leveransmatriser"
|
||||
|
||||
#. module: delivery
|
||||
#: wizard_button:delivery.sale.order,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Avbryt"
|
||||
|
||||
#. module: delivery
|
||||
#: field:sale.order,carrier_id:0
|
||||
msgid "Delivery method"
|
||||
msgstr ""
|
||||
msgstr "Leveransmetod"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,price:0
|
||||
@@ -344,9 +344,9 @@ msgstr "Pris"
|
||||
#. module: delivery
|
||||
#: constraint:res.partner:0
|
||||
msgid "The VAT doesn't seem to be correct."
|
||||
msgstr ""
|
||||
msgstr "Momsen verkar vara fel"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,price_type:0
|
||||
msgid "Price Type"
|
||||
msgstr ""
|
||||
msgstr "Pristyp"
|
||||
|
||||
+76
-75
@@ -36,26 +36,27 @@ import tools
|
||||
from tools.translate import _
|
||||
import nodes
|
||||
|
||||
DMS_ROOT_PATH = tools.config.get('document_path', os.path.join(tools.config['root_path'], 'filestore'))
|
||||
|
||||
class document_file(osv.osv):
|
||||
_inherit = 'ir.attachment'
|
||||
_rec_name = 'datas_fname'
|
||||
def _get_filestore(self, cr):
|
||||
return os.path.join(tools.config['root_path'], 'filestore', cr.dbname)
|
||||
return os.path.join(DMS_ROOT_PATH, cr.dbname)
|
||||
|
||||
def _data_get(self, cr, uid, ids, name, arg, context):
|
||||
fbrl = self.browse(cr,uid,ids,context=context)
|
||||
nctx = nodes.get_node_context(cr,uid,context)
|
||||
fbrl = self.browse(cr, uid, ids, context=context)
|
||||
nctx = nodes.get_node_context(cr, uid, context)
|
||||
result = {}
|
||||
bin_size = context.get('bin_size', False)
|
||||
for fbro in fbrl:
|
||||
fnode = nodes.node_file(None,None,nctx,fbro)
|
||||
fnode = nodes.node_file(None, None, nctx, fbro)
|
||||
if not bin_size:
|
||||
data = fnode.get_data(cr,fbro)
|
||||
data = fnode.get_data(cr, fbro)
|
||||
result[fbro.id] = base64.encodestring(data or '')
|
||||
else:
|
||||
result[fbro.id] = fnode.get_data_len(cr,fbro)
|
||||
|
||||
result[fbro.id] = fnode.get_data_len(cr, fbro)
|
||||
|
||||
return result
|
||||
|
||||
#
|
||||
@@ -64,10 +65,10 @@ class document_file(osv.osv):
|
||||
def _data_set(self, cr, uid, id, name, value, arg, context):
|
||||
if not value:
|
||||
return True
|
||||
fbro = self.browse(cr,uid,id,context=context)
|
||||
nctx = nodes.get_node_context(cr,uid,context)
|
||||
fnode = nodes.node_file(None,None,nctx,fbro)
|
||||
res = fnode.set_data(cr,base64.decodestring(value),fbro)
|
||||
fbro = self.browse(cr, uid, id, context=context)
|
||||
nctx = nodes.get_node_context(cr, uid, context)
|
||||
fnode = nodes.node_file(None, None, nctx, fbro)
|
||||
res = fnode.set_data(cr, base64.decodestring(value), fbro)
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
@@ -79,138 +80,138 @@ class document_file(osv.osv):
|
||||
'file_type': fields.char('Content Type', size=32),
|
||||
# If ir.attachment contained any data before document is installed, preserve
|
||||
# the data, don't drop the column!
|
||||
'db_datas': fields.binary('Data',oldname='datas'),
|
||||
'db_datas': fields.binary('Data', oldname='datas'),
|
||||
'index_content': fields.text('Indexed Content'),
|
||||
'write_date': fields.datetime('Date Modified', readonly=True),
|
||||
'write_uid': fields.many2one('res.users', 'Last Modification User', readonly=True),
|
||||
'create_date': fields.datetime('Date Created', readonly=True),
|
||||
'create_uid': fields.many2one('res.users', 'Creator', readonly=True),
|
||||
'store_method': fields.selection([('db','Database'),('fs','Filesystem'),('link','Link')], "Storing Method"),
|
||||
'datas': fields.function(_data_get,method=True,fnct_inv=_data_set,string='File Content',type="binary", nodrop=True),
|
||||
'store_method': fields.selection([('db', 'Database'), ('fs', 'Filesystem'), ('link', 'Link')], "Storing Method"),
|
||||
'datas': fields.function(_data_get, method=True, fnct_inv=_data_set, string='File Content', type="binary", nodrop=True),
|
||||
'store_fname': fields.char('Stored Filename', size=200),
|
||||
'res_model': fields.char('Attached Model', size=64), #res_model
|
||||
'res_id': fields.integer('Attached ID'), #res_id
|
||||
'partner_id':fields.many2one('res.partner', 'Partner', select=1),
|
||||
'title': fields.char('Resource Title',size=64),
|
||||
'title': fields.char('Resource Title', size=64),
|
||||
}
|
||||
|
||||
def __get_def_directory(self,cr,uid, context = None):
|
||||
def __get_def_directory(self, cr, uid, context=None):
|
||||
dirobj = self.pool.get('document.directory')
|
||||
return dirobj._get_root_directory(cr,uid,context)
|
||||
return dirobj._get_root_directory(cr, uid, context)
|
||||
|
||||
_defaults = {
|
||||
'user_id': lambda self,cr,uid,ctx:uid,
|
||||
'file_size': lambda self,cr,uid,ctx:0,
|
||||
'user_id': lambda self, cr, uid, ctx:uid,
|
||||
'file_size': lambda self, cr, uid, ctx:0,
|
||||
'store_method': lambda *args: 'db',
|
||||
'parent_id': __get_def_directory
|
||||
}
|
||||
_sql_constraints = [
|
||||
('filename_uniq', 'unique (name,parent_id,res_id,res_model)', 'The file name must be unique !')
|
||||
]
|
||||
def _check_duplication(self, cr, uid,vals,ids=[],op='create'):
|
||||
name=vals.get('name',False)
|
||||
parent_id=vals.get('parent_id',False)
|
||||
res_model=vals.get('res_model',False)
|
||||
res_id=vals.get('res_id',0)
|
||||
if op=='write':
|
||||
for file in self.browse(cr,uid,ids):
|
||||
def _check_duplication(self, cr, uid, vals, ids=[], op='create'):
|
||||
name = vals.get('name', False)
|
||||
parent_id = vals.get('parent_id', False)
|
||||
res_model = vals.get('res_model', False)
|
||||
res_id = vals.get('res_id', 0)
|
||||
if op == 'write':
|
||||
for file in self.browse(cr, uid, ids):
|
||||
if not name:
|
||||
name=file.name
|
||||
name = file.name
|
||||
if not parent_id:
|
||||
parent_id=file.parent_id and file.parent_id.id or False
|
||||
parent_id = file.parent_id and file.parent_id.id or False
|
||||
if not res_model:
|
||||
res_model=file.res_model and file.res_model or False
|
||||
res_model = file.res_model and file.res_model or False
|
||||
if not res_id:
|
||||
res_id=file.res_id and file.res_id or 0
|
||||
res=self.search(cr,uid,[('id','<>',file.id),('name','=',name),('parent_id','=',parent_id),('res_model','=',res_model),('res_id','=',res_id)])
|
||||
res_id = file.res_id and file.res_id or 0
|
||||
res = self.search(cr, uid, [('id', '<>', file.id), ('name', '=', name), ('parent_id', '=', parent_id), ('res_model', '=', res_model), ('res_id', '=', res_id)])
|
||||
if len(res):
|
||||
return False
|
||||
if op=='create':
|
||||
res=self.search(cr,uid,[('name','=',name),('parent_id','=',parent_id),('res_id','=',res_id),('res_model','=',res_model)])
|
||||
if op == 'create':
|
||||
res = self.search(cr, uid, [('name', '=', name), ('parent_id', '=', parent_id), ('res_id', '=', res_id), ('res_model', '=', res_model)])
|
||||
if len(res):
|
||||
return False
|
||||
return True
|
||||
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
if not default:
|
||||
default ={}
|
||||
default = {}
|
||||
if 'name' not in default:
|
||||
name = self.read(cr, uid, [id])[0]['name']
|
||||
default.update({'name': name+ " (copy)"})
|
||||
return super(document_file,self).copy(cr,uid,id,default,context)
|
||||
default.update({'name': name + " (copy)"})
|
||||
return super(document_file, self).copy(cr, uid, id, default, context)
|
||||
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
res=self.search(cr,uid,[('id','in',ids)])
|
||||
res = self.search(cr, uid, [('id', 'in', ids)])
|
||||
if not len(res):
|
||||
return False
|
||||
if not self._check_duplication(cr,uid,vals,ids,'write'):
|
||||
if not self._check_duplication(cr, uid, vals, ids, 'write'):
|
||||
raise osv.except_osv(_('ValidateError'), _('File name must be unique!'))
|
||||
result = super(document_file,self).write(cr,uid,ids,vals,context=context)
|
||||
result = super(document_file, self).write(cr, uid, ids, vals, context=context)
|
||||
cr.commit()
|
||||
return result
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
vals['title']=vals['name']
|
||||
vals['parent_id'] = context.get('parent_id',False) or vals.get('parent_id',False)
|
||||
if not vals.get('res_id', False) and context.get('default_res_id',False):
|
||||
vals['res_id']=context.get('default_res_id',False)
|
||||
if not vals.get('res_model', False) and context.get('default_res_model',False):
|
||||
vals['res_model']=context.get('default_res_model',False)
|
||||
if vals.get('res_id', False) and vals.get('res_model',False):
|
||||
obj_model=self.pool.get(vals['res_model'])
|
||||
vals['title'] = vals['name']
|
||||
vals['parent_id'] = context.get('parent_id', False) or vals.get('parent_id', False)
|
||||
if not vals.get('res_id', False) and context.get('default_res_id', False):
|
||||
vals['res_id'] = context.get('default_res_id', False)
|
||||
if not vals.get('res_model', False) and context.get('default_res_model', False):
|
||||
vals['res_model'] = context.get('default_res_model', False)
|
||||
if vals.get('res_id', False) and vals.get('res_model', False):
|
||||
obj_model = self.pool.get(vals['res_model'])
|
||||
result = obj_model.read(cr, uid, [vals['res_id']], context=context)
|
||||
if len(result):
|
||||
obj=result[0]
|
||||
if obj.get('name',False):
|
||||
vals['title'] = (obj.get('name',''))[:60]
|
||||
if obj_model._name=='res.partner':
|
||||
vals['partner_id']=obj['id']
|
||||
elif obj.get('address_id',False):
|
||||
if isinstance(obj['address_id'],tuple) or isinstance(obj['address_id'],list):
|
||||
address_id=obj['address_id'][0]
|
||||
obj = result[0]
|
||||
if obj.get('name', False):
|
||||
vals['title'] = (obj.get('name', ''))[:60]
|
||||
if obj_model._name == 'res.partner':
|
||||
vals['partner_id'] = obj['id']
|
||||
elif obj.get('address_id', False):
|
||||
if isinstance(obj['address_id'], tuple) or isinstance(obj['address_id'], list):
|
||||
address_id = obj['address_id'][0]
|
||||
else:
|
||||
address_id=obj['address_id']
|
||||
address=self.pool.get('res.partner.address').read(cr,uid,[address_id],context=context)
|
||||
address_id = obj['address_id']
|
||||
address = self.pool.get('res.partner.address').read(cr, uid, [address_id], context=context)
|
||||
if len(address):
|
||||
vals['partner_id']=address[0]['partner_id'][0] or False
|
||||
elif obj.get('partner_id',False):
|
||||
if isinstance(obj['partner_id'],tuple) or isinstance(obj['partner_id'],list):
|
||||
vals['partner_id']=obj['partner_id'][0]
|
||||
vals['partner_id'] = address[0]['partner_id'][0] or False
|
||||
elif obj.get('partner_id', False):
|
||||
if isinstance(obj['partner_id'], tuple) or isinstance(obj['partner_id'], list):
|
||||
vals['partner_id'] = obj['partner_id'][0]
|
||||
else:
|
||||
vals['partner_id']=obj['partner_id']
|
||||
vals['partner_id'] = obj['partner_id']
|
||||
|
||||
datas=None
|
||||
if vals.get('link',False) :
|
||||
datas = None
|
||||
if vals.get('link', False) :
|
||||
import urllib
|
||||
datas=base64.encodestring(urllib.urlopen(vals['link']).read())
|
||||
datas = base64.encodestring(urllib.urlopen(vals['link']).read())
|
||||
else:
|
||||
datas = vals.get('datas',False)
|
||||
datas = vals.get('datas', False)
|
||||
|
||||
vals['file_size']= datas and len(datas) or 0
|
||||
if not self._check_duplication(cr,uid,vals):
|
||||
vals['file_size'] = datas and len(datas) or 0
|
||||
if not self._check_duplication(cr, uid, vals):
|
||||
raise osv.except_osv(_('ValidateError'), _('File name must be unique!'))
|
||||
result = super(document_file,self).create(cr, uid, vals, context)
|
||||
result = super(document_file, self).create(cr, uid, vals, context)
|
||||
cr.commit()
|
||||
return result
|
||||
|
||||
def unlink(self,cr, uid, ids, context={}):
|
||||
def unlink(self, cr, uid, ids, context={}):
|
||||
stor = self.pool.get('document.storage')
|
||||
unres= []
|
||||
unres = []
|
||||
# We have to do the unlink in 2 stages: prepare a list of actual
|
||||
# files to be unlinked, update the db (safer to do first, can be
|
||||
# rolled back) and then unlink the files. The list wouldn't exist
|
||||
# after we discard the objects
|
||||
|
||||
|
||||
for f in self.browse(cr, uid, ids, context):
|
||||
# TODO: update the node cache
|
||||
r = stor.prepare_unlink(cr,uid,f.parent_id.storage_id, f)
|
||||
r = stor.prepare_unlink(cr, uid, f.parent_id.storage_id, f)
|
||||
if r:
|
||||
unres.append(r)
|
||||
res = super(document_file, self).unlink(cr, uid, ids, context)
|
||||
stor.do_unlink(cr,uid,unres)
|
||||
stor.do_unlink(cr, uid, unres)
|
||||
return res
|
||||
|
||||
|
||||
document_file()
|
||||
|
||||
|
||||
@@ -34,6 +34,8 @@ import string
|
||||
import netsvc
|
||||
from content_index import cntIndex
|
||||
|
||||
DMS_ROOT_PATH = tools.config.get('document_path', os.path.join(tools.config.get('root_path'), 'filestore'))
|
||||
|
||||
|
||||
""" The algorithm of data storage
|
||||
|
||||
@@ -71,12 +73,12 @@ def random_name():
|
||||
name = "".join(d)
|
||||
return name
|
||||
|
||||
INVALID_CHARS={'*':str(hash('*')), '|':str(hash('|')) , "\\":str(hash("\\")), '/':'__', ':':str(hash(':')), '"':str(hash('"')), '<':str(hash('<')) , '>':str(hash('>')) , '?':str(hash('?'))}
|
||||
INVALID_CHARS = {'*':str(hash('*')), '|':str(hash('|')) , "\\":str(hash("\\")), '/':'__', ':':str(hash(':')), '"':str(hash('"')), '<':str(hash('<')) , '>':str(hash('>')) , '?':str(hash('?'))}
|
||||
|
||||
|
||||
def create_directory(path):
|
||||
dir_name = random_name()
|
||||
path = os.path.join(path,dir_name)
|
||||
path = os.path.join(path, dir_name)
|
||||
os.makedirs(path)
|
||||
return dir_name
|
||||
|
||||
@@ -103,19 +105,18 @@ class document_storage(osv.osv):
|
||||
'user_id': fields.many2one('res.users', 'Owner'),
|
||||
'group_ids': fields.many2many('res.groups', 'document_directory_group_rel', 'item_id', 'group_id', 'Groups'),
|
||||
'dir_ids': fields.one2many('document.directory', 'parent_id', 'Directories'),
|
||||
'type': fields.selection([('db','Database'),('filestore','Internal File storage'),
|
||||
('realstore','External file storage'), ('virtual','Virtual storage')], 'Type', required=True),
|
||||
'path': fields.char('Path',size=250,select=1,help="For file storage, the root path of the storage"),
|
||||
'online': fields.boolean('Online',help="If not checked, media is currently offline and its contents not available", required=True),
|
||||
'type': fields.selection([('db', 'Database'), ('filestore', 'Internal File storage'),
|
||||
('realstore', 'External file storage'), ('virtual', 'Virtual storage')], 'Type', required=True),
|
||||
'path': fields.char('Path', size=250, select=1, help="For file storage, the root path of the storage"),
|
||||
'online': fields.boolean('Online', help="If not checked, media is currently offline and its contents not available", required=True),
|
||||
'readonly': fields.boolean('Read Only', help="If set, media is for reading only"),
|
||||
}
|
||||
|
||||
def _get_rootpath(self,cr,uid,context=None):
|
||||
from tools import config
|
||||
return os.path.join(tools.config['root_path'], 'filestore', cr.dbname)
|
||||
def _get_rootpath(self, cr, uid, context=None):
|
||||
return os.path.join(DMS_ROOT_PATH, cr.dbname)
|
||||
|
||||
_defaults = {
|
||||
'user_id': lambda self,cr,uid,ctx: uid,
|
||||
'user_id': lambda self, cr, uid, ctx: uid,
|
||||
'online': lambda *args: True,
|
||||
'readonly': lambda *args: False,
|
||||
# Note: the defaults below should only be used ONCE for the default
|
||||
@@ -127,22 +128,22 @@ class document_storage(osv.osv):
|
||||
# SQL note: a path = NULL doesn't have to be unique.
|
||||
('path_uniq', 'UNIQUE(type,path)', "The storage path must be unique!")
|
||||
]
|
||||
|
||||
def get_data(self, cr,uid, id, file_node,context = None, fil_obj = None):
|
||||
|
||||
def get_data(self, cr, uid, id, file_node, context=None, fil_obj=None):
|
||||
""" retrieve the contents of some file_node having storage_id = id
|
||||
optionally, fil_obj could point to the browse object of the file
|
||||
(ir.attachment)
|
||||
"""
|
||||
if not context:
|
||||
context = {}
|
||||
boo = self.browse(cr,uid,id,context)
|
||||
boo = self.browse(cr, uid, id, context)
|
||||
if fil_obj:
|
||||
ira = fil_obj
|
||||
else:
|
||||
ira = self.pool.get('ir.attachment').browse(cr,uid, file_node.file_id, context=context)
|
||||
return self.__get_data_3(cr,uid,boo, ira, context)
|
||||
|
||||
def __get_data_3(self,cr,uid, boo, ira, context):
|
||||
ira = self.pool.get('ir.attachment').browse(cr, uid, file_node.file_id, context=context)
|
||||
return self.__get_data_3(cr, uid, boo, ira, context)
|
||||
|
||||
def __get_data_3(self, cr, uid, boo, ira, context):
|
||||
if not boo.online:
|
||||
raise RuntimeError('media offline')
|
||||
if boo.type == 'filestore':
|
||||
@@ -150,17 +151,17 @@ class document_storage(osv.osv):
|
||||
# On a migrated db, some files may have the wrong storage type
|
||||
# try to fix their directory.
|
||||
if ira.file_size:
|
||||
netsvc.Logger().notifyChannel('document',netsvc.LOG_WARNING,"ir.attachment #%d does not have a filename, but is at filestore, fix it!" %ira.id)
|
||||
netsvc.Logger().notifyChannel('document', netsvc.LOG_WARNING, "ir.attachment #%d does not have a filename, but is at filestore, fix it!" % ira.id)
|
||||
return None
|
||||
fpath = os.path.join(boo.path,ira.store_fname)
|
||||
print "Trying to read \"%s\".."% fpath
|
||||
return file(fpath,'rb').read()
|
||||
fpath = os.path.join(boo.path, ira.store_fname)
|
||||
print "Trying to read \"%s\".." % fpath
|
||||
return file(fpath, 'rb').read()
|
||||
elif boo.type == 'db':
|
||||
# TODO: we need a better api for large files
|
||||
if ira.db_datas:
|
||||
out=base64.decodestring(ira.db_datas)
|
||||
out = base64.decodestring(ira.db_datas)
|
||||
else:
|
||||
out=''
|
||||
out = ''
|
||||
return out
|
||||
elif boo.type == 'realstore':
|
||||
# fpath = os.path.join(boo.path,
|
||||
@@ -168,23 +169,23 @@ class document_storage(osv.osv):
|
||||
else:
|
||||
raise TypeError("No %s storage" % boo.type)
|
||||
|
||||
def set_data(self, cr,uid, id, file_node, data, context = None, fil_obj = None):
|
||||
def set_data(self, cr, uid, id, file_node, data, context=None, fil_obj=None):
|
||||
""" store the data.
|
||||
This function MUST be used from an ir.attachment. It wouldn't make sense
|
||||
to store things persistently for other types (dynamic).
|
||||
"""
|
||||
if not context:
|
||||
context = {}
|
||||
boo = self.browse(cr,uid,id,context)
|
||||
boo = self.browse(cr, uid, id, context)
|
||||
logger = netsvc.Logger()
|
||||
if fil_obj:
|
||||
ira = fil_obj
|
||||
else:
|
||||
ira = self.pool.get('ir.attachment').browse(cr,uid, file_node.file_id, context=context)
|
||||
|
||||
ira = self.pool.get('ir.attachment').browse(cr, uid, file_node.file_id, context=context)
|
||||
|
||||
if not boo.online:
|
||||
raise RuntimeError('media offline')
|
||||
logger.notifyChannel('document',netsvc.LOG_DEBUG,"Store data for ir.attachment #%d" %ira.id)
|
||||
logger.notifyChannel('document', netsvc.LOG_DEBUG, "Store data for ir.attachment #%d" % ira.id)
|
||||
store_fname = None
|
||||
fname = None
|
||||
if boo.type == 'filestore':
|
||||
@@ -192,32 +193,32 @@ class document_storage(osv.osv):
|
||||
try:
|
||||
flag = None
|
||||
# This can be improved
|
||||
if os.path.isdir(path):
|
||||
if os.path.isdir(path):
|
||||
for dirs in os.listdir(path):
|
||||
if os.path.isdir(os.path.join(path,dirs)) and len(os.listdir(os.path.join(path,dirs)))<4000:
|
||||
if os.path.isdir(os.path.join(path, dirs)) and len(os.listdir(os.path.join(path, dirs))) < 4000:
|
||||
flag = dirs
|
||||
break
|
||||
flag = flag or create_directory(path)
|
||||
filename = random_name()
|
||||
fname = os.path.join(path, flag, filename)
|
||||
fp = file(fname,'wb')
|
||||
fp = file(fname, 'wb')
|
||||
fp.write(data)
|
||||
fp.close()
|
||||
logger.notifyChannel('document',netsvc.LOG_DEBUG,"Saved data to %s" % fname)
|
||||
logger.notifyChannel('document', netsvc.LOG_DEBUG, "Saved data to %s" % fname)
|
||||
filesize = len(data) # os.stat(fname).st_size
|
||||
store_fname = os.path.join(flag,filename)
|
||||
|
||||
store_fname = os.path.join(flag, filename)
|
||||
|
||||
# TODO Here, an old file would be left hanging.
|
||||
|
||||
except Exception,e :
|
||||
netsvc.Logger().notifyChannel('document',netsvc.LOG_WARNING,"Couldn't save data: %s" %str(e))
|
||||
except Exception, e :
|
||||
netsvc.Logger().notifyChannel('document', netsvc.LOG_WARNING, "Couldn't save data: %s" % str(e))
|
||||
raise except_orm(_('Error!'), str(e))
|
||||
elif boo.type == 'db':
|
||||
filesize = len(data)
|
||||
# will that work for huge data? TODO
|
||||
out=base64.encodestring(data)
|
||||
out = base64.encodestring(data)
|
||||
cr.execute('UPDATE ir_attachment SET db_datas = %s WHERE id = %s',
|
||||
( out, file_node.file_id ))
|
||||
(out, file_node.file_id))
|
||||
else:
|
||||
raise TypeError("No %s storage" % boo.type)
|
||||
|
||||
@@ -226,9 +227,9 @@ class document_storage(osv.osv):
|
||||
icont = ''
|
||||
mime = ira.file_type
|
||||
try:
|
||||
mime,icont = cntIndex.doIndex(data, ira.datas_fname,
|
||||
ira.file_type or None,fname)
|
||||
except Exception,e:
|
||||
mime, icont = cntIndex.doIndex(data, ira.datas_fname,
|
||||
ira.file_type or None, fname)
|
||||
except Exception, e:
|
||||
logger.notifyChannel('document', netsvc.LOG_DEBUG, 'Cannot index file: %s' % str(e))
|
||||
pass
|
||||
|
||||
@@ -236,46 +237,46 @@ class document_storage(osv.osv):
|
||||
# to write the fname and size, and update them in the db concurrently.
|
||||
# We cannot use a write() here, because we are already in one.
|
||||
cr.execute('UPDATE ir_attachment SET store_fname = %s, file_size = %s, index_content = %s, file_type = %s WHERE id = %s',
|
||||
(store_fname, filesize, ustr(icont), mime, file_node.file_id ))
|
||||
(store_fname, filesize, ustr(icont), mime, file_node.file_id))
|
||||
file_node.content_length = filesize
|
||||
file_node.content_type = mime
|
||||
return True
|
||||
except Exception,e :
|
||||
netsvc.Logger().notifyChannel('document',netsvc.LOG_WARNING,"Couldn't save data: %s" %str(e))
|
||||
except Exception, e :
|
||||
netsvc.Logger().notifyChannel('document', netsvc.LOG_WARNING, "Couldn't save data: %s" % str(e))
|
||||
# should we really rollback once we have written the actual data?
|
||||
# at the db case (only), that rollback would be safe
|
||||
raise except_orm(_('Error at doc write!'), str(e))
|
||||
|
||||
def prepare_unlink(self,cr,uid,storage_bo, fil_bo):
|
||||
def prepare_unlink(self, cr, uid, storage_bo, fil_bo):
|
||||
""" Before we unlink a file (fil_boo), prepare the list of real
|
||||
files that have to be removed, too. """
|
||||
|
||||
|
||||
if not storage_bo.online:
|
||||
raise RuntimeError('media offline')
|
||||
|
||||
|
||||
if storage_bo.type == 'filestore':
|
||||
fname = fil_bo.store_fname
|
||||
if not fname:
|
||||
return None
|
||||
path = storage_bo.path
|
||||
return ( storage_bo.id, 'file', os.path.join(path,fname))
|
||||
return (storage_bo.id, 'file', os.path.join(path, fname))
|
||||
elif storage_bo.type == 'db':
|
||||
return None
|
||||
else:
|
||||
raise TypeError("No %s storage" % boo.type)
|
||||
|
||||
def do_unlink(self, cr,uid,unres):
|
||||
def do_unlink(self, cr, uid, unres):
|
||||
for id, ktype, fname in unres:
|
||||
if ktype == 'file':
|
||||
try:
|
||||
os.unlink(fname)
|
||||
except Exception,e:
|
||||
netsvc.Logger().notifyChannel('document',netsvc.LOG_WARNING,"Could not remove file %s, please remove manually." % fname)
|
||||
except Exception, e:
|
||||
netsvc.Logger().notifyChannel('document', netsvc.LOG_WARNING, "Could not remove file %s, please remove manually." % fname)
|
||||
else:
|
||||
netsvc.Logger().notifyChannel('document',netsvc.LOG_WARNING,"Unknown unlink key %s" % ktype)
|
||||
|
||||
netsvc.Logger().notifyChannel('document', netsvc.LOG_WARNING, "Unknown unlink key %s" % ktype)
|
||||
|
||||
return True
|
||||
|
||||
|
||||
|
||||
document_storage()
|
||||
|
||||
|
||||
@@ -24,11 +24,15 @@ import ftpserver
|
||||
import authorizer
|
||||
import abstracted_fs
|
||||
import netsvc
|
||||
|
||||
from tools import config
|
||||
from tools.misc import detect_ip_addr
|
||||
HOST = ''
|
||||
PORT = 8021
|
||||
|
||||
if detect_ip_addr:
|
||||
HOST = config.get('ftp_server_host', detect_ip_addr())
|
||||
else:
|
||||
HOST = config.get('ftp_server_host', '127.0.0.1')
|
||||
|
||||
PORT = int(config.get('ftp_server_port', '8021'))
|
||||
PASSIVE_PORTS = None
|
||||
pps = config.get('ftp_server_passive_ports', '').split(':')
|
||||
if len(pps) == 2:
|
||||
@@ -52,14 +56,15 @@ class ftp_server(threading.Thread):
|
||||
ftpserver.logline = lambda msg: None
|
||||
ftpserver.logerror = lambda msg: self.log(netsvc.LOG_ERROR, msg)
|
||||
|
||||
HOST = config.get('ftp_server_address', detect_ip_addr())
|
||||
PORT = int(config.get('ftp_server_port', '8021'))
|
||||
address = (HOST, PORT)
|
||||
ftpd = ftpserver.FTPServer(address, ftpserver.FTPHandler)
|
||||
ftpd = ftpserver.FTPServer((HOST, PORT), ftpserver.FTPHandler)
|
||||
ftpd.serve_forever()
|
||||
|
||||
ds = ftp_server()
|
||||
ds.start()
|
||||
if HOST.lower() == 'none':
|
||||
netsvc.Logger().notifyChannel("FTP", netsvc.LOG_INFO, "\n Server FTP Not Started\n")
|
||||
else:
|
||||
netsvc.Logger().notifyChannel("FTP", netsvc.LOG_INFO, "\n Serving FTP on %s:%s\n" % (HOST, PORT))
|
||||
ds = ftp_server()
|
||||
ds.start()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
+13
-13
@@ -7,65 +7,65 @@ 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-11-09 13:36+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-02-24 20:38+0000\n"
|
||||
"Last-Translator: Bruno - www.zeekom.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: 2009-12-16 05:07+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: event
|
||||
#: field:event.event,date_end:0
|
||||
#: field:report.event.registration,date_end:0
|
||||
msgid "Ending date"
|
||||
msgstr ""
|
||||
msgstr "Date de Fin"
|
||||
|
||||
#. module: event
|
||||
#: field:event.event,register_min:0
|
||||
msgid "Minimum Registrations"
|
||||
msgstr ""
|
||||
msgstr "Inscriptions Minimum"
|
||||
|
||||
#. module: event
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nom de l'objet invalide dans l'action défini"
|
||||
|
||||
#. module: event
|
||||
#: field:event.event,mail_registr:0
|
||||
msgid "Registration Email"
|
||||
msgstr ""
|
||||
msgstr "Email d'inscription"
|
||||
|
||||
#. module: event
|
||||
#: model:crm.case.section,name:event.event_0_crm_case_section
|
||||
msgid "Concert of Bon Jovi"
|
||||
msgstr ""
|
||||
msgstr "Concert de Bon Jovi"
|
||||
|
||||
#. module: event
|
||||
#: field:event.event,mail_confirm:0
|
||||
msgid "Confirmation Email"
|
||||
msgstr ""
|
||||
msgstr "Confirmation par email"
|
||||
|
||||
#. module: event
|
||||
#: constraint:crm.case.section:0
|
||||
msgid "Error ! You cannot create recursive sections."
|
||||
msgstr ""
|
||||
msgstr "Erreur ! Vous ne pouvez pas créer de section récursive."
|
||||
|
||||
#. module: event
|
||||
#: model:ir.model,name:event.model_event_registration
|
||||
msgid "Event Registration"
|
||||
msgstr ""
|
||||
msgstr "Inscription de l'Évenement"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.actions.wizard,name:event.event_reg_invoice
|
||||
msgid "Make Invoice"
|
||||
msgstr ""
|
||||
msgstr "Créer la facture"
|
||||
|
||||
#. module: event
|
||||
#: field:report.event.type.registration,draft_state:0
|
||||
msgid "Draft Registrations"
|
||||
msgstr ""
|
||||
msgstr "Inscriptions Brouillon"
|
||||
|
||||
#. module: event
|
||||
#: view:report.event.registration: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-11-17 07:25+0000\n"
|
||||
"Last-Translator: Kuvaly <kuvaly@seznam.cz>\n"
|
||||
"PO-Revision-Date: 2010-02-26 21:05+0000\n"
|
||||
"Last-Translator: Roman Horník <roman.hornik@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: 2009-12-16 05:03+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-27 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: google_map
|
||||
@@ -44,4 +44,4 @@ msgstr ""
|
||||
#: view:res.partner:0
|
||||
#: view:res.partner.address:0
|
||||
msgid "Map"
|
||||
msgstr "Mapka"
|
||||
msgstr "Mapa"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,13 +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 hr_department
|
||||
import hr
|
||||
import installer
|
||||
import hr_department
|
||||
|
||||
import report
|
||||
import wizard
|
||||
|
||||
@@ -61,6 +61,33 @@ class hr_employee_marital_status(osv.osv):
|
||||
}
|
||||
hr_employee_marital_status()
|
||||
|
||||
class hr_job(osv.osv):
|
||||
def _no_of_employee(self, cr, uid, ids, name,args,context=None):
|
||||
res = {}
|
||||
for emp in self.browse(cr, uid, ids):
|
||||
res[emp.id] = len(emp.employee_ids or [])
|
||||
return res
|
||||
|
||||
_name = "hr.job"
|
||||
_description = "Job Description"
|
||||
_columns = {
|
||||
'name': fields.char('Job Name', size=128, required=True, select=True),
|
||||
'expected_employees':fields.integer('Expected Employees'),
|
||||
'no_of_employee': fields.function(_no_of_employee, method=True, string='No of Employees', type='integer'),
|
||||
'employee_ids':fields.one2many('hr.employee', 'job_id','Employees'),
|
||||
'description': fields.text('Job Description'),
|
||||
'requirements':fields.text('Requirements'),
|
||||
'department_id':fields.many2one('hr.department','Department'),
|
||||
'company_id': fields.many2one('res.company', 'Company'),
|
||||
'state': fields.selection([('open','Open'),('old','Old'),('recruit','In Recruitement')], 'State', required=True),
|
||||
}
|
||||
_defaults = {
|
||||
'expected_employees': lambda *a: 1,
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'hr.job', context=c),
|
||||
'state': lambda *args: 'open'
|
||||
}
|
||||
hr_job()
|
||||
|
||||
class hr_employee(osv.osv):
|
||||
_name = "hr.employee"
|
||||
_description = "Employee"
|
||||
@@ -87,6 +114,9 @@ class hr_employee(osv.osv):
|
||||
'category_id' : fields.many2one('hr.employee.category', 'Category'),
|
||||
'child_ids': fields.one2many('hr.employee', 'parent_id','Subordinates'),
|
||||
'resource_id': fields.many2one('resource.resource','Resource',ondelete='cascade'),
|
||||
'coach_id':fields.many2one('res.users','Coach'),
|
||||
'job_id':fields.many2one('hr.job', 'Job'),
|
||||
|
||||
}
|
||||
_defaults = {
|
||||
'active' : lambda *a: True,
|
||||
@@ -107,4 +137,6 @@ class hr_employee(osv.osv):
|
||||
]
|
||||
|
||||
hr_employee()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
<record id="employee1" model="hr.employee">
|
||||
<field name="name">Fabien Pinckaers</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
<!--<field name="regime">45</field>-->
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<!--<field name="holiday_max">25</field>-->
|
||||
|
||||
@@ -23,9 +23,27 @@ from osv import fields,osv
|
||||
import tools
|
||||
|
||||
class hr_department(osv.osv):
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
if not len(ids):
|
||||
return []
|
||||
reads = self.read(cr, uid, ids, ['name','parent_id'], context)
|
||||
res = []
|
||||
for record in reads:
|
||||
name = record['name']
|
||||
if record['parent_id']:
|
||||
name = record['parent_id'][1]+' / '+name
|
||||
res.append((record['id'], name))
|
||||
return res
|
||||
|
||||
def _dept_name_get_fnc(self, cr, uid, ids, prop, unknow_none, context):
|
||||
res = self.name_get(cr, uid, ids, context)
|
||||
return dict(res)
|
||||
|
||||
_name = "hr.department"
|
||||
_columns = {
|
||||
'name': fields.char('Department Name', size=64, required=True),
|
||||
'complete_name': fields.function(_dept_name_get_fnc, method=True, type="char", string='Name'),
|
||||
'company_id': fields.many2one('res.company', 'Company', select=True, required=True),
|
||||
'parent_id': fields.many2one('hr.department', 'Parent Department', select=True),
|
||||
'child_ids': fields.one2many('hr.department', 'parent_id', 'Child Departments'),
|
||||
@@ -145,7 +163,7 @@ class res_users(osv.osv):
|
||||
_columns = {
|
||||
'parent_id': fields.function(_parent_compute, relation='res.users',fnct_search=_parent_search, method=True, string="Managers", type='many2many'),
|
||||
'child_ids': fields.function(_child_compute, relation='res.users', fnct_search=_child_search,method=True, string="Subordinates", type='many2many'),
|
||||
'context_department_id': fields.many2one('hr.department', 'Departments'),
|
||||
}
|
||||
res_users()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -37,17 +37,31 @@
|
||||
<field name="field_parent">child_ids</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Companies">
|
||||
<field name="name"/>
|
||||
<field name="complete_name"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="manager_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_department_filter" model="ir.ui.view">
|
||||
<field name="name">Departments</field>
|
||||
<field name="model">hr.department</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Departments">
|
||||
<group col='4' colspan='2'>
|
||||
<field name="name" />
|
||||
<field name="manager_id" widget="selection"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="open_module_tree_department_tree" model="ir.actions.act_window">
|
||||
<field name="name">Departments</field>
|
||||
<field name="res_model">hr.department</field>
|
||||
<field name="view_type">tree</field>
|
||||
<field name="domain">[('parent_id','=',False)]</field>
|
||||
<field name="search_view_id" ref="view_department_filter"/>
|
||||
</record>
|
||||
<menuitem action="open_module_tree_department_tree" id="menu_department_tree" parent="base.menu_users"/>
|
||||
|
||||
@@ -55,10 +69,39 @@
|
||||
<field name="name">Departments</field>
|
||||
<field name="res_model">hr.department</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="search_view_id" ref="view_department_filter"/>
|
||||
</record>
|
||||
|
||||
<menuitem action="open_module_tree_department" id="menu_department_def" parent="hr.menu_department_tree"/>
|
||||
<menuitem action="open_module_tree_department" id="menu_hr_department_tree" parent="menu_hr_human_resources"/>
|
||||
|
||||
</data>
|
||||
<record model="ir.ui.view" id="view_users_form_inherit">
|
||||
<field name="name">res.users.form</field>
|
||||
<field name="type">form</field>
|
||||
<field name="model">res.users</field>
|
||||
<field name="inherit_id" ref="base.view_users_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="Departements Informations">
|
||||
<field name="context_department_id" completion="1" widget="selection" string="Department"/>
|
||||
<separator string="Managers" colspan="4"/>
|
||||
<field name="parent_id" nolabel="1" colspan="4"/>
|
||||
<separator string="Subordinates" colspan="4"/>
|
||||
<field name="child_ids" nolabel="1" colspan="4"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_department_form_simple_modif_inherited1">
|
||||
<field name="name">view.department.form.hr.inherited1</field>
|
||||
<field name="model">res.users</field>
|
||||
<field name="inherit_id" ref="base.view_users_form_simple_modif" />
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<page string="Current Activity" position="inside">
|
||||
<field name="context_department_id" widget="selection" />
|
||||
</page>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<separator string="Human Resources Management" colspan="4"/>
|
||||
<field name="hr_holidays"/>
|
||||
<field name="hr_expense"/>
|
||||
<field name="crm_hr"/>
|
||||
<field name="hr_recruitment"/>
|
||||
<field name="hr_timesheet_sheet"/>
|
||||
<field name="hr_contract"/>
|
||||
<field name="hr_evaluation"/>
|
||||
|
||||
+117
-12
@@ -62,11 +62,12 @@
|
||||
<field name="work_location"/>
|
||||
</group>
|
||||
|
||||
<group col="4" colspan="2">
|
||||
<separator string="Job Information" colspan="4"/>
|
||||
<field name="parent_id" select="1" colspan="4"/>
|
||||
|
||||
<field name="category_id" colspan="4" widget="selection"/>
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Position" colspan="2"/>
|
||||
<field name="job_id" select="1"/>
|
||||
<separator string="Managers" colspan="2"/>
|
||||
<field name="parent_id" select="1"/>
|
||||
<field name="coach_id" select="1"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Notes">
|
||||
@@ -92,6 +93,21 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_employee_filter" model="ir.ui.view">
|
||||
<field name="name">Employees</field>
|
||||
<field name="model">hr.employee</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Employees">
|
||||
<group col='6' colspan='2'>
|
||||
<field name="name"/>
|
||||
<field name="parent_id" widget="selection">
|
||||
<filter icon="terp-partner" domain="[('parent_id','child_of',uid)]" help="Employees under me"/>
|
||||
</field>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="open_view_employee_tree" model="ir.actions.act_window">
|
||||
<field name="name">Employees Structure</field>
|
||||
<field name="res_model">hr.employee</field>
|
||||
@@ -99,6 +115,7 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_employee_tree"/>
|
||||
<field name="domain">[('parent_id','=',False)]</field>
|
||||
<field name="search_view_id" ref="view_employee_filter"/>
|
||||
</record>
|
||||
|
||||
<record id="open_view_employee_list" model="ir.actions.act_window">
|
||||
@@ -107,6 +124,7 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" eval="False"/>
|
||||
<field name="search_view_id" ref="view_employee_filter"/>
|
||||
</record>
|
||||
<!-- <menuitem
|
||||
id="menu_open_view_employee_list"
|
||||
@@ -125,13 +143,14 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[]</field>
|
||||
<field name="search_view_id" ref="view_employee_filter"/>
|
||||
</record>
|
||||
<!--<menuitem
|
||||
action="open_view_employee_list_my"
|
||||
id="menu_open_view_employee_list_my"
|
||||
parent="menu_open_view_employee_list"/>-->
|
||||
<menuitem
|
||||
name="Employees"
|
||||
name="Employees"
|
||||
action="open_view_employee_list_my"
|
||||
id="menu_open_view_employee_list_my"
|
||||
parent="menu_hr_human_resources"/>
|
||||
@@ -160,11 +179,11 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
action="action_hr_marital_status"
|
||||
id="hr_menu_marital_status"
|
||||
<menuitem
|
||||
action="action_hr_marital_status"
|
||||
id="hr_menu_marital_status"
|
||||
parent="hr.menu_view_employee_category_configuration_form" sequence="3"/>
|
||||
|
||||
|
||||
<!--
|
||||
=======================
|
||||
Employee architecture
|
||||
@@ -265,8 +284,8 @@
|
||||
<field name="res_model">hr.employee</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('category_id','child_of',[active_id])]</field>
|
||||
<field name="context">{'category_id':active_id}</field>
|
||||
<!-- <field name="domain">[('category_id','child_of',[active_id])]</field>-->
|
||||
<!-- <field name="context">{'category_id':active_id}</field>-->
|
||||
</record>
|
||||
|
||||
<record id="hr_employee_category_open" model="ir.values">
|
||||
@@ -279,5 +298,91 @@
|
||||
|
||||
<menuitem action="open_view_categ_tree" id="menu_view_employee_category_tree" parent="hr.menu_view_employee_category_form"/>
|
||||
|
||||
<record id="view_hr_job_form" model="ir.ui.view">
|
||||
<field name="name">hr.job.form</field>
|
||||
<field name="model">hr.job</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Job">
|
||||
<group col="6" colspan="4">
|
||||
<field name="name" select="1"/>
|
||||
<field name="department_id" select="1"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="expected_employees"/>
|
||||
<field name="no_of_employee"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<notebook colspan="4">
|
||||
<page string="Description">
|
||||
<separator colspan="4" string="Job Description"/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<separator colspan="4" string="Requirements"/>
|
||||
<field name="requirements" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Employee">
|
||||
<field name="employee_ids" colspan='4' nolabel="1" mode="tree,form"/>
|
||||
</page>
|
||||
</notebook>
|
||||
<field name="state"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_hr_job_tree" model="ir.ui.view">
|
||||
<field name="name">hr.job.tree</field>
|
||||
<field name="model">hr.job</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Job">
|
||||
<field name="name" select="1"/>
|
||||
<field name="department_id" />
|
||||
<field name="expected_employees"/>
|
||||
<field name="no_of_employee"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_job_filter" model="ir.ui.view">
|
||||
<field name="name">Job</field>
|
||||
<field name="model">hr.job</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Jobs">
|
||||
<filter icon="terp-crm"
|
||||
domain="[('state','in',('open','recruit'))]"
|
||||
string="Current"
|
||||
help="Open and in recruitment positions"/>
|
||||
<filter icon="terp-crm"
|
||||
domain="[('state','=','recruit')]"
|
||||
string="Recruitment"
|
||||
help="In Recruitment"/>
|
||||
<filter icon="terp-crm"
|
||||
domain="[('state','=','open')]"
|
||||
string="Open"
|
||||
help="Open Positions"/>
|
||||
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name"/>
|
||||
<field name="department_id" widget="selection">
|
||||
<filter icon="terp-crm"
|
||||
domain="[('department_id','=',context.get('department_id',False))]"
|
||||
help="My Departments Jobs"/>
|
||||
</field>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_hr_job">
|
||||
<field name="name">Job Positions</field>
|
||||
<field name="res_model">hr.job</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<menuitem icon="terp-hr" id="base.menu_hr" name="Human Resources"/>
|
||||
<menuitem
|
||||
name="Recruitment"
|
||||
id="base.menu_crm_case_job_req_main"
|
||||
parent="base.menu_hr"/>
|
||||
<menuitem parent="base.menu_crm_case_job_req_main" id="menu_hr_job" action="action_hr_job" sequence="2"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -35,7 +35,7 @@ class hr_installer(osv.osv_memory):
|
||||
help="Tracks and manages employee expenses, and can "
|
||||
"automatically re-invoice clients if the expenses are "
|
||||
"project-related."),
|
||||
'crm_hr':fields.boolean('Recruitment Process',
|
||||
'hr_recruitment':fields.boolean('Recruitment Process',
|
||||
help="Helps you manage and streamline your recruitment process."),
|
||||
'hr_timesheet_sheet':fields.boolean('Timesheets',
|
||||
help="Tracks and helps employees encode and validate timesheets "
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="hr.view_employee_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="parent_id" position="after">
|
||||
<field name="coach_id" position="after">
|
||||
<field name="state"/>
|
||||
<button name="attendance_action_change" states="absent" string="Sign In" type="object" icon="gtk-go-back" context="{'type':'sign_in'}"/>
|
||||
<button name="attendance_action_change" states="present" string="Sign Out" type="object" icon="gtk-go-forward" context="{'type':'sign_out'}"/>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
"author" : "Tiny",
|
||||
"category" : "Generic Modules/Human Resources",
|
||||
"website" : "http://www.openerp.com",
|
||||
"depends" : ["hr",'crm_hr','survey'],
|
||||
"depends" : ["hr",'hr_recruitment','survey'],
|
||||
"description": "Ability to create employees evaluation.",
|
||||
"init_xml" : [],
|
||||
"demo_xml" : ["hr_evaluation_demo.xml"],
|
||||
|
||||
+1472
-1468
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,279 @@
|
||||
# German 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-02-28 08:59+0000\n"
|
||||
"Last-Translator: Ferdinand @ ChriCar <Unknown>\n"
|
||||
"Language-Team: German <de@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-01 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 "Information"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Der Objekt Name muss mit einem x_ starten und darf keine Sonderzeichen "
|
||||
"beinhalten"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Schedule next evaluation"
|
||||
msgstr "Nächste Evaluierung festlegen"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: field:hr_evaluation.evaluation,info_bad:0
|
||||
msgid "Bad Points"
|
||||
msgstr "Schlechte Punkte"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.actions.act_window,name:hr_evaluation.open_view_employee_evaluation_next_my_list
|
||||
msgid "My Next Evaluation"
|
||||
msgstr "Meine nächste Evaluierung"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.type,value_ids:0
|
||||
msgid "Values"
|
||||
msgstr "Werte"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: field:hr_evaluation.evaluation,info_good:0
|
||||
msgid "Good Points"
|
||||
msgstr "Gute Punkte"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,state:0
|
||||
msgid "State"
|
||||
msgstr "Status"
|
||||
|
||||
#. 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 "Bewertung"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr_evaluation.evaluation,state:0
|
||||
msgid "Draft"
|
||||
msgstr "Entwurf"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Informal Data"
|
||||
msgstr "Informelle Daten"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Ungültiger Modellname in der Aktionsdefinition."
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,employee_id:0
|
||||
msgid "Employee"
|
||||
msgstr "Mitarbeiter"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: field:hr_evaluation.evaluation,info_improve:0
|
||||
msgid "To Improve"
|
||||
msgstr "Zu verbessern"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.quote,evaluation_id:0
|
||||
msgid "Evaluation"
|
||||
msgstr "Bewertung"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.type.value,type_id:0
|
||||
msgid "Evaluation Type"
|
||||
msgstr "Bewertungstyp"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.type:0
|
||||
msgid "Apply to categories"
|
||||
msgstr "Auf Kategorien anwenden"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.module.module,description:hr_evaluation.module_meta_information
|
||||
msgid "Ability to create employees evaluation."
|
||||
msgstr "Fähigkeit Mitarbeiter zu bewerten"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.quote,name:0
|
||||
msgid "Quote"
|
||||
msgstr "Quote"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.type,category_ids:0
|
||||
msgid "Appliable Role"
|
||||
msgstr "Anzuwendende Rolle"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,user_id:0
|
||||
msgid "Evaluation User"
|
||||
msgstr "Bewertung Mitarbeiter"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.type:0
|
||||
msgid "Choices Results"
|
||||
msgstr "Auswahl Resultat"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,date:0
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
#. 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 "Bewertungen"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_eval_config
|
||||
msgid "Configuration"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_open_view_employee_evaluation_next_list
|
||||
msgid "Next Evaluations"
|
||||
msgstr "Nächste Bewertung"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Fehlerhafter xml Code für diese Ansicht!"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_open_view_evaluation_type_form
|
||||
msgid "Evaluation Criterions"
|
||||
msgstr "Bewertungskriterien"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_open_view_employee_my_old_evaluation_list
|
||||
msgid "My Preceeding Evaluations"
|
||||
msgstr "Meine vorangegangenen Bewertungen"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_resp_hr
|
||||
msgid "HR Responsible"
|
||||
msgstr "Personal Verantwortlicher"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.quote,value_id:0
|
||||
#: field:hr_evaluation.type.value,name:0
|
||||
msgid "Value"
|
||||
msgstr "Wert"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,name:0
|
||||
msgid "Summary"
|
||||
msgstr "Zusammenfassung"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.type,active:0
|
||||
msgid "Active"
|
||||
msgstr "Aktiv"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.type:0
|
||||
msgid "Notes"
|
||||
msgstr "Anmerkungen"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_evaluation
|
||||
msgid "Employee Evaluation"
|
||||
msgstr "Mitarbeiter Bewertung"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_type
|
||||
msgid "Employee Evaluation Type"
|
||||
msgstr "Mitarbeiter Bewertungstyp"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Quotations"
|
||||
msgstr "Anführungen"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.actions.act_window,name:hr_evaluation.open_view_employee_evaluation_next_list
|
||||
msgid "Next Employee Evaluation"
|
||||
msgstr "Nächste Mitarbeiter Bewertung"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.quote,type_id:0
|
||||
msgid "Type"
|
||||
msgstr "Typ"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.type:0
|
||||
#: field:hr_evaluation.type,name:0
|
||||
msgid "Evaluation Criterion"
|
||||
msgstr "Bewertungskriterien"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_open_view_employee_evaluation_next_my_list
|
||||
msgid "My Next Evaluations"
|
||||
msgstr "Meine Nächste Bewertung"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.quote:0
|
||||
msgid "Evalution Quote"
|
||||
msgstr "Bewertungs Quote"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.module.module,shortdesc:hr_evaluation.module_meta_information
|
||||
msgid "Human Resources Evaluation"
|
||||
msgstr "Personal Bewertung"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,quote_ids:0
|
||||
msgid "Quotes"
|
||||
msgstr "Anführung"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: selection:hr_evaluation.evaluation,state:0
|
||||
msgid "Done"
|
||||
msgstr "Erledigt"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_quote
|
||||
msgid "Employee Evaluation Quote"
|
||||
msgstr "Mitarbeiter Bewertungsquote"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: field:hr_evaluation.evaluation,info_employee:0
|
||||
msgid "Employee Response"
|
||||
msgstr "MItarbeiter Antwort"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_type_value
|
||||
msgid "Evaluation Type Value"
|
||||
msgstr "Bewertungstyp Wert"
|
||||
@@ -68,7 +68,8 @@ class hr_expense_expense(osv.osv):
|
||||
'amount': fields.function(_amount, method=True, string='Total Amount'),
|
||||
'invoice_id': fields.many2one('account.invoice', 'Invoice'),
|
||||
'currency_id': fields.many2one('res.currency', 'Currency', required=True),
|
||||
|
||||
'department_id':fields.many2one('hr.department','Department'),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'state': fields.selection([
|
||||
('draft', 'Draft'),
|
||||
('confirm', 'Waiting confirmation'),
|
||||
@@ -85,6 +86,7 @@ class hr_expense_expense(osv.osv):
|
||||
'employee_id' : _employee_get,
|
||||
'user_id' : lambda cr,uid,id,c={}: id,
|
||||
'currency_id': _get_currency,
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id,
|
||||
}
|
||||
def expense_confirm(self, cr, uid, ids, *args):
|
||||
#for exp in self.browse(cr, uid, ids):
|
||||
@@ -175,7 +177,7 @@ class product_product(osv.osv):
|
||||
_inherit = "product.product"
|
||||
|
||||
_columns = {
|
||||
'hr_expense_ok': fields.boolean('Can be Expensed', help="Determines if the product can be visible in the list of product within a selection from an HR expense sheet line."),
|
||||
'hr_expense_ok': fields.boolean('Can constitute an Expense', help="Determines if the product can be visible in the list of product within a selection from an HR expense sheet line."),
|
||||
}
|
||||
|
||||
product_product()
|
||||
@@ -215,12 +217,12 @@ class hr_expense_line(osv.osv):
|
||||
if product_id:
|
||||
product=self.pool.get('product.product').browse(cr,uid,product_id, context=context)
|
||||
v['name']=product.name
|
||||
|
||||
|
||||
# Compute based on pricetype of employee company
|
||||
pricetype_id = self.pool.get('hr.employee').browse(cr,uid,employee_id).user_id.company_id.property_valuation_price_type.id
|
||||
pricetype=self.pool.get('product.price.type').browse(cr,uid,pricetype_id)
|
||||
amount_unit=product.price_get(pricetype.field, context)[product.id]
|
||||
|
||||
|
||||
v['unit_amount']=amount_unit
|
||||
if not uom_id:
|
||||
v['uom_id']=product.uom_id.id
|
||||
|
||||
@@ -29,10 +29,13 @@
|
||||
<tree string="Expenses">
|
||||
<field name="date"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="department_id"/>
|
||||
<field name="name"/>
|
||||
<field name="ref"/>
|
||||
<field name="amount"/>
|
||||
<field name="state"/>
|
||||
<button name="confirm" states="draft" string="Confirm" type="workflow" icon="gtk-apply"/>
|
||||
<button name="refuse" states="confirm,draft,accepted" string="Refuse" type="workflow" icon="gtk-no"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -45,10 +48,13 @@
|
||||
<tree string="Expenses" editable="top">
|
||||
<field name="date"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="department_id"/>
|
||||
<field name="name"/>
|
||||
<field name="ref"/>
|
||||
<field name="amount"/>
|
||||
<field name="state"/>
|
||||
<button name="confirm" states="draft" string="Confirm" type="workflow" icon="gtk-apply"/>
|
||||
<button name="refuse" states="confirm,draft,accepted" string="Refuse" type="workflow" icon="gtk-no"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -66,6 +72,8 @@
|
||||
<field name="date" select="1"/>
|
||||
<field name="amount"/>
|
||||
<field name="currency_id"/>
|
||||
<field name="department_id"/>
|
||||
<field name="company_id"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Expense Sheet">
|
||||
@@ -92,7 +100,7 @@
|
||||
<button name="cancel" states="cancel" string="Cancel" type="workflow" icon="gtk-cancel"/>
|
||||
<button name="validate" states="confirm" string="Accept" type="workflow" icon="gtk-ok"/>
|
||||
<button name="invoice" states="accepted" string="Invoice" type="workflow" icon="gtk-print"/>
|
||||
<button name="draft" states="confirm" string="Set to Draft" type="workflow" icon="gtk-convert"/>
|
||||
<button name="draft" states="confirm,cancelled" string="Set to Draft" type="workflow" icon="gtk-convert"/>
|
||||
<button name="refuse" states="confirm,draft,accepted" string="Refuse" type="workflow" icon="gtk-no"/>
|
||||
</group>
|
||||
</page>
|
||||
@@ -145,6 +153,11 @@
|
||||
domain="[('user_id','=',uid)]"/>
|
||||
</field>
|
||||
<field name="state" select="1"/>
|
||||
<field name="department_id" widget="selection">
|
||||
<filter icon="terp-crm"
|
||||
domain="[('department_id','=',context.get('department_id',False))]"
|
||||
help="Expenses of My Department"/>
|
||||
</field>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
|
||||
<!-- Roles definition -->
|
||||
|
||||
|
||||
<record id="HR" model="res.roles">
|
||||
<field name="name">Human Resources - Expenses</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="HR_INV" model="res.roles">
|
||||
<field name="name">Human Resources - Expenses invoice</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Workflow definition -->
|
||||
|
||||
|
||||
<record id="wkf_expenses" model="workflow">
|
||||
<field name="name">hr.wkf.expenses</field>
|
||||
<field name="osv">hr.expense.expense</field>
|
||||
<field name="on_create">True</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="act_draft" model="workflow.activity">
|
||||
<field name="wkf_id" ref="wkf_expenses"/>
|
||||
<field name="name">draft</field>
|
||||
@@ -51,7 +51,7 @@
|
||||
<field name="name">refused</field>
|
||||
<field name="kind">function</field>
|
||||
<field name="action">expense_canceled()</field>
|
||||
<field name="flow_stop">True</field>
|
||||
<!-- <field name="flow_stop">True</field>-->
|
||||
</record>
|
||||
<record id="act_invoice" model="workflow.activity">
|
||||
<field name="wkf_id" ref="wkf_expenses"/>
|
||||
@@ -60,7 +60,7 @@
|
||||
<field name="subflow_id" ref="account.wkf"/>
|
||||
<field name="action">action_invoice_create()</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="t1" model="workflow.transition">
|
||||
<field name="act_from" ref="act_draft"/>
|
||||
<field name="act_to" ref="act_confirm"/>
|
||||
@@ -89,7 +89,7 @@
|
||||
<field name="act_to" ref="act_refused"/>
|
||||
<field name="signal">refuse</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="t6" model="workflow.transition">
|
||||
<field name="act_from" ref="act_accepted"/>
|
||||
<field name="act_to" ref="act_refused"/>
|
||||
@@ -118,6 +118,11 @@
|
||||
<field name="act_to" ref="act_refused"/>
|
||||
<field name="signal">subflow.cancel</field>
|
||||
</record>
|
||||
|
||||
<record id="t11" model="workflow.transition">
|
||||
<field name="act_from" ref="act_refused"/>
|
||||
<field name="act_to" ref="act_draft"/>
|
||||
<field name="signal">draft</field>
|
||||
<field name="role_id" ref="HR"/>
|
||||
</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-02-15 01:57+0000\n"
|
||||
"Last-Translator: thunk <thunk77@gmail.com>\n"
|
||||
"PO-Revision-Date: 2010-02-21 16:01+0000\n"
|
||||
"Last-Translator: Μάριος Ζηντίλης <m.zindilis@dmajor.org>\n"
|
||||
"Language-Team: nls@hellug.gr <nls@hellug.gr>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-17 04:56+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
"X-Poedit-Country: GREECE\n"
|
||||
"X-Poedit-Language: Greek\n"
|
||||
@@ -312,7 +312,7 @@ msgstr "Χρήστης"
|
||||
#: field:hr.expense.expense,date:0
|
||||
#: field:hr.expense.line,date_value:0
|
||||
msgid "Date"
|
||||
msgstr "Ηεμρ/νία"
|
||||
msgstr "Ημερ/νία"
|
||||
|
||||
#. module: hr_expense
|
||||
#: rml:hr.expense:0
|
||||
|
||||
+17
-12
@@ -1,7 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##################################################################################
|
||||
#
|
||||
# Copyright (c) 2005-2006 Axelor SARL. (http://www.axelor.com)
|
||||
# Copyright (c) 2005-2006 Axelor SARL. (http://www.axelor.com)
|
||||
# and 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# $Id: hr.py 4656 2006-11-24 09:58:42Z Cyp $
|
||||
@@ -37,13 +37,17 @@ class hr_holidays_status(osv.osv):
|
||||
for record in self.browse(cr, uid, ids, context):
|
||||
res[record.id] = {}
|
||||
max_leaves = leaves_taken = 0
|
||||
obj_ids = self.pool.get('hr.holidays.per.user').search(cr, uid, [('user_id','=',uid),('employee_id','=',employee_id),('holiday_status','=',record.id)])
|
||||
if obj_ids:
|
||||
br_ob=self.pool.get('hr.holidays.per.user').browse(cr, uid, obj_ids)[0]
|
||||
max_leaves=br_ob.max_leaves
|
||||
if not return_false:
|
||||
cr.execute("""SELECT type, sum(number_of_days) FROM hr_holidays WHERE employee_id = %s AND state='validate' AND holiday_status_id = %s GROUP BY type""", (str(employee_id), str(record.id)))
|
||||
for line in cr.fetchall():
|
||||
if line[0] =='remove':
|
||||
leaves_taken = -line[1]
|
||||
leaves_taken = -line[1]
|
||||
if line[0] =='add':
|
||||
max_leaves = line[1]
|
||||
max_leaves = line[1]
|
||||
res[record.id]['max_leaves'] = max_leaves
|
||||
res[record.id]['leaves_taken'] = leaves_taken
|
||||
res[record.id]['remaining_leaves'] = max_leaves - leaves_taken
|
||||
@@ -92,11 +96,11 @@ class hr_holidays_per_user(osv.osv):
|
||||
result = {}
|
||||
for holiday_user in self.browse(cr, uid, ids):
|
||||
days = 0.0
|
||||
ids_request = obj_holiday.search(cr, uid, [('employee_id', '=', holiday_user.employee_id.id),('state', '=', 'validate'),('holiday_status', '=', holiday_user.holiday_status.id)])
|
||||
ids_request = obj_holiday.search(cr, uid, [('employee_id', '=', holiday_user.employee_id.id),('state', '=', 'validate'),('holiday_status_id', '=', holiday_user.holiday_status.id)])
|
||||
if ids_request:
|
||||
holidays = obj_holiday.browse(cr, uid, ids_request)
|
||||
for holiday in holidays:
|
||||
days += holiday.number_of_days
|
||||
days -= holiday.number_of_days
|
||||
days = holiday_user.max_leaves - days
|
||||
result[holiday_user.id] = days
|
||||
return result
|
||||
@@ -153,7 +157,8 @@ class hr_holidays(osv.osv):
|
||||
'allocation_type': fields.selection([('employee','Employee Request'),('company','Company Allocation')], 'Allocation Type', required=True, readonly=True, states={'draft':[('readonly',False)]}, help='This field is only for informative purposes, to depict if the leave request/allocation comes from an employee or from the company'),
|
||||
'parent_id': fields.many2one('hr.holidays', 'Parent'),
|
||||
'linked_request_ids': fields.one2many('hr.holidays', 'parent_id', 'Linked Requests',),
|
||||
'holiday_user_id' : fields.many2one('res.users', 'User'),
|
||||
'holiday_user_id' : fields.many2one('hr.holidays.per.user', 'User'),
|
||||
'department_id':fields.many2one('hr.department','Department'),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
@@ -183,7 +188,7 @@ class hr_holidays(osv.osv):
|
||||
def _update_user_holidays(self, cr, uid, ids):
|
||||
for record in self.browse(cr, uid, ids):
|
||||
if record.state=='validate':
|
||||
holiday_id=self.pool.get('hr.holidays.per.user').search(cr, uid, [('employee_id','=', record.employee_id.id),('holiday_status','=',record.holiday_status.id)])
|
||||
holiday_id=self.pool.get('hr.holidays.per.user').search(cr, uid, [('employee_id','=', record.employee_id.id),('holiday_status','=',record.holiday_status_id.id)])
|
||||
if holiday_id:
|
||||
obj_holidays_per_user=self.pool.get('hr.holidays.per.user').browse(cr, uid,holiday_id[0])
|
||||
self.pool.get('hr.holidays.per.user').write(cr,uid,obj_holidays_per_user.id,{'leaves_taken':obj_holidays_per_user.leaves_taken - record.number_of_days})
|
||||
@@ -193,10 +198,10 @@ class hr_holidays(osv.osv):
|
||||
_('You can not cancel this holiday request. first You have to make its case in draft state.'))
|
||||
else:
|
||||
self.pool.get('crm.case').unlink(cr,uid,[record.case_id.id])
|
||||
|
||||
|
||||
def _check_date(self, cr, uid, ids):
|
||||
if ids:
|
||||
cr.execute('select number_of_days from hr_holidays where id in ('+','.join(map(str, ids))+')')
|
||||
cr.execute('select number_of_days_temp from hr_holidays where id in ('+','.join(map(str, ids))+')')
|
||||
res = cr.fetchall()
|
||||
if res and res[0][0] < 0:
|
||||
return False
|
||||
@@ -208,7 +213,7 @@ class hr_holidays(osv.osv):
|
||||
id_holiday = super(hr_holidays, self).create(cr, uid, vals, *args, **kwargs)
|
||||
self._create_holiday(cr, uid, [id_holiday])
|
||||
return id_holiday
|
||||
|
||||
|
||||
def unlink(self, cr, uid, ids, context={}):
|
||||
self._update_user_holidays(cr, uid, ids)
|
||||
return super(hr_holidays, self).unlink(cr, uid, ids, context)
|
||||
@@ -217,7 +222,7 @@ class hr_holidays(osv.osv):
|
||||
holidays_user_obj = self.pool.get('hr.holidays.per.user')
|
||||
holidays_data = self.browse(cr, uid, ids[0])
|
||||
list_holiday = []
|
||||
ids_user_hdays = holidays_user_obj.search(cr, uid, [('employee_id', '=', holidays_data.employee_id.id),('holiday_status', '=', holidays_data.holiday_status.id)])
|
||||
ids_user_hdays = holidays_user_obj.search(cr, uid, [('employee_id', '=', holidays_data.employee_id.id),('holiday_status', '=', holidays_data.holiday_status_id.id)])
|
||||
for hdays in holidays_user_obj.browse(cr, uid, ids_user_hdays):
|
||||
for req in hdays.holiday_ids:
|
||||
list_holiday.append(req.id)
|
||||
@@ -303,7 +308,7 @@ class hr_holidays(osv.osv):
|
||||
'company_id':record.employee_id.company_id.id,
|
||||
'resource_id':record.employee_id.resource_id.id
|
||||
}
|
||||
self.pool.get('resource.calendar.leaves').create(cr,uid,vals)
|
||||
#self.pool.get('resource.calendar.leaves').create(cr,uid,vals)
|
||||
|
||||
return True
|
||||
|
||||
|
||||
@@ -6,10 +6,15 @@
|
||||
name="Reporting"
|
||||
parent="hr.menu_hr_root"
|
||||
sequence="40" />
|
||||
<menuitem
|
||||
id="menu_hr_reporting_holidays"
|
||||
name="Holidays"
|
||||
parent="hr.menu_hr_reporting"
|
||||
sequence="3" />
|
||||
<wizard string="Print Summary of Holidays"
|
||||
name="hr.holidays.summary"
|
||||
id="holidays_summary"/>
|
||||
<menuitem name="Print Summary of Holidays" parent="hr.menu_hr_reporting"
|
||||
<menuitem name="Print Summary of Holidays" parent="menu_hr_reporting_holidays"
|
||||
action="holidays_summary"
|
||||
type="wizard"
|
||||
id="menu_holidays_summary" sequence="20"/>
|
||||
|
||||
@@ -14,16 +14,22 @@
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Leave">
|
||||
<group col='6' colspan='4'>
|
||||
<filter icon="gtk-execute" string="My Leaves" domain="[('user_id','=',uid)]" separator="1" help="Leaves Related to Current User"/>
|
||||
<filter icon="gtk-execute" string="My Departments Leaves" domain="[('user_id','child_of',[uid])]" help="Leaves Related to Department"/>
|
||||
<group col='8' colspan='4'>
|
||||
<filter icon="terp-hr" domain="[('state','=','draft')]" string="To Confirm"/>
|
||||
<filter icon="terp-hr" domain="[('state','=','confirm')]" string="To Validate"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" select='1'/>
|
||||
<field name="state" select="1">
|
||||
<filter icon="terp-hr" domain="[('state','=','confirm')]" help="Confirmed Holidays"/>
|
||||
<filter icon="terp-hr" domain="[('state','=','refuse')]" help="Refused Holidays"/>
|
||||
<filter icon="terp-hr" domain="[('state','=','validate')]" help="Validated Holidays"/>
|
||||
</field>
|
||||
<field name="user_id" select="1" widget="selection">
|
||||
<filter icon="gtk-execute" help="My Leaves" domain="[('user_id','=',uid)]" />
|
||||
</field>
|
||||
<field name="department_id" select="1" widget="selection">
|
||||
<filter icon="gtk-execute" domain="[('department_id','=',context.get('department_id',False))]"
|
||||
help="My Departments Leaves"/>
|
||||
</field>
|
||||
<field name="name" select='1'/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
@@ -49,6 +55,7 @@
|
||||
<field name="employee_id" select="1" required="1"/>
|
||||
<field name="number_of_days_temp"/>
|
||||
<field name="manager_id"/>
|
||||
<field name="department_id"/>
|
||||
<field name="notes" colspan="4"/>
|
||||
<newline/>
|
||||
<field name="state" select="1" colspan="2"/>
|
||||
@@ -76,6 +83,7 @@
|
||||
<field name="name" select="1"/>
|
||||
<field name="holiday_status_id" select="1" />
|
||||
<field name="employee_id" select="1" required="1"/>
|
||||
<field name="department_id"/>
|
||||
<field name="number_of_days_temp"/>
|
||||
<notebook colspan="4">
|
||||
<page string="General">
|
||||
@@ -107,6 +115,7 @@
|
||||
<field name="name" select="1"/>
|
||||
<field name="holiday_status_id" select="1"/>
|
||||
<field name="employee_id" select="1" />
|
||||
<field name="department_id"/>
|
||||
<field name="type"/>
|
||||
<field name="date_from" select="1" on_change="onchange_date_from(date_to, date_from)" attrs="{'readonly':[('type','=','add')], 'required':[('type','=','remove')]}"/>
|
||||
<field name="date_to" select="1" on_change="onchange_date_to(date_from, date_to)" attrs="{'readonly':[('type','=','add')], 'required':[('type','=','remove')]}"/>
|
||||
@@ -138,27 +147,49 @@
|
||||
<tree string="Leaves">
|
||||
<field name="name"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="department_id"/>
|
||||
<field name="number_of_days" string="Number of Days" sum='Remaining Days'/>
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
<field name="holiday_status_id"/>
|
||||
<field name="state"/>
|
||||
<field name="type"/>
|
||||
<!-- <field name="type"/>-->
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- My leave dashboard -->
|
||||
<record model="ir.ui.view" id="view_my_leave_board_tree">
|
||||
<record model="ir.ui.view" id="view_my_leave_board_form">
|
||||
<field name="name">hr.holidays.per.user.form</field>
|
||||
<field name="model">hr.holidays.per.user</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="My Leaves" editable="top">
|
||||
<form string="My Leaves" >
|
||||
<field name="employee_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="holiday_status"/>
|
||||
<field name="max_leaves"/>
|
||||
<field name="leaves_taken" />
|
||||
<field name="remaining_leaves"/>
|
||||
<field name="notes" colspan="4"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_my_leave_board_tree">
|
||||
<field name="name">hr.holidays.per.user.tree</field>
|
||||
<field name="model">hr.holidays.per.user</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="My Leaves" editable="top">
|
||||
<tree string="My Leaves" />
|
||||
<field name="employee_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="holiday_status"/>
|
||||
<field name="max_leaves"/>
|
||||
<field name="leaves_taken" />
|
||||
<field name="remaining_leaves"/>
|
||||
<field name="notes"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -289,5 +320,18 @@
|
||||
view_id ="eval('edit_holiday_new')"
|
||||
id="act_hr_employee_holiday_request"/>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_holiday_per_user">
|
||||
<field name="name">Holiday Per User</field>
|
||||
<field name="res_model">hr.holidays.per.user</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_my_leave_board_tree"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Holiday Per User"
|
||||
action="action_holiday_per_user"
|
||||
id="menu_holiday_per_user"
|
||||
parent="hr.menu_open_view_attendance_reason_config"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -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-12-29 09:47+0000\n"
|
||||
"Last-Translator: NightSpirit <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-02-24 11:09+0000\n"
|
||||
"Last-Translator: pmjt <Unknown>\n"
|
||||
"Language-Team: Finnish <fi@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: 2009-12-30 04:47+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-02-25 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: hr_holidays
|
||||
@@ -30,7 +30,7 @@ msgstr "Kaikki loma-anomukset"
|
||||
#. module: hr_holidays
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Virheellinen mallin nimi toimenpiteen määrittelyssä."
|
||||
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays.per.user,remaining_leaves:0
|
||||
@@ -45,12 +45,12 @@ msgstr "Tarkistusta odottavat anomukset"
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
msgid "Light Blue"
|
||||
msgstr ""
|
||||
msgstr "Vaaleansininen"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
msgid "Brown"
|
||||
msgstr ""
|
||||
msgstr "Ruskea"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: xsl:holidays.summary:0
|
||||
@@ -72,7 +72,7 @@ msgstr "Työntekijän lomat"
|
||||
#. module: hr_holidays
|
||||
#: view:hr.holidays:0
|
||||
msgid "Set to Draft"
|
||||
msgstr ""
|
||||
msgstr "Aseta luonnokseksi"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: view:hr.holidays.per.user:0
|
||||
@@ -80,7 +80,7 @@ msgstr ""
|
||||
#: model:ir.model,name:hr_holidays.model_hr_holidays
|
||||
#: model:process.node,name:hr_holidays.process_node_holidays0
|
||||
msgid "Holidays"
|
||||
msgstr ""
|
||||
msgstr "Lomat"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: xsl:holidays.summary:0
|
||||
@@ -95,7 +95,7 @@ msgstr ""
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
msgid "Light Green"
|
||||
msgstr ""
|
||||
msgstr "Vaaleanvihreä"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:process.transition,name:hr_holidays.process_transition_employeedeclaration0
|
||||
@@ -107,7 +107,7 @@ msgstr "Työntekijän ilmoitus"
|
||||
#: selection:hr.holidays,state:0
|
||||
#: model:process.transition.action,name:hr_holidays.process_transition_action_validate0
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
msgstr "Vahvista"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:process.transition,name:hr_holidays.process_transition_refusedrequest0
|
||||
@@ -117,23 +117,23 @@ msgstr "Hylätty anomus"
|
||||
#. module: hr_holidays
|
||||
#: model:process.node,name:hr_holidays.process_node_approved0
|
||||
msgid "Approved"
|
||||
msgstr ""
|
||||
msgstr "Hyväksytty"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.summary.employee,init,holiday_type:0
|
||||
msgid "Both"
|
||||
msgstr ""
|
||||
msgstr "Molemmat"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: view:hr.holidays:0
|
||||
msgid "Refuse"
|
||||
msgstr ""
|
||||
msgstr "Hylkää"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: wizard_button:hr.holidays.summary,notify,end:0
|
||||
#: wizard_button:hr.holidays.summary.employee,notify,end:0
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
msgstr "Ok"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:ir.ui.menu,name:hr_holidays.menu_action_my_holiday
|
||||
@@ -144,7 +144,7 @@ msgstr "Omat loma-anomukset"
|
||||
#: field:hr.holidays,notes:0
|
||||
#: field:hr.holidays.per.user,notes:0
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
msgstr "Huomautukset"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays,holiday_status:0
|
||||
@@ -206,7 +206,7 @@ msgstr "Oikeudellisen lausuman ilmoitus uudelle työntekijälle"
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
msgid "Magenta"
|
||||
msgstr ""
|
||||
msgstr "Purppura"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:ir.model,name:hr_holidays.model_hr_holidays_per_user
|
||||
@@ -222,7 +222,7 @@ msgstr "Määritä lomastatus"
|
||||
#: selection:hr.holidays.summary,init,holiday_type:0
|
||||
#: selection:hr.holidays.summary.employee,init,holiday_type:0
|
||||
msgid "Confirmed"
|
||||
msgstr ""
|
||||
msgstr "Vahvistettu"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: wizard_field:hr.holidays.summary,init,date_from:0
|
||||
@@ -234,7 +234,7 @@ msgstr ""
|
||||
#: view:hr.holidays:0
|
||||
#: model:process.transition.action,name:hr_holidays.process_transition_action_confirm0
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
msgstr "Vahvista"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:ir.actions.act_window,name:hr_holidays.action_my_holiday_waiting
|
||||
@@ -257,7 +257,7 @@ msgstr "Käytettävissä olevien vuosilomien koodit"
|
||||
#: field:hr.holidays.log,employee_id:0
|
||||
#: field:hr.holidays.per.user,employee_id:0
|
||||
msgid "Employee"
|
||||
msgstr ""
|
||||
msgstr "Työntekijä"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays,state:0
|
||||
@@ -293,7 +293,7 @@ msgstr "Omat loma-anomukset"
|
||||
#: view:hr.holidays:0
|
||||
#: view:hr.holidays.per.user:0
|
||||
msgid "Number of Days"
|
||||
msgstr ""
|
||||
msgstr "Päivien lukumäärä"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays.status,name:0
|
||||
@@ -306,12 +306,12 @@ msgstr "Loma status"
|
||||
#: wizard_view:hr.holidays.summary,init:0
|
||||
#: wizard_view:hr.holidays.summary.employee,init:0
|
||||
msgid "Report Options"
|
||||
msgstr ""
|
||||
msgstr "Raporttiasetukset"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr ""
|
||||
msgstr "Virheellinen XML näkymä-arkkitehtuurille!"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:process.node,note:hr_holidays.process_node_approved0
|
||||
@@ -378,7 +378,7 @@ msgstr "Tulosta työntekijöiden lomien yhteenveto"
|
||||
#. module: hr_holidays
|
||||
#: model:process.node,name:hr_holidays.process_node_calendar0
|
||||
msgid "Calendar"
|
||||
msgstr ""
|
||||
msgstr "Kalenteri"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays,date_from:0
|
||||
@@ -456,7 +456,7 @@ msgstr ""
|
||||
#: wizard_view:hr.holidays.summary,notify:0
|
||||
#: wizard_view:hr.holidays.summary.employee,notify:0
|
||||
msgid "Notification"
|
||||
msgstr ""
|
||||
msgstr "Huomautus"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:process.node,note:hr_holidays.process_node_holidaysrequest0
|
||||
@@ -482,7 +482,7 @@ msgstr "Omat käytettävissä olevat lomat"
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
msgid "Black"
|
||||
msgstr ""
|
||||
msgstr "Musta"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:ir.ui.menu,name:hr_holidays.menu_action_my_holiday_refuse
|
||||
@@ -507,12 +507,12 @@ msgstr "Sallittujen lomapäivien enimmäismäärä"
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Tila"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
msgid "Ivory"
|
||||
msgstr ""
|
||||
msgstr "Norsunluu"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:ir.actions.act_window,name:hr_holidays.action_my_holiday
|
||||
@@ -542,12 +542,12 @@ msgstr "lomapäivät."
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays,state:0
|
||||
msgid "draft"
|
||||
msgstr ""
|
||||
msgstr "luonnos"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays.per.user,user_id:0
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
msgstr "Käyttäjä"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:process.transition,note:hr_holidays.process_transition_employeedeclaration0
|
||||
@@ -557,7 +557,7 @@ msgstr "Asiakirja työntekijälle"
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays.log,date:0
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
msgstr "Päivämäärä"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:process.transition.action,name:hr_holidays.process_transition_action_reufse0
|
||||
@@ -567,7 +567,7 @@ msgstr "Hylkää"
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays.status,section_id:0
|
||||
msgid "Section"
|
||||
msgstr ""
|
||||
msgstr "Alue"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays,manager_id:0
|
||||
@@ -578,7 +578,7 @@ msgstr "Lomahallinta"
|
||||
#: field:hr.holidays.per.user,active:0
|
||||
#: field:hr.holidays.status,active:0
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
msgstr "Aktiivinen"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:ir.actions.act_window,name:hr_holidays.action_my_holiday_draft
|
||||
@@ -603,12 +603,12 @@ msgstr "Tarkistusta odottavat loma-anomukset"
|
||||
#. module: hr_holidays
|
||||
#: view:hr.holidays:0
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
msgstr "Yleiset"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: view:hr.holidays.per.user:0
|
||||
msgid "General Information"
|
||||
msgstr ""
|
||||
msgstr "Yleiset Tiedot"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: view:hr.holidays:0
|
||||
@@ -616,7 +616,7 @@ msgstr ""
|
||||
#: wizard_button:hr.holidays.summary,init,end:0
|
||||
#: wizard_button:hr.holidays.summary.employee,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Peruuta"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:process.transition,name:hr_holidays.process_transition_holidaysdefrequest0
|
||||
@@ -627,7 +627,7 @@ msgstr ""
|
||||
#: selection:hr.holidays.summary,init,holiday_type:0
|
||||
#: selection:hr.holidays.summary.employee,init,holiday_type:0
|
||||
msgid "Validated"
|
||||
msgstr ""
|
||||
msgstr "Vahvistettu"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:ir.actions.act_window,name:hr_holidays.action_my_holiday_refuse
|
||||
@@ -638,13 +638,13 @@ msgstr "Omat hylätyt loma-anomukset"
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
msgstr "Objektin nimen tulee alkaa x_ ja se ei saa sisältää erikoismerkkejä!"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: wizard_button:hr.holidays.summary,init,checkdept:0
|
||||
#: wizard_button:hr.holidays.summary.employee,init,checkemp:0
|
||||
msgid "Print"
|
||||
msgstr ""
|
||||
msgstr "Tulosta"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:ir.actions.wizard,name:hr_holidays.holidays_summary
|
||||
@@ -660,13 +660,13 @@ msgstr "Osasto(t)"
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays,name:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
msgstr "Kuvaus"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays,state:0
|
||||
#: model:process.node,name:hr_holidays.process_node_refused0
|
||||
msgid "Refused"
|
||||
msgstr ""
|
||||
msgstr "Hylätty"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:process.transition,note:hr_holidays.process_transition_approvedrequest0
|
||||
@@ -687,7 +687,7 @@ msgstr "Valitse lomantyyppi"
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays,case_id:0
|
||||
msgid "Case"
|
||||
msgstr ""
|
||||
msgstr "Tapaus"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: field:hr.holidays,holiday_user_id:0
|
||||
@@ -707,12 +707,12 @@ msgstr "Sosiaalinen sihteeristö"
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
msgid "Violet"
|
||||
msgstr ""
|
||||
msgstr "Violetti"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: selection:hr.holidays.status,color_name:0
|
||||
msgid "Red"
|
||||
msgstr ""
|
||||
msgstr "Punainen"
|
||||
|
||||
#. module: hr_holidays
|
||||
#: model:ir.module.module,shortdesc:hr_holidays.module_meta_information
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
##############################################################################
|
||||
|
||||
|
||||
import crm_hr
|
||||
import hr_hr
|
||||
import report
|
||||
import wizard
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
@@ -20,31 +20,35 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
|
||||
{
|
||||
'name': 'CRM Stuff in Job ',
|
||||
'name': 'HR - Recruitement',
|
||||
'version': '1.0',
|
||||
'category': 'Generic Modules/CRM & SRM',
|
||||
'category': 'Generic Modules/HR',
|
||||
'description': """
|
||||
This module provide Store the Job
|
||||
Manages job positions and the recruitement process. It's integrated with the
|
||||
survey module to allows you to define interview for different jobs.
|
||||
|
||||
This module is integrated with the mail gateway to automatically tracks email
|
||||
sent to jobs@YOURCOMPANY.com. It's also integrated with the document management
|
||||
system to store and search in your CV base.
|
||||
""",
|
||||
'author': 'Tiny',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': ['crm','hr','board_crm_configuration','survey'],
|
||||
'depends': ['hr','survey','crm'],
|
||||
'init_xml': [
|
||||
'crm_hr_data.xml'
|
||||
'hr_hr_data.xml'
|
||||
],
|
||||
'update_xml': [
|
||||
'crm_hr_wizard.xml',
|
||||
'crm_hr_view.xml',
|
||||
'crm_hr_menu.xml',
|
||||
'report_crm_hr_view.xml',
|
||||
'security/crm_hr_security.xml',
|
||||
'hr_hr_wizard.xml',
|
||||
'hr_hr_view.xml',
|
||||
'hr_hr_menu.xml',
|
||||
'report_hr_hr_view.xml',
|
||||
'security/hr_hr_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'board_crm_hr_statistical_view.xml',
|
||||
'board_hr_hr_statistical_view.xml',
|
||||
],
|
||||
'demo_xml': [
|
||||
'crm_hr_demo.xml'
|
||||
'hr_hr_demo.xml'
|
||||
],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -0,0 +1,62 @@
|
||||
# -*- 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 osv import fields,osv,orm
|
||||
|
||||
AVAILABLE_STATES = [
|
||||
('draft','New'),
|
||||
('open','In Progress'),
|
||||
('cancel', 'Refused'),
|
||||
('done', 'Hired'),
|
||||
('pending','Pending')
|
||||
]
|
||||
|
||||
AVAILABLE_PRIORITIES = [
|
||||
('5','Not Good'),
|
||||
('4','On Average'),
|
||||
('3','Good'),
|
||||
('2','Very Good'),
|
||||
('1','Excellent')
|
||||
]
|
||||
|
||||
|
||||
class hr_applicant(osv.osv):
|
||||
_name = "hr.applicant"
|
||||
_description = "Applicant Cases"
|
||||
_order = "id desc"
|
||||
_inherit ='crm.case'
|
||||
_columns = {
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'date': fields.datetime('Date'),
|
||||
'priority': fields.selection(AVAILABLE_PRIORITIES, 'Appreciation'),
|
||||
'job_id': fields.many2one('hr.job', 'Applied Job'),
|
||||
'salary_proposed': fields.float('Proposed Salary'),
|
||||
'salary_expected': fields.float('Expected Salary'),
|
||||
'availability': fields.integer('Availability (Days)'),
|
||||
'partner_name': fields.char("Applicant's Name", size=64),
|
||||
'partner_phone': fields.char('Phone', size=32),
|
||||
'partner_mobile': fields.char('Mobile', size=32),
|
||||
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]"),
|
||||
'type_id': fields.many2one('crm.case.resource.type', 'Degree', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]"),
|
||||
'department_id':fields.many2one('hr.department','Department'),
|
||||
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
|
||||
}
|
||||
hr_applicant()
|
||||
@@ -0,0 +1,499 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
|
||||
<!-- CASE CATEGORY(categ_id) -->
|
||||
|
||||
<record model="crm.case.categ" id="categ_job1">
|
||||
<field name="name">Salesman</field>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.categ" id="categ_job2">
|
||||
<field name="name">Junior Developer</field>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<!-- Resource(type_id) -->
|
||||
|
||||
<record model="crm.case.resource.type" id="type_job1">
|
||||
<field name="name">Graduate</field>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.resource.type" id="type_job2">
|
||||
<field name="name">Licenced</field>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.resource.type" id="type_job3">
|
||||
<field name="name"> > Bac +5</field>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<!-- STAGE(stage_id) -->
|
||||
|
||||
<record model="crm.case.stage" id="stage_job1">
|
||||
<field name="name">Initial Jobs Demand</field>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_job2">
|
||||
<field name="name">First Interview</field>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_job3">
|
||||
<field name="name">Second Interview</field>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_job4">
|
||||
<field name="name">Contract Proposed</field>
|
||||
<field name="object_id" search="[('model','=','hr.claim')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_job5">
|
||||
<field name="name">Contract Signed</field>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_job6">
|
||||
<field name="name">Refused by Employee</field>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_job7">
|
||||
<field name="name">Refused by Company</field>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
<data>
|
||||
<record id="survey_job_0" model="survey">
|
||||
<field name="title">Job Survey</field>
|
||||
<field name="state">draft</field>
|
||||
<field name="max_response_limit">20</field>
|
||||
<field eval="[(6,0,[])]" name="users"/>
|
||||
<field name="type" ref="survey.survey_type1"/>
|
||||
<field name="responsible_id" ref="base.user_root"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_page_job_0" model="survey.page">
|
||||
<field name="title">Default Section</field>
|
||||
<field name="survey_id" ref="survey_job_0"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_page_job_1" model="survey.page">
|
||||
<field name="title">Education & Activities</field>
|
||||
<field name="survey_id" ref="survey_job_0"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_page_job_2" model="survey.page">
|
||||
<field name="title">Importance</field>
|
||||
<field name="survey_id" ref="survey_job_0"/>
|
||||
<field eval="3" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_0" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="1" name="sequence"/>
|
||||
<field name="question">From which university will you graduate?</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">single_textbox</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_0"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_1" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="1" name="sequence"/>
|
||||
<field name="question">Rate the Importance</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">matrix_of_choices_only_one_ans</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_2"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_2" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="1" name="sequence"/>
|
||||
<field name="question">Education</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">comment</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_1"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_3" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="2" name="sequence"/>
|
||||
<field name="question">Knowledge</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">comment</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_1"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_4" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="2" name="sequence"/>
|
||||
<field name="question">What is your gender?</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">multiple_choice_only_one_ans</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_0"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
|
||||
<record id="survey_answer_job_70" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Male</field>
|
||||
<field name="question_id" ref="survey_question_job_4"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
|
||||
<record id="survey_answer_job_71" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Female</field>
|
||||
<field name="question_id" ref="survey_question_job_4"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_5" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="3" name="sequence"/>
|
||||
<field name="question">What age group do you belong to?</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">multiple_choice_only_one_ans</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_0"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
|
||||
<record id="survey_answer_job_81" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">0 - 15</field>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_82" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">16 - 20</field>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_83" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">21 - 30</field>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="3" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_84" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">31 - 40</field>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="4" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_85" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">41 - 50</field>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="5" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_86" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">51 - 60</field>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="6" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_87" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">61 - 70</field>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="7" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_88" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">71 +</field>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="8" name="sequence"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_6" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="3" name="sequence"/>
|
||||
<field name="question">Exprience</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">comment</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_1"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_job_7" model="survey.question">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="validation_type">do_not_validate</field>
|
||||
<field name="comment_valid_type">do_not_validate</field>
|
||||
<field name="make_comment_field_err_msg">Please enter a comment.</field>
|
||||
<field name="numeric_required_sum_err_msg">The choices need to add up to [enter sum here].</field>
|
||||
<field eval="0" name="comment_column"/>
|
||||
<field name="validation_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="rating_allow_one_column_require"/>
|
||||
<field name="req_error_msg">This question requires an answer.</field>
|
||||
<field eval="4" name="sequence"/>
|
||||
<field name="question">Activities</field>
|
||||
<field eval="0" name="is_require_answer"/>
|
||||
<field name="type">comment</field>
|
||||
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
|
||||
<field eval="0" name="make_comment_field"/>
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="page_id" ref="survey_page_job_1"/>
|
||||
<field name="comment_label">Other</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field eval="0" name="allow_comment"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_column_heading_job_0" model="survey.question.column.heading">
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="title">Not important</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_column_heading_job_1" model="survey.question.column.heading">
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="title">Somewhat important</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_column_heading_job_2" model="survey.question.column.heading">
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="title">Important</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_column_heading_job_3" model="survey.question.column.heading">
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="title">Very important</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_question_column_heading_job_4" model="survey.question.column.heading">
|
||||
<field eval="1" name="in_visible_menu_choice"/>
|
||||
<field name="title">Most important</field>
|
||||
<field eval="1" name="in_visible_rating_weight"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
<data>
|
||||
<record id="survey_answer_job_0" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Good pay</field>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_1" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Getting on with colleagues</field>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_2" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Office environment (décor, light, space etc)</field>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="3" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_3" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Desk space</field>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="4" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_4" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">State of the art technology</field>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="5" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_5" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Office location (proximity to home)</field>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="6" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_6" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Good management/boss</field>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="7" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_7" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Freebies such as tea, coffee and stationery</field>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="8" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_8" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Perks such as free parking, gym passes etc</field>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="9" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_9" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">No out of hours working</field>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="10" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_10" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Dress code</field>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="11" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_11" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Regular meetings</field>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="12" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="survey_answer_job_12" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Good social life (office nights out, good Christmas parties etc)</field>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="13" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
</openerp>
|
||||
@@ -0,0 +1,142 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<!--
|
||||
((((((((((( Demo Cases )))))))))))
|
||||
-->
|
||||
|
||||
<!--For Jobs Requests-->
|
||||
<record id="hr_case_salesman0" model="hr.applicant">
|
||||
<field eval="time.strftime('%Y-%m-01 10:35:50')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-03')" name="date_deadline"/>
|
||||
<field name="type_id" ref="type_job1"/>
|
||||
<field name="partner_id" ref="base.res_partner_asus"/>
|
||||
<field eval="'2'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="'Enrique Jones'" name="partner_name"/>
|
||||
<field eval="'draft'" name="state"/>
|
||||
<field eval="'enrique@rediff.com'" name="partner_name2"/>
|
||||
<field eval="'9963214587'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="9.0" name="duration"/>
|
||||
<field name="categ_id" ref="categ_job1"/>
|
||||
<field name="stage_id" ref="stage_job1"/>
|
||||
<field eval="'Salesman'" name="name"/>
|
||||
<field eval="'1236547890'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="hr_case_traineemca0" model="hr.applicant">
|
||||
<field model="res.partner.canal" name="canal_id" search="[('name','=','E-mail')]"/>
|
||||
<field name="partner_address_id" ref="base.res_partner_address_14"/>
|
||||
<field name="som" ref="base.som_fury"/>
|
||||
<field eval="time.strftime('%Y-%m-10 18:15:00')" name="date"/>
|
||||
<field name="type_id" ref="type_job3"/>
|
||||
<field name="partner_id" ref="base.res_partner_15"/>
|
||||
<field eval="'3'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="'Marie Justine'" name="partner_name"/>
|
||||
<field eval="'open'" name="state"/>
|
||||
<field eval="5.15" name="duration"/>
|
||||
<field eval="'marie@gmail.com'" name="partner_name2"/>
|
||||
<field eval="'9988774455'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="categ_job2"/>
|
||||
<field name="stage_id" ref="stage_job4"/>
|
||||
<field eval="'Trainee - MCA'" name="name"/>
|
||||
<field eval="time.strftime('%Y-%m-15')" name="date_deadline"/>
|
||||
<field eval="'6633225'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="hr_case_fresher0" model="hr.applicant">
|
||||
<field model="res.partner.canal" name="canal_id" search="[('name','=','direct')]"/>
|
||||
<field name="som" ref="base.som_happy"/>
|
||||
<field eval="time.strftime('%Y-%m-15 16:10:00')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-18')" name="date_deadline"/>
|
||||
<field name="type_id" ref="type_job2"/>
|
||||
<field name="partner_id" ref="base.res_partner_5"/>
|
||||
<field eval="'1'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="1.45" name="duration"/>
|
||||
<field eval="'Jose'" name="partner_name"/>
|
||||
<field eval="'pending'" name="state"/>
|
||||
<field eval="'jose@timesgroup.com'" name="partner_name2"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="categ_job1"/>
|
||||
<field name="stage_id" ref="stage_job3"/>
|
||||
<field eval="'Fresher'" name="name"/>
|
||||
<field eval="'999666735'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="hr_case_yrsexperienceinphp0" model="hr.applicant">
|
||||
<field eval="time.strftime('%Y-%m-25 16:25:52')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-28')" name="date_deadline"/>
|
||||
<field name="categ_id" ref="categ_job2"/>
|
||||
<field name="type_id" ref="type_job3"/>
|
||||
<field name="partner_id" ref="base.res_partner_10"/>
|
||||
<field eval="'3'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="1.35" name="duration"/>
|
||||
<field eval="'Sandra Elvis'" name="partner_name"/>
|
||||
<field eval="'sandra@example.com'" name="partner_name2"/>
|
||||
<field eval="'cancel'" name="state"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="stage_id" ref="stage_job6"/>
|
||||
<field eval="'More than 5 yrs Experience in PHP'" name="name"/>
|
||||
</record>
|
||||
<record id="hr_case_marketingjob0" model="hr.applicant">
|
||||
<field eval="time.strftime('%Y-%m-26 17:15:32')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-28')" name="date_deadline"/>
|
||||
<field name="type_id" ref="type_job2"/>
|
||||
<field name="partner_id" ref="base.res_partner_11"/>
|
||||
<field eval="'4'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field eval="2.0" name="duration"/>
|
||||
<field eval="'John Bruno'" name="partner_name"/>
|
||||
<field eval="'done'" name="state"/>
|
||||
<field eval="'john@market.edu'" name="partner_name2"/>
|
||||
<field eval="'9966332214'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="categ_job1"/>
|
||||
<field name="stage_id" ref="stage_job5"/>
|
||||
<field eval="'Marketing Job'" name="name"/>
|
||||
<field eval="'33968745'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="hr_case_financejob0" model="hr.applicant">
|
||||
<field eval="time.strftime('%Y-%m-26 17:39:42')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-28')" name="date_deadline"/>
|
||||
<field name="type_id" ref="type_job2"/>
|
||||
<field name="partner_id" ref="base.res_partner_11"/>
|
||||
<field eval="'4'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="'David Armstrong'" name="partner_name"/>
|
||||
<field eval="'done'" name="state"/>
|
||||
<field eval="'david@market.edu'" name="partner_name2"/>
|
||||
<field eval="'9966332214'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="2.20" name="duration"/>
|
||||
<field name="categ_id" ref="categ_job1"/>
|
||||
<field name="stage_id" ref="stage_job5"/>
|
||||
<field eval="'Finance Job'" name="name"/>
|
||||
<field eval="'33968745'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="hr_case_traineemca1" model="hr.applicant">
|
||||
<field model="res.partner.canal" name="canal_id" search="[('name','=','E-mail')]"/>
|
||||
<field name="partner_address_id" ref="base.res_partner_address_14"/>
|
||||
<field name="som" ref="base.som_fury"/>
|
||||
<field eval="time.strftime('%Y-%m-12 17:49:19')" name="date"/>
|
||||
<field name="type_id" ref="type_job3"/>
|
||||
<field name="partner_id" ref="base.res_partner_15"/>
|
||||
<field eval="'3'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="'Tina Augustie'" name="partner_name"/>
|
||||
<field eval="'open'" name="state"/>
|
||||
<field eval="1.15" name="duration"/>
|
||||
<field eval="'tina_augustie@example.com'" name="partner_name2"/>
|
||||
<field eval="'9898745745'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="categ_job2"/>
|
||||
<field name="stage_id" ref="stage_job4"/>
|
||||
<field eval="'Trainee - MCA'" name="name"/>
|
||||
<field eval="time.strftime('%Y-%m-15')" name="date_deadline"/>
|
||||
<field eval="'6630125'" name="partner_phone"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,36 +1,30 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<menuitem icon="terp-hr" id="menu_hr" name="Human Resources"/>
|
||||
<menuitem icon="terp-hr" id="base.menu_hr" name="Human Resources"/>
|
||||
|
||||
######################## JOB OPPORTUNITIES (menu) ###########################
|
||||
<record model="ir.actions.act_window" id="crm_case_categ0_act_job">
|
||||
<field name="name">Jobs Requests</field>
|
||||
<field name="res_model">crm.job</field>
|
||||
<field name="view_mode">tree,calendar,form,graph</field>
|
||||
<field name="name">Applicants</field>
|
||||
<field name="res_model">hr.applicant</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="view_id" ref="crm_case_tree_view_job"/>
|
||||
<field name="search_view_id" ref="view_crm_case_jobs_filter"/>
|
||||
<field name="search_view_id" ref="view_crm_case_jobs_filter"/>
|
||||
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_crm_sec_tree_view_act_job">
|
||||
<record model="ir.actions.act_window.view" id="action_hr_sec_tree_view_act_job">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="crm_case_tree_view_job"/>
|
||||
<field name="act_window_id" ref="crm_case_categ0_act_job"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_crm_sec_calendar_view_act_job">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">calendar</field>
|
||||
<field name="view_id" ref="crm_case_calendar_view_job"/>
|
||||
<field name="act_window_id" ref="crm_case_categ0_act_job"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_crm_sec_form_view_act_job">
|
||||
<record model="ir.actions.act_window.view" id="action_hr_sec_form_view_act_job">
|
||||
<field name="sequence" eval="3"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="crm_case_form_view_job"/>
|
||||
<field name="act_window_id" ref="crm_case_categ0_act_job"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_crm_sec_graph_view_act_job">
|
||||
<record model="ir.actions.act_window.view" id="action_hr_sec_graph_view_act_job">
|
||||
<field name="sequence" eval="4"/>
|
||||
<field name="view_mode">graph</field>
|
||||
<field name="view_id" ref="crm_case_graph_view_job"/>
|
||||
@@ -39,16 +33,16 @@
|
||||
<!--<menuitem
|
||||
name="Jobs - Hiring Process"
|
||||
id="menu_crm_case_job_req_main"
|
||||
parent="menu_hr"/>-->
|
||||
parent="base.menu_hr"/>-->
|
||||
<menuitem
|
||||
name="Recruitment"
|
||||
id="menu_crm_case_job_req_main"
|
||||
parent="menu_hr"/>
|
||||
id="base.menu_crm_case_job_req_main"
|
||||
parent="base.menu_hr"/>
|
||||
|
||||
<!--
|
||||
ALL JOBS REQUESTS
|
||||
-->
|
||||
<menuitem name="Applicants" parent="menu_crm_case_job_req_main" id="menu_crm_case_categ0_act_job" action="crm_case_categ0_act_job"/>
|
||||
<menuitem name="Applicants" parent="base.menu_crm_case_job_req_main" id="menu_crm_case_categ0_act_job" action="crm_case_categ0_act_job" sequence="1"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -0,0 +1,239 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Job Categories
|
||||
# ------------------------------------------------------
|
||||
|
||||
<record id="hr_job_categ_action" model="ir.actions.act_window">
|
||||
<field name="name">Applicant Categories</field>
|
||||
<field name="res_model">crm.case.categ</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
|
||||
<field name="domain">[('object_id.model', '=', 'hr.applicant')]</field>
|
||||
<field name="context">{'object_id':'hr.applicant'}</field>
|
||||
</record>
|
||||
# ------------------------------------------------------
|
||||
# Stage
|
||||
# ------------------------------------------------------
|
||||
<record id="hr_job_stage_act" model="ir.actions.act_window">
|
||||
<field name="name">Applicant Stages</field>
|
||||
<field name="res_model">crm.case.stage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_stage_tree"/>
|
||||
<field name="domain">[('object_id.model', '=', 'hr.applicant')]</field>
|
||||
<field name="context">{'object_id':'hr.applicant'}</field>
|
||||
</record>
|
||||
<menuitem action="hr_job_stage_act" id="menu_hr_job_stage_act" parent="crm.menu_crm_case_stage"/>
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Jobs
|
||||
# ------------------------------------------------------
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_tree_view_job">
|
||||
<field name="name">Applicants</field>
|
||||
<field name="model">hr.applicant</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Applicants" colors="grey:state in ('cancel','done');blue:state=='pending'">
|
||||
<field name="create_date"/>
|
||||
<field name="partner_name"/>
|
||||
<field name="email_from"/>
|
||||
<field name="partner_phone"/>
|
||||
<field name="job_id"/>
|
||||
<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="priority"/>
|
||||
<field name="type_id" invisible="1"/>
|
||||
<field name="availability" invisible="1"/>
|
||||
<field name="department_id" invisible="context.get('invisible_department', True)"/>
|
||||
<field name="user_id"/>
|
||||
<field name="state"/>
|
||||
<button name="case_open" string="In Progress" states="draft,pending" type="object" icon="gtk-go-forward"/>
|
||||
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_close" string="Hired" states="open,draft,pending" type="object" icon="terp-partner"/>
|
||||
<button name="case_cancel" string="Refused" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_form_view_job">
|
||||
<field name="name">Jobs - Recruitment Form</field>
|
||||
<field name="model">hr.applicant</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Jobs - Recruitment Form">
|
||||
<group colspan="4" col="7">
|
||||
<field name="name" string="Subject"/>
|
||||
<label string="Stage: " align="1.0"/>
|
||||
<group colspan="1" col="2">
|
||||
<field name="stage_id" nolabel="1"/>
|
||||
<button icon="gtk-go-forward" string="" name="stage_next" type="object"/>
|
||||
</group>
|
||||
<field name="user_id"/>
|
||||
<button string="Schedule a Phone Call"
|
||||
name="%(wizard_hr_job_reschedule_phone_call)d" icon="gtk-redo" type="action"/>
|
||||
<newline/>
|
||||
<field name="partner_name"/>
|
||||
<field name="job_id"/>
|
||||
<field name="department_id" widget="selection"/>
|
||||
<button name="%(wizard_hr_job_meeting_set)d" string="Schedule Meeting" icon="terp-hr" type="action"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Job Info">
|
||||
<group col="2" colspan="2">
|
||||
<separator colspan="2" string="Contact"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id, email_from)" />
|
||||
<field name="partner_address_id" on_change="onchange_partner_address_id(partner_address_id, email_from)"/>
|
||||
<field name="email_from"/>
|
||||
<field name="partner_phone"/>
|
||||
<field name="partner_mobile"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator colspan="2" string="Contract Data"/>
|
||||
<field name="availability"/>
|
||||
<field name="salary_expected"/>
|
||||
<field name="salary_proposed"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator colspan="2" string="Qualification"/>
|
||||
<field name="type_id"/>
|
||||
<field name="priority" string="Appreciation"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator colspan="2" string="Dates"/>
|
||||
<field name="create_date"/>
|
||||
<field name="write_date"/>
|
||||
<field name="date_closed"/>
|
||||
</group>
|
||||
|
||||
<separator colspan="4" string="Status"/>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state"/>
|
||||
<button name="case_open" string="In Progress" states="draft,pending" type="object" icon="gtk-go-forward"/>
|
||||
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_close" string="Hired" states="open,draft,pending" type="object" icon="terp-partner"/>
|
||||
<button name="case_cancel" string="Refused" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Internal Notes">
|
||||
<field name="description" nolabel="1" colspan="4"/>
|
||||
</page>
|
||||
<page string="History" groups="base.group_extended">
|
||||
<field name="id"/>
|
||||
<field name="active"/>
|
||||
<field name="log_ids" nolabel="1" colspan="4">
|
||||
<form string="Actions">
|
||||
<separator string="Action Information" colspan="4"/>
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="date"/>
|
||||
<field name="user_id"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Emails" groups="base.group_extended">
|
||||
<group colspan="4">
|
||||
<field colspan="4" name="email_cc" string="CC"/>
|
||||
</group>
|
||||
<field name="history_line" colspan="4" nolabel="1" mode="form,tree">
|
||||
<form string="Communication history">
|
||||
<group col="7" colspan="4">
|
||||
<field name="date"/>
|
||||
<field name="email"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4" string="Reply to Last Email" name="%(crm.wizard_crm_send_mail)d" context="{'mail':'reply'}" icon="gtk-undo" type="action"/>
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
<field name="email"/>
|
||||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email" name="%(crm.wizard_crm_new_send_mail)d" context="{'mail':'new'}" icon="gtk-go-forward" type="action"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_graph_view_job">
|
||||
<field name="name">Jobs - Recruitment Graph</field>
|
||||
<field name="model">hr.applicant</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Cases By Stage and Estimates" type="bar" orientation="vertical">
|
||||
<field name="job_id"/>
|
||||
<field name="salary_expected" operator="+"/>
|
||||
<field name="state" group="True"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_crm_case_jobs_filter" model="ir.ui.view">
|
||||
<field name="name">Jobs - Recruitment Search</field>
|
||||
<field name="model">hr.applicant</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Jobs">
|
||||
<filter icon="gtk-new" string="Current"
|
||||
domain="[('state','in',('draft','open'))]"
|
||||
help="All new and in progress jobs"
|
||||
default="1"
|
||||
/>
|
||||
<filter icon="gtk-new" string="New"
|
||||
domain="[('state','=','draft')]"
|
||||
help="All Initial Jobs"
|
||||
/>
|
||||
<filter icon="gtk-yes" string="In Progress"
|
||||
domain="[('state','=','open')]"
|
||||
help="Open Jobs"
|
||||
/>
|
||||
<filter icon="gtk-media-pause" string="Pending"
|
||||
domain="[('state','=','pending')]"
|
||||
help="Pending Jobs"
|
||||
/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="partner_name"/>
|
||||
<field name="email_from"/>
|
||||
<field name="job_id" widget="selection"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<filter domain="[('user_id','=',uid)]" help="My Recruitements" icon="gtk-execute" default="1"/>
|
||||
<filter domain="[('user_id','=',False)]" help="Unassigned Recruitements" icon="gtk-execute" separator="1"/>
|
||||
</field>
|
||||
<field name="department_id" widget="selection" string="Department" context="{'invisible_department': False}">
|
||||
<filter icon="terp-hr" context="{'invisible_department': False}"
|
||||
domain="[('department_id','=',context.get('department_id',False))]"
|
||||
help="My Department"/>
|
||||
</field>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="11" col="20">
|
||||
<filter string="Department" icon="terp-project" domain="[]" context="{'group_by':'department_id'}"/>
|
||||
<filter string="Responsible" icon="terp-project" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Job" icon="terp-project" domain="[]" context="{'group_by':'job_id'}"/>
|
||||
<filter string="Stage" icon="terp-project" domain="[]" context="{'group_by':'stage_id'}"/>
|
||||
<filter string="Degree" icon="terp-project" domain="[]" context="{'group_by':'type_id'}"/>
|
||||
<filter string="Availability" icon="terp-project" domain="[]" context="{'group_by':'availability'}"/>
|
||||
<filter string="State" icon="terp-project" domain="[]" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Appreciation" icon="terp-project" domain="[]" context="{'group_by':'priority'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Date" icon="terp-project" domain="[]" context="{'group_by':'create_date'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user