Mercurial > public > sg101
annotate gpp/forums/signals.py @ 184:4e1abeb593c2
Updating jQuery and jQuery UI. This is for ticket #57. Noticed GCalendar wasn't opening the datepicker on the correct date until I set a dateFormat option. Fixed member map to undisable the update button if you type in a location that can't be geocoded.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sun, 28 Mar 2010 22:19:08 +0000 |
parents | 500e5875a306 |
children | a46788862737 |
rev | line source |
---|---|
bgneal@75 | 1 """ |
bgneal@75 | 2 Signal handlers for the forums application. |
bgneal@75 | 3 """ |
bgneal@75 | 4 from django.db.models.signals import post_save |
bgneal@75 | 5 from django.db.models.signals import post_delete |
bgneal@181 | 6 |
bgneal@181 | 7 from forums.models import Topic, Post |
bgneal@181 | 8 from forums.subscriptions import notify_topic_subscribers |
bgneal@75 | 9 |
bgneal@75 | 10 |
bgneal@75 | 11 def on_topic_save(sender, **kwargs): |
bgneal@75 | 12 if kwargs['created']: |
bgneal@75 | 13 topic = kwargs['instance'] |
bgneal@75 | 14 topic.forum.topic_count_update() |
bgneal@75 | 15 topic.forum.save() |
bgneal@75 | 16 |
bgneal@75 | 17 |
bgneal@75 | 18 def on_topic_delete(sender, **kwargs): |
bgneal@75 | 19 topic = kwargs['instance'] |
bgneal@75 | 20 topic.forum.topic_count_update() |
bgneal@75 | 21 topic.forum.save() |
bgneal@75 | 22 |
bgneal@75 | 23 |
bgneal@75 | 24 def on_post_save(sender, **kwargs): |
bgneal@75 | 25 if kwargs['created']: |
bgneal@75 | 26 post = kwargs['instance'] |
bgneal@75 | 27 |
bgneal@75 | 28 # update the topic |
bgneal@75 | 29 post.topic.post_count_update() |
bgneal@75 | 30 post.topic.save() |
bgneal@75 | 31 |
bgneal@75 | 32 # update the forum |
bgneal@75 | 33 post.topic.forum.post_count_update() |
bgneal@75 | 34 post.topic.forum.save() |
bgneal@75 | 35 |
bgneal@181 | 36 # send out any email notifications |
bgneal@181 | 37 notify_topic_subscribers(post) |
bgneal@181 | 38 |
bgneal@75 | 39 |
bgneal@75 | 40 def on_post_delete(sender, **kwargs): |
bgneal@75 | 41 post = kwargs['instance'] |
bgneal@75 | 42 |
bgneal@75 | 43 # update the topic |
bgneal@75 | 44 post.topic.post_count_update() |
bgneal@75 | 45 post.topic.save() |
bgneal@75 | 46 |
bgneal@75 | 47 # update the forum |
bgneal@75 | 48 post.topic.forum.post_count_update() |
bgneal@75 | 49 post.topic.forum.save() |
bgneal@75 | 50 |
bgneal@75 | 51 |
bgneal@75 | 52 post_save.connect(on_topic_save, sender=Topic) |
bgneal@75 | 53 post_delete.connect(on_topic_delete, sender=Topic) |
bgneal@75 | 54 |
bgneal@75 | 55 post_save.connect(on_post_save, sender=Post) |
bgneal@75 | 56 post_delete.connect(on_post_delete, sender=Post) |