from django.contrib import admin from django.contrib.gis.admin import OSMGeoAdmin from django.contrib.contenttypes.admin import GenericTabularInline from notes.models import Note, LuxNote from syndication.models import SyndicatedItem from utils.widgets import LGEntryForm, OLAdminBase class SyndicatedInline(GenericTabularInline): model = SyndicatedItem extra = 0 max_num = 1 class LuxNoteAdmin(OLAdminBase): inlines = [ SyndicatedInline, ] prepopulated_fields = {"slug": ('title',)} list_display = ('slug', 'pub_date', 'location') fieldsets = ( ('Note', { 'fields': ( ('title', 'slug'), 'body_markdown', ('pub_date', 'status'), 'point' ), 'classes': ( 'show', 'extrapretty', 'wide' ) } ), ) admin.site.register(LuxNote, LuxNoteAdmin) class NoteAdmin(OSMGeoAdmin): form = LGEntryForm list_display = ('slug', 'date_created', 'location', 'twitter_id') list_filter = ('location',) prepopulated_fields = {"slug": ('title',)} fieldsets = ( ('Note', { 'fields': ( 'title', 'body_markdown', ('twitter_send', 'slug'), 'point' ), 'classes': ( 'show', 'extrapretty', 'wide' ) }), ) # options for OSM map Using custom ESRI topo map default_lon = -9285175 default_lat = 4025046 default_zoom = 11 units = True scrollable = False map_width = 700 map_height = 425 map_template = 'gis/admin/osm.html' openlayers_url = '/static/admin/js/OpenLayers.js' class Media: js = ( '/static/jquery.simplyCountable.js', '/static/count.js', ) admin.site.register(Note, NoteAdmin)