From c1390e53e065db8e5dcebb6768ed7ba649c3373f Mon Sep 17 00:00:00 2001
From: zhou <123@>
Date: Tue, 15 Jul 2025 11:14:18 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../models/soong_workflow_record.py | 19 +++----------------
.../views/soong_workflow_record.xml | 2 +-
.../soong_workflow_record_delete_wizard.py | 3 +++
3 files changed, 7 insertions(+), 17 deletions(-)
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({