.
This commit is contained in:
@@ -515,7 +515,34 @@ def request_leave(request, token=None):
|
||||
return response
|
||||
return redirect("rota:worker_detail", worker_id=worker.id)
|
||||
else:
|
||||
form = LeaveForm()
|
||||
# Prefill dates when provided via query params for both full page and HTMX modal
|
||||
date_q = request.GET.get("date") or request.POST.get("date")
|
||||
start_q = request.GET.get("start_date") or request.POST.get("start_date")
|
||||
end_q = request.GET.get("end_date") or request.POST.get("end_date")
|
||||
if date_q:
|
||||
try:
|
||||
import datetime
|
||||
|
||||
d = datetime.date.fromisoformat(date_q)
|
||||
form = LeaveForm(initial={"start_date": d, "end_date": d})
|
||||
except Exception:
|
||||
form = LeaveForm()
|
||||
elif start_q or end_q:
|
||||
try:
|
||||
import datetime
|
||||
|
||||
sd = datetime.date.fromisoformat(start_q) if start_q else None
|
||||
ed = datetime.date.fromisoformat(end_q) if end_q else None
|
||||
init = {}
|
||||
if sd:
|
||||
init["start_date"] = sd
|
||||
if ed:
|
||||
init["end_date"] = ed
|
||||
form = LeaveForm(initial=init)
|
||||
except Exception:
|
||||
form = LeaveForm()
|
||||
else:
|
||||
form = LeaveForm()
|
||||
|
||||
# Render modal or full page
|
||||
if is_hx:
|
||||
|
||||
Reference in New Issue
Block a user