From 429d5178e00572ac74086dc529f9fd126ffd55f9 Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Fri, 24 Dec 2021 16:14:10 +0100 Subject: [PATCH] feat: option to not rebuild search on rename --- frappe/model/rename_doc.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/frappe/model/rename_doc.py b/frappe/model/rename_doc.py index 1db89493f2..651153876a 100644 --- a/frappe/model/rename_doc.py +++ b/frappe/model/rename_doc.py @@ -32,11 +32,18 @@ def update_document_title(doctype, docname, title_field=None, old_title=None, ne return docname -def rename_doc(doctype, old, new, force=False, merge=False, ignore_permissions=False, ignore_if_exists=False, show_alert=True): - """ - Renames a doc(dt, old) to doc(dt, new) and - updates all linked fields of type "Link" - """ +def rename_doc( + doctype, + old, + new, + force=False, + merge=False, + ignore_permissions=False, + ignore_if_exists=False, + show_alert=True, + rebuild_search=True +): + """Rename a doc(dt, old) to doc(dt, new) and update all linked fields of type "Link".""" if not frappe.db.exists(doctype, old): return @@ -104,7 +111,8 @@ def rename_doc(doctype, old, new, force=False, merge=False, ignore_permissions=F frappe.delete_doc(doctype, old) frappe.clear_cache() - frappe.enqueue('frappe.utils.global_search.rebuild_for_doctype', doctype=doctype) + if rebuild_search: + frappe.enqueue('frappe.utils.global_search.rebuild_for_doctype', doctype=doctype) if show_alert: frappe.msgprint(_('Document renamed from {0} to {1}').format(bold(old), bold(new)), alert=True, indicator='green') @@ -492,7 +500,7 @@ def bulk_rename(doctype, rows=None, via_console = False): if len(row) > 1 and row[0] and row[1]: merge = len(row) > 2 and (row[2] == "1" or row[2].lower() == "true") try: - if rename_doc(doctype, row[0], row[1], merge=merge): + if rename_doc(doctype, row[0], row[1], merge=merge, rebuild_search=False): msg = _("Successful: {0} to {1}").format(row[0], row[1]) frappe.db.commit() else: