summaryrefslogtreecommitdiff
path: root/app/unused_apps/jrnl/admin.py
diff options
context:
space:
mode:
authorluxagraf <sng@luxagraf.net>2020-11-15 10:13:08 -0500
committerluxagraf <sng@luxagraf.net>2020-11-15 10:13:08 -0500
commit7509da286bccd1dda358507cd455f9297db59247 (patch)
tree779aa3660e453d73268d22a72d9a5599cc94aa02 /app/unused_apps/jrnl/admin.py
parentb2434dcba142961b4a4b67780cf64e01d0908bf5 (diff)
ported jrnl building to posts
Diffstat (limited to 'app/unused_apps/jrnl/admin.py')
-rw-r--r--app/unused_apps/jrnl/admin.py129
1 files changed, 129 insertions, 0 deletions
diff --git a/app/unused_apps/jrnl/admin.py b/app/unused_apps/jrnl/admin.py
new file mode 100644
index 0000000..32ef69b
--- /dev/null
+++ b/app/unused_apps/jrnl/admin.py
@@ -0,0 +1,129 @@
+from django.contrib import admin
+from django import forms
+from django.contrib.gis.admin import OSMGeoAdmin
+from django.contrib.contenttypes.admin import GenericStackedInline
+
+from utils.widgets import AdminImageWidget, LGEntryForm
+from .models import Entry, HomepageCurrator, Home #, RelatedPost
+
+from photos.forms import GalleryForm
+from photos.models import LuxImage
+from utils.util import get_latlon
+
+
+#@admin.register(RelatedPost)
+#class RelatedPostAdmin(admin.ModelAdmin):
+# pass
+
+
+@admin.register(Entry)
+class EntryAdmin(OSMGeoAdmin):
+ form = LGEntryForm
+
+ def get_queryset(self, request):
+ test_model_qs = super(EntryAdmin, self).get_queryset(request)
+ test_model_qs = test_model_qs.prefetch_related('related').prefetch_related('books')
+
+ return test_model_qs
+
+ def render_change_form(self, request, context, *args, **kwargs):
+ #context['adminform'].form.fields['featured_image'].queryset = LuxImage.objects.all()[:200]
+ return super(EntryAdmin, self).render_change_form(request, context, *args, **kwargs)
+
+ def formfield_for_dbfield(self, db_field, **kwargs):
+ if db_field.name == 'thumbnail' or db_field.name == 'image':
+ field = forms.FileField(widget=AdminImageWidget)
+ elif db_field.name == 'meta_description':
+ field = forms.CharField(widget=forms.Textarea(attrs={'rows': 4, 'cols': 75}))
+ field.required = False
+ else:
+ field = super(EntryAdmin, self).formfield_for_dbfield(db_field, **kwargs)
+ return field
+
+ list_display = ('title', 'pub_date', 'template_name', 'status', 'location', 'photo_gallery')
+ search_fields = ['title', 'body_markdown']
+ prepopulated_fields = {"slug": ('title',)}
+ list_filter = ('pub_date', 'enable_comments', 'status', 'location__state__country__lux_region')
+ filter_horizontal = ('field_notes', 'books', 'related')
+ fieldsets = (
+ ('Entry', {
+ 'fields': (
+ 'title',
+ 'subtitle',
+ 'body_markdown',
+ ('pub_date', 'status'),
+ 'slug',
+ 'point'
+ ),
+ 'classes': (
+ 'show',
+ 'extrapretty',
+ 'wide'
+ )
+ }
+ ),
+ ('Formatting data', {
+ 'fields': (
+ 'dek',
+ 'meta_description',
+ 'template_name',
+ 'enable_comments',
+ 'featured_image',
+ ),
+ }),
+ ('Extra', {
+ 'fields': (
+ 'field_notes',
+ #'old_field_notes',
+ 'books',
+ 'related',
+ #'oldrelated',
+ ),
+ 'classes': (
+ 'collapse',
+ 'extrapretty',
+ 'wide'
+ )
+ }),
+ )
+ # options for OSM map Using custom ESRI topo map
+ lat, lon = get_latlon()
+ default_lon = lon
+ default_lat = lat
+ default_zoom = 10
+ 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 = ('image-loader.js', 'next-prev-links.js')
+ css = {
+ "all": ("my_styles.css",)
+ }
+
+
+@admin.register(HomepageCurrator)
+class HomepageCurratorAdmin(admin.ModelAdmin):
+ form = GalleryForm
+ filter_horizontal = ('popular',)
+
+ class Media:
+ js = ('image-loader.js', 'next-prev-links.js')
+ css = {
+ "all": ("my_styles.css",)
+ }
+
+
+@admin.register(Home)
+class HomeAdmin(admin.ModelAdmin):
+ form = LGEntryForm
+ filter_horizontal = ('popular',)
+
+ class Media:
+ js = ('image-loader.js', 'next-prev-links.js')
+ css = {
+ "all": ("my_styles.css",)
+ }