diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index c893755c7c0..d07236341dd 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -549,10 +549,25 @@ class hr_applicant(base_stage, osv.Model):
class hr_job(osv.osv):
_inherit = "hr.job"
_name = "hr.job"
+ _inherits = {'mail.alias': 'alias_id'}
_columns = {
'survey_id': fields.many2one('survey', 'Interview Form', help="Choose an interview form for this job position and you will be able to print/answer this interview from all applicants who apply for this job"),
+ 'alias_id': fields.many2one('mail.alias', 'Mail Alias', ondelete="cascade", required=True),
}
+ 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})
+ name = alias_pool.create_unique_alias(cr, uid, vals, context=context)
+ 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)
+ return res
+
+
def action_print_survey(self, cr, uid, ids, context=None):
if context is None:
context = {}
diff --git a/addons/hr_recruitment/hr_recruitment_data.xml b/addons/hr_recruitment/hr_recruitment_data.xml
index 13436bef45a..edb769c5314 100644
--- a/addons/hr_recruitment/hr_recruitment_data.xml
+++ b/addons/hr_recruitment/hr_recruitment_data.xml
@@ -449,5 +449,13 @@
+
+
+ Jobs@openerp.my.openerp.com
+
+
+ {}
+
+
diff --git a/addons/hr_recruitment/hr_recruitment_demo.yml b/addons/hr_recruitment/hr_recruitment_demo.yml
index 59508b83c28..aeade8b672d 100644
--- a/addons/hr_recruitment/hr_recruitment_demo.yml
+++ b/addons/hr_recruitment/hr_recruitment_demo.yml
@@ -1,3 +1,12 @@
+-
+ !record {model: mail.alias, id: alias_id_1, view: False}:
+ alias_name: 'Developer@openerp.my.openerp.com'
+ alias_model_id: model_hr_applicant
+ alias_user_id: base.user_root
+ alias_defaults: '{}'
+-
+ !record {model: hr.job, id: hr.job_developer, view: False}:
+ alias_id: alias_id_1
-
!record {model: hr.applicant, id: hr_case_salesman0}:
date: !eval time.strftime('%Y-%m-01 10:35:50')
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index 63263d78c9d..d53bf922db7 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -352,6 +352,9 @@
attrs="{'invisible':[('survey_id','=',False)]}"/>
+
+
+
diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py
index ce6094879c3..7cb1e2bda2f 100644
--- a/addons/mail/mail_thread.py
+++ b/addons/mail/mail_thread.py
@@ -473,7 +473,7 @@ class mail_thread(osv.osv):
"""
alias_pool = self.pool.get('mail.alias')
- user_pool = self.pool.get('res.user')
+ user_pool = self.pool.get('res.users')
mail_compose_pool = self.pool.get('mail.compose.message')
mail_message_pool = self.pool.get('mail.message')
if isinstance(message, xmlrpclib.Binary):
@@ -486,10 +486,11 @@ class mail_thread(osv.osv):
msg_txt = email.message_from_string(message)
msg = mail_message_pool.parse_message(msg_txt)
alias_name = msg.get('to')
- alias_ids = alias_pool.search(cr, uid, [('alias_name','=',alias_name)],context)
- alias_id = alias_pool.browse(cr, uid, alias_ids[0], context)
+ alias_ids = alias_pool.search(cr, uid, [('alias_name','=',alias_name)])
+
#if alias found then call message_process method.
- if alias_id:
+ if alias_ids:
+ alias_id = alias_pool.browse(cr, uid, alias_ids[0], context)
user_id = self._get_user( cr, uid, alias_id, context)
self.message_process(cr, user_id, alias_id.alias_model_id.model, message,
custom_values = alias_id.alias_defaults or {},
@@ -500,7 +501,7 @@ class mail_thread(osv.osv):
#_logger.warning("This mailbox does not exist so mail gate will reject this mail.")
from_email = user_pool.browse(cr, uid, uid, context).user_email
sub = "Mail Rejection" + msg.get('subject')
- message = "Respective mailbox does not exist so your mail have been rejected" + msg
+ message = "Respective mailbox does not exist so your mail have been rejected" + msg.get('body')
mail_compose_pool.send_mail(cr, uid, {'email_from': from_email,'email_to': msg.get('from'),'subject': sub, 'body_text': message}, context)
return True