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({