添加功能
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user