Recruitment changes

This commit is contained in:
Pranay 2025-05-08 14:54:00 +05:30
parent ab97aadcc3
commit 6c86169ee3
1 changed files with 76 additions and 53 deletions

View File

@ -335,6 +335,7 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
@http.route('/website_hr_recruitment_extended/check_recent_application', type='json', auth="public", website=True)
def check_recent_application(self, value, job_id):
# Function to check if the applicant has an existing record based on email, phone, or linkedin
if value:
def refused_applicants_condition(applicant):
return not applicant.active \
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.'
)
}
else:
return {'message': None}
def _should_log_authenticate_message(self, record):
if record._name == "hr.applicant" and not request.session.uid:
@ -395,7 +398,6 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
return super()._should_log_authenticate_message(record)
def extract_data(self, model, values):
candidate = False
extracted_resume = values.pop('resume_base64', None)
current_ctc = values.pop('current_ctc', None)
@ -422,6 +424,21 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
total_experience = int(experience_years)
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'}
if model.model == 'hr.applicant':
@ -435,6 +452,7 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
'|', ('email_from', '=', partner_email),
('partner_phone', '=', partner_phone),
], limit=1)
if candidate:
candidate.sudo().write({
'partner_name': partner_name,
@ -442,7 +460,9 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
'email_from': partner_email,
'partner_phone': partner_phone,
'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:
candidate = request.env['hr.candidate'].sudo().create({
@ -451,7 +471,9 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
'partner_phone': partner_phone,
'alternate_phone': alternate_phone,
'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:
@ -466,7 +488,8 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment):
candidate_skills['skill_type_id'] = skill_type_id
# skill = request.env['hr.candidate.skill'].sudo().create(candidate_skills)
# 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)]})
else:
candidate.write({'candidate_skill_ids':[(0,4,candidate_skills)]})