from django.http import Http404
from rest_framework import status
from rest_framework.decorators import api_view
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.parsers import JSONParser
from rest_framework.renderers import JSONRenderer
from dietmenu.models import FlowerDiet01
from dietmenu.models import FlowerMenu01
from dietmenu.serializers import FlowerDietSerializer
from dietmenu.serializers import FlowerMenuSerializer
# Create your views here.
@api_view(['GET','POST'])
def flowerdiet_list(request):
if request.method == 'GET':
return __get_flower_diet_list01(request)
elif request.method == 'POST':
return __post_flower_diet_list01(request)
else:
pass
@api_view(['GET','PUT','DELETE'])
def flowerdiet_detail(request, pk):
if request.method == 'GET':
return __get_flower_diet_detail01(request, pk)
elif request.method == 'PUT':
return __put_flower_diet_detail01(request, pk)
elif request.method == 'DELETE':
return __del_flower_diet_detail01(request, pk)
else:
pass
@api_view(['GET'])
def flowerdiet_side(request):
if request.method == 'GET':
return __get_flower_diet_side01(request)
else:
pass
#####################################################################################
def __get_flower_diet_list01(request):
params = request.query_params.copy()
try:
fdl = FlowerDiet01.objects.filter(year=int(params['year']), month=int(params['month']))
except FlowerDiet01.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
serializer = FlowerDietSerializer(fdl, many=True)
return Response(data=serializer.data)
def __post_flower_diet_list01(request):
serializer = FlowerDietSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(data='got it', status=status.HTTP_201_CREATED)
return Response(data='failed', status=status.HTTP_400_BAD_REQUEST)
def __get_flower_diet_detail01(request, pk):
try:
fdl_detail = FlowerDiet01.objects.get(id=pk)
except FlowerDiet01.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
serializer = FlowerDietSerializer(fdl_detail)
return Response(serializer.data)
def __put_flower_diet_detail01(request, pk):
fdl = FlowerDiet01.objects.get(id=int(pk))
serializer = FlowerDietSerializer(fdl, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def __del_flower_diet_detail01(request, pk):
fdl = FlowerDiet01.objects.get(id=int(pk))
fdl.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
#####################################################################################
class FlowerSubList(APIView):
def get(self, request, format=None):
fdl = FlowerMenu01.objects.all()
serializer = FlowerMenuSerializer(fdl, many=True)
return Response(serializer.data)
def post(self, request, format=None):
serializer = FlowerMenuSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(data='got it', status=status.HTTP_201_CREATED)
return Response(data='failed', status=status.HTTP_400_BAD_REQUEST)
class FlowerSubDetail(APIView):
def get_object(self, pk):
try:
return FlowerMenu01.objects.get(dietkey=int(pk))
except FlowerMenu01.DoesNotExist:
raise Http404
def get(self, request, pk, format=None):
fdl = self.get_object(pk)
serializer = FlowerMenuSerializer(fdl)
return Response(serializer.data)
def put(self, request, pk, format=None):
fdl = self.get_object(pk)
serializer = FlowerMenuSerializer(fdl, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def delete(self, request, pk, format=None):
fdl = self.get_object(pk)
fdl.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
#####################################################################################
def __get_flower_diet_side01(request):
data = {
1 : 'Flower',
2 : 'Wing',
3 : 'Love',
4 : 'Sky',
5 : 'Wind',
}
return Response(data=data)