From c78f040fbb449ea6fe57a673d487e1aa4140130f Mon Sep 17 00:00:00 2001 From: "mra (Open ERP)" Date: Mon, 11 Jan 2010 14:50:00 +0530 Subject: [PATCH] [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 --- addons/crm/crm.py | 24 ++++++---- addons/crm/crm_view.xml | 4 +- addons/crm/security/crm_security.xml | 48 +++++-------------- addons/sale_crm/sale_crm.py | 4 +- .../sale_crm/security/sale_crm_security.xml | 11 ++--- 5 files changed, 34 insertions(+), 57 deletions(-) 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])] +