diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py
index 432d327ea..1ebb1a49e 100644
--- a/soong_workflow/models/soong_workflow_record.py
+++ b/soong_workflow/models/soong_workflow_record.py
@@ -138,22 +138,6 @@ class SoongWorkflowRecord(models.Model):
# ids += c_id
# return [('id', 'in', ids)]
- # 删除
- def reclaim_record(self):
- for rec in self:
- record_id = self.env[self.res_model].search([('id', '=', self.res_id)])
- record_id.write({'active': False})
- rec.reclaim_state = True
- return {
- 'type': 'ir.actions.client',
- 'tag': 'display_notification',
- 'params': {
- 'type': 'success',
- 'message': '已删除',
- 'sticky': False,
- }
- }
-
# 撤销
def revoke_record(self):
wizard = self.env.ref("soong_workflow.view_soong_workflow_record_revoke_wizard")
@@ -211,6 +195,9 @@ class SoongWorkflowRecord(models.Model):
def restore_record(self):
for rec in self:
rec.reclaim_state = False
+ target_model = self.env[rec.record_id.res_model]
+ target_record = target_model.sudo().browse(rec.record_id.res_id)
+ target_record.write({'active': True})
def delete_record(self):
record_id = self.env[self.res_model].search([('id', '=', self.res_id)])
diff --git a/soong_workflow/views/soong_workflow_record.xml b/soong_workflow/views/soong_workflow_record.xml
index 22b5b3e09..096254132 100644
--- a/soong_workflow/views/soong_workflow_record.xml
+++ b/soong_workflow/views/soong_workflow_record.xml
@@ -97,7 +97,7 @@
soong.workflow.record.tree.restore
soong.workflow.record
-
diff --git a/soong_workflow/wizard/soong_workflow_record_delete_wizard.py b/soong_workflow/wizard/soong_workflow_record_delete_wizard.py
index 2b13b43ef..8d7c2363f 100644
--- a/soong_workflow/wizard/soong_workflow_record_delete_wizard.py
+++ b/soong_workflow/wizard/soong_workflow_record_delete_wizard.py
@@ -26,6 +26,9 @@ class SoongWorkflowRecordDeleteWizard(models.TransientModel):
log_id.sudo().write({
"active": False
})
+ target_model = self.env[record.record_id.res_model]
+ target_record = target_model.sudo().browse(record.record_id.res_id)
+ target_record.write({'active': False})
else:
self.env["soong.workflow.record"].sudo().search(
[("id", "=", record.record_id.id), ('reclaim_state', "=", True)]).write({