fix - filter permissions list in profile with modify state

This commit is contained in:
2025-11-17 14:19:22 +03:30
parent 7886c19c58
commit 5d45f4890c

View File

@@ -66,20 +66,29 @@ class PermissionSerializer(serializers.ModelSerializer):
grouped = defaultdict(set)
modifier_states = defaultdict(set)
# {'name': permission.name, 'modify_stat': permission.modify_state}
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)
grouped[f'modify_state_{page_name}'].add(permission.modify_state)
modifier_states[page_name].add(permission.modify_state)
structure = []
structure = [
{
for page, access in grouped.items():
if page.startswith('modify_state_'):
continue
modify_states = grouped.get(f'modify_state_{page}', set())
if False not in modify_states:
continue
structure.append({
'page_name': page,
'page_access': sorted(list(access))
} for page, access in grouped.items()
]
'page_access': sorted(list(access)),
})
return structure