feat(client): filter select_recipe by STATION_CODE with error fallback

Replace generic /api/recipes call with api_client.get_station_recipes(STATION_CODE).
Return 503 station_not_configured.html when STATION_CODE env var is unset.
Add station indicator to recipe selection page header.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-18 08:28:46 +02:00
parent a4a849920f
commit 946264637b
5 changed files with 97 additions and 10 deletions
+13 -2
View File
@@ -22,8 +22,18 @@ measure_bp = Blueprint("measure", __name__)
@role_required("MeasurementTec")
def select_recipe():
"""Recipe selection page with search and barcode support."""
# Load recipes from API
resp = api_client.get("/api/recipes", params={"per_page": 100})
# Fail-fast if STATION_CODE is not configured
if not Config.STATION_CODE:
return render_template("errors/station_not_configured.html"), 503
# Load recipes filtered by station
try:
resp = api_client.get_station_recipes(Config.STATION_CODE)
except Exception as e:
return render_template(
"errors/station_not_configured.html", error=str(e),
), 502
if isinstance(resp, dict) and resp.get("error"):
flash(
_("Errore nel caricamento delle ricette: %(detail)s",
@@ -43,6 +53,7 @@ def select_recipe():
return render_template(
"measure/select_recipe.html",
recipes=recipes,
station_code=Config.STATION_CODE,
auto_recipe_code=auto_recipe_code,
auto_lot=auto_lot,
auto_serial=auto_serial,