fix: Check if attr exists before checking permlevel

This commit is contained in:
Gavin D'souza 2023-01-24 12:17:57 +05:30
parent 9efe84a644
commit acb0dc38ae

View file

@ -675,14 +675,15 @@ class Document(BaseDocument):
has_access_to = self.get_permlevel_access("read")
for df in self.meta.fields:
if df.permlevel and df.permlevel not in has_access_to:
if df.permlevel and hasattr(self, df.fieldname) and df.permlevel not in has_access_to:
delattr(self, df.fieldname)
for table_field in self.meta.get_table_fields():
for df in frappe.get_meta(table_field.options).fields or []:
if df.permlevel and df.permlevel not in has_access_to:
for child in self.get(table_field.fieldname) or []:
delattr(child, df.fieldname)
if hasattr(child, df.fieldname):
delattr(child, df.fieldname)
def validate_higher_perm_levels(self):
"""If the user does not have permissions at permlevel > 0, then reset the values to original / default"""