From fa49525406d1d2844993f3739afeced76cad591f Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Mon, 21 Nov 2016 16:35:11 +0530 Subject: [PATCH] [Fix] Rename autoname field on rename of docname --- frappe/model/rename_doc.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/frappe/model/rename_doc.py b/frappe/model/rename_doc.py index 49d792f0fb..5b985ac4db 100644 --- a/frappe/model/rename_doc.py +++ b/frappe/model/rename_doc.py @@ -85,8 +85,17 @@ def rename_parent_and_child(doctype, old, new, meta): # rename the doc frappe.db.sql("update `tab%s` set name=%s where name=%s" % (frappe.db.escape(doctype), '%s', '%s'), (new, old)) + update_autoname_field(doctype, new, meta) update_child_docs(old, new, meta) +def update_autoname_field(doctype, new, meta): + # update the value of the autoname field on rename of the docname + if meta.get('autoname'): + field = meta.get('autoname').split(':') + if field and field[0] == "field": + frappe.db.sql("update `tab%s` set %s=%s where name=%s" % (frappe.db.escape(doctype), field[1], '%s', '%s'), + (new, new)) + def validate_rename(doctype, new, meta, merge, force, ignore_permissions): # using for update so that it gets locked and someone else cannot edit it while this rename is going on! exists = frappe.db.sql("select name from `tab{doctype}` where name=%s for update".format(doctype=frappe.db.escape(doctype)), new)