Fix Location2025 checkin_radius issue

This commit is contained in:
2025-08-31 14:31:31 +09:00
parent 03de478b80
commit aa8b39aa99
2 changed files with 23 additions and 0 deletions

View File

@ -1114,6 +1114,13 @@ class Location2025Admin(LeafletGeoAdmin):
def evaluation_value_display(self, obj): def evaluation_value_display(self, obj):
"""evaluation_valueのカスタム表示""" """evaluation_valueのカスタム表示"""
# CP番号による特別な表示
if obj.cp_number == -2:
return 'スタート'
elif obj.cp_number == -1:
return 'ゴール'
# evaluation_valueによる通常の表示
evaluation_map = { evaluation_map = {
'0': '通常CP', '0': '通常CP',
'1': '買物CP', '1': '買物CP',

View File

@ -1236,6 +1236,21 @@ class Location2025(models.Model):
hidden_str = row.get('hidden_location', '').lower() hidden_str = row.get('hidden_location', '').lower()
hidden_location = hidden_str in ['true', '1', 'yes', 'on'] hidden_location = hidden_str in ['true', '1', 'yes', 'on']
# checkin_radiusの処理
checkin_radius = None
if row.get('checkin_radius'):
radius_str = row.get('checkin_radius', '').strip()
if radius_str and radius_str.lower() not in ['false', '', 'null']:
try:
checkin_radius = float(radius_str)
except ValueError:
# デフォルト値を設定
checkin_radius = -1.0 # 要タップ
else:
checkin_radius = -1.0 # CSVでFALSEや空の場合は要タップ
else:
checkin_radius = -1.0 # デフォルトは要タップ
defaults = { defaults = {
# 基本フィールド # 基本フィールド
'cp_name': row.get('loc_name', row.get('cp_name', f'CP{cp_number}')), 'cp_name': row.get('loc_name', row.get('cp_name', f'CP{cp_number}')),
@ -1247,6 +1262,7 @@ class Location2025(models.Model):
'address': row.get('address', ''), 'address': row.get('address', ''),
'phone': row.get('phone', ''), 'phone': row.get('phone', ''),
'description': row.get('description', row.get('remark', '')), 'description': row.get('description', row.get('remark', '')),
'checkin_radius': checkin_radius, # チェックイン範囲を追加
# 新しいフィールド # 新しいフィールド
'sub_loc_id': row.get('sub_loc_id', ''), 'sub_loc_id': row.get('sub_loc_id', ''),