- if not self.flags.ignore_validate:
- from frappe.core.doctype.doctype.doctype import validate_fields_for_doctype
- validate_fields_for_doctype(self.dt)
- # clear cache and update the schema
- if not frappe.flags.in_create_custom_fields:
- frappe.clear_cache(doctype=self.dt)
- frappe.db.updatedb(self.dt)
- def on_trash(self):
- # check if Admin owned field
- if self.owner == "Administrator" and frappe.session.user != "Administrator":
- frappe.throw(
- _(
- "Custom Field {0} is created by the Administrator and can only be deleted through the Administrator account."
- ).format(frappe.bold(self.label))
- )
- # delete property setter entries
- delete_property_setter(self.dt, field_name=self.fieldname)