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])]
+