From 3c9ff1210aa65cd265b26d83ea83a36613bea6f0 Mon Sep 17 00:00:00 2001 From: giles Date: Tue, 24 Feb 2026 09:51:50 +0000 Subject: [PATCH] Fix cart route missing slug param (popped by app-level preprocessor) App-level url_value_preprocessor pops slug from values, so the product blueprint's cart() never receives it. Use g.product_slug (set by resolve_product before_request) instead. Co-Authored-By: Claude Opus 4.6 --- bp/product/routes.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bp/product/routes.py b/bp/product/routes.py index 9a51042..7eae4c6 100644 --- a/bp/product/routes.py +++ b/bp/product/routes.py @@ -159,7 +159,8 @@ def register(): @bp.post("/cart/") @clear_cache(tag="browse", tag_scope="user") - async def cart(slug: str): + async def cart(**_kw): + slug = g.product_slug # make sure product exists (we *allow* deleted_at != None later if you want) product_id = await g.s.scalar( select(Product.id).where(