Mercurial > public > sg101
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) |