diff --git a/mo/web/org_contest.py b/mo/web/org_contest.py index ab5cacfda2d750a629b744088fc8de3695955d24..3dc241b7f62f59376ce2ebab850dd7f5d54777ff 100644 --- a/mo/web/org_contest.py +++ b/mo/web/org_contest.py @@ -90,12 +90,12 @@ class ParticipantsActionForm(FlaskForm): participation_state = wtforms.SelectField('Stav účasti', choices=db.PartState.choices(), coerce=db.PartState.coerce) set_participation_state = wtforms.SubmitField("Nastavit stav účasti") - participation_place = wtforms.StringField( + participation_place = mo_fields.Place( 'Soutěžní místo', description='Zadejte kód místa' ) set_participation_place = wtforms.SubmitField("Nastavit soutěžní místo") - contest_place = wtforms.StringField( + contest_place = mo_fields.Place( 'Soutěžní oblast', description='Musí existovat soutěž v dané oblasti pro stejné kolo. Oblast zadejte pomocí kódu.' ) @@ -116,15 +116,9 @@ class ParticipantsActionForm(FlaskForm): if self.set_participation_state.data: pass elif self.set_participation_place.data: - participation_place = db.get_place_by_code(self.participation_place.data) - if not participation_place: - flash('Nenalezeno místo s daným kódem', 'danger') - return False + participation_place = self.participation_place.place elif self.set_contest.data: - contest_place = db.get_place_by_code(self.contest_place.data) - if not contest_place: - flash("Nepovedlo se najít "+round.get_level().name_accusative("zadaný", "zadanou", "zadané"), 'danger') - return False + contest_place = self.contest_place.place # Contest hledáme vždy v master kole, abychom náhodou nepřesunuli účastníky do soutěže v podkole contest = sess.query(db.Contest).filter_by(round_id=round.master_round_id, place_id=contest_place.place_id).one_or_none() if not contest: