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

@ -23,6 +23,7 @@ urlpatterns += [
path('inperf/', LocationsInPerf, name="location_perf"), path('inperf/', LocationsInPerf, name="location_perf"),
path('insubperf', LocationsInSubPerf, name='location_subperf'), path('insubperf', LocationsInSubPerf, name='location_subperf'),
path('inbound', LocationInBound, name='location_bound'), path('inbound', LocationInBound, name='location_bound'),
path('customarea/', CustomAreaLocations, name='custom_area_location'),
path('subperfinmain/', SubPerfInMainPerf, name="sub_perf"), path('subperfinmain/', SubPerfInMainPerf, name="sub_perf"),
path('allgifuareas/', GetAllGifuAreas, name="gifu_area"), path('allgifuareas/', GetAllGifuAreas, name="gifu_area"),
path('perfext/', ExtentForSubPerf, name="sub_perf_ext"), path('perfext/', ExtentForSubPerf, name="sub_perf_ext"),
@ -38,7 +39,6 @@ urlpatterns += [
path('destinations/', UserDestinations, name='user_destinations'), path('destinations/', UserDestinations, name='user_destinations'),
path('updateorder/', UpdateOrder, name='updateorder'), path('updateorder/', UpdateOrder, name='updateorder'),
path('delete_destination/', DeleteDestination, name='delete_detination'), path('delete_destination/', DeleteDestination, name='delete_detination'),
path('customarea/', CustomAreaLocations, name='custom_area_location'),
path('customareanames/', CustomAreaNames, name='custom_area_name'), path('customareanames/', CustomAreaNames, name='custom_area_name'),
path('userdetials/', userDetials, name='user_detials') path('userdetials/', userDetials, name='user_detials')
] ]

View File

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