from django.db.models import signals
from django.dispatch import dispatcher
-from ee.influences.models import Character,Influence
-from ee.tools.notify import notify
+from django.conf import settings
+from xerxes.influences.models import Character,Influence
+from xerxes.tools.notify import notify
from django.contrib.auth.models import Group
+from threadedcomments.models import ThreadedComment
-def character_saved(instance, created):
- notify(instance.player, 'influences/email/character_changed', {'character' : instance, 'created' : created})
+def character_saved(**kwargs):
+ instance = kwargs['instance']
+ created = kwargs['created']
+ if (not settings.DEBUG):
+ notify([instance.player, 'lextalionis@evolution-events.nl'], 'influences/email/character_changed.html', {'character' : instance, 'created' : created})
-dispatcher.connect(character_saved, signals.post_save, Character)
+signals.post_save.connect(character_saved, sender=Character)
-def influence_saved(instance, created):
- # TODO: Perhaps only notify when the status is / becomes Done?
- notify(instance.character.player, 'influences/email/influence_changed', {'influence' : instance, 'created' : created})
+def influence_saved(**kwargs):
+ instance = kwargs['instance']
+ created = kwargs['created']
+ if (not settings.DEBUG):
+ # TODO: Perhaps only notify when the status is / becomes Done?
+ notify([instance.character.player, 'lextalionis@evolution-events.nl'], 'influences/email/influence_changed.html', {'influence' : instance, 'created' : created})
-dispatcher.connect(influence_saved, signals.post_save, Influence)
+def comment_saved(**kwargs):
+ if (settings.DEBUG):
+ return
+
+ comment = kwargs['instance']
+
+ # We don't support comment editing, but let's check this anyway
+ if not kwargs['created']:
+ return
+
+ object = comment.content_object
+ if isinstance(object, Influence):
+ recipients = ['lextalionis@evolution-events.nl']
+ if comment.is_public:
+ recipients.append(object.character.player)
+
+ notify(
+ recipients,
+ 'influences/email/influence_comment_added.html',
+ {'comment' : comment,
+ 'influence' : object,
+ 'commenter' : comment.user
+ }
+ )
+
+signals.post_save.connect(comment_saved, sender=ThreadedComment)
+
+# vim: set sts=4 sw=4 expandtab: