gulasch-r0mstore/roms/admin.py

40 lines
1.3 KiB
Python

from django.contrib import admin
from taggit_helpers.admin import TaggitListFilter, TaggitTabularInline
from roms.models import Rom
class RomAdmin(admin.ModelAdmin):
list_display = ('name', 'approved', 'tag_list')
list_filter = [TaggitListFilter]
actions = ['mark_approved', 'mark_disapproved']
inlines = [
TaggitTabularInline
]
def tag_list(self, obj):
return u", ".join(obj.tag_list())
def mark_approved(self, request, queryset):
rows_updated = queryset.update(approved=True)
if rows_updated == 1:
message_bit = "One rom was"
else:
message_bit = "%d roms were" % rows_updated
self.message_user(request, "%s successfully marked as approved." % message_bit)
mark_approved.short_description = "Mark selected roms as approved"
def mark_disapproved(self, request, queryset):
rows_updated = queryset.update(approved=False)
if rows_updated == 1:
message_bit = "One rom was"
else:
message_bit = "%d roms were" % rows_updated
self.message_user(request, "%s successfully marked as disapproved." % message_bit)
mark_disapproved.short_description = "Mark selected roms as disapproved"
admin.site.register(Rom, RomAdmin)