annotate gpp/membermap/signals.py @ 166:8acf5be27f18

Implement #50, add a template tag to display the latest poll and add to the home page.
author Brian Neal <bgneal@gmail.com>
date Sun, 17 Jan 2010 20:24:01 +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)