diff --git a/rog/urls.py b/rog/urls.py index ad70cf7..d7a0cca 100644 --- a/rog/urls.py +++ b/rog/urls.py @@ -23,6 +23,7 @@ urlpatterns += [ path('inperf/', LocationsInPerf, name="location_perf"), path('insubperf', LocationsInSubPerf, name='location_subperf'), path('inbound', LocationInBound, name='location_bound'), + path('customarea/', CustomAreaLocations, name='custom_area_location'), path('subperfinmain/', SubPerfInMainPerf, name="sub_perf"), path('allgifuareas/', GetAllGifuAreas, name="gifu_area"), path('perfext/', ExtentForSubPerf, name="sub_perf_ext"), @@ -38,7 +39,6 @@ urlpatterns += [ path('destinations/', UserDestinations, name='user_destinations'), path('updateorder/', UpdateOrder, name='updateorder'), path('delete_destination/', DeleteDestination, name='delete_detination'), - path('customarea/', CustomAreaLocations, name='custom_area_location'), path('customareanames/', CustomAreaNames, name='custom_area_name'), path('userdetials/', userDetials, name='user_detials') ] \ No newline at end of file diff --git a/rog/views.py b/rog/views.py index 489e0d2..9e86cb5 100644 --- a/rog/views.py +++ b/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)