summaryrefslogtreecommitdiff
path: root/bak/unused_apps/birds/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'bak/unused_apps/birds/admin.py')
-rw-r--r--bak/unused_apps/birds/admin.py101
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)