update for user group

This commit is contained in:
Mohamed Nouffer
2022-09-05 19:10:39 +05:30
parent 51202e8166
commit f399cb2e57
7 changed files with 147 additions and 18 deletions

View File

@ -55,18 +55,31 @@ def LocationsInPerf(request):
perfecture = request.GET.get('perf')
is_rog = request.GET.get('rog')
cat = request.GET.get('cat')
grp = request.GET.get('grp')
perf_geom = JpnAdminMainPerf.objects.get(id=perfecture)
if(cat):
if is_rog:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp__gt=0)
if grp:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp__gt=0, group__contains=grp)
else:
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)
if grp:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp=0, cp__gt=0, group__contains=grp)
else:
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)
if grp:
locs = Location.objects.filter(geom__within=perf_geom.geom, cp__gt=0, group__contains=grp)
else:
locs = Location.objects.filter(geom__within=perf_geom.geom, cp__gt=0)
else:
locs = Location.objects.filter(geom__within=perf_geom.geom, cp=0)
if grp:
locs = Location.objects.filter(geom__within=perf_geom.geom, cp=0, group__contains=grp)
else:
locs = Location.objects.filter(geom__within=perf_geom.geom, cp=0)
serializer = LocationSerializer(locs, many=True)
return JsonResponse(serializer.data, safe=False)
@ -75,16 +88,26 @@ def LocationsInSubPerf(request):
subperfecture = request.GET.get('subperf')
is_rog = request.GET.get('rog')
cat = request.GET.get('cat')
grp = request.GET.get('grp')
perf_geom = JpnSubPerf.objects.get(id=subperfecture)
if(cat):
if is_rog:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp__gt=0)
if grp:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp__gt=0, group__contains=grp)
else:
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)
if grp:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp=0, group__contains=grp)
else:
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)
if grp:
locs = Location.objects.filter(geom__within=perf_geom.geom, cp__gt=0, cp=0, group__contains=grp)
else:
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)
@ -101,6 +124,7 @@ def LocationInBound(request):
lat4 = float(request.GET.get('la4'))
lon4 = float(request.GET.get('ln4'))
cat = request.GET.get('cat')
grp = request.GET.get('grp')
is_rog = request.GET.get('rog')
@ -108,14 +132,26 @@ def LocationInBound(request):
pl = geos.Polygon(((lon1, lat1), (lon2, lat2), (lon3, lat3), (lon4, lat4), (lon1, lat1)), srid=4326)
if(cat):
if is_rog:
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, cp__gt=0)
if grp:
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, cp__gt=0, group__contains=grp)
else:
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)
if grp:
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, cp=0, cp__gt=0, group__contains=grp)
else:
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, cp=0)
else:
if is_rog:
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, cp__gt=0)
if grp:
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, cp__gt=0, group__contains=grp)
else:
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, cp__gt=0)
else:
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, cp=0)
if grp:
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, cp=0, group__contains=grp)
else:
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, cp=0)
if len(locs) > 50:
return JsonResponse({"too_many_points": True}, safe=False, status=500)
else:
@ -346,16 +382,30 @@ def CustomAreaLocations(request):
cat = request.GET.get('cat')
name = request.GET.get('name')
is_rog = request.GET.get('rog')
grp = request.GET.get('grp')
if(cat != None):
if is_rog:
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, cp__gt=0)
if grp:
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, cp__gt=0, group__contains=grp)
else:
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)
if grp:
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, cp=0, group__contains=grp)
else:
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)
if grp:
locs = Location.objects.filter(event_name__isnull=False, event_name=name, cp__gt=0, group__contains=grp)
else:
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)
if grp:
locs = Location.objects.filter(event_name__isnull=False, event_name=name, cp=0, group__contains=grp)
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)