Convert Location to Location2025
This commit is contained in:
@ -4,7 +4,7 @@ from django.shortcuts import render,redirect
|
||||
from leaflet.admin import LeafletGeoAdmin
|
||||
from leaflet.admin import LeafletGeoAdminMixin
|
||||
from leaflet_admin_list.admin import LeafletAdminListMixin
|
||||
from .models import RogUser, Location, Location2025, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, Useractions, CustomUser, GifuAreas, UserTracks, templocation, UserUpload, EventUser, GoalImages, CheckinImages, NewEvent2, Team, NewCategory, Entry, Member, TempUser, GifurogeRegister, GpsLog, GpsCheckin, Checkpoint, Waypoint
|
||||
from .models import RogUser, Location2025, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, Useractions, CustomUser, GifuAreas, UserTracks, templocation, UserUpload, EventUser, GoalImages, CheckinImages, NewEvent2, Team, NewCategory, Entry, Member, TempUser, GifurogeRegister, GpsLog, GpsCheckin, Checkpoint, Waypoint
|
||||
from django.contrib.auth.admin import UserAdmin
|
||||
from django.urls import path,reverse
|
||||
from django.shortcuts import render
|
||||
@ -749,9 +749,9 @@ class LocationAdmin(LeafletGeoAdmin):
|
||||
def tranfer_to_location(modeladmin, request, queryset):
|
||||
tmp_locs = templocation.objects.all();
|
||||
for l in tmp_locs :
|
||||
found = Location.objects.filter(location_id = l.location_id).exists()
|
||||
found = Location2025.objects.filter(location_id = l.location_id).exists()
|
||||
if found:
|
||||
Location.objects.filter(location_id = l.location_id).update(
|
||||
Location2025.objects.filter(location_id = l.location_id).update(
|
||||
sub_loc_id = l.sub_loc_id,
|
||||
cp = l.cp,
|
||||
location_name = l.location_name,
|
||||
@ -794,7 +794,7 @@ def tranfer_to_location(modeladmin, request, queryset):
|
||||
geom=l.geom
|
||||
)
|
||||
else:
|
||||
loc = Location(
|
||||
loc = Location2025(
|
||||
location_id=l.location_id,
|
||||
sub_loc_id = l.sub_loc_id,
|
||||
cp = l.cp,
|
||||
@ -983,7 +983,6 @@ class CustomUserAdmin(UserAdmin):
|
||||
|
||||
admin.site.register(Useractions)
|
||||
admin.site.register(RogUser, admin.ModelAdmin)
|
||||
admin.site.register(Location, LocationAdmin)
|
||||
admin.site.register(SystemSettings, admin.ModelAdmin)
|
||||
admin.site.register(JoinedEvent, admin.ModelAdmin)
|
||||
admin.site.register(Favorite, admin.ModelAdmin)
|
||||
|
||||
@ -6,7 +6,7 @@ from django.db import transaction, connections
|
||||
from django.utils import timezone
|
||||
from django.conf import settings
|
||||
from django.contrib.auth import get_user_model
|
||||
from rog.models import Member, Team, NewEvent2, Entry, Location,NewCategory #, GpsLog
|
||||
from rog.models import Member, Team, NewEvent2, Entry, Location2025,NewCategory #, GpsLog
|
||||
|
||||
CustomUser = get_user_model()
|
||||
logger = logging.getLogger(__name__)
|
||||
@ -473,7 +473,7 @@ class Command(BaseCommand):
|
||||
|
||||
# 4. Locationテーブルからcheckpoint_tableへの転送
|
||||
self.stdout.write('checkpointデータを転送中...')
|
||||
locations = Location.objects.filter(group=event.event_name)
|
||||
locations = Location2025.objects.filter(group=event.event_name)
|
||||
# Print the number of location records
|
||||
location_count = locations.count()
|
||||
self.stdout.write(f'checkpointデータ: {location_count}件を転送中...')
|
||||
@ -568,7 +568,7 @@ class Command(BaseCommand):
|
||||
try:
|
||||
# 4. Locationテーブルからcheckpoint_tableへの転送
|
||||
self.stdout.write('checkpointデータを転送中...')
|
||||
locations = Location.objects.filter(event=event)
|
||||
locations = Location2025.objects.filter(event_id=event.id)
|
||||
|
||||
for location in locations:
|
||||
cursor.execute("""
|
||||
|
||||
@ -14,7 +14,7 @@ from django.db import transaction
|
||||
from rest_framework import serializers
|
||||
from rest_framework_gis.serializers import GeoFeatureModelSerializer
|
||||
from sqlalchemy.sql.functions import mode
|
||||
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, Useractions, GifuAreas, RogUser, UserTracks, GoalImages, CheckinImages,CustomUser,NewEvent,NewEvent2, Team, NewCategory, Category, Entry, Member, TempUser,EntryMember, AppVersion, UploadedImage
|
||||
from .models import Location2025, Location_line, Location_polygon, JpnAdminMainPerf, Useractions, GifuAreas, RogUser, UserTracks, GoalImages, CheckinImages,CustomUser,NewEvent,NewEvent2, Team, NewCategory, Category, Entry, Member, TempUser,EntryMember, AppVersion, UploadedImage
|
||||
from drf_extra_fields.fields import Base64ImageField
|
||||
|
||||
#from django.contrib.auth.models import User
|
||||
@ -32,7 +32,7 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
class LocationCatSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model=Location
|
||||
model=Location2025
|
||||
fields=['category',]
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ class LocationSerializer(GeoFeatureModelSerializer):
|
||||
interaction_instructions = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model=Location
|
||||
model=Location2025
|
||||
geo_field='geom'
|
||||
fields="__all__"
|
||||
|
||||
@ -326,7 +326,7 @@ class UserDestinationSerializer(serializers.ModelSerializer):
|
||||
|
||||
class LocationEventNameSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Location
|
||||
model = Location2025
|
||||
fields = ('id', 'event_name',)
|
||||
|
||||
|
||||
|
||||
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
|
||||
|
||||
@ -4,7 +4,7 @@ from datetime import datetime, timezone
|
||||
from rest_framework.decorators import api_view
|
||||
from rest_framework.response import Response
|
||||
from rest_framework import status
|
||||
from rog.models import Location, NewEvent2, Entry, GpsLog
|
||||
from rog.models import Location2025, NewEvent2, Entry, GpsLog
|
||||
import logging
|
||||
import uuid
|
||||
import os
|
||||
@ -332,8 +332,8 @@ def add_checkin(request):
|
||||
# イベントのチェックポイント定義を確認(必要に応じて)
|
||||
event_cp = None
|
||||
try:
|
||||
event_cp = Location.objects.filter(
|
||||
event=event,
|
||||
event_cp = Location2025.objects.filter(
|
||||
event_id=event.id,
|
||||
cp_number=cp_number
|
||||
).first()
|
||||
except:
|
||||
@ -812,9 +812,9 @@ def calculate_team_score(entry):
|
||||
# チェックポイントの得点を取得
|
||||
cp_point = 0
|
||||
try:
|
||||
# Location モデルが存在する場合はそこから得点を取得
|
||||
event_cp = Location.objects.filter(
|
||||
event=entry.event,
|
||||
# Location2025 モデルが存在する場合はそこから得点を取得
|
||||
event_cp = Location2025.objects.filter(
|
||||
event_id=entry.event.id,
|
||||
cp_number=cp.cp_number
|
||||
).first()
|
||||
if event_cp:
|
||||
@ -1057,17 +1057,17 @@ def get_checkin_list(request):
|
||||
"is_service_checked": cp.is_service_checked if hasattr(cp, 'is_service_checked') else False
|
||||
}
|
||||
|
||||
# チェックポイントの得点情報を取得( Location モデルがある場合)
|
||||
# チェックポイントの得点情報を取得( Location2025 モデルがある場合)
|
||||
try:
|
||||
event_cp = Location.objects.filter(
|
||||
event=event,
|
||||
event_cp = Location2025.objects.filter(
|
||||
event_id=event.id,
|
||||
cp_number=cp.cp_number
|
||||
).first()
|
||||
|
||||
if event_cp:
|
||||
checkpoint_data["cp_point"] = event_cp.cp_point
|
||||
checkpoint_data["cp_name"] = event_cp.cp_name
|
||||
checkpoint_data["is_service_cp"] = event_cp.is_service_cp
|
||||
checkpoint_data["is_service_cp"] = event_cp.buy_point > 0 # buy_pointが0より大きい場合はサービスポイント
|
||||
except:
|
||||
# Location モデルが存在しない場合はスキップ
|
||||
pass
|
||||
@ -1327,15 +1327,15 @@ def get_yet_check_service_list(request):
|
||||
is_service_cp = False
|
||||
|
||||
try:
|
||||
event_cp = Location.objects.filter(
|
||||
event=event,
|
||||
event_cp = Location2025.objects.filter(
|
||||
event_id=event.id,
|
||||
cp_number=cp.cp_number
|
||||
).first()
|
||||
|
||||
if event_cp and event_cp.is_service_cp:
|
||||
if event_cp and event_cp.buy_point > 0: # buy_pointが0より大きい場合はサービスポイント
|
||||
is_service_cp = True
|
||||
except:
|
||||
# Location モデルがない場合は、チェックポイントのプロパティだけで判断
|
||||
# Location2025 モデルがない場合は、チェックポイントのプロパティだけで判断
|
||||
pass
|
||||
|
||||
# サービスチェックが必要なチェックポイントならリストに追加
|
||||
|
||||
@ -172,7 +172,7 @@ def get_checkpoint_list(request):
|
||||
}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
# イベントのチェックポイント情報を取得
|
||||
checkpoints = Location2025.objects.filter(event=event).order_by('cp_number')
|
||||
checkpoints = Location2025.objects.filter(event_id=event.id).order_by('cp_number')
|
||||
|
||||
checkpoint_list = []
|
||||
for cp in checkpoints:
|
||||
@ -183,7 +183,7 @@ def get_checkpoint_list(request):
|
||||
"latitude": cp.latitude,
|
||||
"longitude": cp.longitude,
|
||||
"cp_description": cp.description,
|
||||
"is_service_cp": cp.is_service_cp
|
||||
"is_service_cp": cp.buy_point > 0 # buy_pointが0より大きい場合はサービスポイント
|
||||
}
|
||||
checkpoint_list.append(checkpoint_info)
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
from rest_framework.decorators import api_view
|
||||
from rest_framework.response import Response
|
||||
from rest_framework import status
|
||||
from rog.models import NewEvent2, Entry, Location, GpsLog
|
||||
from rog.models import NewEvent2, Entry, Location2025, GpsLog
|
||||
import logging
|
||||
from django.db.models import F, Q
|
||||
from django.conf import settings
|
||||
@ -166,8 +166,8 @@ def top_users_routes(request):
|
||||
|
||||
# チェックポイントの座標情報を取得
|
||||
try:
|
||||
event_cp = Location.objects.filter(
|
||||
event=event,
|
||||
event_cp = Location2025.objects.filter(
|
||||
event_id=event.id,
|
||||
cp_number=cp.cp_number
|
||||
).first()
|
||||
|
||||
@ -469,7 +469,7 @@ def generate_route_image(request):
|
||||
# チェックポイント情報の取得(座標)
|
||||
cp_locations = {}
|
||||
try:
|
||||
event_cps = Location.objects.filter(event=event)
|
||||
event_cps = Location2025.objects.filter(event_id=event.id)
|
||||
|
||||
for cp in event_cps:
|
||||
if cp.latitude is not None and cp.longitude is not None:
|
||||
|
||||
@ -7,7 +7,7 @@ pip install openpyxl
|
||||
# 既存のインポート部分に追加
|
||||
from rest_framework.decorators import api_view
|
||||
from django.http import HttpResponse, FileResponse
|
||||
from rog.models import Location, NewEvent2, Entry, GpsLog
|
||||
from rog.models import Location2025, NewEvent2, Entry, GpsLog
|
||||
import logging
|
||||
import openpyxl
|
||||
from openpyxl.styles import Font, Alignment, PatternFill, Border, Side
|
||||
@ -96,7 +96,7 @@ def get_scoreboard(request):
|
||||
# イベントのチェックポイント定義を取得
|
||||
cp_definitions = {}
|
||||
try:
|
||||
event_cps = Location.objects.filter(event=event)
|
||||
event_cps = Location2025.objects.filter(event_id=event.id)
|
||||
|
||||
for cp in event_cps:
|
||||
cp_definitions[cp.cp_number] = {
|
||||
@ -106,7 +106,7 @@ def get_scoreboard(request):
|
||||
'longitude': cp.longitude
|
||||
}
|
||||
except:
|
||||
# Locationモデルが存在しない場合
|
||||
# Location2025モデルが存在しない場合
|
||||
pass
|
||||
|
||||
# スタート・ゴール情報を取得
|
||||
@ -457,7 +457,7 @@ def download_scoreboard(request):
|
||||
# イベントのチェックポイント定義を取得
|
||||
cp_definitions = {}
|
||||
try:
|
||||
event_cps = Location.objects.filter(event=event)
|
||||
event_cps = Location2025.objects.filter(event_id=event.id)
|
||||
|
||||
for cp in event_cps:
|
||||
cp_definitions[cp.cp_number] = {
|
||||
@ -467,7 +467,7 @@ def download_scoreboard(request):
|
||||
'longitude': cp.longitude
|
||||
}
|
||||
except:
|
||||
# Locationモデルが存在しない場合
|
||||
# Location2025モデルが存在しない場合
|
||||
pass
|
||||
|
||||
# スタート・ゴール情報を取得
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
from rest_framework.decorators import api_view
|
||||
from rest_framework.response import Response
|
||||
from rest_framework import status
|
||||
from rog.models import NewEvent2, Entry, Location, GpsLog
|
||||
from rog.models import NewEvent2, Entry, Location2025, GpsLog
|
||||
import logging
|
||||
from django.db.models import F, Q
|
||||
from django.conf import settings
|
||||
@ -362,10 +362,10 @@ def get_route(request):
|
||||
"is_service_checked": getattr(cp, 'is_service_checked', False)
|
||||
}
|
||||
|
||||
# チェックポイントの座標情報を取得(Locationモデルがある場合)
|
||||
# チェックポイントの座標情報を取得(Location2025モデルがある場合)
|
||||
try:
|
||||
event_cp = Location.objects.filter(
|
||||
event=event,
|
||||
event_cp = Location2025.objects.filter(
|
||||
event_id=event.id,
|
||||
cp_number=cp.cp_number
|
||||
).first()
|
||||
|
||||
@ -853,8 +853,8 @@ def get_all_routes(request):
|
||||
|
||||
# チェックポイントの座標情報を取得
|
||||
try:
|
||||
event_cp = Location.objects.filter(
|
||||
event=event,
|
||||
event_cp = Location2025.objects.filter(
|
||||
event_id=event.id,
|
||||
cp_number=cp.cp_number
|
||||
).first()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user