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 @@
- + @@ -414,6 +427,9 @@ Launch Recruitment Recruitment Done
+
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: