From 75f2417ed12b60d5364ec43e3c4f42f1fa13f4ec Mon Sep 17 00:00:00 2001
From: Jiri Kalvoda <jirikalvoda@kam.mff.cuni.cz>
Date: Fri, 9 Jul 2021 15:16:40 +0200
Subject: [PATCH] =?UTF-8?q?P=C5=99id=C3=A1n=C3=AD=20validace=20formul?=
 =?UTF-8?q?=C3=A1=C5=99e=20editace=20kola=20--=20kolo=20nem=C5=AF=C5=BEe?=
 =?UTF-8?q?=20skon=C4=8Dit=20d=C5=99=C3=ADv=20ne=C5=BE=20za=C4=8Dne?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 mo/web/org_round.py | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/mo/web/org_round.py b/mo/web/org_round.py
index 8f5f7c09..b4da3657 100644
--- a/mo/web/org_round.py
+++ b/mo/web/org_round.py
@@ -458,6 +458,17 @@ class RoundEditForm(FlaskForm):
                 if num_tasks == 0:
                     raise ValidationError('Nejsou-li definovány žádné úlohy, stav musí být "připravuje se"')
 
+    def abstract_validate_time_order(self, field):
+        if field.data is not None:
+            if any([i.data is not None and i.data > field.data for i in [self.ct_tasks_start, self.pr_tasks_start]]):
+                raise ValidationError('Soutěž nesmí skončit dříve než začne.')
+
+    def validate_ct_submit_end(self, field):
+        self.abstract_validate_time_order(field)
+
+    def validate_pr_submit_end(self, field):
+        self.abstract_validate_time_order(field)
+
 
 @app.route('/org/contest/r/<int:id>/edit', methods=('GET', 'POST'))
 def org_round_edit(id: int):
-- 
GitLab