This commit is contained in:
Ross
2025-12-14 21:17:42 +00:00
parent d6ede37e0b
commit 90b957fb78
4 changed files with 97 additions and 1 deletions
+13
View File
@@ -301,6 +301,9 @@ def worker_detail(request, worker_id):
leave = form.save(commit=False)
leave.worker = worker
leave.save()
# For non-HTMX (full-page) submissions just redirect back to the
# worker detail page. Token-aware redirects are handled by the
# tokenized `request_leave` view (the public token page).
return redirect("rota:worker_detail", worker_id=worker.id)
else:
# Pre-fill dates when `date` query param is provided (ISO YYYY-MM-DD)
@@ -512,6 +515,16 @@ def request_leave(request, token=None):
# Trigger modal close and a leaveUpdated event so client can refresh calendar highlights
response["HX-Trigger"] = "closeModal,leaveUpdated"
return response
# For full-page submissions: if this request was made using a tokenized
# URL (public leave request page), keep the user on that token page so
# they can see confirmation and existing requests. Otherwise go to the
# worker detail page.
if token:
try:
return redirect(reverse('rota:request_leave_token', args=[token]))
except Exception:
# fallback to worker detail
pass
return redirect("rota:worker_detail", worker_id=worker.id)
else:
# Prefill dates when provided via query params for both full page and HTMX modal