from fastapi import APIRouter, Depends, Request from fastapi.responses import HTMLResponse, RedirectResponse import os from fastapi.templating import Jinja2Templates from app.core.auth_dependencies import get_current_user router = APIRouter() templates = Jinja2Templates(directory="app") @router.get("/planner", response_class=HTMLResponse) async def planner(request: Request, current_user: dict = Depends(get_current_user)): return templates.TemplateResponse("modules/planner/templates/index.html", {"request": request, "current_user": current_user}) @router.get("/planning", response_class=HTMLResponse) async def planning(request: Request, current_user: dict = Depends(get_current_user)): if os.environ.get('PLANNING_UI_ENABLED','true').lower() in {'0','false','no'}: return RedirectResponse('/planner',status_code=307) return templates.TemplateResponse("modules/planner/templates/work.html", {"request": request, "current_user": current_user}) @router.get('/planning/absence', response_class=HTMLResponse) async def absence_status(request: Request, current_user: dict = Depends(get_current_user)): from app.modules.planner.backend.calendar import require_absence_report require_absence_report(current_user) return templates.TemplateResponse('modules/planner/templates/absence.html', {'request':request,'current_user':current_user})