From 55c03cb3961beaeac73dc89077258a9be6a7db9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Mon, 2 Feb 2026 17:54:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- room/models/room_booking.py | 16 ++++++++++++++-- room/views/room_booking_views.xml | 4 ++-- yuthon_issue/models/issue_library.py | 11 ----------- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/room/models/room_booking.py b/room/models/room_booking.py index 2ab0963c1..c3d063fb0 100644 --- a/room/models/room_booking.py +++ b/room/models/room_booking.py @@ -92,8 +92,20 @@ class RoomBooking(models.Model): @api.onchange('meeting_type_id') def _onchange_meeting_type_id(self): if self.meeting_type_id: - self.room_users_ids = self.meeting_type_id.users_ids - self.host = self.meeting_type_id.host_user_id.id if self.meeting_type_id.host_user_id else False + host_role_id = self.meeting_type_id.host_id.id + host_employee = self.env['hr.employee'].search([ + ('user_role_ids', 'in', host_role_id), + ], limit=1) + room_user_role_ids = self.meeting_type_id.room_users_ids.ids + room_employees = self.env['hr.employee'].search([ + '|', + ('user_role_ids', 'in', room_user_role_ids), + ('user_role_id', 'in', room_user_role_ids), + ('id', '!=', host_employee.id) + ]) + room_user_ids = room_employees.mapped('user_id.id') + self.host = host_employee.id + self.room_users_ids = [(6, 0, room_user_ids)] else: self.room_users_ids = [(5, 0, 0)] self.host = False diff --git a/room/views/room_booking_views.xml b/room/views/room_booking_views.xml index 559936b10..e33a960ce 100644 --- a/room/views/room_booking_views.xml +++ b/room/views/room_booking_views.xml @@ -202,8 +202,8 @@ - - + + diff --git a/yuthon_issue/models/issue_library.py b/yuthon_issue/models/issue_library.py index 9100a6d0f..54e48cceb 100644 --- a/yuthon_issue/models/issue_library.py +++ b/yuthon_issue/models/issue_library.py @@ -558,15 +558,6 @@ class IssueLibrary(models.Model): break elif passed_result == 'pass': continue - host_role_id = meeting_type.host_id.id - host_employee = self.env['hr.employee'].search([ - ('user_role_ids', 'in', host_role_id), - ], limit=1) - room_user_role_ids = meeting_type.room_users_ids.ids - room_employees = self.env['hr.employee'].search([ - ('user_role_ids', 'in', room_user_role_ids), - ]) - room_user_ids = room_employees.mapped('user_id.id') form_id = self.env.ref("room.room_booking_view_form", raise_if_not_found=False) return { "type": "ir.actions.act_window", @@ -576,8 +567,6 @@ class IssueLibrary(models.Model): "context": { 'default_is_issue': True, 'default_state': '申请人', - 'default_host': host_employee.id, - 'default_room_users_ids': [(6, 0, room_user_ids)], 'default_meeting_type_id': target_meeting_type_id, 'default_start_datetime': fields.Datetime.now() + timedelta(hours=8), 'default_issue_meeting_line_ids': issue_details,