1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
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)
|