diff --git a/app/routers/ui.py b/app/routers/ui.py index 95e0d40..91b3210 100644 --- a/app/routers/ui.py +++ b/app/routers/ui.py @@ -127,18 +127,23 @@ def create_printer_type( # ── Jobs ─────────────────────────────────────────────────────────────────────── @router.get("/jobs", response_class=HTMLResponse) -def jobs_page(request: Request, q: str = "", db: Session = Depends(get_db)): +def jobs_page(request: Request, q: str = "", bracket_id: str = "", db: Session = Depends(get_db)): query = db.query(PrintJob) if q: like = f"%{q}%" query = query.filter( or_(PrintJob.customer.ilike(like), PrintJob.file_name.ilike(like)) ) + active_bracket = None + if bracket_id: + query = query.filter(PrintJob.bracket_id == int(bracket_id)) + active_bracket = db.query(JobBracket).filter(JobBracket.id == int(bracket_id)).first() return templates.TemplateResponse("jobs.html", { "request": request, "active": "jobs", "jobs": query.order_by(PrintJob.priority.desc(), PrintJob.created_at.desc()).all(), "q": q, + "active_bracket": active_bracket, "printers": db.query(Printer).order_by(Printer.name).all(), "brackets": db.query(JobBracket).order_by(JobBracket.name).all(), "stl_files": (stl_files := list_stl_files()), @@ -205,8 +210,8 @@ async def create_job( db.commit() - if effective_bracket_id and amount > 1: - return RedirectResponse(url=f"/brackets/{effective_bracket_id}", status_code=HTTP_303_SEE_OTHER) + if effective_bracket_id: + return RedirectResponse(url=f"/jobs?bracket_id={effective_bracket_id}", status_code=HTTP_303_SEE_OTHER) return RedirectResponse(url="/jobs", status_code=HTTP_303_SEE_OTHER) diff --git a/app/templates/jobs.html b/app/templates/jobs.html index ab5cf9a..e17820f 100644 --- a/app/templates/jobs.html +++ b/app/templates/jobs.html @@ -21,7 +21,14 @@ {% endif %} -{% if q %} +{% if active_bracket %} +
Results for {{ q }}
{% endif %} @@ -180,11 +187,13 @@