feat(opportunities): Uebernahme zurueck in die Akquise schieben
Im Dialog einer Opportunity aus der Akquise nimmt "Zurueck in die Akquise" eine versehentliche Uebernahme zurueck: alle Opportunities aus dem Eintrag wandern in den Papierkorb, der Eintrag steht mit seinem Funddatum wieder in Eingang bzw. Archiv. Neue Spalte crm_opportunities.acquisition_id, damit bei mehreren Beratern alle gefunden werden. Wiederherstellen haengt den Eintrag wieder an die Opportunity. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
0ad7b32dbf
commit
33dedaedfb
@@ -66,6 +66,7 @@ erDiagram
|
||||
int id PK
|
||||
varchar title
|
||||
varchar consultant "fuer welchen Berater"
|
||||
int acquisition_id "Herkunft in der Akquise, ohne FK"
|
||||
enum stage "Neu .. Beauftragt | Absage"
|
||||
tinyint probability "0-100"
|
||||
decimal daily_rate
|
||||
@@ -199,6 +200,16 @@ Acht Eigenheiten, die man kennen muss:
|
||||
stehen, gleich welches Datum er trägt. Ein Kennzeichen
|
||||
„wiederhergestellt" gibt es nicht; es wäre der Zustand, den diese Tabelle
|
||||
gerade nicht führt.
|
||||
- **Der Rückweg von der Opportunity** (`POST /api/opportunities/:id/acquisition`)
|
||||
braucht die Gegenrichtung: `crm_acquisitions.opportunity_id` kennt nur die
|
||||
*erste* Opportunity einer Übernahme, bei mehreren Beratern entstehen aber
|
||||
mehrere. Deshalb trägt jede Opportunity `acquisition_id` (seit 17.09.2026,
|
||||
ohne Fremdschlüssel - die Akquise löscht nach 90 Tagen). `schema.sql` trägt
|
||||
den Verweis für ältere Übernahmen nach, kann das aber nur für die erste.
|
||||
Der Rückweg legt alle lebenden Opportunities mit dieser `acquisition_id` in
|
||||
den Papierkorb und leert beim Eintrag `converted_at` und `opportunity_id`;
|
||||
`found_at` bleibt. Wird eine davon wiederhergestellt, setzt `/restore` den
|
||||
Verweis wieder, sofern der Eintrag frei ist.
|
||||
- **Der Papierkorb ist die Ausnahme davon.** Löschen von Hand ist eine
|
||||
Entscheidung und kein Ablauf, deshalb steht sie in `deleted_at` (plus
|
||||
`deleted_by`, ohne Fremdschlüssel - siehe `schema.sql`). Vorher war das
|
||||
|
||||
Reference in New Issue
Block a user