Update web/core/views.py

This commit is contained in:
Joshua Laymon 2025-08-31 00:25:23 +00:00
parent 8be614e819
commit 86af77d434

View File

@ -1000,3 +1000,21 @@ def dismiss_announcement(request, pk):
ann = get_object_or_404(Announcement, pk=pk)
AnnouncementDismissal.objects.get_or_create(user=request.user, announcement=ann)
return JsonResponse({"ok": True})
+# ----- Login attempts (superuser only) -----
from django.contrib.auth.decorators import user_passes_test, login_required
from django.utils import timezone
from datetime import timedelta
from .models_login import LoginAttempt
is_superuser = user_passes_test(lambda u: u.is_superuser)
@is_superuser
@login_required
def login_attempts(request):
"""
Show last 7 days of login attempts (success + failure) with username, IP, and timestamp.
"""
cutoff = timezone.now() - timedelta(days=7)
attempts = LoginAttempt.objects.filter(timestamp__gte=cutoff).order_by("-timestamp")
return render(request, "tools/login_attempts.html", {"attempts": attempts})