from django import forms
from django.core.validators import RegexValidator
from django.template.defaultfilters import capfirst
-from django.utils.functional import lazy
from pyqcg.utils import TaskStatus
from qcg.models import Task, Allocation
-def host_choices():
- return tuple((host, capfirst(host.split('.')[0])) for host in
- Allocation.objects.values_list('host_name', flat=True).order_by('host_name').distinct())
-
-
date_range_validator = RegexValidator(r'[0-9]{2}\.[0-9]{2}\.[0-9]{4} - [0-9]{2}\.[0-9]{2}\.[0-9]{4}')
status = forms.MultipleChoiceField(choices=STATUS_CHOICES, label=u"Status", required=False,
widget=forms.CheckboxSelectMultiple)
- host = forms.MultipleChoiceField(choices=lazy(host_choices, tuple)(), label=u"Host", required=False,
- widget=forms.CheckboxSelectMultiple)
+ host = forms.MultipleChoiceField(label=u"Host", required=False, widget=forms.CheckboxSelectMultiple)
# advanced
keywords = forms.CharField(max_length=100, label=u"Wyszukaj frazę", required=False)
submission = forms.CharField(label=u"Data zlecenia", validators=[date_range_validator], required=False)
finish = forms.CharField(label=u"Data zakończenia", validators=[date_range_validator], required=False)
+
+ def __init__(self, *args, **kwargs):
+ super(FiltersForm, self).__init__(*args, **kwargs)
+
+ self.fields['host'].choices = tuple(
+ (host, capfirst(host.split('.', 1)[0]))
+ for host in Allocation.objects.values_list('host_name', flat=True).order_by('host_name').distinct())