Menue folgt auch den Schaltern des Mandanten
Bisher blendete das Menue nur aus, was der Betreiber gesperrt hatte. Hat der Mandant selbst eine Funktion abgeschaltet - etwa "PayPal anbieten" in den Mandant-Einstellungen - blieb der Menuepunkt stehen und fuehrte auf eine Seite ohne Zweck. app_feature_available() prueft nun beide Ebenen, app_feature_tenant_switch() haelt die Zuordnung Funktion -> Mandanten-Schalter. Navigation und Anleitung nutzen die neue Pruefung; paypal-zuordnung.php sperrt sich beim direkten Aufruf ebenfalls und verweist dabei auf die Mandant-Einstellungen statt auf den Betreiber. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+13
-6
@@ -16,11 +16,18 @@ if ($saasUser !== null && saas_user_has_role(['owner', 'admin', 'treasurer'], $s
|
||||
$hasAccess = true;
|
||||
}
|
||||
|
||||
// Vom Betreiber gesperrte Funktion: $hasAccess faellt zurueck, damit auch die
|
||||
// POST-Verarbeitung weiter unten nicht mehr laeuft.
|
||||
$gesperrteFunktion = null;
|
||||
// Gesperrte Funktion: $hasAccess faellt zurueck, damit auch die
|
||||
// POST-Verarbeitung weiter unten nicht mehr laeuft. Der Menuepunkt ist in
|
||||
// diesem Fall ausgeblendet - die Seite bleibt aber ueber die direkte URL
|
||||
// erreichbar und muss deshalb selbst pruefen.
|
||||
$sperrHinweis = null;
|
||||
if ($hasAccess && !app_feature_enabled($pdo, $tenantId, 'paypal_inbox')) {
|
||||
$gesperrteFunktion = 'paypal_inbox';
|
||||
// Der Betreiber hat die Funktion fuer diesen Mandanten nicht freigeschaltet.
|
||||
$sperrHinweis = app_feature_notice_html('paypal_inbox');
|
||||
$hasAccess = false;
|
||||
} elseif ($hasAccess && !app_feature_available($pdo, $tenantId, 'paypal_inbox')) {
|
||||
// Der Mandant selbst bietet PayPal nicht als Zahlungsweg an.
|
||||
$sperrHinweis = app_feature_tenant_notice_html('paypal_inbox');
|
||||
$hasAccess = false;
|
||||
}
|
||||
|
||||
@@ -130,8 +137,8 @@ include "nav.php";
|
||||
<section id="banner">
|
||||
<div class="content">
|
||||
|
||||
<?php if ($gesperrteFunktion !== null): ?>
|
||||
<?php echo app_feature_notice_html($gesperrteFunktion); ?>
|
||||
<?php if ($sperrHinweis !== null): ?>
|
||||
<?php echo $sperrHinweis; ?>
|
||||
<?php elseif (!$hasAccess): ?>
|
||||
<h2>Kein Zugriff</h2>
|
||||
<?php else: ?>
|
||||
|
||||
Reference in New Issue
Block a user