django-axes/axes/admin.py

84 lines
2 KiB
Python
Raw Normal View History

from django.contrib import admin
from django.utils.translation import gettext_lazy as _
2013-03-16 22:13:35 +00:00
2020-09-12 13:18:47 +00:00
from axes.conf import settings
from axes.models import AccessAttempt, AccessLog
2011-04-12 21:04:51 +00:00
class AccessAttemptAdmin(admin.ModelAdmin):
2013-03-16 22:13:35 +00:00
list_display = (
"attempt_time",
"ip_address",
"user_agent",
"username",
"path_info",
"failures_since_start",
2013-03-16 22:13:35 +00:00
)
list_filter = ["attempt_time", "path_info"]
2013-03-16 22:13:35 +00:00
search_fields = ["ip_address", "username", "user_agent", "path_info"]
2013-03-16 22:13:35 +00:00
date_hierarchy = "attempt_time"
2013-03-16 22:13:35 +00:00
fieldsets = (
(None, {"fields": ("path_info", "failures_since_start")}),
(_("Form Data"), {"fields": ("get_data", "post_data")}),
(_("Meta Data"), {"fields": ("user_agent", "ip_address", "http_accept")}),
)
readonly_fields = [
"user_agent",
"ip_address",
"username",
"http_accept",
"path_info",
"attempt_time",
"get_data",
"post_data",
"failures_since_start",
]
def has_add_permission(self, request):
return False
2018-05-26 17:28:11 +00:00
class AccessLogAdmin(admin.ModelAdmin):
2013-03-16 22:13:35 +00:00
list_display = (
"attempt_time",
"logout_time",
"ip_address",
"username",
"user_agent",
"path_info",
2013-03-16 22:13:35 +00:00
)
list_filter = ["attempt_time", "logout_time", "path_info"]
2013-03-16 22:13:35 +00:00
search_fields = ["ip_address", "user_agent", "username", "path_info"]
2013-03-16 22:13:35 +00:00
date_hierarchy = "attempt_time"
2013-03-16 22:13:35 +00:00
fieldsets = (
(None, {"fields": ("path_info",)}),
(_("Meta Data"), {"fields": ("user_agent", "ip_address", "http_accept")}),
)
readonly_fields = [
"user_agent",
"ip_address",
"username",
"http_accept",
"path_info",
"attempt_time",
"logout_time",
]
def has_add_permission(self, request):
return False
if settings.AXES_ENABLE_ADMIN:
admin.site.register(AccessAttempt, AccessAttemptAdmin)
admin.site.register(AccessLog, AccessLogAdmin)