hoeny pad admin
This commit is contained in:
+66
-27
@@ -16,7 +16,7 @@ import json
|
||||
|
||||
|
||||
def dashboard_callback(request, context):
|
||||
print(context)
|
||||
|
||||
pending_count = OrderModel.objects.filter(status='ADMIN_PENDING').count()
|
||||
open_tickets_count = Ticket.objects.filter(status__in=['open', 'in_progress']).count()
|
||||
context.update(random_data())
|
||||
@@ -213,35 +213,74 @@ from django.contrib import messages
|
||||
from django.shortcuts import redirect
|
||||
from django.views.generic import RedirectView, TemplateView
|
||||
from unfold.views import UnfoldModelAdminViewMixin
|
||||
class FakeAdminLoginView(LoginView):
|
||||
template_name = "admin/fake_login.html"
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
print(self.get_form())
|
||||
context.update({
|
||||
**admin_site.each_context(self.request),
|
||||
"title": "Log in",
|
||||
from django.views import View
|
||||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
|
||||
# class FakeAdminLoginView(View):
|
||||
# template_name = "admin/fake_login.html"
|
||||
# def get_context_data(self, **kwargs):
|
||||
# context = super().get_context_data(**kwargs)
|
||||
|
||||
# context.update({
|
||||
# **admin_site.each_context(self.request),
|
||||
# "title": "Log in",
|
||||
# "site_header": admin_site.site_header,
|
||||
# "form": self.get_form(),
|
||||
# })
|
||||
# return context
|
||||
|
||||
# def post(self):
|
||||
# # Log the honeypot attempt
|
||||
# username = form.cleaned_data.get("username")
|
||||
# ip = self.request.META.get("REMOTE_ADDR")
|
||||
# print(f"Honeypot triggered! IP: {ip}, Username: {username}")
|
||||
|
||||
# # Add error message and redirect back to fake login
|
||||
# messages.error(self.request, "Please enter a correct شماره تماس and password. Note that both fields may be case-sensitive.")
|
||||
# return redirect('/admin')
|
||||
|
||||
|
||||
|
||||
from django.views import View
|
||||
from django.contrib import messages
|
||||
from django.shortcuts import render, redirect
|
||||
from django.contrib.admin.sites import site as admin_site
|
||||
|
||||
class FakeAdminLoginView(View):
|
||||
def get_unfold_context(self, request):
|
||||
"""Replicates Unfold's template context"""
|
||||
return {
|
||||
"site_title": admin_site.site_title,
|
||||
"site_header": admin_site.site_header,
|
||||
"form": self.get_form(),
|
||||
})
|
||||
"unfold": {
|
||||
"title": admin_site.site_title,
|
||||
"navigation": [],
|
||||
"theme": "light", # Match your Unfold config
|
||||
"color_scheme": "light", # Match your Unfold config
|
||||
}
|
||||
}
|
||||
|
||||
def get_context(self, request):
|
||||
"""Combine Unfold context with default admin context"""
|
||||
context = admin_site.each_context(request)
|
||||
context.update(self.get_unfold_context(request))
|
||||
return context
|
||||
|
||||
def form_valid(self, form):
|
||||
# Log the honeypot attempt
|
||||
username = form.cleaned_data.get("username")
|
||||
ip = self.request.META.get("REMOTE_ADDR")
|
||||
print(f"Honeypot triggered! IP: {ip}, Username: {username}")
|
||||
def get(self, request):
|
||||
# Log empty attempt (optional)
|
||||
ip = request.META.get("REMOTE_ADDR")
|
||||
print(f"Honeypot page accessed from IP: {ip}")
|
||||
|
||||
# Add error message and redirect back to fake login
|
||||
messages.error(self.request, "Please enter a correct شماره تماس and password. Note that both fields may be case-sensitive.")
|
||||
return redirect('/admin')
|
||||
return render(request, 'admin/fake_login.html', self.get_context(request))
|
||||
|
||||
def form_invalid(self, form):
|
||||
# Log the honeypot attempt
|
||||
username = form.cleaned_data.get("username")
|
||||
ip = self.request.META.get("REMOTE_ADDR")
|
||||
print(f"Honeypot triggered! IP: {ip}, Username: {username}")
|
||||
def post(self, request):
|
||||
username = request.POST.get("username")
|
||||
password = request.POST.get("password") # Never actually used
|
||||
ip = request.META.get("REMOTE_ADDR")
|
||||
|
||||
# Add error message and redirect back to fake login
|
||||
messages.error(self.request, "Please enter a correct شماره تماس and password. Note that both fields may be case-sensitive.")
|
||||
return redirect('/admin')
|
||||
print(f"Honeypot triggered! IP: {ip}, Username: {username}")
|
||||
messages.error(request, "Please correct the error below.")
|
||||
messages.error(request, "Please enter the correct شماره تماس and password for a staff account. Note that both fields may be case-sensitive.")
|
||||
|
||||
# Redirect back to fake login page with context
|
||||
return render(request, 'admin/fake_login.html', self.get_context(request))
|
||||
Reference in New Issue
Block a user