添加功能

This commit is contained in:
李鹏宇
2025-12-04 19:00:14 +08:00
parent cab00444bd
commit 79345afce4
6 changed files with 54 additions and 10 deletions
@@ -63,6 +63,21 @@ class SoongWorkflowRecord(models.Model):
res.append_date2(res)
return res
def restore(self):
workflow_ids = self.env["soong.workflow.record"].browse(
self._context.get('active_ids', self._context.get('active_id', [])))
for workflow in workflow_ids:
record_id = self.env[workflow.res_model].search([('id', '=', workflow.res_id)])
if record_id.log_ids:
record_id.log_ids[-1].approval_state = '0'
if hasattr(record_id, 'work_end'):
record_id.work_end = False
if hasattr(record_id, 'self_users_ids'):
record_id.self_users_ids = [(6, 0, [record_id.log_ids[-1].done_by.id])]
workflow.employee_ids = [(6, 0, [record_id.log_ids[-1].done_by.employee_id.id])]
workflow.soong_state = 'to_do'
workflow.approve_state = 'pending'
def append_date2(self, res):
res.workflow_happen_date = False
if res.approvals_group_id.name == '考勤':
@@ -157,6 +172,8 @@ class SoongWorkflowRecord(models.Model):
})
workflow.approve_state = 'end'
workflow.soong_state = 'done'
workflow.employee_ids = [(6, 0, [])]
def execute_button_code(self, button_id, res_model, res_id):
@@ -255,6 +255,14 @@
<field name="code">action = model.admin_end()</field>
<field name="groups_id" eval="[(4, ref('base.group_system'))]"/>
</record>
<record id="action_admin_restore" model="ir.actions.server">
<field name="name">恢复</field>
<field name="model_id" ref="soong_workflow.model_soong_workflow_record"/>
<field name="binding_model_id" ref="soong_workflow.model_soong_workflow_record"/>
<field name="state">code</field>
<field name="code">action = model.restore()</field>
<field name="groups_id" eval="[(4, ref('base.group_system'))]"/>
</record>
<record id="action_admin_delete_end22" model="ir.actions.server">
<field name="name">发生日期</field>
<field name="model_id" ref="soong_workflow.model_soong_workflow_record"/>
@@ -23,5 +23,6 @@ class SoongBouncedWizard(models.Model):
log_ids[-1].unlink()
log_ids[-2].write({'approval_state': '1'})
record.write({'state': log_ids[-2].name,
'work_end': False
'work_end': False,
'soong_state': 'to_do'
})