'If the user does not have permissions at permlevel > 0, then reset the values to original / default'

def validate_higher_perm_levels(self):

    if (self.flags.ignore_permissions or frappe.flags.in_install):
        return
    has_access_to = self.get_permlevel_access()
    high_permlevel_fields = self.meta.get_high_permlevel_fields()
    if high_permlevel_fields:
        self.reset_values_if_no_permlevel_access(has_access_to, high_permlevel_fields)
    for df in self.meta.get_table_fields():
        high_permlevel_fields = frappe.get_meta(df.options).meta.get_high_permlevel_fields()
        if high_permlevel_fields:
            for d in self.get(df.fieldname):
                d.reset_values_if_no_permlevel_access(has_access_to, high_permlevel_fields)
