pp-planer/app/Services
Thorsten Bus d5f3990f3b fix: login redirect, nametag/worship resolution, macros, export headers & probundle
- Post-login (OAuth + dev-login) now redirects to the next upcoming
  service's edit page instead of /dashboard, mirroring the GET / route.
- NameTagResolver now reads the real ChurchTools `responsible` shape
  (persons[].person.title) and resolves moderator/preacher/worship-leader
  by responsible ROLE ([Moderation]/[Predigt]/[Lobpreis]). This fixes
  missing name slides and makes the worship-leader arrangement trigger
  (e.g. service 12 → "Benedikt Hardt" / "Jennifer Schneider").
- NameTagSlideBuilder no longer silently drops the name slide when the
  configured macro id points to a missing macro; it emits the slide
  without a macro instead.
- Song export: the "first slide" / "last slide" macro now applies only to
  the song's very first/last slide (global slide index across all
  sections), not the first slide of every section.
- Export "headlines" for content-less agenda items are now emitted as
  proper ProPresenter playlist HEADER items instead of text presentations.
- Prefix/postfix export files now also accept .probundle (unzipped: inner
  .pro + media embedded) in addition to .pro, both for upload validation
  and export injection.

Full suite green (587 passed).
2026-06-01 22:17:31 +02:00
..
DTO feat(ccli): scaffold CcliPasteParser service 2026-05-10 18:42:21 +02:00
AgendaMatcherService.php feat(service): add AgendaMatcherService with wildcard namesmatching 2026-03-29 11:37:06 +02:00
CcliImportService.php feat: song pre/postfix, settings overhaul, export & schedule fixes 2026-06-01 08:56:20 +02:00
CcliPasteParser.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00
CcliTranslationPairingService.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00
ChurchToolsService.php refactor(php): rename SongGroup references throughout controllers/services/tests 2026-05-03 22:55:02 +02:00
FileConversionService.php feat(images): cover-fit conversion mode 2026-05-30 23:56:05 +02:00
LabelsImportService.php feat(services): add LabelsImportService, MacrosImportService, MacroResolutionService 2026-05-03 23:03:32 +02:00
MacroResolutionService.php feat(services): add LabelsImportService, MacrosImportService, MacroResolutionService 2026-05-03 23:03:32 +02:00
MacrosImportService.php feat(services): add LabelsImportService, MacrosImportService, MacroResolutionService 2026-05-03 23:03:32 +02:00
NameTagResolver.php fix: login redirect, nametag/worship resolution, macros, export headers & probundle 2026-06-01 22:17:31 +02:00
NameTagSlideBuilder.php fix: login redirect, nametag/worship resolution, macros, export headers & probundle 2026-06-01 22:17:31 +02:00
PlaylistExportService.php fix: login redirect, nametag/worship resolution, macros, export headers & probundle 2026-06-01 22:17:31 +02:00
ProBundleExportService.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00
ProExportService.php fix: login redirect, nametag/worship resolution, macros, export headers & probundle 2026-06-01 22:17:31 +02:00
ProImportService.php feat: song pre/postfix, settings overhaul, export & schedule fixes 2026-06-01 08:56:20 +02:00
ServiceImageResolver.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00
SongMatchingService.php feat: song pre/postfix, settings overhaul, export & schedule fixes 2026-06-01 08:56:20 +02:00
SongPrefixPostfixService.php feat: song pre/postfix, settings overhaul, export & schedule fixes 2026-06-01 08:56:20 +02:00
SongService.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00
TranslationService.php feat(songs): per-song sections + section editing; fix CCLI import bugs 2026-05-31 14:45:47 +02:00