src/notes/api/views/auth.py
author ymh <ymh.work@gmail.com>
Thu, 03 Aug 2017 09:44:37 +0200
changeset 133 6f3078f7fd47
parent 130 78246db1cbac
permissions -rw-r--r--
Work on correct protocol propagation
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)