summaryrefslogtreecommitdiff
path: root/lib/python2.7/site-packages/django/contrib/comments/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/django/contrib/comments/admin.py')
-rw-r--r--lib/python2.7/site-packages/django/contrib/comments/admin.py86
1 files changed, 0 insertions, 86 deletions
diff --git a/lib/python2.7/site-packages/django/contrib/comments/admin.py b/lib/python2.7/site-packages/django/contrib/comments/admin.py
deleted file mode 100644
index 391889c..0000000
--- a/lib/python2.7/site-packages/django/contrib/comments/admin.py
+++ /dev/null
@@ -1,86 +0,0 @@
-from __future__ import unicode_literals
-
-from django.contrib import admin
-from django.contrib.auth import get_user_model
-from django.contrib.comments.models import Comment
-from django.utils.translation import ugettext_lazy as _, ungettext_lazy
-from django.contrib.comments import get_model
-from django.contrib.comments.views.moderation import perform_flag, perform_approve, perform_delete
-
-
-class UsernameSearch(object):
- """The User object may not be auth.User, so we need to provide
- a mechanism for issuing the equivalent of a .filter(user__username=...)
- search in CommentAdmin.
- """
- def __str__(self):
- return 'user__%s' % get_user_model().USERNAME_FIELD
-
-
-class CommentsAdmin(admin.ModelAdmin):
- fieldsets = (
- (None,
- {'fields': ('content_type', 'object_pk', 'site')}
- ),
- (_('Content'),
- {'fields': ('user', 'user_name', 'user_email', 'user_url', 'comment')}
- ),
- (_('Metadata'),
- {'fields': ('submit_date', 'ip_address', 'is_public', 'is_removed')}
- ),
- )
-
- list_display = ('name', 'content_type', 'object_pk', 'ip_address', 'submit_date', 'is_public', 'is_removed')
- list_filter = ('submit_date', 'site', 'is_public', 'is_removed')
- date_hierarchy = 'submit_date'
- ordering = ('-submit_date',)
- raw_id_fields = ('user',)
- search_fields = ('comment', UsernameSearch(), 'user_name', 'user_email', 'user_url', 'ip_address')
- actions = ["flag_comments", "approve_comments", "remove_comments"]
-
- def get_actions(self, request):
- actions = super(CommentsAdmin, self).get_actions(request)
- # Only superusers should be able to delete the comments from the DB.
- if not request.user.is_superuser and 'delete_selected' in actions:
- actions.pop('delete_selected')
- if not request.user.has_perm('comments.can_moderate'):
- if 'approve_comments' in actions:
- actions.pop('approve_comments')
- if 'remove_comments' in actions:
- actions.pop('remove_comments')
- return actions
-
- def flag_comments(self, request, queryset):
- self._bulk_flag(request, queryset, perform_flag,
- ungettext_lazy('%d comment was successfully flagged',
- '%d comments were successfully flagged'))
- flag_comments.short_description = _("Flag selected comments")
-
- def approve_comments(self, request, queryset):
- self._bulk_flag(request, queryset, perform_approve,
- ungettext_lazy('%d comment was successfully approved',
- '%d comments were successfully approved'))
- approve_comments.short_description = _("Approve selected comments")
-
- def remove_comments(self, request, queryset):
- self._bulk_flag(request, queryset, perform_delete,
- ungettext_lazy('%d comment was successfully removed',
- '%d comments were successfully removed'))
- remove_comments.short_description = _("Remove selected comments")
-
- def _bulk_flag(self, request, queryset, action, done_message):
- """
- Flag, approve, or remove some comments from an admin action. Actually
- calls the `action` argument to perform the heavy lifting.
- """
- n_comments = 0
- for comment in queryset:
- action(request, comment)
- n_comments += 1
-
- self.message_user(request, done_message % n_comments)
-
-# Only register the default admin if the model is the built-in comment model
-# (this won't be true if there's a custom comment app).
-if get_model() is Comment:
- admin.site.register(Comment, CommentsAdmin)