From a106596addd10217af2c01f895b931ff04762b8b Mon Sep 17 00:00:00 2001 From: Maciej Tronowski Date: Wed, 29 Apr 2015 16:53:52 +0200 Subject: [PATCH] jobs list: filter by purged attribute --- qcg/forms.py | 6 ++++-- qcg/templates/qcg/jobs.html | 17 ++++++++++++++++- qcg/views.py | 9 +++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/qcg/forms.py b/qcg/forms.py index ecfb154..d3d1915 100644 --- a/qcg/forms.py +++ b/qcg/forms.py @@ -44,12 +44,14 @@ class FiltersForm(forms.Form): } STATUS_CHOICES_DICT = dict(STATUS_CHOICES) + keywords = forms.CharField(max_length=100, label=u"Wyszukaj frazę", required=False) status = forms.MultipleChoiceField(choices=STATUS_CHOICES, label=u"Status", 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) + host = forms.MultipleChoiceField(label=u"Host", required=False, widget=forms.CheckboxSelectMultiple) + purged = forms.TypedChoiceField(label=u"Istniejący katalog roboczy?", required=False, coerce=lambda x: bool(int(x)), + choices=((0, 'Tak'), (1, 'Nie')), widget=forms.RadioSelect) 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) diff --git a/qcg/templates/qcg/jobs.html b/qcg/templates/qcg/jobs.html index c2e1480..4cc79d1 100644 --- a/qcg/templates/qcg/jobs.html +++ b/qcg/templates/qcg/jobs.html @@ -67,7 +67,7 @@ {% block container %}
- {% get_params_as_hidden 'host' 'submission' 'finish' %} + {% get_params_as_hidden 'host' 'purged' 'submission' 'finish' %} + +
+ +
+
+ {% for choice in filters.purged %} + + {% endfor %} +
+
+
+ {% bootstrap_field filters.submission layout='horizontal' bound_css_class=' ' %} {% bootstrap_field filters.finish layout='horizontal' bound_css_class=' ' %}
diff --git a/qcg/views.py b/qcg/views.py index b702668..12827a9 100644 --- a/qcg/views.py +++ b/qcg/views.py @@ -74,6 +74,7 @@ def jobs_list(request): keywords = filters.cleaned_data['keywords'] status = filters.cleaned_data['status'] host = filters.cleaned_data['host'] + purged = filters.cleaned_data['purged'] submission = filters.cleaned_data['submission'] finish = filters.cleaned_data['finish'] @@ -105,6 +106,14 @@ def jobs_list(request): for h in host: selected_filters.append((host_dict[h], 'host', h)) + if isinstance(purged, bool): + tasks = tasks.filter(purged=purged) + + if purged: + selected_filters.append((u"Usunięty katalog roboczy", 'purged', '1')) + else: + selected_filters.append((u"Istniejący katalog roboczy", 'purged', '0')) + if submission: start, end = submission.split('-') -- 1.7.9.5