feature/UC58-Gruppen-Verteilung #23

Merged
ingo merged 6 commits from feature/UC58-Gruppen-Verteilung into master 2026-06-09 23:54:47 +02:00
Owner
No description provided.
Ersetzt die drei inkompatiblen Mechanismen (Voll-Export, Cloud-Sync,
Aus-WebDAV-Dialog) durch einen einheitlichen Workflow:

Backend:
- photo_processing: geteiltes `reference_dir()` Helper (UC31)
- rallye_io: serialize_rallye liefert reference_images-Metadaten;
  deserialize_rallye bekommt optional einen asset_loader für
  Referenzbilder (ZIP/WebDAV)
- Neuer Service template_package.py:
  - build_template_zip / parse_template_zip (In-Memory ZIP)
  - export_template_to_webdav, list_template_exports,
    import_template_export_from_webdav (Job-Targets)
- Neue Endpoints: GET /{id}/export-zip, POST /templates/import-zip,
  GET|POST /{profile_id}/template-exports|export-template|import-template-export
- Entfernt: sync-template Endpoint; webdav_sync-Funktionen
  push_template/list_remote_templates/import_template_from_webdav/_merge
- Bugfix webdav.py list_directory: base_path wurde beim PROPFIND-Parsing
  nicht abgezogen → leere Listen bei gesetztem Basis-Pfad

Frontend:
- Neue Komponenten: TemplateExportDialog (ZIP + WebDAV inkl. Profil-
  Auswahl + Versionsauswahl), TemplateImportDialog (Datei-Upload + Aus
  WebDAV mit Versions-Auswahl)
- Button „Exportieren" in AdminRallyeDetail (Vorlagen UND Läufe)
- Button „Importieren" in AdminTemplatesList (ersetzt Aus-WebDAV + JSON-Datei)
- Entfernt: WebDAVImportDialog, adminTemplateSync, Cloud-Sync-Icon,
  JSON-Download-Icon, JSON-Paste-Dialog

Tests: test_template_package (Round-trip inkl. Referenzbild),
test_webdav_list_directory (list_directory Bugfix-Regression),
test_rallye_io angepasst (3. DB-Execute für ref_images)
— 198 Backend-Tests grün, npm run build grün

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- list_directory: href-Pfad via urlparse/unquote extrahieren und Prefix
  aus self._url("") ableiten — behebt leere Listen bei Voll-URL-Hrefs
  und prozent-encodierten base_paths (z.B. "Rallye%20Exports")
- Export-Ordner-Regex akzeptiert "_" und "-" vor dem Zeitstempel
  (Legacy-Rallye-Exporte nutzten Unterstrich)
- Import faellt auf rallye.json zurueck, wenn template.json fehlt
- Dialog laedt Liste nur im WebDAV-Tab + manueller Aktualisieren-Button
- Tests fuer Voll-URL-Hrefs, Unterstrich-Separator und rallye.json-Fallback

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ingo merged commit 323f20b7b9 into master 2026-06-09 23:54:47 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Projekte/TeamRallye!23
No description provided.