mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-31 15:50:03 +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