From f8040929670438829f85e17c92b4f1ff4acf7274 Mon Sep 17 00:00:00 2001 From: Martin Mares <mj@ucw.cz> Date: Tue, 23 Mar 2021 20:19:16 +0100 Subject: [PATCH] =?UTF-8?q?Postup=20do=20dal=C5=A1=C3=ADho=20kola=20op?= =?UTF-8?q?=C4=9Bt=20funguje?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Úprava kvůli skupinám kol chtěla od alchymistů víc, než dovedou :) --- mo/web/org_contest.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mo/web/org_contest.py b/mo/web/org_contest.py index 76854a79..367ef536 100644 --- a/mo/web/org_contest.py +++ b/mo/web/org_contest.py @@ -1495,10 +1495,11 @@ def org_contest_advance(contest_id: int): prev_pions = prev_pion_query.all() if form.boundary.data > 0: + round_subquery = sess.query(db.Round.round_id).filter_by(master_round_id=prev_round.round_id).subquery() accept_uids = (sess.query(db.Solution.user_id) .select_from(db.Solution) # Vybíráme úlohy, jejich round patří do stejné skupiny kol jako prev_round - .join(db.Task, and_(db.Task.task_id == db.Solution.task_id, db.Task.round.master_round_id == prev_round.round_id)) + .join(db.Task, and_(db.Task.task_id == db.Solution.task_id, db.Task.round_id.in_(round_subquery))) .filter(db.Solution.user_id.in_(prev_pion_query.with_entities(db.Participation.user_id).subquery())) .group_by(db.Solution.user_id) .having(func.sum(db.Solution.points) >= form.boundary.data) -- GitLab