refactor: Use @cached_property (#29212)

This commit is contained in:
Ankush Menat 2025-01-17 11:39:05 +05:30 committed by GitHub
parent c8ec528aa7
commit 4e4972fe2d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -223,10 +223,12 @@ class Meta(Document):
return self.get("fields", {"fieldtype": "Phone"})
def get_dynamic_link_fields(self):
if not hasattr(self, "_dynamic_link_fields"):
self._dynamic_link_fields = self.get("fields", {"fieldtype": "Dynamic Link"})
return self._dynamic_link_fields
@cached_property
def _dynamic_link_fields(self):
return self.get("fields", {"fieldtype": "Dynamic Link"})
def get_select_fields(self):
return self.get("fields", {"fieldtype": "Select", "options": ["not in", ["[Select]", "Loading..."]]})
@ -640,10 +642,12 @@ class Meta(Document):
def get_high_permlevel_fields(self):
"""Build list of fields with high perm level and all the higher perm levels defined."""
if not hasattr(self, "high_permlevel_fields"):
self.high_permlevel_fields = [df for df in self.fields if df.permlevel > 0]
return self.high_permlevel_fields
@cached_property
def high_permlevel_fields(self):
return [df for df in self.fields if df.permlevel > 0]
def get_permitted_fieldnames(
self,
parenttype=None,