Mercurial > public > sg101
view gpp/membermap/signals.py @ 260:3a4bbf9c2cce
Fixing #107. Apparently some signal handlers were getting connected twice (double import?) and thus saving a forum post would cause 2 email notifications to go out to the post topic's subscribers. Use the dispatch_uid parameter in the connect call to work around this issue.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Wed, 22 Sep 2010 00:24:59 +0000 |
parents | 0140ff687d49 |
children | 6f3beff3ac63 |
line wrap: on
line source
""" Signal handlers for the membermap application. We want to detect changes to the UserProfile model. If that person is on the map, re-save her MapEntry so that any avatar changes get picked up. """ from django.db.models.signals import post_save from bio.models import UserProfile from membermap.models import MapEntry def on_profile_save(sender, **kwargs): import pdb; pdb.set_trace() if 'instance' in kwargs: profile = kwargs['instance'] try: map_entry = MapEntry.objects.get(user=profile.user) except MapEntry.DoesNotExist: # Not on the map, no harm, no foul return if map_entry is not None: map_entry.save() post_save.connect(on_profile_save, sender=UserProfile, dispatch_uid='membermap.signals')