Added django rest framework to members
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
from rest_framework import serializers
|
||||
from django.utils import timezone
|
||||
from datetime import datetime
|
||||
from members.models import Member
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
class MemberSerializer(serializers.Serializer):
|
||||
id = serializers.IntegerField(read_only=True)
|
||||
first_name = serializers.CharField(required=True, max_length=127)
|
||||
last_name = serializers.CharField(required=True, max_length=127)
|
||||
email = serializers.EmailField(min_length=None, max_length=None, required=True)
|
||||
POR = serializers.CharField(max_length=255)
|
||||
AYY = serializers.BooleanField(default=False)
|
||||
jas = serializers.BooleanField(default=False)
|
||||
created = serializers.DateTimeField(default=timezone.now)
|
||||
paid = serializers.DateTimeField(default=datetime.fromtimestamp(0))
|
||||
|
||||
def create(self, validated_data):
|
||||
'''
|
||||
Create and return a new Member instance, given the validated data.
|
||||
'''
|
||||
return Member.objects.create(**validated_data)
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
'''
|
||||
Update and return an existing Member instance given the validated data.
|
||||
'''
|
||||
instance.first_name = validated_data.get('first_name', instance.first_name)
|
||||
instance.last_name = validated_data.get('last_name', instance.last_name)
|
||||
instance.email = validated_data.get('email', instance.email)
|
||||
instance.POR = validated_data.get('POR', instance.POR)
|
||||
instance.AYY = validated_data.get('AYY', instance.AYY)
|
||||
instance.jas = validated_data.get('jas', instance.jas)
|
||||
instance.created = validated_data.get('created', instance.created)
|
||||
instance.paid = validated_data.get('paid', instance.paid)
|
||||
instance.save()
|
||||
return instance
|
||||
@@ -10,12 +10,32 @@ from django.core.mail import send_mail
|
||||
import requests
|
||||
from django.conf import settings
|
||||
import logging
|
||||
'''Rest API'''
|
||||
from members.serializers import MemberSerializer
|
||||
from rest_framework import generics
|
||||
from rest_framework import generics, status, authentication, exceptions, permissions
|
||||
from rest_framework.decorators import api_view, permission_classes
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
|
||||
# Logger function, you can use the same idea when implementing other loggers to other apps
|
||||
memberlogger = logging.getLogger(__name__)
|
||||
logging.basicConfig(format='[%(levelname)s]%(asctime)s %(message)s', level=settings.LOGGERLEVEL, filename=settings.LOGPATH)
|
||||
|
||||
|
||||
#API views
|
||||
########################################
|
||||
class MembersList(generics.ListCreateAPIView):
|
||||
queryset = Member.objects.all()
|
||||
serializer_class = MemberSerializer
|
||||
permission_classes = (permissions.IsAuthenticated, )
|
||||
|
||||
|
||||
class MemberDetails(generics.RetrieveUpdateDestroyAPIView):
|
||||
queryset = Member.objects.all()
|
||||
serializer_class = MemberSerializer
|
||||
permission_classes = (permissions.IsAuthenticated, )
|
||||
|
||||
########################################
|
||||
# function to validate reCaptcha
|
||||
def validate_recaptcha(response):
|
||||
values = {
|
||||
|
||||
Reference in New Issue
Block a user