from django.contrib import admin from django import forms from blog.models import Entry, PostImage from blog.widgets import AdminImageWidget from django.contrib.gis.admin import OSMGeoAdmin from django.contrib.gis.maps.google import GoogleMap from django.conf import settings GMAP = GoogleMap(key=settings.GOOGLE_MAPS_API_KEY) class EntryAdmin(OSMGeoAdmin): def formfield_for_dbfield(self, db_field, **kwargs): if db_field.name == 'thumbnail': field = forms.FileField(widget=AdminImageWidget) else: field = super(EntryAdmin,self).formfield_for_dbfield(db_field,**kwargs) return field list_display = ('title', 'pub_date','enable_comments', 'status','region','location') search_fields = ['title', 'body_markdown'] prepopulated_fields = {"slug" : ('title',)} list_filter = ('pub_date', 'enable_comments', 'status','region','location') fieldsets = ( ('Entry', {'fields': ('title','body_markdown', ('location','region'), 'pub_date', ('status','enable_comments'), 'tags', 'slug'), 'classes': ('show','extrapretty','wide')}), ('Pub Location', {'fields': ('point',('thumbnail',),'dek'), 'classes': ('collapse', 'wide')}), ) extra_js = [GMAP.api_url + GMAP.key] map_template = 'gis/admin/google.html' # Default GeoDjango OpenLayers map options # Uncomment and modify as desired # To learn more about this jargon visit: # www.openlayers.org default_lon = -9314310 default_lat = 3991847 default_zoom = 6 #display_wkt = False #display_srid = False #extra_js = [] #num_zoom = 18 #max_zoom = False #min_zoom = False #units = False #max_resolution = False #max_extent = False #modifiable = True #mouse_position = True #scale_text = True #layerswitcher = True scrollable = False #admin_media_prefix = settings.ADMIN_MEDIA_PREFIX map_width = 700 map_height = 325 #map_srid = 4326 #map_template = 'gis/admin/openlayers.html' #openlayers_url = 'http://openlayers.org/api/2.6/OpenLayers.js' #wms_url = 'http://labs.metacarta.com/wms/vmap0' #wms_layer = 'basic' #wms_name = 'OpenLayers WMS' #debug = False #widget = OpenLayersWidget class PostImageAdmin(admin.ModelAdmin): list_display = ('title', 'output_tags') admin.site.register(PostImage, PostImageAdmin) admin.site.register(Entry, EntryAdmin)