Exemple #1
0
def follow(user, obj):
    """ Пользователь начинает следить за действиями объекта obj """

    follower, created = Follower.objects.get_or_create(
        user=user, content_type=ContentType.objects.get_for_model(obj), object_id=obj.pk
    )

    if created:
        action_signal.send(sender=user, verb=_("started to follow"), obj=obj)

    return follower
Exemple #2
0
def comment_posted_handler(sender, **kwargs):
    """ Обработчик """

    user = kwargs.pop('request').user
    comment = kwargs.pop('comment')

    # Найти объект, к которому оставлен комментарий
    ct = ContentType.objects.get_for_id(comment.content_type_id)
    snippet = ct.get_object_for_this_type(pk=comment.content_object.pk)

    action_signal.send(user, verb=_('commented on'), obj=snippet)
Exemple #3
0
    def post(self, request):
        """
        POST-запрос и добавление сниппета
        """

        form = AddSnippetForm(self.request.POST, author=self.request.user)
        if form.is_valid():
            # Сохранить сниппет
            form.save()

            # Добавить упоминание в ленту
            action_signal.send(request.user, verb=_("created snippet"), obj=form.instance)

        return self.render_to_response(self.get_context_data(form=form))
Exemple #4
0
def unfollow(user, obj):
    """ Пользователь user перестает следить за измененияи """

    Follower.objects.filter(user=user, content_type=ContentType.objects.get_for_model(obj), object_id=obj.pk).delete()
    action_signal.send(sender=user, verb=_("stopped following"), obj=obj)