mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 01:12:08 +01:00 
			
		
		
		
	RolePermissions were missing in the API
This commit is contained in:
		@@ -3,7 +3,7 @@
 | 
			
		||||
 | 
			
		||||
from rest_framework import serializers
 | 
			
		||||
 | 
			
		||||
from ..models import Permission
 | 
			
		||||
from ..models import Permission, RolePermissions
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PermissionSerializer(serializers.ModelSerializer):
 | 
			
		||||
@@ -15,3 +15,14 @@ class PermissionSerializer(serializers.ModelSerializer):
 | 
			
		||||
    class Meta:
 | 
			
		||||
        model = Permission
 | 
			
		||||
        fields = '__all__'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class RolePermissionsSerializer(serializers.ModelSerializer):
 | 
			
		||||
    """
 | 
			
		||||
    REST API Serializer for RolePermissions types.
 | 
			
		||||
    The djangorestframework plugin will analyse the model `RolePermissions` and parse all fields in the API.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    class Meta:
 | 
			
		||||
        model = RolePermissions
 | 
			
		||||
        fields = '__all__'
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,12 @@
 | 
			
		||||
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
 | 
			
		||||
# SPDX-License-Identifier: GPL-3.0-or-later
 | 
			
		||||
 | 
			
		||||
from .views import PermissionViewSet
 | 
			
		||||
from .views import PermissionViewSet, RolePermissionsViewSet
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def register_permission_urls(router, path):
 | 
			
		||||
    """
 | 
			
		||||
    Configure router for permission REST API.
 | 
			
		||||
    """
 | 
			
		||||
    router.register(path, PermissionViewSet)
 | 
			
		||||
    router.register(path + "/permission", PermissionViewSet)
 | 
			
		||||
    router.register(path + "/roles", RolePermissionsViewSet)
 | 
			
		||||
 
 | 
			
		||||
@@ -4,17 +4,29 @@
 | 
			
		||||
from django_filters.rest_framework import DjangoFilterBackend
 | 
			
		||||
from api.viewsets import ReadOnlyProtectedModelViewSet
 | 
			
		||||
 | 
			
		||||
from .serializers import PermissionSerializer
 | 
			
		||||
from ..models import Permission
 | 
			
		||||
from .serializers import PermissionSerializer, RolePermissionsSerializer
 | 
			
		||||
from ..models import Permission, RolePermissions
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PermissionViewSet(ReadOnlyProtectedModelViewSet):
 | 
			
		||||
    """
 | 
			
		||||
    REST API View set.
 | 
			
		||||
    The djangorestframework plugin will get all `Changelog` objects, serialize it to JSON with the given serializer,
 | 
			
		||||
    then render it on /api/logs/
 | 
			
		||||
    The djangorestframework plugin will get all `Permission` objects, serialize it to JSON with the given serializer,
 | 
			
		||||
    then render it on /api/permission/permission/
 | 
			
		||||
    """
 | 
			
		||||
    queryset = Permission.objects.all()
 | 
			
		||||
    serializer_class = PermissionSerializer
 | 
			
		||||
    filter_backends = [DjangoFilterBackend]
 | 
			
		||||
    filterset_fields = ['model', 'type', ]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class RolePermissionsViewSet(ReadOnlyProtectedModelViewSet):
 | 
			
		||||
    """
 | 
			
		||||
    REST API View set.
 | 
			
		||||
    The djangorestframework plugin will get all `RolePermission` objects, serialize it to JSON with the given serializer
 | 
			
		||||
    then render it on /api/permission/roles/
 | 
			
		||||
    """
 | 
			
		||||
    queryset = RolePermissions.objects.all()
 | 
			
		||||
    serializer_class = RolePermissionsSerializer
 | 
			
		||||
    filter_backends = [DjangoFilterBackend]
 | 
			
		||||
    filterset_fields = ['role', ]
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user