From 78a2daa291d36ef03c78a7d5caeab194b4acfa9c Mon Sep 17 00:00:00 2001 From: "Mr. Senko" Date: Sun, 24 Nov 2019 17:27:03 +0200 Subject: [PATCH] Actually delete comments from DB. Refs #1028 instead of flagging comments as removed delete them from DB --- tcms/core/contrib/comments/views.py | 43 +++++------------------------ 1 file changed, 7 insertions(+), 36 deletions(-) diff --git a/tcms/core/contrib/comments/views.py b/tcms/core/contrib/comments/views.py index b1d646d0ea..48977d027c 100644 --- a/tcms/core/contrib/comments/views.py +++ b/tcms/core/contrib/comments/views.py @@ -2,7 +2,6 @@ from django.conf import settings from django.contrib.auth.decorators import permission_required -from django.core.exceptions import ObjectDoesNotExist from django.http import JsonResponse from django.views.decorators.http import require_POST @@ -25,39 +24,11 @@ def post(request): @require_POST @permission_required("django_comments.can_moderate") def delete(request): - """Deletes a comment""" - - ajax_response = {'rc': 0, 'response': 'ok'} - comments_s = comments.get_model().objects.filter( + """Delete comments via POST request""" + comments.get_model().objects.filter( pk__in=request.POST.getlist('comment_id'), - site__pk=settings.SITE_ID, - is_removed=False, - user_id=request.user.id - ) - - if not comments_s: - if request.is_ajax(): - ajax_response = {'rc': 1, 'response': 'Object does not exist.'} - return JsonResponse(ajax_response) - - raise ObjectDoesNotExist() - - # Flag the comment as deleted instead of actually deleting it. - for comment in comments_s: - if comment.user == request.user: - flag, created = comments.models.CommentFlag.objects.get_or_create( - comment=comment, - user=request.user, - flag=comments.models.CommentFlag.MODERATOR_DELETION - ) - comment.is_removed = True - comment.save() - comments.signals.comment_was_flagged.send( - sender=comment.__class__, - comment=comment, - flag=flag, - created=created, - request=request, - ) - - return JsonResponse(ajax_response) + site=settings.SITE_ID, + user=request.user.pk + ).delete() + + return JsonResponse({'rc': 0, 'response': 'ok'})