from django.contrib import admin from django import forms from blog.models import Entry, PostImage, Topic 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','template_name', 'status','region','location','photo_gallery') 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'), 'slug','photo_gallery'), 'classes': ('show','extrapretty','wide')}), ('Pub Location', {'fields': ('point',('image','thumbnail',),'dek', 'topics', 'meta_description','template_name'), 'classes': ('collapse', 'wide')}), ) class Media: js = ['/media/admin/custom/model.js'] extra_js = [GMAP.api_url + GMAP.key] map_template = 'gis/admin/google.html' #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') class TopicAdmin(admin.ModelAdmin): list_display = ('name', 'slug') admin.site.register(Topic, TopicAdmin) admin.site.register(PostImage, PostImageAdmin) admin.site.register(Entry, EntryAdmin)