Change badge_awarded signal to use intern()'d strings instead of Badge instances, which never return the same id().
This commit is contained in:
@@ -54,7 +54,7 @@ class Award(models.Model):
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
super(Award, self).save(*args, **kwargs)
|
||||
api.badge_awarded.send_robust(sender=self.badge, award=self)
|
||||
api.badge_awarded.send_robust(sender=intern(str(self.badge.slug)), award=self)
|
||||
notification.send([self.user], "badge_awarded", {"award": self})
|
||||
|
||||
def __unicode__(self):
|
||||
|
@@ -40,6 +40,6 @@ class APITest(unittest.TestCase):
|
||||
|
||||
def testSingleSignal(self):
|
||||
api.create_badge("test_badge", "Test Badge", "Test Desc")
|
||||
api.badge_awarded.connect(self._gotAward, sender=api.find_badge("test_badge"))
|
||||
api.badge_awarded.connect(self._gotAward, sender="test_badge")
|
||||
api.award(self.user, "test_badge", "reason")
|
||||
self.assertTrue(self.awarded)
|
||||
|
Reference in New Issue
Block a user