annotate gpp/membermap/signals.py @ 145:71cb4208dc98

Tweak to #30, admin dashboard. Because of a bug in Django (9568), my dashboard appears on the login page. To get around this, pass in the user to the templatetag, so it can do a 'if user.is_staff' check. Also tweaked the HTML and CSS to show non-zero pending items in red. Shortened the pending item titles for readability.
author Brian Neal <bgneal@gmail.com>
date Wed, 09 Dec 2009 00:03:10 +0000
parents 0140ff687d49
children 3a4bbf9c2cce
rev   line source
gremmie@1 1 """
gremmie@1 2 Signal handlers for the membermap application.
gremmie@1 3 We want to detect changes to the UserProfile model. If that person is on
gremmie@1 4 the map, re-save her MapEntry so that any avatar changes get picked up.
gremmie@1 5 """
gremmie@1 6 from django.db.models.signals import post_save
gremmie@1 7 from bio.models import UserProfile
gremmie@1 8 from membermap.models import MapEntry
gremmie@1 9
gremmie@1 10
gremmie@1 11 def on_profile_save(sender, **kwargs):
gremmie@1 12 if 'instance' in kwargs:
gremmie@1 13 profile = kwargs['instance']
bgneal@46 14 try:
bgneal@46 15 map_entry = MapEntry.objects.get(user=profile.user)
bgneal@46 16 except MapEntry.DoesNotExist:
bgneal@46 17 # Not on the map, no harm, no foul
bgneal@46 18 return
gremmie@1 19 if map_entry is not None:
gremmie@1 20 map_entry.save()
gremmie@1 21
gremmie@1 22
gremmie@1 23 post_save.connect(on_profile_save, sender=UserProfile)