From 29f13275f89c68414b854fc1f9712e8e8e8d030e Mon Sep 17 00:00:00 2001 From: nexxo Date: Tue, 4 Aug 2026 14:29:21 +0200 Subject: [PATCH] Das Register behauptete etwas Falsches: der Plan-Wechsel IST gebaut MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "Ein Plan-Wechsel wird nirgends angewendet" stimmt seit laengerem nicht mehr. ApplyPlanChange faehrt die plan-change-Pipeline, aufgerufen vom OrderObserver bei einer Aufstufung und von clupilot:apply-due-plan-changes bei einer Abstufung zum Laufzeitende. settleCustomDomain() hat sehr wohl einen Aufrufer (ApplyPlanChange:256), und sieben Testdateien mit 43 Pruefungen decken den Weg. Aufgeschrieben, weil der Kopfkommentar dieser Datei genau das ausschliesst: "Ein Punkt verschwindet, wenn die Arbeit im selben Commit fertig wird, der ihn streicht — und damit kann die Liste nicht behaupten, etwas sei offen, das es laengst nicht mehr ist." Genau das ist passiert. Wer eine Liste fuehrt, deren einziger Zweck Ehrlichkeit ist, muss sie mit der Arbeit streichen, nicht danach. Gepruefte Restliste: neun Punkte. Zwei davon (zweiter Sicherungsort, Office Pro) haengen an Infrastruktur, die es noch nicht gibt; einer (Hostnamen- Abnahme) an der echten Anlage; einer (Support-Mail) an einem SMTP-Konto, das der Betreiber anlegen muss. --- app/Support/OpenWork.php | 7 ------- 1 file changed, 7 deletions(-) diff --git a/app/Support/OpenWork.php b/app/Support/OpenWork.php index f03b474..7ecb352 100644 --- a/app/Support/OpenWork.php +++ b/app/Support/OpenWork.php @@ -49,13 +49,6 @@ final class OpenWork 'missing' => 'Kostet 22,80 € im Monat und verspricht mehr gleichzeitige Bearbeiter und erweiterte Office-Funktionen. Es gibt keine Collabora-Konfiguration, die vom gebuchten Modul abhängt.', 'risk' => 'Wie oben: bezahlt und nicht erbracht. Die Paketsperre für Start ist inzwischen gesetzt, das Modul selbst tut weiterhin nichts.', ], - [ - 'title' => 'Ein Plan-Wechsel wird nirgends angewendet', - 'state' => self::PARTIAL, - 'where' => 'App\\Services\\Billing\\PlanChange', - 'missing' => 'PlanChange rechnet eine Vorschau. Auf- und Abstufungen erzeugen eine Bestellung, die niemand verbraucht — settleCustomDomain() hat bis heute keinen Aufrufer. Wer den Wechsel baut, muss zusätzlich entscheiden, ob ein gebuchtes Modul auf den neuen Vertrag mitgeht.', - 'risk' => 'Ein Kunde bestellt einen Wechsel, sieht eine Bestätigung, und sein Vertrag bleibt, wie er war.', - ], [ 'title' => 'Eine entzogene Domain bleibt auf der Maschine stehen', 'state' => self::PARTIAL,