fix: get workflow_state_fieldname instead of setting workflow_state to none

This commit is contained in:
Shariq Ansari 2023-04-02 15:33:43 +05:30
parent 5cc6daa713
commit ee9cb43835

View file

@ -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))