Abgebrochene Projekte verschwinden aus der Liste
Rueckmeldung: 'wenn ich abbreche dan sollen die auch da weg'. Ein abgebrochenes Projekt in der laufenden Liste stehen zu lassen ist doppelt schaedlich: Es verstellt den Blick auf das, was wirklich laeuft, und beim schnellen Durchsehen haelt man es fuer eine offene Baustelle. Beim Abbrechen wandert das Projekt jetzt automatisch ins Archiv. Kein neues Konzept: Den Archiv-Umschalter in der Projektliste gibt es laengst, und die Suche sowie das Cockpit klammern Archiviertes ohnehin aus. Es verschwindet damit auch aus dem PORTAL des Kunden -- und das ist richtig so, ein abgebrochener Auftrag hat dort nichts mehr zu suchen. Archivieren statt loeschen: Zahlungen, Erstattungsbetrag und Verlauf haengen daran, und bei einem Streit braucht man genau das. Der Test prueft beides -- weg aus der Liste UND noch vorhanden. Geprueft: 55 gegen eine echte Datenbank. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -575,6 +575,22 @@ export async function projektAbbrechen(req, res) {
|
||||
`UPDATE wd_projekte
|
||||
SET status = 'abgebrochen', abbruch_am = ?, abbruch_grund = ?, abbruch_wer = ?,
|
||||
abbruch_erstattung_cent = ?, abbruch_fortschritt = ?,
|
||||
/* Ab ins Archiv.
|
||||
|
||||
Wunsch vom 24.08.2026: "wenn ich abbreche dan sollen die
|
||||
auch da weg". Ein abgebrochenes Projekt in der laufenden
|
||||
Liste stehen zu lassen, waere doppelt schaedlich: Es
|
||||
verstellt den Blick auf das, was wirklich laeuft, und man
|
||||
haelt es beim schnellen Durchsehen fuer eine offene
|
||||
Baustelle.
|
||||
|
||||
Archivieren statt loeschen: Zahlungen, Erstattung und
|
||||
Verlauf haengen daran, und bei einem Streit braucht man
|
||||
genau das. Ueber den Archiv-Umschalter in der Projektliste
|
||||
bleibt es jederzeit auffindbar -- und die Suche findet es
|
||||
bewusst NICHT mehr, sonst staende ein toter Vorgang
|
||||
gleichrangig neben den lebenden. */
|
||||
archiviert = 1,
|
||||
/* Die Uhr steht ab jetzt. uhr_start_am bleibt stehen, damit
|
||||
man später sieht, wie lange gelaufen wurde. */
|
||||
wartet_auf = 'niemand',
|
||||
|
||||
@@ -180,6 +180,12 @@ pruefe("der eingegebene Betrag gilt, nicht der vorgeschlagene",
|
||||
pa.abbruch_erstattung_cent === 10000, pa.abbruch_erstattung_cent);
|
||||
pruefe("der Fortschritt beim Abbruch ist festgehalten",
|
||||
pa.abbruch_fortschritt === r.prozent, pa.abbruch_fortschritt);
|
||||
/* Wunsch: "wenn ich abbreche dan sollen die auch da weg" -- die
|
||||
Projektliste zeigt nur nicht-archivierte. */
|
||||
pruefe("das Projekt ist aus der laufenden Liste verschwunden",
|
||||
pa.archiviert === 1, pa.archiviert);
|
||||
pruefe("aber nicht geloescht -- es ist noch da",
|
||||
!!db.prepare(`SELECT id FROM wd_projekte WHERE id = ?`).get(an.projektId));
|
||||
pruefe("offene Rechnungen wurden storniert",
|
||||
db.prepare(`SELECT status FROM wd_zahlungen WHERE id = 'z2'`).get().status === "storniert",
|
||||
db.prepare(`SELECT status FROM wd_zahlungen WHERE id = 'z2'`).get().status);
|
||||
|
||||
Reference in New Issue
Block a user