Renaming and commenting in api

This commit is contained in:
Antoine Bartuccio 2016-08-19 14:40:20 +02:00
parent 8455ff3f7b
commit cc619daf45
2 changed files with 16 additions and 11 deletions

View File

@ -7,6 +7,10 @@ from django.db.models.query import QuerySet
from core.views import can_view, can_edit from core.views import can_view, can_edit
def check_if(obj, user, test): def check_if(obj, user, test):
"""
Detect if it's a single object or a queryset
aply a given test on individual object and return global permission
"""
if (isinstance(obj, QuerySet)): if (isinstance(obj, QuerySet)):
for o in obj: for o in obj:
if (test(o, user) is False): if (test(o, user) is False):
@ -15,8 +19,7 @@ def check_if(obj, user, test):
else: else:
return test(obj, user) return test(obj, user)
class RightManagedModelViewSet(viewsets.ReadOnlyModelViewSet): class ManageModelMixin:
@detail_route() @detail_route()
def id(self, request, pk=None): def id(self, request, pk=None):
""" """
@ -26,8 +29,10 @@ class RightManagedModelViewSet(viewsets.ReadOnlyModelViewSet):
serializer = self.get_serializer(self.queryset) serializer = self.get_serializer(self.queryset)
return Response(serializer.data) return Response(serializer.data)
class RightReadOnlyModelViewSet(ManageModelMixin, viewsets.ReadOnlyModelViewSet):
def dispatch(self, request, *arg, **kwargs): def dispatch(self, request, *arg, **kwargs):
res = super(RightManagedModelViewSet, res = super(RightReadOnlyModelViewSet,
self).dispatch(request, *arg, **kwargs) self).dispatch(request, *arg, **kwargs)
obj = self.queryset obj = self.queryset
user = self.request.user user = self.request.user

View File

@ -14,7 +14,7 @@ from club.models import Club
from launderette.models import Launderette, Machine, Token from launderette.models import Launderette, Machine, Token
from api.views import serializers from api.views import serializers
from api.views import RightManagedModelViewSet from api.views import RightReadOnlyModelViewSet
@api_view(['GET']) @api_view(['GET'])
def RenderMarkdown(request): def RenderMarkdown(request):
@ -25,7 +25,7 @@ def RenderMarkdown(request):
return Response(markdown(request.GET['text'])) return Response(markdown(request.GET['text']))
class CounterViewSet(RightManagedModelViewSet): class CounterViewSet(RightReadOnlyModelViewSet):
""" """
Manage Counters (api/v1/counter/) Manage Counters (api/v1/counter/)
""" """
@ -43,7 +43,7 @@ class CounterViewSet(RightManagedModelViewSet):
return Response(serializer.data) return Response(serializer.data)
class UserViewSet(RightManagedModelViewSet): class UserViewSet(RightReadOnlyModelViewSet):
""" """
Manage Users (api/v1/user/) Manage Users (api/v1/user/)
Only show active users Only show active users
@ -63,7 +63,7 @@ class UserViewSet(RightManagedModelViewSet):
return Response(serializer.data) return Response(serializer.data)
class ClubViewSet(RightManagedModelViewSet): class ClubViewSet(RightReadOnlyModelViewSet):
""" """
Manage Clubs (api/v1/club/) Manage Clubs (api/v1/club/)
""" """
@ -71,7 +71,7 @@ class ClubViewSet(RightManagedModelViewSet):
serializer_class = serializers.ClubRead serializer_class = serializers.ClubRead
queryset = Club.objects.all() queryset = Club.objects.all()
class GroupViewSet(RightManagedModelViewSet): class GroupViewSet(RightReadOnlyModelViewSet):
""" """
Manage Groups (api/v1/group/) Manage Groups (api/v1/group/)
""" """
@ -79,7 +79,7 @@ class GroupViewSet(RightManagedModelViewSet):
serializer_class = serializers.GroupRead serializer_class = serializers.GroupRead
queryset = RealGroup.objects.all() queryset = RealGroup.objects.all()
class LaunderettePlaceViewSet(RightManagedModelViewSet): class LaunderettePlaceViewSet(RightReadOnlyModelViewSet):
""" """
Manage Launderette (api/v1/launderette/place/) Manage Launderette (api/v1/launderette/place/)
""" """
@ -87,7 +87,7 @@ class LaunderettePlaceViewSet(RightManagedModelViewSet):
serializer_class = serializers.LaunderettePlaceRead serializer_class = serializers.LaunderettePlaceRead
queryset = Launderette.objects.all() queryset = Launderette.objects.all()
class LaunderetteMachineViewSet(RightManagedModelViewSet): class LaunderetteMachineViewSet(RightReadOnlyModelViewSet):
""" """
Manage Washing Machines (api/v1/launderette/machine/) Manage Washing Machines (api/v1/launderette/machine/)
""" """
@ -95,7 +95,7 @@ class LaunderetteMachineViewSet(RightManagedModelViewSet):
serializer_class = serializers.LaunderetteMachineRead serializer_class = serializers.LaunderetteMachineRead
queryset = Machine.objects.all() queryset = Machine.objects.all()
class LaunderetteTokenViewSet(RightManagedModelViewSet): class LaunderetteTokenViewSet(RightReadOnlyModelViewSet):
""" """
Manage Launderette's tokens (api/v1/launderette/token/) Manage Launderette's tokens (api/v1/launderette/token/)
""" """