summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorTurkesh Patel (Open ERP) <tpa@tinyerp.com>2013-05-29 12:59:32 +0530
committerTurkesh Patel (Open ERP) <tpa@tinyerp.com>2013-05-29 12:59:32 +0530
commit9f77e42e7909b44f73ea4f41ddc2d89eb555e7be (patch)
tree9f7d57ef4f1be8d53cc64be27943cb7ca33be422 /addons
parentc2e75a7a65d718fe0eaba0c298a3360ab0b16a1f (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.py27
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)