changeset 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 75ea1a8be7f2
children 6f3beff3ac63
files gpp/bio/signals.py gpp/downloads/signals.py gpp/forums/signals.py gpp/membermap/signals.py gpp/weblinks/signals.py
diffstat 5 files changed, 19 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- 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')
--- 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')
--- 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')
--- 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')
--- 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')