Convert Location to Location2025

This commit is contained in:
2025-08-30 02:20:25 +09:00
parent 48b09b08da
commit 9af1e03523
10 changed files with 92 additions and 93 deletions

View File

@ -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
# サービスチェックが必要なチェックポイントならリストに追加

View File

@ -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)

View File

@ -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:

View File

@ -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
# スタート・ゴール情報を取得

View File

@ -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()