update for cp filter
This commit is contained in:
43
rog/views.py
43
rog/views.py
@ -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)
|
||||
|
||||
Reference in New Issue
Block a user