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:
@@ -94,6 +94,17 @@ Design-Entscheidungen:
|
||||
einem Hinweis statt mit einem Fehler. Die POST-Verarbeitung der
|
||||
betroffenen Seiten hängt an derselben Prüfung, eine gesperrte Funktion
|
||||
lässt sich also auch nicht per Formular-POST auslösen.
|
||||
- **Abgeschaltet vom Kunden heißt ebenfalls unsichtbar.** Für Funktionen
|
||||
mit eigenem Schalter in den Mandant-Einstellungen zieht `footer.php`
|
||||
(und die Anleitung) `app_feature_available()` heran: erst die
|
||||
Freischaltung durch den Betreiber, dann der Schalter des Kunden. Die
|
||||
Zuordnung steht in `app_feature_tenant_switch()` – aktuell
|
||||
`paypal_inbox` → `paypal_enabled` und `self_entry` →
|
||||
`self_entry_enabled`. Wer PayPal nicht als Zahlungsweg anbietet, sieht
|
||||
den Menüpunkt „PayPal-Zahlungen" also gar nicht erst; beim direkten
|
||||
Aufruf erscheint statt des Betreiber-Hinweises
|
||||
`app_feature_tenant_notice_html()` mit dem Weg zurück in die
|
||||
Mandant-Einstellungen.
|
||||
- Jede Änderung landet als `backoffice.features_updated` im Audit-Log des
|
||||
betroffenen Mandanten – wie jeder andere Back-Office-Zugriff auch.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user