Mercurial > public > sg101
diff news/admin.py @ 581:ee87ea74d46b
For Django 1.4, rearranged project structure for new manage.py.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sat, 05 May 2012 17:10:48 -0500 |
parents | gpp/news/admin.py@7854d75427af |
children | 6dba56996a21 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/news/admin.py Sat May 05 17:10:48 2012 -0500 @@ -0,0 +1,69 @@ +""" +This file contains the automatic admin site definitions for the News models. +""" +import datetime + +from django.contrib import admin +from django.conf import settings + +from news.models import PendingStory +from news.models import Story +from news.models import Category + + +class CategoryAdmin(admin.ModelAdmin): + prepopulated_fields = {'slug': ("title", )} + list_display = ('title', 'slug') + + +class PendingStoryAdmin(admin.ModelAdmin): + list_display = ('title', 'date_submitted', 'submitter') + list_filter = ('date_submitted', ) + search_fields = ('title', 'short_text', 'long_text') + date_hierarchy = 'date_submitted' + actions = ('approve_story', ) + readonly_fields = ('update_date', ) + raw_id_fields = ('submitter', ) + + def approve_story(self, request, qs): + for pending_story in qs: + story = Story( + title=pending_story.title, + submitter=pending_story.submitter, + category=pending_story.category, + short_text=pending_story.short_text, + long_text=pending_story.long_text, + date_submitted=pending_story.date_submitted, + allow_comments=pending_story.allow_comments, + tags=pending_story.tags, + front_page_expiration=pending_story.front_page_expiration, + priority=pending_story.priority, + meta_description=pending_story.meta_description) + story.save() + pending_story.delete() + + count = len(qs) + msg = "1 story" if count == 1 else "%d stories" % count + self.message_user(request, "%s approved." % msg) + + approve_story.short_description = "Approve selected pending stories" + + class Media: + js = ['js/news_admin.js'] + settings.GPP_THIRD_PARTY_JS['tiny_mce'] + + +class StoryAdmin(admin.ModelAdmin): + list_display = ('title', 'date_submitted', 'submitter', 'category') + list_filter = ('date_submitted', 'category') + search_fields = ('title', 'short_text', 'long_text') + date_hierarchy = 'date_submitted' + readonly_fields = ('update_date', ) + raw_id_fields = ('submitter', ) + + class Media: + js = ['js/news_admin.js'] + settings.GPP_THIRD_PARTY_JS['tiny_mce'] + + +admin.site.register(Category, CategoryAdmin) +admin.site.register(Story, StoryAdmin) +admin.site.register(PendingStory, PendingStoryAdmin)