Пример #1
0
 def post(self, request, *args, **kwargs):
     self.comment.delete()
     context = self.get_context_data()
     self.data = render_to_string('comment/comments/base.html',
                                  context,
                                  request=self.request)
     return UTF8JsonResponse(self.json())
Пример #2
0
 def dispatch(self, request, *args, **kwargs):
     obj = self.get_object()
     if not self.has_object_permission(request, obj):
         self.reason = ErrorMessage.NOT_AUTHORIZED
         data = {'status': self.status, 'reason': self.reason}
         return UTF8JsonResponse(status=self.status, data=data)
     return super().dispatch(request, *args, **kwargs)
Пример #3
0
 def post(self, request, *args, **kwargs):
     form = CommentForm(request.POST, instance=self.comment, request=self.request)
     context = self.get_context_data()
     if form.is_valid():
         form.save()
         context['comment'] = self.comment
         self.data = render_to_string('comment/comments/comment_content.html', context, request=self.request)
         return UTF8JsonResponse(self.json())
Пример #4
0
 def get(self, request, *args, **kwargs):
     context = self.get_context_data()
     context["comment"] = self.comment
     context['has_parent'] = not self.comment.is_parent
     self.data = render_to_string('comment/comments/comment_modal.html',
                                  context,
                                  request=request)
     return UTF8JsonResponse(self.json())
Пример #5
0
 def get(self, request, *args, **kwargs):
     context = self.get_context_data()
     context['comment_form'] = CommentForm(instance=self.comment,
                                           request=self.request)
     context['comment'] = self.comment
     self.data = render_to_string('comment/comments/update_comment.html',
                                  context,
                                  request=self.request)
     return UTF8JsonResponse(self.json())
Пример #6
0
    def post(self, request, *args, **kwargs):
        state = request.POST.get('state')
        try:
            self.comment.flag.toggle_state(state, request.user)
            self.status = 200
        except ValidationError:
            self.error = FlagError.STATE_CHANGE_ERROR
            self.status = 400

        self.data = {'state': self.comment.flag.state}
        return UTF8JsonResponse(self.json(), status=self.status)
Пример #7
0
    def post(self, request, *args, **kwargs):
        comment = get_object_or_404(Comment.objects.select_related(
            'user', 'reaction', 'flag'),
                                    pk=self.kwargs.get('pk'))
        reaction_type = kwargs.get('reaction', None)
        reaction_obj = Reaction.objects.get_reaction_object(comment)
        try:
            ReactionInstance.objects.set_reaction(user=request.user,
                                                  reaction=reaction_obj,
                                                  reaction_type=reaction_type)
        except ValidationError as e:
            self.error = e.message
            self.status = 400
            return UTF8JsonResponse(self.json(), status=self.status)

        comment.reaction.refresh_from_db()
        self.data = {
            'status': 0,
            'likes': comment.likes,
            'dislikes': comment.dislikes,
        }
        self.msg = ReactionInfo.UPDATED_SUCCESS
        return UTF8JsonResponse(self.json())
Пример #8
0
 def form_valid(self, form):
     user = get_user_for_request(self.request)
     comment_content = form.cleaned_data['content']
     email = form.cleaned_data.get('email', None)
     time_posted = timezone.now()
     temp_comment = Comment(content_object=self.model_obj,
                            content=comment_content,
                            user=user,
                            parent=self.parent_comment,
                            email=email or user.email,
                            posted=time_posted)
     self.comment = self.perform_create(temp_comment, self.request)
     self.data = render_to_string(self.get_template_names(),
                                  self.get_context_data(),
                                  request=self.request)
     return UTF8JsonResponse(self.json())
Пример #9
0
    def post(self, request, *args, **kwargs):
        self.data = {'status': 1}
        flag = Flag.objects.get_for_comment(self.comment)

        try:
            if FlagInstance.objects.set_flag(request.user, flag,
                                             **request.POST.dict()):
                self.msg = FlagInfo.FLAGGED_SUCCESS
                self.data['flag'] = 1
            else:
                self.msg = FlagInfo.UNFLAGGED_SUCCESS

            self.data.update({'status': 0})
            self.status = 200
        except ValidationError as e:
            self.error = e.message
            self.status = 400

        return UTF8JsonResponse(self.json(), status=self.status)
Пример #10
0
 def dispatch(self, request, *args, **kwargs):
     if not self.has_permission(request):
         data = {'status': self.status, 'reason': self.reason}
         return UTF8JsonResponse(status=self.status, data=data)
     return super().dispatch(request, *args, **kwargs)
Пример #11
0
 def dispatch(self, request, *args, **kwargs):
     if not request.META.get('HTTP_X_REQUESTED_WITH',
                             None) == 'XMLHttpRequest':
         data = {'status': self.status, 'reason': self.reason}
         return UTF8JsonResponse(status=self.status, data=data)
     return super().dispatch(request, *args, **kwargs)
Пример #12
0
 def form_invalid(self, form):
     self.error = EmailError.EMAIL_INVALID
     self.status = 400
     return UTF8JsonResponse(self.json(), status=self.status)