Skip to content
Snippets Groups Projects
Commit 2c7efac2 authored by Jiří Kalvoda's avatar Jiří Kalvoda
Browse files

Přesunutí mo.web.org_round.MODateTimeField na mo.web.fields.DateTime

parent 068d4f37
No related branches found
No related tags found
1 merge request!92Používání mo.web.fields
...@@ -186,3 +186,18 @@ class RepeatPassword(wtforms.PasswordField): ...@@ -186,3 +186,18 @@ class RepeatPassword(wtforms.PasswordField):
def pre_validate(field, form): def pre_validate(field, form):
if field.data != form.new_passwd.data: if field.data != form.new_passwd.data:
raise wtforms.ValidationError('Hesla se neshodují.') raise wtforms.ValidationError('Hesla se neshodují.')
class DateTime(wtforms.DateTimeField):
def __init__(self, label, format='%Y-%m-%d %H:%M', description='Ve formátu 2000-01-01 12:34', **kwargs):
super().__init__(label, format=format, description=description, **kwargs)
def process_data(self, valuelist):
super().process_data(valuelist)
if self.data is not None:
self.data = self.data.astimezone()
def process_formdata(self, valuelist):
super().process_formdata(valuelist)
if self.data is not None:
self.data = self.data.astimezone()
...@@ -419,22 +419,6 @@ def org_round_import(id: int): ...@@ -419,22 +419,6 @@ def org_round_import(id: int):
return generic_import(round, master_round, None, None) return generic_import(round, master_round, None, None)
class MODateTimeField(wtforms.DateTimeField):
def __init__(self, label, format='%Y-%m-%d %H:%M', description='Ve formátu 2000-01-01 12:34', **kwargs):
super().__init__(label, format=format, description=description, **kwargs)
def process_data(self, valuelist):
super().process_data(valuelist)
if self.data is not None:
self.data = self.data.astimezone()
def process_formdata(self, valuelist):
super().process_formdata(valuelist)
if self.data is not None:
self.data = self.data.astimezone()
class RoundEditForm(FlaskForm): class RoundEditForm(FlaskForm):
_for_round: Optional[db.Round] = None _for_round: Optional[db.Round] = None
...@@ -445,10 +429,10 @@ class RoundEditForm(FlaskForm): ...@@ -445,10 +429,10 @@ class RoundEditForm(FlaskForm):
) )
# Only the desktop Firefox does not support datetime-local field nowadays, # Only the desktop Firefox does not support datetime-local field nowadays,
# other browsers does provide date and time picker UI :( # other browsers does provide date and time picker UI :(
ct_tasks_start = MODateTimeField("Čas zveřejnění úloh pro účastníky", validators=[validators.Optional()]) ct_tasks_start = mo_fields.DateTime("Čas zveřejnění úloh pro účastníky", validators=[validators.Optional()])
pr_tasks_start = MODateTimeField("Čas zveřejnění úloh pro dozor", validators=[validators.Optional()]) pr_tasks_start = mo_fields.DateTime("Čas zveřejnění úloh pro dozor", validators=[validators.Optional()])
ct_submit_end = MODateTimeField("Konec odevzdávání pro účastníky", validators=[validators.Optional()]) ct_submit_end = mo_fields.DateTime("Konec odevzdávání pro účastníky", validators=[validators.Optional()])
pr_submit_end = MODateTimeField("Konec odevzdávání pro dozor", validators=[validators.Optional()]) pr_submit_end = mo_fields.DateTime("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_mode = wtforms.SelectField("Výsledková listina", choices=db.RoundScoreMode.choices(), coerce=db.RoundScoreMode.coerce)
score_winner_limit = mo_fields.Points( score_winner_limit = mo_fields.Points(
"Hranice bodů pro vítěze", validators=[validators.Optional(), validators.NumberRange(min=0)], "Hranice bodů pro vítěze", validators=[validators.Optional(), validators.NumberRange(min=0)],
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment