fix(meta): Remove faulty permitted fields cache

The Meta property didn't respect user parameter passed
This commit is contained in:
Gavin D'souza 2023-02-03 22:12:26 +05:30
parent b4b3dd2318
commit f9eff18fd0

View file

@ -534,15 +534,14 @@ class Meta(Document):
def get_permitted_fieldnames(self, parenttype=None, *, user=None):
"""Build list of `fieldname` with read perm level and all the higher perm levels defined."""
if not hasattr(self, "permitted_fieldnames"):
self.permitted_fieldnames = []
permlevel_access = set(self.get_permlevel_access("read", parenttype, user=user))
permitted_fieldnames = []
permlevel_access = set(self.get_permlevel_access("read", parenttype, user=user))
for df in self.get_fieldnames_with_value(with_field_meta=True, with_virtual_fields=True):
if df.permlevel in permlevel_access:
self.permitted_fieldnames.append(df.fieldname)
for df in self.get_fieldnames_with_value(with_field_meta=True, with_virtual_fields=True):
if df.permlevel in permlevel_access:
permitted_fieldnames.append(df.fieldname)
return self.permitted_fieldnames
return permitted_fieldnames
def get_permlevel_access(self, permission_type="read", parenttype=None, *, user=None):
has_access_to = []