feature/aufgaben-kopieren #19
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/aufgaben-kopieren"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Zentrale Master-Bibliothek für Aufgaben und Gruppen mit Copy-on-Write- Semantik: Beim Import in eine Vorlage entsteht ein Snapshot-Link (source_type=linked); beim ersten Bearbeiten wird er automatisch zum Fork (source_type=forked) — ohne expliziten Trenn-Schritt. Backend: - Migration 0033: library_tasks, library_task_groups, library_group_tasks; source_type + master_id auf tasks und task_groups - Models: LibraryTask, LibraryTaskGroup, LibraryGroupTask - Service: CRUD, mandantengebunden via resolve_app_admin_id, atomarer Gruppen-Import, Namens-Dedup (Suffix "(2)"), Regel-Reset-Tracking, Löschen-Guard (nur wenn keine linked-Kopien) - Router /api/v1/admin/library/ (9 Endpunkte) + import/{rallye_id} - Fork-Trigger in update_task_for_rallye: linked → forked beim ersten PATCH - 21 Integrationstests (CRUD, Mandanten-Isolation, Import, Fork-Trigger, Löschen-Guard, native/linked/forked-Zustandsübergänge) Frontend: - AdminLibrary.tsx: neue Seite mit Aufgaben- und Gruppen-Tab, CRUD-Dialoge - TaskImportDialog: neuer Tab "Aus Bibliothek" mit Gruppen-Aufklapp und Snackbar für zurückgesetzte Sichtbarkeitsregeln - TaskListItem: 📚/🔀-Badges für linked/forked - AdminTaskEditor: Status-Chip im Header (linked/forked) - Sidebar-Eintrag "Bibliothek" + Route /admin/library - API-Client admin_library.ts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>