41 lines
2.0 KiB
Python
41 lines
2.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
from odoo import models, api, fields, _
|
|
from odoo.exceptions import UserError
|
|
|
|
|
|
class InterviewApprovalWizard(models.Model):
|
|
_name = 'interview.approval.wizard'
|
|
_description = '面试结果弹窗'
|
|
|
|
interview_approval_line_ids = fields.One2many('interview.approval.wizard.line', 'interview_approval_wizard_id', string='面试审批')
|
|
|
|
def confirm(self):
|
|
interview_approval_list = []
|
|
for interview_approval in self.interview_approval_line_ids:
|
|
interview_id = self.env['interview.approval.line'].search([('name', '=', interview_approval.name)])
|
|
interview_id.write({'interview_stage_id': interview_approval.interview_stage_id.id,
|
|
'evaluation': interview_approval.evaluation})
|
|
applicant_id = self.env['hr.applicant'].search([('partner_name', '=', interview_approval.name)])
|
|
interview_approval_list.append([0, 0, {
|
|
'applicant_id': applicant_id.id,
|
|
'appraise': interview_approval.evaluation,
|
|
'applicant_time': interview_approval.applicant_time,
|
|
'employee_ids': interview_approval.employee_ids,
|
|
'interview_stage_id': interview_approval.interview_stage_id.id,
|
|
}])
|
|
applicant_id.write({'stage_id': interview_approval.interview_stage_id.id,
|
|
'interview_approval_ids': interview_approval_list})
|
|
|
|
|
|
class InterviewApprovalWizardLine(models.Model):
|
|
_name = 'interview.approval.wizard.line'
|
|
_description = '面试结果弹窗明细'
|
|
|
|
interview_approval_wizard_id = fields.Many2one('interview.approval.wizard', string='面试结果弹窗')
|
|
name = fields.Char(string='姓名')
|
|
applicant_time = fields.Datetime(string="面试时间")
|
|
employee_ids = fields.Many2many('hr.employee', string='面试官')
|
|
stage_id = fields.Many2one('hr.recruitment.stage', string='阶段')
|
|
interview_stage_id = fields.Many2one('hr.recruitment.stage', string='面试结果')
|
|
evaluation = fields.Text(string='评价')
|