Fix blog home route — replace services.cart with fetch_data
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 51s

Missed cross-app call in blog/bp/blog/routes.py:127 caused
CartService not registered error on blog.rose-ash.com homepage.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
giles
2026-02-25 03:08:24 +00:00
parent 3b707ec8a0
commit f6cdf126e4

View File

@@ -84,7 +84,8 @@ def register(url_prefix, title):
from ..post.services.post_data import post_data as _post_data from ..post.services.post_data import post_data as _post_data
from shared.config import config as get_config from shared.config import config as get_config
from shared.infrastructure.cart_identity import current_cart_identity from shared.infrastructure.cart_identity import current_cart_identity
from shared.services.registry import services as svc from shared.infrastructure.data_client import fetch_data
from shared.contracts.dtos import CartSummaryDTO, dto_from_dict
from shared.infrastructure.fragments import fetch_fragment, fetch_fragments from shared.infrastructure.fragments import fetch_fragment, fetch_fragments
p_data = await _post_data("home", g.s, include_drafts=False) p_data = await _post_data("home", g.s, include_drafts=False)
@@ -121,13 +122,16 @@ def register(url_prefix, title):
"container_nav_html": container_nav_html, "container_nav_html": container_nav_html,
} }
# Page cart badge # Page cart badge via HTTP
if p_data["post"].get("is_page"): if p_data["post"].get("is_page"):
ident = current_cart_identity() ident = current_cart_identity()
page_summary = await svc.cart.cart_summary( summary_params = {"page_slug": post_slug}
g.s, user_id=ident["user_id"], session_id=ident["session_id"], if ident["user_id"] is not None:
page_slug=post_slug, summary_params["user_id"] = ident["user_id"]
) if ident["session_id"] is not None:
summary_params["session_id"] = ident["session_id"]
raw_summary = await fetch_data("cart", "cart-summary", params=summary_params, required=False)
page_summary = dto_from_dict(CartSummaryDTO, raw_summary) if raw_summary else CartSummaryDTO()
ctx["page_cart_count"] = page_summary.count + page_summary.calendar_count + page_summary.ticket_count ctx["page_cart_count"] = page_summary.count + page_summary.calendar_count + page_summary.ticket_count
ctx["page_cart_total"] = float(page_summary.total + page_summary.calendar_total + page_summary.ticket_total) ctx["page_cart_total"] = float(page_summary.total + page_summary.calendar_total + page_summary.ticket_total)