diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 509bcf106b6..7dd4d0e1064 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -357,11 +357,14 @@ class crm_lead(base_stage, format_address, osv.osv): return {'value' : values} def on_change_user(self, cr, uid, ids, user_id, context=None): + """ When changing the user, also set a section_id or restrict section id + to the ones user_id is member of. """ + section_id = False if user_id: - user = self.pool.get('res.users').browse(cr, uid, user_id, context=context) - return {'value':{'section_id': user.default_section_id and user.default_section_id.id or False}} - else: - return {'value':{'section_id':False}} + section_ids = self.pool.get('crm.case.section').search(cr, uid, ['|', ('user_id', '=', user_id), ('member_ids', '=', user_id)], context=context) + if section_ids: + section_id = section_ids[0] + return {'value': {'section_id': section_id}} def _check(self, cr, uid, ids=False, context=None): """ Override of the base.stage method. diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index c14686b7211..fb18e747fd7 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -152,7 +152,7 @@ --> - +