Commit Graph

19 Commits

Author SHA1 Message Date
giles
90c918595c Fix OOB cart-mini clearing cart icon when adjusting tickets
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 52s
The mini macro was imported without context, so cart_count was invisible
to the macro. Pass count explicitly in _adjust_response.html and add
'with context' to _buy_result.html. Update shared submodule.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 09:43:06 +00:00
giles
f445d39d22 Fix cart-mini OOB: compute cart_count explicitly in adjust route
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 52s
Pass cart_count directly to the template instead of relying on the
context processor, which may not resolve correctly for the /tickets/
URL prefix.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 09:12:59 +00:00
giles
4aaaf2c7f1 Fix: remove OOB cart-mini from ticket adjust response
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 52s
The OOB swap was replacing the cart display with empty/wrong content.
Cart count updates naturally on next page navigation instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 09:09:17 +00:00
giles
256eb390b0 Replace ticket qty input with +/- buttons, show sold/basket counts
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 57s
- Entry page shows tickets sold count, remaining, and "in basket" count
- Replace numeric input + Buy button with add-to-basket / +/- controls
- New POST /tickets/adjust/ route creates/cancels tickets to target count
- Keep buy form active after adding (no confirmation replacement)
- New service functions: get_sold_ticket_count, get_user_reserved_count,
  cancel_latest_reserved_ticket

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 08:53:12 +00:00
giles
44d089ced4 Update cart badge on ticket purchase via OOB swap
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 57s
The buy_tickets response now includes an OOB swap of #cart-mini
so the cart badge count updates immediately when tickets are reserved.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 22:11:53 +00:00
giles
6e9c973572 Remove 41 identical events template overrides of shared templates
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 46s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 20:03:53 +00:00
giles
ac9d97d78d fix: preserve post admin nav bar across events app pages
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
- Add post-admin-header-child row to calendars, calendar, markets,
  and payments index templates so the admin nav bar persists
- Create events-app-specific post/admin nav and header templates
  using coop_url() for blog endpoints instead of url_for()

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 23:51:40 +00:00
giles
e0679f8100 feat: add markets and payments management pages
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 45s
- New markets blueprint at /<slug>/markets/ with create/delete
- New payments blueprint at /<slug>/payments/ with SumUp config
- Register both in events app with context processor for markets
- Remove PageConfig feature flag check from calendar creation
  (feature toggles replaced by direct management pages)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 23:45:07 +00:00
giles
438b2edb0d fix: replace stale blog.post.* endpoint refs with coop_url()
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Replace url_for('blog.post.post_detail', ...) and
url_for('blog.post.admin.entries', ...) with coop_url() for
cross-service links back to the blog app.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 13:02:16 +00:00
giles
dcf716c685 fix: make calendar name a link back to calendar view
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 42s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 11:52:25 +00:00
giles
838f1ae1bc fix: calendar nav settings cog, header padding, post nav admin link
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 37s
- Calendar nav: fix Slots link URL, add admin cog for admins
- Calendar header: add left padding to calendar name
- Post nav: add settings cog linking to blog admin

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 11:09:37 +00:00
giles
9df5b45696 refactor: remove events post header override (shared covers it)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 10:54:55 +00:00
giles
fb0fc5999e feat: add post header (village hall menu bar) to calendar pages
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 37s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 10:47:16 +00:00
giles
139cf5fa2f fix: remove extra endcall in calendar header template
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 36s
The premature endcall closed menu_row before desktop_nav,
causing a Jinja nesting error.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 09:58:05 +00:00
giles
3624d141dc fix: remove post.slug references from events calendar templates
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 45s
Routes in standalone events mode don't need slug parameter.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 02:12:09 +00:00
giles
033d9d617c fix: calendar templates extend root instead of post
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 42s
Prevents 500 errors in standalone events app where post
variable is unavailable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 02:04:35 +00:00
giles
dd9007d572 fix: override meta block in calendar templates
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Calendar templates extend post/index.html which includes _meta.html
expecting a `post` variable. In standalone events mode there's no
post — override with empty meta block.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 01:35:02 +00:00
giles
1bab546dfc feat: ticket purchase flow, QR display, and admin check-in
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Ticket purchase:
- tickets blueprint with routes for my tickets list, ticket detail with QR
- Buy tickets form on entry detail page (HTMX-powered)
- Ticket services: create, query, availability checking

Admin check-in:
- ticket_admin blueprint with dashboard, lookup, and check-in routes
- QR scanner/lookup interface with real-time search
- Per-entry ticket list view
- Check-in transitions ticket state to checked_in

Internal API:
- GET /internal/events/tickets endpoint for cross-app queries
- POST /internal/events/tickets/<code>/checkin for programmatic check-in

Template fixes:
- All templates updated: blog.post.calendars.* → calendars.*
- Removed slug=post.slug parameters (standalone events service)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 00:00:35 +00:00
giles
3c0fa45f8c feat: initialize events app with calendars, slots, tickets, and internal API
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Extract events/calendar functionality into standalone microservice:
- app.py and events_api.py from apps/events/
- Calendar blueprints (calendars, calendar, calendar_entries, calendar_entry, day, slots, slot, ticket_types, ticket_type)
- Templates for all calendar/event views including admin
- Dockerfile (APP_MODULE=app:app, IMAGE=events)
- entrypoint.sh (no Alembic - migrations managed by blog app)
- Gitea CI workflow for build and deploy

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 23:16:32 +00:00