diff --git a/frappe/custom/doctype/customize_form/customize_form.py b/frappe/custom/doctype/customize_form/customize_form.py index 2423db45ec..a7b26f18c9 100644 --- a/frappe/custom/doctype/customize_form/customize_form.py +++ b/frappe/custom/doctype/customize_form/customize_form.py @@ -149,6 +149,7 @@ class CustomizeForm(Document): return self.flags.update_db = False + self.flags.rebuild_doctype_for_global_search = False self.set_property_setters() self.update_custom_fields() @@ -164,6 +165,10 @@ class CustomizeForm(Document): frappe.clear_cache(doctype=self.doc_type) self.fetch_to_customize() + if self.flags.rebuild_doctype_for_global_search: + frappe.enqueue('frappe.utils.global_search.rebuild_for_doctype', + now=True, doctype=self.doc_type) + def set_property_setters(self): meta = frappe.get_meta(self.doc_type) # doctype property setters @@ -224,6 +229,10 @@ class CustomizeForm(Document): frappe.msgprint(_("You can't set 'Translatable' for field {0}").format(df.label)) continue + elif (property == 'in_global_search' and + df.in_global_search != meta_df[0].get("in_global_search")): + self.flags.rebuild_doctype_for_global_search = True + self.make_property_setter(property=property, value=df.get(property), property_type=docfield_properties[property], fieldname=df.fieldname)