Editable media inserts.
[wolnelektury.git] / src / annoy / admin.py
1 from django.contrib import admin
2 from django import forms
3 from admin_ordering.admin import OrderableAdmin
4 from modeltranslation.admin import TranslationAdmin
5 from . import models
6
7
8 class BannerAdmin(TranslationAdmin):
9     list_display = [
10             'place', 'text',
11             'text_color', 'background_color',
12             'priority', 'since', 'until',
13             'show_members', 'staff_preview', 'only_authenticated']
14
15
16 admin.site.register(models.Banner, BannerAdmin)
17
18
19 class DTITForm(forms.ModelForm):
20     class Meta:
21         model = models.DynamicTextInsertText
22         fields = '__all__'
23         widgets = {
24             'background_color': forms.TextInput(attrs={"type": "color"}),
25             'text_color': forms.TextInput(attrs={"type": "color"}),
26         }
27
28
29 class DynamicTextInsertTextInline(admin.TabularInline):
30     model = models.DynamicTextInsertText
31     form = DTITForm
32     fields = ['text', 'image', 'own_colors', 'background_color', 'text_color']
33     extra = 0
34     min_num = 1
35
36
37
38 class DynamicTextInsertAdmin(admin.ModelAdmin):
39     list_display = ['paragraphs']
40     inlines = [DynamicTextInsertTextInline]
41
42
43 admin.site.register(models.DynamicTextInsert, DynamicTextInsertAdmin)
44
45
46 class MediaInsertTextInline(OrderableAdmin, admin.TabularInline):
47     model = models.MediaInsertText
48     extra = 0
49     min_num = 1
50
51
52 @admin.register(models.MediaInsertSet)
53 class MediaInsertSetAdmin(admin.ModelAdmin):
54     list_display = ['file_format', 'etag']
55     inlines = [MediaInsertTextInline]
56     readonly_fields = ['etag']