parent
ca2065a94d
commit
ec447e0dc4
8 changed files with 106 additions and 13 deletions
|
|
@ -3,24 +3,37 @@ from .serializers import *
|
|||
from django_auth_ldap.backend import LDAPBackend
|
||||
from rest_framework.decorators import action
|
||||
from rest_framework.response import Response
|
||||
from rest_framework import mixins
|
||||
|
||||
class UserViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):
|
||||
class UserViewSet(viewsets.GenericViewSet):
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
serializer_class = UserSerializer
|
||||
|
||||
def get_queryset(self):
|
||||
return self.request.user
|
||||
|
||||
def list(self, request, format=None):
|
||||
# This is a bit stupid: we have a user, we create a queryset by
|
||||
# matching on the username. But I don't know a "nicer" way.
|
||||
# Nico, 2020-03-18
|
||||
user = get_user_model().objects.get(
|
||||
username=self.request.user.username)
|
||||
user = request.user
|
||||
serializer = self.get_serializer(user, context = {'request': request})
|
||||
return Response(serializer.data)
|
||||
|
||||
def create(self, request):
|
||||
"""
|
||||
Modify existing user data
|
||||
"""
|
||||
|
||||
user = request.user
|
||||
serializer = self.get_serializer(user,
|
||||
context = {'request': request},
|
||||
data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
serializer.save()
|
||||
return Response(serializer.data)
|
||||
|
||||
class AdminUserViewSet(viewsets.ReadOnlyModelViewSet):
|
||||
# FIXME: make this admin
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
permission_classes = [permissions.IsAdminUser]
|
||||
|
||||
def get_serializer_class(self):
|
||||
if self.action == 'import_from_ldap':
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue