diff --git a/addons/crm/crm.py b/addons/crm/crm.py index ab1a16cfe82..16d8358f86f 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -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: diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml index ee2a621da17..b7a900234e2 100644 --- a/addons/crm/crm_view.xml +++ b/addons/crm/crm_view.xml @@ -628,7 +628,7 @@ form - + @@ -641,7 +641,7 @@ - + diff --git a/addons/crm/security/crm_security.xml b/addons/crm/security/crm_security.xml index 73951681fb7..a0ce574ad72 100644 --- a/addons/crm/security/crm_security.xml +++ b/addons/crm/security/crm_security.xml @@ -24,11 +24,9 @@ + - - = - user.section_id.id - ['|',('section_id','=',False),('section_id','=',[user.section_id.id])] + ['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])] @@ -39,10 +37,7 @@ - - = - user.section_id.id - ['|',('section_id','=',False),('section_id','=',[user.section_id.id])] + ['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])] @@ -53,10 +48,7 @@ - - = - user.section_id.id - ['|',('section_id','=',False),('section_id','=',[user.section_id.id])] + ['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])] @@ -67,10 +59,7 @@ - - = - user.section_id.id - ['|',('section_id','=',False),('section_id','=',[user.section_id.id])] + ['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])] @@ -81,10 +70,7 @@ - - = - user.section_id.id - ['|',('section_id','=',False),('section_id','=',[user.section_id.id])] + ['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])] @@ -95,10 +81,7 @@ - - = - user.section_id.id - ['|',('section_id','=',False),('section_id','=',[user.section_id.id])] + ['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])] @@ -109,10 +92,7 @@ - - = - user.section_id.id - ['|',('section_id','=',False),('section_id','=',[user.section_id.id])] + ['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])] @@ -123,10 +103,7 @@ - - = - user.section_id.id - ['|',('section_id','=',False),('section_id','=',[user.section_id.id])] + ['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])] @@ -137,11 +114,8 @@ - - = - user.section_id.id - ['|',('section_id','=',False),('section_id','=',[user.section_id.id])] + ['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])] - + diff --git a/addons/sale_crm/sale_crm.py b/addons/sale_crm/sale_crm.py index 5972d253025..8c98b743d02 100644 --- a/addons/sale_crm/sale_crm.py +++ b/addons/sale_crm/sale_crm.py @@ -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 diff --git a/addons/sale_crm/security/sale_crm_security.xml b/addons/sale_crm/security/sale_crm_security.xml index 8bcde374937..44c20549773 100644 --- a/addons/sale_crm/security/sale_crm_security.xml +++ b/addons/sale_crm/security/sale_crm_security.xml @@ -8,11 +8,8 @@ - - = - user.section_id.id - ['|',('section_id','=',False),('section_id','=',[user.section_id.id])] + ['|',('section_id','=',False),('section_id','=',[user.context_section_id.id])] @@ -21,12 +18,10 @@ - - = - user.section_id.id - ['|',('order_id.section_id','=',False),('order_id.section_id','=',[user.section_id.id])] + ['|',('order_id.section_id','=',False),('order_id.section_id','=',[user.context_section_id.id])] +