-
Notifications
You must be signed in to change notification settings - Fork 12
/
admin.py
35 lines (27 loc) · 1.07 KB
/
admin.py
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
from gallery.models import Image, Album
from django.contrib import admin
from imagekit.admin import AdminThumbnail
# Support adminsortable2 optionally
import importlib
if importlib.util.find_spec('adminsortable2', 'admin'):
from adminsortable2.admin import SortableAdminMixin
else:
# Mock up class for mixin
class SortableAdminMixin:
mock = True
class ImageAdmin(admin.ModelAdmin):
admin_thumbnail = AdminThumbnail(image_field='data_thumbnail', template='gallery/admin/thumbnail.html')
list_display = ('title', 'admin_thumbnail', 'date_taken', 'date_uploaded')
list_filter = ('image_albums',)
list_per_page = 25
readonly_fields = ('admin_thumbnail',)
class AlbumAdmin(SortableAdminMixin, admin.ModelAdmin):
list_display = ('order', 'title')
list_display_links = ('title',)
if hasattr(SortableAdminMixin, 'mock'):
list_editable = ('order',)
list_display = ('title', 'order')
filter_horizontal = ('images',)
raw_id_fields = ('highlight',)
admin.site.register(Image, ImageAdmin)
admin.site.register(Album, AlbumAdmin)