1 from django.db.models import Q
2 from django.contrib import admin
3 from django import forms
4 from django.utils.timezone import now
5 from admin_ordering.admin import OrderableAdmin
6 from modeltranslation.admin import TranslationAdmin
7 from wolnelektury.utils import YesNoFilter
12 admin.site.register(models.Campaign)
15 class IsCurrentFilter(YesNoFilter):
17 parameter_name = 'current'
22 return ~(Q(since__gt=n) | Q(until__lt=n) | Q(campaign__start__gt=n) | Q(campaign__end__lt=n))
25 class BannerAdmin(TranslationAdmin):
30 'show_members', 'staff_preview', 'only_authenticated']
35 autocomplete_fields = ['books']
38 admin.site.register(models.Banner, BannerAdmin)
41 class DTITForm(forms.ModelForm):
43 model = models.DynamicTextInsertText
46 'background_color': forms.TextInput(attrs={"type": "color"}),
47 'text_color': forms.TextInput(attrs={"type": "color"}),
51 class DynamicTextInsertTextInline(admin.TabularInline):
52 model = models.DynamicTextInsertText
54 fields = ['text', 'image', 'own_colors', 'background_color', 'text_color']
60 class DynamicTextInsertAdmin(admin.ModelAdmin):
61 list_display = ['paragraphs']
62 inlines = [DynamicTextInsertTextInline]
65 admin.site.register(models.DynamicTextInsert, DynamicTextInsertAdmin)
68 class MediaInsertTextInline(OrderableAdmin, admin.TabularInline):
69 model = models.MediaInsertText
74 @admin.register(models.MediaInsertSet)
75 class MediaInsertSetAdmin(admin.ModelAdmin):
76 list_display = ['file_format', 'etag']
77 inlines = [MediaInsertTextInline]
78 readonly_fields = ['etag']