From 1b7898b9d021169f9fbcba098a3fd244aa36e510 Mon Sep 17 00:00:00 2001 From: Maciej Tronowski Date: Wed, 25 Feb 2015 12:42:04 +0100 Subject: [PATCH] fix host choices setup --- qcg/forms.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) 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()) -- 1.7.9.5