Implemented rest api to member requests
This commit is contained in:
@@ -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
@@ -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):
|
||||
|
||||
+7
-2
@@ -45,6 +45,8 @@ from members.views import tommy_blooper
|
||||
# members API
|
||||
from members.views import MembersList as memsListAPI
|
||||
from members.views import MemberDetails as memDetailAPI
|
||||
from members.views import MemberRequestList as reqListAPI
|
||||
from members.views import MemberRequestDetail as reqDetailAPI
|
||||
#infoscreen
|
||||
from infoscreen.views import index as infoindex
|
||||
from infoscreen.views import default as infodefault
|
||||
@@ -100,8 +102,11 @@ urlpatterns = [
|
||||
url(r'^members/api/request/(?P<idx>\d+)$', handle_mem_request),
|
||||
url(r'^members/api/getCSV$', mem_csv_export),
|
||||
url(r'^members/tommy$', tommy_blooper),
|
||||
url(r'^members/rest/api/members$', memsListAPI.as_view()),
|
||||
url(r'^members/rest/api/members/(?P<pk>\d+)$', memDetailAPI.as_view()),
|
||||
url(r'^members/rest/api/members/$', memsListAPI.as_view()),
|
||||
url(r'^members/rest/api/members/(?P<pk>\d+)/$', memDetailAPI.as_view()),
|
||||
url(r'^members/rest/api/requests/$', reqListAPI.as_view()),
|
||||
url(r'^members/rest/api/requests/(?P<pk>\d+)/$', reqDetailAPI.as_view()),
|
||||
|
||||
#infoscreen
|
||||
url(r'^infoscreen/$', infodefault),
|
||||
url(r'^infoscreen/(?P<idx>\d+)$', infoindex),
|
||||
|
||||
Reference in New Issue
Block a user