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:
+18
-4
@@ -288,7 +288,8 @@ function saas_fetch_tenant_settings(PDO $pdo, int $tenantId): ?array
|
||||
ts.bank_account_holder,
|
||||
ts.bank_iban,
|
||||
ts.brand_logo,
|
||||
ts.brand_color
|
||||
ts.brand_color,
|
||||
ts.watermark_enabled
|
||||
FROM tenants t
|
||||
LEFT JOIN tenant_settings ts ON ts.tenant_id = t.id
|
||||
WHERE t.id = ?
|
||||
@@ -336,6 +337,7 @@ function saas_fetch_tenant_settings(PDO $pdo, int $tenantId): ?array
|
||||
'bank_iban' => (string)$settings['bank_iban'],
|
||||
'brand_logo' => (string)$settings['brand_logo'],
|
||||
'brand_color' => (string)$settings['brand_color'],
|
||||
'watermark_enabled' => (int)$settings['watermark_enabled'],
|
||||
];
|
||||
}
|
||||
|
||||
@@ -425,6 +427,16 @@ function saas_update_tenant_settings(PDO $pdo, int $tenantId, array $input): arr
|
||||
$pdfShowEmptyRows = !empty($input['pdf_show_empty_rows']) ? 1 : 0;
|
||||
$paymentReminderEnabled = !empty($input['payment_reminder_enabled']) ? 1 : 0;
|
||||
|
||||
// Der Hinweis auf die Kaffeeliste laesst sich abschalten - ausser im
|
||||
// kostenlosen Tarif. Die Pruefung steht hier und nicht nur im Formular,
|
||||
// damit auch ein nachgebauter POST das Kaestchen nicht leeren kann. Vor
|
||||
// der Transaktion, weil billing_fetch_or_init() eine fehlende Zeile
|
||||
// anlegt.
|
||||
$watermarkEnabled = !empty($input['watermark_enabled']) ? 1 : 0;
|
||||
if (billing_fetch_or_init($pdo, $tenantId)['plan_code'] === 'free') {
|
||||
$watermarkEnabled = 1;
|
||||
}
|
||||
|
||||
try {
|
||||
$pdo->beginTransaction();
|
||||
|
||||
@@ -443,8 +455,8 @@ function saas_update_tenant_settings(PDO $pdo, int $tenantId, array $input): arr
|
||||
pdf_watermark_text, pdf_footer_text,
|
||||
payment_reminder_enabled, payment_reminder_interval_days,
|
||||
cash_enabled, cash_contact, bank_transfer_enabled,
|
||||
bank_account_holder, bank_iban, brand_color)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
bank_account_holder, bank_iban, brand_color, watermark_enabled)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
mark_price_cents = VALUES(mark_price_cents),
|
||||
self_entry_enabled = VALUES(self_entry_enabled),
|
||||
@@ -464,7 +476,8 @@ function saas_update_tenant_settings(PDO $pdo, int $tenantId, array $input): arr
|
||||
bank_transfer_enabled = VALUES(bank_transfer_enabled),
|
||||
bank_account_holder = VALUES(bank_account_holder),
|
||||
bank_iban = VALUES(bank_iban),
|
||||
brand_color = VALUES(brand_color)'
|
||||
brand_color = VALUES(brand_color),
|
||||
watermark_enabled = VALUES(watermark_enabled)'
|
||||
);
|
||||
$stmt->execute([
|
||||
$tenantId,
|
||||
@@ -487,6 +500,7 @@ function saas_update_tenant_settings(PDO $pdo, int $tenantId, array $input): arr
|
||||
$bankAccountHolder,
|
||||
$bankIban,
|
||||
$brandColor,
|
||||
$watermarkEnabled,
|
||||
]);
|
||||
|
||||
$pdo->commit();
|
||||
|
||||
Reference in New Issue
Block a user