summaryrefslogtreecommitdiff
path: root/addons/crm/crm.py
diff options
context:
space:
mode:
authorDenis Ledoux <dle@openerp.com>2013-06-25 18:20:46 +0200
committerDenis Ledoux <dle@openerp.com>2013-06-25 18:20:46 +0200
commit5ed41bcea4c5b0f4e4afdd45c8a114cf3ca144fc (patch)
treef3d256944be2979be18c07282e62dc5bcb8ec10a /addons/crm/crm.py
parent3afc97f451d8550f18b7b54a08456f7d242888e8 (diff)
parentc180afab26171617c1c7c22db5d9836b159e5e7d (diff)
[MERGE]upstream
bzr revid: dle@openerp.com-20130625162046-snd83ltaha9o5fl8
Diffstat (limited to 'addons/crm/crm.py')
-rw-r--r--addons/crm/crm.py18
1 files changed, 7 insertions, 11 deletions
diff --git a/addons/crm/crm.py b/addons/crm/crm.py
index 4c9a60634a5..d1194508b71 100644
--- a/addons/crm/crm.py
+++ b/addons/crm/crm.py
@@ -222,17 +222,13 @@ class crm_case_section(osv.osv):
return res
def create(self, cr, uid, vals, context=None):
- mail_alias = self.pool.get('mail.alias')
- if not vals.get('alias_id'):
- alias_name = vals.pop('alias_name', None) or vals.get('name') # prevent errors during copy()
- alias_id = mail_alias.create_unique_alias(cr, uid,
- {'alias_name': alias_name},
- model_name="crm.lead",
- context=context)
- vals['alias_id'] = alias_id
- res = super(crm_case_section, self).create(cr, uid, vals, context)
- mail_alias.write(cr, uid, [vals['alias_id']], {'alias_defaults': {'section_id': res, 'type': 'lead'}}, context)
- return res
+ if context is None:
+ context = {}
+ create_context = dict(context, alias_model_name='crm.lead', alias_parent_model_name=self._name)
+ section_id = super(crm_case_section, self).create(cr, uid, vals, context=create_context)
+ section = self.browse(cr, uid, section_id, context=context)
+ self.pool.get('mail.alias').write(cr, uid, [section.alias_id.id], {'alias_parent_thread_id': section_id, 'alias_defaults': {'section_id': section_id, 'type': 'lead'}}, context=context)
+ return section_id
def unlink(self, cr, uid, ids, context=None):
# Cascade-delete mail aliases as well, as they should not exist without the sales team.