diff --git a/mo/web/org_contest.py b/mo/web/org_contest.py index 10cd5c65d228a9a6b2cdd555e24f5782d57d4951..5e61ae3d55704dff4d448dbbd2cfede5462701e6 100644 --- a/mo/web/org_contest.py +++ b/mo/web/org_contest.py @@ -1400,10 +1400,6 @@ def org_contest_advance(ct_id: int): def redirect_back(): return redirect(ctx.url_for('org_contest')) - if contest.state != db.RoundState.preparing or master_contest.state != db.RoundState.preparing: - flash('Tato soutěž není ve stavu přípravy', 'danger') - return redirect_back() - prev_round = get_prev_round(round) if not prev_round: return redirect_back() @@ -1520,6 +1516,9 @@ def org_contest_advance(ct_id: int): for place_id in prev_pions_by_place_id: prev_pions_by_place_id[place_id].sort(key=lambda x: (x[1] or 0, x[0].user.sort_key()), reverse=True) + if contest.state != db.RoundState.preparing or master_contest.state != db.RoundState.preparing: + flash('Tato soutěž není ve stavu přípravy.', 'warning') + if any(pc.state != db.RoundState.closed for pc in prev_contests): flash('Předchozí kolo dosud nebylo ukončeno. Počty bodů nemusí být finální.', 'warning')