Changeset 2722
- Timestamp:
- 04/21/06 16:02:01 (3 years ago)
- Files:
-
- django/branches/magic-removal/django/contrib/comments/feeds.py (modified) (1 diff)
- django/branches/magic-removal/django/contrib/comments/models.py (modified) (8 diffs)
- django/branches/magic-removal/django/contrib/comments/templatetags/comments.py (modified) (8 diffs)
- django/branches/magic-removal/django/contrib/comments/views/comments.py (modified) (5 diffs)
- django/branches/magic-removal/django/contrib/comments/views/karma.py (modified) (2 diffs)
- django/branches/magic-removal/django/contrib/comments/views/userflags.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/magic-removal/django/contrib/comments/feeds.py
r1844 r2722 26 26 27 27 def items(self): 28 return self.comments_class.objects. get_list(**self._get_lookup_kwargs())28 return self.comments_class.objects.filter(**self._get_lookup_kwargs()) 29 29 30 30 def _get_lookup_kwargs(self): django/branches/magic-removal/django/contrib/comments/models.py
r2216 r2722 49 49 """ 50 50 kwargs.setdefault('select', {}) 51 kwargs['select']['_karma_total_good'] = 'SELECT COUNT(*) FROM comments_karma WHERE comments_karma.comment_id=comments.id AND score=1'52 kwargs['select']['_karma_total_bad'] = 'SELECT COUNT(*) FROM comments_karma WHERE comments_karma.comment_id=comments.id AND score=-1'53 return self. get_list(**kwargs)51 kwargs['select']['_karma_total_good'] = 'SELECT COUNT(*) FROM comments_karmascore WHERE comments_karmascore.comment_id=comments.id AND score=1' 52 kwargs['select']['_karma_total_bad'] = 'SELECT COUNT(*) FROM comments_karmascore WHERE comments_karmascore.comment_id=comments.id AND score=-1' 53 return self.filter(**kwargs) 54 54 55 55 def user_is_moderator(self, user): … … 103 103 104 104 def __repr__(self): 105 return "%s: %s..." % (self. get_user().username, self.comment[:100])105 return "%s: %s..." % (self.user.username, self.comment[:100]) 106 106 107 107 def get_absolute_url(self): … … 157 157 def get_as_text(self): 158 158 return _('Posted by %(user)s at %(date)s\n\n%(comment)s\n\nhttp://%(domain)s%(url)s') % \ 159 {'user': self. get_user().username, 'date': self.submit_date,159 {'user': self.user.username, 'date': self.submit_date, 160 160 'comment': self.comment, 'domain': self.get_site().domain, 'url': self.get_absolute_url()} 161 161 … … 209 209 def vote(self, user_id, comment_id, score): 210 210 try: 211 karma = self. get_object(comment__id__exact=comment_id, user__id__exact=user_id)211 karma = self.objects.get(comment__id__exact=comment_id, user__id__exact=user_id) 212 212 except self.model.DoesNotExist: 213 213 karma = self.model(None, user_id, comment_id, score, datetime.datetime.now()) … … 239 239 240 240 def __repr__(self): 241 return _("%(score)d rating by %(user)s") % {'score': self.score, 'user': self. get_user()}241 return _("%(score)d rating by %(user)s") % {'score': self.score, 'user': self.user} 242 242 243 243 class UserFlagManager(models.Manager): … … 251 251 return # A user can't flag his own comment. Fail silently. 252 252 try: 253 f = self. get_object(user__id__exact=user.id, comment__id__exact=comment.id)253 f = self.objects.get(user__id__exact=user.id, comment__id__exact=comment.id) 254 254 except self.model.DoesNotExist: 255 255 from django.core.mail import mail_managers … … 270 270 271 271 def __repr__(self): 272 return _("Flag by %r") % self. get_user()272 return _("Flag by %r") % self.user 273 273 274 274 class ModeratorDeletion(models.Model): … … 282 282 283 283 def __repr__(self): 284 return _("Moderator deletion by %r") % self. get_user()284 return _("Moderator deletion by %r") % self.user django/branches/magic-removal/django/contrib/comments/templatetags/comments.py
r2273 r2722 3 3 from django.contrib.comments.models import MIN_PHOTO_DIMENSION, MAX_PHOTO_DIMENSION 4 4 from django import template 5 from django. core.template import loader5 from django.template import loader 6 6 from django.core.exceptions import ObjectDoesNotExist 7 7 from django.contrib.contenttypes.models import ContentType … … 10 10 register = template.Library() 11 11 12 COMMENT_FORM = 'comments/form '13 FREE_COMMENT_FORM = 'comments/freeform '12 COMMENT_FORM = 'comments/form.html' 13 FREE_COMMENT_FORM = 'comments/freeform.html' 14 14 15 15 class CommentFormNode(template.Node): … … 78 78 def render(self, context): 79 79 from django.conf import settings 80 get_count_function = self.free and FreeComment.objects.get_count or Comment.objects.get_count80 manager = self.free and FreeComment.objects or Comment.objects 81 81 if self.context_var_name is not None: 82 82 self.obj_id = template.resolve_variable(self.context_var_name, context) 83 comment_count = get_count_function(object_id__exact=self.obj_id,84 content_type__ package__label__exact=self.package,85 content_type__ python_module_name__exact=self.module, site__id__exact=settings.SITE_ID)83 comment_count = manager.filter(object_id__exact=self.obj_id, 84 content_type__app_label__exact=self.package, 85 content_type__model__exact=self.module, site__id__exact=settings.SITE_ID).count() 86 86 context[self.var_name] = comment_count 87 87 return '' … … 97 97 def render(self, context): 98 98 from django.conf import settings 99 get_list_function = self.free and FreeComment.objects. get_listor Comment.objects.get_list_with_karma99 get_list_function = self.free and FreeComment.objects.filter or Comment.objects.get_list_with_karma 100 100 if self.context_var_name is not None: 101 101 try: … … 105 105 kwargs = { 106 106 'object_id__exact': self.obj_id, 107 'content_type__ package__label__exact': self.package,108 'content_type__ python_module_name__exact': self.module,107 'content_type__app_label__exact': self.package, 108 'content_type__model__exact': self.module, 109 109 'site__id__exact': settings.SITE_ID, 110 'select_related': True,111 'order_by': (self.ordering + 'submit_date',),112 110 } 113 111 kwargs.update(self.extra_kwargs) 114 112 if not self.free and settings.COMMENTS_BANNED_USERS_GROUP: 115 kwargs['select'] = {'is_hidden': 'user_id IN (SELECT user_id FROM auth_user s_groups WHERE group_id = %s)' % settings.COMMENTS_BANNED_USERS_GROUP}116 comment_list = get_list_function(**kwargs) 113 kwargs['select'] = {'is_hidden': 'user_id IN (SELECT user_id FROM auth_user_groups WHERE group_id = %s)' % settings.COMMENTS_BANNED_USERS_GROUP} 114 comment_list = get_list_function(**kwargs).order_by(self.ordering + 'submit_date').select_related() 117 115 118 116 if not self.free: … … 158 156 raise template.TemplateSyntaxError, "Third argument in %r tag must be in the format 'package.module'" % tokens[0] 159 157 try: 160 content_type = ContentType.objects.get _object(package__label__exact=package, python_module_name__exact=module)158 content_type = ContentType.objects.get(app_label__exact=package, model__exact=module) 161 159 except ContentType.DoesNotExist: 162 160 raise template.TemplateSyntaxError, "%r tag has invalid content-type '%s.%s'" % (tokens[0], package, module) … … 238 236 raise template.TemplateSyntaxError, "Third argument in %r tag must be in the format 'package.module'" % tokens[0] 239 237 try: 240 content_type = ContentType.objects.get _object(package__label__exact=package, python_module_name__exact=module)238 content_type = ContentType.objects.get(app_label__exact=package, model__exact=module) 241 239 except ContentType.DoesNotExist: 242 240 raise template.TemplateSyntaxError, "%r tag has invalid content-type '%s.%s'" % (tokens[0], package, module) … … 293 291 raise template.TemplateSyntaxError, "Third argument in %r tag must be in the format 'package.module'" % tokens[0] 294 292 try: 295 content_type = ContentType.objects.get _object(package__label__exact=package, python_module_name__exact=module)293 content_type = ContentType.objects.get(app_label__exact=package,model__exact=module) 296 294 except ContentType.DoesNotExist: 297 295 raise template.TemplateSyntaxError, "%r tag has invalid content-type '%s.%s'" % (tokens[0], package, module) django/branches/magic-removal/django/contrib/comments/views/comments.py
r2700 r2722 91 91 today = datetime.date.today() 92 92 c = self.get_comment(new_data) 93 for old in Comment.objects. get_list(content_type__id__exact=new_data["content_type_id"],93 for old in Comment.objects.filter(content_type__id__exact=new_data["content_type_id"], 94 94 object_id__exact=new_data["object_id"], user__id__exact=self.get_user_id()): 95 95 # Check that this comment isn't duplicate. (Sometimes people post … … 147 147 # comments twice by mistake.) If it is, fail silently by pretending 148 148 # the comment was posted successfully. 149 for old_comment in FreeComment.objects. get_list(content_type__id__exact=new_data["content_type_id"],149 for old_comment in FreeComment.objects.filter(content_type__id__exact=new_data["content_type_id"], 150 150 object_id__exact=new_data["object_id"], person_name__exact=new_data["person_name"], 151 151 submit_date__year=today.year, submit_date__month=today.month, … … 203 203 content_type_id, object_id = target.split(':') # target is something like '52:5157' 204 204 try: 205 obj = ContentType.objects.get _object(pk=content_type_id).get_object_for_this_type(pk=object_id)205 obj = ContentType.objects.get(pk=content_type_id).get_object_for_this_type(pk=object_id) 206 206 except ObjectDoesNotExist: 207 207 raise Http404, _("The comment form had an invalid 'target' parameter -- the object ID was invalid") … … 286 286 raise Http404, _("Somebody tampered with the comment form (security violation)") 287 287 content_type_id, object_id = target.split(':') # target is something like '52:5157' 288 content_type = ContentType.objects.get _object(pk=content_type_id)288 content_type = ContentType.objects.get(pk=content_type_id) 289 289 try: 290 290 obj = content_type.get_object_for_this_type(pk=object_id) … … 334 334 content_type_id, object_id = request.GET['c'].split(':') 335 335 try: 336 content_type = ContentType.objects.get _object(pk=content_type_id)336 content_type = ContentType.objects.get(pk=content_type_id) 337 337 obj = content_type.get_object_for_this_type(pk=object_id) 338 338 except ObjectDoesNotExist: django/branches/magic-removal/django/contrib/comments/views/karma.py
r2700 r2722 2 2 from django.shortcuts import render_to_response 3 3 from django.template import RequestContext 4 from django. models.comments import comments, karma4 from django.contrib.comments.models import Comment, KarmaScore 5 5 6 6 def vote(request, comment_id, vote): … … 19 19 raise Http404, _("Anonymous users cannot vote") 20 20 try: 21 comment = comments.get_object(pk=comment_id)22 except comments.CommentDoesNotExist:21 comment = Comment.objects.get(pk=comment_id) 22 except Comment.DoesNotExist: 23 23 raise Http404, _("Invalid comment ID") 24 if comment.user _id == request.user.id:24 if comment.user.id == request.user.id: 25 25 raise Http404, _("No voting for yourself") 26 karma.vote(request.user.id, comment_id, rating)26 KarmaScore.objects.vote(request.user.id, comment_id, rating) 27 27 # Reload comment to ensure we have up to date karma count 28 comment = comments.get_object(pk=comment_id)28 comment = Comment.objects.get(pk=comment_id) 29 29 return render_to_response('comments/karma_vote_accepted.html', {'comment': comment}, context_instance=RequestContext(request)) django/branches/magic-removal/django/contrib/comments/views/userflags.py
r2700 r2722 1 from django.shortcuts import render_to_response 1 from django.shortcuts import render_to_response, get_object_or_404 2 2 from django.template import RequestContext 3 3 from django.http import Http404 4 from django. models.comments import comments, moderatordeletions, userflags4 from django.contrib.comments.models import Comment, ModeratorDeletion, UserFlag 5 5 from django.contrib.auth.decorators import login_required 6 6 from django.http import HttpResponseRedirect … … 16 16 the flagged `comments.comments` object 17 17 """ 18 try: 19 comment = comments.get_object(pk=comment_id, site__id__exact=settings.SITE_ID) 20 except comments.CommentDoesNotExist: 21 raise Http404 18 comment = get_object_or_404(Comment,pk=comment_id, site__id__exact=settings.SITE_ID) 22 19 if request.POST: 23 userflags.flag(comment, request.user)20 UserFlag.objects.flag(comment, request.user) 24 21 return HttpResponseRedirect('%sdone/' % request.path) 25 22 return render_to_response('comments/flag_verify.html', {'comment': comment}, context_instance=RequestContext(request)) … … 27 24 28 25 def flag_done(request, comment_id): 29 try: 30 comment = comments.get_object(pk=comment_id, site__id__exact=settings.SITE_ID) 31 except comments.CommentDoesNotExist: 32 raise Http404 26 comment = get_object_or_404(Comment,pk=comment_id, site__id__exact=settings.SITE_ID) 33 27 return render_to_response('comments/flag_done.html', {'comment': comment}, context_instance=RequestContext(request)) 34 28 … … 42 36 the flagged `comments.comments` object 43 37 """ 44 try: 45 comment = comments.get_object(pk=comment_id, site__id__exact=settings.SITE_ID) 46 except comments.CommentDoesNotExist: 47 raise Http404 48 if not comments.user_is_moderator(request.user): 38 comment = get_object_or_404(Comment,pk=comment_id, site__id__exact=settings.SITE_ID) 39 if not Comment.objects.user_is_moderator(request.user): 49 40 raise Http404 50 41 if request.POST: … … 53 44 comment.is_removed = True 54 45 comment.save() 55 m = moderatordeletions.ModeratorDeletion(None, request.user.id, comment.id, None)46 m = ModeratorDeletion(None, request.user.id, comment.id, None) 56 47 m.save() 57 48 return HttpResponseRedirect('%sdone/' % request.path) … … 60 51 61 52 def delete_done(request, comment_id): 62 try: 63 comment = comments.get_object(pk=comment_id, site__id__exact=settings.SITE_ID) 64 except comments.CommentDoesNotExist: 65 raise Http404 53 comment = get_object_or_404(Comment,pk=comment_id, site__id__exact=settings.SITE_ID) 66 54 return render_to_response('comments/delete_done.html', {'comment': comment}, context_instance=RequestContext(request))
