diff --git a/mo/web/org_round.py b/mo/web/org_round.py index 8f5f7c0926b0edb7ecc01c179b6328b12700094e..b4da3657181f26e13febaa369f5fb1c09b88133b 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):