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