Fix for unclickable cites in admin.
[wolnelektury.git] / apps / social / admin.py
index 298638a..3da4ae8 100755 (executable)
@@ -3,8 +3,33 @@
 # 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
 
 
-admin.site.register(Cite)
+class CiteAdmin(admin.ModelAdmin):
+    list_display = ['nonempty_text', 'sticky', 'vip', 'small', 'has_image']
+    fieldsets = (
+        (None, {'fields': ('book', 'text', 'small', 'vip', 'link', 'sticky')}),
+        (
+            _('Background'),
+            {'fields': ('image', 'image_shift', 'image_title', 'image_author',
+                'image_link', 'image_license', 'image_license_link')
+                }
+            )
+    )
+
+    def nonempty_text(self, cite):
+        if cite.text.strip():
+            return cite.text
+        return "(%s)" % (cite.image_title.strip() or cite.link)
+    nonempty_text.short_description = _('text')
+
+    def has_image(self, cite):
+        return bool(cite.image)
+    has_image.short_description = _('image')
+    has_image.boolean = True
+
+
+admin.site.register(Cite, CiteAdmin)