Mercurial > public > sg101
changeset 956:6cc9221d04a7
Issue #85: fix 500 error with custom search form.
Can't rely on exact being in cleaned_data if there is an error
with it.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sat, 30 May 2015 17:41:11 -0500 |
parents | 8647a669edb4 |
children | 76ee6403e033 4dbca98db8b8 |
files | custom_search/forms.py |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/custom_search/forms.py Tue May 19 21:08:45 2015 -0500 +++ b/custom_search/forms.py Sat May 30 17:41:11 2015 -0500 @@ -54,13 +54,17 @@ label='Search in', widget=forms.CheckboxSelectMultiple) def clean(self): + super(CustomModelSearchForm, self).clean() if not settings.SEARCH_QUEUE_ENABLED: raise forms.ValidationError("Our search function is offline for " "maintenance. Please try again later. " "We apologize for any inconvenience.") - if not (self.cleaned_data['q'] or self.cleaned_data['exact'] or - self.cleaned_data['exclude']): + q = self.cleaned_data.get('q') + exact = self.cleaned_data.get('exact') + exclude = self.cleaned_data.get('exclude') + + if not (q or exact or exclude): raise forms.ValidationError('Please supply some search terms') return self.cleaned_data