From: Maciej Tronowski Date: Wed, 25 Feb 2015 11:42:04 +0000 (+0100) Subject: fix host choices setup X-Git-Tag: v1.0~156 X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=commitdiff_plain;h=1b7898b9d021169f9fbcba098a3fd244aa36e510;p=qcg-portal.git fix host choices setup --- 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())