From cd912600e6d97c8f29fd944222118d3a422bbb58 Mon Sep 17 00:00:00 2001 From: Mat Ford Date: Thu, 5 Apr 2018 11:56:37 +0000 Subject: [PATCH] Add IRTF State option to Additional Search Criteria pulldown. Commit ready for merge. - Legacy-Id: 15012 --- ietf/doc/views_search.py | 11 +++++++++-- ietf/templates/doc/search/search_form.html | 10 ++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ietf/doc/views_search.py b/ietf/doc/views_search.py index 69285011f..fd57adcbf 100644 --- a/ietf/doc/views_search.py +++ b/ietf/doc/views_search.py @@ -63,7 +63,7 @@ class SearchForm(forms.Form): activedrafts = forms.BooleanField(required=False, initial=True) olddrafts = forms.BooleanField(required=False, initial=False) - by = forms.ChoiceField(choices=[(x,x) for x in ('author','group','area','ad','state','stream')], required=False, initial='group') + by = forms.ChoiceField(choices=[(x,x) for x in ('author','group','area','ad','state','irtfstate','stream')], required=False, initial='group') author = forms.CharField(required=False) group = forms.CharField(required=False) stream = forms.ModelChoiceField(StreamName.objects.all().order_by('name'), empty_label="any stream", required=False) @@ -71,6 +71,7 @@ class SearchForm(forms.Form): ad = forms.ChoiceField(choices=(), required=False) state = forms.ModelChoiceField(State.objects.filter(type="draft-iesg"), empty_label="any state", required=False) substate = forms.ChoiceField(choices=(), required=False) + irtfstate = forms.ModelChoiceField(State.objects.filter(type="draft-stream-irtf"), empty_label="any state", required=False) sort = forms.ChoiceField( choices= ( @@ -112,7 +113,9 @@ class SearchForm(forms.Form): for k in ('author', 'group', 'area', 'ad'): if q['by'] == k and not q.get(k): q['by'] = None - if q['by'] == 'state' and not (q.get("state") or q.get('substate')): + if q['by'] == 'state' and not (q.get('state') or q.get('substate')): + q['by'] = None + if q['by'] == 'irtfstate' and not (q.get('irtfstate')): q['by'] = None else: q['by'] = None @@ -122,6 +125,8 @@ class SearchForm(forms.Form): q[k] = "" if q['by'] != 'state': q['state'] = q['substate'] = None + if q['by'] != 'irtfstate': + q['irtfstate'] = None return q def retrieve_search_results(form, all_types=False): @@ -184,6 +189,8 @@ def retrieve_search_results(form, all_types=False): docs = docs.filter(states=query["state"]) if query["substate"]: docs = docs.filter(tags=query["substate"]) + elif by == "irtfstate": + docs = docs.filter(states=query["irtfstate"]) elif by == "stream": docs = docs.filter(stream=query["stream"]) diff --git a/ietf/templates/doc/search/search_form.html b/ietf/templates/doc/search/search_form.html index 3b0809882..b60d487ff 100644 --- a/ietf/templates/doc/search/search_form.html +++ b/ietf/templates/doc/search/search_form.html @@ -106,6 +106,16 @@ +
+
+ + +
+
+ {{ form.irtfstate|add_class:"form-control" }} +
+
+