X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=qcg%2Fforms.py;h=8906e2dc1fbcd332ff71b34a1bfe084d6f743440;hb=eaece5323f2f552542b44279210c787e412efa37;hp=d9d7a92e4bdfb76041d1b3ae46abda288bb4c748;hpb=cb292970db9b3ea3054212858abb5eebe73f0fd9;p=qcg-portal.git diff --git a/qcg/forms.py b/qcg/forms.py index d9d7a92..8906e2d 100644 --- a/qcg/forms.py +++ b/qcg/forms.py @@ -2,17 +2,11 @@ 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}') @@ -47,10 +41,16 @@ class FiltersForm(forms.Form): 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())