gremmie@1: """
gremmie@1: Signal handlers for the membermap application.
gremmie@1: We want to detect changes to the UserProfile model. If that person is on
gremmie@1: the map, re-save her MapEntry so that any avatar changes get picked up.
gremmie@1: """
gremmie@1: from django.db.models.signals import post_save
gremmie@1: from bio.models import UserProfile
gremmie@1: from membermap.models import MapEntry
gremmie@1: 
gremmie@1: 
gremmie@1: def on_profile_save(sender, **kwargs):
gremmie@1:     if 'instance' in kwargs:
gremmie@1:         profile = kwargs['instance']
bgneal@46:         try:
bgneal@46:             map_entry = MapEntry.objects.get(user=profile.user)
bgneal@46:         except MapEntry.DoesNotExist:
bgneal@46:             # Not on the map, no harm, no foul
bgneal@46:             return
gremmie@1:         if map_entry is not None:
gremmie@1:             map_entry.save()
gremmie@1: 
gremmie@1: 
gremmie@1: post_save.connect(on_profile_save, sender=UserProfile)