# HG changeset patch # User Brian Neal # Date 1285115099 0 # Node ID 3a4bbf9c2cce29b72994227b5a38b59066ecc415 # Parent 75ea1a8be7f2d56ce84ebea3bc3f0d2d75579746 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. diff -r 75ea1a8be7f2 -r 3a4bbf9c2cce gpp/bio/signals.py --- a/gpp/bio/signals.py Tue Sep 21 23:49:05 2010 +0000 +++ b/gpp/bio/signals.py Wed Sep 22 00:24:59 2010 +0000 @@ -64,8 +64,8 @@ bio.badges.award_badge(bio.badges.NEWS_PIN, story.submitter) -post_save.connect(on_user_save, sender=User) -post_save.connect(on_donation_save, sender=Donation) -post_save.connect(on_link_save, sender=Link) -post_save.connect(on_download_save, sender=Download) -post_save.connect(on_story_save, sender=Story) +post_save.connect(on_user_save, sender=User, dispatch_uid='bio.signals') +post_save.connect(on_donation_save, sender=Donation, dispatch_uid='bio.signals') +post_save.connect(on_link_save, sender=Link, dispatch_uid='bio.signals') +post_save.connect(on_download_save, sender=Download, dispatch_uid='bio.signals') +post_save.connect(on_story_save, sender=Story, dispatch_uid='bio.signals') diff -r 75ea1a8be7f2 -r 3a4bbf9c2cce gpp/downloads/signals.py --- a/gpp/downloads/signals.py Tue Sep 21 23:49:05 2010 +0000 +++ b/gpp/downloads/signals.py Wed Sep 22 00:24:59 2010 +0000 @@ -37,5 +37,7 @@ cat.save() -post_save.connect(on_download_save, sender=Download) -post_delete.connect(on_download_delete, sender=Download) +post_save.connect(on_download_save, sender=Download, + dispatch_uid='downloads.signals') +post_delete.connect(on_download_delete, sender=Download, + dispatch_uid='downloads.signals') diff -r 75ea1a8be7f2 -r 3a4bbf9c2cce gpp/forums/signals.py --- a/gpp/forums/signals.py Tue Sep 21 23:49:05 2010 +0000 +++ b/gpp/forums/signals.py Wed Sep 22 00:24:59 2010 +0000 @@ -49,8 +49,8 @@ post.topic.forum.save() -post_save.connect(on_topic_save, sender=Topic) -post_delete.connect(on_topic_delete, sender=Topic) +post_save.connect(on_topic_save, sender=Topic, dispatch_uid='forums.signals') +post_delete.connect(on_topic_delete, sender=Topic, dispatch_uid='forums.signals') -post_save.connect(on_post_save, sender=Post) -post_delete.connect(on_post_delete, sender=Post) +post_save.connect(on_post_save, sender=Post, dispatch_uid='forums.signals') +post_delete.connect(on_post_delete, sender=Post, dispatch_uid='forums.signals') diff -r 75ea1a8be7f2 -r 3a4bbf9c2cce gpp/membermap/signals.py --- a/gpp/membermap/signals.py Tue Sep 21 23:49:05 2010 +0000 +++ b/gpp/membermap/signals.py Wed Sep 22 00:24:59 2010 +0000 @@ -9,6 +9,7 @@ def on_profile_save(sender, **kwargs): + import pdb; pdb.set_trace() if 'instance' in kwargs: profile = kwargs['instance'] try: @@ -20,4 +21,6 @@ map_entry.save() -post_save.connect(on_profile_save, sender=UserProfile) +post_save.connect(on_profile_save, + sender=UserProfile, + dispatch_uid='membermap.signals') diff -r 75ea1a8be7f2 -r 3a4bbf9c2cce gpp/weblinks/signals.py --- a/gpp/weblinks/signals.py Tue Sep 21 23:49:05 2010 +0000 +++ b/gpp/weblinks/signals.py Wed Sep 22 00:24:59 2010 +0000 @@ -37,5 +37,5 @@ cat.save() -post_save.connect(on_link_save, sender=Link) -post_delete.connect(on_link_delete, sender=Link) +post_save.connect(on_link_save, sender=Link, dispatch_uid='weblinks.signals') +post_delete.connect(on_link_delete, sender=Link, dispatch_uid='weblinks.signals')