Example #1
0
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)
Example #2
0
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)
Example #3
0
    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")
Example #4
0
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)