.
This commit is contained in:
@@ -1039,12 +1039,12 @@ def leaves_json(request, worker_id):
|
||||
return JsonResponse({'leaves': data})
|
||||
|
||||
|
||||
def leaves_global_json(request):
|
||||
def leaves_global_json(request, rota_id=None):
|
||||
"""Return JSON list of all leave ranges across all workers."""
|
||||
from .models import Leave
|
||||
# Optionally filter by rota_id (provided as query param) so the global
|
||||
# calendar can be scoped to a particular rota's workers.
|
||||
rota_id = request.GET.get('rota_id')
|
||||
rota_id = request.GET.get('rota_id') if rota_id is None else rota_id
|
||||
qs = Leave.objects.select_related('worker')
|
||||
if rota_id:
|
||||
try:
|
||||
@@ -1078,22 +1078,23 @@ def leaves_global_json(request):
|
||||
return JsonResponse({'leaves': data})
|
||||
|
||||
|
||||
def leaves_global(request):
|
||||
def leaves_global(request, rota_id=None):
|
||||
"""Page showing a global calendar with all leave requests."""
|
||||
# Provide an empty JSON payload initially; the calendar will fetch the authoritative list
|
||||
leaves_json = '[]'
|
||||
return render(request, 'rota/leaves_global.html', {'leaves_json': leaves_json})
|
||||
selected = rota_id if rota_id is not None else request.GET.get('rota_id')
|
||||
return render(request, 'rota/leaves_global.html', {'leaves_json': leaves_json, 'rotas': RotaSchedule.objects.all().order_by('name'), 'selected_rota_id': selected})
|
||||
|
||||
|
||||
@require_http_methods(["GET"])
|
||||
def select_workers_modal(request):
|
||||
def select_workers_modal(request, rota_id=None):
|
||||
"""Return an HTMX modal partial that lists workers to apply a selected leave range to.
|
||||
|
||||
Query params: start_date, end_date, rota_id (optional)
|
||||
"""
|
||||
start_date = request.GET.get('start_date')
|
||||
end_date = request.GET.get('end_date')
|
||||
rota_id = request.GET.get('rota_id')
|
||||
rota_id = request.GET.get('rota_id') if rota_id is None else rota_id
|
||||
workers = Worker.objects.all()
|
||||
if rota_id:
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user