checkin status tool
This commit is contained in:
@ -125,19 +125,38 @@ class TeamRegistrationProcessor:
|
||||
self.log(f"DRY RUN: Event with code '{self.event_code}' would be searched")
|
||||
# ダミーイベントオブジェクトを作成
|
||||
class DummyEvent:
|
||||
def __init__(self):
|
||||
self.event_name = f"Dummy Event for {self.event_code}"
|
||||
self.event_code = self.event_code
|
||||
self.event = DummyEvent()
|
||||
def __init__(self, event_code):
|
||||
self.event_name = f"Dummy Event for {event_code}"
|
||||
self.event_code = event_code
|
||||
self.event = DummyEvent(self.event_code)
|
||||
return
|
||||
else:
|
||||
raise ValueError(f"Event with code '{self.event_code}' not found")
|
||||
|
||||
# カテゴリ情報をプリロード
|
||||
for category in NewCategory.objects.all():
|
||||
hours = int(category.duration.total_seconds() // 3600)
|
||||
key = (category.category_name, hours)
|
||||
self.categories[key] = category
|
||||
if not self.dry_run:
|
||||
for category in NewCategory.objects.all():
|
||||
hours = int(category.duration.total_seconds() // 3600)
|
||||
key = (category.category_name, hours)
|
||||
self.categories[key] = category
|
||||
else:
|
||||
# DRY RUNの場合はダミーカテゴリを作成
|
||||
dummy_categories = [
|
||||
('一般', 3), ('一般', 5), ('ファミリー', 3), ('ファミリー', 5),
|
||||
('男性ソロ', 3), ('男性ソロ', 5), ('女性ソロ', 3), ('女性ソロ', 5)
|
||||
]
|
||||
for cat_name, hours in dummy_categories:
|
||||
class DummyCategory:
|
||||
def __init__(self, name, hours):
|
||||
self.category_name = name
|
||||
self.category_number = len(self.categories) + 1
|
||||
self.duration = timedelta(hours=hours)
|
||||
self.num_of_member = 7
|
||||
self.family = (name == 'ファミリー')
|
||||
self.female = (name == '女性ソロ')
|
||||
self.trial = False
|
||||
|
||||
self.categories[(cat_name, hours)] = DummyCategory(cat_name, hours)
|
||||
|
||||
self.log(f"利用可能なカテゴリ: {list(self.categories.keys())}")
|
||||
|
||||
@ -226,16 +245,16 @@ class TeamRegistrationProcessor:
|
||||
self.log(f"DRY RUN: カテゴリ作成 - {department} ({hours_int}時間)")
|
||||
# ダミーカテゴリオブジェクトを作成
|
||||
class DummyCategory:
|
||||
def __init__(self):
|
||||
def __init__(self, processor):
|
||||
self.category_name = department
|
||||
self.category_number = len(self.categories) + 1
|
||||
self.category_number = len(processor.categories) + 1
|
||||
self.duration = timedelta(hours=hours_int)
|
||||
self.num_of_member = 7
|
||||
self.family = (department == 'ファミリー')
|
||||
self.female = (department == '女性ソロ')
|
||||
self.trial = False
|
||||
|
||||
category = DummyCategory()
|
||||
category = DummyCategory(self)
|
||||
else:
|
||||
category = NewCategory.objects.create(
|
||||
category_name=department,
|
||||
@ -446,7 +465,7 @@ class TeamRegistrationProcessor:
|
||||
lastname=user.lastname,
|
||||
date_of_birth=user.date_of_birth,
|
||||
female=user.female,
|
||||
is_temporary=True if user.email.startswith('dummy_') else False
|
||||
is_temporary=True if hasattr(user, 'email') and user.email.startswith('dummy_') else False
|
||||
)
|
||||
self.log(f"メンバー追加: {user.firstname} to {team.team_name}")
|
||||
self.stats['members_created'] += 1
|
||||
@ -510,7 +529,7 @@ class TeamRegistrationProcessor:
|
||||
entry_member = EntryMember.objects.create(
|
||||
entry=entry,
|
||||
member=member,
|
||||
is_temporary=member.is_temporary
|
||||
is_temporary=getattr(member, 'is_temporary', False)
|
||||
)
|
||||
self.log(f"参加登録: {member.user.firstname}")
|
||||
self.stats['participations_created'] += 1
|
||||
|
||||
Reference in New Issue
Block a user