feat(opportunities): Papierkorb statt endgueltigem Loeschen

Das Loeschsymbol gab es in der Kachelansicht schon, es war aber bis zum
Ueberfahren durchsichtig - ein Knopf, den man nur findet, wenn man ihn kennt.
Jetzt ist er sichtbar, in der Liste ebenso, und die Pipeline-Karte hat ihn
ueberhaupt zum ersten Mal.

Geloescht wird nicht mehr endgueltig: DELETE setzt deleted_at, die Zeile bleibt.
An einer Opportunity haengen Ansprechpartner, Verlauf und Mailzuordnungen, und
ein Fehlklick soll das nicht kosten. Der Papierkorb ist ein Unterpunkt unter
Opportunities und zeigt, wann und von wem geloescht wurde und wie lange der
Eintrag noch liegt. Zurueckholen darf, wer auch loeschen darf; das Leeren jeder
Angemeldete - was dort liegt, hat schon jemand mit den noetigen Rechten
weggeworfen. Beides fragt vorher nach.

Nach 90 Tagen raeumt das Backend selbst auf, beim Abruf der Liste und hoechstens
einmal pro Stunde je Prozess - dasselbe Muster wie in der Akquise. Ein eigener
Zeitplan waere eine weitere Stelle, die ausfallen kann, und die Abfragen filtern
Faelliges ohnehin heraus.

Im Papierkorb liegende Opportunities sind aus allen Listen, Summen und
Zuordnungsdialogen heraus und lassen sich nicht bearbeiten (409) - erst
zurueckholen, dann aendern.

Nebenbei: der Header bekommt seinen Titel jetzt ueber viewTitle(). Der
Ansichtsname musste eindeutig sein ("Opportunity-Papierkorb", weil die Mails
schon einen Papierkorb haben), angezeigt wird beides als "Papierkorb".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sascha Wolf
2026-08-18 14:16:10 +02:00
co-authored by Claude Opus 5
parent 2717462c3a
commit 1ac0e2d2c7
16 changed files with 503 additions and 30 deletions
+23 -1
View File
@@ -35,7 +35,9 @@ die Scanner-Einstellungen. Alles andere ist für beide Rollen gleich.
│ Akquise ▾ │ │
│ Eingang │ │
│ Archiv │ │
│ Opportunities├──────────────────────────────────────────┤
│ Opportuni…▾ │───────────────────────────────────────────┤
│ Alle │ │
│ Papierkorb │ │
│ Interviews │ │
│ Kontakte ▾ │ Inhalt │
│ Alle Kont. │ │
@@ -201,6 +203,26 @@ verlässt.
**Administrator**. Wer keines davon ist, bekommt eine Fehlermeldung - das prüft
der Server, nicht nur die Oberfläche.
### Löschen und Papierkorb
Das **Papierkorbsymbol** an der Kachel, in der Listenzeile und auf der
Pipeline-Karte legt eine Opportunity in den **Papierkorb** - den Unterpunkt unter
*Opportunities*. Vorher fragt eine Warnung nach.
Im Papierkorb steht, wann und von wem gelöscht wurde und wie lange der Eintrag
noch liegt:
* **Wiederherstellen** holt die Opportunity zurück - mit Ansprechpartnern,
Verlauf und Mailzuordnungen.
* **Papierkorb leeren** entfernt alles darin **endgültig**, ebenfalls nach einer
Warnung. Dabei gehen die Zuordnungen der Ansprechpartner und der Mails
verloren; die Kontakte selbst und die Mails bleiben erhalten.
* Ohne Zutun wird ein Eintrag **nach 90 Tagen** endgültig gelöscht.
Solange eine Opportunity im Papierkorb liegt, erscheint sie in keiner Liste, in
keiner Summe und in keinem Zuordnungsdialog - und sie lässt sich nicht
bearbeiten. Erst zurückholen, dann ändern.
Auf dem Tablet oder ohne Lust auf Ziehen: die Phase lässt sich auch über das
Auswahlfeld direkt auf der Karte ändern.