Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @http.route('/jobs/apply/<model("hr.job"):job>', type='http', auth="public", website=True)
- def jobs_apply(self, job):
- error = {}
- default = {}
- source = request.env['hr.recruitment.source'].sudo().search([])
- if 'l10n_mn_website_hr_recruitment_error' in request.session:
- error = request.session.pop('l10n_mn_website_hr_recruitment_error')
- default = request.session.pop('l10n_mn_website_hr_recruitment_default')
- print' \n\n %s \n\n '%source
- return request.render("l10n_mn_website_hr_recruitment.apply", {
- 'job': job,
- 'sources': source,
- 'error': error,
- 'default': default,
- })
- def _get_applicant_char_fields(self):
- return ['email_from', 'partner_name', 'description',
- ]
- def _get_applicant_relational_fields(self):
- return ['department_id', 'job_id']
- @http.route('/jobs/education', methods=['POST'], type='http', auth="public", website=True)
- def jobs_education(self, **post):
- error = {}
- default = {}
- source = request.env['hr.recruitment.source'].sudo().search([])
- soft1 = request.env['software.technic'].sudo().search([])
- soft2 = request.env['software.technic'].sudo().search([])
- soft3 = request.env['software.technic'].sudo().search([])
- soft4 = request.env['software.technic'].sudo().search([])
- soft5 = request.env['software.technic'].sudo().search([])
- if 'l10n_mn_website_hr_recruitment_error' in request.session:
- error = request.session.pop('l10n_mn_website_hr_recruitment_error')
- default = request.session.pop('l10n_mn_website_hr_recruitment_default')
- for field_name in []:
- if not post.get(field_name):
- error[field_name] = 'missing'
- if error:
- request.session['l10n_mn_website_hr_recruitment_error'] = error
- ufile = post.pop('ufile')
- if ufile:
- error['ufile'] = 'reset'
- request.session['l10n_mn_website_hr_recruitment_default'] = post
- return request.redirect('/jobs/apply/%s' % post.get("job_id"))
- # public user can't create applicants (duh)
- env = request.env(user=SUPERUSER_ID)
- value = {
- 'source_id' : env.ref('hr_recruitment.source_website_company').id,
- 'name': '%s\'s Application' % post.get('partner_name'),
- }
- applicant_id = env['hr.applicant'].create({
- 'email_from':post.get('email_from'),
- 'partner_name':post.get('partner_name'),
- #'name':post.get('partner_name'),
- 'job_id':int(post.get("job_id")),
- 'department_id':int(post.get("department_id")),
- 'name':value['name'],
- 'description':post.get('description'),
- 'last_name':post.get('last_name'),
- 'gender':post.get('gender'),
- 'date_of_birth':post.get('date_of_birth'),
- 'age':post.get('age'),
- 'place_of_birth':post.get('place_of_birth'),
- 'ssnid':post.get('ssnid'),
- 'major':post.get('major'),
- 'address':post.get('address'),
- 'partner_phone':post.get('phone'),
- 'emergency_phone':post.get('emergency_phone'),}).id
- job_obj = request.registry.get('hr.job')
- job = job_obj.browse(request.cr, request.uid, int(post.get("job_id")), context=request.context)
- x = None
- if job.cv_settings_id.education_lines_set or (not job.cv_settings_id):
- print'\n\n need education lines \n\n'
- x = "l10n_mn_website_hr_recruitment.education"
- elif job.cv_settings_id.employment_lines_set:
- x = "l10n_mn_website_hr_recruitment.employment"
- elif job.cv_settings_id.family_set:
- x = "l10n_mn_website_hr_recruitment.family"
- else : x = "l10n_mn_website_hr_recruitment.other"
- print (post)
- # return request.render("l10n_mn_website_hr_recruitment.education",
- return request.render(x,
- { 'job_id':job,
- 'applicant_id':applicant_id,
- 'sources': source,
- 'error': error,
- 'default': default,
- 'soft1':soft1,
- 'soft2':soft2,
- 'soft3':soft3,
- 'soft4':soft4,
- 'soft5':soft5,
- })
- @http.route('/jobs/employment', methods=['POST'], type='http', auth="public", website=True)
- def jobs_employment(self, **post):
- error = {}
- default = {}
- source = request.env['hr.recruitment.source'].sudo().search([])
- if 'l10n_mn_website_hr_recruitment_error' in request.session:
- error = request.session.pop('l10n_mn_website_hr_recruitment_error')
- default = request.session.pop('l10n_mn_website_hr_recruitment_default')
- for field_name in []:
- if not post.get(field_name):
- error[field_name] = 'missing'
- if error:
- request.session['l10n_mn_website_hr_recruitment_error'] = error
- ufile = post.pop('ufile')
- if ufile:
- error['ufile'] = 'reset'
- request.session['l10n_mn_website_hr_recruitment_default'] = post
- return request.redirect('/jobs/apply/%s' % post.get("job_id"))
- # public user can't create applicants (duh)
- env = request.env(user=SUPERUSER_ID)
- school = []
- language = []
- courses = []
- soft = []
- if post.get('school_1'):
- school.append((0,0,{ 'school_location':post.get('school_1'),
- 'entered_date' :post.get('school_start_1'),
- 'finished_date' :post.get('school_end_1'),
- 'profession_name' :post.get('school_major_1'),
- }))
- if post.get('school_2'):
- school.append((0,0,{ 'school_location':post.get('school_2'),
- 'entered_date' :post.get('school_start_2'),
- 'finished_date' :post.get('school_end_2'),
- 'profession_name' :post.get('school_major_2'),
- }))
- if post.get('school_3'):
- school.append((0,0,{ 'school_location':post.get('school_3'),
- 'entered_date' :post.get('school_start_3'),
- 'finished_date' :post.get('school_end_3'),
- 'profession_name' :post.get('school_major_3'),
- }))
- if post.get('school_4'):
- school.append((0,0,{ 'school_location':post.get('school_4'),
- 'entered_date' :post.get('school_start_4'),
- 'finished_date' :post.get('school_end_4'),
- 'profession_name' :post.get('school_major_4'),
- }))
- if post.get('language_1'):
- language.append((0,0,{ 'language':post.get('language_1'),
- 'duration':post.get('language_duration_1'),
- 'speaking_skill' :post.get('language_speak_1'),
- 'reading_skill' :post.get('language_reading_1'),
- 'listening_skill' :post.get('language_listen_1'),
- 'writing_skill':post.get('language_write_1'),
- }))
- if post.get('language_2'):
- language.append((0,0,{ 'language':post.get('language_2'),
- 'duration':post.get('language_duration_2'),
- 'speaking_skill' :post.get('language_speak_2'),
- 'reading_skill' :post.get('language_reading_2'),
- 'listening_skill' :post.get('language_listen_2'),
- 'writing_skill':post.get('language_write_2'),
- }))
- if post.get('language_3'):
- language.append((0,0,{ 'language':post.get('language_3'),
- 'duration':post.get('language_duration_3'),
- 'speaking_skill' :post.get('language_speak_3'),
- 'reading_skill' :post.get('language_reading_3'),
- 'listening_skill' :post.get('language_listen_3'),
- 'writing_skill':post.get('language_write_3'),
- }))
- if post.get('language_4'):
- language.append((0,0,{ 'language':post.get('language_4'),
- 'duration':post.get('language_duration_4'),
- 'speaking_skill' :post.get('language_speak_4'),
- 'reading_skill' :post.get('language_reading_4'),
- 'listening_skill' :post.get('language_listen_4'),
- 'writing_skill':post.get('language_write_4'),
- }))
- if post.get('language_5'):
- language.append((0,0,{ 'language':post.get('language_5'),
- 'duration':post.get('language_duration_5'),
- 'speaking_skill' :post.get('language_speak_5'),
- 'reading_skill' :post.get('language_reading_5'),
- 'listening_skill' :post.get('language_listen_5'),
- 'writing_skill':post.get('language_write_5'),
- }))
- if post.get('course_1'):
- courses.append((0,0,{ 'name':post.get('course_1'),
- 'subject' :post.get('course_subject_1'),
- 'date' :post.get('course_date_1'),
- 'duration':post.get('course_duration_1'),
- }))
- if post.get('course_2'):
- courses.append((0,0,{ 'name':post.get('course_2'),
- 'subject' :post.get('course_subject_2'),
- 'date' :post.get('course_date_2'),
- 'duration':post.get('course_duration_2'),
- }))
- if post.get('course_3'):
- courses.append((0,0,{ 'name':post.get('course_3'),
- 'subject' :post.get('course_subject_3'),
- 'date' :post.get('course_date_3'),
- 'duration':post.get('course_duration_3'),
- }))
- if post.get('course_4'):
- courses.append((0,0,{ 'name':post.get('course_4'),
- 'subject' :post.get('course_subject_4'),
- 'date' :post.get('course_date_4'),
- 'duration':post.get('course_duration_4'),
- }))
- if post.get('course_5'):
- courses.append((0,0,{ 'name':post.get('course_5'),
- 'subject' :post.get('course_subject_5'),
- 'date' :post.get('course_date_5'),
- 'duration':post.get('course_duration_5'),
- }))
- if post.get('soft_1'):
- soft.append((0,0,{ 'name':post.get('soft_1'),
- 'software_skill' :post.get('soft_level_1'),
- }))
- if post.get('soft_2'):
- soft.append((0,0,{ 'name':post.get('soft_2'),
- 'software_skill' :post.get('soft_level_2'),
- }))
- if post.get('soft_3'):
- soft.append((0,0,{ 'name':post.get('soft_3'),
- 'software_skill' :post.get('soft_level_3'),
- }))
- if post.get('soft_4'):
- soft.append((0,0,{ 'name':post.get('soft_4'),
- 'software_skill' :post.get('soft_level_4'),
- }))
- if post.get('soft_5'):
- soft.append((0,0,{ 'name':post.get('soft_5'),
- 'software_skill' :post.get('soft_level_5'),
- }))
- app_obj = request.registry.get('hr.applicant')
- app = app_obj.browse(request.cr, request.uid, int(post.get('applicant_id')), context=request.context)
- app.write({ 'education_lines': school,
- 'language_lines': language,
- 'course_lines': courses ,
- 'software_skill_lines': soft})
- job_obj = request.registry.get('hr.job')
- job = job_obj.browse(request.cr, request.uid, app.job_id.id, context=request.context)
- print'\n\n------selected listening skill is %s ------\n\n' %post.get('language_listen_1')
- x = None
- if (job.cv_settings_id and job.cv_settings_id.employment_lines_set) or (not job.cv_settings_id):
- x = "l10n_mn_website_hr_recruitment.employment"
- elif (job.cv_settings_id and job.cv_settings_id.family_set):
- x = "l10n_mn_website_hr_recruitment.family"
- else : x = "l10n_mn_website_hr_recruitment.other"
- print (post)
- print 'error \n\n',x
- return request.render(x,
- { 'applicant_id':int(post.get('applicant_id')),
- 'sources': source,
- 'error': error,
- 'default': default,
- 'job_id': job
- })
- @http.route('/jobs/family', methods=['POST'], type='http', auth="public", website=True)
- def jobs_family(self, **post):
- error = {}
- default = {}
- source = request.env['hr.recruitment.source'].sudo().search([])
- family_mem1 = request.env['hr.employee.family.member'].sudo().search([])
- family_mem2 = request.env['hr.employee.family.member'].sudo().search([])
- family_mem3 = request.env['hr.employee.family.member'].sudo().search([])
- family_mem4 = request.env['hr.employee.family.member'].sudo().search([])
- family_mem5 = request.env['hr.employee.family.member'].sudo().search([])
- family_mem6 = request.env['hr.employee.family.member'].sudo().search([])
- family_mem7 = request.env['hr.employee.family.member'].sudo().search([])
- family_mem8 = request.env['hr.employee.family.member'].sudo().search([])
- family_mem9 = request.env['hr.employee.family.member'].sudo().search([])
- if 'l10n_mn_website_hr_recruitment_error' in request.session:
- error = request.session.pop('l10n_mn_website_hr_recruitment_error')
- default = request.session.pop('l10n_mn_website_hr_recruitment_default')
- for field_name in []:
- if not post.get(field_name):
- error[field_name] = 'missing'
- if error:
- request.session['l10n_mn_site_hr_recruitment_error'] = error
- ufile = post.pop('ufile')
- if ufile:
- error['ufile'] = 'reset'
- request.session['l10n_mn_website_hr_recruitment_default'] = post
- return request.redirect('/jobs/apply/%s' % post.get("job_id"))
- # public user can't create applicants (duh)
- env = request.env(user=SUPERUSER_ID)
- employment = []
- verify = []
- if post.get('company_1'):
- employment.append((0,0,{ 'organization':post.get('company_1'),
- 'job_title' :post.get('job_1'),
- 'entered_date' :post.get('entered_1'),
- 'resigned_date' :post.get('resigned_1'),
- 'resigned_reason' :post.get('reason_1'),
- 'wage' :post.get('salary_1'),
- 'supers' :post.get('manager_1'),
- 'responsibility' :post.get('responsibility_1'),
- }))
- if post.get('company_2'):
- employment.append((0,0,{ 'organization':post.get('company_2'),
- 'job_title' :post.get('job_2'),
- 'entered_date' :post.get('entered_2'),
- 'resigned_date' :post.get('resigned_2'),
- 'resigned_reason' :post.get('reason_2'),
- 'wage' :post.get('salary_2'),
- 'supers' :post.get('manager_2'),
- 'responsibility' :post.get('responsibility_2'),
- }))
- if post.get('company_3'):
- employment.append((0,0,{ 'organization':post.get('company_3'),
- 'job_title' :post.get('job_3'),
- 'entered_date' :post.get('entered_3'),
- 'resigned_date' :post.get('resigned_3'),
- 'resigned_reason' :post.get('reason_3'),
- 'wage' :post.get('salary_3'),
- 'supers' :post.get('manager_3'),
- 'responsibility' :post.get('responsibility_3'),
- }))
- if post.get('company_4'):
- employment.append((0,0,{ 'organization':post.get('company_4'),
- 'job_title' :post.get('job_4'),
- 'entered_date' :post.get('entered_4'),
- 'resigned_date' :post.get('resigned_4'),
- 'resigned_reason' :post.get('reason_4'),
- 'wage' :post.get('salary_4'),
- 'supers' :post.get('manager_4'),
- 'responsibility' :post.get('responsibility_4'),
- }))
- if post.get('company_5'):
- employment.append((0,0,{ 'organization':post.get('company_5'),
- 'job_title' :post.get('job_5'),
- 'entered_date' :post.get('entered_5'),
- 'resigned_date' :post.get('resigned_5'),
- 'resigned_reason' :post.get('reason_5'),
- 'wage' :post.get('salary_5'),
- 'supers' :post.get('manager_5'),
- 'responsibility' :post.get('responsibility_5'),
- }))
- if post.get('verify_name_1'):
- print'\n\n has verify contact %s \n\n '%post.get('verify_name_1')
- verify.append((0,0,{ 'name':post.get('verify_name_1'),
- 'company' :post.get('verify_company_1'),
- 'job' :post.get('verify_job_1'),
- 'phone' :post.get('verify_phone_1'),
- }))
- if post.get('verify_name_2'):
- verify.append((0,0,{ 'name':post.get('verify_name_2'),
- 'company' :post.get('verify_company_2'),
- 'job' :post.get('verify_job_2'),
- 'phone' :post.get('verify_phone_2'),
- }))
- app_obj = request.registry.get('hr.applicant')
- app = app_obj.browse(request.cr, request.uid, int(post.get('applicant_id')), context=request.context)
- print'\n\n applicant is %s \n\n '%app
- app.write({'employment_lines': employment,
- })
- print'\n\n verify %s \n\n '%verify
- job_obj = request.registry.get('hr.job')
- job = job_obj.browse(request.cr, request.uid, app.job_id.id, context=request.context)
- if (app.job_id.cv_settings_id.work_verify_lines_set) or (not job.cv_settings_id):
- app.write({'work_verify_lines': verify,
- })
- if (app.job_id.cv_settings_id.idea_set) or (not job.cv_settings_id):
- app.write({
- 'idea1': post.get('idea1') ,
- 'idea2': post.get('idea2'),
- 'idea3': post.get('idea3') ,
- 'idea4': post.get('idea4'),
- })
- job_obj = request.registry.get('hr.job')
- job = job_obj.browse(request.cr, request.uid, app.job_id.id, context=request.context)
- x = None
- if job.cv_settings_id.family_set or (not job.cv_settings_id):
- x = "l10n_mn_website_hr_recruitment.family"
- else : x = "l10n_mn_website_hr_recruitment.other"
- print 'error11111 \n\n', x
- return request.render(x,
- { 'applicant_id':int(post.get('applicant_id')),
- 'sources': source,
- 'error': error,
- 'default': default,
- 'job_id':job,
- 'family_mem1':family_mem1,
- 'family_mem2':family_mem2,
- 'family_mem3':family_mem3,
- 'family_mem4':family_mem4,
- 'family_mem5':family_mem5,
- 'family_mem6':family_mem6,
- 'family_mem7':family_mem7,
- 'family_mem8':family_mem8,
- 'family_mem9':family_mem9,
- })
- @http.route('/jobs/other', methods=['POST'], type='http', auth="public", website=True)
- def jobs_other(self, **post):
- error = {}
- default = {}
- source = request.env['hr.recruitment.source'].sudo().search([])
- if 'l10n_mn_website_hr_recruitment_error' in request.session:
- error = request.session.pop('l10n_mn_website_hr_recruitment_error')
- default = request.session.pop('l10n_mn_website_hr_recruitment_default')
- for field_name in []:
- if not post.get(field_name):
- error[field_name] = 'missing'
- if error:
- request.session['l10n_mn_site_hr_recruitment_error'] = error
- ufile = post.pop('ufile')
- if ufile:
- error['ufile'] = 'reset'
- request.session['l10n_mn_website_hr_recruitment_default'] = post
- return request.redirect('/jobs/apply/%s' % post.get("job_id"))
- # public user can't create applicants (duh)
- env = request.env(user=SUPERUSER_ID)
- family1 = []
- family2 = []
- if post.get('fam1_who_1'):
- family1.append((0,0,{ 'family_member_id':post.get('fam1_who_1'),
- 'name':post.get('fam1_name_1'),
- 'date_of_birth' :post.get('fam1_bdate_1'),
- 'place_of_birth' :post.get('fam1_bplace_1'),
- 'current_job' :post.get('fam1_job_1'),
- 'contact' :post.get('fam1_phone_1'),
- }))
- if post.get('fam1_who_2'):
- family1.append((0,0,{ 'family_member_id':post.get('fam1_who_2'),
- 'name':post.get('fam1_name_2'),
- 'date_of_birth' :post.get('fam1_bdate_2'),
- 'place_of_birth' :post.get('fam1_bplace_2'),
- 'current_job' :post.get('fam1_job_2'),
- 'contact' :post.get('fam1_phone_2'),
- }))
- if post.get('fam1_who_3'):
- family1.append((0,0,{ 'family_member_id':post.get('fam1_who_3'),
- 'name':post.get('fam1_name_3'),
- 'date_of_birth' :post.get('fam1_bdate_3'),
- 'place_of_birth' :post.get('fam1_bplace_3'),
- 'current_job' :post.get('fam1_job_3'),
- 'contact' :post.get('fam1_phone_3'),
- }))
- if post.get('fam1_who_4'):
- family1.append((0,0,{ 'family_member_id':post.get('fam1_who_4'),
- 'name':post.get('fam1_name_4'),
- 'date_of_birth' :post.get('fam1_bdate_4'),
- 'place_of_birth' :post.get('fam1_bplace_4'),
- 'current_job' :post.get('fam1_job_4'),
- 'contact' :post.get('fam1_phone_4'),
- }))
- if post.get('fam1_who_5'):
- family1.append((0,0,{ 'family_member_id':post.get('fam1_who_5'),
- 'name':post.get('fam1_name_5'),
- 'date_of_birth' :post.get('fam1_bdate_5'),
- 'place_of_birth' :post.get('fam1_bplace_5'),
- 'current_job' :post.get('fam1_job_5'),
- 'contact' :post.get('fam1_phone_5'),
- }))
- if post.get('fam2_who_1'):
- family2.append((0,0,{ 'family_member_id':post.get('fam2_who_1'),
- 'name':post.get('fam2_name_1'),
- 'date_of_birth' :post.get('fam2_bdate_1'),
- 'place_of_birth' :post.get('fam2_bplace_1'),
- 'current_organization' :post.get('fam2_job_1'),
- 'contact' :post.get('fam2_phone_1'),
- }))
- if post.get('fam2_who_2'):
- family2.append((0,0,{ 'family_member_id':post.get('fam2_who_2'),
- 'name':post.get('fam2_name_2'),
- 'date_of_birth' :post.get('fam2_bdate_2'),
- 'place_of_birth' :post.get('fam2_bplace_2'),
- 'current_organization' :post.get('fam2_job_2'),
- 'contact' :post.get('fam2_phone_2'),
- }))
- if post.get('fam2_who_3'):
- family2.append((0,0,{ 'family_member_id':post.get('fam2_who_3'),
- 'name':post.get('fam2_name_3'),
- 'date_of_birth' :post.get('fam2_bdate_3'),
- 'place_of_birth' :post.get('fam2_bplace_3'),
- 'current_organization' :post.get('fam2_job_3'),
- 'contact' :post.get('fam2_phone_3'),
- }))
- if post.get('fam2_who_4'):
- family2.append((0,0,{ 'family_member_id':post.get('fam2_who_4'),
- 'name':post.get('fam2_name_4'),
- 'date_of_birth' :post.get('fam2_bdate_4'),
- 'place_of_birth' :post.get('fam2_bplace_4'),
- 'current_job' :post.get('fam2_job_4'),
- 'contact' :post.get('fam2_phone_4'),
- }))
- app_obj = request.registry.get('hr.applicant')
- app = app_obj.browse(request.cr, request.uid, int(post.get('applicant_id')), context=request.context)
- app.write({'family_members_1': family1,
- 'family_members_2': family2,
- 'family_members_num': post.get('family_members_num') ,
- })
- job_obj = request.registry.get('hr.job')
- job = job_obj.browse(request.cr, request.uid, app.job_id.id, context=request.context)
- return request.render("l10n_mn_website_hr_recruitment.other",
- { 'applicant_id':int(post.get('applicant_id')),
- 'job_id': job,
- 'sources': source,
- 'error': error,
- 'default': default,
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement