instruments = forms.CharField(required=False, label=('Instruments'), widget=forms.TextInput(attrs={'type': 'search'}))
collectors = forms.CharField(required=False, label=('Recordist'), widget=forms.TextInput(attrs={'type': 'search'}))
+
+ #to create a dynamic list of publish year
+ def list_recorded_from_year():
+ list_all_year = []
+ list_collect = MediaCollection.objects.all()
+ for collect in list_collect:
+ if collect.year_published != '0' and not collect.year_published in list_all_year:
+ list_all_year.append(collect.year_published)
+ list_all_year.sort()
+ if len(list_all_year) >= 2:
+ min_year = list_all_year[len(list_all_year) - 1]
+ max_year = list_all_year[len(list_all_year) - 1]
+ for year in list_all_year:
+ if year != 0:
+ if year < min_year:
+ min_year = year
+ if year > max_year:
+ max_year = year
+ list_all_year = range(min_year, max_year + 1)
+ list_year = []
+ list_year.append((0, ''))
+ for year in list_all_year:
+ list_year.append((year, year))
+ return list_year
+
+ def list_recorded_to_year():
+ list_all_year = []
+ list_collect = MediaCollection.objects.all()
+ for collect in list_collect:
+ if collect.year_published != '0' and not collect.year_published in list_all_year:
+ list_all_year.append(collect.year_published)
+ list_all_year.sort()
+ if len(list_all_year) >= 2:
+ min_year = list_all_year[len(list_all_year) - 1]
+ max_year = list_all_year[len(list_all_year) - 1]
+ for year in list_all_year:
+ if year != 0:
+ if year < min_year:
+ min_year = year
+ if year > max_year:
+ max_year = year
+ list_all_year = range(min_year, max_year + 1)
+ list_year = []
+ list_year.append((0, ''))
+ for year in list_all_year:
+ list_year.append((year, year))
+ return list_year
+
+ #recorded_from_date = forms.IntegerField(required=False, label=('Recorded from'), widget=forms.Select(choices=list_recorded_year()))
+ #recorded_to_date = forms.IntegerField(required=False, label=('Recorded to'), widget=forms.Select(choices=list_recorded_year()))
+
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'}))
code = indexes.NgramField(model_attr='code', default='')
location = indexes.NgramField(model_attr='location__name', default='', null='None')
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', null='None')
- #recorded_to_date = indexes.DateField(model_attr='recorded_to_date', null='None')
- #year_published = indexes.IntegerField(model_attr='collection__year_published', default='')
+ instruments = indexes.NgramField(default='')
+ collectors = indexes.NgramField(model_attr='collector', 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):
if obj.file.name:
location.append(alias)
return "%s" % location
- #def prepare_instruments(self, obj):
- #item = MediaItemPerformance.objects.all().filter(media_item__title__contains=obj.title)
- #instruments = []
- #for material in item:
- #instruments.append(material.instrument)
- #instruments.append(material.alias)
- #return "%s" % instruments
+ def prepare_instruments(self, obj):
+ item = MediaItemPerformance.objects.all().filter(media_item__title__contains=obj.title)
+ instruments = []
+ for material in item:
+ instruments.append(material.instrument)
+ instruments.append(material.alias)
+ return "%s" % instruments
- #def prepare_collectors(self, obj):
- #collectors = []
- #collectors.append(obj.collection.collector)
- #collectors.append(obj.collector)
- #return "%s" % collectors
+ def prepare_collectors(self, obj):
+ collectors = []
+ collectors.append(obj.collection.collector)
+ collectors.append(obj.collector)
+ return "%s" % collectors
class MediaCollectionIndex(indexes.SearchIndex, indexes.Indexable):
code = indexes.NgramField(model_attr='code', default='')
location = indexes.NgramField(default='')
ethnic_group = indexes.NgramField(default='')
- #instruments = indexes.NgramField(default='')
- #collectors = indexes.NgramField(model_attr='collector', 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='')
+ instruments = indexes.NgramField(default='')
+ collectors = indexes.NgramField(model_attr='collector', 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):
return obj.has_mediafile
collec_location.append(name)
return "%s" % collec_location
- #def prepare_ethnic_group(self, obj):
- #return "%s" % obj.ethnic_groups()
+ def prepare_ethnic_group(self, obj):
+ return "%s" % obj.ethnic_groups()
- #def prepare_instruments(self, obj):
- #instruments = []
- #items = obj.items.all()
- #for item in items:
- #materials = MediaItemPerformance.objects.all().filter(media_item__title__exact=item.title)
- #for material in materials:
- #if material.instrument and not material.instrument in instruments:
- #instruments.append(material.instrument)
+ def prepare_instruments(self, obj):
+ instruments = []
+ items = obj.items.all()
+ for item in items:
+ materials = MediaItemPerformance.objects.all().filter(media_item__title__exact=item.title)
+ for material in materials:
+ if material.instrument and not material.instrument in instruments:
+ instruments.append(material.instrument)
- #if material.alias and not material.alias in instruments:
- #instruments.append(material.alias)
+ if material.alias and not material.alias in instruments:
+ instruments.append(material.alias)
- #return "%s" % instruments
+ return "%s" % instruments