opencrm/backend
duffyduck b554c8e436 Auto-Vertragsstatus: Lieferbestätigung hochladen → DRAFT auf ACTIVE
Ergänzung zum Cancellation-Trigger: wenn ein ContractDocument mit
documentType "Lieferbestätigung" hochgeladen wird und der Vertrag aktuell
DRAFT ist, wird er automatisch auf ACTIVE gesetzt (+ Audit-Log).

Greift an beiden Upload-Pfaden:
- POST /api/contracts/:id/documents  (Direkt-Upload via ContractDetail)
- POST /api/emails/:id/attachments/:filename/save-as-contract-document
  (Email-Anhang als Vertragsdokument speichern)

Vergleich case-insensitive + getrimmt auf "lieferbestätigung".
Andere Typen (Auftragsformular etc.) lösen keinen Wechsel aus. Nicht-DRAFT-
Verträge (ACTIVE/CANCELLED/EXPIRED/DEACTIVATED) bleiben unverändert.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 10:20:30 +02:00
..
factory-defaults docs: Factory-Defaults Import/Export-Anleitung in READMEs 2026-04-23 14:19:02 +02:00
prisma Security-Hardening: IDOR-Fixes, XSS-Sanitizer, CORS+Helmet, Data-Exposure 2026-04-23 22:06:16 +02:00
scripts Factory-Defaults: Export + Import von Stammdaten-Katalogen 2026-04-23 14:10:12 +02:00
src Auto-Vertragsstatus: Lieferbestätigung hochladen → DRAFT auf ACTIVE 2026-04-24 10:20:30 +02:00
uploads save email as pdf like an attachment 2026-02-04 19:18:32 +01:00
.env first commit 2026-01-29 01:16:54 +01:00
.env.example first commit 2026-01-29 01:16:54 +01:00
.gitignore Factory-Defaults: Export + Import von Stammdaten-Katalogen 2026-04-23 14:10:12 +02:00
package-lock.json chore: helmet korrekt in backend/package.json statt Root 2026-04-23 23:02:12 +02:00
package.json chore: helmet korrekt in backend/package.json statt Root 2026-04-23 23:02:12 +02:00
todo.md Auto-Vertragsstatus: Lieferbestätigung hochladen → DRAFT auf ACTIVE 2026-04-24 10:20:30 +02:00
tsconfig.json first commit 2026-01-29 01:16:54 +01:00