添加功能

This commit is contained in:
李鹏宇
2026-04-21 18:34:01 +08:00
parent 31f39423c3
commit ecd077cdea
3 changed files with 21 additions and 5 deletions
@@ -14,6 +14,18 @@ class RoomBooking(models.Model):
is_company = fields.Boolean(string="本公司", default=True, compute='_compute_is_company',
search='_search_part_of_company')
def copy_attendees_from_previous_line(self):
for booking in self:
if not booking.issue_meeting_line_ids:
continue
lines = booking.issue_meeting_line_ids.sorted('sequence')
for i in range(1, len(lines)):
prev_line = lines[i - 1]
current_line = lines[i]
current_line.write({
'attendees_ids': [(6, 0, prev_line.attendees_ids.ids)]
})
@api.onchange('meeting_type_id')
def _onchange_meeting_type_id(self):
if self.meeting_type_id:
@@ -20,6 +20,7 @@
<xpath expr="//page[@name='sign']" position="before">
<page string="关联议题" invisible="not is_issue">
<button name="copy_attendees_from_previous_line" string="复制" type="object" class="btn-primary"/>
<field name="issue_meeting_line_ids">
<tree editable="bottom">
<button name="open_record" type="object" string="详情" class="oe_highlight"/>
@@ -28,6 +28,7 @@ class InheritRoomBooking(models.Model):
new_record = super(InheritRoomBooking, self).create(vals)
employee_list = []
booking = new_record
# ① 组织者
if booking.organizer_id:
employee_list.append(booking.organizer_id.employee_id.id)
@@ -54,7 +55,7 @@ class InheritRoomBooking(models.Model):
role_employees = self.env['hr.employee'].search([
'|',
('user_role_id', 'in', role_group_roles.ids),
('user_role_ids', 'in', role_group_roles.ids)
('user_ids', 'in', role_group_roles.ids)
])
employee_list.extend(role_employees.ids)
# ⑦ 主持人
@@ -63,6 +64,7 @@ class InheritRoomBooking(models.Model):
# 去重
employee_list = list(set(employee_list))
def get_hour_selection(datetime_obj):
if not datetime_obj:
return None
@@ -92,22 +94,23 @@ class InheritRoomBooking(models.Model):
return f"{hour % 24}.75"
start_datetime = new_record.start_datetime
start_date = start_datetime.date()
start_date = start_datetime.date() if start_datetime else False
request_hour_from = get_hour_selection(new_record.start_datetime)
request_hour_to = get_hour_selection(new_record.stop_datetime)
# ====================== 创建任务 ======================
task_time_vals = vals.get('task_time_ids', [])
task_id = self.env['yuthon.will.task'].sudo().create({
'name': new_record.name,
'employee_ids': [(6, 0, employee_list)],
'task_time_ids': [(6, 0, new_record.task_time_ids.ids)] if new_record.task_time_ids else [],
'task_time_ids': task_time_vals,
'start_date': start_date,
'request_hour_from': request_hour_from,
'request_hour_to': request_hour_to,
'address': new_record.room_id.name,
'address': new_record.room_id.name if new_record.room_id else '',
'room_booking_id': new_record.id,
'task_type': 'meet',
'task_state': 'will',
})
task_id._onchange_employee_ids()
return new_record