[MERGE]: Merged with trunk-addons.
bzr revid: uco@tinyerp.com-20111214060700-oes9euuobmfyco8x
This commit is contained in:
commit
711fbc9361
|
@ -2486,6 +2486,9 @@
|
||||||
<field eval="5" name="sequence"/>
|
<field eval="5" name="sequence"/>
|
||||||
<field name="code">
|
<field name="code">
|
||||||
act_window_ids = pool.get('ir.actions.act_window').search(cr, uid,[('name', 'in', ('Accounting Chart Configuration', 'Generate Chart of Accounts from a Chart Template'))], context=context)
|
act_window_ids = pool.get('ir.actions.act_window').search(cr, uid,[('name', 'in', ('Accounting Chart Configuration', 'Generate Chart of Accounts from a Chart Template'))], context=context)
|
||||||
|
ref = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account', 'action_account_configuration_installer')
|
||||||
|
if ref:
|
||||||
|
act_window_ids += [ref[1]]
|
||||||
todo_ids = pool.get('ir.actions.todo').search(cr, uid, [('action_id', 'in', act_window_ids)], context=context)
|
todo_ids = pool.get('ir.actions.todo').search(cr, uid, [('action_id', 'in', act_window_ids)], context=context)
|
||||||
pool.get('ir.actions.todo').write(cr, uid, todo_ids, {'state':'open'}, context=context)
|
pool.get('ir.actions.todo').write(cr, uid, todo_ids, {'state':'open'}, context=context)
|
||||||
action = pool.get('res.config').next(cr, uid, [], context)
|
action = pool.get('res.config').next(cr, uid, [], context)
|
||||||
|
|
|
@ -24,6 +24,7 @@ import time
|
||||||
import datetime
|
import datetime
|
||||||
from dateutil.relativedelta import relativedelta
|
from dateutil.relativedelta import relativedelta
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
|
from os.path import join as opj
|
||||||
|
|
||||||
from tools.translate import _
|
from tools.translate import _
|
||||||
from osv import fields, osv
|
from osv import fields, osv
|
||||||
|
@ -111,6 +112,11 @@ class account_installer(osv.osv_memory):
|
||||||
context = {}
|
context = {}
|
||||||
fy_obj = self.pool.get('account.fiscalyear')
|
fy_obj = self.pool.get('account.fiscalyear')
|
||||||
for res in self.read(cr, uid, ids, context=context):
|
for res in self.read(cr, uid, ids, context=context):
|
||||||
|
if 'charts' in res and res['charts'] == 'configurable':
|
||||||
|
#load generic chart of account
|
||||||
|
fp = tools.file_open(opj('account', 'configurable_account_chart.xml'))
|
||||||
|
tools.convert_xml_import(cr, 'account', fp, {}, 'init', True, None)
|
||||||
|
fp.close()
|
||||||
if 'date_start' in res and 'date_stop' in res:
|
if 'date_start' in res and 'date_stop' in res:
|
||||||
f_ids = fy_obj.search(cr, uid, [('date_start', '<=', res['date_start']), ('date_stop', '>=', res['date_stop']), ('company_id', '=', res['company_id'][0])], context=context)
|
f_ids = fy_obj.search(cr, uid, [('date_start', '<=', res['date_start']), ('date_stop', '>=', res['date_stop']), ('company_id', '=', res['company_id'][0])], context=context)
|
||||||
if not f_ids:
|
if not f_ids:
|
||||||
|
|
|
@ -2,14 +2,17 @@
|
||||||
<openerp><data>
|
<openerp><data>
|
||||||
|
|
||||||
<record id="group_account_invoice" model="res.groups">
|
<record id="group_account_invoice" model="res.groups">
|
||||||
<field name="name">Accounting / Invoicing & Payments</field>
|
<field name="name">Invoicing & Payments</field>
|
||||||
|
<field name="category_id" ref="base.module_category_accounting_and_finance"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="group_account_user" model="res.groups" context="{'noadmin':True}">
|
<record id="group_account_user" model="res.groups" context="{'noadmin':True}">
|
||||||
<field name="name">Accounting / Accountant</field>
|
<field name="name">Accountant</field>
|
||||||
|
<field name="category_id" ref="base.module_category_accounting_and_finance"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('group_account_invoice'))]"/>
|
<field name="implied_ids" eval="[(4, ref('group_account_invoice'))]"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="group_account_manager" model="res.groups" context="{'noadmin':True}">
|
<record id="group_account_manager" model="res.groups" context="{'noadmin':True}">
|
||||||
<field name="name">Accounting / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_accounting_and_finance"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('group_account_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('group_account_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -8,19 +8,19 @@ msgstr ""
|
||||||
"Project-Id-Version: openobject-addons\n"
|
"Project-Id-Version: openobject-addons\n"
|
||||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||||
"PO-Revision-Date: 2010-12-23 15:17+0000\n"
|
"PO-Revision-Date: 2011-12-13 15:21+0000\n"
|
||||||
"Last-Translator: Olivier Dony (OpenERP) <Unknown>\n"
|
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||||
"Language-Team: Serbian latin <sr@latin@li.org>\n"
|
"Language-Team: Serbian latin <sr@latin@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2011-11-05 05:22+0000\n"
|
"X-Launchpad-Export-Date: 2011-12-14 04:45+0000\n"
|
||||||
"X-Generator: Launchpad (build 14231)\n"
|
"X-Generator: Launchpad (build 14487)\n"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.order,date_scheduled:0
|
#: field:payment.order,date_scheduled:0
|
||||||
msgid "Scheduled date if fixed"
|
msgid "Scheduled date if fixed"
|
||||||
msgstr "Zakazani datum ako je fiskno"
|
msgstr "Zakazani datum ako je fiksiran"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.line,currency:0
|
#: field:payment.line,currency:0
|
||||||
|
@ -30,7 +30,7 @@ msgstr "Valuta partnera"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: view:payment.order:0
|
#: view:payment.order:0
|
||||||
msgid "Set to draft"
|
msgid "Set to draft"
|
||||||
msgstr "Postavi za obradu"
|
msgstr "Postavi kao pripremu"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: help:payment.order,mode:0
|
#: help:payment.order,mode:0
|
||||||
|
@ -41,7 +41,7 @@ msgstr "Odaberite način plaćanja koji će biti primenjen."
|
||||||
#: view:payment.mode:0
|
#: view:payment.mode:0
|
||||||
#: view:payment.order:0
|
#: view:payment.order:0
|
||||||
msgid "Group By..."
|
msgid "Group By..."
|
||||||
msgstr "Grupirano po"
|
msgstr "Grupiši po..."
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: model:ir.module.module,description:account_payment.module_meta_information
|
#: model:ir.module.module,description:account_payment.module_meta_information
|
||||||
|
@ -52,6 +52,11 @@ msgid ""
|
||||||
"* a basic mechanism to easily plug various automated payment.\n"
|
"* a basic mechanism to easily plug various automated payment.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Ovaj modul omogućava:\n"
|
||||||
|
"*efikasniji način za upravljanje isplaćivanja faktura\n"
|
||||||
|
"*osnovni mehanizam za lako obrađivanje automatizovanih načina isplate\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.order,line_ids:0
|
#: field:payment.order,line_ids:0
|
||||||
|
@ -98,7 +103,7 @@ msgstr "Zeljeni Datum"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: selection:payment.line,state:0
|
#: selection:payment.line,state:0
|
||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "slobodno"
|
msgstr "Slobodno"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.order.create,entries:0
|
#: field:payment.order.create,entries:0
|
||||||
|
@ -108,18 +113,18 @@ msgstr "Stavke"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: report:payment.order:0
|
#: report:payment.order:0
|
||||||
msgid "Used Account"
|
msgid "Used Account"
|
||||||
msgstr "Koristeni Nalog"
|
msgstr "Korišteni nalog"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.line,ml_maturity_date:0
|
#: field:payment.line,ml_maturity_date:0
|
||||||
#: field:payment.order.create,duedate:0
|
#: field:payment.order.create,duedate:0
|
||||||
msgid "Due Date"
|
msgid "Due Date"
|
||||||
msgstr "Datum dospeća"
|
msgstr "Krajnji rok"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: constraint:account.move.line:0
|
#: constraint:account.move.line:0
|
||||||
msgid "You can not create move line on closed account."
|
msgid "You can not create move line on closed account."
|
||||||
msgstr ""
|
msgstr "Ne možete da napravite poteznu liniju na zatvorenim računima."
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: view:account.move.line:0
|
#: view:account.move.line:0
|
||||||
|
@ -135,7 +140,7 @@ msgstr "_Dodaj u nalog za plaćanje"
|
||||||
#: model:ir.actions.act_window,name:account_payment.action_account_payment_populate_statement
|
#: model:ir.actions.act_window,name:account_payment.action_account_payment_populate_statement
|
||||||
#: model:ir.actions.act_window,name:account_payment.action_account_populate_statement_confirm
|
#: model:ir.actions.act_window,name:account_payment.action_account_populate_statement_confirm
|
||||||
msgid "Payment Populate statement"
|
msgid "Payment Populate statement"
|
||||||
msgstr "Ispuna sadrzaja fakture"
|
msgstr "Ispunjavanje sadržaja fakture"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: report:payment.order:0
|
#: report:payment.order:0
|
||||||
|
@ -146,12 +151,12 @@ msgstr "Iznos"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: sql_constraint:account.move.line:0
|
#: sql_constraint:account.move.line:0
|
||||||
msgid "Wrong credit or debit value in accounting entry !"
|
msgid "Wrong credit or debit value in accounting entry !"
|
||||||
msgstr ""
|
msgstr "Pogrešna vrednost kredita ili debita u ulazu računa !"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: view:payment.order:0
|
#: view:payment.order:0
|
||||||
msgid "Total in Company Currency"
|
msgid "Total in Company Currency"
|
||||||
msgstr "Ukupno u valuti preduzeca"
|
msgstr "Ukupno u valuti preduzeća"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: selection:payment.order,state:0
|
#: selection:payment.order,state:0
|
||||||
|
@ -172,7 +177,7 @@ msgstr "Referenca"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: sql_constraint:payment.line:0
|
#: sql_constraint:payment.line:0
|
||||||
msgid "The payment line name must be unique!"
|
msgid "The payment line name must be unique!"
|
||||||
msgstr ""
|
msgstr "Red plaćanja mora biti jedinstven!"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree
|
#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree
|
||||||
|
@ -212,7 +217,7 @@ msgstr "Efektivni datum fakture"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: report:payment.order:0
|
#: report:payment.order:0
|
||||||
msgid "Execution Type"
|
msgid "Execution Type"
|
||||||
msgstr "Tip Izuzetka"
|
msgstr "Tip Izvršavanja"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: selection:payment.line,state:0
|
#: selection:payment.line,state:0
|
||||||
|
@ -229,7 +234,7 @@ msgstr "Stanje"
|
||||||
#: view:payment.line:0
|
#: view:payment.line:0
|
||||||
#: view:payment.order:0
|
#: view:payment.order:0
|
||||||
msgid "Transaction Information"
|
msgid "Transaction Information"
|
||||||
msgstr "Informacije Transakcije"
|
msgstr "Informacije o transakciji"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: model:ir.actions.act_window,name:account_payment.action_payment_mode_form
|
#: model:ir.actions.act_window,name:account_payment.action_payment_mode_form
|
||||||
|
@ -257,8 +262,8 @@ msgid ""
|
||||||
"by you.'Directly' stands for the direct execution.'Due date' stands for the "
|
"by you.'Directly' stands for the direct execution.'Due date' stands for the "
|
||||||
"scheduled date of execution."
|
"scheduled date of execution."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Odaberite opciju za nalog za plaćanje: \"Fiksno\" znači datum naveden od "
|
"Odaberite opciju za nalog za plaćanje: \"Fiksirano\" znači datum naveden s "
|
||||||
"vaše strane. \"Direktno\" znači direktno izvršenje. \"Datum odgode\" znači "
|
"Vaše strane. \"Direktno\" znači direktno izvršenje. \"Datum odgode\" znači "
|
||||||
"zakazan datum izvršenja."
|
"zakazan datum izvršenja."
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
|
@ -280,12 +285,12 @@ msgstr "Datum izvršenja"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: help:payment.mode,journal:0
|
#: help:payment.mode,journal:0
|
||||||
msgid "Bank or Cash Journal for the Payment Mode"
|
msgid "Bank or Cash Journal for the Payment Mode"
|
||||||
msgstr ""
|
msgstr "Dnevnik banke ili keša za način plaćanja"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: selection:payment.order,date_prefered:0
|
#: selection:payment.order,date_prefered:0
|
||||||
msgid "Fixed date"
|
msgid "Fixed date"
|
||||||
msgstr "Fiksni datum"
|
msgstr "Fiksirani datum"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.line,info_partner:0
|
#: field:payment.line,info_partner:0
|
||||||
|
@ -301,18 +306,19 @@ msgstr "Ciljni račun"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: view:payment.order:0
|
#: view:payment.order:0
|
||||||
msgid "Search Payment Orders"
|
msgid "Search Payment Orders"
|
||||||
msgstr "Pretrazi naloge za placanje"
|
msgstr "Pretraži naloge za plaćanje"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: constraint:account.move.line:0
|
#: constraint:account.move.line:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"You can not create move line on receivable/payable account without partner"
|
"You can not create move line on receivable/payable account without partner"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Ne možete napraviti poteznu liniju na primaćem/platežnom računu bez partnera"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.line,create_date:0
|
#: field:payment.line,create_date:0
|
||||||
msgid "Created"
|
msgid "Created"
|
||||||
msgstr "Kreirano"
|
msgstr "Napravljeno"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: view:payment.order:0
|
#: view:payment.order:0
|
||||||
|
@ -327,17 +333,17 @@ msgstr "Ukupni iznos valute"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: view:payment.order:0
|
#: view:payment.order:0
|
||||||
msgid "Make Payments"
|
msgid "Make Payments"
|
||||||
msgstr "Napravite plaćanja"
|
msgstr "Izvršite plaćanja"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.line,state:0
|
#: field:payment.line,state:0
|
||||||
msgid "Communication Type"
|
msgid "Communication Type"
|
||||||
msgstr "Tip Komunikacije"
|
msgstr "Tip komunikacije"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: model:ir.module.module,shortdesc:account_payment.module_meta_information
|
#: model:ir.module.module,shortdesc:account_payment.module_meta_information
|
||||||
msgid "Payment Management"
|
msgid "Payment Management"
|
||||||
msgstr "Menadzment Plaćanja"
|
msgstr "Upravljanje plaćanjem"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.line,bank_statement_line_id:0
|
#: field:payment.line,bank_statement_line_id:0
|
||||||
|
@ -347,7 +353,7 @@ msgstr "Red Izvoda iz Banke"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: selection:payment.order,date_prefered:0
|
#: selection:payment.order,date_prefered:0
|
||||||
msgid "Due date"
|
msgid "Due date"
|
||||||
msgstr "Krajnji Rok"
|
msgstr "Krajnji rok"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:account.invoice,amount_to_pay:0
|
#: field:account.invoice,amount_to_pay:0
|
||||||
|
@ -391,7 +397,7 @@ msgstr "Način plaćanja"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: report:payment.order:0
|
#: report:payment.order:0
|
||||||
msgid "Value Date"
|
msgid "Value Date"
|
||||||
msgstr "Datum"
|
msgstr "Datum valute"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: report:payment.order:0
|
#: report:payment.order:0
|
||||||
|
@ -412,23 +418,23 @@ msgstr "Priprema"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: help:payment.line,communication2:0
|
#: help:payment.line,communication2:0
|
||||||
msgid "The successor message of Communication."
|
msgid "The successor message of Communication."
|
||||||
msgstr "Nasljedna poruka komunikacije."
|
msgstr "Naredna poruka komunikacije."
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: code:addons/account_payment/account_move_line.py:110
|
#: code:addons/account_payment/account_move_line.py:110
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No partner defined on entry line"
|
msgid "No partner defined on entry line"
|
||||||
msgstr "Partner nije definisan"
|
msgstr "Partner nije definisan na redu stavke"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: help:payment.line,info_partner:0
|
#: help:payment.line,info_partner:0
|
||||||
msgid "Address of the Ordering Customer."
|
msgid "Address of the Ordering Customer."
|
||||||
msgstr "Adresa kupca naručitelja."
|
msgstr "Adresa naručitelja."
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: view:account.payment.populate.statement:0
|
#: view:account.payment.populate.statement:0
|
||||||
msgid "Populate Statement:"
|
msgid "Populate Statement:"
|
||||||
msgstr "Popuni sadrzaj:"
|
msgstr "Popuni sadržaj:"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: view:account.move.line:0
|
#: view:account.move.line:0
|
||||||
|
@ -438,7 +444,7 @@ msgstr "Ukupno potražuje"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: help:payment.order,date_scheduled:0
|
#: help:payment.order,date_scheduled:0
|
||||||
msgid "Select a date if you have chosen Preferred Date to be fixed."
|
msgid "Select a date if you have chosen Preferred Date to be fixed."
|
||||||
msgstr "Odaberite datum ako ste odabrali fiksni željeni datum"
|
msgstr "Odaberite datum ako ste odabrali fiksirani željeni datum"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.order,user_id:0
|
#: field:payment.order,user_id:0
|
||||||
|
@ -454,12 +460,12 @@ msgstr "Redovi plaćanja"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: model:ir.model,name:account_payment.model_account_move_line
|
#: model:ir.model,name:account_payment.model_account_move_line
|
||||||
msgid "Journal Items"
|
msgid "Journal Items"
|
||||||
msgstr "Sadrzaj Dnevnika"
|
msgstr "Stavke dnevnika"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: constraint:account.move.line:0
|
#: constraint:account.move.line:0
|
||||||
msgid "Company must be same for its related account and period."
|
msgid "Company must be same for its related account and period."
|
||||||
msgstr ""
|
msgstr "Preduzeće mora biti isto za sve vezane račune i periode."
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: help:payment.line,move_line_id:0
|
#: help:payment.line,move_line_id:0
|
||||||
|
@ -492,12 +498,12 @@ msgstr "Ukupno:"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.order,date_created:0
|
#: field:payment.order,date_created:0
|
||||||
msgid "Creation date"
|
msgid "Creation date"
|
||||||
msgstr "Datum kreiranja"
|
msgstr "Datum pravljenja"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: view:account.payment.populate.statement:0
|
#: view:account.payment.populate.statement:0
|
||||||
msgid "ADD"
|
msgid "ADD"
|
||||||
msgstr "Dodaj"
|
msgstr "DODAJ"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: view:account.bank.statement:0
|
#: view:account.bank.statement:0
|
||||||
|
@ -517,22 +523,22 @@ msgstr "Iznos u valuti preduzeca"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: help:payment.line,partner_id:0
|
#: help:payment.line,partner_id:0
|
||||||
msgid "The Ordering Customer"
|
msgid "The Ordering Customer"
|
||||||
msgstr "Kupac naručitelj"
|
msgstr "Naručitelj"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: model:ir.model,name:account_payment.model_account_payment_make_payment
|
#: model:ir.model,name:account_payment.model_account_payment_make_payment
|
||||||
msgid "Account make payment"
|
msgid "Account make payment"
|
||||||
msgstr "Izvrsi placanje naloga"
|
msgstr "Izvrši plaćanje naloga"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: report:payment.order:0
|
#: report:payment.order:0
|
||||||
msgid "Invoice Ref"
|
msgid "Invoice Ref"
|
||||||
msgstr "Referenca fakture"
|
msgstr "Ref. fakture"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.line,name:0
|
#: field:payment.line,name:0
|
||||||
msgid "Your Reference"
|
msgid "Your Reference"
|
||||||
msgstr "Vaše veze"
|
msgstr "Vaš poziv na broj"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.order,mode:0
|
#: field:payment.order,mode:0
|
||||||
|
@ -578,7 +584,7 @@ msgstr "Otkaži"
|
||||||
#: view:payment.line:0
|
#: view:payment.line:0
|
||||||
#: view:payment.order:0
|
#: view:payment.order:0
|
||||||
msgid "Information"
|
msgid "Information"
|
||||||
msgstr "Informacija"
|
msgstr "Informacije"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: model:ir.actions.act_window,help:account_payment.action_payment_order_tree
|
#: model:ir.actions.act_window,help:account_payment.action_payment_order_tree
|
||||||
|
@ -588,6 +594,10 @@ msgid ""
|
||||||
"that should be done, keep track of all payment orders and mention the "
|
"that should be done, keep track of all payment orders and mention the "
|
||||||
"invoice reference and the partner the payment should be done for."
|
"invoice reference and the partner the payment should be done for."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Nalog za plaćanje je zahtev za plaćanje od strane Vašeg preduzeća za isplatu "
|
||||||
|
"faktura nabavke ili kupaca. Ovde možete snimiti sve naloge za plaćanje na "
|
||||||
|
"čekanju, pratite sve naloge za plaćanje i pomenete poziv na broj za datu "
|
||||||
|
"fakturu i kom partneru treba izvršiti isplatu."
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: help:payment.line,amount:0
|
#: help:payment.line,amount:0
|
||||||
|
@ -612,12 +622,12 @@ msgstr "Komunikacija 2"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.line,bank_id:0
|
#: field:payment.line,bank_id:0
|
||||||
msgid "Destination Bank account"
|
msgid "Destination Bank account"
|
||||||
msgstr "Destinacioni bankovni račun"
|
msgstr "Ciljni bankovni račun"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: view:account.payment.make.payment:0
|
#: view:account.payment.make.payment:0
|
||||||
msgid "Are you sure you want to make payment?"
|
msgid "Are you sure you want to make payment?"
|
||||||
msgstr "Jeste li sigurni da zelite da izvrsite isplatu?"
|
msgstr "Jeste li sigurni da želite da izvršite isplatu?"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: view:payment.mode:0
|
#: view:payment.mode:0
|
||||||
|
@ -639,7 +649,7 @@ msgstr "Potvrdi plaćanja"
|
||||||
#: field:payment.line,company_currency:0
|
#: field:payment.line,company_currency:0
|
||||||
#: report:payment.order:0
|
#: report:payment.order:0
|
||||||
msgid "Company Currency"
|
msgid "Company Currency"
|
||||||
msgstr "Valuta preduzeca"
|
msgstr "Valuta preduzeća"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: model:ir.ui.menu,name:account_payment.menu_main_payment
|
#: model:ir.ui.menu,name:account_payment.menu_main_payment
|
||||||
|
@ -651,7 +661,7 @@ msgstr "Isplata"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: report:payment.order:0
|
#: report:payment.order:0
|
||||||
msgid "Payment Order / Payment"
|
msgid "Payment Order / Payment"
|
||||||
msgstr "Isplata Faktura / Placanje"
|
msgstr "Isplata Faktura / Plaćanje"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.line,move_line_id:0
|
#: field:payment.line,move_line_id:0
|
||||||
|
@ -664,13 +674,13 @@ msgid ""
|
||||||
"Used as the message between ordering customer and current company. Depicts "
|
"Used as the message between ordering customer and current company. Depicts "
|
||||||
"'What do you want to say to the recipient about this order ?'"
|
"'What do you want to say to the recipient about this order ?'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Koristi se kao poruka izmedju narucioca i date kompanije. Objasnjava ' Sta "
|
"Koristi se kao poruka između naručioca i date kompanije. Prikazuje ' Šta "
|
||||||
"ste to hteli reci kupcu o ovoj narudzbi?'"
|
"želite reći kupcu o ovoj narudžbini?'"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.mode,name:0
|
#: field:payment.mode,name:0
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Ime"
|
msgstr "Naziv"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: report:payment.order:0
|
#: report:payment.order:0
|
||||||
|
@ -681,7 +691,7 @@ msgstr "Bankovni račun"
|
||||||
#: view:payment.line:0
|
#: view:payment.line:0
|
||||||
#: view:payment.order:0
|
#: view:payment.order:0
|
||||||
msgid "Entry Information"
|
msgid "Entry Information"
|
||||||
msgstr "Unos Informacije"
|
msgstr "Informacije o unosu"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: model:ir.model,name:account_payment.model_payment_order_create
|
#: model:ir.model,name:account_payment.model_payment_order_create
|
||||||
|
@ -702,7 +712,7 @@ msgstr "Ukupno"
|
||||||
#: view:account.payment.make.payment:0
|
#: view:account.payment.make.payment:0
|
||||||
#: model:ir.actions.act_window,name:account_payment.action_account_payment_make_payment
|
#: model:ir.actions.act_window,name:account_payment.action_account_payment_make_payment
|
||||||
msgid "Make Payment"
|
msgid "Make Payment"
|
||||||
msgstr "Izvrsi placanje"
|
msgstr "Izvrši placanje"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: field:payment.line,partner_id:0
|
#: field:payment.line,partner_id:0
|
||||||
|
@ -713,7 +723,7 @@ msgstr "Partner"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: model:ir.actions.act_window,name:account_payment.action_create_payment_order
|
#: model:ir.actions.act_window,name:account_payment.action_create_payment_order
|
||||||
msgid "Populate Payment"
|
msgid "Populate Payment"
|
||||||
msgstr "Popuni Placanje"
|
msgstr "Popuni plaćanje"
|
||||||
|
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: help:payment.mode,bank_id:0
|
#: help:payment.mode,bank_id:0
|
||||||
|
@ -723,7 +733,7 @@ msgstr "Bankovni račun za način plaćanja"
|
||||||
#. module: account_payment
|
#. module: account_payment
|
||||||
#: constraint:account.move.line:0
|
#: constraint:account.move.line:0
|
||||||
msgid "You can not create move line on view account."
|
msgid "You can not create move line on view account."
|
||||||
msgstr ""
|
msgstr "Ne možete napraviti poteznu liniju na računu po viđenju"
|
||||||
|
|
||||||
#~ msgid "Invalid model name in the action definition."
|
#~ msgid "Invalid model name in the action definition."
|
||||||
#~ msgstr "Pogrešno ime modela u definiciji akcije."
|
#~ msgstr "Pogrešno ime modela u definiciji akcije."
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="group_analytic_accounting" model="res.groups" context="{'noadmin':True}">
|
<record id="group_analytic_accounting" model="res.groups" context="{'noadmin':True}">
|
||||||
<field name="name">Useability / Analytic Accounting</field>
|
<field name="name">Analytic Accounting</field>
|
||||||
|
<field name="category_id" ref="base.module_category_usability"/>
|
||||||
</record>
|
</record>
|
||||||
</data></openerp>
|
</data></openerp>
|
||||||
|
|
|
@ -2,11 +2,19 @@
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="0">
|
<data noupdate="0">
|
||||||
|
|
||||||
|
<record model="ir.module.category" id="module_category_auction">
|
||||||
|
<field name="name">Auction</field>
|
||||||
|
<field name="parent_id" ref="base.module_category_specific_industry_applications"/>
|
||||||
|
<field name="sequence">26</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
<record id="group_auction_user" model="res.groups">
|
<record id="group_auction_user" model="res.groups">
|
||||||
<field name="name">Auction / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="module_category_auction"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="group_auction_manager" model="res.groups">
|
<record id="group_auction_manager" model="res.groups">
|
||||||
<field name="name">Auction / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="module_category_auction"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('group_auction_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('group_auction_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,6 @@ Pay attention that this module converts the existing addresses into "addresses +
|
||||||
'depends': ['base','process'],
|
'depends': ['base','process'],
|
||||||
'init_xml': [],
|
'init_xml': [],
|
||||||
'update_xml': [
|
'update_xml': [
|
||||||
'security/base_contact_security.xml',
|
|
||||||
'security/ir.model.access.csv',
|
'security/ir.model.access.csv',
|
||||||
'base_contact_view.xml',
|
'base_contact_view.xml',
|
||||||
'base_contact_installer_view.xml',
|
'base_contact_installer_view.xml',
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<openerp>
|
|
||||||
<data noupdate="0">
|
|
||||||
|
|
||||||
<record id="base.group_sale_salesman" model="res.groups">
|
|
||||||
<field name="name">Sales / User</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="base.group_sale_manager" model="res.groups">
|
|
||||||
<field name="name">Sales / Manager</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
</data>
|
|
||||||
</openerp>
|
|
|
@ -3,16 +3,19 @@
|
||||||
<data noupdate="0">
|
<data noupdate="0">
|
||||||
|
|
||||||
<record id="base.group_sale_salesman" model="res.groups">
|
<record id="base.group_sale_salesman" model="res.groups">
|
||||||
<field name="name">Sales / User - Own Leads Only</field>
|
<field name="name">User - Own Leads Only</field>
|
||||||
|
<field name="category_id" ref="base.module_category_sales_management"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="base.group_sale_salesman_all_leads" model="res.groups">
|
<record id="base.group_sale_salesman_all_leads" model="res.groups">
|
||||||
<field name="name">Sales / User - All Leads</field>
|
<field name="name">User - All Leads</field>
|
||||||
|
<field name="category_id" ref="base.module_category_sales_management"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman'))]"/>
|
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="base.group_sale_manager" model="res.groups">
|
<record id="base.group_sale_manager" model="res.groups">
|
||||||
<field name="name">Sales / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_sales_management"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman_all_leads'))]"/>
|
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman_all_leads'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ It also has been merged with the earlier CRM & SRM segmentation tool because the
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
'depends': ['base', 'crm'],
|
'depends': ['base', 'crm'],
|
||||||
'init_xml': [],
|
'init_xml': [],
|
||||||
'update_xml': ['security/ir.model.access.csv', 'crm_profiling_view.xml'],
|
'update_xml': ['security/ir.model.access.csv', 'wizard/open_questionnaire_view.xml', 'crm_profiling_view.xml'],
|
||||||
'demo_xml': ['crm_profiling_demo.xml'],
|
'demo_xml': ['crm_profiling_demo.xml'],
|
||||||
'test': [
|
'test': [
|
||||||
#'test/process/profiling.yml', #TODO:It's not debuging because problem to write data for open.questionnaire from partner section.
|
#'test/process/profiling.yml', #TODO:It's not debuging because problem to write data for open.questionnaire from partner section.
|
||||||
|
|
|
@ -159,30 +159,6 @@ class questionnaire(osv.osv):
|
||||||
_name="crm_profiling.questionnaire"
|
_name="crm_profiling.questionnaire"
|
||||||
_description= "Questionnaire"
|
_description= "Questionnaire"
|
||||||
|
|
||||||
def build_form(self, cr, uid, data, context=None):
|
|
||||||
"""
|
|
||||||
@param self: The object pointer
|
|
||||||
@param cr: the current row, from the database cursor,
|
|
||||||
@param uid: the current user’s ID for security checks,
|
|
||||||
@param data: Get Data
|
|
||||||
@param context: A standard dictionary for contextual values """
|
|
||||||
|
|
||||||
query = """
|
|
||||||
select name, id
|
|
||||||
from crm_profiling_question
|
|
||||||
where id in ( select question from profile_questionnaire_quest_rel where questionnaire = %s)"""
|
|
||||||
res = cr.execute(query, (data['form']['questionnaire_name'],))
|
|
||||||
result = cr.fetchall()
|
|
||||||
quest_fields={}
|
|
||||||
quest_form='''<?xml version="1.0"?>
|
|
||||||
<form string="%s">''' % _('Questionnaire')
|
|
||||||
for name, oid in result:
|
|
||||||
quest_form = quest_form + '<field name="quest_form%d"/><newline/>' % (oid,)
|
|
||||||
quest_fields['quest_form%d' % (oid,)] = {'string': name, 'type': 'many2one', \
|
|
||||||
'relation': 'crm_profiling.answer', 'domain': [('question_id','=',oid)] }
|
|
||||||
quest_form = quest_form + '''</form>'''
|
|
||||||
return quest_form, quest_fields
|
|
||||||
|
|
||||||
_columns = {
|
_columns = {
|
||||||
'name': fields.char("Questionnaire",size=128, required=True),
|
'name': fields.char("Questionnaire",size=128, required=True),
|
||||||
'description':fields.text("Description", required=True),
|
'description':fields.text("Description", required=True),
|
||||||
|
@ -210,25 +186,19 @@ class partner(osv.osv):
|
||||||
"partner","answer","Answers"),
|
"partner","answer","Answers"),
|
||||||
}
|
}
|
||||||
|
|
||||||
def _questionnaire_compute(self, cr, uid, data, context=None):
|
def _questionnaire_compute(self, cr, uid, answers, context=None):
|
||||||
"""
|
"""
|
||||||
@param self: The object pointer
|
@param self: The object pointer
|
||||||
@param cr: the current row, from the database cursor,
|
@param cr: the current row, from the database cursor,
|
||||||
@param uid: the current user’s ID for security checks,
|
@param uid: the current user’s ID for security checks,
|
||||||
@param data: Get Data
|
@param data: Get Data
|
||||||
@param context: A standard dictionary for contextual values """
|
@param context: A standard dictionary for contextual values """
|
||||||
|
partner_id = context.get('active_id')
|
||||||
temp = []
|
|
||||||
for x in data['form']:
|
|
||||||
if x.startswith("quest_form") and data['form'][x] != 0 :
|
|
||||||
temp.append(data['form'][x])
|
|
||||||
|
|
||||||
query = "select answer from partner_question_rel where partner=%s"
|
query = "select answer from partner_question_rel where partner=%s"
|
||||||
cr.execute(query, (data['id'],))
|
cr.execute(query, (partner_id,))
|
||||||
for x in cr.fetchall():
|
for x in cr.fetchall():
|
||||||
temp.append(x[0])
|
answers.append(x[0])
|
||||||
|
self.write(cr, uid, [partner_id], {'answers_ids': [[6, 0, answers]]}, context=context)
|
||||||
self.write(cr, uid, [data['id']], {'answers_ids':[[6, 0, temp]]}, context=context)
|
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,6 @@
|
||||||
<openerp>
|
<openerp>
|
||||||
<data>
|
<data>
|
||||||
|
|
||||||
<wizard
|
|
||||||
string="Using a questionnaire"
|
|
||||||
model="crm_profiling.questionnaire"
|
|
||||||
name="open_questionnaire"
|
|
||||||
menu="False"
|
|
||||||
id="wizard_open_questionnaire"/>
|
|
||||||
|
|
||||||
<record model="ir.actions.act_window" id="open_questionnaires">
|
<record model="ir.actions.act_window" id="open_questionnaires">
|
||||||
<field name="name">Questionnaires</field>
|
<field name="name">Questionnaires</field>
|
||||||
<field name="res_model">crm_profiling.questionnaire</field>
|
<field name="res_model">crm_profiling.questionnaire</field>
|
||||||
|
@ -140,7 +133,7 @@
|
||||||
<notebook position="inside">
|
<notebook position="inside">
|
||||||
<page string="Profiling">
|
<page string="Profiling">
|
||||||
<button string="Use a questionnaire"
|
<button string="Use a questionnaire"
|
||||||
name="%(wizard_open_questionnaire)d" type="action" colspan="1"
|
name="%(action_open_questionnaire)d" type="action" colspan="1"
|
||||||
icon="gtk-justify-fill" />
|
icon="gtk-justify-fill" />
|
||||||
<newline/>
|
<newline/>
|
||||||
<field name="answers_ids" colspan="4" nolabel="1"/>
|
<field name="answers_ids" colspan="4" nolabel="1"/>
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<openerp>
|
|
||||||
<data>
|
|
||||||
</data>
|
|
||||||
</openerp>
|
|
|
@ -1,10 +1,69 @@
|
||||||
|
- |
|
||||||
|
I check segmentation which allows users to perform segmentation within partners.
|
||||||
-
|
-
|
||||||
I check segmentation which allows users to perform segmentation within partners
|
I create a crm profiling question record.
|
||||||
and set the category according to question, so first compute questions(answers)
|
-
|
||||||
scenario with parther and check that category set according to questions.
|
!record {model: crm_profiling.question, id: crm_profiling_question_openerppartner0}:
|
||||||
|
answers_ids:
|
||||||
|
- name: 'no'
|
||||||
|
name: OpenERP partner?
|
||||||
|
-
|
||||||
|
I create a crm profiling answer record.
|
||||||
|
-
|
||||||
|
!record {model: crm_profiling.answer, id: crm_profiling_answer_openerppartner0}:
|
||||||
|
name: 'yes'
|
||||||
|
question_id: crm_profiling_question_openerppartner0
|
||||||
|
-
|
||||||
|
I create Partner category Customers.
|
||||||
|
-
|
||||||
|
!record {model: res.partner.category, id: res_partner_category_customers0}:
|
||||||
|
name: Customers
|
||||||
|
- |
|
||||||
|
I'm creating new partner "John" with his email "info@mycustomer.com".
|
||||||
|
-
|
||||||
|
!record {model: res.partner, id: res_partner_john0}:
|
||||||
|
address:
|
||||||
|
- city: Bruxelles
|
||||||
|
country_id: base.be
|
||||||
|
street: Rue des Palais 51, bte 33
|
||||||
|
type: default
|
||||||
|
zip: '1000'
|
||||||
|
email: 'info@mycustomer.com'
|
||||||
|
name: John
|
||||||
|
category_id:
|
||||||
|
- res_partner_category_customers0
|
||||||
|
|
||||||
|
-
|
||||||
|
Define the answers and category to partner.
|
||||||
-
|
-
|
||||||
!python {model: res.partner}: |
|
!python {model: res.partner}: |
|
||||||
data ={'form': {'quest_form3': ref("partner_quality3"), 'quest_form2': ref("nb_employees2"),'quest_form1': ref("sector1"),'questionnaire_name': ref('questionnaire1')}, 'ids': [ref('base.res_partner_ericdubois0')], 'report_type': 'pdf', 'model': 'res.partner', 'id': ref('base.res_partner_ericdubois0')}
|
data ={'form': {'questionnaire_name': ref('res_partner_john0')}, 'ids': [ref('res_partner_john0')], 'report_type': 'pdf', 'model': 'res.partner', 'id': ref('res_partner_john0')}
|
||||||
data = self._questionnaire_compute(cr, uid, data, context)
|
context['active_id'] = ref('res_partner_john0')
|
||||||
partner = self.browse(cr, uid, ref('base.res_partner_ericdubois0'))
|
self._questionnaire_compute(cr, uid, [ref('crm_profiling_answer_openerppartner0')], context)
|
||||||
assert partner.category_id[0].id == ref("base.res_partner_category_17"), "Category not assign properly"
|
- |
|
||||||
|
I start by creating new Questionnaire.
|
||||||
|
-
|
||||||
|
!record {model: crm_profiling.questionnaire, id: crm_profiling_questionnaire_basequestionnaire0}:
|
||||||
|
description: First questionnaire.
|
||||||
|
name: Base questionnaire
|
||||||
|
questions_ids:
|
||||||
|
- crm_profiling.activity_sector
|
||||||
|
- crm_profiling.nb_employees
|
||||||
|
- crm_profiling.partner_level
|
||||||
|
-
|
||||||
|
I create a segmentation record.
|
||||||
|
-
|
||||||
|
!record {model: crm.segmentation, id: crm_segmentation_test1}:
|
||||||
|
answer_yes:
|
||||||
|
- crm_profiling_answer_openerppartner0
|
||||||
|
categ_id: res_partner_category_customers0
|
||||||
|
name: test
|
||||||
|
parent_id: crm_profiling.crm_segmentation0
|
||||||
|
profiling_active: true
|
||||||
|
som_interval: 0.0
|
||||||
|
- |
|
||||||
|
I continue the process of segmentation.
|
||||||
|
-
|
||||||
|
!python {model: crm.segmentation}: |
|
||||||
|
self.process_continue(cr, uid, [ref('crm_segmentation_test1')], start=False)
|
||||||
|
|
||||||
|
|
|
@ -18,50 +18,72 @@
|
||||||
# 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 pooler
|
|
||||||
import wizard
|
|
||||||
from tools import UpdateableStr, UpdateableDict
|
|
||||||
|
|
||||||
_QUEST_FORM = UpdateableStr()
|
from osv import osv, fields
|
||||||
_QUEST_FIELDS=UpdateableDict()
|
from tools.translate import _
|
||||||
|
|
||||||
class open_questionnaire(wizard.interface):
|
class open_questionnaire_line(osv.osv_memory):
|
||||||
|
_name = 'open.questionnaire.line'
|
||||||
def _questionnaire_compute(self, cr, uid, data, context):
|
_rec_name = 'question_id'
|
||||||
pooler.get_pool(cr.dbname).get(data['model'])._questionnaire_compute(cr, uid, data, context)
|
_columns = {
|
||||||
return {}
|
'question_id': fields.many2one('crm_profiling.question','Question', required=True),
|
||||||
|
'answer_id': fields.many2one('crm_profiling.answer', 'Answer'),
|
||||||
|
'wizard_id': fields.many2one('open.questionnaire', 'Questionnaire'),
|
||||||
def build_form(self, cr, uid, data, context):
|
|
||||||
quest_form, quest_fields = pooler.get_pool(cr.dbname).get('crm_profiling.questionnaire').build_form(cr, uid, data, context)
|
|
||||||
_QUEST_FORM. __init__(quest_form)
|
|
||||||
_QUEST_FIELDS.__init__(quest_fields)
|
|
||||||
return{}
|
|
||||||
|
|
||||||
_questionnaire_choice_arch = '''<?xml version="1.0"?>
|
|
||||||
<form string="Questionnaire">
|
|
||||||
<field name="questionnaire_name"/>
|
|
||||||
</form>'''
|
|
||||||
|
|
||||||
_questionnaire_choice_fields = {
|
|
||||||
'questionnaire_name': {'string': 'Questionnaire name', 'type': 'many2one', 'relation': 'crm_profiling.questionnaire', 'required': True },
|
|
||||||
}
|
}
|
||||||
|
|
||||||
states = {
|
open_questionnaire_line()
|
||||||
'init': {
|
|
||||||
'actions': [],
|
class open_questionnaire(osv.osv_memory):
|
||||||
'result': {'type': 'form', 'arch': _questionnaire_choice_arch, 'fields': _questionnaire_choice_fields, 'state':[('end', 'Cancel','gtk-cancel'), ('open', 'Open Questionnaire','terp-camera_test')]}
|
_name = 'open.questionnaire'
|
||||||
},
|
_columns = {
|
||||||
'open': {
|
'questionnaire_id': fields.many2one('crm_profiling.questionnaire', 'Questionnaire name'),
|
||||||
'actions': [build_form],
|
'question_ans_ids': fields.one2many('open.questionnaire.line', 'wizard_id', 'Question / Answers'),
|
||||||
'result': {'type': 'form', 'arch':_QUEST_FORM, 'fields': _QUEST_FIELDS, 'state':[('end', 'Cancel','gtk-cancel'), ('compute', 'Save Data','terp-stock_format-scientific')]}
|
|
||||||
},
|
|
||||||
'compute': {
|
|
||||||
'actions': [],
|
|
||||||
'result': {'type': 'action', 'action': _questionnaire_compute, 'state':'end'}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
open_questionnaire('open_questionnaire')
|
def default_get(self, cr, uid, fields, context=None):
|
||||||
|
if context is None: context = {}
|
||||||
|
res = super(open_questionnaire, self).default_get(cr, uid, fields, context=context)
|
||||||
|
questionnaire_id = context.get('questionnaire_id', False)
|
||||||
|
if questionnaire_id and 'question_ans_ids' in fields:
|
||||||
|
query = """
|
||||||
|
select question as question_id from profile_questionnaire_quest_rel where questionnaire = %s"""
|
||||||
|
cr.execute(query, (questionnaire_id,))
|
||||||
|
result = cr.dictfetchall()
|
||||||
|
res.update(question_ans_ids=result)
|
||||||
|
return res
|
||||||
|
|
||||||
|
def questionnaire_compute(self, cr, uid, ids, context=None):
|
||||||
|
""" Adds selected answers in partner form """
|
||||||
|
model = context.get('active_model')
|
||||||
|
answers = []
|
||||||
|
if model == 'res.partner':
|
||||||
|
data = self.browse(cr, uid, ids[0], context=context)
|
||||||
|
for d in data.question_ans_ids:
|
||||||
|
if d.answer_id:
|
||||||
|
answers.append(d.answer_id.id)
|
||||||
|
self.pool.get(model)._questionnaire_compute(cr, uid, answers, context=context)
|
||||||
|
return {'type': 'ir.actions.act_window_close'}
|
||||||
|
|
||||||
|
|
||||||
|
def build_form(self, cr, uid, ids, context=None):
|
||||||
|
""" Dynamically generates form according to selected questionnaire """
|
||||||
|
models_data = self.pool.get('ir.model.data')
|
||||||
|
result = models_data._get_id(cr, uid, 'crm_profiling', 'open_questionnaire_form')
|
||||||
|
res_id = models_data.browse(cr, uid, result, context=context).res_id
|
||||||
|
datas = self.browse(cr, uid, ids[0], context=context)
|
||||||
|
context.update({'questionnaire_id': datas.questionnaire_id.id})
|
||||||
|
|
||||||
|
return {
|
||||||
|
'name': _('Questionnaire'),
|
||||||
|
'view_type': 'form',
|
||||||
|
'view_mode': 'form',
|
||||||
|
'res_model': 'open.questionnaire',
|
||||||
|
'type': 'ir.actions.act_window',
|
||||||
|
'views': [(res_id,'form')],
|
||||||
|
'target': 'new',
|
||||||
|
'context': context
|
||||||
|
}
|
||||||
|
|
||||||
|
open_questionnaire()
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,86 @@
|
||||||
|
<?xml version="1.0" ?>
|
||||||
|
<openerp>
|
||||||
|
<data>
|
||||||
|
|
||||||
|
<record id="view_open_questionnaire_form" model="ir.ui.view">
|
||||||
|
<field name="name">Open Questionnaires</field>
|
||||||
|
<field name="model">open.questionnaire</field>
|
||||||
|
<field name="type">form</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<form string="Questionnaires">
|
||||||
|
<field name="questionnaire_id" required="1"/>
|
||||||
|
<newline/>
|
||||||
|
<separator string="" colspan="4"/>
|
||||||
|
<group col="4" colspan="4">
|
||||||
|
<group col="2" colspan="2"/>
|
||||||
|
<button special="cancel" icon="gtk-cancel" string="Cancel"/>
|
||||||
|
<button name="build_form" string="Open Questionnaire" icon="terp-camera_test" type="object"/>
|
||||||
|
</group>
|
||||||
|
</form>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record model="ir.actions.act_window" id="action_open_questionnaire">
|
||||||
|
<field name="name">Open Questionnaire</field>
|
||||||
|
<field name="res_model">open.questionnaire</field>
|
||||||
|
<field name="view_type">form</field>
|
||||||
|
<field name="view_mode">form</field>
|
||||||
|
<field name="view_id" ref="view_open_questionnaire_form"/>
|
||||||
|
<field name="target">new</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="open_questionnaire_form" model="ir.ui.view">
|
||||||
|
<field name="name">open.questionnaire.form</field>
|
||||||
|
<field name="model">open.questionnaire</field>
|
||||||
|
<field name="type">form</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<form>
|
||||||
|
<separator colspan="4" string="Questionnaire"/>
|
||||||
|
<field name="question_ans_ids" colspan="4" nolabel="1" mode="tree,form" width="550" height="200"/>
|
||||||
|
<separator string="" colspan="4" />
|
||||||
|
<label string="" colspan="2"/>
|
||||||
|
<group col="2" colspan="2">
|
||||||
|
<button icon='gtk-cancel' special="cancel" string="_Cancel" />
|
||||||
|
<button name="questionnaire_compute" string="Save Data" icon="terp-stock_format-scientific" colspan="1" type="object"/>
|
||||||
|
</group>
|
||||||
|
</form>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="view_open_questionnaire_line_tree" model="ir.ui.view">
|
||||||
|
<field name="name">open.questionnaire.line.list</field>
|
||||||
|
<field name="model">open.questionnaire.line</field>
|
||||||
|
<field name="type">tree</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<tree editable="bottom" string="Questionnaire">
|
||||||
|
<field name="question_id"/>
|
||||||
|
<field name="answer_id" domain="[('question_id', '=', question_id)]"/>
|
||||||
|
</tree>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="view_open_questionnaire_line_form" model="ir.ui.view">
|
||||||
|
<field name="name">open.questionnaire.line.form</field>
|
||||||
|
<field name="model">open.questionnaire.line</field>
|
||||||
|
<field name="type">form</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<form string="Questionnaire">
|
||||||
|
<field name="question_id"/>
|
||||||
|
<field name="answer_id" domain="[('question_id', '=', question_id)]"/>
|
||||||
|
</form>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<!-- Questionnaire form view -->
|
||||||
|
<!--<act_window
|
||||||
|
context="{}"
|
||||||
|
id="act_open_questionnaire"
|
||||||
|
name="Using a Questionnaire"
|
||||||
|
res_model="open.questionnaire"
|
||||||
|
src_model="crm_profiling.questionnaire"
|
||||||
|
view_id="view_open_questionnaire_form"
|
||||||
|
target="new"
|
||||||
|
view_mode="form"/>-->
|
||||||
|
|
||||||
|
</data>
|
||||||
|
</openerp>
|
|
@ -3,7 +3,8 @@
|
||||||
<data noupdate="0">
|
<data noupdate="0">
|
||||||
|
|
||||||
<record id="base.group_document_user" model="res.groups">
|
<record id="base.group_document_user" model="res.groups">
|
||||||
<field name="name">Knowledge / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="base.module_category_knowledge_management"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<!-- <record id="group_document_manager" model="res.groups">-->
|
<!-- <record id="group_document_manager" model="res.groups">-->
|
||||||
|
|
|
@ -42,7 +42,6 @@ Note that:
|
||||||
'depends': ['crm', 'base_contact', 'account', 'marketing', 'mail'],
|
'depends': ['crm', 'base_contact', 'account', 'marketing', 'mail'],
|
||||||
'init_xml': [],
|
'init_xml': [],
|
||||||
'update_xml': [
|
'update_xml': [
|
||||||
'security/event_security.xml',
|
|
||||||
'security/ir.model.access.csv',
|
'security/ir.model.access.csv',
|
||||||
'wizard/event_confirm_registration_view.xml',
|
'wizard/event_confirm_registration_view.xml',
|
||||||
'wizard/event_confirm_view.xml',
|
'wizard/event_confirm_view.xml',
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<openerp>
|
|
||||||
<data>
|
|
||||||
|
|
||||||
<record id="marketing.group_marketing_user" model="res.groups">
|
|
||||||
<field name="name">Marketing / User</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="marketing.group_marketing_manager" model="res.groups">
|
|
||||||
<field name="name">Marketing / Manager</field>
|
|
||||||
<field name="implied_ids" eval="[(4, ref('marketing.group_marketing_user'))]"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="base.group_sale_manager" model="res.groups">
|
|
||||||
<field name="name">Sales / Manager</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="base.group_sale_salesman" model="res.groups">
|
|
||||||
<field name="name">Sales / User</field>
|
|
||||||
</record>
|
|
||||||
</data>
|
|
||||||
</openerp>
|
|
||||||
|
|
|
@ -3,11 +3,13 @@
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
|
||||||
<record id="base.group_hr_user" model="res.groups">
|
<record id="base.group_hr_user" model="res.groups">
|
||||||
<field name="name">Human Resources / HR Officer</field>
|
<field name="name">HR Officer</field>
|
||||||
|
<field name="category_id" ref="base.module_category_human_resources"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="base.group_hr_manager" model="res.groups">
|
<record id="base.group_hr_manager" model="res.groups">
|
||||||
<field name="name">Human Resources / HR Manager</field>
|
<field name="name">HR Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_human_resources"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('base.group_hr_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('base.group_hr_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="hr_dept_comp_rule" model="ir.rule">
|
<record id="hr_dept_comp_rule" model="ir.rule">
|
||||||
|
|
|
@ -62,8 +62,9 @@ re-invoice your customer's expenses if your work by project.
|
||||||
'demo_xml': [
|
'demo_xml': [
|
||||||
'hr_expense_demo.xml',
|
'hr_expense_demo.xml',
|
||||||
],
|
],
|
||||||
'test': ['test/test_hr_expense.yml',
|
'test': [
|
||||||
'test/hr_expense_report.yml',
|
'test/expense_demo.yml',
|
||||||
|
'test/expense_process.yml',
|
||||||
],
|
],
|
||||||
'installable': True,
|
'installable': True,
|
||||||
'active': False,
|
'active': False,
|
||||||
|
|
|
@ -87,6 +87,7 @@ class hr_expense_expense(osv.osv):
|
||||||
\nIf the admin accepts it, the state is \'Accepted\'.\n If an invoice is made for the expense request, the state is \'Invoiced\'.\n If the expense is paid to user, the state is \'Reimbursed\'.'),
|
\nIf the admin accepts it, the state is \'Accepted\'.\n If an invoice is made for the expense request, the state is \'Invoiced\'.\n If the expense is paid to user, the state is \'Reimbursed\'.'),
|
||||||
}
|
}
|
||||||
_defaults = {
|
_defaults = {
|
||||||
|
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'hr.employee', context=c),
|
||||||
'date': lambda *a: time.strftime('%Y-%m-%d'),
|
'date': lambda *a: time.strftime('%Y-%m-%d'),
|
||||||
'state': 'draft',
|
'state': 'draft',
|
||||||
'employee_id': _employee_get,
|
'employee_id': _employee_get,
|
||||||
|
|
|
@ -9,17 +9,5 @@
|
||||||
<field name="name">Expenses</field>
|
<field name="name">Expenses</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="product_product_expense_car" model="product.product">
|
|
||||||
<field name="list_price">0.32</field>
|
|
||||||
<field name="standard_price">0.32</field>
|
|
||||||
<field name="uom_id" ref="product.product_uom_km"/>
|
|
||||||
<field name="uom_po_id" ref="product.product_uom_km"/>
|
|
||||||
<field name="type">consu</field>
|
|
||||||
<field name="name">Travel Expenses</field>
|
|
||||||
<field name="default_code">TRA</field>
|
|
||||||
<field name="categ_id" ref="hr_expense.cat_expense"/>
|
|
||||||
<field name="hr_expense_ok" eval="True" />
|
|
||||||
</record>
|
|
||||||
|
|
||||||
</data>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
|
@ -2,95 +2,88 @@
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
|
||||||
<record id="product_product_expense_air" model="product.product">
|
<record id="hr.employee4" model="hr.employee">
|
||||||
<field name="list_price">1.0</field>
|
<field name="address_home_id" ref="base.res_partner_address_1"/>
|
||||||
<field name="standard_price">1.0</field>
|
</record>
|
||||||
<field name="uom_id" ref="product.product_uom_unit"/>
|
|
||||||
<field name="uom_po_id" ref="product.product_uom_unit"/>
|
<record id="car_travel" model="product.product">
|
||||||
|
<field name="list_price">0.32</field>
|
||||||
|
<field name="type">service</field>
|
||||||
|
<field name="name">Car Travel Expenses</field>
|
||||||
|
<field name="default_code">CarTRA</field>
|
||||||
|
<field name="categ_id" ref="hr_expense.cat_expense"/>
|
||||||
|
<field name="hr_expense_ok" eval="True" />
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="air_ticket" model="product.product">
|
||||||
|
<field name="list_price">700.0</field>
|
||||||
<field name="type">service</field>
|
<field name="type">service</field>
|
||||||
<field name="name">Air Ticket</field>
|
<field name="name">Air Ticket</field>
|
||||||
<field name="default_code">AT</field>
|
<field name="default_code">AT</field>
|
||||||
<field name="categ_id" ref="product.cat2"/>
|
<field name="categ_id" ref="hr_expense.cat_expense"/>
|
||||||
<field name="hr_expense_ok" eval="True" />
|
<field name="hr_expense_ok" eval="True" />
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="product_product_expense_hotel" model="product.product">
|
<record id="hotel_rent" model="product.product">
|
||||||
<field name="list_price">1.0</field>
|
<field name="list_price">400.0</field>
|
||||||
<field name="standard_price">1.0</field>
|
|
||||||
<field name="uom_id" ref="product.product_uom_unit"/>
|
|
||||||
<field name="uom_po_id" ref="product.product_uom_unit"/>
|
|
||||||
<field name="type">service</field>
|
<field name="type">service</field>
|
||||||
<field name="name">Hotel Accommodation</field>
|
<field name="name">Hotel Accommodation</field>
|
||||||
<field name="default_code">HA0</field>
|
<field name="default_code">HA0</field>
|
||||||
<field name="categ_id" ref="product.cat2"/>
|
<field name="categ_id" ref="hr_expense.cat_expense"/>
|
||||||
<field name="hr_expense_ok" eval="True" />
|
<field name="hr_expense_ok" eval="True" />
|
||||||
</record>
|
</record>
|
||||||
|
<record id="expenses0" model="hr.expense.expense">
|
||||||
<record id="hr_expense_expense_septemberexpenses0" model="hr.expense.expense">
|
<field name="name">Expenses</field>
|
||||||
<field name="currency_id" ref="base.EUR"/>
|
<field name="date" eval="time.strftime('%Y-08-25')"/>
|
||||||
<field name="employee_id" ref="hr.employee1"/>
|
</record>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<record id="expenses_line0" model="hr.expense.line">
|
||||||
<field name="name">May Expenses</field>
|
<field name="name">Travel Expenses</field>
|
||||||
<field name="company_id" ref="base.main_company"/>
|
<field name="date_value" eval="time.strftime('%Y-08-10')"/>
|
||||||
<field name="date" eval="time.strftime('%Y-%m-03')"/>
|
<field name="analytic_account" ref="account.analytic_consultancy"/>
|
||||||
<field name="state">draft</field>
|
<field name="expense_id" ref="expenses0"/>
|
||||||
|
<field eval="200.0" name="unit_amount"/>
|
||||||
|
<field name="uom_id" ref="product.product_uom_unit"/>
|
||||||
|
<field eval="1.0" name="unit_quantity"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="hr_expense_line_travelbycarcustomerseagatedouble0" model="hr.expense.line">
|
<record id="sep_expenses" model="hr.expense.expense">
|
||||||
|
<field name="employee_id" ref="hr.employee4"/>
|
||||||
|
<field name="name">September Expenses</field>
|
||||||
|
<field name="date" eval="time.strftime('%Y-09-28')"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="travel_by_air_sep" model="hr.expense.line">
|
||||||
<field name="name">Travel by Air</field>
|
<field name="name">Travel by Air</field>
|
||||||
<field name="date_value" eval="time.strftime('%Y-%m-03')"/>
|
<field name="date_value" eval="time.strftime('%Y-09-03')"/>
|
||||||
<field name="analytic_account" ref="account.analytic_consultancy"/>
|
<field name="analytic_account" ref="account.analytic_consultancy"/>
|
||||||
<field name="product_id" ref="product_product_expense_air"/>
|
<field name="product_id" ref="air_ticket"/>
|
||||||
<field model="hr.expense.expense" name="expense_id" search="[('name', '=', u'May Expenses')]"/>
|
<field name="expense_id" ref="sep_expenses"/>
|
||||||
<field eval="700.0" name="unit_amount"/>
|
<field eval="700.0" name="unit_amount"/>
|
||||||
<field name="uom_id" ref="product.product_uom_unit"/>
|
<field name="uom_id" ref="product.product_uom_unit"/>
|
||||||
<field eval="1.0" name="unit_quantity"/>
|
<field eval="1.0" name="unit_quantity"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="hr_expense_line_basicpcserverforseagate0" model="hr.expense.line">
|
<record id="hotel_bill_sep" model="hr.expense.line">
|
||||||
<field name="name">Basic PC - Server for Seagate</field>
|
|
||||||
<field name="date_value" eval="time.strftime('%Y-%m-03')"/>
|
|
||||||
<field name="analytic_account" ref="account.analytic_seagate_p2"/>
|
|
||||||
<field name="product_id" ref="product.product_product_pc4"/>
|
|
||||||
<field model="hr.expense.expense" name="expense_id" search="[('name', '=', u'May Expenses')]"/>
|
|
||||||
<field eval="1200.0" name="unit_amount"/>
|
|
||||||
<field name="uom_id" ref="product.product_uom_unit"/>
|
|
||||||
<field eval="1.0" name="unit_quantity"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
</data>
|
|
||||||
|
|
||||||
<data noupdate="1">
|
|
||||||
<record id="hr_expense_expense_septemberexpenses1" model="hr.expense.expense">
|
|
||||||
<field name="currency_id" ref="base.EUR"/>
|
|
||||||
<field name="employee_id" ref="hr.employee1"/>
|
|
||||||
<field name="user_id" ref="base.user_root"/>
|
|
||||||
<field name="name">Travel Expenses</field>
|
|
||||||
<field name="company_id" ref="base.main_company"/>
|
|
||||||
<field name="date" eval="time.strftime('%Y-%m-20')"/>
|
|
||||||
<field name="state">draft</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="hr_expense_line_hotelexpensesthymbra0" model="hr.expense.line">
|
|
||||||
<field name="name">Hotel Expenses - Thymbra</field>
|
<field name="name">Hotel Expenses - Thymbra</field>
|
||||||
<field name="date_value" eval="time.strftime('%Y-%m-03')"/>
|
<field name="date_value" eval="time.strftime('%Y-09-20')"/>
|
||||||
<field name="analytic_account" ref="account.analytic_thymbra"/>
|
<field name="analytic_account" ref="account.analytic_thymbra"/>
|
||||||
<field name="product_id" ref="product_product_expense_hotel"/>
|
<field name="product_id" ref="hotel_rent"/>
|
||||||
<field model="hr.expense.expense" name="expense_id" search="[('name', '=', u'Travel Expenses')]"/>
|
<field name="expense_id" ref="sep_expenses"/>
|
||||||
<field eval="400.0" name="unit_amount"/>
|
<field eval="400.0" name="unit_amount"/>
|
||||||
<field name="uom_id" ref="product.product_uom_unit"/>
|
<field name="uom_id" ref="product.product_uom_unit"/>
|
||||||
<field eval="5.0" name="unit_quantity"/>
|
<field eval="5.0" name="unit_quantity"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="hr_expense_line_car_travel" model="hr.expense.line">
|
<record id="car_travel_sep" model="hr.expense.line">
|
||||||
<field name="name">Bruxelles - Paris</field>
|
<field name="name">Bruxelles - Paris</field>
|
||||||
<field name="date_value" eval="time.strftime('%Y-%m-03')"/>
|
<field name="date_value" eval="time.strftime('%Y-09-15')"/>
|
||||||
<field name="analytic_account" ref="account.analytic_thymbra"/>
|
<field name="analytic_account" ref="account.analytic_thymbra"/>
|
||||||
<field name="product_id" ref="product_product_expense_car"/>
|
<field name="product_id" ref="car_travel"/>
|
||||||
<field model="hr.expense.expense" name="expense_id" search="[('name', '=', u'Travel Expenses')]"/>
|
<field name="expense_id" ref="sep_expenses"/>
|
||||||
<field eval="0.30" name="unit_amount"/>
|
<field eval="0.30" name="unit_amount"/>
|
||||||
<field name="uom_id" ref="product.product_uom_km"/>
|
<field name="uom_id" ref="product.product_uom_km"/>
|
||||||
<field eval="622.0" name="unit_quantity"/>
|
<field eval="622.0" name="unit_quantity"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</data>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
-
|
||||||
|
!record {model: hr.expense.expense, id: sep_expenses}:
|
||||||
|
employee_id: hr.employee4
|
||||||
|
name : 'John Smith'
|
||||||
|
-
|
||||||
|
!record {model: product.product, id: car_travel}:
|
||||||
|
hr_expense_ok: 'True'
|
||||||
|
-
|
||||||
|
!record {model: hr.expense.line, id: expense_line}:
|
||||||
|
product_id: car_travel
|
||||||
|
name: 'Car Travel Expenses'
|
|
@ -0,0 +1,60 @@
|
||||||
|
-
|
||||||
|
In order to test the process of "Employee Expenses" by processing the expenses, I confirm Expense Bill of an employee for September month.
|
||||||
|
-
|
||||||
|
!workflow {model: hr.expense.expense, action: confirm, ref: sep_expenses}
|
||||||
|
-
|
||||||
|
I check that state is 'Confirm'.
|
||||||
|
-
|
||||||
|
!assert {model: hr.expense.expense, id: sep_expenses, severity: error, string: Expense should be in Confirm state}:
|
||||||
|
- state == 'confirm'
|
||||||
|
-
|
||||||
|
I approve the September expenses.
|
||||||
|
-
|
||||||
|
!workflow {model: hr.expense.expense, action: validate, ref: sep_expenses}
|
||||||
|
-
|
||||||
|
I check that state is 'Approved'
|
||||||
|
-
|
||||||
|
!assert {model: hr.expense.expense, id: sep_expenses, severity: error, string: Expense should be in Approved state}:
|
||||||
|
- state == 'accepted'
|
||||||
|
-
|
||||||
|
I make Invoice for the expense.
|
||||||
|
-
|
||||||
|
!python {model: hr.expense.expense}: |
|
||||||
|
self.invoice(cr, uid, [ref('sep_expenses')])
|
||||||
|
-
|
||||||
|
I check invoice details.
|
||||||
|
-
|
||||||
|
!python {model: hr.expense.expense}: |
|
||||||
|
sep_expenses = self.browse(cr, uid, ref("sep_expenses"), context=context)
|
||||||
|
assert sep_expenses.state == 'invoiced', "Expense should be in 'Invoiced' state."
|
||||||
|
assert sep_expenses.invoice_id, "Expense should have link of Invoice."
|
||||||
|
assert sep_expenses.invoice_id.currency_id == sep_expenses.currency_id,"Invoice currency is not correspond with supplier invoice currency"
|
||||||
|
assert sep_expenses.invoice_id.origin == sep_expenses.name,"Invoice origin is not correspond with supplier invoice"
|
||||||
|
assert sep_expenses.invoice_id.type == 'in_invoice', "Invoice type is not supplier invoice"
|
||||||
|
assert sep_expenses.invoice_id.amount_total == sep_expenses.amount,"Invoice total amount is not correspond with supplier invoice total"
|
||||||
|
assert len(sep_expenses.invoice_id.invoice_line) == len(sep_expenses.line_ids),"Lines of Invoice and supplier invoice Line are not correspond"
|
||||||
|
#TODO: check invoice line details with Expenses lines
|
||||||
|
-
|
||||||
|
I pay the expenses.
|
||||||
|
-
|
||||||
|
!python {model: hr.expense.expense}: |
|
||||||
|
self.expense_paid(cr, uid, [ref('sep_expenses')])
|
||||||
|
-
|
||||||
|
I check that state of expenses is 'Paid'.
|
||||||
|
-
|
||||||
|
!assert {model: hr.expense.expense, id: sep_expenses, severity: error, string: Expense should be in Paid state}:
|
||||||
|
- state == 'paid'
|
||||||
|
-
|
||||||
|
I duplicate the expenses and cancel duplicated.
|
||||||
|
-
|
||||||
|
!python {model: hr.expense.expense}: |
|
||||||
|
duplicate_id = self.copy(cr, uid, ref('sep_expenses'), context=context)
|
||||||
|
self.expense_canceled(cr, uid, [duplicate_id])
|
||||||
|
-
|
||||||
|
I print a report of the expenses.
|
||||||
|
-
|
||||||
|
!python {model: hr.expense.expense}: |
|
||||||
|
import netsvc, tools, os
|
||||||
|
(data, format) = netsvc.LocalService('report.hr.expense').create(cr, uid, [ref('hr_expense.sep_expenses')], {}, {})
|
||||||
|
if tools.config['test_report_directory']:
|
||||||
|
file(os.path.join(tools.config['test_report_directory'], 'hr_expense-report.'+format), 'wb+').write(data)
|
|
@ -1,8 +0,0 @@
|
||||||
-
|
|
||||||
In order to test the PDF reports defined on a HR Expense, we will print a HR Expense
|
|
||||||
-
|
|
||||||
!python {model: hr.expense.expense}: |
|
|
||||||
import netsvc, tools, os
|
|
||||||
(data, format) = netsvc.LocalService('report.hr.expense').create(cr, uid, [ref('hr_expense.hr_expense_expense_septemberexpenses0'),ref('hr_expense.hr_expense_expense_septemberexpenses1')], {}, {})
|
|
||||||
if tools.config['test_report_directory']:
|
|
||||||
file(os.path.join(tools.config['test_report_directory'], 'hr_expense-report.'+format), 'wb+').write(data)
|
|
|
@ -1,121 +0,0 @@
|
||||||
-
|
|
||||||
In order to test hr_expenses for OpenERP, I create expenses for employee and manage employee's expenses.
|
|
||||||
-
|
|
||||||
I create an unit of measure category "Working Time".
|
|
||||||
-
|
|
||||||
!record {model: product.uom.categ, id: product_uom_categ_workingtime0}:
|
|
||||||
name: Working Time.
|
|
||||||
|
|
||||||
-
|
|
||||||
I create a new employee.
|
|
||||||
-
|
|
||||||
!record {model: hr.employee, id: hr.employee}:
|
|
||||||
address_home_id: base.res_partner_address_1
|
|
||||||
address_id: base.main_address
|
|
||||||
-
|
|
||||||
I assign home address to employee.
|
|
||||||
-
|
|
||||||
!record {model: hr.employee, id: hr.employee1}:
|
|
||||||
address_home_id: base.res_partner_address_1
|
|
||||||
address_id: base.main_address
|
|
||||||
-
|
|
||||||
I create product unit of measure "Hour".
|
|
||||||
-
|
|
||||||
!record {model: product.uom, id: product_uom_hour0}:
|
|
||||||
category_id: 'product_uom_categ_workingtime0'
|
|
||||||
factor: 8.0
|
|
||||||
name: Hour
|
|
||||||
rounding: 0.01
|
|
||||||
-
|
|
||||||
I Create a product "travel".
|
|
||||||
-
|
|
||||||
!record {model: product.product, id: product_product_travel0}:
|
|
||||||
categ_id: product.product_category_services
|
|
||||||
cost_method: standard
|
|
||||||
list_price: 800.0
|
|
||||||
mes_type: fixed
|
|
||||||
name: Travel
|
|
||||||
procure_method: make_to_stock
|
|
||||||
standard_price: 700.0
|
|
||||||
supply_method: buy
|
|
||||||
type: product
|
|
||||||
uom_id: 'product_uom_hour0'
|
|
||||||
uom_po_id: 'product_uom_hour0'
|
|
||||||
volume: 0.0
|
|
||||||
warranty: 0.0
|
|
||||||
weight: 0.0
|
|
||||||
weight_net: 0.0
|
|
||||||
-
|
|
||||||
I mark this product for expenses.
|
|
||||||
-
|
|
||||||
!python {model: product.product}: |
|
|
||||||
self.on_change_hr_expense_ok(cr, uid, [ref('product_product_travel0')], True)
|
|
||||||
-
|
|
||||||
I create an expense.
|
|
||||||
-
|
|
||||||
!record {model: hr.expense.expense, id: hr_expense_expense_september0}:
|
|
||||||
company_id: base.main_company
|
|
||||||
date: !eval "'%s-05-05' %(datetime.now().year)"
|
|
||||||
name: September Expenses
|
|
||||||
line_ids:
|
|
||||||
- date_value: !eval "'%s-05-27' %(datetime.now().year)"
|
|
||||||
name: Travel
|
|
||||||
product_id: 'product_product_travel0'
|
|
||||||
sequence: 0.0
|
|
||||||
uom_id: product.product_uom_unit
|
|
||||||
unit_amount: 700.0
|
|
||||||
user_id: base.user_root
|
|
||||||
-
|
|
||||||
I check that expense is in "Draft" state.
|
|
||||||
-
|
|
||||||
!assert {model: hr.expense.expense, id: hr_expense_expense_september0}:
|
|
||||||
- state == 'draft'
|
|
||||||
-
|
|
||||||
I change the employee on expense form.
|
|
||||||
-
|
|
||||||
!python {model: hr.expense.expense}: |
|
|
||||||
res = self.onchange_employee_id(cr, uid, [ref('hr_expense_expense_september0')], ref('hr.employee1'), None)
|
|
||||||
values = dict([('employee_id', ref('hr.employee1'))] + res['value'].items())
|
|
||||||
self.write(cr, uid, [ref('hr_expense_expense_september0')], values, None)
|
|
||||||
-
|
|
||||||
Now I change the related product on expense line.
|
|
||||||
-
|
|
||||||
!python {model: hr.expense.expense}: |
|
|
||||||
exp_line_obj = self.pool.get('hr.expense.line')
|
|
||||||
exp_obj = self.browse(cr, uid, ref('hr_expense_expense_september0'), None)
|
|
||||||
line_ids = [line.id for line in exp_obj.line_ids]
|
|
||||||
res = exp_line_obj.onchange_product_id(cr, uid, line_ids, ref('product_product_expense_air'), False, ref('hr.employee1'), None)
|
|
||||||
values = dict([('product_id', ref('product_product_expense_air'))] + res['value'].items())
|
|
||||||
exp_line_obj.write(cr, uid, line_ids, values, None)
|
|
||||||
-
|
|
||||||
I confirm this expenses by click on "Confirm" button.
|
|
||||||
-
|
|
||||||
!workflow {model: hr.expense.expense, action: confirm, ref: hr_expense_expense_september0}
|
|
||||||
|
|
||||||
-
|
|
||||||
I check that state is "Waiting Confirmation".
|
|
||||||
-
|
|
||||||
!assert {model: hr.expense.expense, id: hr_expense_expense_september0}:
|
|
||||||
- state == 'confirm'
|
|
||||||
-
|
|
||||||
I accept this expense by click on "Accept" button.
|
|
||||||
-
|
|
||||||
!workflow {model: hr.expense.expense, action: validate, ref: hr_expense_expense_september0}
|
|
||||||
|
|
||||||
-
|
|
||||||
I invoiced this expense by click on "Invoice" button.
|
|
||||||
-
|
|
||||||
!python {model: hr.expense.expense}: |
|
|
||||||
self.invoice(cr, uid, [ref('hr_expense_expense_september0')], None)
|
|
||||||
-
|
|
||||||
I check that state is "Invoiced".
|
|
||||||
-
|
|
||||||
!assert {model: hr.expense.expense, id: hr_expense_expense_september0}:
|
|
||||||
- state == 'invoiced'
|
|
||||||
-
|
|
||||||
I check that Invoice is created for the expense.
|
|
||||||
-
|
|
||||||
!python {model: hr.expense.expense}: |
|
|
||||||
exp = self.browse(cr, uid, [ref('hr_expense_expense_september0')])[0]
|
|
||||||
assert exp.invoice_id, "Invoice should be created"
|
|
||||||
|
|
|
@ -3,10 +3,12 @@
|
||||||
<data>
|
<data>
|
||||||
|
|
||||||
<record model="res.groups" id="base.group_tool_user">
|
<record model="res.groups" id="base.group_tool_user">
|
||||||
<field name="name">Tools / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="base.module_category_tools"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="res.groups" id="base.group_tool_manager">
|
<record model="res.groups" id="base.group_tool_manager">
|
||||||
<field name="name">Tools / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_tools"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('base.group_tool_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('base.group_tool_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="0">
|
<data noupdate="0">
|
||||||
<record id="base.group_sale_manager" model="res.groups">
|
|
||||||
<field name="name">Sales / Manager</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="base.group_document_user" model="res.groups">
|
<record id="base.group_document_user" model="res.groups">
|
||||||
<field name="name">Knowledge / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="base.module_category_knowledge_management"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
"version" : "1.0",
|
"version" : "1.0",
|
||||||
"author" : "conexus.at",
|
"author" : "conexus.at",
|
||||||
"website" : "http://www.conexus.at",
|
"website" : "http://www.conexus.at",
|
||||||
"category" : "Localization",
|
"category" : "Localization/Account Charts",
|
||||||
"depends" : ["account_chart", 'base_vat'],
|
"depends" : ["account_chart", 'base_vat'],
|
||||||
"description": "This module provides the standard Accounting Chart for Austria which is based on the Template from BMF.gv.at. Please keep in mind that you should review and adapt it with your Accountant, before using it in a live Environment.",
|
"description": "This module provides the standard Accounting Chart for Austria which is based on the Template from BMF.gv.at. Please keep in mind that you should review and adapt it with your Accountant, before using it in a live Environment.",
|
||||||
"demo_xml" : [],
|
"demo_xml" : [],
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
##############################################################################
|
##############################################################################
|
||||||
{ 'name': 'Belgium - Accounting',
|
{ 'name': 'Belgium - Accounting',
|
||||||
'version': '1.1',
|
'version': '1.1',
|
||||||
'category': 'Localization',
|
'category': 'Localization/Account Charts',
|
||||||
'description': """
|
'description': """
|
||||||
This is the base module to manage the accounting chart for Belgium in OpenERP.
|
This is the base module to manage the accounting chart for Belgium in OpenERP.
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
'name': 'Brazilian - Accounting',
|
'name': 'Brazilian - Accounting',
|
||||||
'category': 'Localization',
|
'category': 'Localization/Account Charts',
|
||||||
'description': """
|
'description': """
|
||||||
Base module for the Brazilian localization
|
Base module for the Brazilian localization
|
||||||
==========================================
|
==========================================
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
"version" : "1.0",
|
"version" : "1.0",
|
||||||
"author" : "Savoir-faire Linux",
|
"author" : "Savoir-faire Linux",
|
||||||
"website" : "http://www.savoirfairelinux.com",
|
"website" : "http://www.savoirfairelinux.com",
|
||||||
"category" : "Localization",
|
"category" : "Localization/Account Charts",
|
||||||
"description": """
|
"description": """
|
||||||
This is the module to manage the English and French - Canadian accounting chart in OpenERP.
|
This is the module to manage the English and French - Canadian accounting chart in OpenERP.
|
||||||
===========================================================================================
|
===========================================================================================
|
||||||
|
|
|
@ -63,7 +63,7 @@ TODO :
|
||||||
""",
|
""",
|
||||||
"version" : "6.1",
|
"version" : "6.1",
|
||||||
"author" : "Camptocamp",
|
"author" : "Camptocamp",
|
||||||
'category': 'Localization',
|
'category': 'Localization/Account Charts',
|
||||||
"website": "http://www.camptocamp.com",
|
"website": "http://www.camptocamp.com",
|
||||||
|
|
||||||
"depends" : [
|
"depends" : [
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
{
|
{
|
||||||
"name" : "中国会计科目表 - Accounting",
|
"name" : "中国会计科目表 - Accounting",
|
||||||
"version" : "1.0",
|
"version" : "1.0",
|
||||||
"category": "Localization",
|
"category": "Localization/Account Charts",
|
||||||
"author" : "openerp-china.org",
|
"author" : "openerp-china.org",
|
||||||
"maintainer":"openerp-china.org",
|
"maintainer":"openerp-china.org",
|
||||||
"website":"http://openerp-china.org",
|
"website":"http://openerp-china.org",
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
'url': 'http://launchpad.net/openerp-costa-rica',
|
'url': 'http://launchpad.net/openerp-costa-rica',
|
||||||
'author': 'ClearCorp S.A.',
|
'author': 'ClearCorp S.A.',
|
||||||
'website': 'http://clearcorp.co.cr',
|
'website': 'http://clearcorp.co.cr',
|
||||||
'category': 'Localization',
|
'category': 'Localization/Account Charts',
|
||||||
'description': """
|
'description': """
|
||||||
Chart of accounts for Costa Rica.
|
Chart of accounts for Costa Rica.
|
||||||
=================================
|
=================================
|
||||||
|
|
|
@ -125,7 +125,7 @@
|
||||||
"version" : "1.0",
|
"version" : "1.0",
|
||||||
"author" : "openbig.org",
|
"author" : "openbig.org",
|
||||||
"website" : "http://www.openbig.org",
|
"website" : "http://www.openbig.org",
|
||||||
"category" : "Localization",
|
"category" : "Localization/Account Charts",
|
||||||
"description": """
|
"description": """
|
||||||
Dieses Modul beinhaltet einen deutschen Kontenrahmen basierend auf dem SKR03.
|
Dieses Modul beinhaltet einen deutschen Kontenrahmen basierend auf dem SKR03.
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
{
|
{
|
||||||
'name': 'Ecuador - Accounting',
|
'name': 'Ecuador - Accounting',
|
||||||
'version': '1.1',
|
'version': '1.1',
|
||||||
'category': 'Localization',
|
'category': 'Localization/Account Charts',
|
||||||
'description': """
|
'description': """
|
||||||
This is the base module to manage the accounting chart for Ecuador in OpenERP.
|
This is the base module to manage the accounting chart for Ecuador in OpenERP.
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
"version" : "3.0",
|
"version" : "3.0",
|
||||||
"author" : "Spanish Localization Team",
|
"author" : "Spanish Localization Team",
|
||||||
'website' : 'https://launchpad.net/openerp-spain',
|
'website' : 'https://launchpad.net/openerp-spain',
|
||||||
"category" : "Localization",
|
"category" : "Localization/Account Charts",
|
||||||
"description": """
|
"description": """
|
||||||
Spanish Charts of Accounts (PGCE 2008).
|
Spanish Charts of Accounts (PGCE 2008).
|
||||||
=======================================
|
=======================================
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
"version" : "1.0",
|
"version" : "1.0",
|
||||||
"author" : "OpenERP SA",
|
"author" : "OpenERP SA",
|
||||||
"website": "http://www.openerp.com",
|
"website": "http://www.openerp.com",
|
||||||
"category" : "Localization",
|
"category" : "Localization/Account Charts",
|
||||||
"description": """
|
"description": """
|
||||||
This is the module to manage the accounting chart for France in OpenERP.
|
This is the module to manage the accounting chart for France in OpenERP.
|
||||||
========================================================================
|
========================================================================
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
"version" : "0.2",
|
"version" : "0.2",
|
||||||
"author" : "P. Christeas, OpenERP SA.",
|
"author" : "P. Christeas, OpenERP SA.",
|
||||||
"website": "http://openerp.hellug.gr/",
|
"website": "http://openerp.hellug.gr/",
|
||||||
"category" : "Localization",
|
"category" : "Localization/Account Charts",
|
||||||
"description": """
|
"description": """
|
||||||
This is the base module to manage the accounting chart for Greece.
|
This is the base module to manage the accounting chart for Greece.
|
||||||
==================================================================
|
==================================================================
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
{
|
{
|
||||||
'name': 'Guatemala - Accounting',
|
'name': 'Guatemala - Accounting',
|
||||||
'version': '3.0',
|
'version': '3.0',
|
||||||
'category': 'Localization',
|
'category': 'Localization/Account Charts',
|
||||||
'description': """
|
'description': """
|
||||||
This is the base module to manage the accounting chart for Guatemala.
|
This is the base module to manage the accounting chart for Guatemala.
|
||||||
=====================================================================
|
=====================================================================
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
{
|
{
|
||||||
'name': 'Honduras - Accounting',
|
'name': 'Honduras - Accounting',
|
||||||
'version': '0.1',
|
'version': '0.1',
|
||||||
'category': 'Localization',
|
'category': 'Localization/Account Charts',
|
||||||
'description': """Agrega una nomenclatura contable para Honduras. También incluye impuestos y la moneda Lempira. -- Adds accounting chart for Honduras. It also includes taxes and the Lempira currency""",
|
'description': """Agrega una nomenclatura contable para Honduras. También incluye impuestos y la moneda Lempira. -- Adds accounting chart for Honduras. It also includes taxes and the Lempira currency""",
|
||||||
'author': 'Salvatore Josue Trimarchi Pinto',
|
'author': 'Salvatore Josue Trimarchi Pinto',
|
||||||
'website': 'http://trimarchi.co.cc',
|
'website': 'http://trimarchi.co.cc',
|
||||||
|
|
|
@ -29,7 +29,7 @@ Indian Accounting : Chart of Account.
|
||||||
Indian accounting chart and localization.
|
Indian accounting chart and localization.
|
||||||
""",
|
""",
|
||||||
"author": ['OpenERP SA', 'Axelor'],
|
"author": ['OpenERP SA', 'Axelor'],
|
||||||
"category": "Localization",
|
"category": "Localization/Account Charts",
|
||||||
"depends": [
|
"depends": [
|
||||||
"account",
|
"account",
|
||||||
"account_chart"
|
"account_chart"
|
||||||
|
|
|
@ -39,7 +39,7 @@ Piano dei conti italiano di un'impresa generica.
|
||||||
Italian accounting chart and localization.
|
Italian accounting chart and localization.
|
||||||
""",
|
""",
|
||||||
"license": "AGPL-3",
|
"license": "AGPL-3",
|
||||||
"category" : "Localization",
|
"category" : "Localization/Account Charts",
|
||||||
'website': 'http://www.openerp-italia.org/',
|
'website': 'http://www.openerp-italia.org/',
|
||||||
'init_xml': [
|
'init_xml': [
|
||||||
],
|
],
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
{
|
{
|
||||||
'name': 'Luxembourg - Accounting',
|
'name': 'Luxembourg - Accounting',
|
||||||
'version': '1.0',
|
'version': '1.0',
|
||||||
'category': 'Localization',
|
'category': 'Localization/Account Charts',
|
||||||
'description': """
|
'description': """
|
||||||
This is the base module to manage the accounting chart for Luxembourg.
|
This is the base module to manage the accounting chart for Luxembourg.
|
||||||
======================================================================
|
======================================================================
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
"name" : "Maroc - Accounting",
|
"name" : "Maroc - Accounting",
|
||||||
"version" : "1.0",
|
"version" : "1.0",
|
||||||
"author" : "kazacube",
|
"author" : "kazacube",
|
||||||
"category" : "Localization",
|
"category" : "Localization/Account Charts",
|
||||||
"description": """
|
"description": """
|
||||||
This is the base module to manage the accounting chart for Maroc.
|
This is the base module to manage the accounting chart for Maroc.
|
||||||
=================================================================
|
=================================================================
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
"name" : "Mexico - Accounting",
|
"name" : "Mexico - Accounting",
|
||||||
"version" : "1.0",
|
"version" : "1.0",
|
||||||
"author" : "RelTek Mexico",
|
"author" : "RelTek Mexico",
|
||||||
"category" : "Localization",
|
"category" : "Localization/Account Charts",
|
||||||
"description": """
|
"description": """
|
||||||
This is the module to manage the accounting chart for Mexico in OpenERP.
|
This is the module to manage the accounting chart for Mexico in OpenERP.
|
||||||
========================================================================
|
========================================================================
|
||||||
|
|
|
@ -88,7 +88,7 @@
|
||||||
{
|
{
|
||||||
"name" : "Netherlands - Accounting",
|
"name" : "Netherlands - Accounting",
|
||||||
"version" : "1.5",
|
"version" : "1.5",
|
||||||
"category": "Localization",
|
"category": "Localization/Account Charts",
|
||||||
"description": """
|
"description": """
|
||||||
This is the module to manage the accounting chart for Netherlands in OpenERP.
|
This is the module to manage the accounting chart for Netherlands in OpenERP.
|
||||||
=============================================================================
|
=============================================================================
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
"version" : "1.0",
|
"version" : "1.0",
|
||||||
"author" : "Grzegorz Grzelak (Cirrus)",
|
"author" : "Grzegorz Grzelak (Cirrus)",
|
||||||
"website": "http://www.cirrus.pl",
|
"website": "http://www.cirrus.pl",
|
||||||
"category" : "Localization",
|
"category" : "Localization/Account Charts",
|
||||||
"description": """
|
"description": """
|
||||||
This is the module to manage the accounting chart and taxes for Poland in OpenERP.
|
This is the module to manage the accounting chart and taxes for Poland in OpenERP.
|
||||||
==================================================================================
|
==================================================================================
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
"version" : "1.1",
|
"version" : "1.1",
|
||||||
"author" : "filsys",
|
"author" : "filsys",
|
||||||
"website": "http://www.filsystem.ro",
|
"website": "http://www.filsystem.ro",
|
||||||
"category" : "Localization",
|
"category" : "Localization/Account Charts",
|
||||||
"depends" : ["account_chart", 'base_vat'],
|
"depends" : ["account_chart", 'base_vat'],
|
||||||
"description": """
|
"description": """
|
||||||
This is the module to manage the accounting chart, VAT structure and Registration Number for Romania in OpenERP.
|
This is the module to manage the accounting chart, VAT structure and Registration Number for Romania in OpenERP.
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
"name" : "OHADA - Accounting",
|
"name" : "OHADA - Accounting",
|
||||||
"version" : "1.0",
|
"version" : "1.0",
|
||||||
"author" : "Baamtu Senegal",
|
"author" : "Baamtu Senegal",
|
||||||
"category" : "Localization",
|
"category" : "Localization/Account Charts",
|
||||||
"description": """This module implements the accounting chart for OHADA area.
|
"description": """This module implements the accounting chart for OHADA area.
|
||||||
It allows any company or association to manage its financial accounting.
|
It allows any company or association to manage its financial accounting.
|
||||||
Countries that use OHADA are the following:
|
Countries that use OHADA are the following:
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
{
|
{
|
||||||
'name': 'Thailand - Accounting',
|
'name': 'Thailand - Accounting',
|
||||||
'version': '1.0',
|
'version': '1.0',
|
||||||
'category': 'Localization',
|
'category': 'Localization/Account Charts',
|
||||||
'description': """
|
'description': """
|
||||||
Chart of Accounts for Thailand.
|
Chart of Accounts for Thailand.
|
||||||
===============================
|
===============================
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
{
|
{
|
||||||
'name': 'UK - Accounting',
|
'name': 'UK - Accounting',
|
||||||
'version': '1.0',
|
'version': '1.0',
|
||||||
'category': 'Localization',
|
'category': 'Localization/Account Charts',
|
||||||
'description': """This is the latest UK OpenERP localisation necesary to run OpenERP accounting for UK SME's with:
|
'description': """This is the latest UK OpenERP localisation necesary to run OpenERP accounting for UK SME's with:
|
||||||
- a CT600-ready chart of accounts
|
- a CT600-ready chart of accounts
|
||||||
- VAT100-ready tax structure
|
- VAT100-ready tax structure
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
"name" : "Venezuela - Accounting",
|
"name" : "Venezuela - Accounting",
|
||||||
"version" : "1.0",
|
"version" : "1.0",
|
||||||
"author" : ['OpenERP SA', "Netquatro"],
|
"author" : ['OpenERP SA', "Netquatro"],
|
||||||
"category" : "Localization",
|
"category" : "Localization/Account Charts",
|
||||||
"description":
|
"description":
|
||||||
'''
|
'''
|
||||||
This is the module to manage the accounting chart for Venezuela in OpenERP.
|
This is the module to manage the accounting chart for Venezuela in OpenERP.
|
||||||
|
|
|
@ -3,10 +3,12 @@
|
||||||
<data noupdate="0">
|
<data noupdate="0">
|
||||||
|
|
||||||
<record model="res.groups" id="base.group_tool_user">
|
<record model="res.groups" id="base.group_tool_user">
|
||||||
<field name="name">Tools / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="base.module_category_tools"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="res.groups" id="base.group_tool_manager">
|
<record model="res.groups" id="base.group_tool_manager">
|
||||||
<field name="name">Tools / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_tools"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('base.group_tool_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('base.group_tool_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
<openerp>
|
<openerp>
|
||||||
<data>
|
<data>
|
||||||
<record id="marketing.group_marketing_user" model="res.groups">
|
<record id="marketing.group_marketing_user" model="res.groups">
|
||||||
<field name="name">Marketing / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="base.module_category_marketing"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="marketing.group_marketing_manager" model="res.groups">
|
<record id="marketing.group_marketing_manager" model="res.groups">
|
||||||
<field name="name">Marketing / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_marketing"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('marketing.group_marketing_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('marketing.group_marketing_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -3,10 +3,12 @@
|
||||||
<data noupdate="0">
|
<data noupdate="0">
|
||||||
|
|
||||||
<record id="group_mrp_user" model="res.groups">
|
<record id="group_mrp_user" model="res.groups">
|
||||||
<field name="name">Manufacturing / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="base.module_category_manufacturing"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="group_mrp_manager" model="res.groups">
|
<record id="group_mrp_manager" model="res.groups">
|
||||||
<field name="name">Manufacturing / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_manufacturing"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('group_mrp_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('group_mrp_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -3,10 +3,12 @@
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
|
||||||
<record id="group_pos_user" model="res.groups">
|
<record id="group_pos_user" model="res.groups">
|
||||||
<field name="name">Point of Sale / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="base.module_category_point_of_sale"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="group_pos_manager" model="res.groups">
|
<record id="group_pos_manager" model="res.groups">
|
||||||
<field name="name">Point of Sale / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_point_of_sale"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('group_pos_user')), (4, ref('stock.group_stock_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('group_pos_user')), (4, ref('stock.group_stock_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,21 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
<record model="ir.module.category" id="module_category_portal">
|
||||||
|
<field name="name">Portal</field>
|
||||||
|
<field name="parent_id" ref="base.module_category_tools"/>
|
||||||
|
<field name="sequence">25</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
<record id="group_portal_officer" model="res.groups">
|
<record id="group_portal_officer" model="res.groups">
|
||||||
<field name="name">Portal / Officer</field>
|
<field name="name">Officer</field>
|
||||||
<field name="comment">Portal officers can create new portal users with the portal wizard.</field>
|
<field name="comment">Portal officers can create new portal users with the portal wizard.</field>
|
||||||
|
<field name="category_id" ref="module_category_portal"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="group_portal_manager" model="res.groups">
|
<record id="group_portal_manager" model="res.groups">
|
||||||
<field name="name">Portal / Manager</field>
|
<field name="name">Manager</field>
|
||||||
<field name="comment">Portal managers have access to the portal definitions, and can easily configure the users, access rights and menus of portal users.</field>
|
<field name="comment">Portal managers have access to the portal definitions, and can easily configure the users, access rights and menus of portal users.</field>
|
||||||
|
<field name="category_id" ref="module_category_portal"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('group_portal_officer'))]"/>
|
<field name="implied_ids" eval="[(4, ref('group_portal_officer'))]"/>
|
||||||
</record>
|
</record>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -3,14 +3,8 @@
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
|
||||||
<record id="group_uos" context="{'noadmin':True}" model="res.groups">
|
<record id="group_uos" context="{'noadmin':True}" model="res.groups">
|
||||||
<field name="name">Useability / Product UoS View</field>
|
<field name="name">Product UoS View</field>
|
||||||
</record>
|
<field name="category_id" ref="base.module_category_usability"/>
|
||||||
|
|
||||||
<record id="base.group_sale_manager" model="res.groups">
|
|
||||||
<field name="name">Sales / Manager</field>
|
|
||||||
</record>
|
|
||||||
<record id="base.group_sale_salesman" model="res.groups">
|
|
||||||
<field name="name">Sales / User</field>
|
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="product_comp_rule" model="ir.rule">
|
<record id="product_comp_rule" model="ir.rule">
|
||||||
|
@ -21,7 +15,8 @@
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="group_product_variant" model="res.groups" context="{'noadmin':True}">
|
<record id="group_product_variant" model="res.groups" context="{'noadmin':True}">
|
||||||
<field name="name">Useability / Product Variant</field>
|
<field name="name">Product Variant</field>
|
||||||
|
<field name="category_id" ref="base.module_category_usability"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.rule" id="product_pricelist_comp_rule">
|
<record model="ir.rule" id="product_pricelist_comp_rule">
|
||||||
|
|
|
@ -3,18 +3,16 @@
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
|
||||||
<record id="group_project_user" model="res.groups">
|
<record id="group_project_user" model="res.groups">
|
||||||
<field name="name">Project / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="base.module_category_project_management"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="group_project_manager" model="res.groups">
|
<record id="group_project_manager" model="res.groups">
|
||||||
<field name="name">Project / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_project_management"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('group_project_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('group_project_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="base.group_sale_salesman" model="res.groups">
|
|
||||||
<field name="name">Sales / User</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.menu" id="menu_definitions">
|
<record model="ir.ui.menu" id="menu_definitions">
|
||||||
<field name="groups_id" eval="[(6,0,[ref('group_project_manager')])]"/>
|
<field name="groups_id" eval="[(6,0,[ref('group_project_manager')])]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
|
@ -44,6 +44,7 @@ Features
|
||||||
"demo_xml": ["project_long_term_demo.xml"],
|
"demo_xml": ["project_long_term_demo.xml"],
|
||||||
"test": [
|
"test": [
|
||||||
'test/phase_process.yml',
|
'test/phase_process.yml',
|
||||||
|
'test/task_process.yml',
|
||||||
],
|
],
|
||||||
"update_xml": [
|
"update_xml": [
|
||||||
"security/ir.model.access.csv",
|
"security/ir.model.access.csv",
|
||||||
|
|
|
@ -72,12 +72,13 @@ class project_phase(osv.osv):
|
||||||
if phase['date_start'] and phase['date_end'] and phase['date_start'] > phase['date_end']:
|
if phase['date_start'] and phase['date_end'] and phase['date_start'] > phase['date_end']:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
#dead code
|
||||||
def _get_default_uom_id(self, cr, uid):
|
def _get_default_uom_id(self, cr, uid):
|
||||||
model_data_obj = self.pool.get('ir.model.data')
|
model_data_obj = self.pool.get('ir.model.data')
|
||||||
model_data_id = model_data_obj._get_id(cr, uid, 'product', 'uom_hour')
|
model_data_id = model_data_obj._get_id(cr, uid, 'product', 'uom_hour')
|
||||||
return model_data_obj.read(cr, uid, [model_data_id], ['res_id'])[0]['res_id']
|
return model_data_obj.read(cr, uid, [model_data_id], ['res_id'])[0]['res_id']
|
||||||
|
|
||||||
|
#dead code
|
||||||
def _compute_progress(self, cr, uid, ids, field_name, arg, context=None):
|
def _compute_progress(self, cr, uid, ids, field_name, arg, context=None):
|
||||||
res = {}
|
res = {}
|
||||||
if not ids:
|
if not ids:
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
-
|
||||||
|
I create a record to compute the tasks of project.
|
||||||
|
-
|
||||||
|
!record {model: project.compute.tasks, id: project_compute_tasks0}:
|
||||||
|
project_id: project.project_integrate_openerp
|
||||||
|
-
|
||||||
|
I compute and shedule the tasks.
|
||||||
|
-
|
||||||
|
!python {model: project.compute.tasks}: |
|
||||||
|
self.compute_date(cr, uid, [ref("project_compute_tasks0")])
|
||||||
|
-
|
||||||
|
Check if tasks scheduled, check that either of task's start_date, end_date and user_id is not null
|
||||||
|
-
|
||||||
|
!python {model: project.project}: |
|
||||||
|
prj = self.browse(cr, uid, [ref("project.project_integrate_openerp")])[0]
|
||||||
|
for task in prj.tasks:
|
||||||
|
if task.state in ('done','cancelled'):
|
||||||
|
continue
|
||||||
|
assert task.user_id and task.date_start and task.date_end, "Project tasks not scheduled"
|
|
@ -3,10 +3,12 @@
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
|
||||||
<record id="group_purchase_user" model="res.groups">
|
<record id="group_purchase_user" model="res.groups">
|
||||||
<field name="name">Purchases / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="base.module_category_purchase_management"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="group_purchase_manager" model="res.groups">
|
<record id="group_purchase_manager" model="res.groups">
|
||||||
<field name="name">Purchases / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_purchase_management"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('group_purchase_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('group_purchase_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,20 @@
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
|
||||||
|
<record model="ir.module.category" id="module_category_purchase_requisition">
|
||||||
|
<field name="name">Purchase Requisition</field>
|
||||||
|
<field name="parent_id" ref="base.module_category_purchase_management"/>
|
||||||
|
<field name="sequence">9</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
<record id="group_purchase_requisition_user" model="res.groups">
|
<record id="group_purchase_requisition_user" model="res.groups">
|
||||||
<field name="name">Purchase Requisition / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="module_category_purchase_requisition"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="group_purchase_requisition_manager" model="res.groups">
|
<record id="group_purchase_requisition_manager" model="res.groups">
|
||||||
<field name="name">Purchase Requisition / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="module_category_purchase_requisition"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('group_purchase_requisition_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('group_purchase_requisition_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -3,16 +3,19 @@
|
||||||
<data noupdate="0">
|
<data noupdate="0">
|
||||||
|
|
||||||
<record id="base.group_sale_salesman" model="res.groups">
|
<record id="base.group_sale_salesman" model="res.groups">
|
||||||
<field name="name">Sales / User - Own Leads Only</field>
|
<field name="name">User - Own Leads Only</field>
|
||||||
|
<field name="category_id" ref="base.module_category_sales_management"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="base.group_sale_salesman_all_leads" model="res.groups">
|
<record id="base.group_sale_salesman_all_leads" model="res.groups">
|
||||||
<field name="name">Sales / User - All Leads</field>
|
<field name="name">User - All Leads</field>
|
||||||
|
<field name="category_id" ref="base.module_category_sales_management"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman'))]"/>
|
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="base.group_sale_manager" model="res.groups">
|
<record id="base.group_sale_manager" model="res.groups">
|
||||||
<field name="name">Sales / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_sales_management"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman_all_leads'))]"/>
|
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman_all_leads'))]"/>
|
||||||
<field name="users" eval="[(4, ref('base.user_root'))]"/>
|
<field name="users" eval="[(4, ref('base.user_root'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
|
@ -39,7 +39,6 @@ It adds sales name and sales Reference on production order.
|
||||||
'depends': ['mrp', 'sale'],
|
'depends': ['mrp', 'sale'],
|
||||||
'init_xml': [],
|
'init_xml': [],
|
||||||
'update_xml': [
|
'update_xml': [
|
||||||
'security/sale_mrp_security.xml',
|
|
||||||
'security/ir.model.access.csv',
|
'security/ir.model.access.csv',
|
||||||
'sale_mrp_view.xml',
|
'sale_mrp_view.xml',
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<openerp>
|
|
||||||
<data noupdate="0">
|
|
||||||
|
|
||||||
<record id="base.group_sale_manager" model="res.groups">
|
|
||||||
<field name="name">Sales / Manager</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="base.group_sale_salesman" model="res.groups">
|
|
||||||
<field name="name">Sales / User</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
</data>
|
|
||||||
</openerp>
|
|
|
@ -27,6 +27,12 @@ class res_groups(osv.osv):
|
||||||
'share': fields.boolean('Share Group', readonly=True,
|
'share': fields.boolean('Share Group', readonly=True,
|
||||||
help="Group created to set access rights for sharing data with some users.")
|
help="Group created to set access rights for sharing data with some users.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def __init__(self, pool, cr):
|
||||||
|
super(res_groups, self).__init__(pool, cr)
|
||||||
|
# add domain in get_groups_by_application()
|
||||||
|
self.groups_by_application_domain.append(('share', '=', False))
|
||||||
|
|
||||||
res_groups()
|
res_groups()
|
||||||
|
|
||||||
class res_users(osv.osv):
|
class res_users(osv.osv):
|
||||||
|
|
|
@ -21,18 +21,6 @@
|
||||||
<field name="name">Users</field>
|
<field name="name">Users</field>
|
||||||
<field name="context">{'search_default_no_share': 1}</field>
|
<field name="context">{'search_default_no_share': 1}</field>
|
||||||
</record>
|
</record>
|
||||||
<record id="view_users_form_share" model="ir.ui.view">
|
|
||||||
<field name="name">res.users.form</field>
|
|
||||||
<field name="model">res.users</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="inherit_id" ref="base.view_users_form"/>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<xpath expr="/form/notebook/page//field[@name='groups_id']" position="attributes">
|
|
||||||
<attribute name="context">{'search_default_no_share':1}</attribute>
|
|
||||||
</xpath>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="res_groups_search_sharing">
|
<record model="ir.ui.view" id="res_groups_search_sharing">
|
||||||
<field name="name">res.groups.search.share</field>
|
<field name="name">res.groups.search.share</field>
|
||||||
|
|
|
@ -1,10 +1,17 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
<record model="ir.module.category" id="module_category_share">
|
||||||
|
<field name="name">Sharing</field>
|
||||||
|
<field name="parent_id" ref="base.module_category_tools"/>
|
||||||
|
<field name="sequence">26</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
<record id="group_share_user" model="res.groups">
|
<record id="group_share_user" model="res.groups">
|
||||||
<field name="name">Sharing / User</field>
|
<field name="name">User</field>
|
||||||
<field name="comment">
|
<field name="comment">
|
||||||
Members of this groups have access to the sharing wizard, which allows them to invite external users to view or edit some of their documents.</field>
|
Members of this groups have access to the sharing wizard, which allows them to invite external users to view or edit some of their documents.</field>
|
||||||
|
<field name="category_id" ref="module_category_share"/>
|
||||||
</record>
|
</record>
|
||||||
</data>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
|
@ -3,10 +3,12 @@
|
||||||
<data noupdate="0">
|
<data noupdate="0">
|
||||||
|
|
||||||
<record id="group_stock_user" model="res.groups">
|
<record id="group_stock_user" model="res.groups">
|
||||||
<field name="name">Warehouse / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="base.module_category_warehouse_management"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="group_stock_manager" model="res.groups">
|
<record id="group_stock_manager" model="res.groups">
|
||||||
<field name="name">Warehouse / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_warehouse_management"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('group_stock_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('group_stock_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -1616,8 +1616,8 @@
|
||||||
<group colspan="2" col="2">
|
<group colspan="2" col="2">
|
||||||
<separator colspan="2" string="Move Information"/>
|
<separator colspan="2" string="Move Information"/>
|
||||||
<field name="name" string="Reason"/>
|
<field name="name" string="Reason"/>
|
||||||
<field name="product_uos_qty" groups="product.group_uos" on_change="onchange_uos_quantity(product_id, product_uos_qty, product_uos, product_uom)" colspan="4"/>
|
<field name="product_uos_qty" groups="product.group_uos" on_change="onchange_uos_quantity(product_id, product_uos_qty, product_uos, product_uom)"/>
|
||||||
<field name="product_uos" groups="product.group_uos" colspan="4"/>
|
<field name="product_uos" groups="product.group_uos"/>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<group colspan="2" col="2">
|
<group colspan="2" col="2">
|
||||||
|
|
|
@ -3,10 +3,12 @@
|
||||||
<data noupdate="0">
|
<data noupdate="0">
|
||||||
|
|
||||||
<record model="res.groups" id="base.group_tool_user">
|
<record model="res.groups" id="base.group_tool_user">
|
||||||
<field name="name">Tools / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="base.module_category_tools"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="res.groups" id="base.group_tool_manager">
|
<record model="res.groups" id="base.group_tool_manager">
|
||||||
<field name="name">Tools / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_tools"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('base.group_tool_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('base.group_tool_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,12 @@
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="0">
|
<data noupdate="0">
|
||||||
<record model="res.groups" id="base.group_tool_user">
|
<record model="res.groups" id="base.group_tool_user">
|
||||||
<field name="name">Tools / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="base.module_category_tools"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="res.groups" id="base.group_tool_manager">
|
<record model="res.groups" id="base.group_tool_manager">
|
||||||
<field name="name">Tools / Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="category_id" ref="base.module_category_tools"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('base.group_tool_user'))]"/>
|
<field name="implied_ids" eval="[(4, ref('base.group_tool_user'))]"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="res.groups" id="base.group_survey_user">
|
<record model="res.groups" id="base.group_survey_user">
|
||||||
|
|
|
@ -2,14 +2,9 @@
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="0">
|
<data noupdate="0">
|
||||||
|
|
||||||
<record id="base.group_sale_manager" model="res.groups">
|
|
||||||
<field name="name">Sales / Manager</field>
|
|
||||||
</record>
|
|
||||||
<record id="base.group_sale_salesman" model="res.groups">
|
|
||||||
<field name="name">Sales / User</field>
|
|
||||||
</record>
|
|
||||||
<record id="base.group_document_user" model="res.groups">
|
<record id="base.group_document_user" model="res.groups">
|
||||||
<field name="name">Knowledge / User</field>
|
<field name="name">User</field>
|
||||||
|
<field name="category_id" ref="base.module_category_knowledge_management"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</data>
|
</data>
|
||||||
|
|
Loading…
Reference in New Issue