diff --git a/addons_extensions/hr_recruitment_extended/models/hr_job_recruitment.py b/addons_extensions/hr_recruitment_extended/models/hr_job_recruitment.py index dbd758d6f..bdb06bcc8 100644 --- a/addons_extensions/hr_recruitment_extended/models/hr_job_recruitment.py +++ b/addons_extensions/hr_recruitment_extended/models/hr_job_recruitment.py @@ -106,6 +106,7 @@ class HRJobRecruitment(models.Model): rec.description = rec.job_id.description job_id = fields.Many2one('hr.job', required=True) + name = fields.Char(string='Job Position', required=True, index='trigram', translate=True, related='job_id.name') recruitment_sequence = fields.Char(string='Recruitment Sequence', readonly=False, default='/', copy=False) @@ -114,7 +115,7 @@ class HRJobRecruitment(models.Model): secondary_skill_ids = fields.Many2many('hr.skill', "hr_job_recruitment_hr_skill_rel", 'job_recruitment_id', 'hr_skill_id', "Secondary Skills") - no_of_recruitment = fields.Integer(string='Number Of Positions', copy=False, + no_of_recruitment = fields.Integer(string='Target', copy=False, help='Number of new employees you expect to recruit.', default=1) diff --git a/addons_extensions/hr_recruitment_extended/models/hr_recruitment.py b/addons_extensions/hr_recruitment_extended/models/hr_recruitment.py index 6703b956f..f705668f7 100644 --- a/addons_extensions/hr_recruitment_extended/models/hr_recruitment.py +++ b/addons_extensions/hr_recruitment_extended/models/hr_recruitment.py @@ -15,9 +15,9 @@ class HrCandidate(models.Model): _inherit = "hr.candidate" #personal Details - first_name = fields.Char(string='First Name',required=True, help="This is the person's first name, given at birth or during a naming ceremony. It’s the name people use to address you.") + first_name = fields.Char(string='First Name',required=False, help="This is the person's first name, given at birth or during a naming ceremony. It’s the name people use to address you.") middle_name = fields.Char(string='Middle Name', help="This is an extra name that comes between the first name and last name. Not everyone has a middle name") - last_name = fields.Char(string='Last Name',required=True, help="This is the family name, shared with other family members. It’s usually the last name.") + last_name = fields.Char(string='Last Name',required=False, help="This is the family name, shared with other family members. It’s usually the last name.") alternate_phone = fields.Char(string='Alternate Phone') candidate_image = fields.Image() employee_code = fields.Char(related="employee_id.employee_id") diff --git a/addons_extensions/hr_recruitment_extended/security/security.xml b/addons_extensions/hr_recruitment_extended/security/security.xml index 1c5f07726..b731492aa 100644 --- a/addons_extensions/hr_recruitment_extended/security/security.xml +++ b/addons_extensions/hr_recruitment_extended/security/security.xml @@ -10,6 +10,7 @@ User: All Applicants [('interviewer_ids', 'in', user.id)] + false diff --git a/addons_extensions/hr_recruitment_extended/views/candidate_experience.xml b/addons_extensions/hr_recruitment_extended/views/candidate_experience.xml index 9bb673a84..54a31e858 100644 --- a/addons_extensions/hr_recruitment_extended/views/candidate_experience.xml +++ b/addons_extensions/hr_recruitment_extended/views/candidate_experience.xml @@ -7,9 +7,9 @@ candidate.experience - - - + + + diff --git a/addons_extensions/hr_recruitment_extended/views/hr_recruitment_application_templates.xml b/addons_extensions/hr_recruitment_extended/views/hr_recruitment_application_templates.xml index 5c7ee7f1c..cbc7e1298 100644 --- a/addons_extensions/hr_recruitment_extended/views/hr_recruitment_application_templates.xml +++ b/addons_extensions/hr_recruitment_extended/views/hr_recruitment_application_templates.xml @@ -314,23 +314,11 @@
- - Name (As Per Aadhar) +
-
- - -
-
- - -
diff --git a/addons_extensions/website_hr_recruitment_extended/controllers/main.py b/addons_extensions/website_hr_recruitment_extended/controllers/main.py index b1c03ef35..8dfa837b2 100644 --- a/addons_extensions/website_hr_recruitment_extended/controllers/main.py +++ b/addons_extensions/website_hr_recruitment_extended/controllers/main.py @@ -65,10 +65,10 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment): 'is_other_department': is_other_department, 'is_untyped': is_untyped, } - total, details, fuzzy_search_term = request.website._search_with_fuzzy("jobs", search, + total, details, fuzzy_search_term = request.website._search_with_fuzzy("job_requests", search, limit=1000, order="is_published desc, sequence, no_of_recruitment desc", options=options) # Browse jobs as superuser, because address is restricted - jobs = details[1].get('results', Jobs).sudo() + jobs = details[0].get('results', Jobs).sudo() def sort(records_list, field_name): """ Sort records in the given collection according to the given @@ -425,11 +425,7 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment): if model.model == 'hr.applicant': - # pop the fields since there are only useful to generate a candidate record - # partner_name = values.pop('partner_name') - first_name = values.pop('first_name', None) - middle_name = values.pop('middle_name', None) - last_name = values.pop('last_name', None) + partner_name = values.pop('full_name', None) partner_phone = values.pop('partner_phone', None) alternate_phone = values.pop('alternate_phone', None) partner_email = values.pop('email_from', None) @@ -441,10 +437,7 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment): ], limit=1) if candidate: candidate.sudo().write({ - 'partner_name': f"{first_name + ' ' + ((middle_name + ' ') if middle_name else '') + last_name}", - 'first_name': first_name, - 'middle_name': middle_name, - 'last_name': last_name, + 'partner_name': partner_name, 'alternate_phone': alternate_phone, 'email_from': partner_email, 'partner_phone': partner_phone, @@ -453,12 +446,9 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment): }) if not candidate: candidate = request.env['hr.candidate'].sudo().create({ - 'partner_name': f"{first_name + ' ' + ((middle_name + ' ') if middle_name else '') + last_name}", + 'partner_name': partner_name, 'email_from': partner_email, 'partner_phone': partner_phone, - 'first_name': first_name, - 'middle_name': middle_name, - 'last_name': last_name, 'alternate_phone': alternate_phone, 'type_id': int(degree) if degree.isdigit() else False, 'resume': extracted_resume @@ -482,7 +472,7 @@ class WebsiteJobHrRecruitment(WebsiteHrRecruitment): else: skills = None - values['partner_name'] = f"{first_name + ' ' + ((middle_name + ' ') if middle_name else '') + last_name}" + values['partner_name'] = partner_name if partner_phone: values['partner_phone'] = partner_phone if partner_email: diff --git a/addons_extensions/website_hr_recruitment_extended/models/hr_job_recruitment.py b/addons_extensions/website_hr_recruitment_extended/models/hr_job_recruitment.py index 4e5f30b18..bbb4f1d97 100644 --- a/addons_extensions/website_hr_recruitment_extended/models/hr_job_recruitment.py +++ b/addons_extensions/website_hr_recruitment_extended/models/hr_job_recruitment.py @@ -118,16 +118,16 @@ class JobRecruitment(models.Model): domain.append([('website_published', '=', True)]) - search_fields = ['name'] - fetch_fields = ['name', 'website_url'] + search_fields = ['recruitment_sequence'] + fetch_fields = ['recruitment_sequence', 'website_url'] mapping = { - 'name': {'name': 'name', 'type': 'text', 'match': True}, + 'recruitment_sequence': {'name': 'recruitment_sequence', 'type': 'text', 'match': True}, 'website_url': {'name': 'website_url', 'type': 'text', 'truncate': False}, } - if with_description: - search_fields.append('description') - fetch_fields.append('description') - mapping['description'] = {'name': 'description', 'type': 'text', 'html': True, 'match': True} + # if with_description: + # search_fields.append('description') + # fetch_fields.append('description') + # mapping['description'] = {'name': 'description', 'type': 'text', 'html': True, 'match': True} return { 'model': 'hr.job.recruitment', 'requires_sudo': requires_sudo, diff --git a/addons_extensions/website_hr_recruitment_extended/models/website.py b/addons_extensions/website_hr_recruitment_extended/models/website.py index 96dfa7aec..0311ac99c 100644 --- a/addons_extensions/website_hr_recruitment_extended/models/website.py +++ b/addons_extensions/website_hr_recruitment_extended/models/website.py @@ -14,6 +14,8 @@ class Website(models.Model): def _search_get_details(self, search_type, order, options): result = super()._search_get_details(search_type, order, options) - if search_type in ['jobs', 'all']: + if search_type in ['job_requests', 'all']: result.append(self.env['hr.job.recruitment']._search_get_detail(self, order, options)) + print(result) + print("hello result") return result diff --git a/addons_extensions/website_hr_recruitment_extended/security/ir.model.access.csv b/addons_extensions/website_hr_recruitment_extended/security/ir.model.access.csv index abe163526..b695819a3 100644 --- a/addons_extensions/website_hr_recruitment_extended/security/ir.model.access.csv +++ b/addons_extensions/website_hr_recruitment_extended/security/ir.model.access.csv @@ -1,4 +1,4 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_hr_job_public_recruitment_public,hr.job.recruitment.public,hr_recruitment_extended.model_hr_job_recruitment,base.group_public,1,0,0,0 -access_hr_job_public_recruitment_portal,hr.job.recruitment.public,hr_recruitment_extended.model_hr_job_recruitment,base.group_portal,1,0,0,0 -access_hr_job_public_recruitment_employee,hr.job.recruitment.public,hr_recruitment_extended.model_hr_job_recruitment,base.group_user,1,0,0,0 +access_hr_job_public_recruitment_portal,hr.job.recruitment.portal,hr_recruitment_extended.model_hr_job_recruitment,base.group_portal,1,0,0,0 +access_hr_job_public_recruitment_employee,hr.job.recruitment.employee,hr_recruitment_extended.model_hr_job_recruitment,base.group_user,1,0,0,0 diff --git a/addons_extensions/website_hr_recruitment_extended/security/website_hr_recruitment_security.xml b/addons_extensions/website_hr_recruitment_extended/security/website_hr_recruitment_security.xml index 162bb54ef..a231e667d 100644 --- a/addons_extensions/website_hr_recruitment_extended/security/website_hr_recruitment_security.xml +++ b/addons_extensions/website_hr_recruitment_extended/security/website_hr_recruitment_security.xml @@ -31,6 +31,15 @@ + + + + + + + + + diff --git a/addons_extensions/website_hr_recruitment_extended/static/src/js/website_hr_applicant_form.js b/addons_extensions/website_hr_recruitment_extended/static/src/js/website_hr_applicant_form.js index 235a3e326..fc3303b9a 100644 --- a/addons_extensions/website_hr_recruitment_extended/static/src/js/website_hr_applicant_form.js +++ b/addons_extensions/website_hr_recruitment_extended/static/src/js/website_hr_applicant_form.js @@ -13,7 +13,7 @@ publicWidget.registry.CustomHrRecruitment = publicWidget.registry.hrRecruitment. 'click #apply-btn': '_onClickApplyButton', "focusout #recruitmentlname" : "_onFocusOutLastName", "focusout #recruitmentmname" : "_onFocusOutMiddleName", - "focusout #recruitmentfname" : "_onFocusOutFirstName", + "focusout #recruitmentname" : "_onFocusOutFullName", 'focusout #recruitmentemail' : '_onFocusOutRecruitmentMail', 'focusout #recruitmentlinkdin' : '_onFocusOutRecruitmentLinkedin', 'focusout #recruitmentctc' : '_onFocusOutCTC', @@ -125,9 +125,9 @@ publicWidget.registry.CustomHrRecruitment = publicWidget.registry.hrRecruitment. - async _onFocusOutFirstName(ev) { + async _onFocusOutFullName(ev) { - const field = "first_name" + const field = "full_name" const messageContainerId = "#warning-message"; await this.checkRedundant(ev.currentTarget, field, messageContainerId); }, diff --git a/addons_extensions/website_hr_recruitment_extended/views/website_hr_recruitment_templates.xml b/addons_extensions/website_hr_recruitment_extended/views/website_hr_recruitment_templates.xml index 9d8bfb99b..d0f48959d 100644 --- a/addons_extensions/website_hr_recruitment_extended/views/website_hr_recruitment_templates.xml +++ b/addons_extensions/website_hr_recruitment_extended/views/website_hr_recruitment_templates.xml @@ -248,66 +248,36 @@
-
-
-
- -
- -
-
-
- -
-
- -
- -
-
-
- -
-
- -
- -
-
-
- -
+ +
+
+ +
+ +
+ + Note: + Please provide name as per Aadhar. +
+ +
+
+