!1802 添加功能

Merge pull request !1802 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2025-03-14 06:24:17 +00:00
committed by Gitee
11 changed files with 66 additions and 26 deletions
+1 -1
View File
@@ -7,7 +7,7 @@
'description': 'Experience the Ease of Booking Meeting Rooms with Real-Time Availability Display.',
'category': 'Services/Room',
'version': '1.0',
'depends': ['mail', 'hr', 'documents', 'yuthon_wechat', 'fleet', 'calendar', 'yuthon_hr_employee'],
'depends': ['mail', 'hr', 'documents', 'yuthon_wechat', 'fleet', 'calendar'],
'data': [
'data/message_template_views.xml',
'data/room_wechat_cron_data.xml',
+20 -7
View File
@@ -124,13 +124,13 @@ class RoomBooking(models.Model):
'sign_type': 'no',
})
# 缺少逻辑
for external in self.other_user_ids:
self.env['room.meeting.sign'].create({
'room_booking_id': self.id,
'partner_name': external.name,
'user_type': 'outsiders',
'sign_type': 'no',
})
# for external in self.other_user_ids:
# self.env['room.meeting.sign'].create({
# 'room_booking_id': self.id,
# 'partner_name': external.name,
# 'user_type': 'outsiders',
# 'sign_type': 'no',
# })
event = self.env['calendar.event'].create({
'name': self.name,
@@ -142,6 +142,19 @@ class RoomBooking(models.Model):
'event_id': event.id,
'partner_id': partner.address_id.id,
})
task_type = self.env['task.type.setting'].search([('name', '=', '面试')])
employee_records = self.env['hr.employee'].search([('user_id', 'in', self.room_users_ids.ids)])
if not task_type:
task_type = self.env['task.type.setting'].create({
'name': '面试',
})
self.env['yuthon.will.task'].create({
'start_time': self.start_datetime,
'task_type':task_type.id,
'employee_ids': [(6, 0, employee_records.ids)],
'state':'will',
'task_content': '面试安排'
})
# 企业用户发送通知
partner_ids = self.sudo().env['res.users'].search([('id', 'in', self.room_users_ids.ids)]).mapped(
'partner_id').ids
@@ -19,6 +19,7 @@
'data/stage_approval_data.xml',
'data/tage_approval_data.xml',
'views/inherit_hr_applicant_views.xml',
'views/inherit_room_booking_views.xml',
'views/inherit_hr_job_views.xml',
'views/inherit_hr_employee_views.xml',
'views/yuthon_message_login_views.xml',
@@ -1,6 +1,7 @@
from . import inherit_hr_employee
from . import hr_employee_page
from . import inherit_hr_job
from . import inherit_room_booking
from . import inherit_hr_applicant
from . import yuthon_message_login
from . import yuthon_onboard_approval
@@ -68,8 +68,8 @@ class HrApplicant(models.Model):
form_id = self.env.ref("yuthon_hr_employee_approval.yuthon_onboard_approval_form").id
information_id = self.env["yuthon.message.login"].search([('staff_name', '=', self.partner_name)])
recruitment_id = self.env["yuthon.recruitment.approval"].search([('name', 'ilike', self.name), ('name', 'ilike', self.department_id.name)])
for user in self.interview_approval_ids:
if user.interview_stage_id.name == '未通过':
for applicant in self:
if applicant.stage_id.name != '待入职':
raise UserError('当前人员不允许入职')
return {
'type': 'ir.actions.act_window',
@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, _
import datetime
class RoomBooking(models.Model):
_inherit = "room.booking"
interview_id = fields.Many2one("yuthon.interview.approval", string="关联面试流程", tracking=1)
@@ -19,17 +19,10 @@
<field name="model">hr.job</field>
<field name="inherit_id" ref="hr.view_hr_job_form"/>
<field name="arch" type="xml">
<div name="recruitment_target" position="after">
<field name="is_pub"/>
</div>
<xpath expr="//field[@name='no_of_recruitment']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
</field>
</record>
<record id="hr_recruitment.action_hr_job" model="ir.actions.act_window">
<field name="domain">[('is_pub','=',True)]</field>
</record>
</odoo>
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="inherit_room_booking_approval_tree" model="ir.ui.view">
<field name="name">inherit.room.booking.approval.tree</field>
<field name="model">room.booking</field>
<field name="inherit_id" ref="room.room_booking_view_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='meeting_type_id']" position="after">
<field name="interview_id" invisible="meeting_type_id.name !='面试'"/>
</xpath>
</field>
</record>
<record id="room_booking_interview_action" model="ir.actions.act_window">
<field name="name">面试会议安排</field>
<field name="res_model">room.booking</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('meeting_type_id.name','=','面试')]</field>
</record>
</odoo>
@@ -17,6 +17,9 @@
<field name="arch" type="xml">
<form>
<sheet>
<header>
<button name="put_time_failure" type="object" string="Approve" class="btn btn-primary"/>
</header>
<widget name="web_ribbon" title="普件" bg_color="text-bg-success"
invisible="urgency_level != 'normal'"/>
<widget name="web_ribbon" title="急件" bg_color="text-bg-warning"
+1 -1
View File
@@ -8,7 +8,7 @@
<xpath expr="//field[@name='is_notice']" position="before">
<field name="is_issue"/>
</xpath>
<xpath expr="//field[@name='meeting_type_id']" position="after">
<xpath expr="//field[@name='meeting_place']" position="after">
<field name="number_of_meetings"/>
</xpath>
<xpath expr="//page[@name='sign']" position="after">
+8 -8
View File
@@ -22,16 +22,11 @@
parent="hr_recruitment_menu_root_board"
action="hr_recruitment.action_hr_job"
sequence="5"/>
<menuitem id="hr_recruitment_all_menu_board"
name="招聘列表"
parent="hr_recruitment_menu_root_board"
action="hr_recruitment.crm_case_categ0_act_job"
sequence="10"/>
<menuitem id="hr_recruitment_interview_message_menu_board"
name="面试信息"
parent="hr_recruitment_all_menu_board"
parent="hr_recruitment_menu_root_board"
action="yuthon_hr_employee.view_crm_case_categ0_act_job1"
sequence="1"/>
sequence="10"/>
<!-- <menuitem id="hr_recruitment_interview_offboard_board"-->
<!-- name="人才库"-->
<!-- parent="hr_recruitment_all_menu_board"-->
@@ -42,10 +37,15 @@
parent="hr_recruitment_menu_root_board"
action="yuthon_hr_employee_approval.yuthon_message_login_action"
sequence="15"/>
<menuitem id="hr_room_interview_menu_root_board"
name="面试会议安排"
parent="hr_recruitment_menu_root_board"
action="yuthon_hr_employee_approval.room_booking_interview_action"
sequence="20"/>
<menuitem id="hr_menu_recruitment_process"
name="流程"
parent="hr_recruitment_menu_root_board"
sequence="20"/>
sequence="30"/>
<menuitem id="hr_menu_recruitment_approval"
name="招聘需求申请表"
parent="hr_menu_recruitment_process"