diff options
| author | Turkesh Patel (Open ERP) <tpa@tinyerp.com> | 2013-05-29 12:59:32 +0530 |
|---|---|---|
| committer | Turkesh Patel (Open ERP) <tpa@tinyerp.com> | 2013-05-29 12:59:32 +0530 |
| commit | 9f77e42e7909b44f73ea4f41ddc2d89eb555e7be (patch) | |
| tree | 9f7d57ef4f1be8d53cc64be27943cb7ca33be422 /addons | |
| parent | c2e75a7a65d718fe0eaba0c298a3360ab0b16a1f (diff) | |
[IMP] improved code for default mail alias of job,add try and execept logic if anyone delete our default alias.
bzr revid: tpa@tinyerp.com-20130529072932-ame7ec1wrmets8nb
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/hr_recruitment/res_config.py | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/addons/hr_recruitment/res_config.py b/addons/hr_recruitment/res_config.py index 25bb15646f1..6548db47515 100644 --- a/addons/hr_recruitment/res_config.py +++ b/addons/hr_recruitment/res_config.py @@ -40,20 +40,31 @@ class hr_applicant_settings(osv.osv_memory): def get_default_alias_prefix(self, cr, uid, ids, context=None): alias_name = '' mail_alias = self.pool.get('mail.alias') - alias = self.pool.get('ir.model.data').get_object(cr, uid, 'hr_recruitment', 'mail_alias_jobs') - if alias: - alias_name = alias.alias_name + try: + alias_name = self.pool.get('ir.model.data').get_object(cr, uid, 'hr_recruitment', 'mail_alias_jobss').alias_name + except Exception: + model_ids = self.pool.get('ir.model').search(cr, uid, [('model', '=', 'hr.applicant')], context=context) + alias_ids = mail_alias.search(cr, uid, [('alias_model_id', '=', model_ids[0]),('alias_defaults', '=', '{}')], context=context) + if alias_ids: + alias_name = mail_alias.browse(cr, uid, alias_ids[0], context=context).alias_name return {'alias_prefix': alias_name} def set_default_alias_prefix(self, cr, uid, ids, context=None): mail_alias = self.pool.get('mail.alias') record = self.browse(cr, uid, ids[0], context=context) if record.alias_prefix: - alias = self.pool.get('ir.model.data').get_object(cr, uid, 'hr_recruitment', 'mail_alias_jobs') - if alias: - alias.write({'alias_name': record.alias_prefix}) - else: - mail_alias.create_unique_alias(cr, uid, {'alias_name': record.alias_prefix}, model_name="hr.applicant", context=context) + try: + alias = self.pool.get('ir.model.data').get_object(cr, uid, 'hr_recruitment', 'mail_alias_jobs') + if alias: + alias.write({'alias_name': record.alias_prefix}) + except Exception: + model_ids = self.pool.get('ir.model').search(cr, uid, [('model', '=', 'hr.applicant')], context=context) + alias_ids = mail_alias.search(cr, uid, [('alias_model_id', '=', model_ids[0]),('alias_defaults', '=', '{}')], context=context) + if alias_ids: + mail_alias.write(cr, uid, alias_ids[0], {'alias_name': record.alias_prefix}, context=context) + else: + mail_alias.create_unique_alias(cr, uid, {'alias_name': record.alias_prefix}, model_name="hr.applicant", context=context) + return True def get_default_alias_domain(self, cr, uid, ids, context=None): alias_domain = self.pool.get("ir.config_parameter").get_param(cr, uid, "mail.catchall.domain", context=context) |
