From ee9cb43835ee4f4cd14a12784e404a682500e6c7 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Sun, 2 Apr 2023 15:33:43 +0530 Subject: [PATCH] fix: get workflow_state_fieldname instead of setting workflow_state to none --- frappe/core/doctype/deleted_document/deleted_document.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/frappe/core/doctype/deleted_document/deleted_document.py b/frappe/core/doctype/deleted_document/deleted_document.py index 3d4afa40ab..9aa8e41708 100644 --- a/frappe/core/doctype/deleted_document/deleted_document.py +++ b/frappe/core/doctype/deleted_document/deleted_document.py @@ -7,6 +7,7 @@ import frappe from frappe import _ from frappe.desk.doctype.bulk_update.bulk_update import show_progress from frappe.model.document import Document +from frappe.model.workflow import get_workflow_name class DeletedDocument(Document): @@ -27,8 +28,11 @@ def restore(name, alert=True): except frappe.DocstatusTransitionError: frappe.msgprint(_("Cancelled Document restored as Draft")) doc.docstatus = 0 - if doc.workflow_state: - doc.workflow_state = None + active_workflow = get_workflow_name(doc.doctype) + if active_workflow: + workflow_state_fieldname = frappe.get_value("Workflow", active_workflow, "workflow_state_field") + if doc.get(workflow_state_fieldname): + doc.set(workflow_state_fieldname, None) doc.insert() doc.add_comment("Edit", _("restored {0} as {1}").format(deleted.deleted_name, doc.name))