Schalter fuer den Hinweis auf die Kaffeeliste

Der Hinweis unten rechts laesst sich ab einem bezahlten Tarif in den
Mandant-Einstellungen abschalten (neue Spalte tenant_settings.
watermark_enabled, Standard an). Im kostenlosen Tarif bleibt er fest
eingeschaltet: das Kaestchen ist angehakt und disabled, daneben steht der
Grund. Zusaetzlich erzwingt saas_update_tenant_settings() den Wert dort noch
einmal, damit ein nachgebauter POST ihn nicht abschalten kann.

Der Titel des Wasserzeichens spricht nicht mehr vom kostenlosen Tarif -
zahlende Mandanten koennen es jetzt freiwillig zeigen.

Der Smoke-Test prueft die Einstellungsseite jetzt auch angemeldet. Sein
Muster fuer PHP-Meldungen verlangt dafuer einen Doppelpunkt, sonst haette
das Feld "negative_warning" als Warnung gezaehlt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-21 00:27:44 +02:00
co-authored by Claude Opus 5
parent 1d53b66e3f
commit b244451c42
8 changed files with 153 additions and 16 deletions
+18 -1
View File
@@ -5,7 +5,11 @@ declare(strict_types=1);
require __DIR__ . '/dev-db.php';
$baseUrl = rtrim((string)(getenv('SMOKE_BASE_URL') ?: 'http://127.0.0.1:8080'), '/');
$issuePattern = '~(?:Deprecated|Warning|Fatal error|Parse error|Notice|Uncaught (?:Error|Exception))~i';
// PHP-Meldungen enden immer auf einen Doppelpunkt ("Warning: ...", in HTML
// auch "<b>Warning</b>: ..."). Der verlangte Doppelpunkt haelt harmlose
// Treffer heraus, die dieselben Woerter enthalten - z. B. das Feld
// "negative_warning" in den Mandant-Einstellungen.
$issuePattern = '~(?:Deprecated|Warning|Fatal error|Parse error|Notice|Uncaught (?:Error|Exception))(?:</b>)?\s*:~i';
// Der Smoke-Test legt sich seinen eigenen Mandanten mit bekannten Zahlen an und
// meldet sich per HTTP an, statt sich auf vorhandene Daten oder eine
@@ -171,6 +175,19 @@ $checks = [
'expect_redirect' => 'login.php',
'contains' => [],
],
[
// Der Smoke-Mandant ist im kostenlosen Tarif: der Schalter fuer den
// Hinweis auf die Kaffeeliste muss erscheinen, aber festgestellt sein.
'label' => 'Mandant-Einstellungen',
'path' => 'mandant-einstellungen.php',
'auth' => true,
'contains' => [
'Hinweis auf die Kaffeeliste',
'Logo der Kaffeeliste unten rechts anzeigen',
'Im kostenlosen Tarif bleibt dieser Hinweis eingeblendet',
'disabled',
],
],
[
'label' => 'Namensanpassung',
'path' => 'namenanpassen.php',