]> git.parisson.com Git - telemeta.git/commitdiff
Advance Search : Add digitized search checkbox
authorKaltar5679 <killian.mary@outlook.fr>
Mon, 4 May 2015 09:49:58 +0000 (11:49 +0200)
committerKaltar5679 <killian.mary@outlook.fr>
Mon, 4 May 2015 09:49:58 +0000 (11:49 +0200)
telemeta/forms/haystack_form.py
telemeta/search_indexes.py

index 108cac0f12bedec1ebcf94f1c53fae794857023f..16d24bffaef11b30eef20db62254d4739c3772e5 100644 (file)
@@ -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
index d765910046f8b1ddd8878b1c5dc0ca517a8e726c..f6e1a9a1e069a3aa12e9bb68c48815a67c35a2f8 100644 (file)
@@ -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):