@@ -24,19 +24,23 @@ class SoongBouncedWizard(models.Model):
|
||||
if invalid_logs:
|
||||
raise UserError('当前状态不可以收回')
|
||||
|
||||
prev_log = None
|
||||
total_log_count = len(log_ids)
|
||||
deleted_log_count = len(log_to_delete)
|
||||
prev_log_index = (total_log_count - deleted_log_count) - 1
|
||||
other_log_index = total_log_count - deleted_log_count
|
||||
if prev_log_index < 0 or prev_log_index >= len(log_ids):
|
||||
raise UserError('无有效的上一级审批明细行,无法执行收回操作')
|
||||
prev_log = log_ids[prev_log_index]
|
||||
|
||||
related_record = self.env[self.res_model].browse(self.res_id)
|
||||
done_by_list = []
|
||||
for index in range(other_log_index):
|
||||
done_by_list.append(log_ids[index].done_by.id)
|
||||
|
||||
if hasattr(related_record, 'self_users_ids'):
|
||||
related_record.self_users_ids = [(6, 0, [prev_log.done_by.id])]
|
||||
self.env['soong.workflow.record'].search([('code', '=', record.code)]).write({"employee_ids": [(6, 0, [prev_log.done_by.employee_ids.id])],
|
||||
"users_ids": [(6, 0, [prev_log.done_by.id])],
|
||||
"users_ids": [(6, 0, done_by_list)],
|
||||
'soong_state': 'to_do'
|
||||
})
|
||||
log_to_delete.unlink()
|
||||
|
||||
@@ -58,8 +58,14 @@ class RoomBooking(models.Model):
|
||||
return res
|
||||
for idx, (main_record, vals) in enumerate(zip(res, vals_list)):
|
||||
issue_meeting_lines = vals.get('issue_meeting_line_ids', [])
|
||||
if not isinstance(issue_meeting_lines, list):
|
||||
continue
|
||||
for line_triple in issue_meeting_lines:
|
||||
if not (isinstance(line_triple, (list, tuple)) and len(line_triple) == 3):
|
||||
continue
|
||||
line_state, line_id, line_vals = line_triple
|
||||
if line_state != 0 or not isinstance(line_vals, dict):
|
||||
continue
|
||||
issue_library_id = line_vals.get('issue_library_id')
|
||||
room_id = vals.get('room_id')
|
||||
meeting_type_id = vals.get('meeting_type_id')
|
||||
|
||||
Reference in New Issue
Block a user