Implemented rest api to member requests

This commit is contained in:
henu
2017-02-22 18:37:34 +02:00
parent 9dcfef3dac
commit bb206712e4
3 changed files with 29 additions and 4 deletions
+9 -1
View File
@@ -1,7 +1,7 @@
from rest_framework import serializers
from django.utils import timezone
from datetime import datetime
from members.models import Member
from members.models import Member, MemberRequest
from django.conf import settings
@@ -36,3 +36,11 @@ class MemberSerializer(serializers.Serializer):
instance.paid = validated_data.get('paid', instance.paid)
instance.save()
return instance
class MemberRequestSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(read_only=True)
member = MemberSerializer()
class Meta:
model = MemberRequest
fields = ('id', 'member')
+13 -1
View File
@@ -11,7 +11,7 @@ import requests
from django.conf import settings
import logging
'''Rest API'''
from members.serializers import MemberSerializer
from members.serializers import MemberSerializer, MemberRequestSerializer
from rest_framework import generics
from rest_framework import generics, status, authentication, exceptions, permissions
from rest_framework.decorators import api_view, permission_classes
@@ -39,6 +39,18 @@ class MemberDetails(generics.RetrieveUpdateDestroyAPIView):
permission_classes = (HasRights, permissions.IsAuthenticated, )
throttle_classes = (BurstRateThrottle, SustainedRateThrottle, )
class MemberRequestList(generics.ListCreateAPIView):
queryset = MemberRequest.objects.all()
serializer_class = MemberRequestSerializer
permission_classes = (HasRights, permissions.IsAuthenticated, )
throttle_classes = (BurstRateThrottle, SustainedRateThrottle, )
class MemberRequestDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = MemberRequest.objects.all()
serializer_class = MemberRequestSerializer
permission_classes = (HasRights, permissions.IsAuthenticated, )
throttle_classes = (BurstRateThrottle, SustainedRateThrottle, )
########################################
# function to validate reCaptcha
def validate_recaptcha(response):