Update web/core/views.py
This commit is contained in:
parent
13ebdfc4d2
commit
322e6ec1f7
@ -1049,4 +1049,29 @@ is_superuser = user_passes_test(lambda u: u.is_superuser)
|
||||
@login_required
|
||||
def audit_log(request):
|
||||
rows = AuditLog.objects.all().order_by("-timestamp")[:100]
|
||||
return render(request, "tools/audit_log.html", {"rows": rows})
|
||||
return render(request, "tools/audit_log.html", {"rows": rows})
|
||||
|
||||
|
||||
from django.contrib.staticfiles import finders
|
||||
from django.http import HttpResponseBadRequest, HttpResponseRedirect
|
||||
from django.urls import reverse
|
||||
import os
|
||||
|
||||
def _is_valid_theme(name: str) -> bool:
|
||||
# Validate against files present in /static/themes
|
||||
for finder in finders.get_finders():
|
||||
for path, storage in finder.list(['themes']):
|
||||
if path == f'themes/{name}.css':
|
||||
return True
|
||||
return False
|
||||
|
||||
def set_theme(request):
|
||||
if request.method != 'POST':
|
||||
return HttpResponseBadRequest('Invalid method')
|
||||
theme = (request.POST.get('theme') or '').strip()
|
||||
if not _is_valid_theme(theme):
|
||||
return HttpResponseBadRequest('Unknown theme')
|
||||
request.session['theme'] = theme
|
||||
# also write to localStorage on next load via inline script in base.html
|
||||
# redirect back to settings
|
||||
return HttpResponseRedirect(reverse('settings')) # adjust to your settings view name/URL
|
||||
Loading…
Reference in New Issue
Block a user