[IMP] crm,sale_crm: improve for user prefrence field now it will available in global context(section_id)

bzr revid: mra@tinyerp.com-20100111092000-f0uj7se584kom4c2
This commit is contained in:
mra (Open ERP) 2010-01-11 14:50:00 +05:30
parent 22f4cc2f01
commit c78f040fbb
5 changed files with 34 additions and 57 deletions

View File

@ -303,8 +303,8 @@ class crm_case(osv.osv):
return uid
def _get_section(self, cr, uid, context):
user = self.pool.get('res.users').browse(cr, uid, uid)
return user.section_id.id
user = self.pool.get('res.users').browse(cr, uid, uid,context=context)
return user.context_section_id
_defaults = {
'active': lambda *a: 1,
@ -846,14 +846,22 @@ class crm_email_add_cc_wizard(osv.osv_memory):
crm_email_add_cc_wizard()
class res_users(osv.osv):
_inherit = "res.users"
_description = "users"
def _section_get(self, cr, uid, context={}):
obj = self.pool.get('crm.case.section')
ids = obj.search(cr, uid, [])
res = obj.read(cr, uid, ids, ['id','name'], context)
res = [(str(r['id']),r['name']) for r in res]
return res
class users(osv.osv):
_inherit = 'res.users'
_description = "Users"
_columns = {
'section_id': fields.many2one('crm.case.section', 'Sales Section', required=False)
}
'context_section_id': fields.selection(_section_get, 'Sales Section'),
}
users()
res_users()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -628,7 +628,7 @@
<field name="type">form</field>
<field name="arch" type="xml">
<page string="Current Activity" position="inside">
<field name="section_id" widget="selection"/>
<field name="context_section_id" completion="1"/>
</page>
</field>
</record>
@ -641,7 +641,7 @@
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<field name="password" position="after">
<field name="section_id" widget="selection" />
<field name="context_section_id" completion="1"/>
</field>
</field>
</record>

View File

@ -24,11 +24,9 @@
<field name="model_id" search="[('model','=','crm.meeting')]" model="ir.model"/>
<field name="global" eval="True"/>
</record>
<record id="crm_meeting_rule" model="ir.rule">
<field model="ir.model.fields" name="field_id" search="[('model','=','crm.case'),('name','=','section_id')]"/>
<field name="operator">=</field>
<field name="operand">user.section_id.id</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.section_id.id])]</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])]</field>
<field name="rule_group" ref="crm_meeting_rule_group"/>
</record>
@ -39,10 +37,7 @@
<field name="global" eval="True"/>
</record>
<record id="crm_claim_rule" model="ir.rule">
<field model="ir.model.fields" name="field_id" search="[('model','=','crm.case'),('name','=','section_id')]"/>
<field name="operator">=</field>
<field name="operand">user.section_id.id</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.section_id.id])]</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])]</field>
<field name="rule_group" ref="crm_claim_rule_group"/>
</record>
@ -53,10 +48,7 @@
<field name="global" eval="True"/>
</record>
<record id="crm_fundraising_rule" model="ir.rule">
<field model="ir.model.fields" name="field_id" search="[('model','=','crm.case'),('name','=','section_id')]"/>
<field name="operator">=</field>
<field name="operand">user.section_id.id</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.section_id.id])]</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])]</field>
<field name="rule_group" ref="crm_fundraising_rule_group"/>
</record>
@ -67,10 +59,7 @@
<field name="global" eval="True"/>
</record>
<record id="crm_helpdesk_rule" model="ir.rule">
<field model="ir.model.fields" name="field_id" search="[('model','=','crm.case'),('name','=','section_id')]"/>
<field name="operator">=</field>
<field name="operand">user.section_id.id</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.section_id.id])]</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])]</field>
<field name="rule_group" ref="crm_helpdesk_rule_group"/>
</record>
@ -81,10 +70,7 @@
<field name="global" eval="True"/>
</record>
<record id="crm_job_rule" model="ir.rule">
<field model="ir.model.fields" name="field_id" search="[('model','=','crm.case'),('name','=','section_id')]"/>
<field name="operator">=</field>
<field name="operand">user.section_id.id</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.section_id.id])]</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])]</field>
<field name="rule_group" ref="crm_job_rule_group"/>
</record>
@ -95,10 +81,7 @@
<field name="global" eval="True"/>
</record>
<record id="crm_leads_rule" model="ir.rule">
<field model="ir.model.fields" name="field_id" search="[('model','=','crm.case'),('name','=','section_id')]"/>
<field name="operator">=</field>
<field name="operand">user.section_id.id</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.section_id.id])]</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])]</field>
<field name="rule_group" ref="crm_leads_rule_group"/>
</record>
@ -109,10 +92,7 @@
<field name="global" eval="True"/>
</record>
<record id="crm_opportunities_rule" model="ir.rule">
<field model="ir.model.fields" name="field_id" search="[('model','=','crm.case'),('name','=','section_id')]"/>
<field name="operator">=</field>
<field name="operand">user.section_id.id</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.section_id.id])]</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])]</field>
<field name="rule_group" ref="crm_opportunities_rule_group"/>
</record>
@ -123,10 +103,7 @@
<field name="global" eval="True"/>
</record>
<record id="crm_phone_calls_rule" model="ir.rule">
<field model="ir.model.fields" name="field_id" search="[('model','=','crm.case'),('name','=','section_id')]"/>
<field name="operator">=</field>
<field name="operand">user.section_id.id</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.section_id.id])]</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])]</field>
<field name="rule_group" ref="crm_phone_calls_rule_group"/>
</record>
@ -137,11 +114,8 @@
<field name="global" eval="True"/>
</record>
<record id="crm_case_rule" model="ir.rule">
<field model="ir.model.fields" name="field_id" search="[('model','=','crm.case'),('name','=','section_id')]"/>
<field name="operator">=</field>
<field name="operand">user.section_id.id</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.section_id.id])]</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])]</field>
<field name="rule_group" ref="crm_case_rule_group"/>
</record>
</data>
</data>
</openerp>

View File

@ -29,8 +29,8 @@ class sale_order(osv.osv):
}
def _get_section(self, cr, uid, context):
user = self.pool.get('res.users').browse(cr,uid,uid)
return user.section_id.id
user = self.pool.get('res.users').browse(cr,uid,uid,context=context)
return user.context_section_id
_defaults = {
'section_id':_get_section

View File

@ -8,11 +8,8 @@
<field name="global" eval="True"/>
</record>
<record model="ir.rule" id="sale_order_comp_rule">
<field name="field_id" search="[('model','=','sale.order'),('name','=','section_id')]" model="ir.model.fields"/>
<field name="operator">=</field>
<field name="operand">user.section_id.id</field>
<field name="rule_group" ref="sale_order_crm_rule_group"/>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.section_id.id])]</field>
<field name="domain_force">['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])]</field>
</record>
<record model="ir.rule.group" id="sale_order_line_crm_rule_group">
@ -21,12 +18,10 @@
<field name="global" eval="True"/>
</record>
<record model="ir.rule" id="sale_order_line_comp_rule">
<field name="field_id" search="[('model','=','sale.order.line'),('name','=','order_id.section_id')]" model="ir.model.fields"/>
<field name="operator">=</field>
<field name="operand">user.section_id.id</field>
<field name="rule_group" ref="sale_order_line_crm_rule_group"/>
<field name="domain_force">['|',('order_id.section_id','=',False),('order_id.section_id','=',[user.section_id.id])]</field>
<field name="domain_force">['|',('order_id.section_id','=',False),('order_id.section_id','=',[user.context_section_id.id])]</field>
</record>
</data>
</openerp>