src/notes/api/views/auth.py
author ymh <ymh.work@gmail.com>
Fri, 30 Nov 2018 10:53:15 +0100
changeset 183 f8f3af9e5c83
parent 130 78246db1cbac
permissions -rw-r--r--
Change the settings to avoid using Session authentication for rest framework as it raise exceptions in case client and backend are on the same domain On the filter, adapt to take into account new version of django_filters
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
99
18fa4a1fa9e9 Add group endpoint.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     1
import logging
18fa4a1fa9e9 Add group endpoint.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     2
18fa4a1fa9e9 Add group endpoint.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     3
from django.contrib.auth.models import Group
18fa4a1fa9e9 Add group endpoint.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     4
from rest_framework import viewsets
18fa4a1fa9e9 Add group endpoint.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     5
117
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
     6
from ..serializers.auth import (GroupSerializer, WriteGroupSerializer, DetailGroupSerializer)
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
     7
from ..permissions.auth import (GroupPermission, )
99
18fa4a1fa9e9 Add group endpoint.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     8
18fa4a1fa9e9 Add group endpoint.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     9
logger = logging.getLogger(__name__)
18fa4a1fa9e9 Add group endpoint.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    10
18fa4a1fa9e9 Add group endpoint.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    11
18fa4a1fa9e9 Add group endpoint.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    12
class GroupViewSet(viewsets.ModelViewSet):
18fa4a1fa9e9 Add group endpoint.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    13
    serializer_class = GroupSerializer
117
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
    14
    permission_classes = (GroupPermission, )
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
    15
    lookup_field = 'name'
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
    16
99
18fa4a1fa9e9 Add group endpoint.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    17
    def get_queryset(self):
130
78246db1cbac make synchronization recurent, improve synchronization status display
ymh <ymh.work@gmail.com>
parents: 117
diff changeset
    18
        return Group.objects.all().order_by('name')
117
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
    19
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
    20
    serializers = {
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
    21
        'create': WriteGroupSerializer,
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
    22
        'update': WriteGroupSerializer,
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
    23
        'retrieve': DetailGroupSerializer,
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
    24
    }
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
    25
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
    26
    def get_serializer_class(self):
9864fe2067cd Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents: 101
diff changeset
    27
        return self.serializers.get(self.action, GroupSerializer)