Update web/core/views.py

This commit is contained in:
Joshua Laymon 2025-08-31 04:04:54 +00:00
parent 03af17b61b
commit 225eb35d96

View File

@ -1025,21 +1025,18 @@ def login_attempts(request):
@require_POST
def clear_history(request):
"""
Clear all 'recents' for the CURRENT user.
We clear the two app-specific keys AND a few common variants in case
your templates or JS ever used alternates.
Clear the current user's history shown on the Search page:
- SearchHistory (last 10 searches)
- ViewedIllustration (recently viewed entries)
Also clears any session keys that might be used as UI caches.
"""
KEYS = [
"recent_searches", # your apps key for searches
"recent_entries", # your apps key for viewed entries
# Defensive extras (ignored if unused):
"recent_viewed", "recently_viewed", "recent_results",
"recentSearches", "recentEntries",
]
cleared = {}
for k in KEYS:
existed = k in request.session
# Delete DB-backed recents for this user
SearchHistory.objects.filter(user=request.user).delete()
ViewedIllustration.objects.filter(user=request.user).delete()
# (Harmless) clear possible session caches if present
for k in ["recent_searches", "recent_entries", "recent_viewed", "recently_viewed"]:
request.session.pop(k, None)
cleared[k] = bool(existed)
request.session.modified = True
return JsonResponse({"ok": True, "cleared": cleared})
return JsonResponse({"ok": True})