From 3e15c148bd5bcb4cf451a33286eaedd25df754ad Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Tue, 13 Feb 2018 16:01:58 +0530 Subject: [PATCH] [hotfix] Deadlock fix rename doc (#5001) * [deadlock fix] rename_version before delete_doc * Move delete_doc to end of rename_doc --- frappe/model/rename_doc.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/frappe/model/rename_doc.py b/frappe/model/rename_doc.py index 359238be08..ad747e8c63 100644 --- a/frappe/model/rename_doc.py +++ b/frappe/model/rename_doc.py @@ -52,8 +52,7 @@ def rename_doc(doctype, old, new, force=False, merge=False, ignore_permissions=F update_attachments(doctype, old, new) - if merge: - frappe.delete_doc(doctype, old) + rename_versions(doctype, old, new) # call after_rename new_doc = frappe.get_doc(doctype, new) @@ -63,21 +62,23 @@ def rename_doc(doctype, old, new, force=False, merge=False, ignore_permissions=F new_doc.run_method("after_rename", old, new, merge) - rename_versions(doctype, old, new) - if not merge: rename_password(doctype, old, new) # update user_permissions frappe.db.sql("""update tabDefaultValue set defvalue=%s where parenttype='User Permission' and defkey=%s and defvalue=%s""", (new, doctype, old)) - frappe.clear_cache() if merge: new_doc.add_comment('Edit', _("merged {0} into {1}").format(frappe.bold(old), frappe.bold(new))) else: new_doc.add_comment('Edit', _("renamed from {0} to {1}").format(frappe.bold(old), frappe.bold(new))) + if merge: + frappe.delete_doc(doctype, old) + + frappe.clear_cache() + return new def update_attachments(doctype, old, new):