diff --git a/djangorota/djangorota/templates/rota/rota_detail.html b/djangorota/djangorota/templates/rota/rota_detail.html index 3767591..c63f1a7 100644 --- a/djangorota/djangorota/templates/rota/rota_detail.html +++ b/djangorota/djangorota/templates/rota/rota_detail.html @@ -17,9 +17,9 @@
-

Historic runs

-
-
+
+ Historic runs +
{% csrf_token %} @@ -36,7 +36,7 @@
  • No previous runs
  • {% endfor %} -
    +
    diff --git a/djangorota/djangorota/templates/rota/worker_detail.html b/djangorota/djangorota/templates/rota/worker_detail.html index c81f236..74e192e 100644 --- a/djangorota/djangorota/templates/rota/worker_detail.html +++ b/djangorota/djangorota/templates/rota/worker_detail.html @@ -46,16 +46,21 @@
    + {% json_script leaves as worker_leaves_json %} diff --git a/djangorota/rota/views.py b/djangorota/rota/views.py index cb22d91..229bc21 100644 --- a/djangorota/rota/views.py +++ b/djangorota/rota/views.py @@ -320,7 +320,23 @@ def worker_detail(request, worker_id): else: form = LeaveForm() - return render(request, "rota/worker_detail.html", {"worker": worker, "form": form}) + # Build a JSON-serializable list of leaves for the calendar widget to consume + leaves = [] + try: + for leave in worker.leaves.all(): + try: + s = leave.start_date.isoformat() + except Exception: + s = str(leave.start_date) + try: + e = leave.end_date.isoformat() + except Exception: + e = str(leave.end_date) + leaves.append({"start": s, "end": e}) + except Exception: + leaves = [] + + return render(request, "rota/worker_detail.html", {"worker": worker, "form": form, "leaves": leaves}) @require_http_methods(["GET", "POST"])