update for cp filter

This commit is contained in:
Mohamed Nouffer
2022-08-23 19:08:56 +05:30
parent e690e0b420
commit daefff4a5b
2 changed files with 33 additions and 12 deletions

View File

@ -53,26 +53,40 @@ class UserTracksViewSet(viewsets.ModelViewSet):
def LocationsInPerf(request):
perfecture = request.GET.get('perf')
is_rog = request.GET.get('rog')
cat = request.GET.get('cat')
perf_geom = JpnAdminMainPerf.objects.get(id=perfecture)
if(cat):
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat)
if is_rog:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp__gt=0)
else:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp=0)
else:
locs = Location.objects.filter(geom__within=perf_geom.geom)
if is_rog:
locs = Location.objects.filter(geom__within=perf_geom.geom, cp__gt=0)
else:
locs = Location.objects.filter(geom__within=perf_geom.geom, cp=0)
serializer = LocationSerializer(locs, many=True)
return JsonResponse(serializer.data, safe=False)
def LocationsInSubPerf(request):
subperfecture = request.GET.get('subperf')
is_rog = request.GET.get('rog')
cat = request.GET.get('cat')
perf_geom = JpnSubPerf.objects.get(id=subperfecture)
if(cat):
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat)
if is_rog:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp__gt=0)
else:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp=0)
else:
locs = Location.objects.filter(geom__within=perf_geom.geom)
if is_rog:
locs = Location.objects.filter(geom__within=perf_geom.geom, cp__gt=0)
else:
locs = Location.objects.filter(geom__within=perf_geom.geom, cp=0)
serializer = LocationSerializer(locs, many=True)
return JsonResponse(serializer.data, safe=False)
@ -88,16 +102,17 @@ def LocationInBound(request):
lon4 = float(request.GET.get('ln4'))
cat = request.GET.get('cat')
is_rog = request.GET.get('rog')
if(lat1 != None and lon1 != None and lat2 != None and lon2 != None and lat3 != None and lon3 != None and lat4 != None and lon4 != None):
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, event_name__isnull=True)
if is_rog:
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, cp__gt=0)
else:
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, cp=0)
else:
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)
else:
@ -327,11 +342,17 @@ def CustomAreaLocations(request):
cat = request.GET.get('cat')
name = request.GET.get('name')
is_rog = request.GET.get('rog')
if(cat != None):
print("----res from cat")
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name)
if is_rog:
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, cp__gt=0)
else:
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, cp=0)
else:
locs = Location.objects.filter(event_name__isnull=False, event_name=name)
if is_rog:
locs = Location.objects.filter(event_name__isnull=False, event_name=name, cp__gt=0)
else:
locs = Location.objects.filter(event_name__isnull=False, event_name=name, cp=0)
serializer = LocationSerializer(locs, many=True)
return JsonResponse(serializer.data, safe=False)