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:
+5
-3
@@ -31,8 +31,10 @@ if ($saasNavUser !== null && function_exists('saas_list_user_memberships')) {
|
||||
}
|
||||
}
|
||||
|
||||
// Vom Betreiber gesperrte Funktionen erscheinen gar nicht erst im Menue -
|
||||
// ein Menuepunkt, der nur zu einer Absage fuehrt, ist schlechter als keiner.
|
||||
// Gesperrte Funktionen erscheinen gar nicht erst im Menue - ein Menuepunkt,
|
||||
// der nur zu einer Absage fuehrt, ist schlechter als keiner. Geprueft werden
|
||||
// beide Ebenen: die Freischaltung durch den Betreiber und der eigene Schalter
|
||||
// des Mandanten in den Mandant-Einstellungen (z. B. "PayPal anbieten").
|
||||
require_once __DIR__ . '/app/features.php';
|
||||
$saasNavTenantId = $saasNavUser !== null ? (int)$saasNavUser['tenant_id'] : 0;
|
||||
$saasNavFeature = static function (string $key) use ($saasNavTenantId): bool {
|
||||
@@ -40,7 +42,7 @@ $saasNavFeature = static function (string $key) use ($saasNavTenantId): bool {
|
||||
return true;
|
||||
}
|
||||
|
||||
return app_feature_enabled(app_db_pdo(), $saasNavTenantId, $key);
|
||||
return app_feature_available(app_db_pdo(), $saasNavTenantId, $key);
|
||||
};
|
||||
|
||||
// Das Back-Office war bisher nur ueber die direkte URL erreichbar. Es ist die
|
||||
|
||||
Reference in New Issue
Block a user