OpenSlides/openslides/agenda/forms.py

71 lines
1.8 KiB
Python
Raw Normal View History

2011-07-31 10:46:29 +02:00
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
openslides.agenda.forms
~~~~~~~~~~~~~~~~~~~~~~~
Forms for the agenda app.
2012-04-25 22:29:19 +02:00
:copyright: 2011, 2012 by OpenSlides team, see AUTHORS.
2011-07-31 10:46:29 +02:00
:license: GNU GPL, see LICENSE for more details.
"""
2012-07-04 12:50:33 +02:00
from django import forms
2012-07-10 01:33:03 +02:00
from django.utils.translation import ugettext_lazy as _
from mptt.forms import TreeNodeChoiceField
2012-07-10 13:19:12 +02:00
from openslides.utils.forms import CssClassMixin
2012-07-10 13:19:12 +02:00
from openslides.agenda.models import Item
2011-07-31 10:46:29 +02:00
2012-02-09 02:29:38 +01:00
2012-07-04 12:50:33 +02:00
class ItemForm(forms.ModelForm, CssClassMixin):
"""
Form to create of update an item.
"""
parent = TreeNodeChoiceField(
queryset=Item.objects.all(), label=_("Parent item"), required=False)
2012-07-04 12:50:33 +02:00
2013-01-30 17:39:53 +01:00
duration = forms.TimeField(
widget=forms.TimeInput(format='%H:%M') ,
input_formats=('%H:%M', '%H %M'),
required=False,
label=_("Duration (hh:mm)")
)
2013-01-29 14:28:42 +01:00
2011-07-31 10:46:29 +02:00
class Meta:
2012-02-06 22:22:16 +01:00
model = Item
2012-07-04 11:00:58 +02:00
exclude = ('closed', 'weight', 'related_sid')
2011-07-31 10:46:29 +02:00
2012-07-04 12:50:33 +02:00
def gen_weight_choices():
"""
Creates a list of tuples (n, n) for n from -49 to 50.
"""
return zip(*(range(-50, 51), range(-50, 51)))
class ItemOrderForm(forms.Form, CssClassMixin):
"""
Form to change the order of the items.
"""
weight = forms.ChoiceField(
choices=gen_weight_choices(),
widget=forms.Select(attrs={'class': 'menu-weight'}),
)
self = forms.IntegerField(
widget=forms.HiddenInput(attrs={'class': 'menu-mlid'}),
)
parent = forms.IntegerField(
widget=forms.HiddenInput(attrs={'class': 'menu-plid'}),
)
2013-01-30 17:39:53 +01:00
2013-02-01 14:47:51 +01:00
class ConfigForm(CssClassMixin, forms.Form):
2013-01-30 17:39:53 +01:00
agenda_start_event_time = forms.TimeField(
widget=forms.TimeInput(format='%H:%M'),
input_formats=['%H:%M'],
2013-01-30 17:39:53 +01:00
required=False,
label=_("Begin of event (hh:mm)"),
)