Skip to content

New features#23

Merged
schowave merged 26 commits intomainfrom
new-features
Mar 22, 2026
Merged

New features#23
schowave merged 26 commits intomainfrom
new-features

Conversation

@schowave
Copy link
Copy Markdown
Owner

No description provided.

David Schowalter and others added 26 commits March 21, 2026 10:02
Two new pages for the media team: agenda view (worship service
rundown with time slots) and service plan overview (who does what).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Addresses: pagination strategy, calendar-to-event mapping via
domainIdentifier, nullable person names, agenda item types
(default/song/header), duration in seconds, API-provided start
times, 404 handling for missing agendas, canceled event filtering,
and file organization.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
10 tasks covering: Pydantic models, ChurchTools client functions
(fetch_events, fetch_agenda), JSON API endpoints, page routes,
templates, navigation, PDF generation, and integration testing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tion

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… loading

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The API can return name: null for some event services. Default to
empty string instead of requiring a value.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…name

The eventService.name field contains the person's display name, not
the service role name. Fetch service definitions from /api/services
in parallel and map serviceId to the actual role name (e.g. "Predigt",
"Technik").

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The Dienstplan page now shows all events without calendar filtering.
Calendar IDs are passed as hidden inputs so the API call still works.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The :checked pseudo-selector doesn't work on hidden inputs. Now
includes all hidden calendar inputs and only checked checkboxes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Prevents null reference error that blocked DOMContentLoaded from
completing on the services page.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Same as services page — show all events without calendar filtering.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add "PDF herunterladen" button to agenda (per event) and services
  (for entire date range)
- Raise AuthenticationError in _fetch_service_names on 401/403
  instead of silently returning empty dict
- Remove invalid checked attribute from hidden inputs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace unicode checkmark and em-dash with "Ja" and "--" to avoid
rendering as empty boxes in Bahnschrift/Helvetica fonts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace single global PDF button with per-event PDF buttons.
New endpoint /api/events/{event_id}/services/pdf fetches events,
filters to the requested one, and generates a single-event PDF.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@schowave schowave merged commit f29ce29 into main Mar 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant