view shoutbox/admin.py @ 953:8647a669edb4

Fix excessive cache usage for forum date/times. Issue #84. Hitting the cache 30+ times while browsing the forums to adjust all the dates/times into the user's time zone. Just hit the user's profile and be done with it. It should be loaded.
author Brian Neal <bgneal@gmail.com>
date Tue, 19 May 2015 21:08:45 -0500
parents ee87ea74d46b
children
line wrap: on
line source
"""
This file contains the automatic admin site definitions for the shoutbox models.
"""
from django.contrib import admin
from shoutbox.models import Shout
from shoutbox.models import ShoutFlag

class ShoutAdmin(admin.ModelAdmin):
    list_display = ('__unicode__', 'user', 'shout_date')
    raw_id_fields = ('user', )
    date_hierarchy = 'shout_date'
    exclude = ('html', )
    search_fields = ('shout', 'user__username')
    list_filter = ('shout_date', )


class ShoutFlagAdmin(admin.ModelAdmin):
    list_display = ('__unicode__', 'flag_date', 'shout', 'get_shout_url')
    actions = ('delete_shouts', )

    def delete_shouts(self, request, qs):
        """
        Admin action function to delete the shouts associated with the shout
        flags.
        """
        for flag in qs:
            flag.shout.delete()     # will delete the flag too

    delete_shouts.short_description = "Delete selected flags & shouts"


admin.site.register(Shout, ShoutAdmin)
admin.site.register(ShoutFlag, ShoutFlagAdmin)