From: Kaltar5679 Date: Mon, 4 May 2015 09:49:58 +0000 (+0200) Subject: Advance Search : Add digitized search checkbox X-Git-Tag: 1.6a^2~15^2~74^2~1 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=9bc65fcc9d44f27121e579adec737feca13d30d9;p=telemeta.git Advance Search : Add digitized search checkbox --- diff --git a/telemeta/forms/haystack_form.py b/telemeta/forms/haystack_form.py index 108cac0f..16d24bff 100644 --- a/telemeta/forms/haystack_form.py +++ b/telemeta/forms/haystack_form.py @@ -43,8 +43,9 @@ class HayAdvanceForm(SearchForm): collectors = forms.CharField(required=False, label=('Depositor / contributor'), widget=forms.TextInput(attrs={'type': 'search'})) recorded_from_date = forms.DateField(required=False, label=('Recorded from'), widget=forms.DateInput(attrs={'type': 'search', 'placeholder': 'MM/DD/YYYY'})) recorded_to_date = forms.DateField(required=False, label=('Recorded to'), widget=forms.DateInput(attrs={'type': 'search', 'placeholder': 'MM/DD/YYYY'})) - year_published_from = forms.IntegerField(required=False, label=('Year published from'), widget=forms.TextInput(attrs={'type': 'search', 'placeholder': '1234567890'})) - year_published_to = forms.IntegerField(required=False, label=('Year published to'), widget=forms.TextInput(attrs={'type': 'search', 'placeholder': '1234567890'})) + year_published_from = forms.IntegerField(required=False, label=('Year published from'), widget=forms.TextInput(attrs={'type': 'search', 'placeholder': 'YYYY', 'pattern': '[0-9]{4}'})) + year_published_to = forms.IntegerField(required=False, label=('Year published to'), widget=forms.TextInput(attrs={'type': 'search', 'placeholder': 'YYYY', 'pattern': '[0-9]{4}'})) + digitized = forms.BooleanField(required=False, label=('Digitized')) def search(self): sqs = SearchQuerySet().load_all() @@ -82,4 +83,7 @@ class HayAdvanceForm(SearchForm): if self.cleaned_data['year_published_to']: sqs = sqs.filter(year_published__lte=self.cleaned_data['year_published_to']) + if self.cleaned_data['digitized']: + sqs = sqs.filter(digitized=True) + return sqs diff --git a/telemeta/search_indexes.py b/telemeta/search_indexes.py index d7659100..f6e1a9a1 100644 --- a/telemeta/search_indexes.py +++ b/telemeta/search_indexes.py @@ -16,8 +16,8 @@ class MediaItemIndex(indexes.SearchIndex, indexes.Indexable): ethnic_group = indexes.NgramField(model_attr='ethnic_group', default='') instruments = indexes.NgramField(default='') collectors = indexes.NgramField(model_attr='collector', default='') - recorded_from_date = indexes.DateField(model_attr='recorded_from_date', default='') - recorded_to_date = indexes.DateField(model_attr='recorded_to_date', default='') + recorded_from_date = indexes.DateField(model_attr='recorded_from_date', null='None') + recorded_to_date = indexes.DateField(model_attr='recorded_to_date', null='None') year_published = indexes.IntegerField(model_attr='collection__year_published', default='') def prepare_digitized(self, obj): @@ -62,8 +62,8 @@ class MediaCollectionIndex(indexes.SearchIndex, indexes.Indexable): ethnic_group = indexes.NgramField(default='') instruments = indexes.NgramField(default='') collectors = indexes.NgramField(default='') - recorded_from_date = indexes.DateField(model_attr='recorded_from_year', default='') - recorded_to_date = indexes.DateField(model_attr='recorded_to_year', default='') + recorded_from_date = indexes.DateField(model_attr='recorded_from_year', null='None') + recorded_to_date = indexes.DateField(model_attr='recorded_to_year', null='None') year_published = indexes.IntegerField(model_attr='year_published', default='') def prepare_digitized(self, obj):