filter permissions by modify_state

This commit is contained in:
2025-11-03 16:44:35 +03:30
parent c4f015df79
commit 2f43428b1c
2 changed files with 180 additions and 7 deletions

View File

@@ -65,20 +65,22 @@ class PermissionSerializer(serializers.ModelSerializer):
permissions = permissions.select_related('page')
grouped = defaultdict(set)
modifier_states = defaultdict(set)
for permission in permissions:
if getattr(permission, 'is_active', True):
page_name = getattr(permission.page, 'name', None)
if page_name:
grouped[page_name].add(permission.name)
modifier_states[page_name].add(permission.modify_state)
structure = [
{
'page_name': page,
'page_access': sorted(list(access))
}
for page, access in grouped.items()
]
structure = []
for page, access in grouped.items():
if not any(modifier_states[page]):
structure.append({
'page_name': page,
'page_access': sorted(list(access))
})
return structure