[IMP] improved create method.

bzr revid: tpa@tinyerp.com-20120704083754-8g1n2ylj3ljwrnvk
This commit is contained in:
Turkesh Patel (Open ERP) 2012-07-04 14:07:54 +05:30
parent f6a310b499
commit 6672dfcc87
4 changed files with 14 additions and 24 deletions

View File

@ -172,19 +172,14 @@ class crm_case_section(osv.osv):
return res
def create(self, cr, uid, vals, context=None):
model_pool = self.pool.get('ir.model.data')
alias_pool = self.pool.get('mail.alias')
if not vals.get('alias_id'):
model, res_id = model_pool.get_object_reference( cr, uid, "crm", "model_crm_lead")
vals.update({'alias_name': "sales",
'alias_model_id': res_id})
alias_pool.create_unique_alias(cr, uid, vals, context=context)
res = super(crm_case_section, self).create(cr, uid, vals, context)
record = self.read(cr, uid, res, context)
alias_pool.write(cr, uid, [record['alias_id']],{'alias_defaults':{'section_id':record['id'],'type':'lead'}},context)
return res
return super(crm_case_section, self).create(cr, uid, vals, context)
alias_id = alias_pool.create_unique_alias(cr, uid, {'alias_name': "sales_team."+vals['name'], 'alias_model_id': self._name}, context=context)
vals.update({'alias_id': alias_id})
res = super(crm_case_section, self).create(cr, uid, vals, context)
record = self.read(cr, uid, res, context)
alias_pool.write(cr, uid, [record['alias_id']],{'alias_defaults':{'section_id':record['id'],'type':'lead'}},context)
return res
class crm_case_categ(osv.osv):
""" Category of Case """

View File

@ -568,17 +568,14 @@ class hr_job(osv.osv):
return res
def create(self, cr, uid, vals, context=None):
model_pool = self.pool.get('ir.model.data')
alias_pool = self.pool.get('mail.alias')
res_id = model_pool.get_object( cr, uid, "hr_recruitment", "model_hr_applicant")
vals.update({'alias_name': "job",
'alias_model_id': res_id.id})
alias_pool.create_unique_alias(cr, uid, vals, context=context)
if not vals.get('alias_id'):
alias_id = alias_pool.create_unique_alias(cr, uid, {'alias_name': "job."+vals['name'], 'alias_model_id': self._name}, context=context)
vals.update({'alias_id': alias_id})
res = super( hr_job, self).create(cr, uid, vals, context)
record = self.read(cr, uid, res, context)
alias_pool.write(cr, uid, [record['alias_id']], {"alias_defaults": {'job_id': record['id']}}, context)
alias_pool.write(cr, uid, [vals['alias_id']], {"alias_defaults": {'job_id': record['id']}}, context)
return res
def action_print_survey(self, cr, uid, ids, context=None):
if context is None:

View File

@ -153,7 +153,7 @@ class mail_group(osv.osv):
def create(self, cr, uid, vals, context=None):
alias_pool = self.pool.get('mail.alias')
if not vals['alias_id']:
if not vals.get('alias_id'):
alias_id = alias_pool.create_unique_alias(cr, uid, {'alias_name': "mail_group."+vals['name'], 'alias_model_id': self._name}, context=context)
vals.update({'alias_id': alias_id})
res = super(mail_group, self).create(cr, uid, vals, context)

View File

@ -521,12 +521,10 @@ def Project():
return self.pool.get('res.users').read(cr, uid, sub_ids, context=context)
def create(self, cr, uid, vals, context=None):
model_pool = self.pool.get('ir.model.data')
alias_pool = self.pool.get('mail.alias')
model, res_id = model_pool.get_object_reference( cr, uid, "project", vals.get('alias_model','model_project_task'))
vals.update({'alias_name':"project",
'alias_model_id': res_id})
alias_pool.create_unique_alias(cr, uid, vals, context=context)
if not vals.get('alias_id'):
alias_id = alias_pool.create_unique_alias(cr, uid, {'alias_name': "project."+vals['name'], 'alias_model_id': self._name}, context=context)
vals.update({'alias_id': alias_id})
res = super( project, self).create(cr, uid, vals, context)
record = self.read(cr, uid, res, context)
alias_pool.write(cr, uid, [record['alias_id']], {'alias_defaults':{'project_id': record['id']}}, context)