From 41b611026fec05d132167e9293789e49b8bc196a Mon Sep 17 00:00:00 2001 From: Jiri Kalvoda <jirikalvoda@kam.mff.cuni.cz> Date: Tue, 21 Sep 2021 20:10:14 +0200 Subject: [PATCH] =?UTF-8?q?ParticipantsFilterForm=20nepou=C5=BEiv=C3=A1=20?= =?UTF-8?q?f=5F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mo/web/org_contest.py | 29 +++++------------------------ mo/web/org_round.py | 8 ++++---- 2 files changed, 9 insertions(+), 28 deletions(-) diff --git a/mo/web/org_contest.py b/mo/web/org_contest.py index 3dc241b7..0a17429c 100644 --- a/mo/web/org_contest.py +++ b/mo/web/org_contest.py @@ -59,26 +59,6 @@ class ParticipantsFilterForm(PagerForm): download_csv = wtforms.SubmitField("↓ CSV") download_tsv = wtforms.SubmitField("↓ TSV") - # Výstupní hodnoty filtru, None při nepoužitém filtru, prázdná db hodnota při - # nepovedené filtraci (neexistující místo a podobně) - f_school: Optional[db.Place] = None - f_participation_place: Optional[db.Place] = None - f_contest_place: Optional[db.Place] = None - f_participation_state: Optional[db.PartState] = None - - def validate_school(self, field): - self.f_school = field.place - - def validate_participation_place(self, field): - self.f_participation_place = field.place - - def validate_contest_place(self, field): - self.f_contest_place = field.place - - def validate_participation_state(self, field): - self.f_participation_state = None if field.data == '*' else field.data - - class ParticipantsActionForm(FlaskForm): action_on = wtforms.RadioField( "Provést akci na", validators=[validators.DataRequired()], @@ -442,12 +422,13 @@ def org_contest_list(id: int, site_id: Optional[int] = None): filter = ParticipantsFilterForm(formdata=request.args) if request.args: filter.validate() + query = get_contestants_query( round=master_contest.round, contest=master_contest, site=site, - school=filter.f_school, - # contest_place=filter.f_contest_place, - participation_place=filter.f_participation_place, - participation_state=filter.f_participation_state, + school=filter.school.place, + contest_place=filter.contest_place.place, + participation_place=filter.participation_place.place, + participation_state=mo.util.star_is_none(filter.participation_state.data), ) action_form = None diff --git a/mo/web/org_round.py b/mo/web/org_round.py index 94e4aaca..88da8505 100644 --- a/mo/web/org_round.py +++ b/mo/web/org_round.py @@ -373,10 +373,10 @@ def org_round_list(id: int): filter.validate() query = get_contestants_query( round=master_round, - school=filter.f_school, - contest_place=filter.f_contest_place, - participation_place=filter.f_participation_place, - participation_state=filter.f_participation_state, + school=filter.school.place, + contest_place=filter.contest_place.place, + participation_place=filter.participation_place.place, + participation_state=mo.util.star_is_none(filter.participation_state.data), ) action_form = None -- GitLab