diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index 8ddd3fb64f2..1cc74aa498f 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -94,6 +94,7 @@ class hr_applicant(base_stage, osv.Model):
_inherit = ['mail.thread', 'ir.needaction_mixin']
_track = {
'state': {
+ 'hr_recruitment.mt_applicant_new': lambda self, cr, uid, obj, ctx=None: obj.state == 'draft',
'hr_recruitment.mt_applicant_hired': lambda self, cr, uid, obj, ctx=None: obj.state == 'done',
'hr_recruitment.mt_applicant_refused': lambda self, cr, uid, obj, ctx=None: obj.state == 'cancel',
},
@@ -407,9 +408,6 @@ class hr_applicant(base_stage, osv.Model):
context['default_department_id'] = vals.get('department_id')
obj_id = super(hr_applicant, self).create(cr, uid, vals, context=context)
- applicant = self.browse(cr, uid, obj_id, context=context)
- if applicant.job_id:
- self.pool.get('hr.job').message_post(cr, uid, [applicant.job_id.id], body=_('Applicant created'), subtype="hr_recruitment.mt_job_new_applicant", context=context)
return obj_id
def case_open(self, cr, uid, ids, context=None):
diff --git a/addons/hr_recruitment/hr_recruitment_data.xml b/addons/hr_recruitment/hr_recruitment_data.xml
index a9cd4d6f06e..a206a41c70a 100644
--- a/addons/hr_recruitment/hr_recruitment_data.xml
+++ b/addons/hr_recruitment/hr_recruitment_data.xml
@@ -461,12 +461,13 @@
-
-
- New Applicant
- hr.job
-
+
+ Applicant Created
+ hr.applicant
+
+ Applicant created
+
Stage Changed
hr.applicant
@@ -485,12 +486,32 @@
Applicant refused
+
+
+
+ Applicant Created
+ hr.job
+
+
+ job_id
+
+
Application Stage Changed
hr.job
+
job_id
+
+
+ Applicant Assigned
+ hr.job
+
+
+ job_id
+
+
Reserve
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index 91449c200e9..3391b96ec9a 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -310,6 +310,18 @@
{'search_default_job_id': [active_id], 'default_job_id': active_id}
+
+ Job
+ hr.job
+
+
+
+
+
+
+
+
+
hr.job.form1
hr.job
@@ -355,6 +367,7 @@
+
@@ -373,7 +386,7 @@
+
diff --git a/addons/mail/mail_alias.py b/addons/mail/mail_alias.py
index 97d2842d15c..999760a5463 100644
--- a/addons/mail/mail_alias.py
+++ b/addons/mail/mail_alias.py
@@ -240,6 +240,15 @@ class mail_alias(osv.Model):
vals['alias_parent_model_id'] = model_id
return super(mail_alias, self).create(cr, uid, vals, context=context)
+ def write(self, cr, uid, ids, vals, context=None):
+ """"give uniqe alias name if given alias name is allready assigned"""
+ if vals.get('alias_name'):
+ alias_name = remove_accents(vals['alias_name']).lower().split('@')[0]
+ alias_name = re.sub(r'[^\w+.]+', '-', alias_name)
+ alias_name = self._find_unique(cr, uid, alias_name, context=context)
+ vals['alias_name'] = alias_name
+ write_res = super(mail_alias, self).write(cr, uid, ids, vals, context=context)
+
def open_document(self, cr, uid, ids, context=None):
alias = self.browse(cr, uid, ids, context=context)[0]
if not alias.alias_model_id or not alias.alias_force_thread_id: