diff --git a/room/models/room_booking.py b/room/models/room_booking.py
index 2779656a2..29ab810a8 100644
--- a/room/models/room_booking.py
+++ b/room/models/room_booking.py
@@ -90,31 +90,6 @@ class RoomBooking(models.Model):
employee_list = [rec.name for rec in i.room_users_ids]
i.room_users_names = ','.join(employee_list)
- @api.onchange('meeting_type_id')
- def _onchange_meeting_type_id(self):
- if self.meeting_type_id:
- host_role_id = self.meeting_type_id.host_id.id
- host_employee = self.env['hr.employee'].search([
- '|',
- ('user_role_ids', 'in', host_role_id),
- ('user_role_id', '=', host_role_id),
- ('company_id', '=', self.meeting_type_id.company_id.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),
- ('company_id', '=', self.meeting_type_id.company_id.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
-
# @api.model_create_multi
# def create(self, vals_list):
# bookings = super(RoomBooking, self).create(vals_list)
diff --git a/room/models/room_meeting_type.py b/room/models/room_meeting_type.py
index d2bfd7edf..e126e494c 100644
--- a/room/models/room_meeting_type.py
+++ b/room/models/room_meeting_type.py
@@ -13,6 +13,7 @@ class RoomMeetingType(models.Model):
room_users_ids = fields.Many2many('soong.user.role', string="出席人员", store=True)
host_user_id = fields.Many2one('res.users', string="主持人")
users_ids = fields.Many2many('res.users', string="出席人员")
+ attendees_ids = fields.Many2many('hr.employee', string="列席人员")
company_id = fields.Many2one('res.company', string="公司", index=True, default=lambda self: self.env.company)
@api.depends('host_id', 'room_users_ids')
diff --git a/room/views/room_meeting_type.xml b/room/views/room_meeting_type.xml
index 8ac40fb90..17776929c 100644
--- a/room/views/room_meeting_type.xml
+++ b/room/views/room_meeting_type.xml
@@ -9,6 +9,7 @@
+
diff --git a/yuthon_issue/models/inherit_room_booking.py b/yuthon_issue/models/inherit_room_booking.py
index a5a4a6fac..960745c26 100644
--- a/yuthon_issue/models/inherit_room_booking.py
+++ b/yuthon_issue/models/inherit_room_booking.py
@@ -14,6 +14,39 @@ class RoomBooking(models.Model):
is_company = fields.Boolean(string="本公司", default=True, compute='_compute_is_company',
search='_search_part_of_company')
+ @api.onchange('meeting_type_id')
+ def _onchange_meeting_type_id(self):
+ # 原有逻辑:设置主持人、会议室人员
+ if self.meeting_type_id:
+ host_role_id = self.meeting_type_id.host_id.id
+ host_employee = self.env['hr.employee'].search([
+ '|',
+ ('user_role_ids', 'in', host_role_id),
+ ('user_role_id', '=', host_role_id),
+ ('company_id', '=', self.meeting_type_id.company_id.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 if host_employee else False),
+ ('company_id', '=', self.meeting_type_id.company_id.id)
+ ])
+ room_user_ids = room_employees.mapped('user_id.id')
+ self.host = host_employee.id
+ self.room_users_ids = [(6, 0, room_user_ids)]
+ template_attendee_ids = self.meeting_type_id.attendees_ids.ids
+ if self.issue_meeting_line_ids and template_attendee_ids:
+ for line in self.issue_meeting_line_ids:
+ line.attendees_ids = [(6, 0, template_attendee_ids)]
+ else:
+ self.room_users_ids = [(5, 0, 0)]
+ self.host = False
+ if self.issue_meeting_line_ids:
+ for line in self.issue_meeting_line_ids:
+ line.attendees_ids = [(5, 0, 0)]
+
@api.constrains('name', 'issue_meeting_line_ids')
def _check_name(self):
for record in self:
diff --git a/yuthon_issue/views/inherit_room_booking.xml b/yuthon_issue/views/inherit_room_booking.xml
index 0b8563bcc..b31610ee2 100644
--- a/yuthon_issue/views/inherit_room_booking.xml
+++ b/yuthon_issue/views/inherit_room_booking.xml
@@ -27,7 +27,7 @@
-
+