Convert Location to Location2025
This commit is contained in:
96
rog/views.py
96
rog/views.py
@ -35,7 +35,7 @@ from .permissions import IsTeamOwner,IsTeamOwnerOrMember
|
||||
|
||||
from curses.ascii import NUL
|
||||
from django.core.serializers import serialize
|
||||
from .models import GoalImages, Location, Location_line, Location_polygon, JpnAdminMainPerf, Useractions, GifuAreas, RogUser, CustomUser, UserTracks, GoalImages, CheckinImages, NewEvent,NewEvent2, Team, Category, NewCategory,Entry, Member, TempUser, EntryMember, GpsCheckin
|
||||
from .models import GoalImages, Location2025, Location_line, Location_polygon, JpnAdminMainPerf, Useractions, GifuAreas, RogUser, CustomUser, UserTracks, GoalImages, CheckinImages, NewEvent,NewEvent2, Team, Category, NewCategory,Entry, Member, TempUser, EntryMember, GpsCheckin
|
||||
from rest_framework import viewsets
|
||||
from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, LocationCatSerializer, UserSerializer, LoginUserSerializer, UseractionsSerializer, UserDestinationSerializer, GifuAreaSerializer, LocationEventNameSerializer, RogUserSerializer, UserTracksSerializer, ChangePasswordSerializer, GolaImageSerializer, CheckinImageSerializer, RegistrationSerializer, MemberWithUserSerializer,TempUserRegistrationSerializer, PasswordResetRequestSerializer, PasswordResetConfirmSerializer
|
||||
from knox.models import AuthToken
|
||||
@ -237,12 +237,12 @@ class NewEvent2Admin(admin.ModelAdmin):
|
||||
|
||||
|
||||
class LocationViewSet(viewsets.ModelViewSet):
|
||||
queryset=Location.objects.all()
|
||||
queryset=Location2025.objects.all()
|
||||
serializer_class=LocationSerializer
|
||||
filter_fields=["prefecture", "location_name"]
|
||||
|
||||
def get_queryset(self):
|
||||
queryset = Location.objects.all()
|
||||
queryset = Location2025.objects.all()
|
||||
|
||||
# リクエストパラメータの確認
|
||||
group_filter = self.request.query_params.get('group__contains')
|
||||
@ -390,25 +390,25 @@ def LocationsInPerf(request):
|
||||
if(cat):
|
||||
if is_rog:
|
||||
if grp:
|
||||
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat, group__contains=grp)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat)
|
||||
else:
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, group__contains=grp, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(geom__within=perf_geom.geom, category=cat, group__contains=grp, location_name__contains='観光')
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(geom__within=perf_geom.geom, category=cat, location_name__contains='観光')
|
||||
else:
|
||||
if is_rog:
|
||||
if grp:
|
||||
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, group__contains=grp)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom)
|
||||
else:
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, group__contains=grp, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(geom__within=perf_geom.geom, group__contains=grp, location_name__contains='観光')
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(geom__within=perf_geom.geom, location_name__contains='観光')
|
||||
|
||||
serializer = LocationSerializer(locs, many=True)
|
||||
return JsonResponse(serializer.data, safe=False)
|
||||
@ -423,22 +423,22 @@ def LocationsInSubPerf(request):
|
||||
if(cat):
|
||||
if is_rog:
|
||||
if grp:
|
||||
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat, group__contains=grp)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat)
|
||||
else:
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, group__contains=grp, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(geom__within=perf_geom.geom, category=cat, group__contains=grp, location_name__contains='観光')
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(geom__within=perf_geom.geom, category=cat, location_name__contains='観光')
|
||||
else:
|
||||
if is_rog:
|
||||
if grp:
|
||||
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, group__contains=grp)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(geom__within=perf_geom.geom, location_name__contains='観光')
|
||||
serializer = LocationSerializer(locs, many=True)
|
||||
return JsonResponse(serializer.data, safe=False)
|
||||
|
||||
@ -490,7 +490,7 @@ def LocationInBound(request):
|
||||
# 10km四方の領域を指定
|
||||
distance_from_point = 40000 # 中心から10km(半径)
|
||||
|
||||
base_query = Location.objects.filter(
|
||||
base_query = Location2025.objects.filter(
|
||||
geom__distance_lte=(current_point, D(m=distance_from_point))
|
||||
).annotate(distance=Distance('geom', current_point)).order_by('distance')
|
||||
|
||||
@ -536,13 +536,13 @@ def LocationInBound2(request):
|
||||
if lat is not None and lon is not None:
|
||||
if grp:
|
||||
# grpがある場合、最初に絞り込む
|
||||
base_query = Location.objects.filter(group__contains=grp)
|
||||
base_query = Location2025.objects.filter(group__contains=grp)
|
||||
else:
|
||||
current_point = Point(lon, lat, srid=4326)
|
||||
# 10km四方の領域を指定
|
||||
distance_from_point = 40000 # 中心から10km(半径)
|
||||
|
||||
base_query = Location.objects.filter(
|
||||
base_query = Location2025.objects.filter(
|
||||
geom__distance_lte=(current_point, D(m=distance_from_point))
|
||||
).annotate(distance=Distance('geom', current_point)).order_by('distance')
|
||||
|
||||
@ -592,7 +592,7 @@ def LocationInBound_orig(request):
|
||||
pl = geos.Polygon(((lon1, lat1), (lon2, lat2), (lon3, lat3), (lon4, lat4), (lon1, lat1)), srid=4326)
|
||||
logger.debug(f"Created polygon: {pl}")
|
||||
|
||||
base_query = Location.objects.filter(geom__within=pl, event_name__isnull=True)
|
||||
base_query = Location2025.objects.filter(geom__within=pl, event_name__isnull=True)
|
||||
|
||||
if cat:
|
||||
base_query = base_query.filter(category=cat)
|
||||
@ -617,25 +617,25 @@ def LocationInBound_orig(request):
|
||||
if(cat):
|
||||
if is_rog:
|
||||
if grp:
|
||||
locs = Location.objects.filter(~Q(cp=0), geom__within=pl, category=cat, event_name__isnull=True, group__contains=grp)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), geom__within=pl, category=cat, event_name__isnull=True, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(~Q(cp=0), geom__within=pl, category=cat, event_name__isnull=True)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), geom__within=pl, category=cat, event_name__isnull=True)
|
||||
else:
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, group__contains=grp, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, group__contains=grp, location_name__contains='観光')
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, location_name__contains='観光')
|
||||
else:
|
||||
if is_rog:
|
||||
if grp:
|
||||
locs = Location.objects.filter(~Q(cp=0), geom__within=pl, event_name__isnull=True, group__contains=grp)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), geom__within=pl, event_name__isnull=True, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(~Q(cp=0), geom__within=pl, event_name__isnull=True)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), geom__within=pl, event_name__isnull=True)
|
||||
else:
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, group__contains=grp, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(geom__within=pl, event_name__isnull=True, group__contains=grp, location_name__contains='観光')
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(geom__within=pl, event_name__isnull=True, location_name__contains='観光')
|
||||
'''
|
||||
|
||||
if len(locs) > 200:
|
||||
@ -695,7 +695,7 @@ def ExtentForLocations(request):
|
||||
return JsonResponse({"error": "No event code associated with the user"}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
try:
|
||||
locs = Location.objects.filter(group__contains=ec).aggregate(Extent('geom'), Union('geom'))
|
||||
locs = Location2025.objects.filter(group__contains=ec).aggregate(Extent('geom'), Union('geom'))
|
||||
|
||||
if not locs['geom__extent']:
|
||||
logger.info(f"No locations found for event_code: {ec}")
|
||||
@ -708,7 +708,7 @@ def ExtentForLocations(request):
|
||||
logger.error(f"Error in ExtentForLocations: {str(e)}", exc_info=True)
|
||||
return JsonResponse({"error": "An error occurred while processing your request"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
|
||||
|
||||
#locs = Location.objects.filter(group__contains=ec).aggregate(Extent('geom'), Union('geom'))
|
||||
#locs = Location2025.objects.filter(group__contains=ec).aggregate(Extent('geom'), Union('geom'))
|
||||
#return JsonResponse(locs['geom__extent'], safe=False)
|
||||
|
||||
|
||||
@ -747,15 +747,15 @@ def CatView(request):
|
||||
|
||||
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)
|
||||
#locs = Location.objects.filter(geom__within=pl)
|
||||
c = Location.objects.filter(geom__within=pl).values('category').distinct()
|
||||
#locs = Location2025.objects.filter(geom__within=pl)
|
||||
c = Location2025.objects.filter(geom__within=pl).values('category').distinct()
|
||||
serializer = LocationCatSerializer(c, many=True)
|
||||
return JsonResponse(serializer.data, safe=False)
|
||||
else:
|
||||
return null
|
||||
|
||||
|
||||
c = Location.objects.filter().values('category').distinct()
|
||||
c = Location2025.objects.filter().values('category').distinct()
|
||||
serializer = LocationCatSerializer(c, many=True)
|
||||
return JsonResponse(serializer.data, safe=False)
|
||||
|
||||
@ -764,7 +764,7 @@ def CatByCity(request):
|
||||
city = request.GET.get('city')
|
||||
if(city != None):
|
||||
cilt_polygon = JpnSubPerf.objects.filter(adm1_ja=city)
|
||||
cats = Location.objects.filter(geom__within=cilt_polygon[0].geom).values('category').distinct()
|
||||
cats = Location2025.objects.filter(geom__within=cilt_polygon[0].geom).values('category').distinct()
|
||||
serializer = LocationCatSerializer(cats, many=True)
|
||||
return JsonResponse(serializer.data, safe=False)
|
||||
else:
|
||||
@ -1042,7 +1042,7 @@ def DeleteAccount(request):
|
||||
def UserActionViewset(request):
|
||||
user_id = request.GET.get('user_id')
|
||||
location_id = request.GET.get('location_id')
|
||||
location = Location.objects.get(location_id=location_id)
|
||||
location = Location2025.objects.get(location_id=location_id)
|
||||
user = CustomUser.objects.get(id=user_id)
|
||||
action = Useractions.objects.filter(location=location, user=user)
|
||||
serializer = UseractionsSerializer(action, many=True)
|
||||
@ -1055,7 +1055,7 @@ def UserMakeActionViewset(request):
|
||||
wanttogo = True if request.GET.get('wanttogo') == "true" else False
|
||||
like = True if request.GET.get('like') == "true" else False
|
||||
checkin = True if request.GET.get('checkin') == "true" else False
|
||||
location = Location.objects.get(location_id=location_id)
|
||||
location = Location2025.objects.get(location_id=location_id)
|
||||
user = CustomUser.objects.get(id=user_id)
|
||||
#action = Useractions.objects.filter(location__id=location_id, user__id=user_id)
|
||||
rec = Useractions.objects.filter(user=user, location=location)
|
||||
@ -1145,32 +1145,32 @@ def CustomAreaLocations(request):
|
||||
if(cat != None):
|
||||
if is_rog:
|
||||
if grp:
|
||||
locs = Location.objects.filter(~Q(cp=0), event_name__isnull=False, category=cat, event_name=name, group__contains=grp)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), event_name__isnull=False, category=cat, event_name=name, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(~Q(cp=0), event_name__isnull=False, category=cat, event_name=name)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), event_name__isnull=False, category=cat, event_name=name)
|
||||
else:
|
||||
if grp:
|
||||
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, group__contains=grp, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(event_name__isnull=False, category=cat, event_name=name, group__contains=grp, location_name__contains='観光')
|
||||
else:
|
||||
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(event_name__isnull=False, category=cat, event_name=name, location_name__contains='観光')
|
||||
else:
|
||||
if is_rog:
|
||||
if grp:
|
||||
locs = Location.objects.filter(~Q(cp=0), event_name__isnull=False, event_name=name, group__contains=grp)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), event_name__isnull=False, event_name=name, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(~Q(cp=0), event_name__isnull=False, event_name=name)
|
||||
locs = Location2025.objects.filter(~Q(cp=0), event_name__isnull=False, event_name=name)
|
||||
else:
|
||||
if grp:
|
||||
locs = Location.objects.filter(event_name__isnull=False, event_name=name, group__contains=grp, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(event_name__isnull=False, event_name=name, group__contains=grp, location_name__contains='観光')
|
||||
else:
|
||||
locs = Location.objects.filter(event_name__isnull=False, event_name=name, location_name__contains='観光')
|
||||
locs = Location2025.objects.filter(event_name__isnull=False, event_name=name, location_name__contains='観光')
|
||||
|
||||
serializer = LocationSerializer(locs, many=True)
|
||||
return JsonResponse(serializer.data, safe=False)
|
||||
|
||||
|
||||
def CustomAreaNames(request):
|
||||
locs = Location.objects.filter(event_name__isnull=False).values('event_name').distinct()
|
||||
locs = Location2025.objects.filter(event_name__isnull=False).values('event_name').distinct()
|
||||
|
||||
serializer = LocationEventNameSerializer(locs, many=True)
|
||||
return JsonResponse(serializer.data, safe=False)
|
||||
@ -2720,7 +2720,7 @@ def get_checkins(request, *args, **kwargs):
|
||||
|
||||
data = []
|
||||
for c in checkins:
|
||||
location = Location.objects.filter(cp=c.cp_number,group=event_code).first()
|
||||
location = Location2025.objects.filter(cp=c.cp_number,group=event_code).first()
|
||||
|
||||
# チェックイン画像を取得
|
||||
checkin_image = None
|
||||
|
||||
Reference in New Issue
Block a user