annotate gpp/weblinks/admin.py @ 274:2a3285e32062

For #114, another CSS tweak.
author Brian Neal <bgneal@gmail.com>
date Sun, 26 Sep 2010 19:18:55 +0000
parents 7e8d2dda99e3
children d424b8bae71d
rev   line source
gremmie@1 1 """This file contains the automatic admin site definitions for the weblinks models"""
bgneal@204 2 import datetime
gremmie@1 3
gremmie@1 4 from django.contrib import admin
gremmie@1 5 from weblinks.models import Category
bgneal@204 6 from weblinks.models import PendingLink
gremmie@1 7 from weblinks.models import Link
gremmie@1 8 from weblinks.models import FlaggedLink
gremmie@1 9
bgneal@193 10
bgneal@193 11 class CategoryAdmin(admin.ModelAdmin):
bgneal@242 12 list_display = ('title', 'slug', 'description', 'count')
bgneal@242 13 prepopulated_fields = {'slug': ('title', )}
bgneal@193 14 readonly_fields = ('count', )
bgneal@193 15
bgneal@193 16
bgneal@204 17 class PendingLinkAdmin(admin.ModelAdmin):
bgneal@204 18 list_display = ('title', 'url', 'user', 'category', 'date_added')
bgneal@204 19 raw_id_fields = ('user', )
bgneal@204 20 actions = ('approve_links', )
bgneal@204 21
bgneal@204 22 def approve_links(self, request, qs):
bgneal@204 23 for pending_link in qs:
bgneal@204 24 link = Link(category=pending_link.category,
bgneal@204 25 title=pending_link.title,
bgneal@204 26 url=pending_link.url,
bgneal@204 27 description=pending_link.description,
bgneal@204 28 user=pending_link.user,
bgneal@204 29 date_added=datetime.datetime.now(),
bgneal@204 30 hits=0,
bgneal@204 31 is_public=True)
bgneal@204 32 link.save()
bgneal@204 33 pending_link.delete()
bgneal@204 34
bgneal@204 35 approve_links.short_description = "Approve selected links"
bgneal@204 36
bgneal@204 37
gremmie@1 38 class LinkAdmin(admin.ModelAdmin):
gremmie@1 39 list_display = ('title', 'url', 'category', 'date_added', 'hits', 'is_public')
gremmie@1 40 list_filter = ('date_added', 'is_public', 'category')
gremmie@1 41 date_hierarchy = 'date_added'
gremmie@1 42 ordering = ('-date_added', )
gremmie@1 43 search_fields = ('title', 'description', 'url', 'user__username')
gremmie@1 44 raw_id_fields = ('user', )
gremmie@1 45 save_on_top = True
gremmie@1 46
bgneal@193 47
gremmie@1 48 class FlaggedLinkAdmin(admin.ModelAdmin):
bgneal@165 49 list_display = ('__unicode__', 'url', 'get_link_url', 'user', 'date_flagged')
gremmie@1 50 date_hierarchy = 'date_flagged'
gremmie@1 51 raw_id_fields = ('user', )
gremmie@1 52
bgneal@193 53 admin.site.register(Category, CategoryAdmin)
bgneal@204 54 admin.site.register(PendingLink, PendingLinkAdmin)
gremmie@1 55 admin.site.register(Link, LinkAdmin)
gremmie@1 56 admin.site.register(FlaggedLink, FlaggedLinkAdmin)