| author | ymh <ymh.work@gmail.com> |
| Tue, 18 Jul 2017 17:08:27 +0200 | |
| changeset 117 | 9864fe2067cd |
| parent 101 | e165aa89ac82 |
| child 130 | 78246db1cbac |
| permissions | -rw-r--r-- |
| 99 | 1 |
import logging |
2 |
||
3 |
from django.contrib.auth.models import Group |
|
4 |
from rest_framework import viewsets |
|
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 | 8 |
|
9 |
logger = logging.getLogger(__name__) |
|
10 |
||
11 |
||
12 |
class GroupViewSet(viewsets.ModelViewSet): |
|
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 | 17 |
def get_queryset(self): |
18 |
return Group.objects.all() |
|
|
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) |