|
|
|
@ -432,14 +432,14 @@ class Tournament(BaseModel): |
|
|
|
t.registration_date is None, |
|
|
|
t.registration_date is None, |
|
|
|
t.registration_date or datetime.min, |
|
|
|
t.registration_date or datetime.min, |
|
|
|
t.initial_weight, |
|
|
|
t.initial_weight, |
|
|
|
t.unique_random_index, |
|
|
|
t.team_registration.unique_random_index, |
|
|
|
t.team_registration.id |
|
|
|
t.team_registration.id |
|
|
|
)) |
|
|
|
)) |
|
|
|
waiting_teams.sort(key=lambda t: ( |
|
|
|
waiting_teams.sort(key=lambda t: ( |
|
|
|
t.registration_date is None, |
|
|
|
t.registration_date is None, |
|
|
|
t.registration_date or datetime.min, |
|
|
|
t.registration_date or datetime.min, |
|
|
|
t.initial_weight, |
|
|
|
t.initial_weight, |
|
|
|
t.unique_random_index, |
|
|
|
t.team_registration.unique_random_index, |
|
|
|
t.team_registration.id |
|
|
|
t.team_registration.id |
|
|
|
)) |
|
|
|
)) |
|
|
|
else: |
|
|
|
else: |
|
|
|
@ -456,8 +456,8 @@ class Tournament(BaseModel): |
|
|
|
qualified_teams = complete_teams[:computed_team_count] |
|
|
|
qualified_teams = complete_teams[:computed_team_count] |
|
|
|
excess_teams = complete_teams[computed_team_count:] |
|
|
|
excess_teams = complete_teams[computed_team_count:] |
|
|
|
|
|
|
|
|
|
|
|
qualified_teams.sort(key=lambda t: (t.initial_weight, t.unique_random_index, t.team_registration.id)) |
|
|
|
qualified_teams.sort(key=lambda t: (t.initial_weight, t.team_registration.unique_random_index, t.team_registration.id)) |
|
|
|
excess_teams.sort(key=lambda t: (t.initial_weight, t.unique_random_index, t.team_registration.id)) |
|
|
|
excess_teams.sort(key=lambda t: (t.initial_weight, t.team_registration.unique_random_index, t.team_registration.id)) |
|
|
|
|
|
|
|
|
|
|
|
# Combine all waiting list teams |
|
|
|
# Combine all waiting list teams |
|
|
|
waiting_list = excess_teams + waiting_teams |
|
|
|
waiting_list = excess_teams + waiting_teams |
|
|
|
@ -466,17 +466,17 @@ class Tournament(BaseModel): |
|
|
|
t.registration_date is None, |
|
|
|
t.registration_date is None, |
|
|
|
t.registration_date or datetime.min, |
|
|
|
t.registration_date or datetime.min, |
|
|
|
t.initial_weight, |
|
|
|
t.initial_weight, |
|
|
|
t.unique_random_index, |
|
|
|
t.team_registration.unique_random_index, |
|
|
|
t.team_registration.id |
|
|
|
t.team_registration.id |
|
|
|
)) |
|
|
|
)) |
|
|
|
else: |
|
|
|
else: |
|
|
|
waiting_list.sort(key=lambda t: (t.initial_weight, t.unique_random_index, t.team_registration.id)) |
|
|
|
waiting_list.sort(key=lambda t: (t.initial_weight, t.team_registration.unique_random_index, t.team_registration.id)) |
|
|
|
|
|
|
|
|
|
|
|
# Return final sorted list |
|
|
|
# Return final sorted list |
|
|
|
bracket_teams = qualified_teams[:bracket_seeds] + wildcard_bracket |
|
|
|
bracket_teams = qualified_teams[:bracket_seeds] + wildcard_bracket |
|
|
|
gs_teams = qualified_teams[bracket_seeds:(bracket_seeds+group_stage_team_count)] + wildcard_group_stage |
|
|
|
gs_teams = qualified_teams[bracket_seeds:(bracket_seeds+group_stage_team_count)] + wildcard_group_stage |
|
|
|
bracket_teams.sort(key=lambda t: (t.initial_weight, t.unique_random_index, t.team_registration.id)) |
|
|
|
bracket_teams.sort(key=lambda t: (t.initial_weight, t.team_registration.unique_random_index, t.team_registration.id)) |
|
|
|
gs_teams.sort(key=lambda t: (t.initial_weight, t.unique_random_index, t.team_registration.id)) |
|
|
|
gs_teams.sort(key=lambda t: (t.initial_weight, t.team_registration.unique_random_index, t.team_registration.id)) |
|
|
|
all_teams = bracket_teams + gs_teams |
|
|
|
all_teams = bracket_teams + gs_teams |
|
|
|
for team in bracket_teams: |
|
|
|
for team in bracket_teams: |
|
|
|
team.set_stage("Tableau") |
|
|
|
team.set_stage("Tableau") |
|
|
|
|