Recruitment changes
This commit is contained in:
parent
ab97aadcc3
commit
6c86169ee3
|
|
@ -335,6 +335,7 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
|
||||||
@http.route('/website_hr_recruitment_extended/check_recent_application', type='json', auth="public", website=True)
|
@http.route('/website_hr_recruitment_extended/check_recent_application', type='json', auth="public", website=True)
|
||||||
def check_recent_application(self, value, job_id):
|
def check_recent_application(self, value, job_id):
|
||||||
# Function to check if the applicant has an existing record based on email, phone, or linkedin
|
# Function to check if the applicant has an existing record based on email, phone, or linkedin
|
||||||
|
if value:
|
||||||
def refused_applicants_condition(applicant):
|
def refused_applicants_condition(applicant):
|
||||||
return not applicant.active \
|
return not applicant.active \
|
||||||
and applicant.hr_job_recruitment.id == int(job_id) \
|
and applicant.hr_job_recruitment.id == int(job_id) \
|
||||||
|
|
@ -388,6 +389,8 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
|
||||||
' You can continue if it\'s not a mistake.'
|
' You can continue if it\'s not a mistake.'
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
else:
|
||||||
|
return {'message': None}
|
||||||
|
|
||||||
def _should_log_authenticate_message(self, record):
|
def _should_log_authenticate_message(self, record):
|
||||||
if record._name == "hr.applicant" and not request.session.uid:
|
if record._name == "hr.applicant" and not request.session.uid:
|
||||||
|
|
@ -395,7 +398,6 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
|
||||||
return super()._should_log_authenticate_message(record)
|
return super()._should_log_authenticate_message(record)
|
||||||
|
|
||||||
def extract_data(self, model, values):
|
def extract_data(self, model, values):
|
||||||
|
|
||||||
candidate = False
|
candidate = False
|
||||||
extracted_resume = values.pop('resume_base64', None)
|
extracted_resume = values.pop('resume_base64', None)
|
||||||
current_ctc = values.pop('current_ctc', None)
|
current_ctc = values.pop('current_ctc', None)
|
||||||
|
|
@ -422,6 +424,21 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
|
||||||
total_experience = int(experience_years)
|
total_experience = int(experience_years)
|
||||||
total_experience_type = 'year'
|
total_experience_type = 'year'
|
||||||
|
|
||||||
|
if extracted_resume:
|
||||||
|
attachment = request.env.ref("hr_recruitment_extended.employee_recruitment_attachments_preview")
|
||||||
|
file = attachment.sudo().write({
|
||||||
|
'datas': extracted_resume,
|
||||||
|
})
|
||||||
|
if file:
|
||||||
|
resume_type = attachment.mimetype
|
||||||
|
resume_name = attachment.name
|
||||||
|
else:
|
||||||
|
resume_type = ''
|
||||||
|
resume_name = ''
|
||||||
|
else:
|
||||||
|
resume_type = ''
|
||||||
|
resume_name = ''
|
||||||
|
|
||||||
skill_dict = {key: ast.literal_eval(value) for key,value in values.items() if "skill" in key and value != '0'}
|
skill_dict = {key: ast.literal_eval(value) for key,value in values.items() if "skill" in key and value != '0'}
|
||||||
|
|
||||||
if model.model == 'hr.applicant':
|
if model.model == 'hr.applicant':
|
||||||
|
|
@ -435,6 +452,7 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
|
||||||
'|', ('email_from', '=', partner_email),
|
'|', ('email_from', '=', partner_email),
|
||||||
('partner_phone', '=', partner_phone),
|
('partner_phone', '=', partner_phone),
|
||||||
], limit=1)
|
], limit=1)
|
||||||
|
|
||||||
if candidate:
|
if candidate:
|
||||||
candidate.sudo().write({
|
candidate.sudo().write({
|
||||||
'partner_name': partner_name,
|
'partner_name': partner_name,
|
||||||
|
|
@ -442,7 +460,9 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
|
||||||
'email_from': partner_email,
|
'email_from': partner_email,
|
||||||
'partner_phone': partner_phone,
|
'partner_phone': partner_phone,
|
||||||
'type_id': int(degree) if degree.isdigit() else False,
|
'type_id': int(degree) if degree.isdigit() else False,
|
||||||
'resume': extracted_resume
|
'resume': extracted_resume,
|
||||||
|
'resume_type': resume_type,
|
||||||
|
'resume_name': resume_name,
|
||||||
})
|
})
|
||||||
if not candidate:
|
if not candidate:
|
||||||
candidate = request.env['hr.candidate'].sudo().create({
|
candidate = request.env['hr.candidate'].sudo().create({
|
||||||
|
|
@ -451,7 +471,9 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
|
||||||
'partner_phone': partner_phone,
|
'partner_phone': partner_phone,
|
||||||
'alternate_phone': alternate_phone,
|
'alternate_phone': alternate_phone,
|
||||||
'type_id': int(degree) if degree.isdigit() else False,
|
'type_id': int(degree) if degree.isdigit() else False,
|
||||||
'resume': extracted_resume
|
'resume': extracted_resume,
|
||||||
|
'resume_type': resume_type,
|
||||||
|
'resume_name': resume_name,
|
||||||
})
|
})
|
||||||
|
|
||||||
if len(skill_dict) > 0:
|
if len(skill_dict) > 0:
|
||||||
|
|
@ -466,7 +488,8 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
|
||||||
candidate_skills['skill_type_id'] = skill_type_id
|
candidate_skills['skill_type_id'] = skill_type_id
|
||||||
# skill = request.env['hr.candidate.skill'].sudo().create(candidate_skills)
|
# skill = request.env['hr.candidate.skill'].sudo().create(candidate_skills)
|
||||||
# candidate_skills_list.append(skill.id)
|
# candidate_skills_list.append(skill.id)
|
||||||
if candidate.candidate_skill_ids and candidate_skills['skill_id'] not in candidate.candidate_skill_ids.skill_id.ids:
|
if candidate.candidate_skill_ids:
|
||||||
|
if candidate_skills['skill_id'] not in candidate.candidate_skill_ids.skill_id.ids:
|
||||||
candidate.write({'candidate_skill_ids':[(0,4,candidate_skills)]})
|
candidate.write({'candidate_skill_ids':[(0,4,candidate_skills)]})
|
||||||
else:
|
else:
|
||||||
candidate.write({'candidate_skill_ids':[(0,4,candidate_skills)]})
|
candidate.write({'candidate_skill_ids':[(0,4,candidate_skills)]})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue