From 3a9560fd94cd5cfb31fb3f2beaab46a4c8738d88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Setni=C4=8Dka?= <setnicka@seznam.cz> Date: Sun, 21 Feb 2021 23:39:54 +0100 Subject: [PATCH] =?UTF-8?q?Round:=20Zobrazen=C3=AD=20a=20editace=20nastave?= =?UTF-8?q?n=C3=AD=20v=C3=BDsledkovky?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mo/web/jinja.py | 5 +++++ mo/web/org_round.py | 10 ++++++++++ mo/web/templates/org_round.html | 3 +++ 3 files changed, 18 insertions(+) diff --git a/mo/web/jinja.py b/mo/web/jinja.py index 0e786a08..893ac8ca 100644 --- a/mo/web/jinja.py +++ b/mo/web/jinja.py @@ -72,6 +72,11 @@ def or_dash(s: Any) -> str: return str(s) if s else '–' +@app.template_filter() +def none_value(s: Any, none_value: Any) -> Any: + return none_value if s is None else s + + @app.template_filter() def json_pretty(js: Any) -> str: return json.dumps(js, sort_keys=True, indent=4, ensure_ascii=False) diff --git a/mo/web/org_round.py b/mo/web/org_round.py index 7e86f508..b6665096 100644 --- a/mo/web/org_round.py +++ b/mo/web/org_round.py @@ -8,6 +8,7 @@ from typing import Optional, Tuple import werkzeug.exceptions import wtforms from wtforms import validators +from wtforms.fields.html5 import IntegerField import mo import mo.db as db @@ -360,6 +361,15 @@ class RoundEditForm(FlaskForm): pr_tasks_start = MODateTimeField("Čas zveřejnění úloh pro dozor", validators=[validators.Optional()]) ct_submit_end = MODateTimeField("Konec odevzdávání pro účastníky", validators=[validators.Optional()]) pr_submit_end = MODateTimeField("Konec odevzdávání pro dozor", validators=[validators.Optional()]) + score_mode = wtforms.SelectField("Výsledková listina", choices=db.RoundScoreMode.choices(), coerce=db.RoundScoreMode.coerce) + score_winner_limit = IntegerField( + "Hranice bodů pro vítěze", validators=[validators.Optional()], + description="Řešitelé s alespoň tolika body budou označeni za vítěze, prázdná hodnota = žádné neoznačovat", + ) + score_successful_limit = IntegerField( + "Hranice bodů pro úspěšné řešitele", validators=[validators.Optional()], + description="Řešitelé s alespoň tolika body budou označeni za úspěšné řešitele, prázdná hodnota = žádné neoznačovat", + ) submit = wtforms.SubmitField('Uložit') diff --git a/mo/web/templates/org_round.html b/mo/web/templates/org_round.html index 9f6d685c..678a2920 100644 --- a/mo/web/templates/org_round.html +++ b/mo/web/templates/org_round.html @@ -30,6 +30,9 @@ {% else %} – {% endif %} + <tr><td>Výsledková listina<td>{{ round.score_mode.friendly_name() }} + <tr><td>Hranice bodů pro vítěze<td>{{ round.score_winner_limit|none_value(Markup('<i>nenastaveno</i>')) }} + <tr><td>Hranice bodů pro úspěšné řešitele<td>{{ round.score_successful_limit|none_value(Markup('<i>nenastaveno</i>')) }} </table> <div class="btn-group"> -- GitLab