添加功能
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
<field name="name" class="list_room_width2"/>
|
||||
<field name="host_id" class="list_room_width2"/>
|
||||
<field name="room_users_ids" widget="many2many_tags"/>
|
||||
<field name="attendees_ids" widget="many2many_tags"/>
|
||||
<field name="host_user_id" column_invisible="1"/>
|
||||
<field name="users_ids" widget="many2many_tags" column_invisible="1"/>
|
||||
<field name="company_id"/>
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<field name="meeting_booking_id" column_invisible="1"/>
|
||||
<field name="issue_library_id"/>
|
||||
<field name="employee_id" options="{'no_create': True}" domain="[('id', 'in', designated_person_ids)]"/>
|
||||
<field name="attendees_ids" widget="many2many_tags" domain="[('id', 'in', designated_person_ids)]"/>
|
||||
<field name="attendees_ids" widget="many2many_tags"/>
|
||||
<field name="users_role_group_ids" widget="many2many_tags" />
|
||||
<field name="designated_person_ids" widget="many2many_tags" column_invisible="1"/>
|
||||
<field name="is_sanda"/>
|
||||
|
||||
Reference in New Issue
Block a user