[hotfix] Deadlock fix rename doc (#5001)

* [deadlock fix] rename_version before delete_doc

* Move delete_doc to end of rename_doc
This commit is contained in:
Faris Ansari 2018-02-13 16:01:58 +05:30 committed by Nabin Hait
parent 40d818af90
commit 3e15c148bd

View file

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