from django.shortcuts import render, HttpResponseRedirect, Http404 from rest_framework.parsers import JSONParser from django.http import HttpResponse, JsonResponse from django.views.decorators.csrf import csrf_exempt from .models import * from .serializers import * # Create your views here. @csrf_exempt def ProvincesView(request): if request.method == 'GET': items = Province.objects.all() serializer = ProvinceSerializer(items, many = True) return JsonResponse(serializer.data, safe = False) elif request.method == 'POST': data = JSONParser().parse(request) serializer = ProvinceSerializer(data = data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data,status = 201) return JsonResponse(serializer.errors,status = 400) @csrf_exempt def AssaultTroopsView(request): if request.method == 'GET': items = AssaultTroop.objects.all() serializer = AssaultTroopSerializer(items, many = True) return JsonResponse(serializer.data, safe = False) elif request.method == 'POST': data = JSONParser().parse(request) serializer = AssaultTroopSerializer(data = data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data,status = 201) return JsonResponse(serializer.errors,status = 400) @csrf_exempt def ProvinceView(request, nm): try: item = Province.objects.get(id = nm) except Province.DoesNotExist: raise Http404('Not found') if request.method == 'GET': serializer = ProvinceSerializer(item) return JsonResponse(serializer.data) if request.method == 'PUT': data = JSONParser().parse(request) serializer = ProvinceSerializer(item,data =data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status =400) if request.method == "DELETE": item.delete() return HttpResponse(status =204) @csrf_exempt def AssaultTroopView(request, nm): try: item = AssaultTroop.objects.get(id = nm) except AssaultTroop.DoesNotExist: raise Http404('Not found') if request.method == 'GET': serializer = AssaultTroopSerializer(item) return JsonResponse(serializer.data) if request.method == 'PUT': data = JSONParser().parse(request) serializer = AssaultTroopSerializer(item,data =data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status =400) if request.method == "DELETE": item.delete() return HttpResponse(status =204) @csrf_exempt def PlayersView(request): if request.method == 'GET': items = Player.objects.all() serializer = PlayerSerializer(items, many = True) return JsonResponse(serializer.data, safe = False) elif request.method == 'POST': data = JSONParser().parse(request) serializer = PlayerSerializer(data = data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data,status = 201) return JsonResponse(serializer.errors,status = 400) @csrf_exempt def ServersView(request): if request.method == 'GET': items = Server.objects.all() serializer = ServerSerializer(items, many = True) return JsonResponse(serializer.data, safe = False) elif request.method == 'POST': data = JSONParser().parse(request) serializer = ServerSerializer(data = data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data,status = 201) return JsonResponse(serializer.errors,status = 400) @csrf_exempt def PlayerView(request, nm): try: item = Player.objects.get(id = nm) except Player.DoesNotExist: raise Http404('Not found') if request.method == 'GET': serializer = PlayerSerializer(item) return JsonResponse(serializer.data) if request.method == 'PUT': data = JSONParser().parse(request) serializer = PlayerSerializer(item,data =data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status =400) if request.method == "DELETE": item.delete() return HttpResponse(status =204) @csrf_exempt def ServerView(request, nm): try: item = Server.objects.get(id = nm) except Server.DoesNotExist: raise Http404('Not found') if request.method == 'GET': serializer = ServerSerializer(item) return JsonResponse(serializer.data) if request.method == 'PUT': data = JSONParser().parse(request) serializer = ServerSerializer(item,data =data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status =400) if request.method == "DELETE": item.delete() return HttpResponse(status =204)