diff options
Diffstat (limited to 'bak/unused_apps/birds/admin.py')
-rw-r--r-- | bak/unused_apps/birds/admin.py | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/bak/unused_apps/birds/admin.py b/bak/unused_apps/birds/admin.py new file mode 100644 index 0000000..df0951a --- /dev/null +++ b/bak/unused_apps/birds/admin.py @@ -0,0 +1,101 @@ +from django.contrib import admin +from django.contrib.gis.admin import OSMGeoAdmin +from birds.models import BirdSighting, BirdAudio, BirdClass, Bird, APClass, AP, Sighting + +from photos.forms import GalleryForm +from utils.util import get_latlon +from utils.widgets import CustomSelectMultiple + + +class GalleryFormPlus(GalleryForm): + def __init__(self, *args, **kwargs): + super(GalleryFormPlus, self).__init__(*args, **kwargs) + self.base_fields['seen_by'].widget = CustomSelectMultiple() + + class Meta: + model = Sighting + fields = '__all__' + + +@admin.register(APClass) +class APClassAdmin(admin.ModelAdmin): + list_display = ('common_name', 'scientific_name', 'kind') + list_filter = ('kind',) + + +@admin.register(AP) +class APAdmin(admin.ModelAdmin): + list_display = ('pk', 'common_name', 'scientific_name', 'kind', 'code', 'apclass') + list_filter = ('apclass__kind','apclass') + + +@admin.register(Sighting) +class SightingAdmin(OSMGeoAdmin): + form = GalleryFormPlus + list_filter = ('seen_by',('location', admin.RelatedOnlyFieldListFilter),) + list_display = ('ap', 'location') + # options for OSM map Using custom ESRI topo map + lat, lon = get_latlon() + default_lon = lon + default_lat = lat + default_zoom = 13 + units = True + scrollable = False + map_width = 700 + map_height = 425 + map_template = 'gis/admin/osm.html' + openlayers_url = '/static/admin/js/OpenLayers.js' + + +class BirdClassAdmin(admin.ModelAdmin): + list_display = ('common_name', 'scientific_name',) + + +class BirdAudioAdmin(admin.ModelAdmin): + list_display = ('bird', 'recorder',) + + +class BirdAdmin(admin.ModelAdmin): + list_display = ('pk', 'common_name', 'scientific_name', 'code', 'bird_class') + list_filter = ('bird_class',) + +class BirdSightingAdmin(OSMGeoAdmin): + form = GalleryFormPlus + list_filter = ( + ) + list_display = ('bird', 'location') + list_filter = ('seen_by',('location', admin.RelatedOnlyFieldListFilter),) + fieldsets = ( + ('Sighting', { + 'fields': ( + 'bird', + 'point', + 'date', + 'seen_by', + 'images', + 'audio', + ), + 'classes': ( + 'show', + 'extrapretty', + 'wide' + ) + } + ), + ) + # options for OSM map Using custom ESRI topo map + lat, lon = get_latlon() + default_lon = lon + default_lat = lat + default_zoom = 13 + units = True + scrollable = False + map_width = 700 + map_height = 425 + map_template = 'gis/admin/osm.html' + openlayers_url = '/static/admin/js/OpenLayers.js' + +admin.site.register(BirdSighting, BirdSightingAdmin) +admin.site.register(BirdClass, BirdClassAdmin) +admin.site.register(BirdAudio, BirdAudioAdmin) +admin.site.register(Bird, BirdAdmin) |