diff --git a/yuthon_hr_employee/__manifest__.py b/yuthon_hr_employee/__manifest__.py index 6c6a80c82..0b921037b 100644 --- a/yuthon_hr_employee/__manifest__.py +++ b/yuthon_hr_employee/__manifest__.py @@ -11,7 +11,7 @@ 'license': 'LGPL-3', 'author': 'pengyuthon', 'website': 'https://www.pengyuthon.com', - 'depends': ['base', 'hr', 'hr_recruitment','soong_workflow'], + 'depends': ['base', 'hr', 'hr_recruitment', 'soong_workflow'], 'data': [ 'data/yuthon.job.lv.csv', 'data/job_lv_groups_data.xml', @@ -32,7 +32,6 @@ 'views/inherit_hr_applicant_views.xml', 'views/publish_applicant_setting_views.xml', 'views/yuthon_job_postings_views.xml', - 'views/website_employee_views.xml' ], 'installable': True, 'application': False, diff --git a/yuthon_hr_employee/controllers/employee_banner_route.py b/yuthon_hr_employee/controllers/employee_banner_route.py index ffbeb94ec..dfd4ce9bc 100644 --- a/yuthon_hr_employee/controllers/employee_banner_route.py +++ b/yuthon_hr_employee/controllers/employee_banner_route.py @@ -1,6 +1,4 @@ from odoo.http import Controller, request, route -from datetime import datetime -from odoo import models, fields, api, http, SUPERUSER_ID, _ class EmployeeBannerRoute(Controller): @@ -29,24 +27,3 @@ class EmployeeBannerRoute(Controller): """ } - - @http.route('/hr/employee/create', type='http', auth="none") - def hr_employee_create(self, employee_id=None, **kw): - values = {k: v for k, v in request.params.items()} - if not employee_id: - values['error'] = "缺少员工号" - response = request.render('yuthon_hr_employee.website_form_employee', values) - response.headers['X-Frame-Options'] = 'SAMEORIGIN' - response.headers['Content-Security-Policy'] = "frame-ancestors 'self'" - return response - - values['employee_id'] = int(employee_id) - if request.httprequest.method == 'POST': - record = request.env['hr.employee'].sudo().browse(values['employee_id']) - if "name" in values and values.get("name", ""): - record.name = values.get("name", "") - values["message"] = "员工信息创建成功" - response = request.render('yuthon_hr_employee.website_form_employee', values) - response.headers['X-Frame-Options'] = 'SAMEORIGIN' - response.headers['Content-Security-Policy'] = "frame-ancestors 'self'" - return response diff --git a/yuthon_hr_employee/models/inherit_hr_applicant.py b/yuthon_hr_employee/models/inherit_hr_applicant.py index 78195452e..15c4cf621 100644 --- a/yuthon_hr_employee/models/inherit_hr_applicant.py +++ b/yuthon_hr_employee/models/inherit_hr_applicant.py @@ -19,6 +19,7 @@ class HrApplicant(models.Model): tage_ids = fields.Many2many('applicant.tage.setting', string="应聘标签") is_interview_status = fields.Boolean(string="面试状态") + class HrJobType(models.Model): _name = "hr.job.type" diff --git a/yuthon_hr_employee/views/inherit_hr_applicant_views.xml b/yuthon_hr_employee/views/inherit_hr_applicant_views.xml index 0e2cba161..951bfd634 100644 --- a/yuthon_hr_employee/views/inherit_hr_applicant_views.xml +++ b/yuthon_hr_employee/views/inherit_hr_applicant_views.xml @@ -7,6 +7,12 @@
+
+
diff --git a/yuthon_hr_employee_approval/__init__.py b/yuthon_hr_employee_approval/__init__.py index 0650744f6..64bae990a 100644 --- a/yuthon_hr_employee_approval/__init__.py +++ b/yuthon_hr_employee_approval/__init__.py @@ -1 +1,4 @@ from . import models +from . import controllers +from . import wizard + diff --git a/yuthon_hr_employee_approval/__manifest__.py b/yuthon_hr_employee_approval/__manifest__.py index 51b6bc987..aad76fc91 100644 --- a/yuthon_hr_employee_approval/__manifest__.py +++ b/yuthon_hr_employee_approval/__manifest__.py @@ -38,7 +38,9 @@ 'views/yuthon_appointment_approval_views.xml', 'views/yuthon_transfer_approval_views.xml', 'views/yuthon_social_files_approval_view.xml', + 'views/website_employee_views.xml', 'views/menuitem.xml', + 'wizard/yuthon_website_employee_wizard.xml' ], 'installable': True, 'application': False, diff --git a/yuthon_hr_employee_approval/controllers/__init__.py b/yuthon_hr_employee_approval/controllers/__init__.py new file mode 100644 index 000000000..8984723a2 --- /dev/null +++ b/yuthon_hr_employee_approval/controllers/__init__.py @@ -0,0 +1 @@ +from . import employee_login diff --git a/yuthon_hr_employee_approval/controllers/employee_login.py b/yuthon_hr_employee_approval/controllers/employee_login.py new file mode 100644 index 000000000..67fe3b6a1 --- /dev/null +++ b/yuthon_hr_employee_approval/controllers/employee_login.py @@ -0,0 +1,32 @@ +from odoo.http import Controller, request, route +from odoo import models, fields, api, http, SUPERUSER_ID, _ + + +class EmployeeLogin(Controller): + + @http.route('/hr/employee/create', type='http', auth="none") + def hr_employee_create(self, employee_id=None, **kw): + values = {k: v for k, v in request.params.items()} + if not employee_id: + values['error'] = "缺少员工号" + response = request.render('yuthon_hr_employee_approval.website_form_employee', values) + response.headers['X-Frame-Options'] = 'SAMEORIGIN' + response.headers['Content-Security-Policy'] = "frame-ancestors 'self'" + return response + + values['employee_id'] = int(employee_id) + record = request.env['hr.employee'].sudo().browse(values['employee_id']) + values['name'] = record.name + # 展示字段 + # values['name'] = record.name + if request.httprequest.method == 'POST': + if "name" in values and values.get("name", ""): + record.name = values.get("name", "") + # 记录字段 + # if "name" in values and values.get("name", ""): + # record.name = values.get("name", "") + values["message"] = "员工信息创建成功" + response = request.render('yuthon_hr_employee_approval.website_form_employee', values) + response.headers['X-Frame-Options'] = 'SAMEORIGIN' + response.headers['Content-Security-Policy'] = "frame-ancestors 'self'" + return response diff --git a/yuthon_hr_employee_approval/models/hr_employee_page.py b/yuthon_hr_employee_approval/models/hr_employee_page.py index ff8f495ef..ca0550520 100644 --- a/yuthon_hr_employee_approval/models/hr_employee_page.py +++ b/yuthon_hr_employee_approval/models/hr_employee_page.py @@ -45,6 +45,7 @@ class YuthonEducationExperienceLine(models.Model): full_time_degree = fields.Char(string="全日制学历学位") major_courses = fields.Char(string="主修课程") + class YuthonPersonalSkillsSchedule(models.Model): _name = 'yuthon.personal.skills.schedule' _description = "个人技能明细行" @@ -127,3 +128,7 @@ class HrJobType(models.Model): name = fields.Char(string="类别名称") + +class YuthonPrepareApprovalLine(models.Model): + _name = 'yuthon.prepare.approval.line' + diff --git a/yuthon_hr_employee_approval/models/yuthon_message_login.py b/yuthon_hr_employee_approval/models/yuthon_message_login.py index eb6a20e61..b7badaba6 100644 --- a/yuthon_hr_employee_approval/models/yuthon_message_login.py +++ b/yuthon_hr_employee_approval/models/yuthon_message_login.py @@ -115,9 +115,28 @@ class YuthonMessageLogin(models.Model): degree_id_ids = fields.One2many('education.details.line2', 'degree_id', string="学位证") certificate_ids = fields.One2many('certificates.detail.line', 'certificate_id', string="专业证书") -# -# -# + + def pub_name_button(self): + code_url = self.get_base_url() + "/hr/employee/create?employee_id=" + str(self.id) + action = { + 'type': 'ir.actions.act_window', + 'name': "访问地址", + 'res_model': 'yuthon.website.employee.wizard', + 'views': [(False, 'form')], + 'target': 'new', + 'context': { + 'default_employee_url': code_url, + } + } + return action + # return { + # 'warning': { + # 'title': '邀请链接', + # 'message': code_url + # } + # } + + class EducationalDetailsLine(models.Model): _name = 'education.details.line' _description = '学历证(全日制)' diff --git a/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py b/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py index 33d976e38..f798c4764 100644 --- a/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py @@ -7,7 +7,7 @@ class YuthonRecruitmentApproval(models.Model): _inherit = 'soong.workflow.mixin' name = fields.Char(string='标题') - employee_id = fields.Many2one('hr.employee',string='申请人', default=lambda self: self.env.user.employee_id) + employee_id = fields.Many2one('hr.employee', string='申请人', default=lambda self: self.env.user.employee_id) code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_recruitment_approval_code')) reason = fields.Html(string="正文") recruitment_ids = fields.One2many('hr.job', 'recruitment_approval_id', string="招聘申请") @@ -19,7 +19,6 @@ class YuthonRecruitmentApproval(models.Model): ('thlc', '天河粮储'), ('tctj', '天投城建')], string="所属公司") department_id = fields.Many2one("hr.department", string="部门") - def put_time_failure(self): for record in self: for recruitment in record.recruitment_ids: diff --git a/yuthon_hr_employee_approval/security/ir.model.access.csv b/yuthon_hr_employee_approval/security/ir.model.access.csv index d87b074d6..aaeb9ffbd 100644 --- a/yuthon_hr_employee_approval/security/ir.model.access.csv +++ b/yuthon_hr_employee_approval/security/ir.model.access.csv @@ -31,4 +31,6 @@ access_yuthon_transfer_infor_detail_lines,yuthon_transfer_infor_detail_lines,mod access_yuthon_social_files_approval,yuthon_social_files_approval,model_yuthon_social_files_approval,base.group_user,1,1,1,1 access_new_prepare_approval_line,new_prepare_approval_line,model_new_prepare_approval_line,base.group_user,1,1,1,1 access_interview_approval_line,interview_approval_line,model_interview_approval_line,base.group_user,1,1,1,1 -access_prepare_approval_line,prepare_approval_line,model_prepare_approval_line,base.group_user,1,1,1,1 \ No newline at end of file +access_prepare_approval_line,prepare_approval_line,model_prepare_approval_line,base.group_user,1,1,1,1 +access_yuthon_prepare_approval_line,yuthon_prepare_approval_line,model_yuthon_prepare_approval_line,base.group_user,1,1,1,1 +access_yuthon_website_employee_wizard,yuthon_website_employee_wizard,model_yuthon_website_employee_wizard,base.group_user,1,1,1,1 diff --git a/yuthon_hr_employee/views/website_employee_views.xml b/yuthon_hr_employee_approval/views/website_employee_views.xml similarity index 67% rename from yuthon_hr_employee/views/website_employee_views.xml rename to yuthon_hr_employee_approval/views/website_employee_views.xml index 240f143bb..a874ac4a5 100644 --- a/yuthon_hr_employee/views/website_employee_views.xml +++ b/yuthon_hr_employee_approval/views/website_employee_views.xml @@ -1,6 +1,6 @@ -