view gpp/forums/admin.py @ 122:b28d30848c57

Forums: monkey-patch the user profile onto the post object when doing a quick ajax reply.
author Brian Neal <bgneal@gmail.com>
date Tue, 27 Oct 2009 02:56:16 +0000
parents d97ceb95ce02
children 500e5875a306
line wrap: on
line source
"""
This file contains the admin definitions for the forums application.
"""
from django.contrib import admin

from forums.models import Category
from forums.models import Forum
from forums.models import Topic
from forums.models import Post
from forums.models import FlaggedPost
from forums.models import TopicLastVisit


class CategoryAdmin(admin.ModelAdmin):
    list_display = ('name', 'position', )
    prepopulated_fields = { 'slug': ('name', ) }
    save_on_top = True


class ForumAdmin(admin.ModelAdmin):
    list_display = ('name', 'category', 'position', 'topic_count', 'post_count')
    prepopulated_fields = { 'slug': ('name', ) }
    raw_id_fields = ('last_post', )
    save_on_top = True


class TopicAdmin(admin.ModelAdmin):
    list_display = ('name', 'forum', 'creation_date', 'update_date', 'user', 'sticky', 'locked',
            'post_count')
    raw_id_fields = ('user', 'last_post', )
    search_fields = ('name', )
    date_hierarchy = 'creation_date'
    list_filter = ('creation_date', 'update_date', )
    save_on_top = True


class PostAdmin(admin.ModelAdmin):
    list_display = ('topic', 'user', 'creation_date', 'update_date', 'summary')
    raw_id_fields = ('topic', 'user', )
    exclude = ('html', )
    search_fields = ('body', )
    date_hierarchy = 'creation_date'
    list_filter = ('creation_date', 'update_date', )
    ordering = ('-creation_date', )
    save_on_top = True


class FlaggedPostAdmin(admin.ModelAdmin):
    list_display = ('__unicode__', 'flag_date', 'get_post_url')


class TopicLastVisitAdmin(admin.ModelAdmin):
    raw_id_fields = ('user', 'topic')
    list_display = ('user', 'topic', 'last_visit')


admin.site.register(Category, CategoryAdmin)
admin.site.register(Forum, ForumAdmin)
admin.site.register(Topic, TopicAdmin)
admin.site.register(Post, PostAdmin)
admin.site.register(FlaggedPost, FlaggedPostAdmin)
admin.site.register(TopicLastVisit, TopicLastVisitAdmin)