mirror of
https://github.com/django/django.git
synced 2025-07-04 17:59:13 +00:00
magic-removal: fixed #1637 - django.contrib.comments still uses old methods. Thanks Dave St.Germain and ubernostrum.
git-svn-id: http://code.djangoproject.com/svn/django/branches/magic-removal@2722 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
c3b7f4b0a9
commit
dbf2463cd6
@ -25,7 +25,7 @@ class LatestFreeCommentsFeed(Feed):
|
|||||||
return "Latest comments on %s" % self._site.name
|
return "Latest comments on %s" % self._site.name
|
||||||
|
|
||||||
def items(self):
|
def items(self):
|
||||||
return self.comments_class.objects.get_list(**self._get_lookup_kwargs())
|
return self.comments_class.objects.filter(**self._get_lookup_kwargs())
|
||||||
|
|
||||||
def _get_lookup_kwargs(self):
|
def _get_lookup_kwargs(self):
|
||||||
return {
|
return {
|
||||||
|
@ -48,9 +48,9 @@ class CommentManager(models.Manager):
|
|||||||
_karma_total_good and _karma_total_bad filled.
|
_karma_total_good and _karma_total_bad filled.
|
||||||
"""
|
"""
|
||||||
kwargs.setdefault('select', {})
|
kwargs.setdefault('select', {})
|
||||||
kwargs['select']['_karma_total_good'] = 'SELECT COUNT(*) FROM comments_karma WHERE comments_karma.comment_id=comments.id AND score=1'
|
kwargs['select']['_karma_total_good'] = 'SELECT COUNT(*) FROM comments_karmascore WHERE comments_karmascore.comment_id=comments.id AND score=1'
|
||||||
kwargs['select']['_karma_total_bad'] = 'SELECT COUNT(*) FROM comments_karma WHERE comments_karma.comment_id=comments.id AND score=-1'
|
kwargs['select']['_karma_total_bad'] = 'SELECT COUNT(*) FROM comments_karmascore WHERE comments_karmascore.comment_id=comments.id AND score=-1'
|
||||||
return self.get_list(**kwargs)
|
return self.filter(**kwargs)
|
||||||
|
|
||||||
def user_is_moderator(self, user):
|
def user_is_moderator(self, user):
|
||||||
if user.is_superuser:
|
if user.is_superuser:
|
||||||
@ -102,7 +102,7 @@ class Comment(models.Model):
|
|||||||
search_fields = ('comment', 'user__username')
|
search_fields = ('comment', 'user__username')
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "%s: %s..." % (self.get_user().username, self.comment[:100])
|
return "%s: %s..." % (self.user.username, self.comment[:100])
|
||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return self.get_content_object().get_absolute_url() + "#c" + str(self.id)
|
return self.get_content_object().get_absolute_url() + "#c" + str(self.id)
|
||||||
@ -156,7 +156,7 @@ class Comment(models.Model):
|
|||||||
|
|
||||||
def get_as_text(self):
|
def get_as_text(self):
|
||||||
return _('Posted by %(user)s at %(date)s\n\n%(comment)s\n\nhttp://%(domain)s%(url)s') % \
|
return _('Posted by %(user)s at %(date)s\n\n%(comment)s\n\nhttp://%(domain)s%(url)s') % \
|
||||||
{'user': self.get_user().username, 'date': self.submit_date,
|
{'user': self.user.username, 'date': self.submit_date,
|
||||||
'comment': self.comment, 'domain': self.get_site().domain, 'url': self.get_absolute_url()}
|
'comment': self.comment, 'domain': self.get_site().domain, 'url': self.get_absolute_url()}
|
||||||
|
|
||||||
class FreeComment(models.Model):
|
class FreeComment(models.Model):
|
||||||
@ -208,7 +208,7 @@ class FreeComment(models.Model):
|
|||||||
class KarmaScoreManager(models.Manager):
|
class KarmaScoreManager(models.Manager):
|
||||||
def vote(self, user_id, comment_id, score):
|
def vote(self, user_id, comment_id, score):
|
||||||
try:
|
try:
|
||||||
karma = self.get_object(comment__id__exact=comment_id, user__id__exact=user_id)
|
karma = self.objects.get(comment__id__exact=comment_id, user__id__exact=user_id)
|
||||||
except self.model.DoesNotExist:
|
except self.model.DoesNotExist:
|
||||||
karma = self.model(None, user_id, comment_id, score, datetime.datetime.now())
|
karma = self.model(None, user_id, comment_id, score, datetime.datetime.now())
|
||||||
karma.save()
|
karma.save()
|
||||||
@ -238,7 +238,7 @@ class KarmaScore(models.Model):
|
|||||||
unique_together = (('user', 'comment'),)
|
unique_together = (('user', 'comment'),)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return _("%(score)d rating by %(user)s") % {'score': self.score, 'user': self.get_user()}
|
return _("%(score)d rating by %(user)s") % {'score': self.score, 'user': self.user}
|
||||||
|
|
||||||
class UserFlagManager(models.Manager):
|
class UserFlagManager(models.Manager):
|
||||||
def flag(self, comment, user):
|
def flag(self, comment, user):
|
||||||
@ -250,7 +250,7 @@ class UserFlagManager(models.Manager):
|
|||||||
if int(comment.user_id) == int(user.id):
|
if int(comment.user_id) == int(user.id):
|
||||||
return # A user can't flag his own comment. Fail silently.
|
return # A user can't flag his own comment. Fail silently.
|
||||||
try:
|
try:
|
||||||
f = self.get_object(user__id__exact=user.id, comment__id__exact=comment.id)
|
f = self.objects.get(user__id__exact=user.id, comment__id__exact=comment.id)
|
||||||
except self.model.DoesNotExist:
|
except self.model.DoesNotExist:
|
||||||
from django.core.mail import mail_managers
|
from django.core.mail import mail_managers
|
||||||
f = self.model(None, user.id, comment.id, None)
|
f = self.model(None, user.id, comment.id, None)
|
||||||
@ -269,7 +269,7 @@ class UserFlag(models.Model):
|
|||||||
unique_together = (('user', 'comment'),)
|
unique_together = (('user', 'comment'),)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return _("Flag by %r") % self.get_user()
|
return _("Flag by %r") % self.user
|
||||||
|
|
||||||
class ModeratorDeletion(models.Model):
|
class ModeratorDeletion(models.Model):
|
||||||
user = models.ForeignKey(User, verbose_name='moderator')
|
user = models.ForeignKey(User, verbose_name='moderator')
|
||||||
@ -281,4 +281,4 @@ class ModeratorDeletion(models.Model):
|
|||||||
unique_together = (('user', 'comment'),)
|
unique_together = (('user', 'comment'),)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return _("Moderator deletion by %r") % self.get_user()
|
return _("Moderator deletion by %r") % self.user
|
||||||
|
@ -2,15 +2,15 @@ from django.contrib.comments.models import Comment, FreeComment
|
|||||||
from django.contrib.comments.models import PHOTOS_REQUIRED, PHOTOS_OPTIONAL, RATINGS_REQUIRED, RATINGS_OPTIONAL, IS_PUBLIC
|
from django.contrib.comments.models import PHOTOS_REQUIRED, PHOTOS_OPTIONAL, RATINGS_REQUIRED, RATINGS_OPTIONAL, IS_PUBLIC
|
||||||
from django.contrib.comments.models import MIN_PHOTO_DIMENSION, MAX_PHOTO_DIMENSION
|
from django.contrib.comments.models import MIN_PHOTO_DIMENSION, MAX_PHOTO_DIMENSION
|
||||||
from django import template
|
from django import template
|
||||||
from django.core.template import loader
|
from django.template import loader
|
||||||
from django.core.exceptions import ObjectDoesNotExist
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
import re
|
import re
|
||||||
|
|
||||||
register = template.Library()
|
register = template.Library()
|
||||||
|
|
||||||
COMMENT_FORM = 'comments/form'
|
COMMENT_FORM = 'comments/form.html'
|
||||||
FREE_COMMENT_FORM = 'comments/freeform'
|
FREE_COMMENT_FORM = 'comments/freeform.html'
|
||||||
|
|
||||||
class CommentFormNode(template.Node):
|
class CommentFormNode(template.Node):
|
||||||
def __init__(self, content_type, obj_id_lookup_var, obj_id, free,
|
def __init__(self, content_type, obj_id_lookup_var, obj_id, free,
|
||||||
@ -77,12 +77,12 @@ class CommentCountNode(template.Node):
|
|||||||
|
|
||||||
def render(self, context):
|
def render(self, context):
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
get_count_function = self.free and FreeComment.objects.get_count or Comment.objects.get_count
|
manager = self.free and FreeComment.objects or Comment.objects
|
||||||
if self.context_var_name is not None:
|
if self.context_var_name is not None:
|
||||||
self.obj_id = template.resolve_variable(self.context_var_name, context)
|
self.obj_id = template.resolve_variable(self.context_var_name, context)
|
||||||
comment_count = get_count_function(object_id__exact=self.obj_id,
|
comment_count = manager.filter(object_id__exact=self.obj_id,
|
||||||
content_type__package__label__exact=self.package,
|
content_type__app_label__exact=self.package,
|
||||||
content_type__python_module_name__exact=self.module, site__id__exact=settings.SITE_ID)
|
content_type__model__exact=self.module, site__id__exact=settings.SITE_ID).count()
|
||||||
context[self.var_name] = comment_count
|
context[self.var_name] = comment_count
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ class CommentListNode(template.Node):
|
|||||||
|
|
||||||
def render(self, context):
|
def render(self, context):
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
get_list_function = self.free and FreeComment.objects.get_list or Comment.objects.get_list_with_karma
|
get_list_function = self.free and FreeComment.objects.filter or Comment.objects.get_list_with_karma
|
||||||
if self.context_var_name is not None:
|
if self.context_var_name is not None:
|
||||||
try:
|
try:
|
||||||
self.obj_id = template.resolve_variable(self.context_var_name, context)
|
self.obj_id = template.resolve_variable(self.context_var_name, context)
|
||||||
@ -104,16 +104,14 @@ class CommentListNode(template.Node):
|
|||||||
return ''
|
return ''
|
||||||
kwargs = {
|
kwargs = {
|
||||||
'object_id__exact': self.obj_id,
|
'object_id__exact': self.obj_id,
|
||||||
'content_type__package__label__exact': self.package,
|
'content_type__app_label__exact': self.package,
|
||||||
'content_type__python_module_name__exact': self.module,
|
'content_type__model__exact': self.module,
|
||||||
'site__id__exact': settings.SITE_ID,
|
'site__id__exact': settings.SITE_ID,
|
||||||
'select_related': True,
|
|
||||||
'order_by': (self.ordering + 'submit_date',),
|
|
||||||
}
|
}
|
||||||
kwargs.update(self.extra_kwargs)
|
kwargs.update(self.extra_kwargs)
|
||||||
if not self.free and settings.COMMENTS_BANNED_USERS_GROUP:
|
if not self.free and settings.COMMENTS_BANNED_USERS_GROUP:
|
||||||
kwargs['select'] = {'is_hidden': 'user_id IN (SELECT user_id FROM auth_users_groups WHERE group_id = %s)' % settings.COMMENTS_BANNED_USERS_GROUP}
|
kwargs['select'] = {'is_hidden': 'user_id IN (SELECT user_id FROM auth_user_groups WHERE group_id = %s)' % settings.COMMENTS_BANNED_USERS_GROUP}
|
||||||
comment_list = get_list_function(**kwargs)
|
comment_list = get_list_function(**kwargs).order_by(self.ordering + 'submit_date').select_related()
|
||||||
|
|
||||||
if not self.free:
|
if not self.free:
|
||||||
if context.has_key('user') and not context['user'].is_anonymous():
|
if context.has_key('user') and not context['user'].is_anonymous():
|
||||||
@ -157,7 +155,7 @@ class DoCommentForm:
|
|||||||
except ValueError: # unpack list of wrong size
|
except ValueError: # unpack list of wrong size
|
||||||
raise template.TemplateSyntaxError, "Third argument in %r tag must be in the format 'package.module'" % tokens[0]
|
raise template.TemplateSyntaxError, "Third argument in %r tag must be in the format 'package.module'" % tokens[0]
|
||||||
try:
|
try:
|
||||||
content_type = ContentType.objects.get_object(package__label__exact=package, python_module_name__exact=module)
|
content_type = ContentType.objects.get(app_label__exact=package, model__exact=module)
|
||||||
except ContentType.DoesNotExist:
|
except ContentType.DoesNotExist:
|
||||||
raise template.TemplateSyntaxError, "%r tag has invalid content-type '%s.%s'" % (tokens[0], package, module)
|
raise template.TemplateSyntaxError, "%r tag has invalid content-type '%s.%s'" % (tokens[0], package, module)
|
||||||
obj_id_lookup_var, obj_id = None, None
|
obj_id_lookup_var, obj_id = None, None
|
||||||
@ -237,7 +235,7 @@ class DoCommentCount:
|
|||||||
except ValueError: # unpack list of wrong size
|
except ValueError: # unpack list of wrong size
|
||||||
raise template.TemplateSyntaxError, "Third argument in %r tag must be in the format 'package.module'" % tokens[0]
|
raise template.TemplateSyntaxError, "Third argument in %r tag must be in the format 'package.module'" % tokens[0]
|
||||||
try:
|
try:
|
||||||
content_type = ContentType.objects.get_object(package__label__exact=package, python_module_name__exact=module)
|
content_type = ContentType.objects.get(app_label__exact=package, model__exact=module)
|
||||||
except ContentType.DoesNotExist:
|
except ContentType.DoesNotExist:
|
||||||
raise template.TemplateSyntaxError, "%r tag has invalid content-type '%s.%s'" % (tokens[0], package, module)
|
raise template.TemplateSyntaxError, "%r tag has invalid content-type '%s.%s'" % (tokens[0], package, module)
|
||||||
var_name, obj_id = None, None
|
var_name, obj_id = None, None
|
||||||
@ -292,7 +290,7 @@ class DoGetCommentList:
|
|||||||
except ValueError: # unpack list of wrong size
|
except ValueError: # unpack list of wrong size
|
||||||
raise template.TemplateSyntaxError, "Third argument in %r tag must be in the format 'package.module'" % tokens[0]
|
raise template.TemplateSyntaxError, "Third argument in %r tag must be in the format 'package.module'" % tokens[0]
|
||||||
try:
|
try:
|
||||||
content_type = ContentType.objects.get_object(package__label__exact=package, python_module_name__exact=module)
|
content_type = ContentType.objects.get(app_label__exact=package,model__exact=module)
|
||||||
except ContentType.DoesNotExist:
|
except ContentType.DoesNotExist:
|
||||||
raise template.TemplateSyntaxError, "%r tag has invalid content-type '%s.%s'" % (tokens[0], package, module)
|
raise template.TemplateSyntaxError, "%r tag has invalid content-type '%s.%s'" % (tokens[0], package, module)
|
||||||
var_name, obj_id = None, None
|
var_name, obj_id = None, None
|
||||||
|
@ -90,7 +90,7 @@ class PublicCommentManipulator(AuthenticationForm):
|
|||||||
def save(self, new_data):
|
def save(self, new_data):
|
||||||
today = datetime.date.today()
|
today = datetime.date.today()
|
||||||
c = self.get_comment(new_data)
|
c = self.get_comment(new_data)
|
||||||
for old in Comment.objects.get_list(content_type__id__exact=new_data["content_type_id"],
|
for old in Comment.objects.filter(content_type__id__exact=new_data["content_type_id"],
|
||||||
object_id__exact=new_data["object_id"], user__id__exact=self.get_user_id()):
|
object_id__exact=new_data["object_id"], user__id__exact=self.get_user_id()):
|
||||||
# Check that this comment isn't duplicate. (Sometimes people post
|
# Check that this comment isn't duplicate. (Sometimes people post
|
||||||
# comments twice by mistake.) If it is, fail silently by pretending
|
# comments twice by mistake.) If it is, fail silently by pretending
|
||||||
@ -146,7 +146,7 @@ class PublicFreeCommentManipulator(forms.Manipulator):
|
|||||||
# Check that this comment isn't duplicate. (Sometimes people post
|
# Check that this comment isn't duplicate. (Sometimes people post
|
||||||
# comments twice by mistake.) If it is, fail silently by pretending
|
# comments twice by mistake.) If it is, fail silently by pretending
|
||||||
# the comment was posted successfully.
|
# the comment was posted successfully.
|
||||||
for old_comment in FreeComment.objects.get_list(content_type__id__exact=new_data["content_type_id"],
|
for old_comment in FreeComment.objects.filter(content_type__id__exact=new_data["content_type_id"],
|
||||||
object_id__exact=new_data["object_id"], person_name__exact=new_data["person_name"],
|
object_id__exact=new_data["object_id"], person_name__exact=new_data["person_name"],
|
||||||
submit_date__year=today.year, submit_date__month=today.month,
|
submit_date__year=today.year, submit_date__month=today.month,
|
||||||
submit_date__day=today.day):
|
submit_date__day=today.day):
|
||||||
@ -202,7 +202,7 @@ def post_comment(request):
|
|||||||
rating_range, rating_choices = [], []
|
rating_range, rating_choices = [], []
|
||||||
content_type_id, object_id = target.split(':') # target is something like '52:5157'
|
content_type_id, object_id = target.split(':') # target is something like '52:5157'
|
||||||
try:
|
try:
|
||||||
obj = ContentType.objects.get_object(pk=content_type_id).get_object_for_this_type(pk=object_id)
|
obj = ContentType.objects.get(pk=content_type_id).get_object_for_this_type(pk=object_id)
|
||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
raise Http404, _("The comment form had an invalid 'target' parameter -- the object ID was invalid")
|
raise Http404, _("The comment form had an invalid 'target' parameter -- the object ID was invalid")
|
||||||
option_list = options.split(',') # options is something like 'pa,ra'
|
option_list = options.split(',') # options is something like 'pa,ra'
|
||||||
@ -285,7 +285,7 @@ def post_free_comment(request):
|
|||||||
if Comment.objects.get_security_hash(options, '', '', target) != security_hash:
|
if Comment.objects.get_security_hash(options, '', '', target) != security_hash:
|
||||||
raise Http404, _("Somebody tampered with the comment form (security violation)")
|
raise Http404, _("Somebody tampered with the comment form (security violation)")
|
||||||
content_type_id, object_id = target.split(':') # target is something like '52:5157'
|
content_type_id, object_id = target.split(':') # target is something like '52:5157'
|
||||||
content_type = ContentType.objects.get_object(pk=content_type_id)
|
content_type = ContentType.objects.get(pk=content_type_id)
|
||||||
try:
|
try:
|
||||||
obj = content_type.get_object_for_this_type(pk=object_id)
|
obj = content_type.get_object_for_this_type(pk=object_id)
|
||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
@ -333,7 +333,7 @@ def comment_was_posted(request):
|
|||||||
if request.GET.has_key('c'):
|
if request.GET.has_key('c'):
|
||||||
content_type_id, object_id = request.GET['c'].split(':')
|
content_type_id, object_id = request.GET['c'].split(':')
|
||||||
try:
|
try:
|
||||||
content_type = ContentType.objects.get_object(pk=content_type_id)
|
content_type = ContentType.objects.get(pk=content_type_id)
|
||||||
obj = content_type.get_object_for_this_type(pk=object_id)
|
obj = content_type.get_object_for_this_type(pk=object_id)
|
||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
pass
|
pass
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from django.http import Http404
|
from django.http import Http404
|
||||||
from django.shortcuts import render_to_response
|
from django.shortcuts import render_to_response
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from django.models.comments import comments, karma
|
from django.contrib.comments.models import Comment, KarmaScore
|
||||||
|
|
||||||
def vote(request, comment_id, vote):
|
def vote(request, comment_id, vote):
|
||||||
"""
|
"""
|
||||||
@ -18,12 +18,12 @@ def vote(request, comment_id, vote):
|
|||||||
if request.user.is_anonymous():
|
if request.user.is_anonymous():
|
||||||
raise Http404, _("Anonymous users cannot vote")
|
raise Http404, _("Anonymous users cannot vote")
|
||||||
try:
|
try:
|
||||||
comment = comments.get_object(pk=comment_id)
|
comment = Comment.objects.get(pk=comment_id)
|
||||||
except comments.CommentDoesNotExist:
|
except Comment.DoesNotExist:
|
||||||
raise Http404, _("Invalid comment ID")
|
raise Http404, _("Invalid comment ID")
|
||||||
if comment.user_id == request.user.id:
|
if comment.user.id == request.user.id:
|
||||||
raise Http404, _("No voting for yourself")
|
raise Http404, _("No voting for yourself")
|
||||||
karma.vote(request.user.id, comment_id, rating)
|
KarmaScore.objects.vote(request.user.id, comment_id, rating)
|
||||||
# Reload comment to ensure we have up to date karma count
|
# Reload comment to ensure we have up to date karma count
|
||||||
comment = comments.get_object(pk=comment_id)
|
comment = Comment.objects.get(pk=comment_id)
|
||||||
return render_to_response('comments/karma_vote_accepted.html', {'comment': comment}, context_instance=RequestContext(request))
|
return render_to_response('comments/karma_vote_accepted.html', {'comment': comment}, context_instance=RequestContext(request))
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from django.shortcuts import render_to_response
|
from django.shortcuts import render_to_response, get_object_or_404
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from django.http import Http404
|
from django.http import Http404
|
||||||
from django.models.comments import comments, moderatordeletions, userflags
|
from django.contrib.comments.models import Comment, ModeratorDeletion, UserFlag
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
from django.http import HttpResponseRedirect
|
from django.http import HttpResponseRedirect
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
@ -15,21 +15,15 @@ def flag(request, comment_id):
|
|||||||
comment
|
comment
|
||||||
the flagged `comments.comments` object
|
the flagged `comments.comments` object
|
||||||
"""
|
"""
|
||||||
try:
|
comment = get_object_or_404(Comment,pk=comment_id, site__id__exact=settings.SITE_ID)
|
||||||
comment = comments.get_object(pk=comment_id, site__id__exact=settings.SITE_ID)
|
|
||||||
except comments.CommentDoesNotExist:
|
|
||||||
raise Http404
|
|
||||||
if request.POST:
|
if request.POST:
|
||||||
userflags.flag(comment, request.user)
|
UserFlag.objects.flag(comment, request.user)
|
||||||
return HttpResponseRedirect('%sdone/' % request.path)
|
return HttpResponseRedirect('%sdone/' % request.path)
|
||||||
return render_to_response('comments/flag_verify.html', {'comment': comment}, context_instance=RequestContext(request))
|
return render_to_response('comments/flag_verify.html', {'comment': comment}, context_instance=RequestContext(request))
|
||||||
flag = login_required(flag)
|
flag = login_required(flag)
|
||||||
|
|
||||||
def flag_done(request, comment_id):
|
def flag_done(request, comment_id):
|
||||||
try:
|
comment = get_object_or_404(Comment,pk=comment_id, site__id__exact=settings.SITE_ID)
|
||||||
comment = comments.get_object(pk=comment_id, site__id__exact=settings.SITE_ID)
|
|
||||||
except comments.CommentDoesNotExist:
|
|
||||||
raise Http404
|
|
||||||
return render_to_response('comments/flag_done.html', {'comment': comment}, context_instance=RequestContext(request))
|
return render_to_response('comments/flag_done.html', {'comment': comment}, context_instance=RequestContext(request))
|
||||||
|
|
||||||
def delete(request, comment_id):
|
def delete(request, comment_id):
|
||||||
@ -41,26 +35,20 @@ def delete(request, comment_id):
|
|||||||
comment
|
comment
|
||||||
the flagged `comments.comments` object
|
the flagged `comments.comments` object
|
||||||
"""
|
"""
|
||||||
try:
|
comment = get_object_or_404(Comment,pk=comment_id, site__id__exact=settings.SITE_ID)
|
||||||
comment = comments.get_object(pk=comment_id, site__id__exact=settings.SITE_ID)
|
if not Comment.objects.user_is_moderator(request.user):
|
||||||
except comments.CommentDoesNotExist:
|
|
||||||
raise Http404
|
|
||||||
if not comments.user_is_moderator(request.user):
|
|
||||||
raise Http404
|
raise Http404
|
||||||
if request.POST:
|
if request.POST:
|
||||||
# If the comment has already been removed, silently fail.
|
# If the comment has already been removed, silently fail.
|
||||||
if not comment.is_removed:
|
if not comment.is_removed:
|
||||||
comment.is_removed = True
|
comment.is_removed = True
|
||||||
comment.save()
|
comment.save()
|
||||||
m = moderatordeletions.ModeratorDeletion(None, request.user.id, comment.id, None)
|
m = ModeratorDeletion(None, request.user.id, comment.id, None)
|
||||||
m.save()
|
m.save()
|
||||||
return HttpResponseRedirect('%sdone/' % request.path)
|
return HttpResponseRedirect('%sdone/' % request.path)
|
||||||
return render_to_response('comments/delete_verify.html', {'comment': comment}, context_instance=RequestContext(request))
|
return render_to_response('comments/delete_verify.html', {'comment': comment}, context_instance=RequestContext(request))
|
||||||
delete = login_required(delete)
|
delete = login_required(delete)
|
||||||
|
|
||||||
def delete_done(request, comment_id):
|
def delete_done(request, comment_id):
|
||||||
try:
|
comment = get_object_or_404(Comment,pk=comment_id, site__id__exact=settings.SITE_ID)
|
||||||
comment = comments.get_object(pk=comment_id, site__id__exact=settings.SITE_ID)
|
|
||||||
except comments.CommentDoesNotExist:
|
|
||||||
raise Http404
|
|
||||||
return render_to_response('comments/delete_done.html', {'comment': comment}, context_instance=RequestContext(request))
|
return render_to_response('comments/delete_done.html', {'comment': comment}, context_instance=RequestContext(request))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user