filter permissions by modify_state
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user