@@ -19,26 +19,26 @@
|
||||
position="attributes">
|
||||
<attribute name="string">You can enhance OpenERP's basic accounting support with a few additional OpenERP applications.</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//button[@string='Install Modules']" position="attributes">
|
||||
<xpath expr="//button[@string='Install Modules']" position="attributes">
|
||||
<attribute name="string">Configure</attribute>
|
||||
</xpath>
|
||||
<xpath expr='//separator[@string="vsep"]' position='attributes'>
|
||||
<attribute name='rowspan'>23</attribute>
|
||||
<attribute name='string'></attribute>
|
||||
</xpath>
|
||||
<group colspan="8">
|
||||
<group colspan="4" height="450" width="600">
|
||||
</xpath>
|
||||
<group colspan="8">
|
||||
<group colspan="4" height="450" width="600">
|
||||
<field name="charts"/>
|
||||
<group colspan="4">
|
||||
<separator col="4" colspan="4" string="Configure Fiscal Year"/>
|
||||
<separator col="4" colspan="4" string="Configure Fiscal Year"/>
|
||||
<field name="date_start" on_change="on_change_start_date(date_start)"/>
|
||||
<field name="date_stop"/>
|
||||
<field name="period" colspan="4"/>
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('charts','!=','configurable')]}">
|
||||
<separator col="4" colspan="4" string="Bank and Cost Account"/>
|
||||
<field colspan="4" mode="tree" name="bank_accounts_id" nolabel="1" widget="one2many_list">
|
||||
<form string="">
|
||||
<separator col="4" colspan="4" string="Bank and Cost Account"/>
|
||||
<field colspan="4" mode="tree" name="bank_accounts_id" nolabel="1" widget="one2many_list">
|
||||
<form string="">
|
||||
<field name="acc_name"/>
|
||||
<field name="account_type"/>
|
||||
<field name="currency_id" widget="selection"/>
|
||||
@@ -51,15 +51,15 @@
|
||||
</field>
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('charts','!=','configurable')]}">
|
||||
<field name="sale_tax" colspan="2" on_change="on_change_tax(sale_tax)"/>
|
||||
<field name="purchase_tax" colspan="2" />
|
||||
<field name="sale_tax" colspan="2" on_change="on_change_tax(sale_tax)"/>
|
||||
<field name="purchase_tax" colspan="2" />
|
||||
</group>
|
||||
<group colspan="4" groups="base.group_extended">
|
||||
<separator col="4" colspan="4" string="Install Extra Account Module"/>
|
||||
<field name="account_analytic_plans"/>
|
||||
<field name="account_payment"/>
|
||||
<field name="account_followup"/>
|
||||
<field name="account_asset"/>
|
||||
<separator col="4" colspan="4" string="Install Extra Account Module"/>
|
||||
<field name="account_analytic_plans"/>
|
||||
<field name="account_payment"/>
|
||||
<field name="account_followup"/>
|
||||
<field name="account_asset"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
@@ -88,12 +88,12 @@
|
||||
<field name="name">account_installer_action_replace</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="inherit_id" ref="base.ir_actions_todo_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//button[@string='Launch']" position="replace">
|
||||
<button name="%(action_account_installer)d" states="open,skip" string="Launch" type="action" icon="gtk-execute" help="Launch Configuration Wizard"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//button[@string='Launch']" position="replace">
|
||||
<button name="%(action_account_installer)d" states="open,skip" string="Launch" type="action" icon="gtk-execute" help="Launch Configuration Wizard"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -488,20 +488,5 @@
|
||||
|
||||
<act_window domain="[('partner_id', '=', partner_id), ('account_id.type', 'in', ['receivable', 'payable']), ('reconcile_id','=',False)]" id="act_account_invoice_account_move_unreconciled" name="Unreconciled Receivables & Payables" res_model="account.move.line" src_model="account.invoice"/>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_invoice_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.invoice.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="Account Info">
|
||||
<field name="invoice_ids" colspan="4" nolabel="1" context="{'group_by':'product_id'}"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -577,13 +577,16 @@ class account_move_line(osv.osv):
|
||||
# writeoff; entry generated for the difference between the lines
|
||||
#
|
||||
|
||||
def reconcile_partial(self, cr, uid, ids, type='auto', context={}):
|
||||
def reconcile_partial(self, cr, uid, ids, type='auto', context=None):
|
||||
merges = []
|
||||
unmerge = []
|
||||
total = 0.0
|
||||
merges_rec = []
|
||||
|
||||
company_list = []
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
if company_list and not line.company_id.id in company_list:
|
||||
raise osv.except_osv(_('Warning !'), _('To reconcile the entries company should be the same for all entries'))
|
||||
@@ -613,13 +616,15 @@ class account_move_line(osv.osv):
|
||||
self.pool.get('account.move.reconcile').reconcile_partial_check(cr, uid, [r_id] + merges_rec, context=context)
|
||||
return True
|
||||
|
||||
def reconcile(self, cr, uid, ids, type='auto', writeoff_acc_id=False, writeoff_period_id=False, writeoff_journal_id=False, context={}):
|
||||
def reconcile(self, cr, uid, ids, type='auto', writeoff_acc_id=False, writeoff_period_id=False, writeoff_journal_id=False, context=None):
|
||||
lines = self.browse(cr, uid, ids, context=context)
|
||||
unrec_lines = filter(lambda x: not x['reconcile_id'], lines)
|
||||
credit = debit = 0.0
|
||||
currency = 0.0
|
||||
account_id = False
|
||||
partner_id = False
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
company_list = []
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
|
||||
@@ -1554,7 +1554,7 @@
|
||||
|
||||
<act_window domain="[('partner_id', '=', active_id), ('account_id.type', 'in', ['receivable', 'payable'])]" id="act_account_partner_account_move_all" name="Receivables & Payables" res_model="account.move.line" src_model="res.partner"/>
|
||||
|
||||
<act_window domain="[('partner_id', '=', active_id)]" id="act_account_partner_account_move" name="All Account Entries" res_model="account.move.line" src_model="res.partner"/>
|
||||
<act_window domain="[('partner_id', '=', active_id)]" id="act_account_partner_account_move" name="All Account Entries" res_model="account.move.line" src_model="res.partner"/>
|
||||
|
||||
<record id="view_account_addtmpl_wizard_form" model="ir.ui.view">
|
||||
<field name="name">Account Add wizard</field>
|
||||
@@ -1577,7 +1577,7 @@
|
||||
res_model="account.addtmpl.wizard"
|
||||
context="{'tmpl_ids': active_id}"
|
||||
src_model="account.account.template"
|
||||
view_type="form" view_mode="form"/>
|
||||
view_type="form" view_mode="form"/>
|
||||
|
||||
<!-- Account Templates -->
|
||||
<menuitem
|
||||
@@ -1820,17 +1820,17 @@
|
||||
<attribute name="string">Generate Chart of Accounts from a Chart Template</attribute>
|
||||
</form>
|
||||
<separator string="title" position="attributes">
|
||||
<attribute name="string"
|
||||
<attribute name="string"
|
||||
>Generate Chart of Accounts from a Chart Template</attribute>
|
||||
</separator>
|
||||
<xpath expr="//label[@string='description']" position="attributes">
|
||||
<attribute name="string">This will automatically configure your chart of accounts, bank accounts, taxes and journals according to the selected template</attribute>
|
||||
<attribute name="width">150</attribute>
|
||||
</xpath>
|
||||
<xpath expr='//separator[@string="vsep"]' position='attributes'>
|
||||
<attribute name='rowspan'>15</attribute>
|
||||
<attribute name='string'></attribute>
|
||||
</xpath>
|
||||
</separator>
|
||||
<xpath expr="//label[@string='description']" position="attributes">
|
||||
<attribute name="string">This will automatically configure your chart of accounts, bank accounts, taxes and journals according to the selected template</attribute>
|
||||
<attribute name="width">150</attribute>
|
||||
</xpath>
|
||||
<xpath expr='//separator[@string="vsep"]' position='attributes'>
|
||||
<attribute name='rowspan'>15</attribute>
|
||||
<attribute name='string'></attribute>
|
||||
</xpath>
|
||||
<group string="res_config_contents" position="replace">
|
||||
<field name="company_id" widget="selection"
|
||||
/>
|
||||
|
||||
@@ -89,7 +89,7 @@ class res_partner(osv.osv):
|
||||
_inherit = 'res.partner'
|
||||
_description = 'Partner'
|
||||
def _credit_debit_get(self, cr, uid, ids, field_names, arg, context):
|
||||
query = self.pool.get('account.move.line')._query_get(cr, uid, context=context)
|
||||
query = self.pool.get('account.move.line')._query_get(cr, 1, context=context)
|
||||
cr.execute("""select
|
||||
l.partner_id, a.type, sum(l.debit-l.credit)
|
||||
from
|
||||
|
||||
@@ -118,7 +118,6 @@
|
||||
<field name="acc_number"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="invoice_ids" colspan="4" nolabel="1" context="{'group_by':'product_id'}"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
@@ -126,21 +125,14 @@
|
||||
|
||||
<!-- Partners info tab view-->
|
||||
|
||||
<record id="view_account_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.account.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//notebook[last()]" position="after">
|
||||
<notebook colspan="4">
|
||||
<page string="Project">
|
||||
<field name="contract_ids" colspan="4" nolabel="1" />
|
||||
</page>
|
||||
</notebook>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window
|
||||
id="action_analytic_open"
|
||||
name="Analytic Accounts"
|
||||
res_model="account.analytic.account"
|
||||
domain="[('partner_id','=',active_id)]"
|
||||
src_model="res.partner"
|
||||
view_type="form"
|
||||
view_mode="tree,form,graph,calendar"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -44,77 +44,77 @@
|
||||
</record>
|
||||
|
||||
<record id="account_move_line_comp_rule" model="ir.rule">
|
||||
<field name="name">Entry lines</field>
|
||||
<field name="name">Entry lines</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_move_line"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="journal_period_comp_rule" model="ir.rule">
|
||||
<field name="name">Journal Period</field>
|
||||
<field name="name">Journal Period</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_journal_period"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="journal_comp_rule" model="ir.rule">
|
||||
<field name="name">Journal multi-company</field>
|
||||
<field name="name">Journal multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_journal"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="analytic_journal_comp_rule" model="ir.rule">
|
||||
<field name="name">Analytic journal multi-company</field>
|
||||
<field name="name">Analytic journal multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_analytic_journal"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="analytic_journal_comp_rule_false" model="ir.rule">
|
||||
<field name="name">Analytic journal multi-company</field>
|
||||
<field name="name">Analytic journal multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_analytic_journal"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="period_comp_rule" model="ir.rule">
|
||||
<field name="name">Period multi-company</field>
|
||||
<field name="name">Period multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_period"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="fiscal_year_comp_rule" model="ir.rule">
|
||||
<field name="name">Fiscal year multi-company</field>
|
||||
<field name="name">Fiscal year multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_fiscalyear"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="account_comp_rule" model="ir.rule">
|
||||
<field name="name">Account multi-company</field>
|
||||
<field name="name">Account multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_account"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="tax_comp_rule" model="ir.rule">
|
||||
<field name="name">Tax multi-company</field>
|
||||
<field name="name">Tax multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_tax"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="tax_code_comp_rule" model="ir.rule">
|
||||
<field name="name">Tax code multi-company</field>
|
||||
<field name="name">Tax code multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_tax_code"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="invoice_comp_rule" model="ir.rule">
|
||||
<field name="name">Invoice multi-company</field>
|
||||
<field name="name">Invoice multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_invoice"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
|
||||
@@ -70,7 +70,6 @@
|
||||
"access_account_add_tmpl_wizard_system_manager","account.addtmpl.wizard system manager","model_account_addtmpl_wizard","base.group_system",1,1,1,1
|
||||
"access_account_invoice_user","account.invoice user","model_account_invoice","base.group_user",1,0,0,0
|
||||
"access_account_invoice_user","account.invoice.line user","model_account_invoice_line","base.group_user",1,0,0,0
|
||||
"access_account_invoice_user","account.invoice.tax user","model_account_invoice_tax","base.group_user",1,0,0,0
|
||||
"access_account_payment_term_partner_manager","account.payment.term partner manager","model_account_payment_term","base.group_user",1,0,0,0
|
||||
"access_account_payment_term_line_partner_manager","account.payment.term.line partner manager","model_account_payment_term_line","base.group_user",1,0,0,0
|
||||
"access_account_account_product_manager","account.account product manager","model_account_account","product.group_product_manager",1,0,0,0
|
||||
@@ -86,7 +85,7 @@
|
||||
"access_account_fiscal_position_account_template","account.fiscal.position.account.template","model_account_fiscal_position_account_template","account.group_account_manager",1,1,1,1
|
||||
"access_account_sequence_fiscal_year","account.sequence.fiscalyear","model_account_sequence_fiscalyear","account.group_account_user",1,1,1,1
|
||||
"access_account_sequence_fiscal_year_user","account.sequence.fiscalyear user","model_account_sequence_fiscalyear","base.group_user",1,0,0,0
|
||||
"access_account_installer","account.installer","model_account_installer","base.group_user",1,0,0,0
|
||||
"access_account_installer","account.installer","model_account_installer","base.group_system",1,1,1,1
|
||||
"access_report_account_receivable","report.account.receivable","model_report_account_receivable","account.group_account_manager",1,0,0,0
|
||||
"access_temp_range","temp.range","model_temp_range","account.group_account_manager",1,0,0,0
|
||||
"access_report_aged_receivable","report.aged.receivable","model_report_aged_receivable","account.group_account_manager",1,0,0,0
|
||||
|
||||
|
@@ -136,7 +136,6 @@ class account_automatic_reconcile(osv.osv_memory):
|
||||
return (reconciled, len(credits)+len(debits))
|
||||
|
||||
def reconcile(self, cr, uid, ids, context=None):
|
||||
service = netsvc.LocalService("object_proxy")
|
||||
move_line_obj = self.pool.get('account.move.line')
|
||||
obj_model = self.pool.get('ir.model.data')
|
||||
if context is None:
|
||||
@@ -254,4 +253,4 @@ class account_automatic_reconcile(osv.osv_memory):
|
||||
|
||||
account_automatic_reconcile()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -32,13 +32,12 @@ class account_budget_spread(osv.osv_memory):
|
||||
}
|
||||
|
||||
def check_spread(self, cr, uid, ids, context=None):
|
||||
service = netsvc.LocalService("object_proxy")
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids, [])[0]
|
||||
res = service.execute(cr.dbname, uid, 'account.budget.post', 'spread', context['active_ids'], data['fiscalyear'], data['amount'])
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
res = self.pool.get('account.budget.post').spread(cr, uid, context['active_ids'], data.fiscalyear.id, data.amount)
|
||||
return {}
|
||||
|
||||
account_budget_spread()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
"category" : "Generic Modules/Accounting",
|
||||
"website" : "http://tinyerp.com",
|
||||
"depends" : [
|
||||
"base",
|
||||
"base",
|
||||
"account"
|
||||
],
|
||||
"init_xml" : [
|
||||
@@ -54,8 +54,12 @@
|
||||
"voucher_view.xml",
|
||||
"voucher_wizard.xml",
|
||||
"wizard/account_voucher_open_view.xml",
|
||||
|
||||
|
||||
],
|
||||
"test" : [
|
||||
"test/account_voucher.yml",
|
||||
],
|
||||
|
||||
'certificate': '0037580727101',
|
||||
"active": False,
|
||||
"installable": True,
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
|
||||
-
|
||||
In order to check account voucher module in OpenERP I create a customer voucher
|
||||
-
|
||||
!record {model: account.voucher, id: account_voucher_voucherforaxelor0}:
|
||||
account_id: account.cash
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
journal_id: account.bank_journal
|
||||
name: Voucher for Axelor
|
||||
narration: Basic Pc
|
||||
payment_ids:
|
||||
- account_id: account.a_recv
|
||||
amount: 1000.0
|
||||
name: Voucher for Axelor
|
||||
partner_id: base.res_partner_desertic_hispafuentes
|
||||
period_id: account.period_6
|
||||
reference_type: none
|
||||
|
||||
-
|
||||
I check that Initially customer voucher is in the "Draft" state
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucherforaxelor0}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I change the state of voucher to "proforma" by clicking PRO-FORMA button
|
||||
-
|
||||
!workflow {model: account.voucher, action: open_voucher, ref: account_voucher_voucherforaxelor0}
|
||||
-
|
||||
I check that the voucher state is now "proforma"
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucherforaxelor0}:
|
||||
- state == 'proforma'
|
||||
-
|
||||
I create voucher by clicking on Create button
|
||||
-
|
||||
!workflow {model: account.voucher, action: proforma_voucher, ref: account_voucher_voucherforaxelor0}
|
||||
-
|
||||
I check that the voucher state is "Waiting for re-checking"
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucherforaxelor0}:
|
||||
- state == 'recheck'
|
||||
-
|
||||
I clicked on Validate Button
|
||||
-
|
||||
!workflow {model: account.voucher, action: recheck_voucher, ref: account_voucher_voucherforaxelor0}
|
||||
-
|
||||
I check that the voucher state is "posted"
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucherforaxelor0}:
|
||||
- state == 'posted'
|
||||
|
||||
-
|
||||
I check that Moves get created for this voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
acc_id=self.browse(cr, uid, ref("account_voucher_voucherforaxelor0"))
|
||||
assert(acc_id.move_id)
|
||||
|
||||
|
||||
-
|
||||
Now I create a Vendor Voucher
|
||||
-
|
||||
!record {model: account.voucher, id: account_voucher_voucheraxelor0}:
|
||||
account_id: account.cash
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
journal_id: account.bank_journal
|
||||
name: Voucher Axelor
|
||||
narration: Basic PC
|
||||
payment_ids:
|
||||
- account_id: account.cash
|
||||
amount: 1000.0
|
||||
name: Voucher Axelor
|
||||
period_id: account.period_6
|
||||
reference_type: none
|
||||
|
||||
-
|
||||
I check that Initially vendor voucher is in the "Draft" state
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucheraxelor0}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I change the state of voucher to "proforma" by clicking PRO-FORMA button
|
||||
-
|
||||
!workflow {model: account.voucher, action: open_voucher, ref: account_voucher_voucheraxelor0}
|
||||
-
|
||||
I check that the voucher state is now "proforma"
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucheraxelor0}:
|
||||
- state == 'proforma'
|
||||
-
|
||||
I create voucher by clicking on Create button
|
||||
-
|
||||
!workflow {model: account.voucher, action: proforma_voucher, ref: account_voucher_voucheraxelor0}
|
||||
-
|
||||
I check that the voucher state is "Waiting for re-checking"
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucheraxelor0}:
|
||||
- state == 'recheck'
|
||||
-
|
||||
I clicked on Validate Button
|
||||
-
|
||||
!workflow {model: account.voucher, action: recheck_voucher, ref: account_voucher_voucheraxelor0}
|
||||
-
|
||||
I check that the voucher state is "posted"
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucheraxelor0}:
|
||||
- state == 'posted'
|
||||
|
||||
-
|
||||
I check that moves get created for this voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
acc_id=self.browse(cr, uid, ref("account_voucher_voucheraxelor0"))
|
||||
assert(acc_id.move_id)
|
||||
+10
-5
@@ -1,6 +1,6 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,7 +15,7 @@
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
{
|
||||
@@ -23,24 +23,29 @@
|
||||
"version" : "1.0",
|
||||
"author" : 'Tiny & Axelor',
|
||||
"description": """This module includes :
|
||||
* It reconcile the invoice (supplier, customer) while paying through
|
||||
* It reconcile the invoice (supplier, customer) while paying through
|
||||
Accounting Vouchers
|
||||
""",
|
||||
"category" : "Generic Modules/Indian Accounting",
|
||||
"website" : "http://tinyerpindia.com",
|
||||
"depends" : [
|
||||
"base",
|
||||
"base",
|
||||
"account",
|
||||
"account_voucher",
|
||||
],
|
||||
"init_xml" : [
|
||||
],
|
||||
|
||||
|
||||
"demo_xml" : [],
|
||||
"update_xml" : [
|
||||
"account_voucher_payment_view.xml",
|
||||
"account_voucher_payment_wizard.xml"
|
||||
],
|
||||
"test" : [
|
||||
# "test/account_voucher.yml",
|
||||
"test/account_voucher_payment.yml",
|
||||
],
|
||||
|
||||
"active": False,
|
||||
"installable": True,
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,7 +15,7 @@
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@@ -35,9 +35,9 @@ class account_voucher(osv.osv):
|
||||
_columns = {
|
||||
'voucher_line_ids':fields.one2many('account.voucher.line','voucher_id','Voucher Lines', readonly=False, states={'proforma':[('readonly',True)]}),
|
||||
}
|
||||
|
||||
|
||||
def action_move_line_create(self, cr, uid, ids, *args):
|
||||
|
||||
|
||||
for inv in self.browse(cr, uid, ids):
|
||||
if inv.move_id:
|
||||
continue
|
||||
@@ -55,12 +55,12 @@ class account_voucher(osv.osv):
|
||||
ref = inv.reference
|
||||
else:
|
||||
ref = self._convert_ref(cr, uid, inv.number)
|
||||
|
||||
|
||||
date = inv.date
|
||||
total_currency = 0
|
||||
for i in iml:
|
||||
partner_id=i['partner_id']
|
||||
acc_id = i['account_id']
|
||||
acc_id = i['account_id']
|
||||
if inv.currency_id.id != company_currency:
|
||||
i['currency_id'] = inv.currency_id.id
|
||||
i['amount_currency'] = i['amount']
|
||||
@@ -97,19 +97,19 @@ class account_voucher(osv.osv):
|
||||
line = map(lambda x:(0,0,self.line_get_convert(cr, uid, x,date, context={})) ,iml)
|
||||
an_journal_id=inv.journal_id.analytic_journal_id.id
|
||||
journal_id = inv.journal_id.id
|
||||
|
||||
|
||||
journal = self.pool.get('account.journal').browse(cr, uid, journal_id)
|
||||
if journal.sequence_id:
|
||||
name = self.pool.get('ir.sequence').get_id(cr, uid, journal.sequence_id.id)
|
||||
|
||||
move = {
|
||||
'name': name,
|
||||
'journal_id': journal_id,
|
||||
'name': name,
|
||||
'journal_id': journal_id,
|
||||
'voucher_type':inv.type,
|
||||
'narration' : inv.narration,
|
||||
'data':date
|
||||
}
|
||||
|
||||
|
||||
if inv.period_id:
|
||||
move['period_id'] = inv.period_id.id
|
||||
for i in line:
|
||||
@@ -128,7 +128,7 @@ class account_voucher(osv.osv):
|
||||
'journal_id':journal_id ,
|
||||
'period_id':inv.period_id.id,
|
||||
'partner_id': False,
|
||||
'ref': ref,
|
||||
'ref': ref,
|
||||
'date': date
|
||||
}
|
||||
if inv.type in ('rec_voucher', 'bank_rec_voucher', 'journal_pur_voucher', 'journal_voucher'):
|
||||
@@ -144,15 +144,15 @@ class account_voucher(osv.osv):
|
||||
'voucher_invoice' : iml and iml[0]['invoice'] and iml[0]['invoice'].id or False,
|
||||
'debit':False,
|
||||
'credit':False,
|
||||
'move_id':move_id,
|
||||
'move_id':move_id,
|
||||
'account_id':line.account_id.id or False,
|
||||
'journal_id':journal_id ,
|
||||
'period_id':inv.period_id.id,
|
||||
'partner_id':line.partner_id.id or False,
|
||||
'ref':ref,
|
||||
'ref':ref,
|
||||
'date':date
|
||||
}
|
||||
|
||||
|
||||
if line.type == 'dr':
|
||||
move_line['debit'] = line.amount or False
|
||||
amount=line.amount
|
||||
@@ -161,7 +161,7 @@ class account_voucher(osv.osv):
|
||||
amount=line.amount * (-1)
|
||||
ml_id=self.pool.get('account.move.line').create(cr, uid, move_line)
|
||||
id_mapping_dict[line.id] = ml_id
|
||||
|
||||
|
||||
total = 0.0
|
||||
mline = self.pool.get('account.move.line')
|
||||
if line.invoice_id.id:
|
||||
@@ -180,7 +180,7 @@ class account_voucher(osv.osv):
|
||||
line.name=inv.narration
|
||||
else:
|
||||
line.name=line.name
|
||||
|
||||
|
||||
if line.account_analytic_id:
|
||||
an_line = {
|
||||
'name':line.name,
|
||||
@@ -197,22 +197,22 @@ class account_voucher(osv.osv):
|
||||
self.pool.get('account.move.line').reconcile_partial(cr, uid, mline_ids, 'manual', context={})
|
||||
self.write(cr, uid, [inv.id], {'move_id': move_id})
|
||||
obj=self.pool.get('account.move').browse(cr, uid, move_id)
|
||||
|
||||
|
||||
for line in obj.line_id :
|
||||
cr.execute('insert into voucher_id (account_id,rel_account_move) values (%d, %d)',(int(ids[0]),int(line.id)))
|
||||
|
||||
|
||||
return True
|
||||
|
||||
account_voucher()
|
||||
|
||||
class account_voucher_line(osv.osv):
|
||||
_inherit = 'account.voucher.line'
|
||||
|
||||
|
||||
def default_get(self, cr, uid, fields, context={}):
|
||||
data = super(account_voucher_line, self).default_get(cr, uid, fields, context)
|
||||
self.voucher_context = context
|
||||
return data
|
||||
|
||||
|
||||
_columns = {
|
||||
'invoice_id' : fields.many2one('account.invoice','Invoice'),
|
||||
}
|
||||
@@ -220,8 +220,8 @@ class account_voucher_line(osv.osv):
|
||||
def move_line_get_item(self, cr, uid, line, context={}):
|
||||
res = super(account_voucher_line, self).move_line_get_item(cr, uid, line, context)
|
||||
res['invoice'] = line.invoice_id or False
|
||||
return res
|
||||
|
||||
return res
|
||||
|
||||
def onchange_invoice_id(self, cr, uid, ids, invoice_id, context={}):
|
||||
lines = []
|
||||
if 'lines' in self.voucher_context:
|
||||
@@ -233,27 +233,27 @@ class account_voucher_line(osv.osv):
|
||||
residual = invoice_obj.residual
|
||||
same_invoice_amounts = [x['amount'] for x in lines if x['invoice_id']==invoice_id]
|
||||
residual -= sum(same_invoice_amounts)
|
||||
return {'value' : {'amount':residual}}
|
||||
|
||||
return {'value' : {'amount':residual}}
|
||||
|
||||
def onchange_line_account(self, cr, uid, ids, account_id, type, type1):
|
||||
if not account_id:
|
||||
return {'value' : {'account_id' : False, 'type' : False ,'amount':False}}
|
||||
obj = self.pool.get('account.account')
|
||||
acc_id = False
|
||||
|
||||
|
||||
if type1 in ('rec_voucher','bank_rec_voucher', 'journal_voucher'):
|
||||
acc_id = obj.browse(cr, uid, account_id)
|
||||
balance = acc_id.credit
|
||||
type = 'cr'
|
||||
elif type1 in ('pay_voucher','bank_pay_voucher','cont_voucher') :
|
||||
elif type1 in ('pay_voucher','bank_pay_voucher','cont_voucher') :
|
||||
acc_id = obj.browse(cr, uid, account_id)
|
||||
balance = acc_id.debit
|
||||
type = 'dr'
|
||||
elif type1 in ('journal_sale_vou') :
|
||||
elif type1 in ('journal_sale_vou') :
|
||||
acc_id = obj.browse(cr, uid, account_id)
|
||||
balance = acc_id.credit
|
||||
type = 'dr'
|
||||
elif type1 in ('journal_pur_voucher') :
|
||||
elif type1 in ('journal_pur_voucher') :
|
||||
acc_id = obj.browse(cr, uid, account_id)
|
||||
balance = acc_id.debit
|
||||
type = 'cr'
|
||||
@@ -265,7 +265,7 @@ account_voucher_line()
|
||||
|
||||
class account_invoice(osv.osv):
|
||||
_inherit = "account.invoice"
|
||||
|
||||
|
||||
def action_cancel(self, cr, uid, ids, *args):
|
||||
res = super(account_invoice, self).action_cancel(cr, uid, ids, *args)
|
||||
invoices = self.read(cr, uid, ids, ['move_id'])
|
||||
@@ -276,7 +276,7 @@ class account_invoice(osv.osv):
|
||||
move_ids = move_db.search(cr, uid, [])
|
||||
move_obj = move_db.browse(cr, uid, move_ids)
|
||||
return res
|
||||
|
||||
|
||||
account_invoice()
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,7 +15,7 @@
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@@ -32,11 +32,11 @@ _info_form = '''<?xml version="1.0"?>
|
||||
def _trans_unrec(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
voucher = pool.get('account.voucher').browse(cr, uid, data.get('id'))
|
||||
recs = None
|
||||
recs = []
|
||||
for line in voucher.move_ids:
|
||||
if line.reconcile_id:
|
||||
recs = [line.reconcile_id.id]
|
||||
|
||||
|
||||
for rec in recs:
|
||||
pool.get('account.move.reconcile').unlink(cr, uid, rec)
|
||||
return {}
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
-
|
||||
In order to test account_voucher_payment module in OpenERP I create an invoice and paid it through voucher
|
||||
-
|
||||
I create a customer invoice record
|
||||
-
|
||||
!record {model: account.invoice, id: account_invoice_voucher_payment}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
invoice_line:
|
||||
- account_id: account.a_sale
|
||||
name: '[PC1] Basic PC'
|
||||
price_unit: 450.0
|
||||
quantity: 1.0
|
||||
product_id: product.product_product_pc1
|
||||
uos_id: product.product_uom_unit
|
||||
journal_id: account.sales_journal
|
||||
partner_id: base.res_partner_desertic_hispafuentes
|
||||
reference_type: none
|
||||
|
||||
-
|
||||
I check that Initially customer invoice is in the "Draft" state
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_voucher_payment}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I change the state of invoice to "Proforma2" by clicking PRO-FORMA button
|
||||
-
|
||||
!workflow {model: account.invoice, action: invoice_proforma2, ref: account_invoice_voucher_payment}
|
||||
-
|
||||
I check that the invoice state is now "Proforma2"
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_voucher_payment}:
|
||||
- state == 'proforma2'
|
||||
-
|
||||
I create invoice by clicking on Create button
|
||||
-
|
||||
!workflow {model: account.invoice, action: invoice_open, ref: account_invoice_voucher_payment}
|
||||
-
|
||||
I check that the invoice state is "Open"
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_voucher_payment}:
|
||||
- state == 'open'
|
||||
|
||||
-
|
||||
I create a voucher record for above invoice
|
||||
-
|
||||
!record {model: account.voucher, id: account_voucher_voucherforaxelor1}:
|
||||
account_id: account.cash
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
journal_id: account.bank_journal
|
||||
name: Voucher for Axelor
|
||||
narration: Basic Pc
|
||||
payment_ids:
|
||||
- account_id: account.a_recv
|
||||
amount: 450.0
|
||||
name: Voucher for Axelor
|
||||
partner_id: base.res_partner_desertic_hispafuentes
|
||||
invoice_id: account_invoice_voucher_payment
|
||||
type: cr
|
||||
period_id: account.period_6
|
||||
reference_type: none
|
||||
|
||||
-
|
||||
I check that Initially customer voucher is in the "Draft" state
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucherforaxelor1}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I change the state of voucher to "proforma" by clicking PRO-FORMA button
|
||||
-
|
||||
!workflow {model: account.voucher, action: open_voucher, ref: account_voucher_voucherforaxelor1}
|
||||
-
|
||||
I check that the voucher state is now "proforma"
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucherforaxelor1}:
|
||||
- state == 'proforma'
|
||||
-
|
||||
I create voucher by clicking on Create button
|
||||
-
|
||||
!workflow {model: account.voucher, action: proforma_voucher, ref: account_voucher_voucherforaxelor1}
|
||||
-
|
||||
I check that the voucher state is "Waiting for re-checking"
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucherforaxelor1}:
|
||||
- state == 'recheck'
|
||||
-
|
||||
I clicked on Validate Button
|
||||
-
|
||||
!workflow {model: account.voucher, action: recheck_voucher, ref: account_voucher_voucherforaxelor1}
|
||||
-
|
||||
I check that the voucher state is "posted"
|
||||
-
|
||||
!assert {model: account.voucher, id: account_voucher_voucherforaxelor1}:
|
||||
- state == 'posted'
|
||||
|
||||
-
|
||||
I check that Moves get created for this voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
acc_id=self.browse(cr, uid, ref("account_voucher_voucherforaxelor1"))
|
||||
assert(acc_id.move_id)
|
||||
|
||||
-
|
||||
I check that the invoice state is now Done
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_voucher_payment}:
|
||||
- state == 'paid'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -27,8 +27,7 @@ class auction_invoice(report_int):
|
||||
report_int.__init__(self, name)
|
||||
|
||||
def create(self,cr, uid, ids, datas, context):
|
||||
service = netsvc.LocalService("object_proxy")
|
||||
lots = service.execute(cr.dbname,uid, 'auction.lots', 'read', ids, ['ach_inv_id'])
|
||||
lots = self.pool.get('auction.lots').read(cr,uid, ids, ['ach_inv_id'], context=context)
|
||||
|
||||
invoices = {}
|
||||
for l in lots:
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
separator="1" help="Declined Invitations" />
|
||||
<separator orientation="vertical"/>
|
||||
<field name="email" select='1'/>
|
||||
<field name="sent_by_uid" select="1" widget="selection"/>
|
||||
<field name="sent_by_uid" select="1"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="cutype" string="Invitation type" select="1"/>
|
||||
<field name="event_date" select="1"/>
|
||||
@@ -391,7 +391,7 @@
|
||||
<field name="name" select="1" string="Summary"/>
|
||||
<field name="location" select="1" string="Location"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="show_as" select="1"/>
|
||||
<field name="class" select="1"/>
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
If you don't think you need any of these right now, you can easily install them later on.</attribute>
|
||||
</xpath>
|
||||
<xpath expr='//separator[@string="vsep"]' position='attributes'>
|
||||
<attribute name='string'></attribute>
|
||||
<attribute name='rowspan'>15</attribute>
|
||||
</xpath>
|
||||
<separator string="title" position="attributes">
|
||||
<attribute name='string'></attribute>
|
||||
<attribute name='rowspan'>15</attribute>
|
||||
</xpath>
|
||||
<separator string="title" position="attributes">
|
||||
<attribute name="string">Install Generic Modules</attribute>
|
||||
</separator>
|
||||
<group colspan="8">
|
||||
@@ -29,7 +29,7 @@ If you don't think you need any of these right now, you can easily install them
|
||||
<field name="project" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="knowledge" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
|
||||
<field name="stock" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="mrp" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
|
||||
<field name="account" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="purchase" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
|
||||
<field name="hr" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="point_of_sale" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)" groups="base.group_extended"/>
|
||||
<field name="hr" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="point_of_sale" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
|
||||
<field name="marketing" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)" groups="base.group_extended"/> <field name="misc_tools" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
|
||||
<field name="report_designer" groups="base.group_extended" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
|
||||
<separator string="Install Specific Business Modules" colspan="4"/>
|
||||
@@ -60,11 +60,11 @@ If you don't think you need any of these right now, you can easily install them
|
||||
<field name="name">base_setup_installer_action_replace</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="inherit_id" ref="base.ir_actions_todo_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//button[@string='Launch']" position="replace">
|
||||
<button name="%(action_base_setup_installer)d" states="open,skip" string="Launch" type="action" icon="gtk-execute" help="Launch Configuration Wizard"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//button[@string='Launch']" position="replace">
|
||||
<button name="%(action_base_setup_installer)d" states="open,skip" string="Launch" type="action" icon="gtk-execute" help="Launch Configuration Wizard"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -10,45 +10,45 @@
|
||||
<form position="attributes">
|
||||
<attribute name="string">Main Company Setup</attribute>
|
||||
</form>
|
||||
<xpath expr="//label[@string='description']" position="attributes">
|
||||
<attribute name="string">Information of your company will be used to custiomise your documents like Invoices, Sale Orders,...</attribute>
|
||||
</xpath>
|
||||
<xpath expr='//separator[@string="title"]' position='attributes'>
|
||||
<attribute name='string'>Configure Your Company</attribute>
|
||||
</xpath>
|
||||
<xpath expr='//separator[@string="vsep"]' position='attributes'>
|
||||
<attribute name='rowspan'>25</attribute>
|
||||
<attribute name='string'></attribute>
|
||||
</xpath>
|
||||
<xpath expr="//label[@string='description']" position="attributes">
|
||||
<attribute name="string">Information of your company will be used to custiomise your documents like Invoices, Sale Orders,...</attribute>
|
||||
</xpath>
|
||||
<xpath expr='//separator[@string="title"]' position='attributes'>
|
||||
<attribute name='string'>Configure Your Company</attribute>
|
||||
</xpath>
|
||||
<xpath expr='//separator[@string="vsep"]' position='attributes'>
|
||||
<attribute name='rowspan'>25</attribute>
|
||||
<attribute name='string'></attribute>
|
||||
</xpath>
|
||||
<group string="res_config_contents" position="replace">
|
||||
<group colspan="5">
|
||||
<group colspan="2">
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="name" required="True"/><field name="account_no"/>
|
||||
<field name="currency" widget="selection"/><field name="street"/>
|
||||
<field name="zip"/>
|
||||
<field name="street2"/>
|
||||
<field name="country_id"/>
|
||||
<field name="state_id"/>
|
||||
<field name="city"/>
|
||||
<field name="email"/>
|
||||
<field name="phone"/>
|
||||
<field name="website"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group colspan="2" groups="base.group_extended">
|
||||
<separator string="Report Information" colspan="4"/>
|
||||
<field name="rml_header1" colspan="5"/>
|
||||
<field name="rml_footer1" colspan="5"/>
|
||||
<field name="rml_footer2" colspan="5"/>
|
||||
<group colspan="5">
|
||||
<group colspan="2">
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="name" required="True"/><field name="account_no"/>
|
||||
<field name="currency" widget="selection"/><field name="street"/>
|
||||
<field name="zip"/>
|
||||
<field name="street2"/>
|
||||
<field name="country_id"/>
|
||||
<field name="state_id"/>
|
||||
<field name="city"/>
|
||||
<field name="email"/>
|
||||
<field name="phone"/>
|
||||
<field name="website"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group colspan="2" groups="base.group_extended">
|
||||
<separator string="Report Information" colspan="4"/>
|
||||
<field name="rml_header1" colspan="5"/>
|
||||
<field name="rml_footer1" colspan="5"/>
|
||||
<field name="rml_footer2" colspan="5"/>
|
||||
|
||||
<separator colspan="4"
|
||||
string="Your Logo - Use a size of about 450x150 pixels."/>
|
||||
<field colspan="5" name="logo" widget="image"
|
||||
nolabel="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
<separator colspan="4"
|
||||
string="Your Logo - Use a size of about 450x150 pixels."/>
|
||||
<field colspan="5" name="logo" widget="image"
|
||||
nolabel="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
<xpath expr='//button[@name="action_skip"]' position='replace'/>
|
||||
</data>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
"access_base_setup_installer","base.setup.installer","model_base_setup_installer",,1,0,0,0
|
||||
"access_base_setup_company","base.setup.company","model_base_setup_company",,1,0,0,0
|
||||
"access_base_setup_config","base.setup.config","model_base_setup_config",,1,0,0,0
|
||||
"access_base_setup_installer","base.setup.installer","model_base_setup_installer",base.group_system,1,1,1,1
|
||||
"access_base_setup_company","base.setup.company","model_base_setup_company",base.group_system,1,1,1,1
|
||||
"access_base_setup_config","base.setup.config","model_base_setup_config",base.group_system,1,1,1,1
|
||||
|
||||
|
@@ -29,7 +29,6 @@
|
||||
|
||||
<menuitem id="base.menu_sales" name="Sales"
|
||||
parent="base.menu_base_partner" sequence="1" />
|
||||
|
||||
|
||||
<menuitem parent="base.menu_sales" name="Leads"
|
||||
groups="base.group_extended"
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
states="open,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
</group>
|
||||
<field name="type" readonly="1"/>
|
||||
<field name="type" invisible="1"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Lead">
|
||||
@@ -298,7 +298,7 @@
|
||||
<separator orientation="vertical"/>
|
||||
<field name="partner_name"/>
|
||||
<field name="email_from"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<field name="user_id">
|
||||
<filter icon="terp-personal-"
|
||||
domain="[('user_id','=', False)]"
|
||||
help="Unassigned Leads" />
|
||||
|
||||
+20
-11
@@ -32,11 +32,12 @@ from tools.translate import _
|
||||
import tools
|
||||
from osv import fields,osv,orm
|
||||
from osv.orm import except_orm
|
||||
import collections
|
||||
|
||||
from tools import command_re
|
||||
|
||||
class crm_cases(osv.osv):
|
||||
""" crm cases """
|
||||
class mailgate_thread(osv.osv):
|
||||
""" mailgate_thread """
|
||||
|
||||
_name = "mailgate.thread"
|
||||
_inherit = "mailgate.thread"
|
||||
@@ -127,7 +128,7 @@ class crm_cases(osv.osv):
|
||||
#getattr(self, act)(cr, uid, select)
|
||||
return res
|
||||
|
||||
def emails_get(self, cr, uid, ids, context={}):
|
||||
def emails_get(self, cr, uid, ids, context=None):
|
||||
|
||||
"""
|
||||
Get Emails
|
||||
@@ -137,16 +138,24 @@ class crm_cases(osv.osv):
|
||||
@param ids: List of email’s IDs
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
res = []
|
||||
res = {}
|
||||
|
||||
if isinstance(ids, (str, int, long)):
|
||||
select = [ids]
|
||||
select = [long(ids)]
|
||||
else:
|
||||
select = ids
|
||||
for case in self.browse(cr, uid, select):
|
||||
user_email = (case.user_id and case.user_id.address_id and case.user_id.address_id.email) or False
|
||||
res += [(user_email, case.email_from, case.email_cc or False, getattr(case,'priority') and case.priority or False)]
|
||||
if isinstance(ids, (str, int, long)):
|
||||
return len(res) and res[0] or False
|
||||
|
||||
for thread in self.browse(cr, uid, select, context=context):
|
||||
values = collections.defaultdict(set)
|
||||
|
||||
for message in thread.message_ids:
|
||||
user_email = (message.user_id and message.user_id.address_id and message.user_id.address_id.email) or False
|
||||
values['user_email'].add(user_email)
|
||||
values['email_from'].add(message.email_from)
|
||||
values['email_cc'].add(message.email_cc or False)
|
||||
|
||||
res[str(thread.id)] = dict((key,list(values[key])) for key, value in values.iteritems())
|
||||
|
||||
return res
|
||||
|
||||
def msg_send(self, cr, uid, id, *args, **argv):
|
||||
@@ -161,4 +170,4 @@ class crm_cases(osv.osv):
|
||||
"""
|
||||
return True
|
||||
|
||||
crm_cases()
|
||||
mailgate_thread()
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<field name="act_window_id" ref="crm_case_categ_meet_create_partner"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="action_crm_tag_gantt_meet_partner">
|
||||
<record model="ir.actions.act_window.view" id="action_crm_tag_gantt_meet_partner">
|
||||
<field name="sequence" eval="3"/>
|
||||
<field name="view_mode">gantt</field>
|
||||
<field name="view_id" ref="crm_case_gantt_view_meet"/>
|
||||
@@ -85,33 +85,33 @@
|
||||
<!-- ALL MEETINGS -->
|
||||
|
||||
<menuitem name="Meetings" id="menu_meeting_sale"
|
||||
parent="base.menu_base_partner" sequence="3" />
|
||||
parent="base.menu_base_partner" sequence="3" />
|
||||
|
||||
<menuitem name="Meetings" id="menu_crm_case_categ_meet"
|
||||
action="crm_case_categ_meet" parent="menu_meeting_sale"
|
||||
sequence="1" />
|
||||
action="crm_case_categ_meet" parent="menu_meeting_sale"
|
||||
sequence="1" />
|
||||
|
||||
<record id="ir_ui_view_sc_calendar0" model="ir.ui.view_sc">
|
||||
<record id="ir_ui_view_sc_calendar0" model="ir.ui.view_sc">
|
||||
<field name="name">Calendar</field>
|
||||
<field name="resource">ir.ui.menu</field>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="res_id" ref="crm.menu_crm_case_categ_meet"/>
|
||||
</record>
|
||||
</record>
|
||||
<record id="action_view_attendee_form" model="ir.actions.act_window">
|
||||
<field name="name">Meeting Invitations</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">calendar.attendee</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="base_calendar.base_calendar_attendee_tree_view" />
|
||||
<field name="name">Meeting Invitations</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">calendar.attendee</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="base_calendar.base_calendar_attendee_tree_view" />
|
||||
<field name="domain">[('ref','like','crm.meeting,')]</field>
|
||||
<field name="context">{'default_sent_by_uid': uid}</field>
|
||||
</record>
|
||||
<field name="context">{'default_sent_by_uid': uid}</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_attendee_invitations"
|
||||
name="Meeting Invitations" parent="crm.menu_meeting_sale"
|
||||
sequence="10" action="action_view_attendee_form"
|
||||
groups="base.group_extended" />
|
||||
name="Meeting Invitations" parent="crm.menu_meeting_sale"
|
||||
sequence="10" action="action_view_attendee_form"
|
||||
groups="base.group_extended" />
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- CRM Meetings Categories Form View -->
|
||||
<!-- CRM Meetings Categories Form View -->
|
||||
|
||||
<record id="crm_meeting_categ_action" model="ir.actions.act_window">
|
||||
<field name="name">Meeting Categories</field>
|
||||
@@ -16,7 +16,7 @@
|
||||
<menuitem action="crm_meeting_categ_action" name="Categories"
|
||||
id="menu_crm_case_meeting-act" parent="menu_crm_config_meeting" />
|
||||
|
||||
<!-- CRM Meetings Form View -->
|
||||
<!-- CRM Meetings Form View -->
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_form_view_meet">
|
||||
<field name="name">CRM - Meetings Form</field>
|
||||
@@ -26,7 +26,7 @@
|
||||
<form string="Meetings">
|
||||
<group col="6" colspan="4">
|
||||
<field name="name" select="1" string="Summary"
|
||||
required="1" colspan="2" />
|
||||
required="1" colspan="2" />
|
||||
<field name="categ_id" widget="selection"
|
||||
string="Meeting Type"
|
||||
groups="base.group_extended"
|
||||
@@ -51,9 +51,9 @@
|
||||
name="open_meeting" icon="gtk-edit"
|
||||
type="object" />
|
||||
<button string="ExRule"
|
||||
name="%(base_calendar.action_base_calendar_set_exrule)d" icon="gtk-zoom-out" type="action"
|
||||
context="{'model' : 'crm.meeting'}"
|
||||
attrs="{'invisible':[('rrule_type','in', ('none', False))]}"/>
|
||||
name="%(base_calendar.action_base_calendar_set_exrule)d" icon="gtk-zoom-out" type="action"
|
||||
context="{'model' : 'crm.meeting'}"
|
||||
attrs="{'invisible':[('rrule_type','in', ('none', False))]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="4" colspan="4" name="rrule" attrs="{'invisible': [('rrule_type','!=','custom')]}">
|
||||
@@ -133,7 +133,7 @@
|
||||
<button name="case_close" string="Done"
|
||||
states="open" type="object"
|
||||
icon="gtk-jump-to" />
|
||||
<button name="case_reset" string="Reset to Unconfirmed"
|
||||
<button name="case_reset" string="Reset to Unconfirmed"
|
||||
states="open,done,cancel" type="object"
|
||||
icon="gtk-convert" />
|
||||
<button name="case_open" string="Confirm"
|
||||
@@ -204,7 +204,7 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- CRM Meeting Tree View -->
|
||||
<!-- CRM Meeting Tree View -->
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_tree_view_meet">
|
||||
<field name="name">CRM - Meetings Tree</field>
|
||||
@@ -222,7 +222,7 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- CRM Meeting Calendar -->
|
||||
<!-- CRM Meeting Calendar -->
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_calendar_view_meet">
|
||||
<field name="name">CRM - Meetings Calendar</field>
|
||||
@@ -238,7 +238,7 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- CRM Meeting Gantt -->
|
||||
<!-- CRM Meeting Gantt -->
|
||||
|
||||
<record id="crm_case_gantt_view_meet" model="ir.ui.view">
|
||||
<field name="name">CRM - Meetings Gantt</field>
|
||||
@@ -254,7 +254,7 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- CRM Meeting Search View -->
|
||||
<!-- CRM Meeting Search View -->
|
||||
|
||||
<record id="view_crm_case_meetings_filter" model="ir.ui.view">
|
||||
<field name="name">CRM - Meetings Search</field>
|
||||
@@ -274,29 +274,29 @@
|
||||
domain="[('section_id','=',context.get('section_id',False))]"
|
||||
help="My Sale Team" />
|
||||
</field>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
<field name="user_id" select="1"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Date" icon="terp-go-month"
|
||||
domain="[]" context="{'group_by':'date'}" />
|
||||
<filter string="Privacy" icon="terp-locked"
|
||||
domain="[]" context="{'group_by':'class'}" />
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Responsible" icon="terp-personal" domain="[]"
|
||||
context="{'group_by':'user_id'}" />
|
||||
<filter string="Partner" icon="terp-personal" domain="[]"
|
||||
context="{'group_by':'partner_id'}" />
|
||||
<separator orientation="vertical" />
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]"
|
||||
context="{'group_by':'state'}" />
|
||||
<separator orientation="vertical" />
|
||||
</group>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Date" icon="terp-go-month"
|
||||
domain="[]" context="{'group_by':'date'}" />
|
||||
<filter string="Privacy" icon="terp-locked"
|
||||
domain="[]" context="{'group_by':'class'}" />
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Responsible" icon="terp-personal" domain="[]"
|
||||
context="{'group_by':'user_id'}" />
|
||||
<filter string="Partner" icon="terp-personal" domain="[]"
|
||||
context="{'group_by':'partner_id'}" />
|
||||
<separator orientation="vertical" />
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]"
|
||||
context="{'group_by':'state'}" />
|
||||
<separator orientation="vertical" />
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Calendar Attendee Form View -->
|
||||
<!-- Calendar Attendee Form View -->
|
||||
|
||||
<record id="attendee_form_view_inherit" model="ir.ui.view">
|
||||
<field name="name">calendar.attendee.form.inherit</field>
|
||||
@@ -310,7 +310,7 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Calendar Attendee Tree View -->
|
||||
<!-- Calendar Attendee Tree View -->
|
||||
|
||||
<record id="attendee_tree_view_inherit" model="ir.ui.view">
|
||||
<field name="name">calendar.attendee.tree.inherit</field>
|
||||
|
||||
@@ -52,8 +52,9 @@ class crm_opportunity(osv.osv):
|
||||
'ref2': fields.reference('Reference 2', selection=crm._links_get, size=128),
|
||||
'phone': fields.char("Phone", size=64),
|
||||
'date_deadline': fields.date('Expected Closing'),
|
||||
'date_action': fields.date('Next Action'),
|
||||
}
|
||||
'date_action': fields.date('Next Action Date'),
|
||||
'title_action': fields.char('Next Action', size=64),
|
||||
}
|
||||
def case_close(self, cr, uid, ids, *args):
|
||||
"""Overrides close for crm_case for setting probability and close date
|
||||
@param self: The object pointer
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<act_window
|
||||
<act_window
|
||||
id="act_crm_opportunity_crm_phonecall_new"
|
||||
name="Phone calls"
|
||||
res_model="crm.phonecall"
|
||||
@@ -12,7 +12,7 @@
|
||||
domain="[('user_id','=',uid),('opportunity_id', '=', active_id)]"
|
||||
view_type="form"/>
|
||||
|
||||
<act_window
|
||||
<act_window
|
||||
id="act_crm_opportunity_crm_meeting_new"
|
||||
name="Meetings"
|
||||
res_model="crm.meeting"
|
||||
@@ -25,11 +25,10 @@
|
||||
<record model="ir.actions.act_window" id="crm_case_category_act_oppor11">
|
||||
<field name="name">Opportunities</field>
|
||||
<field name="res_model">crm.lead</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="domain">['|',('type','=','opportunity'),('state','=','draft')]</field>
|
||||
<field name="context">{'search_default_user_id':uid,'search_default_current':1}</field>
|
||||
<field name="view_mode">tree,form,graph,calendar</field>
|
||||
<field name="domain">[('type','=','opportunity')]</field>
|
||||
<field name="context">{'search_default_user_id':uid,'search_default_current':1, 'default_type': 'opportunity'}</field>
|
||||
<field name="view_id" ref="crm_case_tree_view_oppor"/>
|
||||
<field name="context">{'search_default_current':1, 'default_type': 'opportunity'}</field>
|
||||
<field name="search_view_id" ref="crm.view_crm_case_opportunities_filter"/>
|
||||
</record>
|
||||
|
||||
@@ -55,11 +54,11 @@
|
||||
</record>
|
||||
|
||||
<menuitem id="base.menu_sales" name="Sales"
|
||||
parent="base.menu_base_partner" sequence="1" />
|
||||
parent="base.menu_base_partner" sequence="1" />
|
||||
|
||||
<menuitem name="Opportunities" id="menu_crm_case_opp"
|
||||
parent="base.menu_sales" action="crm_case_category_act_oppor11"
|
||||
sequence="2" />
|
||||
parent="base.menu_sales" action="crm_case_category_act_oppor11"
|
||||
sequence="2" />
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
id="menu_crm_opportunity_stage_act" name="Stages"
|
||||
parent="menu_crm_config_opportunity" />
|
||||
|
||||
<!-- Opportunity Resource Type Form View -->
|
||||
<!-- Opportunity Resource Type Form View -->
|
||||
|
||||
<record id="crm_opportunity_resource_act" model="ir.actions.act_window">
|
||||
<field name="name">Opportunity Resource Type</field>
|
||||
@@ -81,8 +81,10 @@
|
||||
name="%(opportunity2phonecall_act)d" icon="gtk-redo" type="action" />
|
||||
<newline/>
|
||||
<field name="date_action"/>
|
||||
<field name="title_action"/>
|
||||
<field name="priority" string="Priority"/>
|
||||
<field name="type" readonly="1"/>
|
||||
<newline/>
|
||||
<field name="type" invisible="1"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Opportunity">
|
||||
@@ -133,6 +135,27 @@
|
||||
icon="gtk-convert" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="Lead">
|
||||
<group colspan="2" col="4">
|
||||
<separator string="Contact" colspan="4" col="4"/>
|
||||
<field name="partner_name" string="Partner Name" colspan="4"/>
|
||||
<newline/>
|
||||
<field domain="[('domain', '=', 'contact')]" name="title"/>
|
||||
<field name="function" />
|
||||
<field name="street" colspan="4"/>
|
||||
<field name="street2" colspan="4"/>
|
||||
<field name="zip"/>
|
||||
<field name="city"/>
|
||||
<field name="country_id"/>
|
||||
<field name="state_id"/>
|
||||
</group>
|
||||
<group colspan="2" col="3">
|
||||
<separator string="Communication" colspan="4" col="3"/>
|
||||
<field name="fax"/>
|
||||
<newline/>
|
||||
<field name="mobile"/>
|
||||
</group>
|
||||
</page>
|
||||
|
||||
<page string="Emails" groups="base.group_extended">
|
||||
<group colspan="4">
|
||||
@@ -160,10 +183,10 @@
|
||||
icon="gtk-undo" type="action" />
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="date"/>
|
||||
<field name="email_from" />
|
||||
<field name="email_to"/>
|
||||
<field name="description"/>
|
||||
<field name="date"/>
|
||||
<field name="email_from" />
|
||||
<field name="email_to"/>
|
||||
<field name="description"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="2" string="Send New Email"
|
||||
@@ -223,8 +246,8 @@
|
||||
<field name="create_date"/>
|
||||
<field name="name" string="Opportunity"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="date_action"/>
|
||||
<field name="stage_id"/>
|
||||
<field name="categ_id" invisible="1" groups="base.group_extended"/>
|
||||
<button name="stage_previous" string="Previous"
|
||||
states="open,pending" type="object" icon="gtk-go-back" />
|
||||
<button name="stage_next" string="Next"
|
||||
@@ -232,10 +255,9 @@
|
||||
icon="gtk-go-forward" />
|
||||
<field name="planned_revenue" sum="Total of Planned Revenue"/>
|
||||
<field name="probability" widget="progressbar" avg="Avg. of Probability"/>
|
||||
<field name="date_action"/>
|
||||
<field name="section_id" groups="base.group_extended"/>
|
||||
<field name="section_id"
|
||||
invisible="context.get('invisible_section', True)" />
|
||||
<field name="user_id"/>
|
||||
<field name="priority"/>
|
||||
<field name="state"/>
|
||||
<button name="case_open" string="Open"
|
||||
states="draft,pending" type="object"
|
||||
@@ -297,17 +319,23 @@
|
||||
/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" string="Opportunity"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<field name="user_id">
|
||||
<filter icon="terp-personal-"
|
||||
domain="[('user_id','=', False)]"
|
||||
help="Unassigned Opportunities" />
|
||||
</field>
|
||||
<field name="section_id"
|
||||
default="context.get('section_id', False)" select="1"
|
||||
default="context.get('section_id', False)"
|
||||
context="{'invisible_section': False}"
|
||||
widget="selection">
|
||||
<filter icon="terp-personal+"
|
||||
domain="[('section_id','=',context.get('section_id',False))]"
|
||||
domain="[('section_id.user_id','=',uid)]"
|
||||
context="{'invisible_section': False}"
|
||||
help="My Sale Team" />
|
||||
<filter icon="terp-personal+"
|
||||
context="{'invisible_section': False}"
|
||||
domain="[]"
|
||||
help="Show Sales Team"/>
|
||||
</field>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="16">
|
||||
|
||||
@@ -261,7 +261,7 @@
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" string="Call Summary"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<field name="user_id">
|
||||
<filter icon="terp-personal-"
|
||||
domain="[('user_id','=',False)]"
|
||||
help="Unassigned Phonecalls" />
|
||||
|
||||
@@ -187,7 +187,7 @@
|
||||
<field name="act_window_id" ref="action_report_crm_phonecall"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Phone Calls"
|
||||
<menuitem name="Phone Calls Analysis"
|
||||
action="action_report_crm_phonecall"
|
||||
id="menu_report_crm_phonecalls_tree" parent="base.next_id_64" />
|
||||
|
||||
|
||||
@@ -34,5 +34,5 @@
|
||||
"access_res_partner","res.partner.crm.user","base.model_res_partner","crm.group_crm_user",1,0,0,0
|
||||
"access_res_partner_address","res.partner.address.crm.user","base.model_res_partner_address","crm.group_crm_user",1,0,0,0
|
||||
"access_res_partner_category","res.partner.category.crm.user","base.model_res_partner_category","crm.group_crm_user",1,0,0,0
|
||||
"mail_gateway_mailgate_message","mail_gateway.mailgate.message","model_mailgate_message","crm.group_crm_user",1,1,1,1
|
||||
"mail_gateway_mailgate_message","mail_gateway.mailgate.message","mail_gateway.model_mailgate_message","crm.group_crm_user",1,1,1,1
|
||||
"mail_gateway_mailgate_thread","mail_gateway.mailgate.thread","model_mailgate_thread","crm.group_crm_user",1,1,1,1
|
||||
|
||||
|
@@ -67,7 +67,7 @@
|
||||
<field colspan="4" name="line_ids" nolabel="1" select="1"/>
|
||||
</page>
|
||||
<page string="Destination">
|
||||
<separator colspan="4" string="Countries"/>
|
||||
<separator colspan="4" string="Countries"/>
|
||||
<field colspan="4" name="country_ids" nolabel="1"/>
|
||||
<separator colspan="4" string="States"/>
|
||||
<field colspan="4" name="state_ids" nolabel="1"/>
|
||||
@@ -243,18 +243,6 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_move_withweight_tree" model="ir.ui.view">
|
||||
<field name="name">stock.move.tree.weight</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="model">stock.move</field>
|
||||
<field name="inherit_id" ref="stock.view_move_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="product_uom" position="after">
|
||||
<field name="weight"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_move_withweight_form" model="ir.ui.view">
|
||||
<field name="name">stock.move.form.weight</field>
|
||||
<field name="type">form</field>
|
||||
@@ -267,18 +255,6 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_move_reception_picking_withweight_tree" model="ir.ui.view">
|
||||
<field name="name">stock.move.reception.packing.tree.weight</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="model">stock.move</field>
|
||||
<field name="inherit_id" ref="stock.view_move_tree_reception_picking"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="product_uom" position="after">
|
||||
<field name="weight"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_move_reception_picking_withweight_form" model="ir.ui.view">
|
||||
<field name="name">stock.move.reception.packing.form.weight</field>
|
||||
<field name="type">form</field>
|
||||
@@ -297,8 +273,8 @@
|
||||
<field name="inherit_id" ref="sale.view_order_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page[@string='Sale Order']/group[1]/button[@name='button_dummy']" position="after">
|
||||
<button name="%(action_delivery_cost)d" states="draft" string="Delivery Costs" type="action" icon="gtk-execute" context="{'order_id':id}"/>
|
||||
</xpath>
|
||||
<button name="%(action_delivery_cost)d" states="draft" string="Delivery Costs" type="action" icon="gtk-execute" context="{'order_id':id}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-04-23 09:08+0000\n"
|
||||
"Last-Translator: grisha <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-06-11 16:12+0000\n"
|
||||
"Last-Translator: Sios <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-24 03:52+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-12 03:44+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: delivery
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<!--<menuitem name="Document Management" icon="terp-stock" id="menu_document"/>
|
||||
<menuitem name="Document Configuration" id="menu_document_configuration" parent="menu_document"/>-->
|
||||
|
||||
<menuitem name="Knowledge Management" icon="terp-stock" id="base.menu_document" sequence="4" groups="base.group_user"/>
|
||||
<menuitem name="Knowledge" icon="terp-stock" id="base.menu_document" sequence="4" groups="base.group_user"/>
|
||||
<menuitem name="Configuration" id="base.menu_document_configuration" parent="base.menu_document" sequence="50"/>
|
||||
<menuitem name="Document Management" id="menu_document_management_configuration" parent="base.menu_document_configuration" sequence="1"/>
|
||||
|
||||
@@ -238,19 +238,19 @@
|
||||
help="less 1 month modified/created attachments"
|
||||
domain="[('create_date','<=', time.strftime('%%Y-%%m-%%d')),('create_date','>',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
|
||||
/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<separator orientation="vertical"/>
|
||||
<field name="user_id">
|
||||
<filter icon="terp-personal"
|
||||
domain="[('user_id','=', False)]"
|
||||
help="Filter on my Attachment" />
|
||||
</field>
|
||||
<field name="partner_id" widget="selection"/>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
</field>
|
||||
<field name="partner_id"/>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Partner" icon="terp-personal" domain="[]"
|
||||
context="{'group_by':'partner_id'}" />
|
||||
<filter string="Directory" icon="terp-folder-green" domain="[]" context="{'group_by':'parent_id'}"/>
|
||||
</group>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
'email_template_view.xml',
|
||||
'email_template_mailbox_view.xml',
|
||||
'wizard/email_template_send_wizard_view.xml',
|
||||
'security/ir.model.access.csv'
|
||||
],
|
||||
"installable": True,
|
||||
"active": False,
|
||||
|
||||
@@ -1,69 +1,69 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<data>
|
||||
|
||||
<menuitem name="Tools" id="base.menu_tools" icon="STOCK_PREFERENCES" sequence="15"/>
|
||||
<menuitem name="Email Template" id="menu_email_template" parent="base.menu_tools"/>
|
||||
|
||||
<record model="ir.ui.view" id="email_template_account_form">
|
||||
<field name="name">email_template.account.form</field>
|
||||
<field name="model">email_template.account</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Email Account Configuration">
|
||||
<group colspan="2">
|
||||
<field name="name" select="1" />
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Outgoing">
|
||||
<separator string="Server Information" colspan="4" />
|
||||
<group colspan="4">
|
||||
<field name="smtpserver" select="1" colspan="2" />
|
||||
<field name="smtpport" select="2" colspan="2" />
|
||||
<field name="smtpssl" select="2" colspan="2" />
|
||||
<field name="smtptls" select="2" colspan="2" />
|
||||
</group>
|
||||
<button name="check_outgoing_connection" type="object" string="Check Outgoing Connection" />
|
||||
<separator string="User Information" colspan="4" />
|
||||
<group col="2" colspan="2">
|
||||
<field name="email_id" select="1" on_change="on_change_emailid(name,email_id)" colspan="2" />
|
||||
<field name="smtppass" password="True" colspan="2" />
|
||||
<field name="company" select="2" colspan="2" />
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<field name="smtpuname" select="1" colspan="2" />
|
||||
<field name="user" select="2" colspan="2" />
|
||||
<field name="send_pref" colspan="2" />
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
<group colspan="4" col="10">
|
||||
<field name="state" select="1"/>
|
||||
<button string="Approve Account" name="button_approval" states="draft" type="workflow"/>
|
||||
<button string="Suspend Account" name="button_suspended" states="approved" type="workflow" />
|
||||
<button string="Request Re-activation" name="get_reapprove" states="suspended" type="workflow" />
|
||||
<button string="Send/Receive" name="send_receive" states="approved" type="object" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="email_template_account_form">
|
||||
<field name="name">email_template.account.form</field>
|
||||
<field name="model">email_template.account</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Email Account Configuration">
|
||||
<group colspan="2">
|
||||
<field name="name" select="1" />
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Outgoing">
|
||||
<separator string="Server Information" colspan="4" />
|
||||
<group colspan="4">
|
||||
<field name="smtpserver" select="1" colspan="2" />
|
||||
<field name="smtpport" select="2" colspan="2" />
|
||||
<field name="smtpssl" select="2" colspan="2" />
|
||||
<field name="smtptls" select="2" colspan="2" />
|
||||
</group>
|
||||
<button name="check_outgoing_connection" type="object" string="Check Outgoing Connection" />
|
||||
<separator string="User Information" colspan="4" />
|
||||
<group col="2" colspan="2">
|
||||
<field name="email_id" select="1" on_change="on_change_emailid(name,email_id)" colspan="2" />
|
||||
<field name="smtppass" password="True" colspan="2" />
|
||||
<field name="company" select="2" colspan="2" />
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<field name="smtpuname" select="1" colspan="2" />
|
||||
<field name="user" select="2" colspan="2" />
|
||||
<field name="send_pref" colspan="2" />
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
<group colspan="4" col="10">
|
||||
<field name="state" select="1"/>
|
||||
<button string="Approve Account" name="button_approval" states="draft" type="workflow"/>
|
||||
<button string="Suspend Account" name="button_suspended" states="approved" type="workflow" />
|
||||
<button string="Request Re-activation" name="get_reapprove" states="suspended" type="workflow" />
|
||||
<button string="Send/Receive" name="send_receive" states="approved" type="object" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="email_template_account_tree">
|
||||
<field name="name">email_template.account.tree</field>
|
||||
<field name="model">email_template.account</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="SMTP Server">
|
||||
<field name="name" select="2" />
|
||||
<field name="email_id" select="2" />
|
||||
<field name="smtpuname" select="2" />
|
||||
<field name="user" select="2" />
|
||||
<field name="smtpserver" select="2" />
|
||||
<field name="smtpport" select="2" />
|
||||
<field name="state" select="2" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="email_template_account_tree">
|
||||
<field name="name">email_template.account.tree</field>
|
||||
<field name="model">email_template.account</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="SMTP Server">
|
||||
<field name="name" select="2" />
|
||||
<field name="email_id" select="2" />
|
||||
<field name="smtpuname" select="2" />
|
||||
<field name="user" select="2" />
|
||||
<field name="smtpserver" select="2" />
|
||||
<field name="smtpport" select="2" />
|
||||
<field name="state" select="2" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_email_template_account_search" model="ir.ui.view">
|
||||
<field name="name">email_template.account.search</field>
|
||||
@@ -85,21 +85,21 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_email_template_account_tree_all">
|
||||
<field name="name">Accounts</field>
|
||||
<field name="res_model">email_template.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form,tree</field>
|
||||
<field name="view_id" ref="email_template_account_tree" />
|
||||
<record model="ir.actions.act_window" id="action_email_template_account_tree_all">
|
||||
<field name="name">Accounts</field>
|
||||
<field name="res_model">email_template.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form,tree</field>
|
||||
<field name="view_id" ref="email_template_account_tree" />
|
||||
<field name="context">{'group_by': [], 'search_default_draft': 1, 'search_default_my': 1}</field>
|
||||
<field name="search_view_id" ref="view_email_template_account_search"/>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
<menuitem name="Configuration" id="menu_email_template_configuration" parent="menu_email_template" />
|
||||
<menuitem name="Configuration" id="menu_email_template_configuration" parent="menu_email_template" />
|
||||
|
||||
<menuitem name="All Accounts" id="menu_email_template_account_all" parent="menu_email_template_configuration" action="action_email_template_account_tree_all" groups="res_groups_email_template_manager" />
|
||||
<menuitem name="Email Accounts" id="menu_email_template_account_all" parent="menu_email_template_configuration" action="action_email_template_account_tree_all"/>
|
||||
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
|
||||
|
||||
@@ -1,81 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<!-- Email Template-->
|
||||
<record model="ir.ui.view" id="email_template_mailbox_form">
|
||||
<field name="name">email_template.mailbox.form</field>
|
||||
<field name="model">email_template.mailbox</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Outbox">
|
||||
<group col="4" colspan="2">
|
||||
<field name="email_from" colspan="4" select="1"/>
|
||||
<field name="email_cc" colspan="4" select="1"/>
|
||||
<field name="date_mail" colspan="4" select="2"/>
|
||||
</group>
|
||||
<group col="4" colspan="2">
|
||||
<field name="email_to" colspan="4" required="1" select="1" />
|
||||
<field name="email_bcc" colspan="4" select="2"/>
|
||||
<field name="subject" colspan="4" select="1"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Standard Body">
|
||||
<separator colspan="4" string="Standard Body" />
|
||||
<notebook colspan="4">
|
||||
<page string="Standard Body (Text)">
|
||||
<field name="body_text" nolabel="1" colspan="4" select="1"/>
|
||||
</page>
|
||||
<page string="Body (HTML-Web Client Only)">
|
||||
<field name="body_html" nolabel="1" colspan="4" />
|
||||
<!--<label string="Note: HTML body can't be edited with GTK desktop client." colspan="4"/>
|
||||
--></page>
|
||||
<data>
|
||||
<!-- Email Template-->
|
||||
<record model="ir.ui.view" id="email_template_mailbox_form">
|
||||
<field name="name">email_template.mailbox.form</field>
|
||||
<field name="model">email_template.mailbox</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Outbox">
|
||||
<group col="4" colspan="2">
|
||||
<field name="email_from" colspan="4" select="1"/>
|
||||
<field name="email_cc" colspan="4" select="1"/>
|
||||
<field name="date_mail" colspan="4" select="2"/>
|
||||
</group>
|
||||
<group col="4" colspan="2">
|
||||
<field name="email_to" colspan="4" required="1" select="1" />
|
||||
<field name="email_bcc" colspan="4" select="2"/>
|
||||
<field name="subject" colspan="4" select="1"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Standard Body">
|
||||
<separator colspan="4" string="Standard Body" />
|
||||
<notebook colspan="4">
|
||||
<page string="Standard Body (Text)">
|
||||
<field name="body_text" nolabel="1" colspan="4" select="1"/>
|
||||
</page>
|
||||
<page string="Body (HTML-Web Client Only)">
|
||||
<field name="body_html" nolabel="1" colspan="4" />
|
||||
<!--<label string="Note: HTML body can't be edited with GTK desktop client." colspan="4"/>
|
||||
--></page>
|
||||
|
||||
</notebook>
|
||||
</page>
|
||||
</notebook>
|
||||
</page>
|
||||
|
||||
|
||||
<page string="Attachments">
|
||||
<group col="4">
|
||||
<separator colspan="4" string="Attachments" />
|
||||
<field name="attachments_ids" colspan="4" nolabel="1" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="Advanced">
|
||||
<group col="4">
|
||||
<field name="account_id" colspan="2" />
|
||||
<field name="server_ref" colspan="2" />
|
||||
<field name="mail_type" colspan="2" />
|
||||
<field name="folder" colspan="2" select="2"/>
|
||||
<separator string="History" colspan="4" />
|
||||
<field name="history" nolabel="1" colspan="4"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
<separator colspan="4" string="" />
|
||||
<group col="4" colspan="4">
|
||||
<field name="state" readonly="1" />
|
||||
<button name="complete_mail" type="object" string="Download Full Mail" states="read,unread" />
|
||||
<button name="send_this_mail" type="object" string="Send Mail" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<page string="Attachments">
|
||||
<group col="4">
|
||||
<separator colspan="4" string="Attachments" />
|
||||
<field name="attachments_ids" colspan="4" nolabel="1" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="Advanced">
|
||||
<group col="4">
|
||||
<field name="account_id" colspan="2" />
|
||||
<field name="server_ref" colspan="2" />
|
||||
<field name="mail_type" colspan="2" />
|
||||
<field name="folder" colspan="2" select="2"/>
|
||||
<separator string="History" colspan="4" />
|
||||
<field name="history" nolabel="1" colspan="4"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
<separator colspan="4" string="" />
|
||||
<group col="4" colspan="4">
|
||||
<field name="state" readonly="1" />
|
||||
<button name="complete_mail" type="object" string="Download Full Mail" states="read,unread" />
|
||||
<button name="send_this_mail" type="object" string="Send Mail" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--============================================= TREE VIEWS =============================================-->
|
||||
<record id="view_email_template_mailbox_tree" model="ir.ui.view">
|
||||
<field name="name">email_template.mailbox.tree</field>
|
||||
<field name="model">email_template.mailbox</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Drafts">
|
||||
<field name="user" />
|
||||
<field name="email_from" select="1" />
|
||||
<field name="subject" select="1" />
|
||||
<field name="attachments_ids" select="2" />
|
||||
<field name="date_mail" select="2" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<!--============================================= TREE VIEWS =============================================-->
|
||||
<record id="view_email_template_mailbox_tree" model="ir.ui.view">
|
||||
<field name="name">email_template.mailbox.tree</field>
|
||||
<field name="model">email_template.mailbox</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Drafts">
|
||||
<field name="user" />
|
||||
<field name="email_from" select="1" />
|
||||
<field name="subject" select="1" />
|
||||
<field name="attachments_ids" select="2" />
|
||||
<field name="date_mail" select="2" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_email_template_mailbox_search" model="ir.ui.view">
|
||||
<field name="name">email_template.mailbox.search</field>
|
||||
@@ -109,14 +109,14 @@
|
||||
<field name="search_view_id" ref="view_email_template_mailbox_search"/>
|
||||
</record>
|
||||
|
||||
<!--======================================== MENUS ========================================-->
|
||||
<menuitem name="MailBox" id="menu_email_template_mailbox_all_main2" parent="menu_email_template" />
|
||||
<menuitem name="Personal" id="menu_email_template_personal" parent="menu_email_template_mailbox_all_main2" />
|
||||
<!--======================================== MENUS ========================================-->
|
||||
<menuitem name="MailBox" id="menu_email_template_mailbox_all_main2" parent="menu_email_template" />
|
||||
<menuitem name="Personal" id="menu_email_template_personal" parent="menu_email_template_mailbox_all_main2" />
|
||||
<menuitem name="Mails" id="menu_email_template_personal_mails" parent="menu_email_template_personal" action="action_email_template_mailbox"/>
|
||||
<menuitem name="Company" id="menu_email_template_company" parent="menu_email_template_mailbox_all_main2" />
|
||||
<menuitem name="Company" id="menu_email_template_company" parent="menu_email_template_mailbox_all_main2" />
|
||||
<menuitem name="Mails" id="menu_email_template_company_mails" parent="menu_email_template_company" action="action_email_template_mailbox"/>
|
||||
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
|
||||
|
||||
@@ -1,147 +1,147 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<!-- Email Template PReview -->
|
||||
<record model="ir.ui.view" id="email_template_preview_form">
|
||||
<field name="name">email_template.preview.form</field>
|
||||
<field name="model">email_template.preview</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Email Preview">
|
||||
<field name="rel_model" />
|
||||
<newline />
|
||||
<field name="rel_model_ref" on_change="on_change_ref(rel_model_ref, context)" />
|
||||
<newline />
|
||||
<field name="to" />
|
||||
<newline />
|
||||
<field name="cc" />
|
||||
<newline />
|
||||
<field name="bcc" />
|
||||
<newline />
|
||||
<field name="subject" />
|
||||
<newline />
|
||||
<field name="body_text" />
|
||||
<newline />
|
||||
<!-- <field name="body_html" widget="text_html" />-->
|
||||
<!--
|
||||
Removed text_html because it doesnt work in GTK
|
||||
And TinyMCE messes up the HTML in Web Client
|
||||
-->
|
||||
<field name="body_html"/>
|
||||
<newline />
|
||||
<field name="report" />
|
||||
<group>
|
||||
<button icon="gtk-ok" special="cancel" string="OK" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<data>
|
||||
<!-- Email Template PReview -->
|
||||
<record model="ir.ui.view" id="email_template_preview_form">
|
||||
<field name="name">email_template.preview.form</field>
|
||||
<field name="model">email_template.preview</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Email Preview">
|
||||
<field name="rel_model" />
|
||||
<newline />
|
||||
<field name="rel_model_ref" on_change="on_change_ref(rel_model_ref, context)" />
|
||||
<newline />
|
||||
<field name="to" />
|
||||
<newline />
|
||||
<field name="cc" />
|
||||
<newline />
|
||||
<field name="bcc" />
|
||||
<newline />
|
||||
<field name="subject" />
|
||||
<newline />
|
||||
<field name="body_text" />
|
||||
<newline />
|
||||
<!-- <field name="body_html" widget="text_html" />-->
|
||||
<!--
|
||||
Removed text_html because it doesnt work in GTK
|
||||
And TinyMCE messes up the HTML in Web Client
|
||||
-->
|
||||
<field name="body_html"/>
|
||||
<newline />
|
||||
<field name="report" />
|
||||
<group>
|
||||
<button icon="gtk-ok" special="cancel" string="OK" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="wizard_email_template_preview" model="ir.actions.act_window">
|
||||
<field name="name">Template Preview</field>
|
||||
<field name="res_model">email_template.preview</field>
|
||||
<field name="src_model">email_template.preview</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="auto_refresh" eval="1" />
|
||||
<field name="target">new</field>
|
||||
<field name="context">{'ids':active_id}</field>
|
||||
</record>
|
||||
<!--EMail client Form view -->
|
||||
<record id="wizard_email_template_preview" model="ir.actions.act_window">
|
||||
<field name="name">Template Preview</field>
|
||||
<field name="res_model">email_template.preview</field>
|
||||
<field name="src_model">email_template.preview</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="auto_refresh" eval="1" />
|
||||
<field name="target">new</field>
|
||||
<field name="context">{'ids':active_id}</field>
|
||||
</record>
|
||||
<!--EMail client Form view -->
|
||||
|
||||
<record model="ir.ui.view" id="email_template_form">
|
||||
<field name="name">email.template.form</field>
|
||||
<field name="model">email.template</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Email Templates">
|
||||
<field name="name" />
|
||||
<field name="object_name" required="1"
|
||||
on_change="change_model(object_name)" />
|
||||
<field name="model_int_name" invisible="1" />
|
||||
<notebook colspan="4">
|
||||
<page string="Mail Details">
|
||||
<field name="enforce_from_account" required= "1"/>
|
||||
<group col="4" colspan="2">
|
||||
<field name="from_email"/>
|
||||
<field name="def_to" colspan="4" required="1" />
|
||||
<field name="def_cc" colspan="4" />
|
||||
<field name="def_bcc" colspan="4" />
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<field name="def_subject" colspan="4" required="1" />
|
||||
<field name="use_sign" colspan="4" />
|
||||
<field name="lang" colspan="4" />
|
||||
</group>
|
||||
<separator colspan="3" string="Standard Body" />
|
||||
<separator colspan="1" string="Expression Builder" />
|
||||
<record model="ir.ui.view" id="email_template_form">
|
||||
<field name="name">email.template.form</field>
|
||||
<field name="model">email.template</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Email Templates">
|
||||
<field name="name" />
|
||||
<field name="object_name" required="1"
|
||||
on_change="change_model(object_name)" />
|
||||
<field name="model_int_name" invisible="1" />
|
||||
<notebook colspan="4">
|
||||
<page string="Mail Details">
|
||||
<field name="enforce_from_account" required= "1"/>
|
||||
<group col="4" colspan="2">
|
||||
<field name="from_email"/>
|
||||
<field name="def_to" colspan="4" required="1" />
|
||||
<field name="def_cc" colspan="4" />
|
||||
<field name="def_bcc" colspan="4" />
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<field name="def_subject" colspan="4" required="1" />
|
||||
<field name="use_sign" colspan="4" />
|
||||
<field name="lang" colspan="4" />
|
||||
</group>
|
||||
<separator colspan="3" string="Standard Body" />
|
||||
<separator colspan="1" string="Expression Builder" />
|
||||
|
||||
<notebook>
|
||||
<page string="Body (Text)">
|
||||
<field name="def_body_text" colspan="4" nolabel="1" />
|
||||
</page>
|
||||
<page string="Body (Raw HTML)">
|
||||
<field name="def_body_html" colspan="4" nolabel="1" />
|
||||
<label string="Note: This is Raw HTML." colspan="4" />
|
||||
</page>
|
||||
</notebook>
|
||||
<group col="4">
|
||||
<field name="template_language"
|
||||
on_change="onchange_null_value(model_object_field,sub_model_object_field,null_value,template_language,context)" />
|
||||
<notebook>
|
||||
<page string="Insert Simple Field">
|
||||
<notebook>
|
||||
<page string="Body (Text)">
|
||||
<field name="def_body_text" colspan="4" nolabel="1" />
|
||||
</page>
|
||||
<page string="Body (Raw HTML)">
|
||||
<field name="def_body_html" colspan="4" nolabel="1" />
|
||||
<label string="Note: This is Raw HTML." colspan="4" />
|
||||
</page>
|
||||
</notebook>
|
||||
<group col="4">
|
||||
<field name="template_language"
|
||||
on_change="onchange_null_value(model_object_field,sub_model_object_field,null_value,template_language,context)" />
|
||||
<notebook>
|
||||
<page string="Insert Simple Field">
|
||||
|
||||
<field name="model_object_field"
|
||||
domain="[('model_id','=',object_name),('ttype','!=','one2many'),('ttype','!=','many2many')]"
|
||||
on_change="onchange_model_object_field(model_object_field, template_language,context)"
|
||||
colspan="4" />
|
||||
<field name="sub_object" readonly="1" colspan="4" />
|
||||
<field name="sub_model_object_field"
|
||||
domain="[('model_id','=',sub_object),('ttype','!=','one2many'),('ttype','!=','many2many')]"
|
||||
colspan="4"
|
||||
attrs="{'readonly':[('sub_object','=',False)],'required':[('sub_object','!=',False)]}"
|
||||
on_change="onchange_sub_model_object_field(model_object_field,sub_model_object_field,template_language,context)" />
|
||||
<field name="null_value" colspan="4"
|
||||
on_change="onchange_null_value(model_object_field,sub_model_object_field,null_value,template_language,context)" />
|
||||
<field name="copyvalue" colspan="4" />
|
||||
</page>
|
||||
</notebook>
|
||||
<button name="%(wizard_email_template_preview)d" string="Preview Template"
|
||||
type="action" colspan="4" target="new" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="Advanced">
|
||||
<field name="ref_ir_act_window" />
|
||||
<field name="ref_ir_value" />
|
||||
<separator string="Attachments (Report to attach)" colspan="4"/>
|
||||
<field name="file_name" colspan="2" />
|
||||
<field name="report_template" colspan="2"
|
||||
domain="[('model','=',model_int_name)]" />
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<field name="model_object_field"
|
||||
domain="[('model_id','=',object_name),('ttype','!=','one2many'),('ttype','!=','many2many')]"
|
||||
on_change="onchange_model_object_field(model_object_field, template_language,context)"
|
||||
colspan="4" />
|
||||
<field name="sub_object" readonly="1" colspan="4" />
|
||||
<field name="sub_model_object_field"
|
||||
domain="[('model_id','=',sub_object),('ttype','!=','one2many'),('ttype','!=','many2many')]"
|
||||
colspan="4"
|
||||
attrs="{'readonly':[('sub_object','=',False)],'required':[('sub_object','!=',False)]}"
|
||||
on_change="onchange_sub_model_object_field(model_object_field,sub_model_object_field,template_language,context)" />
|
||||
<field name="null_value" colspan="4"
|
||||
on_change="onchange_null_value(model_object_field,sub_model_object_field,null_value,template_language,context)" />
|
||||
<field name="copyvalue" colspan="4" />
|
||||
</page>
|
||||
</notebook>
|
||||
<button name="%(wizard_email_template_preview)d" string="Preview Template"
|
||||
type="action" colspan="4" target="new" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="Advanced">
|
||||
<field name="ref_ir_act_window" />
|
||||
<field name="ref_ir_value" />
|
||||
<separator string="Attachments (Report to attach)" colspan="4"/>
|
||||
<field name="file_name" colspan="2" />
|
||||
<field name="report_template" colspan="2"
|
||||
domain="[('model','=',model_int_name)]" />
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="email_template_tree">
|
||||
<field name="name">email.template.tree</field>
|
||||
<field name="model">email.template</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Email Templates">
|
||||
<field name="name" select="1" />
|
||||
<field name="object_name" required="1" select="1" />
|
||||
<field name="def_to" colspan="4" select="2" />
|
||||
<field name="def_cc" colspan="4" select="2" />
|
||||
<field name="def_bcc" colspan="4" select="2" />
|
||||
<field name="def_subject" colspan="4" select="2" />
|
||||
<field name="use_sign" colspan="4" select="2" />
|
||||
<field name="file_name" colspan="4" />
|
||||
<field name="enforce_from_account" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="email_template_tree">
|
||||
<field name="name">email.template.tree</field>
|
||||
<field name="model">email.template</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Email Templates">
|
||||
<field name="name" select="1" />
|
||||
<field name="object_name" required="1" select="1" />
|
||||
<field name="def_to" colspan="4" select="2" />
|
||||
<field name="def_cc" colspan="4" select="2" />
|
||||
<field name="def_bcc" colspan="4" select="2" />
|
||||
<field name="def_subject" colspan="4" select="2" />
|
||||
<field name="use_sign" colspan="4" select="2" />
|
||||
<field name="file_name" colspan="4" />
|
||||
<field name="enforce_from_account" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_email_template_search" model="ir.ui.view">
|
||||
<field name="name">email.template.search</field>
|
||||
@@ -161,19 +161,19 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_email_template_tree_all">
|
||||
<field name="name">Email Templates</field>
|
||||
<field name="res_model">email.template</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form,tree</field>
|
||||
<field name="view_id" ref="email_template_tree" />
|
||||
<record model="ir.actions.act_window" id="action_email_template_tree_all">
|
||||
<field name="name">Email Templates</field>
|
||||
<field name="res_model">email.template</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form,tree</field>
|
||||
<field name="view_id" ref="email_template_tree" />
|
||||
<field name="search_view_id" ref="view_email_template_search"/>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
<menuitem name="E-MAIL Templates" id="menu_email_template_all"
|
||||
parent="menu_email_template_configuration" action="action_email_template_tree_all" />
|
||||
<menuitem name="E-MAIL Templates" id="menu_email_template_all"
|
||||
parent="menu_email_template_configuration" action="action_email_template_tree_all" />
|
||||
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
|
||||
|
||||
@@ -11,24 +11,24 @@
|
||||
<field name="osv">email_template.account</field>
|
||||
<field name="on_create">True</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!--Activity -->
|
||||
|
||||
|
||||
<record id="act_draft" model="workflow.activity">
|
||||
<field name="wkf_id" ref="wkf_email_template_setting"/>
|
||||
<field name="flow_start">True</field>
|
||||
<field name="name">draft</field>
|
||||
<field name="kind">function</field>
|
||||
<field name="kind">function</field>
|
||||
<field name="action">write({'state':'draft'})</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="act_approved" model="workflow.activity">
|
||||
<field name="name">approval</field>
|
||||
<field name="wkf_id" ref="wkf_email_template_setting"/>
|
||||
<field name="kind">function</field>
|
||||
<field name="action">do_approval()</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="act_suspended" model="workflow.activity">
|
||||
<field name="name">suspended</field>
|
||||
<field name="wkf_id" ref="wkf_email_template_setting"/>
|
||||
@@ -40,16 +40,16 @@
|
||||
<field name="wkf_id" ref="wkf_email_template_setting"/>
|
||||
<field name="flow_stop">True</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Transition -->
|
||||
|
||||
|
||||
<record id="trans_awaiting_approved" model="workflow.transition">
|
||||
<field name="act_from" ref="act_draft"/>
|
||||
<field name="act_to" ref="act_approved"/>
|
||||
<field name="signal">button_approval</field>
|
||||
<field name="role_id" ref="PE_ADMIN"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="trans_approved_suspended" model="workflow.transition">
|
||||
<field name="act_from" ref="act_approved"/>
|
||||
<field name="act_to" ref="act_suspended"/>
|
||||
@@ -67,6 +67,6 @@
|
||||
<field name="act_to" ref="act_dummy"/>
|
||||
<field name="signal">get_never</field>
|
||||
<field name="role_id" ref="PE_ADMIN"/>
|
||||
</record>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,19 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data noupdate="0">
|
||||
<data noupdate="0">
|
||||
|
||||
<record id="res_groups_email_template_manager" model="res.groups">
|
||||
<field name="name">Email Template / Settings_Manager</field>
|
||||
</record>
|
||||
<record id="res_groups_email_template_admin" model="res.groups">
|
||||
<field name="name">Marketing / Email Template</field>
|
||||
</record>
|
||||
|
||||
<record id="res_groups_email_template_userse" model="res.groups">
|
||||
<field name="name">Email Template / External_users</field>
|
||||
</record>
|
||||
|
||||
<record id="res_groups_email_template_usersi" model="res.groups">
|
||||
<field name="name">Email Template / Internal_users</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_email_template_engines","email_template.engines","model_email_template_engines","email_template.res_groups_email_template_admin",1,1,1,1
|
||||
"access_email_template_account","email_template.account","model_email_template_account","email_template.res_groups_email_template_admin",1,1,1,1
|
||||
"access_email_template","email.template","model_email_template","email_template.res_groups_email_template_admin",1,1,1,1
|
||||
"access_email_template_preview","email_template.preview","model_email_template_preview","email_template.res_groups_email_template_admin",1,1,1,1
|
||||
"access_email_template_mailbox","email_template.mailbox","model_email_template_mailbox","email_template.res_groups_email_template_admin",1,1,1,1
|
||||
"access_email_template_send_wizard","email_template.send.wizard","model_email_template_send_wizard","email_template.res_groups_email_template_admin",1,1,1,1
|
||||
|
@@ -7,19 +7,19 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-10-09 07:48+0000\n"
|
||||
"Last-Translator: Sardorbek Pulatov (pROCKrammer) <prockrammer@ya.ru>\n"
|
||||
"PO-Revision-Date: 2010-06-13 13:02+0000\n"
|
||||
"Last-Translator: Alex L. <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-17 03:55+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-14 03:42+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: google_map
|
||||
#: model:ir.actions.wizard,name:google_map.wizard_google_map
|
||||
msgid "Launch Google Map"
|
||||
msgstr ""
|
||||
msgstr "Запустить Google Map"
|
||||
|
||||
#. module: google_map
|
||||
#: constraint:ir.ui.view:0
|
||||
@@ -39,6 +39,9 @@ msgid ""
|
||||
"so that we can directly open google map from the\n"
|
||||
"url widget."
|
||||
msgstr ""
|
||||
"Модуль добавляет поле с Google картой в адрес партнера\n"
|
||||
"поэтому мы можем открыть карту Google непосредственно из\n"
|
||||
"адреса виджета."
|
||||
|
||||
#. module: google_map
|
||||
#: view:res.partner:0
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<search string="Departments">
|
||||
<group col='4' colspan='2'>
|
||||
<field name="name" />
|
||||
<field name="manager_id" widget="selection"/>
|
||||
<field name="manager_id"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
@@ -73,7 +73,7 @@
|
||||
</record>
|
||||
|
||||
<menuitem action="open_module_tree_department" id="menu_department_def" parent="hr.menu_department_tree"/>
|
||||
<menuitem action="open_module_tree_department" id="menu_hr_department_tree" parent="menu_hr_root" sequence="5"/>
|
||||
<menuitem action="open_module_tree_department" id="menu_hr_department_tree" parent="menu_hr_main" sequence="5"/>
|
||||
|
||||
<record model="ir.ui.view" id="view_users_form_inherit">
|
||||
<field name="name">res.users.form</field>
|
||||
|
||||
+17
-12
@@ -6,6 +6,11 @@
|
||||
icon="terp-hr"
|
||||
name="Human Resources"
|
||||
sequence="6"/>
|
||||
<menuitem
|
||||
id="menu_hr_main"
|
||||
parent="menu_hr_root"
|
||||
name="Human Resources"
|
||||
sequence="0"/>
|
||||
<menuitem
|
||||
id="menu_hr_configuration"
|
||||
name="Configuration"
|
||||
@@ -30,18 +35,18 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Employee">
|
||||
<group colspan="4" col="8">
|
||||
<group colspan="6" col="6">
|
||||
<field colspan="6" name="name" select="1"/>
|
||||
<field name="user_id"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="active" groups="base.group_extended"/>
|
||||
<newline/>
|
||||
<group colspan="6" col="6">
|
||||
<field colspan="6" name="name" select="1"/>
|
||||
<field name="user_id"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="active" groups="base.group_extended"/>
|
||||
<newline/>
|
||||
<field name="parent_id" />
|
||||
<field name="coach_id" />
|
||||
</group>
|
||||
<group colspan="2" col="1">
|
||||
<field name="photo" widget='image' nolabel="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<group colspan="2" col="1">
|
||||
<field name="photo" widget='image' nolabel="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook colspan="6">
|
||||
<page string="Personal Information">
|
||||
@@ -113,7 +118,7 @@
|
||||
<field name="name"/>
|
||||
<field name="department_id" widget="selection"/>
|
||||
<field name="job_id" widget="selection"/>
|
||||
<field name="parent_id" widget="selection" />
|
||||
<field name="parent_id"/>
|
||||
<newline />
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'parent_id'}"/>
|
||||
@@ -156,7 +161,7 @@
|
||||
action="open_view_employee_list_my"
|
||||
id="menu_open_view_employee_list_my"
|
||||
sequence="3"
|
||||
parent="menu_hr_root"/>
|
||||
parent="menu_hr_main"/>
|
||||
|
||||
|
||||
<!--
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_hr_employee_category","hr.employee.category","model_hr_employee_category","hr.group_hr_user",1,0,0,0
|
||||
"access_hr_employee","hr.employee","model_hr_employee","hr.group_hr_user",1,1,1,1
|
||||
"access_hr_employee_resource","resource.resource","resource.model_resource_resource","hr.group_hr_user",1,1,1,1
|
||||
"access_hr_department","hr.department","model_hr_department","hr.group_hr_user",1,0,0,0
|
||||
"access_hr_employee_category_manager","hr.employee.category.manager","model_hr_employee_category","hr.group_hr_manager",1,1,1,1
|
||||
"access_hr_department_manager","hr.department.manager","model_hr_department","hr.group_hr_manager",1,1,1,1
|
||||
"access_hr_employee_marital_status","hr.employee.marital.status","model_hr_employee_marital_status","hr.group_hr_user",1,1,1,1
|
||||
"access_hr_job","hr.job","model_hr_job","hr.group_hr_user",1,0,0,0
|
||||
"access_hr_installer","hr.installer","model_hr_installer","hr.group_hr_user",1,0,0,0
|
||||
"access_hr_installer","hr.installer","model_hr_installer","base.group_system",1,1,1,1
|
||||
|
||||
|
@@ -39,14 +39,10 @@ def hour2str(h):
|
||||
|
||||
class report_custom(report_rml):
|
||||
def create_xml(self, cr, uid, ids, datas, context):
|
||||
service = netsvc.LocalService('object_proxy')
|
||||
|
||||
month = DateTime.DateTime(datas['form']['year'], datas['form']['month'], 1)
|
||||
|
||||
user_xml = ['<month>%s</month>' % month2name[month.month], '<year>%s</year>' % month.year]
|
||||
|
||||
for employee_id in ids:
|
||||
emp = service.execute(cr.dbname, uid, 'hr.employee', 'read', [employee_id])[0]
|
||||
emp = self.pool.get('hr.employee').read(cr, uid, 'read', [employee_id], ['name'])[0]
|
||||
stop, days_xml = False, []
|
||||
user_repr = '''
|
||||
<user>
|
||||
|
||||
@@ -32,81 +32,80 @@ one_week = DateTime.RelativeDateTime(days=7)
|
||||
num2day = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
|
||||
|
||||
def to_hour(h):
|
||||
return int(h), int(round((h - int(h)) * 60, 0))
|
||||
return int(h), int(round((h - int(h)) * 60, 0))
|
||||
|
||||
class report_custom(report_rml):
|
||||
def create_xml(self, cr, uid, ids, datas, context):
|
||||
service = netsvc.LocalService('object_proxy')
|
||||
def create_xml(self, cr, uid, ids, datas, context):
|
||||
|
||||
start_date = DateTime.strptime(datas['form']['init_date'], '%Y-%m-%d')
|
||||
end_date = DateTime.strptime(datas['form']['end_date'], '%Y-%m-%d')
|
||||
first_monday = start_date - DateTime.RelativeDateTime(days=start_date.day_of_week)
|
||||
last_monday = end_date + DateTime.RelativeDateTime(days=7 - end_date.day_of_week)
|
||||
start_date = DateTime.strptime(datas['form']['init_date'], '%Y-%m-%d')
|
||||
end_date = DateTime.strptime(datas['form']['end_date'], '%Y-%m-%d')
|
||||
first_monday = start_date - DateTime.RelativeDateTime(days=start_date.day_of_week)
|
||||
last_monday = end_date + DateTime.RelativeDateTime(days=7 - end_date.day_of_week)
|
||||
|
||||
if last_monday < first_monday:
|
||||
first_monday, last_monday = last_monday, first_monday
|
||||
if last_monday < first_monday:
|
||||
first_monday, last_monday = last_monday, first_monday
|
||||
|
||||
user_xml = []
|
||||
user_xml = []
|
||||
|
||||
for employee_id in ids:
|
||||
emp = service.execute(cr.dbname, uid, 'hr.employee', 'read', [employee_id], ['id', 'name'])[0]
|
||||
monday, n_monday = first_monday, first_monday + one_week
|
||||
stop, week_xml = False, []
|
||||
user_repr = '''
|
||||
<user>
|
||||
<name>%s</name>
|
||||
%%s
|
||||
</user>
|
||||
''' % toxml(emp['name'])
|
||||
while monday != last_monday:
|
||||
#### Work hour calculation
|
||||
sql = '''
|
||||
select action, att.name
|
||||
from hr_employee as emp inner join hr_attendance as att
|
||||
on emp.id = att.employee_id
|
||||
where att.name between %s and %s and emp.id = %s
|
||||
order by att.name
|
||||
'''
|
||||
for idx in range(7):
|
||||
cr.execute(sql, (monday.strftime('%Y-%m-%d %H:%M:%S'), (monday + DateTime.RelativeDateTime(days=idx+1)).strftime('%Y-%m-%d %H:%M:%S'), employee_id))
|
||||
attendances = cr.dictfetchall()
|
||||
week_wh = {}
|
||||
# Fake sign ins/outs at week ends, to take attendances across week ends into account
|
||||
# XXX this is wrong for the first sign-in ever and the last sign out to this date
|
||||
if attendances and attendances[0]['action'] == 'sign_out':
|
||||
attendances.insert(0, {'name': monday.strftime('%Y-%m-%d %H:%M:%S'), 'action':'sign_in'})
|
||||
if attendances and attendances[-1]['action'] == 'sign_in':
|
||||
attendances.append({'name' : n_monday.strftime('%Y-%m-%d %H:%M:%S'), 'action':'sign_out'})
|
||||
# sum up the attendances' durations
|
||||
for att in attendances:
|
||||
dt = DateTime.strptime(att['name'], '%Y-%m-%d %H:%M:%S')
|
||||
if att['action'] == 'sign_out':
|
||||
week_wh[ldt.day_of_week] = week_wh.get(ldt.day_of_week, 0) + (dt - ldt).hours
|
||||
ldt = dt
|
||||
for employee_id in ids:
|
||||
emp = self.pool.get('hr.employee').read(cr, uid, [employee_id], ['id', 'name'])[0]
|
||||
monday, n_monday = first_monday, first_monday + one_week
|
||||
stop, week_xml = False, []
|
||||
user_repr = '''
|
||||
<user>
|
||||
<name>%s</name>
|
||||
%%s
|
||||
</user>
|
||||
''' % toxml(emp['name'])
|
||||
while monday != last_monday:
|
||||
#### Work hour calculation
|
||||
sql = '''
|
||||
select action, att.name
|
||||
from hr_employee as emp inner join hr_attendance as att
|
||||
on emp.id = att.employee_id
|
||||
where att.name between %s and %s and emp.id = %s
|
||||
order by att.name
|
||||
'''
|
||||
for idx in range(7):
|
||||
cr.execute(sql, (monday.strftime('%Y-%m-%d %H:%M:%S'), (monday + DateTime.RelativeDateTime(days=idx+1)).strftime('%Y-%m-%d %H:%M:%S'), employee_id))
|
||||
attendances = cr.dictfetchall()
|
||||
week_wh = {}
|
||||
# Fake sign ins/outs at week ends, to take attendances across week ends into account
|
||||
# XXX this is wrong for the first sign-in ever and the last sign out to this date
|
||||
if attendances and attendances[0]['action'] == 'sign_out':
|
||||
attendances.insert(0, {'name': monday.strftime('%Y-%m-%d %H:%M:%S'), 'action':'sign_in'})
|
||||
if attendances and attendances[-1]['action'] == 'sign_in':
|
||||
attendances.append({'name' : n_monday.strftime('%Y-%m-%d %H:%M:%S'), 'action':'sign_out'})
|
||||
# sum up the attendances' durations
|
||||
for att in attendances:
|
||||
dt = DateTime.strptime(att['name'], '%Y-%m-%d %H:%M:%S')
|
||||
if att['action'] == 'sign_out':
|
||||
week_wh[ldt.day_of_week] = week_wh.get(ldt.day_of_week, 0) + (dt - ldt).hours
|
||||
ldt = dt
|
||||
|
||||
# Week xml representation
|
||||
week_repr = ['<week>', '<weekstart>%s</weekstart>' % monday.strftime('%Y-%m-%d'), '<weekend>%s</weekend>' % n_monday.strftime('%Y-%m-%d')]
|
||||
for idx in range(7):
|
||||
week_repr.append('<%s>' % num2day[idx])
|
||||
if idx in week_wh:
|
||||
week_repr.append('<workhours>%sh%02d</workhours>' % to_hour(week_wh[idx]))
|
||||
week_repr.append('</%s>' % num2day[idx])
|
||||
week_repr.append('<total>')
|
||||
week_repr.append('<worked>%sh%02d</worked>' % to_hour(reduce(lambda x,y:x+y, week_wh.values(), 0)))
|
||||
week_repr.append('</total>')
|
||||
week_repr.append('</week>')
|
||||
if len(week_repr) > 21: # 21 = minimal length of week_repr
|
||||
week_xml.append('\n'.join(week_repr))
|
||||
|
||||
monday, n_monday = n_monday, n_monday + one_week
|
||||
user_xml.append(user_repr % '\n'.join(week_xml))
|
||||
|
||||
xml = '''<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report>
|
||||
%s
|
||||
</report>
|
||||
''' % '\n'.join(user_xml)
|
||||
return self.post_process_xml_data(cr, uid, xml, context)
|
||||
# Week xml representation
|
||||
week_repr = ['<week>', '<weekstart>%s</weekstart>' % monday.strftime('%Y-%m-%d'), '<weekend>%s</weekend>' % n_monday.strftime('%Y-%m-%d')]
|
||||
for idx in range(7):
|
||||
week_repr.append('<%s>' % num2day[idx])
|
||||
if idx in week_wh:
|
||||
week_repr.append('<workhours>%sh%02d</workhours>' % to_hour(week_wh[idx]))
|
||||
week_repr.append('</%s>' % num2day[idx])
|
||||
week_repr.append('<total>')
|
||||
week_repr.append('<worked>%sh%02d</worked>' % to_hour(reduce(lambda x,y:x+y, week_wh.values(), 0)))
|
||||
week_repr.append('</total>')
|
||||
week_repr.append('</week>')
|
||||
if len(week_repr) > 21: # 21 = minimal length of week_repr
|
||||
week_xml.append('\n'.join(week_repr))
|
||||
|
||||
monday, n_monday = n_monday, n_monday + one_week
|
||||
user_xml.append(user_repr % '\n'.join(week_xml))
|
||||
|
||||
xml = '''<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report>
|
||||
%s
|
||||
</report>
|
||||
''' % '\n'.join(user_xml)
|
||||
return self.post_process_xml_data(cr, uid, xml, context)
|
||||
|
||||
report_custom('report.hr.attendance.allweeks', 'hr.employee', '', 'addons/hr_attendance/report/timesheet.xsl')
|
||||
# vim:noexpandtab:tw=0
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_hr_action_reason_employee","hr action reason employee","model_hr_action_reason","hr.group_hr_user",1,1,1,1
|
||||
"access_hr_attendance_employee","hr attendance employee","model_hr_attendance","hr.group_hr_user",1,1,1,1
|
||||
"access_hr_action_reason_employee","hr action reason employee","model_hr_action_reason","hr_attendance.group_hr_attendance",1,0,0,0
|
||||
"access_hr_action_reason_employee","hr action reason employee","model_hr_action_reason","hr.group_hr_manager",1,1,1,1
|
||||
"access_hr_attendance_employee","hr attendance employee","model_hr_attendance","hr_attendance.group_hr_attendance",1,1,1,1
|
||||
"access_hr_sign_in_out","hr attendance sign in out","model_hr_sign_in_out","hr_attendance.group_hr_attendance",1,1,1,1
|
||||
"access_hr_attendance_employee","hr employee attendance sign in out","hr.model_hr_employee","hr_attendance.group_hr_attendance",1,0,0,0
|
||||
"access_hr_attendance_resource","hr resource attendance sign in out","resource.model_resource_resource","hr_attendance.group_hr_attendance",1,0,0,0
|
||||
|
||||
|
@@ -33,16 +33,14 @@ class hr_si_so_ask(osv.osv_memory):
|
||||
'emp_id': fields.char('Empoyee ID', size=32, required=True, readonly=True),
|
||||
}
|
||||
def _get_empname(self, cr, uid, context=None):
|
||||
emp_obj = self.pool.get('hr.employee')
|
||||
emp_id = emp_obj.search(cr, uid, [('user_id', '=', uid)])
|
||||
emp_id = self.pool.get('hr.employee').search(cr, uid, [('user_id', '=', uid)], context=context)
|
||||
if emp_id:
|
||||
employee = emp_obj.read(cr, uid, emp_id)[0]
|
||||
employee = self.pool.get('hr.employee').browse(cr, uid, emp_id, context=context)[0].name
|
||||
return employee['name']
|
||||
return ''
|
||||
|
||||
def _get_empid(self, cr, uid, context=None):
|
||||
emp_obj = self.pool.get('hr.employee')
|
||||
emp_id = emp_obj.search(cr, uid, [('user_id', '=', uid)])
|
||||
emp_id = self.pool.get('hr.employee').search(cr, uid, [('user_id', '=', uid)], context=context)
|
||||
if emp_id:
|
||||
return emp_id[0]
|
||||
return False
|
||||
@@ -74,11 +72,10 @@ class hr_sign_in_out(osv.osv_memory):
|
||||
}
|
||||
|
||||
def _get_empid(self, cr, uid, context=None):
|
||||
emp_obj = self.pool.get('hr.employee')
|
||||
emp_id = emp_obj.search(cr, uid, [('user_id', '=', uid)])
|
||||
emp_id = self.pool.get('hr.employee').search(cr, uid, [('user_id', '=', uid)], context=context)
|
||||
if emp_id:
|
||||
employee = emp_obj.read(cr, uid, emp_id)[0]
|
||||
return {'name': employee['name'], 'state': employee['state'], 'emp_id': emp_id[0]}
|
||||
employee = self.pool.get('hr.employee').browse(cr, uid, emp_id, context=context)[0]
|
||||
return {'name': employee.name, 'state': employee.state, 'emp_id': emp_id[0]}
|
||||
return {}
|
||||
|
||||
def default_get(self, cr, uid, fields_list, context=None):
|
||||
@@ -88,16 +85,15 @@ class hr_sign_in_out(osv.osv_memory):
|
||||
return res
|
||||
|
||||
def si_check(self, cr, uid, ids, context=None):
|
||||
|
||||
att_obj = self.pool.get('hr.attendance')
|
||||
obj_model = self.pool.get('ir.model.data')
|
||||
att_obj = self.pool.get('hr.attendance')
|
||||
data = self.read(cr, uid, ids, [])[0]
|
||||
emp_id = data['emp_id']
|
||||
att_id = att_obj.search(cr, uid, [('employee_id', '=', emp_id)], limit=1, order='name desc')
|
||||
last_att = att_obj.read(cr, uid, att_id)
|
||||
last_att = att_obj.browse(cr, uid, att_id)
|
||||
if last_att:
|
||||
last_att = last_att[0]
|
||||
cond = not last_att or last_att['action'] == 'sign_out'
|
||||
cond = not last_att or last_att.action == 'sign_out'
|
||||
if cond:
|
||||
return self.sign_in(cr, uid, data, context)
|
||||
else:
|
||||
@@ -114,13 +110,12 @@ class hr_sign_in_out(osv.osv_memory):
|
||||
}
|
||||
|
||||
def so_check(self, cr, uid, ids, context=None):
|
||||
|
||||
att_obj = self.pool.get('hr.attendance')
|
||||
obj_model = self.pool.get('ir.model.data')
|
||||
data = self.read(cr, uid, ids, [])[0]
|
||||
att_obj = self.pool.get('hr.attendance')
|
||||
emp_id = data['emp_id']
|
||||
att_id = att_obj.search(cr, uid, [('employee_id', '=', emp_id),('action','!=','action')], limit=1, order='name desc')
|
||||
last_att = att_obj.read(cr, uid, att_id)
|
||||
last_att = att_obj.browse(cr, uid, att_id, context=context)
|
||||
if last_att:
|
||||
last_att = last_att[0]
|
||||
if not att_id and not last_att:
|
||||
@@ -153,12 +148,11 @@ class hr_sign_in_out(osv.osv_memory):
|
||||
}
|
||||
|
||||
def sign_in(self, cr, uid, data, context=None):
|
||||
att_obj = self.pool.get('hr.attendance')
|
||||
emp_id = data['emp_id']
|
||||
if 'last_time' in data:
|
||||
if data['last_time'] > time.strftime('%Y-%m-%d %H:%M:%S'):
|
||||
raise osv.except_osv(_('UserError'), _('The sign-out date must be in the past'))
|
||||
att_obj.create(cr, uid, {
|
||||
self.pool.get('hr.attendance').create(cr, uid, {
|
||||
'name': data['last_time'],
|
||||
'action': 'sign_out',
|
||||
'employee_id': emp_id
|
||||
@@ -170,12 +164,11 @@ class hr_sign_in_out(osv.osv_memory):
|
||||
return {} # To do: Return Success message
|
||||
|
||||
def sign_out(self, cr, uid, data, context=None):
|
||||
att_obj = self.pool.get('hr_attendance')
|
||||
emp_id = data['emp_id']
|
||||
if 'last_time' in data:
|
||||
if data['last_time'] > time.strftime('%Y-%m-%d %H:%M:%S'):
|
||||
raise osv.except_osv(_('UserError'), _('The Sign-in date must be in the past'))
|
||||
att_obj.create(cr, uid, {'name':data['last_time'], 'action':'sign_in', 'employee_id':emp_id})
|
||||
self.pool.get('hr.attendance').create(cr, uid, {'name':data['last_time'], 'action':'sign_in', 'employee_id':emp_id})
|
||||
try:
|
||||
success = self.pool.get('hr.employee').attendance_action_change(cr, uid, [emp_id], 'sign_out')
|
||||
except:
|
||||
@@ -184,4 +177,4 @@ class hr_sign_in_out(osv.osv_memory):
|
||||
|
||||
hr_sign_in_out()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="view_hr_attendance_sigh_in_out" model="ir.ui.view">
|
||||
<record id="view_hr_attendance_sigh_in_out" model="ir.ui.view">
|
||||
<field name="name">hr.sign.in.out.form</field>
|
||||
<field name="model">hr.sign.in.out</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Sign in / Sign out">
|
||||
<group colspan="4" >
|
||||
<separator string="You are now ready to sign in or out of the attendance follow up" colspan="4" />
|
||||
<field name="name" />
|
||||
<field name="state" />
|
||||
</group>
|
||||
<group colspan="4" >
|
||||
<separator string="You are now ready to sign in or out of the attendance follow up" colspan="4" />
|
||||
<field name="name" />
|
||||
<field name="state" />
|
||||
</group>
|
||||
<group colspan="4" col="6">
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-go-back" string="Sign in" name="si_check" type="object"/>
|
||||
<button icon="gtk-go-forward" string="Sign out" name="so_check" type="object"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-go-back" string="Sign in" name="si_check" type="object"/>
|
||||
<button icon="gtk-go-forward" string="Sign out" name="so_check" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
@@ -27,15 +27,15 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Sign in / Sign out">
|
||||
<label string="Sign-Out Entry must follow Sign-In." colspan="4" />
|
||||
<label string="Sign-Out Entry must follow Sign-In." colspan="4" />
|
||||
<group colspan="4" col="6">
|
||||
<button icon="gtk-cancel" special="cancel" string="Ok"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Ok"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_hr_attendance_sigh_in_out" model="ir.actions.act_window">
|
||||
<record id="action_hr_attendance_sigh_in_out" model="ir.actions.act_window">
|
||||
<field name="name">Sign in / Sign out</field>
|
||||
<field name="res_model">hr.sign.in.out</field>
|
||||
<field name="view_type">form</field>
|
||||
@@ -45,8 +45,8 @@
|
||||
</record>
|
||||
|
||||
<menuitem action="action_hr_attendance_sigh_in_out"
|
||||
id="menu_hr_attendance_sigh_in_out"
|
||||
parent="menu_hr_time_tracking" groups="base.group_extended" />
|
||||
id="menu_hr_attendance_sigh_in_out"
|
||||
parent="menu_hr_time_tracking"/>
|
||||
|
||||
<record id="view_hr_attendance_so_ask" model="ir.ui.view">
|
||||
<field name="name">hr.sign.in.out.ask.form</field>
|
||||
@@ -54,14 +54,14 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="hr.sign.out.ask">
|
||||
<group colspan="4" >
|
||||
<separator string="You did not sign out the last time. Please enter the date and time you signed out." colspan="4" />
|
||||
<field name="name" />
|
||||
<field name="last_time" string="Your last sign out" />
|
||||
</group>
|
||||
<group colspan="4" >
|
||||
<separator string="You did not sign out the last time. Please enter the date and time you signed out." colspan="4" />
|
||||
<field name="name" />
|
||||
<field name="last_time" string="Your last sign out" />
|
||||
</group>
|
||||
<group colspan="4" col="6">
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-go-back" string="Sign in" name="sign_in" type="object"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-go-back" string="Sign in" name="sign_in" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
@@ -73,14 +73,14 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="hr.sign.in.out.ask">
|
||||
<group colspan="4" >
|
||||
<separator string="You did not sign in the last time. Please enter the date and time you signed in." colspan="4" />
|
||||
<field name="name" />
|
||||
<field name="last_time" string="Your last sign in" />
|
||||
</group>
|
||||
<group colspan="4" >
|
||||
<separator string="You did not sign in the last time. Please enter the date and time you signed in." colspan="4" />
|
||||
<field name="name" />
|
||||
<field name="last_time" string="Your last sign in" />
|
||||
</group>
|
||||
<group colspan="4" col="6">
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-go-back" string="Sign out" name="sign_out" type="object"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-go-back" string="Sign out" name="sign_out" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -27,11 +27,11 @@ class hr_employee(osv.osv):
|
||||
_description = "Employee"
|
||||
_inherit = "hr.employee"
|
||||
_columns = {
|
||||
'manager': fields.boolean('Manager'),
|
||||
'manager': fields.boolean('Is a Manager'),
|
||||
'medic_exam': fields.date('Medical Examination Date'),
|
||||
'place_of_birth': fields.char('Place of Birth', size=30),
|
||||
'children': fields.integer('Number of Children'),
|
||||
'vehicle': fields.integer('Company Vehicle'),
|
||||
'vehicle': fields.char('Company Vehicle', size=64),
|
||||
'vehicle_distance': fields.integer('Home-Work Distance', help="In kilometers"),
|
||||
'contract_ids': fields.one2many('hr.contract', 'employee_id', 'Contracts'),
|
||||
}
|
||||
|
||||
@@ -69,47 +69,6 @@
|
||||
<field name="inherit_id" ref="hr.view_employee_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="Contracts">
|
||||
<field colspan="4" mode="form,tree" name="contract_ids" nolabel="1">
|
||||
<tree string="Contracts">
|
||||
<field name="name"/>
|
||||
<field name="job_id"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_end"/>
|
||||
<field name="working_hours"/>
|
||||
<field name="wage_type_id"/>
|
||||
<field name="wage"/>
|
||||
</tree>
|
||||
<form string="Contract">
|
||||
<group colspan="3" col="6">
|
||||
<field name="name" select="1"/>
|
||||
<field name="job_id"/>
|
||||
<newline/>
|
||||
<field name="wage"/>
|
||||
<field name="wage_type_id" widget="selection"/>
|
||||
<field name="type_id" widget="selection"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Main Data">
|
||||
<group col="2" colspan="2">
|
||||
<separator colspan="2" string="Duration"/>
|
||||
<field name="date_start" select="1"/>
|
||||
<field name="date_end" select="1"/>
|
||||
<field name="working_hours"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator colspan="2" string="Advantages"/>
|
||||
<field name="advantages_net"/>
|
||||
<field name="advantages_gross"/>
|
||||
<field name="advantages" nolabel="1" colspan="2"/>
|
||||
</group>
|
||||
<separator colspan="4" string="Notes"/>
|
||||
<field colspan="4" name="notes" nolabel="1"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Miscelleanous">
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Personal Info" colspan="2"/>
|
||||
@@ -122,7 +81,6 @@
|
||||
<field name="manager" select="1"/>
|
||||
<field name="vehicle" select="1"/>
|
||||
<field name="vehicle_distance" select="1"/>
|
||||
<field name="medic_exam" select="1"/>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Others Info" colspan="2"/>
|
||||
@@ -140,15 +98,15 @@
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Contract">
|
||||
<group col='15' colspan='4'>
|
||||
<field name="name"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_end"/>
|
||||
<field name="name"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_end"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="4" col="20">
|
||||
<filter string="Wage Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'wage_type_id'}"/>
|
||||
</group>
|
||||
<filter string="Wage Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'wage_type_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
@@ -246,8 +204,7 @@
|
||||
</record>
|
||||
<menuitem action="action_hr_contract_type" id="hr_menu_contract_type" parent="next_id_56"/>
|
||||
|
||||
<!--<menuitem id="hr_menu_contract_main" parent="hr.menu_hr_root" name="Contracts" sequence="3"/> -->
|
||||
<menuitem action="action_hr_contract" id="hr_menu_contract" parent="hr.menu_hr_root" name="Contracts" sequence="4"/>
|
||||
<menuitem action="action_hr_contract" id="hr_menu_contract" parent="hr.menu_hr_main" name="Contracts" sequence="4"/>
|
||||
|
||||
<!-- Contracts Button on Employee Form -->
|
||||
<act_window domain="[('employee_id', '=', active_id)]" id="act_hr_employee_2_hr_contract" name="Contracts" res_model="hr.contract" src_model="hr.employee"/>
|
||||
|
||||
@@ -8,5 +8,8 @@
|
||||
"access_hr_contract_user","hr.contract user","model_hr_contract","hr.group_hr_user",1,0,0,0
|
||||
"access_hr_contract","hr.contract","model_hr_contract","group_hr_contract",1,1,1,1
|
||||
"access_hr_employee_contract","hr.employee contract","hr.model_hr_employee","group_hr_contract",1,0,0,0
|
||||
"access_hr_resource_contract","hr.employee.resource contract","resource.model_resource_resource","group_hr_contract",1,0,0,0
|
||||
"access_hr_resource_calendar_contract","hr.employee.resource.calendar contract","resource.model_resource_calendar","group_hr_contract",1,0,0,0
|
||||
"access_hr_job_contract","hr.employee.job contract","hr.model_hr_job","group_hr_contract",1,0,0,0
|
||||
"access_hr_contract_type_user","hr.contract.type user","model_hr_contract_type","hr.group_hr_user",1,0,0,0
|
||||
"access_hr_contract_type","hr.contract.type","model_hr_contract_type","group_hr_contract",1,1,1,1
|
||||
|
||||
|
@@ -257,7 +257,7 @@
|
||||
/>
|
||||
|
||||
<separator orientation="vertical"/>
|
||||
<field name="employee_id" widget="selection" select="1"/>
|
||||
<field name="employee_id" select="1"/>
|
||||
<field name="plan_id" widget="selection" select="1"/>
|
||||
</group>
|
||||
<newline/>
|
||||
@@ -349,8 +349,8 @@
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-gnome-cpu-frequency-applet+" string="Late" domain="[('date_deadline','<',current_date)]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="user_to_review_id" widget="selection"/>
|
||||
<field name="user_id" string="Interviewer" widget="selection"/>
|
||||
<field name="user_to_review_id"/>
|
||||
<field name="user_id" string="Interviewer"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
|
||||
@@ -145,8 +145,8 @@
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" select='1'/>
|
||||
<field name="date" select='1'/>
|
||||
<field name="user_id" select="1" widget="selection" string="User">
|
||||
<filter icon="terp-personal+"
|
||||
<field name="user_id" select="1" string="User">
|
||||
<filter icon="terp-personal+"
|
||||
domain="[('department_id','=',context.get('department_id',False))]"
|
||||
string="Expenses of My Department"/>
|
||||
</field>
|
||||
@@ -183,7 +183,7 @@
|
||||
<field name="inherit_id" ref="product.product_normal_form_view"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field groups="base.group_extended" name="rental" position="after">
|
||||
<field name="purchase_ok" position="after">
|
||||
<field name="hr_expense_ok"/>
|
||||
</field>
|
||||
</field>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<filter icon="terp-camera_test" domain="[('state','=','validate')]" string="Validated"
|
||||
default="context.get('report', False)"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="user_id" widget="selection"/>
|
||||
<field name="user_id"/>
|
||||
<field name="department_id" widget="selection">
|
||||
<filter icon="terp-personal+" help="My Department Holidays"
|
||||
domain="[('department_id.manager_id','=',uid)]"
|
||||
|
||||
@@ -9,3 +9,4 @@
|
||||
"access_available_holidays_report","hr.available.holidays.report","model_available_holidays_report","hr.group_hr_manager",1,1,1,1
|
||||
"access_hr_holidays_report_user","hr.holidays.report","model_hr_holidays_report","hr.group_hr_user",1,0,0,0
|
||||
"access_available_holidays_report_user","hr.available.holidays.report","model_available_holidays_report","hr.group_hr_user",1,0,0,0
|
||||
"access_hr_holidays_summary_dept","hr.holidays.summary.dept","model_hr_holidays_summary_dept","hr.group_hr_manager",1,1,1,1
|
||||
|
||||
|
@@ -80,6 +80,9 @@ class hr_applicant(osv.osv, crm.crm_case):
|
||||
# 'stage_id': fields.many2one ('crm.case.stage', 'Stage', \
|
||||
# domain="[('section_id','=',section_id),\
|
||||
# ('object_id.model', '=', 'crm.opportunity')]"),
|
||||
'stage_id': fields.many2one ('hr.recruitment.stage', 'Stage', \
|
||||
domain="[('section_id','=',section_id),\
|
||||
('object_id.model', '=', 'crm.opportunity')]"),
|
||||
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True,
|
||||
help='The state is set to \'Draft\', when a case is created.\
|
||||
\nIf the case is in progress the state is set to \'Open\'.\
|
||||
@@ -98,8 +101,6 @@ class hr_applicant(osv.osv, crm.crm_case):
|
||||
'partner_name': fields.char("Applicant's Name", size=64),
|
||||
'partner_phone': fields.char('Phone', size=32),
|
||||
'partner_mobile': fields.char('Mobile', size=32),
|
||||
# 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]"),
|
||||
'stage_id': fields.many2one ('hr.recruitment.stage', 'Stage'),
|
||||
'type_id': fields.many2one('crm.case.resource.type', 'Degree', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]"),
|
||||
'department_id':fields.many2one('hr.department', 'Department'),
|
||||
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
|
||||
|
||||
@@ -30,8 +30,6 @@
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<!-- STAGE(stage_id) -->
|
||||
|
||||
<record model="hr.recruitment.stage" id="stage_job1">
|
||||
<field name="name">Initial Jobs Demand</field>
|
||||
<field name="sequence">1</field>
|
||||
|
||||
@@ -13,23 +13,22 @@
|
||||
# ------------------------------------------------------
|
||||
|
||||
<record id="hr_job_categ_action" model="ir.actions.act_window">
|
||||
<field name="name">Applicant Categories</field>
|
||||
<field name="res_model">crm.case.categ</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
|
||||
<field name="domain">[('object_id.model', '=', 'hr.applicant')]</field>
|
||||
<field name="context">{'object_id':'hr.applicant'}</field>
|
||||
<field name="name">Applicant Categories</field>
|
||||
<field name="res_model">crm.case.categ</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
|
||||
<field name="domain">[('object_id.model', '=', 'hr.applicant')]</field>
|
||||
<field name="context">{'object_id':'hr.applicant'}</field>
|
||||
</record>
|
||||
# ------------------------------------------------------
|
||||
# Stage
|
||||
# ------------------------------------------------------
|
||||
<record id="hr_job_stage_act" model="ir.actions.act_window">
|
||||
<field name="name">Applicant Stages</field>
|
||||
<field name="res_model">crm.case.stage</field>
|
||||
<field name="res_model">hr.recruitment.stage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="crm.crm_case_stage_tree"/>
|
||||
<field name="domain">[('object_id.model', '=', 'hr.applicant')]</field>
|
||||
<field name="context">{'object_id':'hr.applicant'}</field>
|
||||
<field name="domain">[]</field>
|
||||
<field name="context">{}</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="hr_job_stage_act" id="menu_hr_job_stage_act" name="Stages" parent="menu_hr_config_applicant"/>
|
||||
@@ -87,11 +86,21 @@
|
||||
<button name="stage_previous" string="" type="object" icon="gtk-go-back"/>
|
||||
<button icon="gtk-go-forward" string="" name="stage_next" type="object"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group colspan="3" col="6">
|
||||
<field name="partner_name"/>
|
||||
<field name="job_id" on_change="onchange_job(job_id)"/>
|
||||
<button string="Schedule a Phone Call" name="%(action_hr_recruitment_phonecall)d" icon="gtk-redo" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group colspan="3" col="6">
|
||||
<field name="user_id"/>
|
||||
<field name="department_id" widget="selection"/>
|
||||
<button name="action_print_survey" string="Print Interview" type="object" icon="gtk-print" attrs="{'readonly':[('survey','=',False)]}"/>
|
||||
<button name="%(survey.action_view_survey_question_message)d" string="Interview Question" type="action" icon="gtk-execute" context="{'survey_id': survey, 'response_id': [response], 'response_no':0 ,'active' : response, 'object' : 'hr.applicant', 'cur_id' :active_id}" attrs="{'readonly':[('survey','=',False)]}" groups="base.group_extended"/>
|
||||
</group>
|
||||
<button name="action_makeMeeting" type="object" string="Schedule Meeting" icon="terp-hr"/>
|
||||
</group>
|
||||
<button name="action_print_survey" string="Print Interview" type="object" icon="gtk-print" attrs="{'readonly':[('survey','=',False)]}" groups="base.group_extended"/>
|
||||
<button name="%(survey.action_view_survey_question_message)d" string="Interview Question" type="action" icon="gtk-execute" context="{'survey_id': survey, 'response_id': [response], 'response_no':0 ,'active' : response, 'object' : 'hr.applicant', 'cur_id' :active_id}" attrs="{'readonly':[('survey','=',False)]}" groups="base.group_extended"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Job Info">
|
||||
<group col="2" colspan="2">
|
||||
@@ -183,9 +192,9 @@
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email"
|
||||
name="%(crm.action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'hr.applicant'}"
|
||||
icon="gtk-go-forward" type="action" />
|
||||
name="%(crm.action_crm_send_mail)d"
|
||||
context="{'mail':'new', 'model': 'hr.applicant'}"
|
||||
icon="gtk-go-forward" type="action" />
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
@@ -233,7 +242,7 @@
|
||||
<field name="partner_name"/>
|
||||
<field name="email_from"/>
|
||||
<field name="job_id" widget="selection"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<field name="user_id">
|
||||
<filter domain="[('user_id','=',False)]" help="Unassigned Recruitements" icon="terp-personal-" separator="1"/>
|
||||
</field>
|
||||
<field name="department_id" widget="selection" string="Department" context="{'invisible_department': False}">
|
||||
@@ -278,56 +287,56 @@
|
||||
|
||||
<!-- Stage Tree View -->
|
||||
|
||||
<record model="ir.ui.view" id="hr_recruitment_stage_tree">
|
||||
<field name="name">hr.recruitment.stage.tree</field>
|
||||
<field name="model">hr.recruitment.stage</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Stages">
|
||||
<field name="sequence"/>
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="hr_recruitment_stage_tree">
|
||||
<field name="name">hr.recruitment.stage.tree</field>
|
||||
<field name="model">hr.recruitment.stage</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Stages">
|
||||
<field name="sequence"/>
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Stage Form View -->
|
||||
|
||||
<record model="ir.ui.view" id="hr_recruitment_stage_form">
|
||||
<field name="name">hr.recruitment.stage.form</field>
|
||||
<field name="model">hr.recruitment.stage</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Stage">
|
||||
<separator string="Stage Definition" colspan="4"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="sequence"/>
|
||||
<separator string="Requirements" colspan="4"/>
|
||||
<field name="requirements" nolabel="1" colspan="4"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="hr_recruitment_stage_form">
|
||||
<field name="name">hr.recruitment.stage.form</field>
|
||||
<field name="model">hr.recruitment.stage</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Stage">
|
||||
<separator string="Stage Definition" colspan="4"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="sequence"/>
|
||||
<separator string="Requirements" colspan="4"/>
|
||||
<field name="requirements" nolabel="1" colspan="4"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Stage Action -->
|
||||
|
||||
<record id="hr_recruitment_stage_act" model="ir.actions.act_window">
|
||||
<field name="name">Stages</field>
|
||||
<field name="res_model">hr.recruitment.stage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="hr_recruitment_stage_tree"/>
|
||||
</record>
|
||||
<record id="hr_recruitment_stage_act" model="ir.actions.act_window">
|
||||
<field name="name">Stages</field>
|
||||
<field name="res_model">hr.recruitment.stage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="hr_recruitment_stage_tree"/>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
id="menu_hr_recruitment_recruitment"
|
||||
name="Recruitment"
|
||||
parent="hr.menu_hr_configuration"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_hr_recruitment_recruitment"
|
||||
name="Recruitment"
|
||||
parent="hr.menu_hr_configuration"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="menu_hr_recruitment_stage"
|
||||
name="Stages"
|
||||
parent="menu_hr_recruitment_recruitment"
|
||||
action="hr_recruitment_stage_act"
|
||||
sequence="1"/>
|
||||
<menuitem
|
||||
id="menu_hr_recruitment_stage"
|
||||
name="Stages"
|
||||
parent="menu_hr_recruitment_recruitment"
|
||||
action="hr_recruitment_stage_act"
|
||||
sequence="1"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_hr_analytic_timesheet","hr.analytic.timesheet","model_hr_analytic_timesheet","hr.group_hr_user",1,1,1,1
|
||||
"access_hr_account_analytic_line","account.account.analytic.line","account.model_account_analytic_line","hr.group_hr_user",1,1,1,0
|
||||
"access_account_analytic_journal","account.account.analytic.journal","account.model_account_analytic_journal","hr.group_hr_user",1,0,0,0
|
||||
"access_account_analytic_journal","account.account.analytic.journal","account.model_account_analytic_journal","hr.group_hr_user",1,0,0,0
|
||||
"access_hr_sign_in_project","hr.sign.in.project attendance","model_hr_sign_in_project","hr_attendance.group_hr_attendance",1,0,0,0
|
||||
"access_hr_analytal_timesheet_employee","hr.analytical.timesheet.employee","model_hr_analytical_timesheet_employee","hr.group_hr_manager",1,1,1,1
|
||||
"access_hr_analytal_timesheet_user","hr.analytical.timesheet.user","model_hr_analytical_timesheet_users","hr.group_hr_user",1,1,1,1
|
||||
|
||||
|
@@ -20,7 +20,7 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="view_account_analytic_account_form" model="ir.ui.view">
|
||||
<field name="name">account.analytic.account.form</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
@@ -32,7 +32,7 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="hr_timesheet_line_form" model="ir.ui.view">
|
||||
<field name="name">hr.analytic.timesheet.form</field>
|
||||
<field name="model">hr.analytic.timesheet</field>
|
||||
@@ -117,9 +117,9 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('to_invoice','<>',False)]</field>
|
||||
</record>
|
||||
<menuitem
|
||||
action="action_hr_analytic_timesheet_open_tree"
|
||||
id="menu_hr_analytic_timesheet_tree"
|
||||
<menuitem
|
||||
action="action_hr_analytic_timesheet_open_tree"
|
||||
id="menu_hr_analytic_timesheet_tree"
|
||||
parent="account.menu_finance_periodical_processing"/>
|
||||
|
||||
<record id="action_hr_analytic_timesheet_tree_invoiced" model="ir.actions.act_window">
|
||||
@@ -178,9 +178,9 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="view_hr_timesheet_invoice_factor_tree"/>
|
||||
</record>
|
||||
<menuitem
|
||||
action="action_hr_timesheet_invoice_factor_form"
|
||||
id="hr_timesheet_invoice_factor_view"
|
||||
<menuitem
|
||||
action="action_hr_timesheet_invoice_factor_form"
|
||||
id="hr_timesheet_invoice_factor_view"
|
||||
parent="account.account_analytic_def_account"/>
|
||||
|
||||
</data>
|
||||
|
||||
@@ -9,3 +9,4 @@
|
||||
"access_report_timesheet_invoice","report_timesheet.invoice","model_report_timesheet_invoice","hr.group_hr_manager",1,0,0,0
|
||||
"access_report_random_timesheet","report_random_timesheet","model_report_random_timesheet","hr.group_hr_manager",1,0,0,0
|
||||
"access_report_random_timesheet_lines","random_timesheet_lines","model_random_timesheet_lines","hr.group_hr_manager",1,0,0,0
|
||||
"access_hr_timesheet_analytic_profit","hr_timesheet_analytic_profit","model_hr_timesheet_analytic_profit","account.group_account_invoice",1,1,1,1
|
||||
|
||||
|
@@ -195,7 +195,7 @@
|
||||
<filter icon="terp-document-new" string="In Draft" domain="[('state','in',('draft', 'new'))]" help="Unvalidated Timesheets"/>
|
||||
<filter icon="terp-gtk-go-back-rtl" string="To Validate" domain="[('state','=','confirm')]" help="Confirmed Timesheets"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="date_from"/>
|
||||
<field name="department_id" widget="selection">
|
||||
<filter icon="terp-personal+"
|
||||
|
||||
+20
-20
@@ -68,8 +68,8 @@
|
||||
action="action_idea_category_tree"/>
|
||||
|
||||
<menuitem name="Give Vote" parent="menu_ideas1"
|
||||
id="menu_give_vote"
|
||||
action="action_idea_select"/>
|
||||
id="menu_give_vote"
|
||||
action="action_idea_select"/>
|
||||
|
||||
|
||||
<!-- Open Ideas Action -->
|
||||
@@ -128,11 +128,11 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Votes">
|
||||
<group colspan="4">
|
||||
<field name="user_id" select="1" />
|
||||
<field name="date"/>
|
||||
<newline/>
|
||||
<field name="score"/>
|
||||
<group colspan="4">
|
||||
<field name="user_id" select="1" />
|
||||
<field name="date"/>
|
||||
<newline/>
|
||||
<field name="score"/>
|
||||
</group>
|
||||
<separator string="Comments:" colspan="4"/>
|
||||
<field name="comment" colspan="4" nolabel="1"/>
|
||||
@@ -147,18 +147,18 @@
|
||||
<field name="model">idea.vote</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Ideas vote">
|
||||
<group col="10" colspan="4">
|
||||
<field name="idea_id" widget="selection"/>
|
||||
<field name="user_id" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="14">
|
||||
<filter string="Vote date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
|
||||
<filter string="Idea" icon="terp-idea" domain="[]" context="{'group_by':'idea_id'}"/>
|
||||
<filter string="User" name="user" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
<search string="Ideas vote">
|
||||
<group col="10" colspan="4">
|
||||
<field name="idea_id" widget="selection"/>
|
||||
<field name="user_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="14">
|
||||
<filter string="Vote date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
|
||||
<filter string="Idea" icon="terp-idea" domain="[]" context="{'group_by':'idea_id'}"/>
|
||||
<filter string="User" name="user" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -270,7 +270,7 @@
|
||||
<separator orientation="vertical"/>
|
||||
<field name="title" select="1"/>
|
||||
<field name="category_id" select="1"/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
<field name="user_id" select="1"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="12" col="10">
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_knowledge_installer","knowledge.installer","model_knowledge_installer",base.group_user,1,0,0,0
|
||||
"access_knowledge_installer","knowledge.installer","model_knowledge_installer",base.group_system,1,1,1,1
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_vat_listing_clients","vat.listing.clients","model_vat_listing_clients",,1,1,1,1
|
||||
"access_partner_vat_intra","partner.vat.intra","model_partner_vat_intra",,1,1,1,1
|
||||
"access_partner_vat","partner.vat","model_partner_vat",,1,1,1,1
|
||||
"access_partner_vat_list","partner.vat.list","model_partner_vat_list",,1,1,1,1
|
||||
"access_l1on_be_vat_declaration","l1on_be.vat.declaration","model_l1on_be_vat_declaration",,1,1,1,1
|
||||
"access_vat_listing_clients","vat.listing.clients","model_vat_listing_clients",account.group_account_user,1,1,1,1
|
||||
"access_partner_vat_intra","partner.vat.intra","model_partner_vat_intra",account.group_account_user,1,1,1,1
|
||||
"access_partner_vat","partner.vat","model_partner_vat",account.group_account_user,1,1,1,1
|
||||
"access_partner_vat_list","partner.vat.list","model_partner_vat_list",account.group_account_user,1,1,1,1
|
||||
"access_l1on_be_vat_declaration","l1on_be.vat.declaration","model_l1on_be_vat_declaration",account.group_account_user,1,1,1,1
|
||||
|
||||
|
@@ -21,26 +21,8 @@
|
||||
|
||||
from osv import osv, fields
|
||||
import time
|
||||
import base64
|
||||
import base64
|
||||
|
||||
class one2many_domain(fields.one2many):
|
||||
def set(self, cr, obj, id, field, values, user=None, context=None):
|
||||
if not values:
|
||||
return
|
||||
return super(one2many_domain, self).set(cr, obj, id, field, values,
|
||||
user=user, context=context)
|
||||
|
||||
def get(self, cr, obj, ids, name, user=None, offset=0, context=None, values=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
res = {}
|
||||
msg_obj = obj.pool.get('mailgate.message')
|
||||
for thread in obj.browse(cr, user, ids, context=context):
|
||||
final = msg_obj.search(cr, user, self._domain + [('thread_id', '=', thread.id)], context=context)
|
||||
res[thread.id] = final
|
||||
return res
|
||||
|
||||
|
||||
class mailgate_thread(osv.osv):
|
||||
'''
|
||||
Mailgateway Thread
|
||||
@@ -51,11 +33,11 @@ class mailgate_thread(osv.osv):
|
||||
|
||||
_columns = {
|
||||
'thread': fields.char('Thread', size=32, required=False),
|
||||
'message_ids': one2many_domain('mailgate.message', 'thread_id', 'Messages', domain=[('history', '=', True)], required=False),
|
||||
'log_ids': one2many_domain('mailgate.message', 'thread_id', 'Logs', domain=[('history', '=', False)], required=False),
|
||||
}
|
||||
'message_ids': fields.one2many('mailgate.message', 'thread_id', 'Messages', domain=[('history', '=', True)], required=False),
|
||||
'log_ids': fields.one2many('mailgate.message', 'thread_id', 'Logs', domain=[('history', '=', False)], required=False),
|
||||
}
|
||||
|
||||
def __history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=[], context={}):
|
||||
def _history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=None, context=None):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@@ -69,9 +51,13 @@ class mailgate_thread(osv.osv):
|
||||
@param context: A standard dictionary for contextual values"""
|
||||
if context is None:
|
||||
context = {}
|
||||
if attach is None:
|
||||
attach = []
|
||||
|
||||
# The mailgate sends the ids of the cases and not the object list
|
||||
if all(isinstance(case_id, (int, long)) for case_id in cases) and context.get('model'):
|
||||
cases = self.pool.get(context['model']).browse(cr, uid, cases, context=context)
|
||||
|
||||
if all(isinstance(case_id, (int, long)) for case_id in cases):
|
||||
cases = self.browse(cr, uid, cases, context=context)
|
||||
|
||||
model_obj = self.pool.get('ir.model')
|
||||
att_obj = self.pool.get('ir.attachment')
|
||||
@@ -84,7 +70,7 @@ class mailgate_thread(osv.osv):
|
||||
'user_id': uid,
|
||||
'model_id' : model_ids and model_ids[0] or False,
|
||||
'date': time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
'thread_id': case.thread_id.id,
|
||||
'thread_id': case.thread_id.id,
|
||||
'message_id': message_id,
|
||||
}
|
||||
attachments = []
|
||||
@@ -93,29 +79,28 @@ class mailgate_thread(osv.osv):
|
||||
attachments.append(att_obj.create(cr, uid, {'name': att[0], 'datas': base64.encodestring(att[1])}))
|
||||
|
||||
data = {
|
||||
'name': subject or 'History',
|
||||
'history': True,
|
||||
'user_id': uid,
|
||||
'model_id' : model_ids and model_ids[0] or False,
|
||||
'res_id': case.id,
|
||||
'date': time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
'description': details or (hasattr(case, 'description') and case.description or False),
|
||||
'email_to': email or \
|
||||
(hasattr(case, 'user_id') and case.user_id and case.user_id.address_id and \
|
||||
case.user_id.address_id.email) or tools.config.get('email_from', False),
|
||||
'email_from': email_from or \
|
||||
(hasattr(case, 'user_id') and case.user_id and case.user_id.address_id and \
|
||||
case.user_id.address_id.email) or tools.config.get('email_from', False),
|
||||
'partner_id': hasattr(case, 'partner_id') and (case.partner_id and case.partner_id.id or False) or False,
|
||||
'thread_id': case.thread_id.id,
|
||||
'message_id': message_id,
|
||||
'attachment_ids': [(6, 0, attachments)]
|
||||
}
|
||||
'name': subject or 'History',
|
||||
'history': True,
|
||||
'user_id': uid,
|
||||
'model_id' : model_ids and model_ids[0] or False,
|
||||
'res_id': case.id,
|
||||
'date': time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
'description': details or (hasattr(case, 'description') and case.description or False),
|
||||
'email_to': email or \
|
||||
(hasattr(case, 'user_id') and case.user_id and case.user_id.address_id and \
|
||||
case.user_id.address_id.email) or tools.config.get('email_from', False),
|
||||
'email_from': email_from or \
|
||||
(hasattr(case, 'user_id') and case.user_id and case.user_id.address_id and \
|
||||
case.user_id.address_id.email) or tools.config.get('email_from', False),
|
||||
'partner_id': hasattr(case, 'partner_id') and (case.partner_id and case.partner_id.id or False) or False,
|
||||
'thread_id': case.thread_id.id,
|
||||
'message_id': message_id,
|
||||
'attachment_ids': [(6, 0, attachments)]
|
||||
}
|
||||
res = obj.create(cr, uid, data, context)
|
||||
return True
|
||||
|
||||
_history = __history
|
||||
history = __history
|
||||
__history = history = _history
|
||||
|
||||
|
||||
mailgate_thread()
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
# Copyright (C) 2010-TODAY OpenERP S.A. (http://www.openerp.com)
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@@ -22,14 +23,18 @@
|
||||
|
||||
import re
|
||||
import smtplib
|
||||
import email, mimetypes
|
||||
import email
|
||||
import mimetypes
|
||||
from email.Header import decode_header
|
||||
from email.MIMEText import MIMEText
|
||||
import xmlrpclib
|
||||
import os
|
||||
import binascii
|
||||
import time, socket
|
||||
|
||||
import time
|
||||
import socket
|
||||
import logging
|
||||
import sys
|
||||
import optparse
|
||||
|
||||
email_re = re.compile(r"([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6})")
|
||||
case_re = re.compile(r"\[([0-9]+)\]", re.UNICODE)
|
||||
@@ -89,7 +94,6 @@ def html2plaintext(html, body_id=None, encoding='utf-8'):
|
||||
html = html.replace('<h2>', '**').replace('</h2>', '**')
|
||||
html = html.replace('<h1>', '**').replace('</h1>', '**')
|
||||
html = html.replace('<em>', '/').replace('</em>', '/')
|
||||
|
||||
|
||||
# the only line breaks we respect is those of ending tags and
|
||||
# breaks
|
||||
@@ -101,14 +105,7 @@ def html2plaintext(html, body_id=None, encoding='utf-8'):
|
||||
html = re.sub('<br\s*/>', '\n', html)
|
||||
html = html.replace(' ' * 2, ' ')
|
||||
|
||||
|
||||
# for all other tags we failed to clean up, just remove then and
|
||||
# complain about them on the stderr
|
||||
def desperate_fixer(g):
|
||||
#print >>sys.stderr, "failed to clean up %s" % str(g.group())
|
||||
return ' '
|
||||
|
||||
html = re.sub('<.*?>', desperate_fixer, html)
|
||||
html = re.sub('<.*?>', ' ', html)
|
||||
|
||||
# lstrip all lines
|
||||
html = '\n'.join([x.lstrip() for x in html.splitlines()])
|
||||
@@ -166,10 +163,10 @@ class email_parser(object):
|
||||
pass
|
||||
return s.decode('latin1')
|
||||
|
||||
def _decode_header(self, s):
|
||||
from email.Header import decode_header
|
||||
s = decode_header(s.replace('\r', ''))
|
||||
return ''.join(map(lambda x:self._to_decode(x[0], [x[1]]), s or []))
|
||||
def _decode_header(self, text):
|
||||
if text:
|
||||
text = decode_header(text.replace('\r', ''))
|
||||
return ''.join(map(lambda x:self._to_decode(x[0], [x[1]]), text or []))
|
||||
|
||||
def msg_new(self, msg):
|
||||
message = self.msg_body_get(msg)
|
||||
@@ -188,14 +185,25 @@ class email_parser(object):
|
||||
}
|
||||
data.update(self.partner_get(msg_from))
|
||||
|
||||
try:
|
||||
id = self.rpc(self.model, 'create', data)
|
||||
self.rpc(self.model, 'history', [id], 'Receive', True, msg_to, message['body'], msg_from, False, {'model' : self.model})
|
||||
#self.rpc(self.model, 'case_open', [id])
|
||||
except Exception, e:
|
||||
if getattr(e, 'faultCode', '') and 'AccessError' in e.faultCode:
|
||||
e = '\n\nThe Specified user does not have an access to the CRM case.'
|
||||
print e
|
||||
values = {
|
||||
'message_ids' : [
|
||||
(0, 0, {
|
||||
'model_id' : self.rpc('ir.model', 'search', [('name', '=', self.model)])[0],
|
||||
'date' : time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
'description' : message['body'],
|
||||
'email_from' : msg_from,
|
||||
'email_to' : msg_to,
|
||||
'name' : 'Receive',
|
||||
'history' : True,
|
||||
'user_id' : self.rpc.user_id,
|
||||
}
|
||||
)
|
||||
]
|
||||
}
|
||||
thread_id = self.rpc('mailgate.thread', 'create', values)
|
||||
data['thread_id'] = thread_id
|
||||
oid = self.rpc(self.model, 'create', data)
|
||||
|
||||
attachments = message['attachment']
|
||||
for attach in attachments or []:
|
||||
data_attach = {
|
||||
@@ -204,30 +212,19 @@ class email_parser(object):
|
||||
'datas_fname': str(attach),
|
||||
'description': 'Mail attachment',
|
||||
'res_model': self.model,
|
||||
'res_id': id
|
||||
'res_id': oid
|
||||
}
|
||||
self.rpc('ir.attachment', 'create', data_attach)
|
||||
|
||||
return id
|
||||
|
||||
# #change the return type format to dictionary
|
||||
# {
|
||||
# 'body':'body part',
|
||||
# 'attachment':{
|
||||
# 'file_name':'file data',
|
||||
# 'file_name':'file data',
|
||||
# 'file_name':'file data',
|
||||
# }
|
||||
# }
|
||||
return (oid, thread_id,)
|
||||
|
||||
def msg_body_get(self, msg):
|
||||
message = {};
|
||||
message['body'] = '';
|
||||
message['attachment'] = {};
|
||||
message = {
|
||||
'body' : '',
|
||||
'attachment' : {},
|
||||
}
|
||||
attachment = message['attachment'];
|
||||
counter = 1;
|
||||
def replace(match):
|
||||
return ''
|
||||
|
||||
for part in msg.walk():
|
||||
if part.get_content_maintype() == 'multipart':
|
||||
@@ -237,27 +234,23 @@ class email_parser(object):
|
||||
buf = part.get_payload(decode=True)
|
||||
if buf:
|
||||
txt = self._to_decode(buf, part.get_charsets())
|
||||
txt = re.sub("<(\w)>", replace, txt)
|
||||
txt = re.sub("<\/(\w)>", replace, txt)
|
||||
txt = re.sub("<\/?(\w)>", '', txt)
|
||||
if txt and part.get_content_subtype() == 'plain':
|
||||
message['body'] += txt
|
||||
elif txt and part.get_content_subtype() == 'html':
|
||||
elif txt and part.get_content_subtype() == 'html':
|
||||
message['body'] += html2plaintext(txt)
|
||||
|
||||
|
||||
filename = part.get_filename();
|
||||
if filename :
|
||||
attachment[filename] = part.get_payload(decode=True);
|
||||
|
||||
elif part.get_content_maintype()=='application' or part.get_content_maintype()=='image' or part.get_content_maintype()=='text':
|
||||
|
||||
elif part.get_content_maintype() in ('application', 'image', 'text'):
|
||||
filename = part.get_filename();
|
||||
if filename :
|
||||
attachment[filename] = part.get_payload(decode=True);
|
||||
else:
|
||||
if not filename :
|
||||
filename = 'attach_file'+str(counter);
|
||||
counter += 1;
|
||||
attachment[filename] = part.get_payload(decode=True);
|
||||
#end if
|
||||
#end if
|
||||
|
||||
attachment[filename] = part.get_payload(decode=True);
|
||||
message['attachment'] = attachment
|
||||
#end for
|
||||
return message
|
||||
@@ -316,22 +309,42 @@ class email_parser(object):
|
||||
}
|
||||
self.rpc('ir.attachment', 'create', data_attach)
|
||||
|
||||
self.rpc(self.model, 'history', [id], 'Send', True, self._decode_header(msg['To']), body['body'], self._decode_header(msg['From']), False, {'model' : self.model})
|
||||
self.create_message(id, msg['From'], msg['To'], 'Send', message['body'])
|
||||
|
||||
return id
|
||||
|
||||
def create_message(self, oid, email_from, email_to, name, body):
|
||||
"""
|
||||
This functions creates a message in the thread
|
||||
|
||||
> create_message(id, msg['From'], msg['To'], 'Send', message['body'])
|
||||
"""
|
||||
values = {
|
||||
'thread_id' : self.rpc(self.model, 'read', [oid], ['thread_id'])[0]['thread_id'][0],
|
||||
'model_id' : self.rpc('ir.model', 'search', [('name', '=', self.model)])[0],
|
||||
'res_id' : oid,
|
||||
'date' : time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
'description' : body,
|
||||
'email_from' : self._decode_header(email_from),
|
||||
'email_to' : self._decode_header(email_to),
|
||||
'name' : name,
|
||||
'history' : True,
|
||||
'user_id' : self.rpc.user_id,
|
||||
}
|
||||
return self.rpc('mailgate.message', 'create', values)
|
||||
|
||||
def msg_send(self, msg, emails, priority=None):
|
||||
if not len(emails):
|
||||
if not emails:
|
||||
return False
|
||||
del msg['To']
|
||||
|
||||
msg['To'] = emails[0]
|
||||
if len(emails)>1:
|
||||
if 'Cc' in msg:
|
||||
del msg['Cc']
|
||||
if len(emails) > 1:
|
||||
msg['Cc'] = ','.join(emails[1:])
|
||||
del msg['Reply-To']
|
||||
msg['Reply-To'] = self.email
|
||||
|
||||
if priority:
|
||||
msg['X-Priority'] = priorities.get(priority, '3 (Normal)')
|
||||
|
||||
s = smtplib.SMTP()
|
||||
s.connect()
|
||||
s.sendmail(self.email, emails, msg.as_string())
|
||||
@@ -343,11 +356,6 @@ class email_parser(object):
|
||||
body = message['body']
|
||||
act = 'case_open'
|
||||
self.rpc(self.model, act, [id])
|
||||
#body2 = '\n'.join(map(lambda l: '> '+l, (body or '').split('\n')))
|
||||
#data = {
|
||||
# 'description':body,
|
||||
#}
|
||||
#self.rpc(self.model, 'write', [id], data)
|
||||
attachments = message['attachment']
|
||||
for attach in attachments or []:
|
||||
data_attach = {
|
||||
@@ -360,14 +368,16 @@ class email_parser(object):
|
||||
}
|
||||
self.rpc('ir.attachment', 'create', data_attach)
|
||||
|
||||
self.rpc(self.model, 'history', [id], 'Send', True, self._decode_header(msg['To']), message['body'], self._decode_header(msg['From']), False, {'model' : self.model})
|
||||
self.create_message(id, msg['From'], msg['To'], 'Send', message['body'])
|
||||
return id
|
||||
|
||||
def msg_test(self, msg, case_str):
|
||||
if not case_str:
|
||||
return (False, False)
|
||||
emails = self.rpc(self.model, 'emails_get', int(case_str))
|
||||
return (int(case_str), emails)
|
||||
|
||||
case_id = int(case_str)
|
||||
emails = self.rpc(self.model, 'emails_get', [case_id])
|
||||
return (case_id, emails)
|
||||
|
||||
def parse(self, msg):
|
||||
case_str = reference_re.search(msg.get('References', ''))
|
||||
@@ -377,23 +387,37 @@ class email_parser(object):
|
||||
case_str = case_re.search(msg.get('Subject', ''))
|
||||
if case_str:
|
||||
case_str = case_str.group(1)
|
||||
|
||||
logging.info("email: %s -> %s -- %s", msg['From'], self.email, msg['Subject'])
|
||||
(case_id, emails) = self.msg_test(msg, case_str)
|
||||
thread_id = None
|
||||
if case_id:
|
||||
if emails[0] and self.email_get(emails[0])==self.email_get(self._decode_header(msg['From'])):
|
||||
values = self.rpc(self.model, 'read', [case_id], ['thread_id'])
|
||||
if values:
|
||||
thread_id = values[0]['thread_id'][0]
|
||||
emails = emails[str(thread_id)]
|
||||
|
||||
user_email = filter(None, emails['user_email'])[0]
|
||||
|
||||
if user_email and self.email_get(user_email) == self.email_get(self._decode_header(msg['From'])):
|
||||
self.msg_user(msg, case_id)
|
||||
else:
|
||||
self.msg_partner(msg, case_id)
|
||||
else:
|
||||
case_id = self.msg_new(msg)
|
||||
subject = self._decode_header(msg['subject'])
|
||||
if msg.get('Subject', ''):
|
||||
del msg['Subject']
|
||||
msg['Subject'] = '['+str(case_id)+'] '+subject
|
||||
msg['Message-Id'] = '<'+str(time.time())+'-openerpcrm-'+str(case_id)+'@'+socket.gethostname()+'>'
|
||||
case_id, thread_id = self.msg_new(msg)
|
||||
subject = self._decode_header(msg['Subject'])
|
||||
msg['Subject'] = "[%s] %s" % (case_id, subject,)
|
||||
msg['Message-Id'] = "<%s-openerpcrm-%s@%s>" % (time.time(), case_id, socket.gethostname(),)
|
||||
|
||||
emails = self.rpc(self.model, 'emails_get', case_id)
|
||||
priority = emails[3]
|
||||
em = [emails[0], emails[1]] + (emails[2] or '').split(',')
|
||||
logging.info(" case: %r", case_id)
|
||||
logging.info(" thread: %r", thread_id)
|
||||
|
||||
values = self.rpc(self.model, 'emails_get', [case_id])
|
||||
|
||||
emails = values[str(thread_id)]
|
||||
|
||||
priority = emails.get('piority', [3])[0]
|
||||
em = emails['user_email'] + emails['email_from'] + emails['email_cc']
|
||||
emails = map(self.email_get, filter(None, em))
|
||||
|
||||
mm = [self._decode_header(msg['From']), self._decode_header(msg['To'])]+self._decode_header(msg.get('Cc', '')).split(',')
|
||||
@@ -405,13 +429,11 @@ class email_parser(object):
|
||||
except:
|
||||
if self.email_default:
|
||||
a = self._decode_header(msg['Subject'])
|
||||
del msg['Subject']
|
||||
msg['Subject'] = '[OpenERP-CaseError] ' + a
|
||||
self.msg_send(msg, self.email_default.split(','))
|
||||
return case_id, emails
|
||||
return case_id, thread_id, emails
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys, optparse
|
||||
parser = optparse.OptionParser(usage='usage: %prog [options]', version='%prog v1.0')
|
||||
group = optparse.OptionGroup(parser, "Note",
|
||||
"This program parse a mail from standard input and communicate "
|
||||
@@ -426,8 +448,10 @@ if __name__ == '__main__':
|
||||
parser.add_option("--host", dest="host", help="Hostname of the Open ERP Server", default="localhost")
|
||||
parser.add_option("--port", dest="port", help="Port of the Open ERP Server", default="8069")
|
||||
|
||||
|
||||
(options, args) = parser.parse_args()
|
||||
|
||||
logging.basicConfig(level=logging.DEBUG, format="%(asctime)s %(levelname)s %(message)s")
|
||||
|
||||
parser = email_parser(options.userid, options.password, options.model, options.email, options.default, dbname=options.dbname, host=options.host, port=options.port)
|
||||
|
||||
msg_txt = email.message_from_file(sys.stdin)
|
||||
|
||||
@@ -29,7 +29,10 @@
|
||||
"description": "Menu for Marketing",
|
||||
'website': 'http://www.openerp.com',
|
||||
'init_xml': [],
|
||||
'update_xml': ['marketing_view.xml'],
|
||||
'update_xml': [
|
||||
'marketing_view.xml',
|
||||
'security/ir.model.access.csv'
|
||||
],
|
||||
'demo_xml': [],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_marketing_installer","marketing.installer","model_marketing_installer","base.group_system",1,1,1,1
|
||||
"access_res_config_installer","access_marketing_installer","base.model_res_config_installer","base.group_system",1,1,1,1
|
||||
|
@@ -39,6 +39,8 @@
|
||||
'marketing_campaign_data.xml',
|
||||
'marketing_campaign_workflow.xml',
|
||||
'report/campaign_analysis_view.xml',
|
||||
"security/marketing_campaign_security.xml",
|
||||
"security/ir.model.access.csv"
|
||||
],
|
||||
'demo_xml': [
|
||||
'marketing_campaign_demo.xml',
|
||||
|
||||
@@ -467,8 +467,8 @@ class marketing_campaign_workitem(osv.osv):
|
||||
else:
|
||||
# manual states are not processed automatically
|
||||
workitem_ids = []
|
||||
if workitem_ids:
|
||||
self.process(cr, uid, workitem_ids, context)
|
||||
if workitem_ids:
|
||||
self.process(cr, uid, workitem_ids, context)
|
||||
|
||||
marketing_campaign_workitem()
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_marketing_campaign_admin","marketing.campaign","model_marketing_campaign","marketing_campaign.res_groups_marketing_campaign",1,1,1,1
|
||||
"access_marketing_campaign_segment_campaignadmin","marketing.campaign.segment","model_marketing_campaign_segment","marketing_campaign.res_groups_marketing_campaign",1,1,1,1
|
||||
"access_marketing_campaign_activity_campaignadmin","marketing.campaign.activity","model_marketing_campaign_activity","marketing_campaign.res_groups_marketing_campaign",1,1,1,1
|
||||
"access_marketing_campaign_workitem_campaignadmin","marketing.campaign.workitem","model_marketing_campaign_workitem","marketing_campaign.res_groups_marketing_campaign",1,1,1,1
|
||||
"access_marketing_campaign_transition_campaignadmin","marketing.campaign.transition","model_marketing_campaign_transition","marketing_campaign.res_groups_marketing_campaign",1,1,1,1
|
||||
"access_marketing_campaign_analysis_campaignadmin","campaign.analysis","model_campaign_analysis","marketing_campaign.res_groups_marketing_campaign",1,0,0,0
|
||||
|
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="res_groups_marketing_campaign" model="res.groups">
|
||||
<field name="name">Marketing / Campaign</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
+19
-19
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-06-10 09:51+0000\n"
|
||||
"PO-Revision-Date: 2010-06-11 10:07+0000\n"
|
||||
"Last-Translator: vir (Open ERP) <vir@tinyerp.com>\n"
|
||||
"Language-Team: Hindi <hi@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-11 03:42+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-12 03:44+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: mrp
|
||||
@@ -460,7 +460,7 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: field:mrp.bom.revision,author_id:0
|
||||
msgid "Author"
|
||||
msgstr ""
|
||||
msgstr "लेखक"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.transition,name:mrp.process_transition_stockproduct0
|
||||
@@ -491,7 +491,7 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: field:mrp.procurement,message:0
|
||||
msgid "Latest error"
|
||||
msgstr ""
|
||||
msgstr "नवीनतम त्रुटि"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.bom,bom_lines:0
|
||||
@@ -511,7 +511,7 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
msgid "Consumed Products"
|
||||
msgstr ""
|
||||
msgstr "खपत उत्पाद"
|
||||
|
||||
#. module: mrp
|
||||
#: constraint:mrp.bom:0
|
||||
@@ -538,12 +538,12 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: selection:mrp.procurement,state:0
|
||||
msgid "Ready"
|
||||
msgstr ""
|
||||
msgstr "तैयार"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.routing:0
|
||||
msgid "Workcenter Operations"
|
||||
msgstr ""
|
||||
msgstr "Workcenter संचालन"
|
||||
|
||||
#. module: mrp
|
||||
#: model:ir.actions.act_window,name:mrp.mrp_production_action2_gantt
|
||||
@@ -564,7 +564,7 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: field:mrp.production,date_finnished:0
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
msgstr "समाप्ति तिथि"
|
||||
|
||||
#. module: mrp
|
||||
#: help:mrp.production,picking_id:0
|
||||
@@ -576,7 +576,7 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: selection:mrp.production,state:0
|
||||
msgid "In Production"
|
||||
msgstr ""
|
||||
msgstr "उत्पादन में"
|
||||
|
||||
#. module: mrp
|
||||
#: field:stock.warehouse.orderpoint,qty_multiple:0
|
||||
@@ -600,12 +600,12 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: wizard_button:mrp.workcenter.load,init,report:0
|
||||
msgid "Print"
|
||||
msgstr ""
|
||||
msgstr "प्रिंट"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.workcenter,type:0
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
msgstr "प्रकार"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.node,note:mrp.process_node_stockproduct0
|
||||
@@ -616,7 +616,7 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: selection:mrp.workcenter.load,init,time_unit:0
|
||||
msgid "Per month"
|
||||
msgstr ""
|
||||
msgstr "प्रति माह"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.procurement,product_uos_qty:0
|
||||
@@ -626,18 +626,18 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: rml:bom.structure:0
|
||||
msgid "Product Name"
|
||||
msgstr ""
|
||||
msgstr "वस्तु का नाम"
|
||||
|
||||
#. module: mrp
|
||||
#: rml:mrp.production.order:0
|
||||
msgid "Printing date"
|
||||
msgstr ""
|
||||
msgstr "मुद्रण तारीख"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.node,name:mrp.process_node_orderrfq0
|
||||
#: model:process.node,name:mrp.process_node_rfq0
|
||||
msgid "RFQ"
|
||||
msgstr ""
|
||||
msgstr "कोटेशन के लिए अनुरोध"
|
||||
|
||||
#. module: mrp
|
||||
#: field:mrp.bom,revision_type:0
|
||||
@@ -657,7 +657,7 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: field:stock.warehouse.orderpoint,product_min_qty:0
|
||||
msgid "Min Quantity"
|
||||
msgstr ""
|
||||
msgstr "न्यूनतम मात्रा"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
@@ -678,7 +678,7 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: model:process.transition,note:mrp.process_transition_servicemts0
|
||||
msgid "If Product type is service and procure method is Make to stock"
|
||||
msgstr ""
|
||||
msgstr "अगर उत्पाद प्रकार सेवा है और खरीद विधि है स्टॉक बनाने के लिए"
|
||||
|
||||
#. module: mrp
|
||||
#: model:process.node,note:mrp.process_node_serviceproduct0
|
||||
@@ -689,7 +689,7 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: field:res.company,security_lead:0
|
||||
msgid "Security Days"
|
||||
msgstr ""
|
||||
msgstr "सुरक्षा दिवस"
|
||||
|
||||
#. module: mrp
|
||||
#: view:mrp.production:0
|
||||
@@ -715,7 +715,7 @@ msgstr ""
|
||||
#. module: mrp
|
||||
#: selection:mrp.procurement,state:0
|
||||
msgid "Exception"
|
||||
msgstr ""
|
||||
msgstr "अपवाद"
|
||||
|
||||
#. module: mrp
|
||||
#: wizard_view:product.product.procurement,init:0
|
||||
|
||||
+30
-30
@@ -41,7 +41,7 @@
|
||||
id="menu_mrp_configuration"
|
||||
name="Configuration"
|
||||
parent="base.menu_mrp_root"
|
||||
groups="base.group_extended"
|
||||
groups="group_mrp_manager"
|
||||
sequence="50" />
|
||||
|
||||
<record id="mrp_property_tree_view" model="ir.ui.view">
|
||||
@@ -250,7 +250,7 @@
|
||||
<newline/>
|
||||
<field name="product_uom"/>
|
||||
<field name="product_qty"/>
|
||||
<field name="routing_id" widget="selection" groups="base.group_extended"/>
|
||||
<field name="routing_id" groups="base.group_extended"/>
|
||||
<newline/>
|
||||
<field name="product_uos" groups="product.group_uos,base.group_extended" widget="selection"/>
|
||||
<field name="product_uos_qty" groups="product.group_uos,base.group_extended" />
|
||||
@@ -283,7 +283,7 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_mrp_bom_filter" model="ir.ui.view">
|
||||
<record id="view_mrp_bom_filter" model="ir.ui.view">
|
||||
<field name="name">mrp.bom.select</field>
|
||||
<field name="model">mrp.bom</field>
|
||||
<field name="type">search</field>
|
||||
@@ -291,9 +291,9 @@
|
||||
<search string="Search Bill Of Material">
|
||||
<group col='4' colspan='4'>
|
||||
<field name="name"/>
|
||||
<field name="code" string="Reference"/>
|
||||
<field name="product_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="code" string="Reference"/>
|
||||
<field name="product_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By" colspan="4" col="8" groups="base.group_extended">
|
||||
@@ -402,26 +402,26 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
<!--
|
||||
Procurement
|
||||
-->
|
||||
|
||||
<menuitem action="procurement.procurement_action" id="menu_mrp_procurement_action"
|
||||
parent="mrp.menu_mrp_manufacturing" sequence="2" />
|
||||
<menuitem action="procurement.procurement_action" id="menu_mrp_procurement_action"
|
||||
parent="mrp.menu_mrp_manufacturing" sequence="2" />
|
||||
<!-- <menuitem action="procurement.procurement_action5" id="menu_mrp_procurement_exception_action"-->
|
||||
<!-- parent="mrp.menu_mrp_control" sequence="1" />-->
|
||||
<!-- parent="mrp.menu_mrp_control" sequence="1" />-->
|
||||
|
||||
<menuitem id="menu_mrp_scheduler" name="Schedulers" parent="base.menu_mrp_root" sequence="4"/>
|
||||
<menuitem id="menu_mrp_scheduler" name="Schedulers" parent="base.menu_mrp_root" sequence="4"/>
|
||||
<menuitem action="procurement.action_compute_schedulers" id="mrp_Sched_all" parent="mrp.menu_mrp_scheduler" sequence="90"/>
|
||||
|
||||
<!--
|
||||
Order Point
|
||||
-->
|
||||
<menuitem action="procurement.action_orderpoint_form" id="menu_action_orderpoint_form" parent="mrp.menu_mrp_reordering"/>
|
||||
<!--
|
||||
Order Point
|
||||
-->
|
||||
<menuitem action="procurement.action_orderpoint_form" id="menu_action_orderpoint_form" parent="mrp.menu_mrp_reordering"/>
|
||||
|
||||
<!--
|
||||
Production Management
|
||||
-->
|
||||
Production Management
|
||||
-->
|
||||
|
||||
<record id="mrp_production_tree_view" model="ir.ui.view">
|
||||
<field name="name">mrp.production.tree</field>
|
||||
@@ -515,9 +515,9 @@
|
||||
<notebook colspan="4">
|
||||
<page string="Consumed Products">
|
||||
<field name="bom_id" domain="[('product_id','=',product_id),('bom_id','=',False)]" on_change="bom_id_change(bom_id)" />
|
||||
<field name="routing_id" groups="base.group_extended" select="1" widget="selection"/>
|
||||
<field name="location_src_id" domain="[('usage','=','internal')]" widget="selection" on_change="location_id_change(location_src_id,location_dest_id)"/>
|
||||
<field name="location_dest_id" domain="[('usage','=','internal')]" widget="selection"/>
|
||||
<field name="routing_id" groups="base.group_extended" select="1"/>
|
||||
<field name="location_src_id" domain="[('usage','=','internal')]" on_change="location_id_change(location_src_id,location_dest_id)"/>
|
||||
<field name="location_dest_id" domain="[('usage','=','internal')]"/>
|
||||
<separator string="" colspan="4"/>
|
||||
|
||||
<field colspan="2" name="move_lines" nolabel="1" widget="one2many_list"
|
||||
@@ -807,19 +807,19 @@
|
||||
</record>
|
||||
|
||||
<!--
|
||||
Procurements
|
||||
Procurements
|
||||
-->
|
||||
|
||||
<record id="view_procurement_form_inherit" model="ir.ui.view">
|
||||
<field name="name">procurement.order.form.inherit</field>
|
||||
<field name="model">procurement.order</field>
|
||||
<field name="inherit_id" ref="procurement.procurement_form_view"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page/field[@name='move_id']" position="before">
|
||||
<field name="bom_id" domain="[('product_id','=',product_id),('bom_id','=',False)]"/>
|
||||
</xpath>
|
||||
</field>
|
||||
<field name="name">procurement.order.form.inherit</field>
|
||||
<field name="model">procurement.order</field>
|
||||
<field name="inherit_id" ref="procurement.procurement_form_view"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page/field[@name='move_id']" position="before">
|
||||
<field name="bom_id" domain="[('product_id','=',product_id),('bom_id','=',False)]"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"access_hr_timesheet_group_mrp_worker","resource.calendar mrp_worker","resource.model_resource_calendar","mrp.group_mrp_user",1,0,0,0
|
||||
"access_procurement_stock_worker","procurement.order stock_worker","model_procurement_order","stock.group_stock_user",1,1,1,1
|
||||
"access_mrp_production_stock_worker","mrp.production stock_worker","model_mrp_production","stock.group_stock_user",1,0,0,0
|
||||
"access_mrp_installer","mrp.installer","model_mrp_installer","mrp.group_mrp_user",1,0,0,0
|
||||
"access_mrp_installer","mrp.installer","model_mrp_installer","base.group_system",1,1,1,1
|
||||
"access_mrp_product_produce","mrp.product.produce","model_mrp_product_produce","mrp.group_mrp_user",1,0,0,0
|
||||
"access_mrp_change_production_qty","change.production.qty","model_change_production_qty","mrp.group_mrp_user",1,0,0,0
|
||||
"access_mrp_production_order","mrp.production.order","model_mrp_production_order","mrp.group_mrp_user",1,0,0,0
|
||||
|
||||
|
@@ -0,0 +1,22 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import partner_geo_assign
|
||||
@@ -0,0 +1,38 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
|
||||
{
|
||||
'name': 'Partner Geo-Localisation',
|
||||
'version': '1.0',
|
||||
'category': 'Generic Modules/Production',
|
||||
'description': """
|
||||
This is the module used by OpenERP SA to redirect customers to his partners,
|
||||
based on geolocalisation.
|
||||
""",
|
||||
'author': 'OpenERP SA',
|
||||
'depends': ['crm'],
|
||||
'update_xml': ['res_partner_view.xml'],
|
||||
'demo_xml': [],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': False,
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import osv
|
||||
from osv import fields
|
||||
import urllib,re
|
||||
import random, time
|
||||
|
||||
def geo_find(addr):
|
||||
import urllib,re
|
||||
regex = '<coordinates>([+-]?[0-9\.]+),([+-]?[0-9\.]+),([+-]?[0-9\.]+)</coordinates>'
|
||||
url = 'http://maps.google.com/maps/geo?q=' + urllib.quote(addr) + '&output=xml&oe=utf8&sensor=false'
|
||||
xml = urllib.urlopen(url).read()
|
||||
if '<error>' in xml:
|
||||
print 'Error'
|
||||
return None
|
||||
result = re.search(regex, xml, re.M|re.I)
|
||||
if not result:
|
||||
print 'No Regex', xml
|
||||
return None
|
||||
return float(result.group(1)),float(result.group(2))
|
||||
|
||||
class res_partner(osv.osv):
|
||||
_inherit = "res.partner"
|
||||
_columns = {
|
||||
'partner_latitude': fields.float('Geo Latitude', digits=(16,2)),
|
||||
'partner_longitude': fields.float('Geo Longitude', digits=(16,2)),
|
||||
'partner_weight': fields.integer('Weight',
|
||||
help="Gives the probability to assign a lead to this partner. (0 means no assignation.)"),
|
||||
}
|
||||
_defaults = {
|
||||
'partner_weight': lambda *args: 0
|
||||
}
|
||||
def geo_localize(self, cr, uid, ids, context=None):
|
||||
regex = '<coordinates>([+-]?[0-9\.]+),([+-]?[0-9\.]+),([+-]?[0-9\.]+)</coordinates>'
|
||||
for partner in self.browse(cr, uid, ids, context=context):
|
||||
part = partner.address[0]
|
||||
addr = ', '.join(filter(None, [part.street, part.street2, (part.zip or '')+' '+(part.city or ''), part.state_id and part.state_id.name, part.country_id and part.country_id.name]))
|
||||
result = geo_find(addr)
|
||||
if result:
|
||||
print 'Write', {
|
||||
'partner_latitude': result[0],
|
||||
'partner_longitude': result[1]
|
||||
}
|
||||
self.write(cr, uid, [partner.id], {
|
||||
'partner_latitude': result[0],
|
||||
'partner_longitude': result[1]
|
||||
}, context=context)
|
||||
return True
|
||||
res_partner()
|
||||
|
||||
class crm_lead(osv.osv):
|
||||
_inherit = "crm.lead"
|
||||
_columns = {
|
||||
'partner_latitude': fields.float('Geo Latitude', digits=(16,2)),
|
||||
'partner_longitude': fields.float('Geo Longitude', digits=(16,2)),
|
||||
'partner_assigned_id': fields.many2one('res.partner','Assigned Partner')
|
||||
'date_assign': fields.date('Assignation Date')
|
||||
}
|
||||
def assign_partner(self, cr, uid, ids, context=None):
|
||||
for part in self.browse(cr, uid, ids, context=context):
|
||||
if not part.country_id:
|
||||
continue
|
||||
addr = ', '.join(filter(None, [part.street, part.street2, (part.zip or '')+' '+(part.city or ''), part.state_id and part.state_id.name, part.country_id and part.country_id.name]))
|
||||
result = geo_find(addr)
|
||||
if result:
|
||||
self.write(cr, uid, [part.id], {
|
||||
'partner_latitude': result[0],
|
||||
'partner_longitude': result[1]
|
||||
}, context=context)
|
||||
|
||||
part_ids = self.pool.get('res.partner').search(cr, uid, [
|
||||
('partner_weight','>',0),
|
||||
('partner_latitude','>',result[0]-2), ('partner_latitude','<',result[0]+2),
|
||||
('partner_longitude','>',result[1]-1.5), ('partner_longitude','<',result[1]+1.5)
|
||||
], context=context)
|
||||
if not part_ids:
|
||||
part_ids = self.pool.get('res.partner').search(cr, uid, [
|
||||
('partner_weight','>',0),
|
||||
('partner_latitude','>',result[0]-4), ('partner_latitude','<',result[0]+4),
|
||||
('partner_longitude','>',result[1]-3), ('partner_longitude','<',result[1]+3)
|
||||
], context=context)
|
||||
total = 0
|
||||
toassign = []
|
||||
for part2 in self.pool.get('res.partner').browse(cr, uid, part_ids, context=context):
|
||||
total += part2.partner_weight
|
||||
toassign.append( (part2.id, total) )
|
||||
mypartner = random.randint(0,total)
|
||||
for t in toassign:
|
||||
if mypartner<=t[1]:
|
||||
self.write(cr, uid, [part.id], {'partner_assigned_id': t[0], 'date_assign': time.strftime('%Y-%m-%d')}, context=context)
|
||||
break
|
||||
return True
|
||||
crm_lead()
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_crm_opportunity_geo_assign_form" model="ir.ui.view">
|
||||
<field name="name">crm.lead.geo_assign.inherit</field>
|
||||
<field name="model">crm.lead</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//notebook[last()]" position="inside">
|
||||
<page string="Partner Assignation">
|
||||
<field name="partner_assigned_id"/>
|
||||
<label string="" colspan="1"/>
|
||||
<button string="Geo Assign" name="assign_partner" type="object"/>
|
||||
<newline/>
|
||||
<field name="partner_latitude"/>
|
||||
<field name="partner_longitude"/>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_crm_partner_geo_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.geo.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//notebook[last()]" position="inside">
|
||||
<page string="Partner Association">
|
||||
<field name="partner_weight"/>
|
||||
<label string="" colspan="1"/>
|
||||
<button string="Geo Localize" name="geo_localize" icon="gtk-apply" type="object"/>
|
||||
<newline/>
|
||||
<field name="partner_latitude"/>
|
||||
<field name="partner_longitude"/>
|
||||
<field name="date_assign"/>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,32 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data noupdate="0">
|
||||
<record id="second_partner" model="res.partner">
|
||||
<field name="name">OpenERP Editor</field>
|
||||
</record>
|
||||
<record id="second_company" model="res.company">
|
||||
<field name="name">OpenERP Editor</field>
|
||||
<field name="partner_id" ref="base.main_partner"/>
|
||||
<field name="parent_id" ref="base.main_company"/>
|
||||
<field name="rml_header1">Free Business Solutions</field>
|
||||
<field name="rml_footer1">Web: http://tiny.be - Tel: (+32).81.81.37.00 - Bank: CPH 126-2013269-07</field>
|
||||
<field name="rml_footer2">IBAN: BE74 1262 0132 6907 - SWIFT: GKCCBEBB - VAT: BE0477.472.701</field>
|
||||
<field name="currency_id" ref="base.EUR"/>
|
||||
|
||||
</record>
|
||||
<record id="ter_partner" model="res.partner">
|
||||
<field name="name">OpenERP Integrator</field>
|
||||
</record>
|
||||
|
||||
<record id="ter_company" model="res.company">
|
||||
<field name="name">OpenERP Integrator</field>
|
||||
<field name="partner_id" ref="base.main_partner"/>
|
||||
<field name="parent_id" ref="base.main_company"/>
|
||||
<field name="rml_header1">Free Business Solutions</field>
|
||||
<field name="rml_footer1">Web: http://tiny.be - Tel: (+32).81.81.37.00 - Bank: CPH 126-2013269-07</field>
|
||||
<field name="rml_footer2">IBAN: BE74 1262 0132 6907 - SWIFT: GKCCBEBB - VAT: BE0477.472.701</field>
|
||||
<field name="currency_id" ref="base.EUR"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
|
||||
@@ -1,41 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
|
||||
<data>
|
||||
<record forcecreate="True" id="property_stock_account_output_prd_multi" model="ir.property">
|
||||
<field name="name">property_stock_account_output</field>
|
||||
<field name="fields_id" search="[('model','=','product.template'),('name','=','property_stock_account_output')]"/>
|
||||
<field eval="False" name="value"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
</record>
|
||||
<record forcecreate="True" id="property_stock_account_input_prd_multi" model="ir.property">
|
||||
<field name="name">property_stock_account_input</field>
|
||||
<field name="fields_id" search="[('model','=','product.template'),('name','=','property_stock_account_input')]"/>
|
||||
<field eval="False" name="value"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
</record>
|
||||
<record forcecreate="True" id="property_stock_account_output_categ_multi" model="ir.property">
|
||||
<field name="name">property_stock_account_output_categ</field>
|
||||
<field name="fields_id" search="[('model','=','product.category'),('name','=','property_stock_account_output_categ')]"/>
|
||||
<field eval="False" name="value"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
</record>
|
||||
<record forcecreate="True" id="property_stock_account_input_categ_multi" model="ir.property">
|
||||
<field name="name">property_stock_account_input_categ</field>
|
||||
<field name="fields_id" search="[('model','=','product.category'),('name','=','property_stock_account_input_categ')]"/>
|
||||
<field eval="False" name="value"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
</record>
|
||||
<record id="ir_property_propertystockjournal0" model="ir.property">
|
||||
<field eval=""""property_stock_journal"""" name="name"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
<field eval=""""account.journal,16"""" name="value"/>
|
||||
<field name="fields_id" ref="stock.field_product_category_property_stock_journal"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="stock.property_stock_journal" model="ir.property">
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -193,10 +193,10 @@ class pos_order(osv.osv):
|
||||
res[order.id]['amount_tax'])
|
||||
else:
|
||||
res[order.id]['amount_tax'] = reduce(lambda x, y: x+round(y['amount'], 2),
|
||||
tax_obj.compute(cr, uid, line.product_id.taxes_id,
|
||||
tax_obj.compute_all(cr, uid, line.product_id.taxes_id,
|
||||
line.price_unit * \
|
||||
(1-(line.discount or 0.0)/100.0), line.qty),
|
||||
res[order.id]['amount_tax'])
|
||||
(1-(line.discount or 0.0)/100.0), line.qty)['taxes'],
|
||||
res[order.id]['amount_tax'])
|
||||
return res
|
||||
|
||||
|
||||
@@ -789,8 +789,8 @@ class pos_order(osv.osv):
|
||||
tax_amount = 0
|
||||
taxes = [t for t in line.product_id.taxes_id]
|
||||
if order.price_type=='tax_excluded':
|
||||
computed_taxes = account_tax_obj.compute(
|
||||
cr, uid, taxes, line.price_unit, line.qty)
|
||||
computed_taxes = account_tax_obj.compute_all(
|
||||
cr, uid, taxes, line.price_unit, line.qty)['taxes']
|
||||
else:
|
||||
computed_taxes = account_tax_obj.compute_inv(
|
||||
cr, uid, taxes, line.price_unit, line.qty)
|
||||
@@ -1058,7 +1058,7 @@ class pos_order_line(osv.osv):
|
||||
for line in self.browse(cr, uid, ids):
|
||||
tax_amount = 0.0
|
||||
taxes = [t for t in line.product_id.taxes_id]
|
||||
computed_taxes = account_tax_obj.compute(cr, uid, taxes, line.price_unit, line.qty)
|
||||
computed_taxes = account_tax_obj.compute_all(cr, uid, taxes, line.price_unit, line.qty)['taxes']
|
||||
for tax in computed_taxes:
|
||||
tax_amount += tax['amount']
|
||||
price = self.price_by_product(cr, uid, ids, line.order_id.pricelist_id.id, line.product_id.id, line.qty, line.order_id.partner_id.id)
|
||||
|
||||
@@ -1,58 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="cat1" model="product.category">
|
||||
<field name="name">Paiement</field>
|
||||
</record>
|
||||
<record id="advance_product_pos" model="product.product">
|
||||
<field name="name">Acompte</field>
|
||||
<field name="categ_id" ref="cat1"/>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">0.0</field>
|
||||
<field name="standard_price">0.0</field>
|
||||
<field name="uom_id" ref="product.product_uom_unit"/>
|
||||
<field name="uom_po_id" ref="product.product_uom_unit"/>
|
||||
</record>
|
||||
|
||||
<record id="advance_product_pos2" model="product.product">
|
||||
<field name="name">Reparation</field>
|
||||
<field name="categ_id" ref="cat1"/>
|
||||
<field name="type">service</field>
|
||||
<field name="list_price">100.0</field>
|
||||
<field name="standard_price">100.0</field>
|
||||
<field name="uom_id" ref="product.product_uom_unit"/>
|
||||
<field name="uom_po_id" ref="product.product_uom_unit"/>
|
||||
</record>
|
||||
|
||||
<record id="product_category_voucher" model="product.category">
|
||||
<field name="name">Bon</field>
|
||||
</record>
|
||||
|
||||
<record id="product_product_giftvoucher" model="product.product">
|
||||
<field name="default_code">GIFT</field>
|
||||
<field name="supply_method">produce</field>
|
||||
<field name="list_price">1.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="sale_delay">0.0</field>
|
||||
<field name="name">Cheque cadeau</field>
|
||||
<field name="categ_id" ref="product_category_voucher"/>
|
||||
</record>
|
||||
|
||||
<record id="product_product_shipping_cost" model="product.product">
|
||||
<field name="default_code">PORT01</field>
|
||||
<field name="supply_method">produce</field>
|
||||
<field name="list_price">1.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="sale_delay">0.0</field>
|
||||
<field name="name">Shipping cost</field>
|
||||
<field name="categ_id" ref="product_category_voucher"/>
|
||||
<field name="type">service</field>
|
||||
<field name="produce_delay">0</field>
|
||||
<field name="purchase_ok" eval="False" />
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,190 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<data >
|
||||
<record id="res_partner_tinyshop1" model="res.partner">
|
||||
<field eval=""""Shop 1"""" name="name"/>
|
||||
</record>
|
||||
|
||||
<record id="res_company_tinyshop1" model="res.company">
|
||||
<field name="currency_id" ref="base.EUR"/>
|
||||
<field eval="1.0" name="po_lead"/>
|
||||
<field name="partner_id" ref="res_partner_tinyshop1"/>
|
||||
<field eval="1.0" name="manufacturing_lead"/>
|
||||
<field name="parent_id" ref="base.main_company"/>
|
||||
<field eval="80.0" name="schedule_range"/>
|
||||
<field eval=""""Shop 1"""" name="name"/>
|
||||
</record>
|
||||
<record id="res_company_tinyshop0" model="res.company">
|
||||
<field name="currency_id" ref="base.EUR"/>
|
||||
<field eval="1.0" name="po_lead"/>
|
||||
<field name="partner_id" ref="res_partner_tinyshop1"/>
|
||||
<field eval="1.0" name="manufacturing_lead"/>
|
||||
<field name="parent_id" ref="base.main_company"/>
|
||||
<field eval="80.0" name="schedule_range"/>
|
||||
<field eval=""""Shop 2"""" name="name"/>
|
||||
</record>
|
||||
<record id="res_company_shop0" model="res.company">
|
||||
<field eval="5.0" name="security_lead"/>
|
||||
<field name="currency_id" ref="base.EUR"/>
|
||||
<field eval="1.0" name="po_lead"/>
|
||||
<field name="partner_id" ref="res_partner_tinyshop1"/>
|
||||
<field eval="1.0" name="manufacturing_lead"/>
|
||||
<field name="parent_id" ref="base.main_company"/>
|
||||
<field eval="80.0" name="schedule_range"/>
|
||||
<field eval=""""Shop 1"""" name="name"/>
|
||||
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="res_users_sofia0" model="res.users">
|
||||
<field model="ir.actions.actions" name="menu_id" search="[('name','=','Menu')]"/>
|
||||
<field eval="[(6,0,[ref('base.group_user'),ref('stock.group_stock_user')])]" name="groups_id"/>
|
||||
<field eval="[(6,0,[])]" name="roles_id"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval=""""shop3"""" name="password"/>
|
||||
<field eval=""""en_US"""" name="context_lang"/>
|
||||
<field eval=""""Shop 3"""" name="name"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
<field name="company_ids" eval="[(4, ref('res_company_shop0'))]"/>
|
||||
<field eval=""""shop3"""" name="login"/>
|
||||
<field model="ir.actions.actions" name="action_id" search="[('name','=','Menu')]"/>
|
||||
</record>
|
||||
</data>
|
||||
<data>
|
||||
<record id="pos_order_pos0" model="pos.order">
|
||||
<field name="sale_journal" ref="account.sales_journal"/>
|
||||
<field eval=""""2009-11-29"""" name="date_validity"/>
|
||||
<field name="shop_id" ref="sale.shop"/>
|
||||
<field eval=""""2009-05-29"""" name="date_order"/>
|
||||
<field name="partner_id" ref="base.res_partner_5"/>
|
||||
<field name="user_salesman_id" ref="base.user_root"/>
|
||||
<field name="sale_manager" ref="base.user_root"/>
|
||||
<field eval=""""POS/001"""" name="name"/>
|
||||
<field name="company_id" ref="res_company_tinyshop0"/>
|
||||
<field eval="0" name="invoice_wanted"/>
|
||||
<field eval=""""tax_excluded"""" name="price_type"/>
|
||||
<field eval=""""draft"""" name="state"/>
|
||||
<field name="pricelist_id" ref="product.list0"/>
|
||||
</record>
|
||||
<record id="pos_order_line_orderline0" model="pos.order.line">
|
||||
<field eval="0.5" name="discount"/>
|
||||
<field name="product_id" ref="product.product_product_pc2"/>
|
||||
<field eval=""""Order Line/01"""" name="name"/>
|
||||
<field name="order_id" ref="pos_order_pos0"/>
|
||||
<field eval="750.0" name="price_unit"/>
|
||||
<field name="company_id" ref="res_company_tinyshop0"/>
|
||||
<field eval="5.0" name="qty"/>
|
||||
</record>
|
||||
<record id="pos_order_line_orderline1" model="pos.order.line">
|
||||
<field eval="1.0" name="discount"/>
|
||||
<field name="product_id" ref="product.product_product_cpu1"/>
|
||||
<field eval=""""Order Line/02"""" name="name"/>
|
||||
<field name="order_id" ref="pos_order_pos0"/>
|
||||
<field name="company_id" ref="res_company_tinyshop0"/>
|
||||
<field eval="75.0" name="price_unit"/>
|
||||
<field eval="1" name="qty"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
<data>
|
||||
<record id="pos_order_pos1" model="pos.order">
|
||||
<field name="sale_journal" ref="account.sales_journal"/>
|
||||
<field eval=""""2009-11-29"""" name="date_validity"/>
|
||||
<field name="shop_id" ref="sale.shop"/>
|
||||
<field eval=""""2009-05-29"""" name="date_order"/>
|
||||
<field name="partner_id" ref="base.res_partner_3"/>
|
||||
<field name="user_salesman_id" ref="res_users_sofia0"/>
|
||||
<field name="sale_manager" ref="base.user_root"/>
|
||||
<field eval=""""POS/002"""" name="name"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
<field eval=""""tax_excluded"""" name="price_type"/>
|
||||
<field eval="0" name="invoice_wanted"/>
|
||||
<field eval=""""draft"""" name="state"/>
|
||||
<field name="pricelist_id" ref="product.list0"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
Resource: pos.order.line
|
||||
-->
|
||||
<record id="pos_order_line_orderline2" model="pos.order.line">
|
||||
<field eval="1.0" name="discount"/>
|
||||
<field name="product_id" ref="product.product_product_hdd1"/>
|
||||
<field eval=""""Order Line/04"""" name="name"/>
|
||||
<field name="order_id" ref="pos_order_pos1"/>
|
||||
<field eval="50.0" name="price_unit"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
<field eval="10.0" name="qty"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<function
|
||||
eval="('default',False,'pricelist_id', [('pos.order', False)], ref('product.list0'), True, False, False, False, True)"
|
||||
id="pos_pricelist_set"
|
||||
model="ir.values"
|
||||
name="set"/>
|
||||
|
||||
<function
|
||||
eval="('default',False,'shop_id', [('pos.order', False)], ref('sale.shop'), True, False, False, False, True)"
|
||||
id="pos_shop_set"
|
||||
model="ir.values"
|
||||
name="set"/>
|
||||
<record id="pos_order_posadvance" model="pos.order">
|
||||
<field eval=""""tax_excluded"""" name="price_type"/>
|
||||
<field name="sale_journal" ref="account.sales_journal"/>
|
||||
<field eval=""""2009-11-29"""" name="date_validity"/>
|
||||
<field eval=""""2009-05-29"""" name="date_order"/>
|
||||
<field name="partner_id" ref="base.res_partner_3"/>
|
||||
<field name="user_salesman_id" ref="res_users_sofia0"/>
|
||||
<field name="sale_manager" ref="base.user_root"/>
|
||||
<field eval=""""POS/0012"""" name="name"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
<field eval="0" name="invoice_wanted"/>
|
||||
<field eval=""""draft"""" name="state"/>
|
||||
<field name="pricelist_id" ref="product.list0"/>
|
||||
<field name="shop_id" ref="sale.shop"/>
|
||||
</record>
|
||||
<record id="data_fiscalyear" model="account.fiscalyear">
|
||||
<field eval="'Fiscal Year Shop '+time.strftime('%Y')" name="name"/>
|
||||
<field eval="'FY'+time.strftime('%Y')" name="code"/>
|
||||
<field eval="time.strftime('%Y')+'-01-01'" name="date_start"/>
|
||||
<field eval="time.strftime('%Y')+'-12-31'" name="date_stop"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
</record>
|
||||
<record id="period_j6" model="account.period">
|
||||
<field eval="'Jun.'+time.strftime('%Y')" name="name"/>
|
||||
<field name="fiscalyear_id" ref="data_fiscalyear"/>
|
||||
<field eval="True" name="special"/>
|
||||
<field eval="time.strftime('%Y')+'-06-01'" name="date_start"/>
|
||||
<field eval="time.strftime('%Y')+'-06-30'" name="date_stop"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
</record>
|
||||
<record id="period_j7" model="account.period">
|
||||
<field eval="'Jul.'+time.strftime('%Y')" name="name"/>
|
||||
<field eval="True" name="special"/>
|
||||
<field name="fiscalyear_id" ref="data_fiscalyear"/>
|
||||
<field eval="time.strftime('%Y')+'-07-01'" name="date_start"/>
|
||||
<field eval="time.strftime('%Y')+'-07-31'" name="date_stop"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
</record>
|
||||
<record id="a_recv" model="account.account">
|
||||
<field name="name">Main Receivable</field>
|
||||
<field name="code">x 40000</field>
|
||||
<field name="type">receivable</field>
|
||||
<field name="user_type" ref="account.account_type_asset"/>
|
||||
<field eval="ref('account.minimal_0')" name="parent_id"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field eval="True" name="reconcile"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
<field name="user_type" ref="account.account_type_income"/>
|
||||
<field name="note">
|
||||
This chart of account is used for automated testing purpose. It is installed
|
||||
only if you selected demo data during your database creation. Modules can
|
||||
do black box testing on entries on this chart of account, without modifying
|
||||
your own chart of account.
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,112 +1,112 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<data>
|
||||
|
||||
<report
|
||||
id="pos_invoice_report"
|
||||
string="Invoice"
|
||||
model="pos.order"
|
||||
name="pos.invoice"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="account/report/invoice.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_invoice_report"
|
||||
string="Invoice"
|
||||
model="pos.order"
|
||||
name="pos.invoice"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="account/report/invoice.rml"
|
||||
/>
|
||||
|
||||
<report
|
||||
id="pos_lines_detail"
|
||||
string="Details of Sales"
|
||||
model="pos.order"
|
||||
name="pos.details"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="False"
|
||||
rml="point_of_sale/report/pos_details.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_lines_detail"
|
||||
string="Details of Sales"
|
||||
model="pos.order"
|
||||
name="pos.details"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="False"
|
||||
rml="point_of_sale/report/pos_details.rml"
|
||||
/>
|
||||
|
||||
<report
|
||||
id="pos_details_summary"
|
||||
string="Sales (summary)"
|
||||
model="pos.order"
|
||||
name="pos.details_summary"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="point_of_sale/report/pos_details_summary.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_details_summary"
|
||||
string="Sales (summary)"
|
||||
model="pos.order"
|
||||
name="pos.details_summary"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="point_of_sale/report/pos_details_summary.rml"
|
||||
/>
|
||||
|
||||
<report
|
||||
id="pos_lines_report"
|
||||
string="Pos Lines"
|
||||
model="pos.order"
|
||||
name="pos.lines"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="point_of_sale/report/pos_lines.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_lines_report"
|
||||
string="Pos Lines"
|
||||
model="pos.order"
|
||||
name="pos.lines"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="point_of_sale/report/pos_lines.rml"
|
||||
/>
|
||||
|
||||
<report
|
||||
id="pos_payment_report"
|
||||
string="Payment Report For Sale"
|
||||
model="pos.order"
|
||||
name="pos.payment.report"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="True"
|
||||
rml="point_of_sale/report/pos_payment_report.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_payment_report"
|
||||
string="Payment Report For Sale"
|
||||
model="pos.order"
|
||||
name="pos.payment.report"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="True"
|
||||
rml="point_of_sale/report/pos_payment_report.rml"
|
||||
/>
|
||||
|
||||
<report
|
||||
id="pos_sales_user"
|
||||
string="Sales Report"
|
||||
model="pos.order"
|
||||
name="pos.sales.user"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="False"
|
||||
rml="point_of_sale/report/pos_sales_user.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_sales_user"
|
||||
string="Sales Report"
|
||||
model="pos.order"
|
||||
name="pos.sales.user"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="False"
|
||||
rml="point_of_sale/report/pos_sales_user.rml"
|
||||
/>
|
||||
|
||||
<report
|
||||
id="pos_sales_user_today"
|
||||
string="Today's Sales"
|
||||
model="pos.order"
|
||||
name="pos.sales.user.today"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="False"
|
||||
rml="point_of_sale/report/pos_sales_user_today.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_sales_user_today"
|
||||
string="Today's Sales"
|
||||
model="pos.order"
|
||||
name="pos.sales.user.today"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="False"
|
||||
rml="point_of_sale/report/pos_sales_user_today.rml"
|
||||
/>
|
||||
|
||||
<report
|
||||
id="pos_payment_report_date"
|
||||
string="Payment Report"
|
||||
model="pos.order"
|
||||
name="pos.payment.report.date"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="False"
|
||||
rml="point_of_sale/report/pos_payment_report_date.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_payment_report_user"
|
||||
string="Today's Payment By User"
|
||||
model="pos.order"
|
||||
name="pos.payment.report.user"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="False"
|
||||
rml="point_of_sale/report/pos_payment_report_user.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_sales_user_today_current_user"
|
||||
string="Today's Sales by Current User"
|
||||
model="pos.order"
|
||||
name="pos.sales.user.today.current.user"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="False"
|
||||
rml="point_of_sale/report/pos_sales_user_today_current_user.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_payment_report_date"
|
||||
string="Payment Report"
|
||||
model="pos.order"
|
||||
name="pos.payment.report.date"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="False"
|
||||
rml="point_of_sale/report/pos_payment_report_date.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_payment_report_user"
|
||||
string="Today's Payment By User"
|
||||
model="pos.order"
|
||||
name="pos.payment.report.user"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="False"
|
||||
rml="point_of_sale/report/pos_payment_report_user.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_sales_user_today_current_user"
|
||||
string="Today's Sales by Current User"
|
||||
model="pos.order"
|
||||
name="pos.sales.user.today.current.user"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu="False"
|
||||
rml="point_of_sale/report/pos_sales_user_today_current_user.rml"
|
||||
/>
|
||||
|
||||
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -2,42 +2,42 @@
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
#
|
||||
# Sequences for pos.order
|
||||
#
|
||||
#
|
||||
# Sequences for pos.order
|
||||
#
|
||||
|
||||
<record model="ir.sequence.type" id="seq_type_pos_order">
|
||||
<field name="name">POS Order</field>
|
||||
<field name="code">pos.order</field>
|
||||
</record>
|
||||
<record model="ir.sequence" id="seq_pos_order">
|
||||
<field name="name">POS Order</field>
|
||||
<field name="code">pos.order</field>
|
||||
<field name="prefix">POS/</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
<record model="ir.sequence.type" id="seq_type_pos_order">
|
||||
<field name="name">POS Order</field>
|
||||
<field name="code">pos.order</field>
|
||||
</record>
|
||||
<record model="ir.sequence" id="seq_pos_order">
|
||||
<field name="name">POS Order</field>
|
||||
<field name="code">pos.order</field>
|
||||
<field name="prefix">POS/</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.sequence.type" id="seq_type_pos_payment">
|
||||
<field name="name">POS Payment</field>
|
||||
<field name="code">pos.payment</field>
|
||||
</record>
|
||||
<record model="ir.sequence" id="seq_pos_payment">
|
||||
<field name="name">POS Payment</field>
|
||||
<field name="code">pos.payment</field>
|
||||
<field name="prefix">Payment/</field>
|
||||
<field name="padding">2</field>
|
||||
</record>
|
||||
<record model="ir.sequence.type" id="seq_type_pos_payment">
|
||||
<field name="name">POS Payment</field>
|
||||
<field name="code">pos.payment</field>
|
||||
</record>
|
||||
<record model="ir.sequence" id="seq_pos_payment">
|
||||
<field name="name">POS Payment</field>
|
||||
<field name="code">pos.payment</field>
|
||||
<field name="prefix">Payment/</field>
|
||||
<field name="padding">2</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.sequence.type" id="seq_type_pos_order_line">
|
||||
<field name="name">POS order line</field>
|
||||
<field name="code">pos.order.line</field>
|
||||
</record>
|
||||
<record model="ir.sequence" id="seq_pos_order_line">
|
||||
<field name="name">POS order line</field>
|
||||
<field name="code">pos.order.line</field>
|
||||
<field name="prefix">Order Line/</field>
|
||||
<field name="padding">2</field>
|
||||
</record>
|
||||
<record model="ir.sequence.type" id="seq_type_pos_order_line">
|
||||
<field name="name">POS order line</field>
|
||||
<field name="code">pos.order.line</field>
|
||||
</record>
|
||||
<record model="ir.sequence" id="seq_pos_order_line">
|
||||
<field name="name">POS order line</field>
|
||||
<field name="code">pos.order.line</field>
|
||||
<field name="prefix">Order Line/</field>
|
||||
<field name="padding">2</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<menuitem name="Point of Sale" id="menu_point_root" sequence="10"
|
||||
icon="terp-partner"
|
||||
groups="group_pos_manager,group_pos_user"/>
|
||||
|
||||
<record model="ir.ui.view" id="view_pos_pos_form">
|
||||
<field name="name">pos.order</field>
|
||||
@@ -9,11 +12,11 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Sales Order POS">
|
||||
<group col="6" colspan="4">
|
||||
<field name="user_salesman_id" />
|
||||
<field name="partner_id" on_change="onchange_partner_pricelist(partner_id)"/>
|
||||
<field name="contract_number" groups="base.group_extended"/>
|
||||
<field name="user_salesman_id" />
|
||||
<field name="partner_id" on_change="onchange_partner_pricelist(partner_id)"/>
|
||||
<field name="contract_number" groups="base.group_extended"/>
|
||||
|
||||
</group>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Sale Order ">
|
||||
<field name="lines" colspan="4" nolabel="1">
|
||||
@@ -90,7 +93,7 @@
|
||||
<group colspan="4">
|
||||
<separator string="Invoicing" colspan="4"/>
|
||||
<field name="sale_journal" domain="[('type','=','sale'),('company_id','=',company_id)]"/>
|
||||
<field name="pricelist_id" domain="[('type','=','sale')]" widget="selection"/>
|
||||
<field name="pricelist_id" domain="[('type','=','sale')]"/>
|
||||
<field name="invoice_id"/>
|
||||
<group colspan="2" col="3">
|
||||
<button name="invoice" string="Create _Invoice" states="paid"/>
|
||||
@@ -112,7 +115,7 @@
|
||||
</page>
|
||||
|
||||
<page string="Notes" >
|
||||
<field colspan="4" name="note" nolabel="1"/>
|
||||
<field colspan="4" name="note" nolabel="1"/>
|
||||
</page>
|
||||
</notebook>
|
||||
|
||||
@@ -156,7 +159,7 @@
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="partner_id" select="1"/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="date_order" select="1" string="Order date" />
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="11" col="11" groups="base.group_extended">
|
||||
@@ -169,7 +172,6 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Point of Sale" id="menu_point_root" sequence="10"/>
|
||||
<menuitem name="Point of Sale" id="menu_point_of_sale" parent="menu_point_root" sequence="1" />
|
||||
<menuitem name="Sales Order" parent="menu_point_of_sale" id="menu_point_ofsale" action="action_pos_pos_form" sequence="1"/>
|
||||
<menuitem name="Products" id="menu_point_of_sale_product" parent="menu_point_root" sequence="2" />
|
||||
@@ -186,7 +188,7 @@
|
||||
<field name="view_id" ref="view_pos_order_tree"/>
|
||||
<field name="domain">['|',('state_2','=','to_verify'),('state','=','advance')]</field>
|
||||
<field name="context">{"search_default_user_id":uid}</field>
|
||||
<field name="search_view_id" ref="view_pos_order_filter"/>
|
||||
<field name="search_view_id" ref="view_pos_order_filter"/>
|
||||
|
||||
</record>
|
||||
|
||||
@@ -199,7 +201,7 @@
|
||||
<field name="view_id" ref="view_pos_order_tree"/>
|
||||
<field name="domain">[('state','!=', 'invoiced')]</field>
|
||||
<field name="context">{"search_default_user_id":uid}</field>
|
||||
<field name="search_view_id" ref="view_pos_order_filter"/>
|
||||
<field name="search_view_id" ref="view_pos_order_filter"/>
|
||||
|
||||
</record>
|
||||
<menuitem name="Invoicing" id="menu_point_of_sale_invoicing" parent="menu_point_root" sequence="4" />
|
||||
@@ -212,7 +214,7 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('state','=', 'paid')]</field>
|
||||
<field name="context">{"search_default_user_id":uid}</field>
|
||||
<field name="search_view_id" ref="view_pos_order_filter"/>
|
||||
<field name="search_view_id" ref="view_pos_order_filter"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_pos_order_tree2">
|
||||
<field name="name">Point of Sale</field>
|
||||
@@ -222,7 +224,7 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('date_order','<=', time.strftime('%Y-%m-%d 23:59:59'))]</field>
|
||||
<field name="context">{"search_default_user_id":uid}</field>
|
||||
<field name="search_view_id" ref="view_pos_order_filter"/>
|
||||
<field name="search_view_id" ref="view_pos_order_filter"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_pos_order_tree3">
|
||||
@@ -232,7 +234,7 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{"search_default_user_id":uid}</field>
|
||||
<field name="search_view_id" ref="view_pos_order_filter"/>
|
||||
<field name="search_view_id" ref="view_pos_order_filter"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_pos_order_tree_open">
|
||||
<field name="name">Opened Sales</field>
|
||||
@@ -241,7 +243,7 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form,tree</field>
|
||||
<field name="context">{"search_default_user_id":uid}</field>
|
||||
<field name="search_view_id" ref="view_pos_order_filter"/>
|
||||
<field name="search_view_id" ref="view_pos_order_filter"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_pos_order_line">
|
||||
|
||||
@@ -1,84 +1,84 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record model="workflow" id="wkf_pos">
|
||||
<field name="name">Pos workflow</field>
|
||||
<field name="osv">pos.order</field>
|
||||
<field name="on_create">True</field>
|
||||
</record>
|
||||
<record model="workflow" id="wkf_pos">
|
||||
<field name="name">Pos workflow</field>
|
||||
<field name="osv">pos.order</field>
|
||||
<field name="on_create">True</field>
|
||||
</record>
|
||||
|
||||
<!-- Roles definition -->
|
||||
<!-- Roles definition -->
|
||||
|
||||
<record model="res.roles" id="role_pos">
|
||||
<field name="name">POS - Confirmation</field>
|
||||
</record>
|
||||
<record model="res.roles" id="role_pos">
|
||||
<field name="name">POS - Confirmation</field>
|
||||
</record>
|
||||
|
||||
<!--Activities-->
|
||||
|
||||
<record model="workflow.activity" id="act_draft">
|
||||
<field name="wkf_id" ref="wkf_pos"/>
|
||||
<field name="flow_start">True</field>
|
||||
<field name="name">draft</field>
|
||||
</record>
|
||||
<record model="workflow.activity" id="act_draft">
|
||||
<field name="wkf_id" ref="wkf_pos"/>
|
||||
<field name="flow_start">True</field>
|
||||
<field name="name">draft</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.activity" id="act_paid">
|
||||
<field name="wkf_id" ref="wkf_pos"/>
|
||||
<field name="name">paid</field>
|
||||
<field name="action">action_paid()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
<record model="workflow.activity" id="act_paid">
|
||||
<field name="wkf_id" ref="wkf_pos"/>
|
||||
<field name="name">paid</field>
|
||||
<field name="action">action_paid()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.activity" id="act_done">
|
||||
<field name="wkf_id" ref="wkf_pos"/>
|
||||
<field name="name">done</field>
|
||||
<field name="flow_stop">True</field>
|
||||
<field name="action">action_done()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
<record model="workflow.activity" id="act_done">
|
||||
<field name="wkf_id" ref="wkf_pos"/>
|
||||
<field name="name">done</field>
|
||||
<field name="flow_stop">True</field>
|
||||
<field name="action">action_done()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.activity" id="act_invoiced">
|
||||
<field name="wkf_id" ref="wkf_pos"/>
|
||||
<field name="name">invoiced</field>
|
||||
<field name="flow_stop">True</field>
|
||||
<field name="action">action_invoice()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
<record model="workflow.activity" id="act_invoiced">
|
||||
<field name="wkf_id" ref="wkf_pos"/>
|
||||
<field name="name">invoiced</field>
|
||||
<field name="flow_stop">True</field>
|
||||
<field name="action">action_invoice()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.activity" id="act_cancel">
|
||||
<field name="wkf_id" ref="wkf_pos"/>
|
||||
<field name="name">cancel</field>
|
||||
<field name="flow_stop">True</field>
|
||||
<field name="action">action_cancel()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
<record model="workflow.activity" id="act_cancel">
|
||||
<field name="wkf_id" ref="wkf_pos"/>
|
||||
<field name="name">cancel</field>
|
||||
<field name="flow_stop">True</field>
|
||||
<field name="action">action_cancel()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!--Transitions-->
|
||||
|
||||
<record model="workflow.transition" id="trans_draft_paid">
|
||||
<field name="act_from" ref="act_draft"/>
|
||||
<field name="act_to" ref="act_paid"/>
|
||||
<field name="condition">test_paid()</field>
|
||||
<field name="signal">paid</field>
|
||||
</record>
|
||||
<record model="workflow.transition" id="trans_draft_paid">
|
||||
<field name="act_from" ref="act_draft"/>
|
||||
<field name="act_to" ref="act_paid"/>
|
||||
<field name="condition">test_paid()</field>
|
||||
<field name="signal">paid</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.transition" id="trans_paid_done">
|
||||
<field name="act_from" ref="act_paid"/>
|
||||
<field name="act_to" ref="act_done"/>
|
||||
<field name="signal">done</field>
|
||||
</record>
|
||||
<record model="workflow.transition" id="trans_paid_done">
|
||||
<field name="act_from" ref="act_paid"/>
|
||||
<field name="act_to" ref="act_done"/>
|
||||
<field name="signal">done</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.transition" id="trans_paid_invoice">
|
||||
<field name="act_from" ref="act_paid"/>
|
||||
<field name="act_to" ref="act_invoiced"/>
|
||||
<field name="signal">invoice</field>
|
||||
</record>
|
||||
<record model="workflow.transition" id="trans_paid_invoice">
|
||||
<field name="act_from" ref="act_paid"/>
|
||||
<field name="act_to" ref="act_invoiced"/>
|
||||
<field name="signal">invoice</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.transition" id="trans_paid_cancel">
|
||||
<field name="act_from" ref="act_paid"/>
|
||||
<field name="act_to" ref="act_cancel"/>
|
||||
<field name="signal">cancel</field>
|
||||
</record>
|
||||
<record model="workflow.transition" id="trans_paid_cancel">
|
||||
<field name="act_from" ref="act_paid"/>
|
||||
<field name="act_to" ref="act_cancel"/>
|
||||
<field name="signal">cancel</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,505 +1,7 @@
|
||||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data>
|
||||
<data>
|
||||
|
||||
<record id="res_users_shopuser0" model="res.users">
|
||||
<field model="ir.actions.actions" name="menu_id" search="[('name','=','Menu')]"/>
|
||||
<field eval="[(6,0,[ref('base.group_partner_manager')])]" name="groups_id"/>
|
||||
<field model="res.partner.address" name="address_id" search="[('name','=','Fabien')]"/>
|
||||
<field eval="[(6,0,[ref('purchase.res_roles_purchase0'),ref('sale.res_roles_salesman0')])]" name="roles_id"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval=""""shop1"""" name="password"/>
|
||||
<field eval=""""en_US"""" name="context_lang"/>
|
||||
<field eval=""""Shop 1 User"""" name="name"/>
|
||||
<field name="company_id" ref="stock.res_company_shop0"/>
|
||||
<field name="company_ids" eval="[(4, ref('stock.res_company_shop0'))]"/>
|
||||
<field eval=""""shop1"""" name="login"/>
|
||||
<field model="ir.actions.actions" name="action_id" search="[('name','=','Menu')]"/>
|
||||
</record>
|
||||
<record id="res_users_shopuser1" model="res.users">
|
||||
<field model="ir.actions.actions" name="menu_id" search="[('name','=','Menu')]"/>
|
||||
<field eval="[(6,0,[ref('base.group_partner_manager')])]" name="groups_id"/>
|
||||
<field model="res.partner.address" name="address_id" search="[('name','=','Eric')]"/>
|
||||
<field eval=""""shop2"""" name="password"/>
|
||||
<field eval=""""Shop 2 User"""" name="name"/>
|
||||
<field name="company_id" ref="stock.res_company_tinyshop0"/>
|
||||
<field name="company_ids" eval="[(4, ref('stock.res_company_tinyshop0'))]"/>
|
||||
<field eval=""""shop2"""" name="login"/>
|
||||
<field model="ir.actions.actions" name="action_id" search="[('name','=','Menu')]"/>
|
||||
</record>
|
||||
<record id="ir_rule_0" model="ir.rule">
|
||||
<field name="name">POS line</field>
|
||||
<field name="model_id" ref="model_pos_order_line"/>
|
||||
<field name="global" eval="True"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
<data>
|
||||
<record id="res_groups_posuserposline0" model="res.groups">
|
||||
<field eval="[(6,0,[ref('point_of_sale.menu_action_pos_order_line'),ref('point_of_sale.menu_action_pos_order_line_day')])]" name="menu_access"/>
|
||||
<field eval="[(6,0,[ref('ir_rule_0')])]" name="rule_groups"/>
|
||||
<field eval="[(6,0,[ref('res_users_shopuser0'),ref('res_users_shopuser1')])]" name="users"/>
|
||||
<field eval=""""POS_user_pos_line"""" name="name"/>
|
||||
</record>
|
||||
<record id="ir_model_access_posorderline0_1" model="ir.model.access">
|
||||
<field name="model_id" ref="point_of_sale.model_pos_order_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""pos.order.line"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuserposline0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_posorder0_1" model="ir.model.access">
|
||||
<field name="model_id" ref="point_of_sale.model_pos_order"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""pos.order"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuserposline0"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
<data>
|
||||
<record id="ir_rule_0" model="ir.rule">
|
||||
<field eval=""""point"""" name="name"/>
|
||||
<field name="model_id" ref="model_pos_order"/>
|
||||
<field name="global" eval="True"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
<record id="ir_rule_group_posreporting0" model="ir.rule">
|
||||
<field name="model_id" ref="point_of_sale.model_report_transaction_pos"/>
|
||||
<field eval=""""POS Reporting"""" name="name"/>
|
||||
<field name="global" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_rule_5" model="ir.rule">
|
||||
<field name="model_id" ref="point_of_sale.model_report_transaction_pos"/>
|
||||
<field name="domain_force">['|',('user_id','=',False),('user_id','=',[user.id])]</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
||||
<data>
|
||||
<record id="res_groups_posuser0" model="res.groups">
|
||||
<field eval="[(6,0,[ref('point_of_sale.menu_point_ofsale'),
|
||||
ref('point_of_sale.menu_point_config'),
|
||||
ref('stock.menu_action_location_form'),
|
||||
ref('stock.menu_action_location_tree'),
|
||||
ref('stock.menu_picking_waiting'),
|
||||
ref('stock.menu_action_picking_tree3'),
|
||||
ref('stock.menu_action_picking_tree5'),
|
||||
ref('stock.menu_action_picking_form'),
|
||||
ref('stock.menu_action_picking_tree7'),
|
||||
ref('stock.menu_action_picking_tree8'),
|
||||
ref('stock.menu_action_picking_tree9'),
|
||||
ref('procurement.menu_mrp_procurement_action3'),
|
||||
ref('point_of_sale.menu_point_root')])]" name="menu_access"/>
|
||||
<field eval="[(6,0,[ref('res_users_shopuser0'),ref('res_users_shopuser1')])]" name="users"/>
|
||||
<field eval="[(6,0,[ref('point_of_sale.ir_rule_group_point0'),ref('point_of_sale.ir_rule_group_poslinecompany0'),ref('point_of_sale.ir_rule_group_posreporting0')])]" name="rule_groups"/>
|
||||
<field eval=""""POS_user"""" name="name"/>
|
||||
</record>
|
||||
<record id="ir_model_access_point0" model="ir.model.access">
|
||||
<field name="model_id" ref="point_of_sale.model_pos_order"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""pos.order"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_reporttransacationpos0" model="ir.model.access">
|
||||
<field name="model_id" ref="point_of_sale.model_report_transaction_pos"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""report.transacation.pos"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_posorderline0" model="ir.model.access">
|
||||
<field name="model_id" ref="point_of_sale.model_pos_order_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""pos.order.line"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_modelsmrp_pdt0" model="ir.model.access">
|
||||
<field name="model_id" ref="procurement.model_procurement_order"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""MRP - Procurement"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_modelsupp_pdt0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_supplierinfo"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Product - Supplier Infos"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_modeluom_pdt0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_uom"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Product - UOM"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_accountmoveline0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_move_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Account Move Line"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_accountmove0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_move"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Ledger Posting"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_accountjournal0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_journal"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Account Journal"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_saleshop0" model="ir.model.access">
|
||||
<field name="model_id" ref="sale.model_sale_shop"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""sale.shop"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_stockwarehouse0" model="ir.model.access">
|
||||
<field name="model_id" ref="stock.model_stock_warehouse"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""stock.warehouse"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_stockwarehouseorderpoint0" model="ir.model.access">
|
||||
<field name="model_id" ref="procurement.model_stock_warehouse_orderpoint"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""stock.warehouse.orderpoint"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_stocklocation0" model="ir.model.access">
|
||||
<field name="model_id" ref="stock.model_stock_location"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""stock.location"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_saleorder0" model="ir.model.access">
|
||||
<field name="model_id" ref="sale.model_sale_order"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""sale.order"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_saleorderline0" model="ir.model.access">
|
||||
<field name="model_id" ref="sale.model_sale_order_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""sale.order.line"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_purchaseorder0" model="ir.model.access">
|
||||
<field name="model_id" ref="purchase.model_purchase_order"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""purchase.order"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_purchaseorderlines0" model="ir.model.access">
|
||||
<field name="model_id" ref="purchase.model_purchase_order_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Purchase Order lines"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_inv0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_invoice"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Invoice"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_invorderlines0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_invoice_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Invoice lines"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_acc0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_account"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Account"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_period0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_period"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Period"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_journalperiod0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_journal_period"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Journal - Period"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_values0" model="ir.model.access">
|
||||
<field name="model_id" ref="base.model_ir_values"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""values"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_prop0" model="ir.model.access">
|
||||
<field name="model_id" ref="base.model_ir_property"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""properties"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_pdt_pdt0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_product"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Product - Product"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_pdt_tmplt0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_template"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Product - Template"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_accountinvtax0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_invoice_tax"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Account Invoice Tax"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_productpricelist0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_pricelist"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""product.pricelist"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_productpricelisttype0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_pricelist_type"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""product.pricelist.type"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_productpricetype0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_price_type"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""product.price.type"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_productcategory0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_category"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""product.category"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_stockpicking0" model="ir.model.access">
|
||||
<field name="model_id" ref="stock.model_stock_picking"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""stock.picking"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_stockmove0" model="ir.model.access">
|
||||
<field name="model_id" ref="stock.model_stock_move"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""stock.move"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_productunitofmeasure0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_uom"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Product Unit of Measure"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_journalview0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_journal_view"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Journal View"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_journalcolumn0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_journal_column"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Journal Column"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_paymenttermline0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_payment_term_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Payment Term Line"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_paymentterm0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_payment_term"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Payment Term"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_rescompany0" model="ir.model.access">
|
||||
<field name="model_id" ref="base.model_res_company"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""res.company"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_accounttype0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_account_type"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Account Type"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_procurement0" model="ir.model.access">
|
||||
<field name="model_id" ref="procurement.model_procurement_order" />
|
||||
<field eval="1" name="perm_read" />
|
||||
<field eval="1" name="perm_write" />
|
||||
<field eval="1" name="perm_create" />
|
||||
<field eval="0" name="perm_unlink" />
|
||||
<field name="name" eval=""""procurement.order"""" />
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_tax0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_tax"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""TAX"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
id="stock.next_id_61"
|
||||
name="Reporting"
|
||||
parent="stock.menu_stock_root" groups="base.group_user"/>
|
||||
<menuitem action="stock.action_picking_tree" id="stock.menu_action_picking_tree" parent="stock.menu_stock_warehouse_mgmt" sequence="19" groups="res_groups_posuser0"/>
|
||||
<!-- <menuitem id="procurement.menu_mrp_reordering" name="Automatic Procurements" parent="stock.menu_stock_root" sequence="4" groups="base.group_user"/>-->
|
||||
<menuitem parent="stock.next_id_61" action="stock.action_stock_line_date" id="stock.menu_report_stock_line_date" groups="base.group_user"/>
|
||||
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
|
||||
@@ -1,592 +1,17 @@
|
||||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="res_partner_tinyshop0" model="res.partner">
|
||||
<field eval="0" name="customer"/>
|
||||
<field eval="0" name="supplier"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval=""""Tiny Shop 1"""" name="name"/>
|
||||
</record>
|
||||
<record id="res_partner_address_fabien0" model="res.partner.address">
|
||||
<field eval=""""Fabien"""" name="name"/>
|
||||
<field eval=""""92000"""" name="zip"/>
|
||||
<field eval=""""M."""" name="title"/>
|
||||
<field name="partner_id" ref="res_partner_tinyshop0"/>
|
||||
<field name="country_id" ref="base.fr"/>
|
||||
<field eval=""""Avenue de Paris"""" name="street"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval=""""default"""" name="type"/>
|
||||
</record>
|
||||
<record id="res_company_shop0" model="res.company">
|
||||
<field eval="5.0" name="security_lead"/>
|
||||
<field name="currency_id" ref="base.EUR"/>
|
||||
<field eval="1.0" name="po_lead"/>
|
||||
<field name="partner_id" ref="res_partner_tinyshop0"/>
|
||||
<field eval="1.0" name="manufacturing_lead"/>
|
||||
<field name="parent_id" ref="base.main_company"/>
|
||||
<field eval="80.0" name="schedule_range"/>
|
||||
<field eval=""""Shop 1"""" name="name"/>
|
||||
<data>
|
||||
|
||||
</record>
|
||||
<record id="res_partner_tinyshop1" model="res.partner">
|
||||
<field eval="1" name="customer"/>
|
||||
<field eval="0" name="supplier"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval=""""Tiny Shop 2"""" name="name"/>
|
||||
</record>
|
||||
<record id="res_partner_address_eric0" model="res.partner.address">
|
||||
<field eval=""""Eric"""" name="name"/>
|
||||
<field eval=""""1500"""" name="zip"/>
|
||||
<field eval=""""M."""" name="title"/>
|
||||
<field name="partner_id" ref="res_partner_tinyshop1"/>
|
||||
<field name="country_id" ref="base.fr"/>
|
||||
<field eval=""""Avenue de la Resistance"""" name="street"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval=""""default"""" name="type"/>
|
||||
<field name="partner_id" ref="res_partner_tinyshop1"/>
|
||||
<field eval="1" name="active"/>
|
||||
</record>
|
||||
<record id="res_company_tinyshop0" model="res.company">
|
||||
<field name="currency_id" ref="base.EUR"/>
|
||||
<field eval="1.0" name="po_lead"/>
|
||||
<field name="partner_id" ref="res_partner_tinyshop1"/>
|
||||
<field eval="1.0" name="manufacturing_lead"/>
|
||||
<field name="parent_id" ref="base.main_company"/>
|
||||
<field eval="80.0" name="schedule_range"/>
|
||||
<field eval=""""Shop 2"""" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="res_users_shopuser0" model="res.users">
|
||||
<field model="ir.actions.actions" name="menu_id" search="[('name','=','Menu')]"/>
|
||||
<field eval="[(6,0,[ref('base.group_partner_manager')])]" name="groups_id"/>
|
||||
<field model="res.partner.address" name="address_id" search="[('name','=','Fabien')]"/>
|
||||
<field eval="[(6,0,[ref('purchase.res_roles_purchase0'),ref('sale.res_roles_salesman0')])]" name="roles_id"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval=""""shop1"""" name="password"/>
|
||||
<field eval=""""en_US"""" name="context_lang"/>
|
||||
<field eval=""""Shop 1 User"""" name="name"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
<field eval=""""shop1"""" name="login"/>
|
||||
<field model="ir.actions.actions" name="action_id" search="[('name','=','Menu')]"/>
|
||||
</record>
|
||||
<record id="res_users_shopuser1" model="res.users">
|
||||
<field model="ir.actions.actions" name="menu_id" search="[('name','=','Menu')]"/>
|
||||
<field eval="[(6,0,[ref('base.group_partner_manager')])]" name="groups_id"/>
|
||||
<field model="res.partner.address" name="address_id" search="[('name','=','Eric')]"/>
|
||||
<field eval=""""shop2"""" name="password"/>
|
||||
<field eval=""""Shop 2 User"""" name="name"/>
|
||||
<field name="company_id" ref="res_company_tinyshop0"/>
|
||||
<field eval=""""shop2"""" name="login"/>
|
||||
<field model="ir.actions.actions" name="action_id" search="[('name','=','Menu')]"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<record id="ir_rule_group_posline0" model="ir.rule.group">
|
||||
<field name="model_id" ref="point_of_sale.model_pos_order_line"/>
|
||||
<field eval=""""POS line"""" name="name"/>
|
||||
<field eval="1" name="global"/>
|
||||
</record>
|
||||
<record id="ir_rule_0" model="ir.rule">
|
||||
<field eval=""""child_of"""" name="operator"/>
|
||||
<field eval=""""user.company_id.id"""" name="operand"/>
|
||||
<field name="field_id" ref="point_of_sale.field_pos_order_line_company_id"/>
|
||||
<field name="rule_group" ref="ir_rule_group_posline0"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
<data>
|
||||
<record id="res_groups_posuserposline0" model="res.groups">
|
||||
<field eval="[(6,0,[ref('point_of_sale.menu_action_pos_order_line'),ref('point_of_sale.menu_action_pos_order_line_day')])]" name="menu_access"/>
|
||||
<field eval="[(6,0,[ref('ir_rule_group_posline0')])]" name="rule_groups"/>
|
||||
<field eval="[(6,0,[ref('res_users_shopuser0'),ref('res_users_shopuser1')])]" name="users"/>
|
||||
<field eval=""""POS_user_pos_line"""" name="name"/>
|
||||
</record>
|
||||
<record id="ir_model_access_posorderline0_1" model="ir.model.access">
|
||||
<field name="model_id" ref="point_of_sale.model_pos_order_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""pos.order.line"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuserposline0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_posorder0_1" model="ir.model.access">
|
||||
<field name="model_id" ref="point_of_sale.model_pos_order"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""pos.order"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuserposline0"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
<data>
|
||||
<record id="ir_rule_group_point0" model="ir.rule.group">
|
||||
<field name="model_id" ref="point_of_sale.model_pos_order"/>
|
||||
<field eval=""""point"""" name="name"/>
|
||||
<field eval="1" name="global"/>
|
||||
</record>
|
||||
<record id="ir_rule_0" model="ir.rule">
|
||||
<field eval=""""child_of"""" name="operator"/>
|
||||
<field eval=""""user.company_id.id"""" name="operand"/>
|
||||
<field name="field_id" ref="point_of_sale.field_pos_order_company_id"/>
|
||||
<field name="rule_group" ref="ir_rule_group_point0"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="ir_rule_group_poslinecompany0" model="ir.rule.group">
|
||||
<field name="model_id" ref="point_of_sale.model_pos_order_line"/>
|
||||
<field eval=""""POS line company"""" name="name"/>
|
||||
<field eval="1" name="global"/>
|
||||
</record>
|
||||
<record id="ir_rule_4" model="ir.rule">
|
||||
<field eval=""""child_of"""" name="operator"/>
|
||||
<field eval=""""user.company_id.id"""" name="operand"/>
|
||||
<field name="field_id" ref="point_of_sale.field_pos_order_line_company_id"/>
|
||||
<field name="rule_group" ref="ir_rule_group_poslinecompany0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_rule_group_posreporting0" model="ir.rule.group">
|
||||
<field name="model_id" ref="point_of_sale.model_report_transaction_pos"/>
|
||||
<field eval=""""POS Reporting"""" name="name"/>
|
||||
<field eval="1" name="global"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_rule_5" model="ir.rule">
|
||||
<field eval=""""="""" name="operator"/>
|
||||
<field eval=""""user.id"""" name="operand"/>
|
||||
<field name="field_id" ref="point_of_sale.field_report_transaction_pos_user_id"/>
|
||||
<field name="rule_group" ref="ir_rule_group_posreporting0"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
||||
<data>
|
||||
<record id="res_groups_posuser0" model="res.groups">
|
||||
<field eval="[(6,0,[ref('point_of_sale.menu_point_ofsale'),
|
||||
ref('point_of_sale.menu_point_config'),
|
||||
ref('stock.menu_action_location_form'),
|
||||
ref('stock.menu_action_location_tree'),
|
||||
ref('stock.menu_picking_waiting'),
|
||||
ref('stock.menu_action_picking_tree3'),
|
||||
ref('stock.menu_action_picking_tree5'),
|
||||
ref('stock.menu_action_picking_form'),
|
||||
ref('stock.menu_action_picking_tree7'),
|
||||
ref('stock.menu_action_picking_tree8'),
|
||||
ref('stock.menu_action_picking_tree9'),
|
||||
ref('procurement.menu_mrp_procurement_action3'),
|
||||
ref('point_of_sale.menu_point_root')])]" name="menu_access"/>
|
||||
<field eval="[(6,0,[ref('point_of_sale.ir_rule_group_point0'),ref('point_of_sale.ir_rule_group_poslinecompany0'),ref('point_of_sale.ir_rule_group_posreporting0')])]" name="rule_groups"/>
|
||||
<field eva="[(6,0,[ref('res_users_shopuser0'),ref('res_users_shopuser1')])]" name="users"/>
|
||||
<field eval=""""POS_user"""" name="name"/>
|
||||
</record>
|
||||
<record id="ir_model_access_point0" model="ir.model.access">
|
||||
<field name="model_id" ref="point_of_sale.model_pos_order"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""pos.order"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_reporttransacationpos0" model="ir.model.access">
|
||||
<field name="model_id" ref="point_of_sale.model_report_transaction_pos"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""report.transacation.pos"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_posorderline0" model="ir.model.access">
|
||||
<field name="model_id" ref="point_of_sale.model_pos_order_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""pos.order.line"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_modelsmrp_pdt0" model="ir.model.access">
|
||||
<field name="model_id" ref="procurement.model_procurement_order"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""MRP - Procurement"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_modelsupp_pdt0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_supplierinfo"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Product - Supplier Infos"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_modeluom_pdt0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_uom"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Product - UOM"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_accountmoveline0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_move_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Account Move Line"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_accountmove0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_move"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Ledger Posting"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_accountjournal0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_journal"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Account Journal"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_saleshop0" model="ir.model.access">
|
||||
<field name="model_id" ref="sale.model_sale_shop"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""sale.shop"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_stockwarehouse0" model="ir.model.access">
|
||||
<field name="model_id" ref="stock.model_stock_warehouse"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""stock.warehouse"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_stockwarehouseorderpoint0" model="ir.model.access">
|
||||
<field name="model_id" ref="mrp.model_stock_warehouse_orderpoint"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""stock.warehouse.orderpoint"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_stocklocation0" model="ir.model.access">
|
||||
<field name="model_id" ref="stock.model_stock_location"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""stock.location"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_saleorder0" model="ir.model.access">
|
||||
<field name="model_id" ref="sale.model_sale_order"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""sale.order"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_saleorderline0" model="ir.model.access">
|
||||
<field name="model_id" ref="sale.model_sale_order_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""sale.order.line"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_purchaseorder0" model="ir.model.access">
|
||||
<field name="model_id" ref="purchase.model_purchase_order"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""purchase.order"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_purchaseorderlines0" model="ir.model.access">
|
||||
<field name="model_id" ref="purchase.model_purchase_order_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Purchase Order lines"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_inv0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_invoice"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Invoice"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_invorderlines0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_invoice_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Invoice lines"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_acc0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_account"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Account"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_period0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_period"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Period"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_journalperiod0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_journal_period"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Journal - Period"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_values0" model="ir.model.access">
|
||||
<field name="model_id" ref="base.model_ir_values"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""values"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_prop0" model="ir.model.access">
|
||||
<field name="model_id" ref="base.model_ir_property"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""properties"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_pdt_pdt0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_product"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Product - Product"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_pdt_tmplt0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_template"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Product - Template"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_accountinvtax0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_invoice_tax"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Account Invoice Tax"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_productpricelist0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_pricelist"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""product.pricelist"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_productpricelisttype0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_pricelist_type"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""product.pricelist.type"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_productpricetype0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_price_type"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""product.price.type"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_productcategory0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_category"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""product.category"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_stockpicking0" model="ir.model.access">
|
||||
<field name="model_id" ref="stock.model_stock_picking"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""stock.picking"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_stockmove0" model="ir.model.access">
|
||||
<field name="model_id" ref="stock.model_stock_move"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""stock.move"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_productunitofmeasure0" model="ir.model.access">
|
||||
<field name="model_id" ref="product.model_product_uom"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Product Unit of Measure"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_journalview0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_journal_view"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Journal View"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_journalcolumn0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_journal_column"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Journal Column"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_paymenttermline0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_payment_term_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Payment Term Line"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_paymentterm0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_payment_term"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Payment Term"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_rescompany0" model="ir.model.access">
|
||||
<field name="model_id" ref="base.model_res_company"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""res.company"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_accounttype0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_account_type"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""Account Type"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_procurement0" model="ir.model.access">
|
||||
<field name="model_id" ref="procurement.model_procurement_order" />
|
||||
<field eval="1" name="perm_read" />
|
||||
<field eval="1" name="perm_write" />
|
||||
<field eval="1" name="perm_create" />
|
||||
<field eval="0" name="perm_unlink" />
|
||||
<field name="name" eval=""""procurement.order"""" />
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_model_access_tax0" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_tax"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""TAX"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
<menuitem
|
||||
id="stock.next_id_61"
|
||||
name="Reporting"
|
||||
parent="stock.menu_stock_root" groups="base.group_user"/>
|
||||
<!-- <menuitem-->
|
||||
<!-- id="stock.next_id_62"-->
|
||||
<!-- name="Traceability"-->
|
||||
<!-- parent="stock.next_id_61" groups="base.group_user"/>-->
|
||||
<!-- <menuitem id="stock.menu_traceability_low" name="Low Level" parent="stock.menu_traceability" groups="base.group_user"/>-->
|
||||
<menuitem action="stock.action_picking_tree" id="stock.menu_action_picking_tree" parent="stock.menu_stock_root" sequence="19" groups="res_groups_posuser0"/>
|
||||
<menuitem parent="stock.next_id_61" action="stock.action_stock_line_date" id="stock.menu_report_stock_line_date" groups="base.group_user"/>
|
||||
|
||||
</data>
|
||||
<menuitem action="stock.action_picking_tree" id="stock.menu_action_picking_tree"
|
||||
parent="stock.menu_stock_root" sequence="19" groups="res_groups_posuser0"/>
|
||||
<menuitem parent="stock.next_id_61" action="stock.action_stock_line_date"
|
||||
id="stock.menu_report_stock_line_date" groups="base.group_user"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
|
||||
@@ -1,324 +1,7 @@
|
||||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data>
|
||||
<data>
|
||||
|
||||
<record id="ir_sequence_accountjournal0" model="ir.sequence">
|
||||
<field eval=""""account.journal"""" name="code"/>
|
||||
<field eval=""""Account Journal"""" name="name"/>
|
||||
<field eval="1" name="number_next"/>
|
||||
<field eval="1" name="number_increment"/>
|
||||
<field eval="1" name="active"/>
|
||||
</record>
|
||||
<record id="ir_sequence_vis0" model="ir.sequence">
|
||||
<field eval=""""account.journal"""" name="code"/>
|
||||
<field eval=""""vis"""" name="name"/>
|
||||
<field eval="1" name="number_next"/>
|
||||
<field eval="3" name="padding"/>
|
||||
<field eval="1" name="number_increment"/>
|
||||
<field eval=""""vis"""" name="prefix"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval=""""001"""" name="suffix"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_sequence_tra0" model="ir.sequence">
|
||||
<field eval=""""account.journal"""" name="code"/>
|
||||
<field eval=""""tra"""" name="name"/>
|
||||
<field eval="1" name="number_next"/>
|
||||
<field eval="3" name="padding"/>
|
||||
<field eval="1" name="number_increment"/>
|
||||
<field eval=""""tra"""" name="prefix"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval=""""001"""" name="suffix"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_sequence_ch0" model="ir.sequence">
|
||||
<field eval=""""account.journal"""" name="code"/>
|
||||
<field eval=""""ch"""" name="name"/>
|
||||
<field eval="1" name="number_next"/>
|
||||
<field eval="3" name="padding"/>
|
||||
<field eval="1" name="number_increment"/>
|
||||
<field eval=""""ch"""" name="prefix"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval=""""001"""" name="suffix"/>
|
||||
</record>
|
||||
|
||||
<record id="account_journal_xtransfer0" model="account.journal">
|
||||
<field eval="[(6,0,[])]" name="groups_id"/>
|
||||
<field eval=""""TRA"""" name="code"/>
|
||||
<field eval="[(6,0,[])]" name="account_control_ids"/>
|
||||
<field name="statement_sequence_id" ref="ir_sequence_tra0"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="0" name="centralisation"/>
|
||||
<field eval="0" name="group_invoice_lines"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field eval=""""cash"""" name="type"/>
|
||||
<field name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field eval="[(6,0,[])]" name="type_control_ids"/>
|
||||
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="0" name="update_posted"/>
|
||||
<field eval=""""CashBox"""" name="name"/>
|
||||
<field eval="0" name="refund_journal"/>
|
||||
<field eval="0" name="entry_posted"/>
|
||||
</record>
|
||||
|
||||
<record id="account_journal_xvisa0" model="account.journal">
|
||||
<field eval="[(6,0,[])]" name="groups_id"/>
|
||||
<field eval=""""Carte de crédit"""" name="code"/>
|
||||
<field eval="[(6,0,[])]" name="account_control_ids"/>
|
||||
<field name="statement_sequence_id" ref="ir_sequence_vis0"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="0" name="centralisation"/>
|
||||
<field eval="0" name="group_invoice_lines"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field eval=""""cash"""" name="type"/>
|
||||
<field name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field eval="[(6,0,[])]" name="type_control_ids"/>
|
||||
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="0" name="update_posted"/>
|
||||
<field eval=""""x Visa"""" name="name"/>
|
||||
<field eval="0" name="refund_journal"/>
|
||||
<field eval="0" name="entry_posted"/>
|
||||
</record>
|
||||
<record id="account_journal_xcheque0" model="account.journal">
|
||||
<field eval="[(6,0,[])]" name="groups_id"/>
|
||||
<field eval=""""CHQ"""" name="code"/>
|
||||
<field eval="[(6,0,[])]" name="account_control_ids"/>
|
||||
<field name="statement_sequence_id" ref="ir_sequence_ch0"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="0" name="centralisation"/>
|
||||
<field eval="0" name="group_invoice_lines"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field eval=""""cash"""" name="type"/>
|
||||
<field name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field eval="[(6,0,[])]" name="type_control_ids"/>
|
||||
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="0" name="update_posted"/>
|
||||
<field eval=""""x Voucher"""" name="name"/>
|
||||
<field eval="0" name="refund_journal"/>
|
||||
<field eval="0" name="entry_posted"/>
|
||||
</record>
|
||||
<record id="s_product_pos" model="product.product">
|
||||
<field name="name">CashOut</field>
|
||||
<field name="categ_id" ref="product.cat1"/>
|
||||
<field name="type">service</field>
|
||||
<field name="expense_pdt">True</field>
|
||||
<field name="list_price">0.0</field>
|
||||
<field name="standard_price">0.0</field>
|
||||
<field name="uom_id" ref="product.product_uom_unit"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="uom_po_id" ref="product.product_uom_unit"/>
|
||||
</record>
|
||||
|
||||
<record id="e_product_pos" model="product.product">
|
||||
<field name="name">CashIn</field>
|
||||
<field name="categ_id" ref="product.cat1"/>
|
||||
<field name="type">service</field>
|
||||
<field name="income_pdt">True</field>
|
||||
<field name="list_price">0.0</field>
|
||||
<field name="standard_price">0.0</field>
|
||||
<field name="uom_id" ref="product.product_uom_unit"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="uom_po_id" ref="product.product_uom_unit"/>
|
||||
</record>
|
||||
|
||||
<record id="account_journal_xtransfer1" model="account.journal">
|
||||
<field eval="[(6,0,[])]" name="groups_id"/>
|
||||
<field eval=""""TRA"""" name="code"/>
|
||||
<field eval="[(6,0,[])]" name="account_control_ids"/>
|
||||
<field name="statement_sequence_id" ref="ir_sequence_tra0"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="0" name="centralisation"/>
|
||||
<field eval="0" name="group_invoice_lines"/>
|
||||
<field name="company_id" ref="res_company_tinyshop0"/>
|
||||
<field eval=""""cash"""" name="type"/>
|
||||
<field name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field eval="[(6,0,[])]" name="type_control_ids"/>
|
||||
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="0" name="update_posted"/>
|
||||
<field eval=""""CashBox Shop2"""" name="name"/>
|
||||
<field eval="0" name="refund_journal"/>
|
||||
<field eval="0" name="entry_posted"/>
|
||||
</record>
|
||||
|
||||
<record id="account_journal_xvisa1" model="account.journal">
|
||||
<field eval="[(6,0,[])]" name="groups_id"/>
|
||||
<field eval=""""Carte de crédit"""" name="code"/>
|
||||
<field eval="[(6,0,[])]" name="account_control_ids"/>
|
||||
<field name="statement_sequence_id" ref="ir_sequence_vis0"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="0" name="centralisation"/>
|
||||
<field eval="0" name="group_invoice_lines"/>
|
||||
<field name="company_id" ref="res_company_tinyshop0"/>
|
||||
<field eval=""""cash"""" name="type"/>
|
||||
<field name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field eval="[(6,0,[])]" name="type_control_ids"/>
|
||||
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="0" name="update_posted"/>
|
||||
<field eval=""""Credit Card Shop2"""" name="name"/>
|
||||
<field eval="0" name="refund_journal"/>
|
||||
<field eval="0" name="entry_posted"/>
|
||||
</record>
|
||||
<record id="account_journal_xcheque1" model="account.journal">
|
||||
<field eval="[(6,0,[])]" name="groups_id"/>
|
||||
<field eval=""""CHQ"""" name="code"/>
|
||||
<field eval="[(6,0,[])]" name="account_control_ids"/>
|
||||
<field name="statement_sequence_id" ref="ir_sequence_ch0"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="0" name="centralisation"/>
|
||||
<field eval="0" name="group_invoice_lines"/>
|
||||
<field name="company_id" ref="res_company_tinyshop0"/>
|
||||
<field eval=""""cash"""" name="type"/>
|
||||
<field name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field eval="[(6,0,[])]" name="type_control_ids"/>
|
||||
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="0" name="update_posted"/>
|
||||
<field eval=""""Voucher Shop2"""" name="name"/>
|
||||
<field eval="0" name="refund_journal"/>
|
||||
<field eval="0" name="entry_posted"/>
|
||||
</record>
|
||||
<record id="sales_journal_cof" model="account.journal">
|
||||
<field name="name">Cofinoga Shop2</field>
|
||||
<field name="code">COF</field>
|
||||
<field name="type">cash</field>
|
||||
<field name="view_id" ref="account.account_journal_view"/>
|
||||
<field name="sequence_id" ref="account.sequence_sale_journal"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="company_id" ref="res_company_tinyshop0"/>
|
||||
</record>
|
||||
<record id="sales_journal_comp" model="account.journal">
|
||||
<field name="name">Sales Journal Shop 2</field>
|
||||
<field name="code">SAJ</field>
|
||||
<field name="type">sale</field>
|
||||
<field name="view_id" ref="account.account_journal_view"/>
|
||||
<field name="sequence_id" ref="account.sequence_sale_journal"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="company_id" ref="res_company_tinyshop0"/>
|
||||
</record>
|
||||
|
||||
<record id="account_journal_xtransfer2" model="account.journal">
|
||||
<field eval="[(6,0,[])]" name="groups_id"/>
|
||||
<field eval=""""TRA"""" name="code"/>
|
||||
<field eval="[(6,0,[])]" name="account_control_ids"/>
|
||||
<field name="statement_sequence_id" ref="ir_sequence_tra0"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="0" name="centralisation"/>
|
||||
<field eval="0" name="group_invoice_lines"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
<field eval=""""cash"""" name="type"/>
|
||||
<field name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field eval="[(6,0,[])]" name="type_control_ids"/>
|
||||
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="0" name="update_posted"/>
|
||||
<field eval=""""CashBox Shop 1"""" name="name"/>
|
||||
<field eval="0" name="refund_journal"/>
|
||||
<field eval="0" name="entry_posted"/>
|
||||
</record>
|
||||
|
||||
<record id="account_journal_xvisa2" model="account.journal">
|
||||
<field eval="[(6,0,[])]" name="groups_id"/>
|
||||
<field eval=""""Carte de crédit"""" name="code"/>
|
||||
<field eval="[(6,0,[])]" name="account_control_ids"/>
|
||||
<field name="statement_sequence_id" ref="ir_sequence_vis0"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="0" name="centralisation"/>
|
||||
<field eval="0" name="group_invoice_lines"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
<field eval=""""cash"""" name="type"/>
|
||||
<field name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field eval="[(6,0,[])]" name="type_control_ids"/>
|
||||
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="0" name="update_posted"/>
|
||||
<field eval=""""Credit Card Shop1"""" name="name"/>
|
||||
<field eval="0" name="refund_journal"/>
|
||||
<field eval="0" name="entry_posted"/>
|
||||
</record>
|
||||
<record id="account_journal_xcheque2" model="account.journal">
|
||||
<field eval="[(6,0,[])]" name="groups_id"/>
|
||||
<field eval=""""CHQ"""" name="code"/>
|
||||
<field eval="[(6,0,[])]" name="account_control_ids"/>
|
||||
<field name="statement_sequence_id" ref="ir_sequence_ch0"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="0" name="centralisation"/>
|
||||
<field eval="0" name="group_invoice_lines"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
<field eval=""""cash"""" name="type"/>
|
||||
<field name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="view_id" ref="account.account_journal_bank_view"/>
|
||||
<field eval="[(6,0,[])]" name="type_control_ids"/>
|
||||
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="0" name="update_posted"/>
|
||||
<field eval=""""x Voucher Shop1"""" name="name"/>
|
||||
<field eval="0" name="refund_journal"/>
|
||||
<field eval="0" name="entry_posted"/>
|
||||
</record>
|
||||
<record id="sales_journal_cof2" model="account.journal">
|
||||
<field name="name">Cofinoga Shop1</field>
|
||||
<field name="code">COF</field>
|
||||
<field name="type">cash</field>
|
||||
<field name="view_id" ref="account.account_journal_view"/>
|
||||
<field name="sequence_id" ref="account.sequence_sale_journal"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
</record>
|
||||
<record id="sales_journal_comp2" model="account.journal">
|
||||
<field name="name">Sales Journal Shop1</field>
|
||||
<field name="code">SAJ</field>
|
||||
<field name="type">sale</field>
|
||||
<field name="view_id" ref="account.account_journal_view"/>
|
||||
<field name="sequence_id" ref="account.sequence_sale_journal"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="company_id" ref="res_company_shop0"/>
|
||||
</record>
|
||||
|
||||
<record id="sales_journal_cofm" model="account.journal">
|
||||
<field name="name">Cofinoga Central</field>
|
||||
<field name="code">COF</field>
|
||||
<field name="type">cash</field>
|
||||
<field name="view_id" ref="account.account_journal_view"/>
|
||||
<field name="sequence_id" ref="account.sequence_sale_journal"/>
|
||||
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
|
||||
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
</record>
|
||||
|
||||
<record id="point_of_sale.pos_order_posadvance" model="pos.order">
|
||||
<field name="sale_journal" ref="sales_journal_comp2"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,41 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data>
|
||||
<data>
|
||||
|
||||
<record id="ir_model_access_statemt" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_bank_statement"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""account.bank.statement"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="point_of_sale.res_groups_posuser0"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_statemtline" model="ir.model.access">
|
||||
<field name="model_id" ref="account.model_account_bank_statement_line"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""account.bank.statement.line"""" name="name"/>
|
||||
<field eval="0" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="point_of_sale.res_groups_posuser0"/>
|
||||
</record>
|
||||
<record id="ir_rule_group_bankstatementcompany0" model="ir.rule">
|
||||
<field name="model_id" ref="account.model_account_bank_statement"/>
|
||||
<field eval=""""Bank Statement company"""" name="name"/>
|
||||
<field eval="1" name="global"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_rule_group_bankstatementlinecompany0" model="ir.rule">
|
||||
<field name="model_id" ref="account.model_account_bank_statement_line"/>
|
||||
<field eval=""""Bank Statement line Company"""" name="name"/>
|
||||
<field eval="1" name="global"/>
|
||||
</record>
|
||||
<record id="point_of_sale.res_groups_posuser0" model="res.groups">
|
||||
<field eval="[(6,0,[ref('product.menu_config_product'),ref('product.menu_product_category_action_form'),ref('point_of_sale.menu_point_ofsale'),ref('point_of_sale.menu_point_config'),ref('point_of_sale.menu_statement_tree_all'),ref('stock.menu_stock_root'),ref('stock.menu_action_location_form'),ref('stock.menu_action_location_tree'),ref('stock.menu_picking_waiting'),ref('stock.menu_action_picking_tree3'),ref('stock.menu_action_picking_tree5'),ref('stock.menu_action_picking_form'),ref('stock.menu_action_picking_tree7'),ref('stock.menu_action_picking_tree8'),ref('stock.menu_action_picking_tree9'),ref('procurement.menu_mrp_procurement_action3'),ref('procurement.menu_mrp_procurement_new'),ref('mrp.next_id_77'),ref('mrp.menu_report_workcenter_load'),ref('mrp.menu_report_in_out_picking'),ref('base.menu_sales'),ref('sale.menu_action_shop_form'),ref('sale.menu_sale_order'),ref('sale.menu_action_order_tree'),ref('sale.menu_action_order_tree_all'),ref('sale.menu_action_order_tree2'),ref('sale.menu_action_order_tree3'),ref('sale.menu_action_order_tree7'),ref('sale.menu_action_order_tree8'),ref('sale.menu_action_order_line_tree1'),ref('delivery.menu_action_delivery_carrier_form'),ref('delivery.menu_action_delivery_grid_form'),ref('point_of_sale.menu_point_root')])]" name="menu_access"/>
|
||||
<field eval="[(6,0,[ref('ir_rule_group_bankstatementcompany0'),ref('ir_rule_group_bankstatementlinecompany0'),ref('point_of_sale.ir_rule_group_point0'),ref('point_of_sale.ir_rule_group_poslinecompany0'),ref('point_of_sale.ir_rule_group_posreporting0')])]" name="rule_groups"/>
|
||||
<field eval=""""POS_user"""" name="name"/>
|
||||
</record>
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,69 +1,69 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<data>
|
||||
|
||||
<report
|
||||
id="pos_users_product_re"
|
||||
string="User's Product"
|
||||
model="account.bank.statement"
|
||||
name="pos.user.product"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="point_of_sale/report/pos_users_product.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_users_product_re"
|
||||
string="User's Product"
|
||||
model="account.bank.statement"
|
||||
name="pos.user.product"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="point_of_sale/report/pos_users_product.rml"
|
||||
/>
|
||||
|
||||
<report
|
||||
id="account_statement"
|
||||
string="Statement"
|
||||
model="account.bank.statement"
|
||||
name="account.statement"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="point_of_sale/report/account_statement.rml"
|
||||
/>
|
||||
<report
|
||||
id="account_statement"
|
||||
string="Statement"
|
||||
model="account.bank.statement"
|
||||
name="account.statement"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="point_of_sale/report/account_statement.rml"
|
||||
/>
|
||||
|
||||
|
||||
<report
|
||||
id="all_closed_cashbox_of_the_day"
|
||||
string="All Cloded CashBOx"
|
||||
model="account.bank.statement"
|
||||
name="all.closed.cashbox.of.the.day"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu = 'False'
|
||||
rml="point_of_sale/report/all_closed_cashbox_of_the_day.rml"
|
||||
/>
|
||||
<report
|
||||
id="all_closed_cashbox_of_the_day"
|
||||
string="All Cloded CashBOx"
|
||||
model="account.bank.statement"
|
||||
name="all.closed.cashbox.of.the.day"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu = 'False'
|
||||
rml="point_of_sale/report/all_closed_cashbox_of_the_day.rml"
|
||||
/>
|
||||
|
||||
<report
|
||||
id="pos_users_product_re"
|
||||
string="User's Product"
|
||||
model="account.bank.statement"
|
||||
name="pos.user.product"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="point_of_sale/report/pos_users_product.rml"
|
||||
/>
|
||||
<report
|
||||
id="pos_users_product_re"
|
||||
string="User's Product"
|
||||
model="account.bank.statement"
|
||||
name="pos.user.product"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="point_of_sale/report/pos_users_product.rml"
|
||||
/>
|
||||
|
||||
<report
|
||||
id="account_statement"
|
||||
string="Statement"
|
||||
model="account.bank.statement"
|
||||
name="account.statement"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="point_of_sale/report/account_statement.rml"
|
||||
/>
|
||||
<report
|
||||
id="account_statement"
|
||||
string="Statement"
|
||||
model="account.bank.statement"
|
||||
name="account.statement"
|
||||
auto="False"
|
||||
multi="True"
|
||||
rml="point_of_sale/report/account_statement.rml"
|
||||
/>
|
||||
|
||||
<report
|
||||
id="all_closed_cashbox_of_the_day"
|
||||
string="All Cloded CashBOx"
|
||||
model="account.bank.statement"
|
||||
name="all.closed.cashbox.of.the.day"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu = 'False'
|
||||
rml="point_of_sale/report/all_closed_cashbox_of_the_day.rml"
|
||||
/>
|
||||
<report
|
||||
id="all_closed_cashbox_of_the_day"
|
||||
string="All Cloded CashBOx"
|
||||
model="account.bank.statement"
|
||||
name="all.closed.cashbox.of.the.day"
|
||||
auto="False"
|
||||
multi="True"
|
||||
menu = 'False'
|
||||
rml="point_of_sale/report/all_closed_cashbox_of_the_day.rml"
|
||||
/>
|
||||
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data>
|
||||
</data>
|
||||
<data>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -55,32 +55,32 @@
|
||||
<field name="balance_end_real"/>
|
||||
<notebook colspan="4">
|
||||
<page string="Starting Details">
|
||||
<field name="starting_details_ids" nolabel = "1" colspan="4">
|
||||
<tree string = "Starting Details" editable="bottom">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal" sum="Total"/>
|
||||
</tree>
|
||||
<form string = "Ending Details">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal"/>
|
||||
</form>
|
||||
</field>
|
||||
<field name="starting_details_ids" nolabel = "1" colspan="4">
|
||||
<tree string = "Starting Details" editable="bottom">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal" sum="Total"/>
|
||||
</tree>
|
||||
<form string = "Ending Details">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Ending Details">
|
||||
<field name="ending_details_ids" nolabel = "1" colspan="4">
|
||||
<tree string = "Ending Details" editable="bottom">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal" sum="Total"/>
|
||||
</tree>
|
||||
<form string = "Ending Details">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal"/>
|
||||
</form>
|
||||
</field>
|
||||
<field name="ending_details_ids" nolabel = "1" colspan="4">
|
||||
<tree string = "Ending Details" editable="bottom">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal" sum="Total"/>
|
||||
</tree>
|
||||
<form string = "Ending Details">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Entry encoding">
|
||||
<field colspan="4" name="line_ids" nolabel="1">
|
||||
@@ -132,18 +132,18 @@
|
||||
<field name="balance_end_real"/>
|
||||
<notebook colspan="4">
|
||||
<page string="Details">
|
||||
<field name="ending_details_ids" nolabel = "1" colspan="4">
|
||||
<tree string = "Ending Details" editable="bottom">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal" sum="Total"/>
|
||||
</tree>
|
||||
<form string = "Ending Details">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal"/>
|
||||
</form>
|
||||
</field>
|
||||
<field name="ending_details_ids" nolabel = "1" colspan="4">
|
||||
<tree string = "Ending Details" editable="bottom">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal" sum="Total"/>
|
||||
</tree>
|
||||
<form string = "Ending Details">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Entry encoding">
|
||||
<field colspan="4" name="line_ids" nolabel="1">
|
||||
@@ -185,18 +185,18 @@
|
||||
<field name="view_id" ref="view_bank_statement_tree"/>
|
||||
<field name="domain">[('user_id','=',uid)]</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement1_all">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_bank_statement_tree"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_tree_all"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement2_all">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_bank_statement_form1"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_tree_all"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement1_all">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_bank_statement_tree"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_tree_all"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement2_all">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_bank_statement_form1"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_tree_all"/>
|
||||
</record>
|
||||
|
||||
<!-- <menuitem action="action_bank_statement_tree_all" id="menu_statement_tree_all" parent="point_of_sale.menu_point_root" sequence="2"/-->
|
||||
<!-- <menuitem action="action_bank_statement_tree_all" id="menu_statement_tree_all" parent="point_of_sale.menu_point_root" sequence="2"/>
|
||||
@@ -213,18 +213,18 @@
|
||||
|
||||
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_bank_statement_tree"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_tree1"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement2">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_bank_statement_form1"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_tree1"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_bank_statement_tree"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_tree1"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement2">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_bank_statement_form1"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_tree1"/>
|
||||
</record>
|
||||
|
||||
<!-- <menuitem action="action_bank_statement_tree1" id="menu_statement_tree1" parent="menu_statement_tree_all" sequence="2"/>-->
|
||||
|
||||
@@ -265,32 +265,32 @@
|
||||
<page string="Starting Details">
|
||||
<field name="balance_end" colspan="4" nolabel="1"/>
|
||||
<newline/>
|
||||
<field name="starting_details_ids" nolabel = "1" colspan="4">
|
||||
<tree string = "Starting Details" editable="bottom">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number)"/>
|
||||
<field name="subtotal" sum="Total"/>
|
||||
</tree>
|
||||
<form string = "Starting Details">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number)"/>
|
||||
<field name="subtotal"/>
|
||||
</form>
|
||||
</field>
|
||||
<field name="starting_details_ids" nolabel = "1" colspan="4">
|
||||
<tree string = "Starting Details" editable="bottom">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number)"/>
|
||||
<field name="subtotal" sum="Total"/>
|
||||
</tree>
|
||||
<form string = "Starting Details">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number)"/>
|
||||
<field name="subtotal"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Ending Details">
|
||||
<field name="ending_details_ids" nolabel = "1" colspan="4">
|
||||
<tree string = "Ending Details" editable="bottom">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number)"/>
|
||||
<field name="subtotal" sum="Total"/>
|
||||
</tree>
|
||||
<form string = "Ending Details">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number)"/>
|
||||
<field name="subtotal"/>
|
||||
</form>
|
||||
</field>
|
||||
<field name="ending_details_ids" nolabel = "1" colspan="4">
|
||||
<tree string = "Ending Details" editable="bottom">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number)"/>
|
||||
<field name="subtotal" sum="Total"/>
|
||||
</tree>
|
||||
<form string = "Ending Details">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number)"/>
|
||||
<field name="subtotal"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
<group col="7" colspan="4">
|
||||
@@ -332,45 +332,45 @@
|
||||
<field name="domain">[('state','=','draft'),('user_id','=',uid)]</field>
|
||||
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement12">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_bank_statement_tree2"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_treenew"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement22">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_bank_statement_form2"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_treenew"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement12">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_bank_statement_tree2"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_treenew"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement22">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_bank_statement_form2"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_treenew"/>
|
||||
</record>
|
||||
<!-- <menuitem action="action_bank_statement_treenew" id="menu_statement_tree2" parent="menu_statement_tree_all" sequence="1"/>-->
|
||||
|
||||
|
||||
<menuitem action="action_bank_statement_treenew" id="menu_statement_tree2" parent="menu_statement_tree_all" sequence="1"/>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_pos_account_bank_statment">
|
||||
<record model="ir.actions.act_window" id="action_pos_account_bank_statment">
|
||||
<field name="name">All Cashboxes</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.bank.statement</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement_a1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_bank_statement_tree"/>
|
||||
<field name="act_window_id" ref="action_pos_account_bank_statment"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement_a2">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_bank_statement_form3"/>
|
||||
<field name="act_window_id" ref="action_pos_account_bank_statment"/>
|
||||
</record>
|
||||
<menuitem name="All Cashboxes" parent="menu_point_report_register"
|
||||
action="action_pos_account_bank_statment" id="menu_pos_bank_statment_tree" groups="base.group_extended" sequence="4"/>
|
||||
<record model="ir.actions.act_window.view" id="act_statement_a1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_bank_statement_tree"/>
|
||||
<field name="act_window_id" ref="action_pos_account_bank_statment"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement_a2">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_bank_statement_form3"/>
|
||||
<field name="act_window_id" ref="action_pos_account_bank_statment"/>
|
||||
</record>
|
||||
<menuitem name="All Cashboxes" parent="menu_point_report_register"
|
||||
action="action_pos_account_bank_statment" id="menu_pos_bank_statment_tree" groups="base.group_extended" sequence="4"/>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_my_all_pos_account_bank_statment">
|
||||
<record model="ir.actions.act_window" id="action_my_all_pos_account_bank_statment">
|
||||
<field name="name">All My Cashboxes</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.bank.statement</field>
|
||||
@@ -378,22 +378,22 @@
|
||||
<field name="domain">[('user_id','=',uid)]</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_my_all_statement_a1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_bank_statement_tree"/>
|
||||
<field name="act_window_id" ref="action_my_all_pos_account_bank_statment"/>
|
||||
</record>
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_bank_statement_tree"/>
|
||||
<field name="act_window_id" ref="action_my_all_pos_account_bank_statment"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="act_my_all_statement_a2">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_bank_statement_form1"/>
|
||||
<field name="act_window_id" ref="action_my_all_pos_account_bank_statment"/>
|
||||
</record>
|
||||
<!-- <menuitem name="All My Cashboxes" parent="menu_statement_tree_all"-->
|
||||
<!-- action="action_my_all_pos_account_bank_statment" id="menu_my_pos_bank_statment_tree" sequence="3"/>-->
|
||||
<record model="ir.actions.act_window.view" id="act_my_all_statement_a2">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_bank_statement_form1"/>
|
||||
<field name="act_window_id" ref="action_my_all_pos_account_bank_statment"/>
|
||||
</record>
|
||||
<!-- <menuitem name="All My Cashboxes" parent="menu_statement_tree_all"-->
|
||||
<!-- action="action_my_all_pos_account_bank_statment" id="menu_my_pos_bank_statment_tree" sequence="3"/>-->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_cashboxes_to_close">
|
||||
<record model="ir.actions.act_window" id="action_cashboxes_to_close">
|
||||
<field name="name">Cashboxes to Close</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.bank.statement</field>
|
||||
@@ -401,44 +401,44 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('state','=','draft')]</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement_a5">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_bank_statement_tree"/>
|
||||
<field name="act_window_id" ref="action_cashboxes_to_close"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement_a6">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_bank_statement_form1"/>
|
||||
<field name="act_window_id" ref="action_cashboxes_to_close"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement_a5">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_bank_statement_tree"/>
|
||||
<field name="act_window_id" ref="action_cashboxes_to_close"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_statement_a6">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_bank_statement_form1"/>
|
||||
<field name="act_window_id" ref="action_cashboxes_to_close"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Cashboxes to Close" parent="menu_pos_bank_statment_tree"
|
||||
action="action_cashboxes_to_close" id="menu_cashboxes_to_close_tree" groups="base.group_extended"/>
|
||||
<menuitem name="Cashboxes to Close" parent="menu_pos_bank_statment_tree"
|
||||
action="action_cashboxes_to_close" id="menu_cashboxes_to_close_tree" groups="base.group_extended"/>
|
||||
|
||||
|
||||
<menuitem
|
||||
<menuitem
|
||||
name="Open Registers" parent="point_of_sale.menu_point_config"
|
||||
string="Open Register"
|
||||
action="action_pos_open_statement"
|
||||
id="menu_open_statement" sequence="1" />
|
||||
|
||||
<menuitem icon="STOCK_PRINT"
|
||||
action="action_report_all_closed_cashbox_of_the_day"
|
||||
id="menu_all_closed_cashbox_of_the_day"
|
||||
parent="menu_statement_tree_all"/>
|
||||
action="action_report_all_closed_cashbox_of_the_day"
|
||||
id="menu_all_closed_cashbox_of_the_day"
|
||||
parent="menu_statement_tree_all"/>
|
||||
|
||||
<menuitem
|
||||
<menuitem
|
||||
name="Close Register" parent="point_of_sale.menu_point_config"
|
||||
string="Close Register"
|
||||
action="action_pos_close_statement"
|
||||
id="menu_close_statement" sequence="2" />
|
||||
|
||||
<menuitem icon="STOCK_PRINT"
|
||||
action="action_report_all_closed_cashbox_of_the_day"
|
||||
id="menu_all_closed_cashbox_of_the_day"
|
||||
parent="menu_point_report_register"/>
|
||||
action="action_report_all_closed_cashbox_of_the_day"
|
||||
id="menu_all_closed_cashbox_of_the_day"
|
||||
parent="menu_point_report_register"/>
|
||||
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user