Skip to content

Commit 814d5e2

Browse files
authored
feat: allow tex certificates before review (#1004)
1 parent 10085b3 commit 814d5e2

File tree

1 file changed

+28
-13
lines changed

1 file changed

+28
-13
lines changed

bullet/bullet_admin/views/venues.py

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@
1919
from documents.generators.team_list import team_list
2020
from documents.generators.tearoff import TearoffGenerator, TearoffRequirementMissing
2121
from documents.models import TexJob
22-
from problems.logic.results import save_country_ranks, save_venue_ranks
22+
from problems.logic.results import (
23+
get_venue_results,
24+
save_country_ranks,
25+
save_venue_ranks,
26+
)
2327
from problems.models import Problem
2428
from users.logic import get_venue_waiting_list, move_eligible_teams
2529
from users.models import Team
@@ -148,19 +152,30 @@ def get_form_kwargs(self):
148152

149153
def form_valid(self, form):
150154
if template := form.cleaned_data.get("tex_template"):
151-
teams = (
152-
Team.objects.competing()
153-
.filter(venue=self.venue)
154-
.order_by("rank_venue")
155-
.select_related(
156-
"school",
157-
"venue",
158-
"venue__category",
155+
if self.venue.is_reviewed:
156+
teams = (
157+
Team.objects.competing()
158+
.filter(venue=self.venue)
159+
.order_by("rank_venue")
160+
.select_related(
161+
"school",
162+
"venue",
163+
"venue__category",
164+
)
165+
.prefetch_related("contestants", "contestants__grade")
159166
)
160-
.prefetch_related("contestants", "contestants__grade")
161-
)
162-
if count := form.cleaned_data.get("count"):
163-
teams = teams.filter(rank_venue__lte=count)
167+
if count := form.cleaned_data.get("count"):
168+
teams = teams.filter(rank_venue__lte=count)
169+
else:
170+
results = get_venue_results(self.venue)
171+
if count := form.cleaned_data.get("count"):
172+
results = results[:count]
173+
174+
teams = []
175+
for rank_i, row in enumerate(results):
176+
team = row.team
177+
team.rank_venue = rank_i + 1
178+
teams.append(team)
164179

165180
job = TexJob.objects.create(
166181
template=template,

0 commit comments

Comments
 (0)