Improved NewsletterArticleAdmin. Corrected embed templatetag errors related to Consta...
[philo.git] / contrib / penfield / admin.py
index 4be78c0..c758e67 100644 (file)
@@ -1,6 +1,6 @@
 from django.contrib import admin
-from philo.admin import EntityAdmin
-from philo.contrib.penfield.models import BlogEntry, Blog, BlogView, Newsletter, NewsletterArticle, NewsletterIssue, NewsletterView, Embed
+from philo.admin import EntityAdmin, AddTagAdmin
+from philo.contrib.penfield.models import BlogEntry, Blog, BlogView, Newsletter, NewsletterArticle, NewsletterIssue, NewsletterView
 
 
 class TitledAdmin(EntityAdmin):
@@ -12,7 +12,7 @@ class BlogAdmin(TitledAdmin):
        pass
 
 
-class BlogEntryAdmin(TitledAdmin):
+class BlogEntryAdmin(TitledAdmin, AddTagAdmin):
        filter_horizontal = ['tags']
 
 
@@ -24,8 +24,15 @@ class NewsletterAdmin(TitledAdmin):
        pass
 
 
-class NewsletterArticleAdmin(TitledAdmin):
-       pass
+class NewsletterArticleAdmin(TitledAdmin, AddTagAdmin):
+       filter_horizontal = TitledAdmin.filter_horizontal + ('tags', 'authors')
+       list_display = ['title', 'date', 'author_names']
+       search_fields = ('title', 'authors__name',)
+       date_hierarchy = 'date'
+       
+       def author_names(self, obj):
+               return ', '.join([author.get_full_name() for author in obj.authors.all()])
+       author_names.short_description = "Authors"
 
 
 class NewsletterIssueAdmin(TitledAdmin):
@@ -36,11 +43,6 @@ class NewsletterViewAdmin(EntityAdmin):
        pass
 
 
-class EmbedAdmin(admin.ModelAdmin):
-       pass
-
-
-admin.site.register(Embed, EmbedAdmin)
 admin.site.register(Blog, BlogAdmin)
 admin.site.register(BlogEntry, BlogEntryAdmin)
 admin.site.register(BlogView, BlogViewAdmin)