annotate gpp/potd/admin.py @ 330:3c951521e0ec

Fixing #152; POTD was saving thumbnail every night and making tons of thumbnail directories all over. Also added thumbnail images in the admin.
author Brian Neal <bgneal@gmail.com>
date Thu, 24 Feb 2011 03:45:50 +0000
parents ded03f2513e9
children 4021ea1045f7
rev   line source
gremmie@1 1 """
gremmie@1 2 This file contains the admin definitions for the POTD application.
gremmie@1 3 """
bgneal@267 4 from django.contrib import admin
bgneal@267 5 from django.conf import settings
gremmie@1 6
gremmie@1 7 from potd.models import Photo
gremmie@1 8 from potd.models import Current
gremmie@1 9 from potd.models import Sequence
gremmie@1 10
bgneal@267 11
bgneal@330 12 IMG_TAG = '<img src="%s" alt="thumbnail" />'
bgneal@330 13
bgneal@330 14
gremmie@1 15 class PhotoAdmin(admin.ModelAdmin):
bgneal@330 16 fields = ('photo', 'caption', 'description', 'user', 'potd_count')
gremmie@1 17 raw_id_fields = ('user', )
bgneal@330 18 list_display = ('__unicode__', 'thumbnail')
bgneal@330 19 actions = ('regen_thumbnail', )
gremmie@1 20
bgneal@267 21 class Media:
bgneal@267 22 js = settings.GPP_THIRD_PARTY_JS['tiny_mce']
bgneal@267 23
bgneal@330 24 def thumbnail(self, obj):
bgneal@330 25 return IMG_TAG % obj.thumb.url
bgneal@330 26 thumbnail.allow_tags = True
bgneal@330 27
bgneal@330 28 def regen_thumbnail(self, request, qs):
bgneal@330 29 """
bgneal@330 30 Regenerates the thumbnail for the selected photos.
bgneal@330 31 """
bgneal@330 32 for photo in qs:
bgneal@330 33 photo.generate_thumb()
bgneal@330 34 photo.save()
bgneal@330 35
bgneal@330 36 regen_thumbnail.short_description = "Regenerate thumbs for selected photos"
bgneal@330 37
bgneal@330 38
gremmie@1 39 class CurrentAdmin(admin.ModelAdmin):
bgneal@330 40 list_display = ('__unicode__', 'thumbnail')
gremmie@1 41 raw_id_fields = ('potd', )
gremmie@1 42
bgneal@330 43 def thumbnail(self, obj):
bgneal@330 44 return IMG_TAG % obj.potd.thumb.url
bgneal@330 45 thumbnail.allow_tags = True
bgneal@330 46
bgneal@330 47
gremmie@1 48 admin.site.register(Photo, PhotoAdmin)
gremmie@1 49 admin.site.register(Current, CurrentAdmin)
gremmie@1 50 admin.site.register(Sequence)