@@ -340,22 +340,21 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
btn for btn in next_node.button_ids
|
||||
if btn.name == '转交'
|
||||
]
|
||||
has_visible_transfer_btn = False
|
||||
has_visible_transfer_btn = True
|
||||
# 判断按钮隐藏条件 如果没有可用的就跳过(说明流程最后一步)
|
||||
if not transfer_buttons:
|
||||
has_visible_transfer_btn = True
|
||||
else:
|
||||
for btn in transfer_buttons:
|
||||
if not btn.invisible_expression:
|
||||
has_visible_transfer_btn = False
|
||||
break
|
||||
else:
|
||||
if btn.is_review_invisible:
|
||||
domain = eval(btn.invisible_expression)
|
||||
expression_result = self.search(domain)
|
||||
has_self_in_result = self.id in expression_result.ids
|
||||
if not has_self_in_result:
|
||||
has_visible_transfer_btn = False
|
||||
break
|
||||
else:
|
||||
has_visible_transfer_btn = True
|
||||
|
||||
if not has_visible_transfer_btn:
|
||||
skipped_node_names.append(next_node.name)
|
||||
|
||||
@@ -154,6 +154,8 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
for record in self:
|
||||
if not record.trans_link_id:
|
||||
continue
|
||||
available_links = self.env['trans.link'].search([])
|
||||
record.invalid_link_ids = available_links[1:]
|
||||
record_id = self.env[record.res_model].browse(record.res_id) if record.res_model and record.res_id else None
|
||||
for link in record.trans_link_id:
|
||||
employee_user_role_ids = self._get_approvers_for_link(link, record_id)
|
||||
|
||||
@@ -112,10 +112,9 @@ class HrAttendance(models.Model):
|
||||
record.company_id = False
|
||||
|
||||
def write(self, vals):
|
||||
# 仅在修改check_out字段时执行逻辑
|
||||
if 'check_out' in vals:
|
||||
for record in self:
|
||||
target_date = record.current_data # date类型
|
||||
target_date = record.current_data
|
||||
start_of_day = datetime.combine(target_date, datetime.min.time())
|
||||
end_of_day = start_of_day + timedelta(days=1)
|
||||
start_str = fields.Datetime.to_string(start_of_day)
|
||||
@@ -127,7 +126,6 @@ class HrAttendance(models.Model):
|
||||
])
|
||||
|
||||
if detail_records:
|
||||
# 提取所有checkin_time并找出最大值
|
||||
max_checkin_time = max(detail_records.mapped('checkin_time'))
|
||||
vals['check_out'] = max_checkin_time
|
||||
return super(HrAttendance, self).write(vals)
|
||||
|
||||
Reference in New Issue
Block a user