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
|
from django.contrib import admin
from django import forms
from .models import LuxImage, LuxGallery, LuxImageSize, LuxVideo
from django.shortcuts import render
from django.contrib.admin import helpers
from django.http import HttpResponseRedirect
from utils.widgets import OLAdminBase
@admin.register(LuxImageSize)
class LuxImageSizeAdmin(admin.ModelAdmin):
list_display = ('name','slug', 'width', 'height', 'quality')
@admin.register(LuxVideo)
class LuxVideoAdmin(OLAdminBase):
pass
@admin.register(LuxImage)
class LuxImageAdmin(OLAdminBase):
list_display = ('pk', 'admin_thumbnail', 'pub_date', 'caption', 'location')
list_filter = ('pub_date', 'location')
search_fields = ['title', 'caption', 'alt']
list_editable = ('location',)
fieldsets = (
(None, {
'fields': (
'image',
'alt',
'sizes',
'caption',
'pub_date',
'point',
)
}),
('Exif and Other Data', {
'classes': ('collapse',),
'fields': (
('is_public'),
('photo_credit_source', 'photo_credit_url'),
'exif_raw', 'exif_aperture', 'exif_make', 'exif_model', 'exif_exposure', 'exif_iso', 'exif_focal_length', 'exif_lens', 'exif_date', 'height', 'width'),
}),
)
def save_related(self, request, form, formsets, change):
super(LuxImageAdmin, self).save_related(request, form, formsets, change)
if not form.instance.sizes.all():
print("there are no sizes")
form.instance.sizes.add(*LuxImageSize.objects.filter(slug__in=["picwide-sm", "picwide-med", "picwide"]))
class Media:
js = ('image-preview.js', 'next-prev-links.js')
|