giles
2af4dd2073
Remove dead code: routes_old.py and unused imports
...
Build and Deploy / build-and-deploy (push) Successful in 45s
- routes_old.py: 253 lines, completely unreferenced (replaced by
global_routes, page_routes, overview_routes)
- page_routes.py: remove unused check_sumup_status, get_order_with_details
- global_routes.py: remove unused is_htmx_request, config imports
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-14 19:46:52 +00:00
giles
6aa2919f34
Remove dead adopt_session_cart_for_user.py (replaced by glue/services/cart_adoption.py)
...
Build and Deploy / build-and-deploy (push) Successful in 37s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-14 19:39:21 +00:00
giles
61686fd70c
Remove dead login_helper.py (replaced by glue/services/cart_adoption.py)
...
Build and Deploy / build-and-deploy (push) Successful in 37s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-14 19:38:18 +00:00
giles
d407957928
Phase 5: Replace cross-domain writes with glue services, emit events
...
Build and Deploy / build-and-deploy (push) Successful in 41s
- checkout.py: use claim_entries_for_order(), emit order.created
- check_sumup_status.py: use confirm_entries_for_order(), emit order.paid
- global_routes.py: use get_entries_for_order() instead of relationship
- order.py: remove calendar_entries relationship
- api.py: remove /adopt endpoint (replaced by event-driven adoption)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-14 17:35:43 +00:00
giles
5d0653bf2e
feat: decouple cart from shared_lib, add app-owned models
...
Phase 1-3 of decoupling:
- path_setup.py adds project root to sys.path
- Cart-owned models in cart/models/ (order, page_config)
- All imports updated: shared.infrastructure, shared.db, shared.browser, etc.
- PageConfig uses container_type/container_id instead of post_id FK
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 12:46:34 +00:00
giles
cb2fcd9d32
feat: per-page carts with overview, page-scoped checkout, and split blueprints (Phase 4)
...
Build and Deploy / build-and-deploy (push) Failing after 21s
Splits the monolithic cart blueprint into three: cart_overview (GET /),
page_cart (/<page_slug>/), and cart_global (webhook, return, add).
- New page_cart.py service: get_cart_for_page(), get_calendar_entries_for_page(), get_cart_grouped_by_page()
- clear_cart_for_order() and create_order_from_cart() accept page_post_id for scoping
- Cart app hydrates page_slug via url_value_preprocessor/url_defaults/hydrate_page
- Context processor provides page-scoped cart data when g.page_post exists
- Internal API /internal/cart/summary accepts ?page_slug= for page-scoped counts
- Overview template shows page cards with item counts and totals
- Page cart template reuses show_cart() macro with page-specific header
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 21:45:30 +00:00
giles
c8d927bf72
feat: per-page SumUp credentials in checkout flow (Phase 3)
...
- Add resolve_page_config() to determine PageConfig from cart/calendar context
- Set page_config_id on Order during checkout
- Pass page_config to SumUp create_checkout and build_sumup_reference
- check_sumup_status uses order.page_config for per-page credential resolution
- Fix: use session.flush() instead of g.s.flush() in check_sumup_status
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 20:49:45 +00:00
giles
347ce53363
fix: add register_order to bp/__init__.py (needed by orders)
...
Build and Deploy / build-and-deploy (push) Successful in 39s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 00:34:48 +00:00
giles
9f4fc41cc8
fix: add bp/__init__.py with register function exports
...
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 00:28:55 +00:00
giles
967303093d
feat: initialize cart app with blueprints, templates, and CI
...
Build and Deploy / build-and-deploy (push) Has been cancelled
Extract cart, order, and orders blueprints with their service layer,
templates, Dockerfile (APP_MODULE=app:app, IMAGE=cart), entrypoint,
and Gitea CI workflow from the coop monolith.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-09 23:17:41 +00:00