Add admin user information REST API
This commit is contained in:
parent
9731d4e793
commit
a65b1574db
5 changed files with 81 additions and 2 deletions
30
gnuviechadmin/help/serializers.py
Normal file
30
gnuviechadmin/help/serializers.py
Normal file
|
@ -0,0 +1,30 @@
|
|||
"""
|
||||
Serializers for the REST API
|
||||
"""
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from rest_framework import serializers
|
||||
|
||||
from help.models import HelpUser
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
|
||||
class UserSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ["url", "username", "helpuser"]
|
||||
read_only_fields = ["username", "helpuser"]
|
||||
|
||||
|
||||
class HelpUserSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = HelpUser
|
||||
fields = [
|
||||
"url",
|
||||
"user",
|
||||
"email_address",
|
||||
"postal_address",
|
||||
"offline_account_code",
|
||||
]
|
||||
read_only_fields = ["user", "offline_account_code"]
|
|
@ -1,3 +1,29 @@
|
|||
from django.shortcuts import render
|
||||
from django.contrib.auth import get_user_model
|
||||
from rest_framework import permissions, viewsets
|
||||
|
||||
# Create your views here.
|
||||
from help.models import HelpUser
|
||||
from help.serializers import HelpUserSerializer, UserSerializer
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
|
||||
class UserViewSet(viewsets.ReadOnlyModelViewSet):
|
||||
"""
|
||||
API endpoint that allows users to be viewed or edited.
|
||||
|
||||
"""
|
||||
|
||||
queryset = User.objects.all().order_by("-username")
|
||||
serializer_class = UserSerializer
|
||||
permission_classes = [permissions.IsAdminUser]
|
||||
|
||||
|
||||
class HelpUserViewSet(viewsets.ModelViewSet):
|
||||
"""
|
||||
API endpoint that allows user help profile to be viewed or edited.
|
||||
|
||||
"""
|
||||
|
||||
queryset = HelpUser.objects.all().order_by("-user__username")
|
||||
serializer_class = HelpUserSerializer
|
||||
permission_classes = [permissions.IsAdminUser]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue