Str/bytes fix for publishing audiobooks.
[wolnelektury.git] / src / social / admin.py
index 3da4ae8..0a634ed 100755 (executable)
@@ -1,23 +1,25 @@
-# -*- coding: utf-8 -*-
 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
 from django.contrib import admin
 from django.utils.translation import ugettext_lazy as _
 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
 from django.contrib import admin
 from django.utils.translation import ugettext_lazy as _
-
-from social.models import Cite
+from admin_ordering.admin import OrderableAdmin
+from social.models import Cite, BannerGroup, Carousel, CarouselItem
 
 
 class CiteAdmin(admin.ModelAdmin):
 
 
 class CiteAdmin(admin.ModelAdmin):
-    list_display = ['nonempty_text', 'sticky', 'vip', 'small', 'has_image']
+    list_display = ['nonempty_text', 'created_at', 'sticky', 'vip', 'small', 'has_image']
+    list_filter = ['group']
+    readonly_fields = ['created_at']
     fieldsets = (
     fieldsets = (
-        (None, {'fields': ('book', 'text', 'small', 'vip', 'link', 'sticky')}),
+        (None, {'fields': ('group', 'sticky', 'created_at')}),
+        (_('Content'), {'fields': ('book', 'text', 'small', 'vip', 'link', 'video', 'picture', 'banner')}),
         (
             _('Background'),
         (
             _('Background'),
-            {'fields': ('image', 'image_shift', 'image_title', 'image_author',
-                'image_link', 'image_license', 'image_license_link')
-                }
-            )
+            {'fields': (
+                'image', 'image_shift', 'image_title', 'image_author',
+                'image_link', 'image_license', 'image_license_link')},
+        )
     )
 
     def nonempty_text(self, cite):
     )
 
     def nonempty_text(self, cite):
@@ -33,3 +35,24 @@ class CiteAdmin(admin.ModelAdmin):
 
 
 admin.site.register(Cite, CiteAdmin)
 
 
 admin.site.register(Cite, CiteAdmin)
+
+
+class BannerGroupAdmin(admin.ModelAdmin):
+    list_display = ['name', 'created_at']
+    fields = ['name', 'created_at']
+    readonly_fields = ['created_at']
+
+admin.site.register(BannerGroup, BannerGroupAdmin)
+
+
+class CarouselItemInline(OrderableAdmin, admin.TabularInline):
+    model = CarouselItem
+    ordering_field = 'order'
+
+
+class CarouselAdmin(admin.ModelAdmin):
+    inlines = [CarouselItemInline]
+
+
+admin.site.register(Carousel, CarouselAdmin)
+