def connect_discussion_signals(): """ Connect all the signals on the Comment model to maintains a valid discussion count on each entries when an action is done with the comments. """ post_save.connect( count_discussions_handler, sender=comment_model, dispatch_uid=COMMENT_PS_COUNT_DISCUSSIONS) pre_delete.connect( count_discussions_handler, sender=comment_model, dispatch_uid=COMMENT_PD_COUNT_DISCUSSIONS) comment_was_flagged.connect( count_discussions_handler, sender=comment_model, dispatch_uid=COMMENT_WF_COUNT_DISCUSSIONS) comment_was_posted.connect( count_comments_handler, sender=comment_model, dispatch_uid=COMMENT_WP_COUNT_COMMENTS) pingback_was_posted.connect( count_pingbacks_handler, sender=comment_model, dispatch_uid=PINGBACK_WP_COUNT_PINGBACKS) trackback_was_posted.connect( count_trackbacks_handler, sender=comment_model, dispatch_uid=TRACKBACK_WP_COUNT_TRACKBACKS)
def connect_discussion_signals(): """ Connect all the signals on the Comment model to maintains a valid discussion count on each entries when an action is done with the comments. """ post_save.connect(count_discussions_handler, sender=comment_model, dispatch_uid=COMMENT_PS_COUNT_DISCUSSIONS) pre_delete.connect(count_discussions_handler, sender=comment_model, dispatch_uid=COMMENT_PD_COUNT_DISCUSSIONS) comment_was_flagged.connect(count_discussions_handler, sender=comment_model, dispatch_uid=COMMENT_WF_COUNT_DISCUSSIONS) comment_was_posted.connect(count_comments_handler, sender=comment_model, dispatch_uid=COMMENT_WP_COUNT_COMMENTS) pingback_was_posted.connect(count_pingbacks_handler, sender=comment_model, dispatch_uid=PINGBACK_WP_COUNT_PINGBACKS) trackback_was_posted.connect(count_trackbacks_handler, sender=comment_model, dispatch_uid=TRACKBACK_WP_COUNT_TRACKBACKS)
class Meta: verbose_name_plural = 'News' ordering = ['-last_updated_date', '-created_date'] def send_comment_notif(sender, comment, request, **kwargs): """ fungsi untuk membuat notification ketika ada komentar yang dipostkan """ messages.info(request, _('Your comment "%s" sucessfully posted') % comment.comment) if request.user != comment.content_object.user: notification.send([comment.content_object.user], "news_comment", { 'user': request.user, 'news': comment.content_object }) from utils.rest import send_comments from django.template.loader import render_to_string send_comments({ 'content': render_to_string('comment_item.html', {'comment' : comment}) }) def comment_flagged(sender, comment, flag, created, request, **kwargs): """ fungsi untuk membuat pesan info jika komentar di flag """ if created: messages.info(request, _('Comment "%s" flagged') % comment) comment_was_posted.connect(send_comment_notif, dispatch_uid="new_news_comment") comment_was_flagged.connect(comment_flagged, dispatch_uid="comment_flagged")
from django.contrib.comments.models import Comment from django.contrib.comments.signals import comment_was_flagged from myhome.blog_comment.signals import comment_notifier comment_was_flagged.connect(comment_notifier, sender=Comment)