This commit is contained in:
Mohamed Nouffer
2022-06-06 21:15:07 +05:30
parent b270c3ba55
commit d543289b1f
6 changed files with 67 additions and 13 deletions

View File

@ -1,7 +1,7 @@
from django.core.serializers import serialize
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, CustomUser
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas
from rest_framework import viewsets
from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, JPN_perfSerializer, JPN_sub_perSerializer, LocationCatSerializer, CreateUserSerializer, UserSerializer, LoginUserSerializer, UseractionsSerializer, UserDestinationSerializer
from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, JPN_perfSerializer, JPN_sub_perSerializer, LocationCatSerializer, CreateUserSerializer, UserSerializer, LoginUserSerializer, UseractionsSerializer, UserDestinationSerializer, GifuAreaSerializer
from knox.models import AuthToken
from rest_framework import viewsets, permissions, generics
@ -16,6 +16,7 @@ from .models import TestModel
from django.shortcuts import get_object_or_404
from django.db.models import F
from django.contrib.gis import geos
from django.db.models import Q
@ -88,9 +89,9 @@ def LocationInBound(request):
pl = geos.Polygon(((lon1, lat1), (lon2, lat2), (lon3, lat3), (lon4, lat4), (lon1, lat1)), srid=4326)
if(cat):
print("----res from cat")
locs = Location.objects.filter(geom__within=pl, category=cat)
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True)
else:
locs = Location.objects.filter(geom__within=pl)
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True)
#res = Location.objects.filter(geom__within=pl)
if len(locs) > 50:
return JsonResponse({"too_many_points": True}, safe=False, status=500)
@ -112,14 +113,21 @@ def SubInPerf(request):
def SubPerfInMainPerf(request):
prefecture = request.GET.get('perf')
perf_geom = JpnAdminMainPerf.objects.get(id=prefecture)
sub = JpnSubPerf.objects.filter(geom__within=perf_geom.geom)
area = request.GET.get('area')
perf_geom = GifuAreas.objects.get(id=area)
sub = JpnSubPerf.objects.filter(geom__contained=perf_geom.geom)
#serializer = JPN_sub_perSerializer
#sub = JpnAdminPerf.objects.filter(geom__within=perf_geom.geom)
serializer = JPN_sub_perSerializer(sub, many=True)
return JsonResponse(serializer.data, safe=False)
def GetAllGifuAreas(request):
prefecture = request.GET.get('perf')
perf_geom = JpnAdminMainPerf.objects.get(id=prefecture)
sub = GifuAreas.objects.filter(geom__contained=perf_geom.geom)
serializer = GifuAreaSerializer(sub, many=True)
return JsonResponse(serializer.data, safe=False)
def ExtentForMainPerf(request):
perf_id = request.GET.get('perf')
@ -287,7 +295,21 @@ def DeleteDestination(request):
return JsonResponse({"success":1}, safe=False)
else:
return JsonResponse({"success":0}, safe=False)
def CustomAreaLocations(request):
cat = request.GET.get('cat')
if(cat != None):
print("----res from cat")
locs = Location.objects.filter(event_name__isnull=False, category=cat)
else:
locs = Location.objects.filter(event_name__isnull=False)
serializer = LocationSerializer(locs, many=True)
return JsonResponse(serializer.data, safe=False)
class TestActionViewSet(viewsets.ModelViewSet):