from django.contrib import admin from django import forms from blog.models import Entry, PostImage, EntryAside from blog.widgets import AdminImageWidget from django.contrib.gis.admin import OSMGeoAdmin from django.conf import settings from models import * class EntryAsideInline(admin.TabularInline): model = EntryAside extra = 1 class EntryAsideAdmin(admin.ModelAdmin): pass class BlogEntryForm(forms.ModelForm): class Meta: model = Entry widgets = { 'body_markdown': forms.Textarea(attrs={'rows':50, 'cols':100}), } class EntryAdmin(OSMGeoAdmin): form = BlogEntryForm inlines = [EntryAsideInline,] def formfield_for_dbfield(self, db_field, **kwargs): if db_field.name == 'thumbnail' or db_field.name == 'image' : 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','location__state__country__lux_region',) fieldsets = ( ('Entry', {'fields': ('title','body_markdown', ('pub_date', 'status'), 'slug','point'), 'classes': ('show','extrapretty','wide')}), ('Formatting data', {'fields': ('dek','meta_description', ('image','thumbnail',),'template_name'), 'classes': ('grp-collapse grp-closed',)}), ) class Media: js = ['/media/admin/custom/model.js'] map_template = 'gis/admin/osm.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', 'post_image') admin.site.register(PostImage, PostImageAdmin) admin.site.register(EntryAside, EntryAsideAdmin) admin.site.register(Entry, EntryAdmin)