Validator for agenda_start_time aded. PEP8 issue 'missing whitespace after ','' resolved

This commit is contained in:
Stefan Frauenknecht 2013-05-27 22:24:16 +02:00 committed by Norman Jäckel
parent 061ed31ffb
commit 1e188761d4

View File

@ -10,10 +10,13 @@
:license: GNU GPL, see LICENSE for more details. :license: GNU GPL, see LICENSE for more details.
""" """
from datetime import datetime
from django.dispatch import receiver from django.dispatch import receiver
from django import forms from django import forms
from django.utils.translation import ugettext_lazy, ugettext_noop, ugettext as _ from django.utils.translation import ugettext_lazy, ugettext_noop, ugettext as _
from django.template.loader import render_to_string from django.template.loader import render_to_string
from django.core.exceptions import ValidationError
from openslides.config.signals import config_signal from openslides.config.signals import config_signal
from openslides.config.api import config, ConfigVariable, ConfigPage from openslides.config.api import config, ConfigVariable, ConfigPage
@ -26,6 +29,13 @@ from openslides.projector.api import (get_active_slide, get_slide_from_sid,
from .models import Speaker, Item from .models import Speaker, Item
def validate_start_time(value):
try:
datetime.strptime(value, '%d.%m.%Y %H:%M')
except ValueError:
raise ValidationError(_('Invalid input.'))
# TODO: Reinsert the datepicker scripts in the template # TODO: Reinsert the datepicker scripts in the template
@receiver(config_signal, dispatch_uid='setup_agenda_config_page') @receiver(config_signal, dispatch_uid='setup_agenda_config_page')
@ -38,6 +48,7 @@ def setup_agenda_config_page(sender, **kwargs):
name='agenda_start_event_date_time', name='agenda_start_event_date_time',
default_value='', default_value='',
form_field=forms.CharField( form_field=forms.CharField(
validators=[validate_start_time, ],
widget=forms.DateTimeInput(format='%d.%m.%Y %H:%M'), widget=forms.DateTimeInput(format='%d.%m.%Y %H:%M'),
required=False, required=False,
label=_('Begin of event'), label=_('Begin of event'),