X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/f1ca816d6a3c478d7d0f8018a57aa6b8a0762201..df6d939e24b62fb0424a0793e6ded1317a5b4915:/src/annoy/admin.py diff --git a/src/annoy/admin.py b/src/annoy/admin.py index 8470a1203..74a4dbc49 100644 --- a/src/annoy/admin.py +++ b/src/annoy/admin.py @@ -1,15 +1,38 @@ +from django.db.models import Q from django.contrib import admin from django import forms +from django.utils.timezone import now +from admin_ordering.admin import OrderableAdmin from modeltranslation.admin import TranslationAdmin +from wolnelektury.utils import YesNoFilter from . import models + +admin.site.register(models.Campaign) + + +class IsCurrentFilter(YesNoFilter): + title = 'Aktualny' + parameter_name = 'current' + + @property + def q(self): + n = now() + return ~(Q(since__gt=n) | Q(until__lt=n) | Q(campaign__start__gt=n) | Q(campaign__end__lt=n)) + + class BannerAdmin(TranslationAdmin): list_display = [ 'place', 'text', - 'text_color', 'background_color', - 'priority', 'since', 'until', + 'campaign', + 'since', 'until', 'show_members', 'staff_preview', 'only_authenticated'] + list_filter = [ + 'campaign', + IsCurrentFilter, + ] + autocomplete_fields = ['books'] admin.site.register(models.Banner, BannerAdmin) @@ -40,3 +63,16 @@ class DynamicTextInsertAdmin(admin.ModelAdmin): admin.site.register(models.DynamicTextInsert, DynamicTextInsertAdmin) + + +class MediaInsertTextInline(OrderableAdmin, admin.TabularInline): + model = models.MediaInsertText + extra = 0 + min_num = 1 + + +@admin.register(models.MediaInsertSet) +class MediaInsertSetAdmin(admin.ModelAdmin): + list_display = ['file_format', 'etag'] + inlines = [MediaInsertTextInline] + readonly_fields = ['etag']