1 from django.shortcuts import render_to_response, get_object_or_404
2 from django.template import RequestContext
3 from django.http import Http404
4 from django.contrib.comments.models import Comment, ModeratorDeletion, UserFlag
5 from django.contrib.auth.decorators import login_required
6 from django.http import HttpResponseRedirect
7 from django.conf import settings
8
9 -def flag(request, comment_id, extra_context=None, context_processors=None):
25 flag = login_required(flag)
26
27 -def flag_done(request, comment_id, extra_context=None, context_processors=None):
32
33 -def delete(request, comment_id, extra_context=None, context_processors=None):
34 """
35 Deletes a comment. Confirmation on GET, action on POST.
36
37 Templates: `comments/delete_verify`, `comments/delete_done`
38 Context:
39 comment
40 the flagged `comments.comments` object
41 """
42 if extra_context is None: extra_context = {}
43 comment = get_object_or_404(Comment,pk=comment_id, site__id__exact=settings.SITE_ID)
44 if not Comment.objects.user_is_moderator(request.user):
45 raise Http404
46 if request.POST:
47
48 if not comment.is_removed:
49 comment.is_removed = True
50 comment.save()
51 m = ModeratorDeletion(None, request.user.id, comment.id, None)
52 m.save()
53 return HttpResponseRedirect('%sdone/' % request.path)
54 return render_to_response('comments/delete_verify.html', {'comment': comment},
55 context_instance=RequestContext(request, extra_context, context_processors))
56 delete = login_required(delete)
57
58 -def delete_done(request, comment_id, extra_context=None, context_processors=None):
63