Mercurial > public > sg101
view forums/admin.py @ 861:e4f8d87c3d30
Configure Markdown logger to reduce noise in logs.
Markdown is logging at the INFO level whenever it loads an extension.
This looks like it has been fixed in master at GitHub. But until then
we will explicitly configure the MARKDOWN logger to log at WARNING
or higher.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Mon, 01 Dec 2014 18:36:27 -0600 |
parents | 3e1905e523be |
children |
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 ForumLastVisit from forums.models import TopicLastVisit from forums.signals import (notify_new_topic, notify_updated_topic, notify_new_post, notify_updated_post) import bio.badges class CategoryAdmin(admin.ModelAdmin): list_display = ('name', 'position', ) list_editable = ('position', ) prepopulated_fields = { 'slug': ('name', ) } save_on_top = True class ForumAdmin(admin.ModelAdmin): list_display = ('name', 'category', 'position', 'topic_count', 'post_count') list_editable = ('position', ) prepopulated_fields = { 'slug': ('name', ) } raw_id_fields = ('last_post', ) ordering = ('category', ) 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', 'subscribers', 'bookmarkers') search_fields = ('name', ) date_hierarchy = 'creation_date' list_filter = ('creation_date', 'update_date', ) save_on_top = True # override save_model() to update the search index def save_model(self, request, obj, form, change): obj.save() if change: notify_updated_topic(obj) else: notify_new_topic(obj) class PostAdmin(admin.ModelAdmin): list_display = ('user', 'creation_date', 'update_date', 'user_ip', '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 def get_queryset(self, request): return Post.objects.select_related('user') # override save_model() to update the search index def save_model(self, request, obj, form, change): obj.save() if change: notify_updated_post(obj) else: notify_new_post(obj) class FlaggedPostAdmin(admin.ModelAdmin): list_display = ['__unicode__', 'flag_date', 'get_post_url'] actions = ['accept_flags'] raw_id_fields = ['post', 'user', ] def accept_flags(self, request, qs): """This admin action awards a security pin to the user who reported the post and then deletes the flagged post object. """ for flag in qs: bio.badges.award_badge(bio.badges.SECURITY_PIN, flag.user) flag.delete() accept_flags.short_description = "Accept selected flagged posts" class ForumLastVisitAdmin(admin.ModelAdmin): raw_id_fields = ('user', 'forum') list_display = ('user', 'forum', 'begin_date', 'end_date') 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(ForumLastVisit, ForumLastVisitAdmin) admin.site.register(TopicLastVisit, TopicLastVisitAdmin)