Offene PayPal-Zahlungen bleiben nach dem Abschalten erreichbar

Wird PayPal in den Mandant-Einstellungen abgeschaltet, waehrend noch
Zahlungen unzugeordnet in der Warteschlange liegen, kaeme ohne diese
Ausnahme niemand mehr an sie heran - weder ueber das Menue noch ueber die
URL.

paypal_inbox_accessible() haelt Menuepunkt und Seite deshalb offen, solange
paypal_count_unmatched() etwas findet; die Seite weist per Hinweis darauf
hin, dass sie nach dem Abarbeiten verschwindet. Eine Sperre durch den
Betreiber sticht die Ausnahme.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-20 23:42:52 +02:00
co-authored by Claude Opus 5
parent 3f6866e075
commit 6cd7fcc079
4 changed files with 85 additions and 4 deletions
+17 -3
View File
@@ -21,14 +21,21 @@ if ($saasUser !== null && saas_user_has_role(['owner', 'admin', 'treasurer'], $s
// diesem Fall ausgeblendet - die Seite bleibt aber ueber die direkte URL
// erreichbar und muss deshalb selbst pruefen.
$sperrHinweis = null;
$restarbeitHinweis = false;
if ($hasAccess && !app_feature_enabled($pdo, $tenantId, '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;
// Der Mandant selbst bietet PayPal nicht mehr als Zahlungsweg an. Offene
// Zahlungen muessen trotzdem noch zugeordnet werden koennen - erst mit
// leerer Warteschlange schliesst die Seite.
if (paypal_count_unmatched($pdo, $tenantId) > 0) {
$restarbeitHinweis = true;
} else {
$sperrHinweis = app_feature_tenant_notice_html('paypal_inbox');
$hasAccess = false;
}
}
$flash = null;
@@ -145,6 +152,13 @@ include "nav.php";
<h2>PayPal-Zahlungen zuordnen</h2>
<?php if ($restarbeitHinweis): ?>
<div class="hint-box warning"><p><b>PayPal ist in euren Mandant-Einstellungen deaktiviert.</b><br>
Diese Seite bleibt geöffnet, bis die unten stehenden Zahlungen zugeordnet oder abgehakt sind.
Danach verschwindet sie aus dem Menü bis PayPal unter
<a href="mandant-einstellungen.php">Mandant-Einstellungen</a> wieder eingeschaltet wird.</p></div>
<?php endif; ?>
<?php if ($flash !== null): ?>
<div class="hint-box <?php echo $flash['type'] === 'success' ? 'success' : 'error'; ?>"><p><?php echo saas_html($flash['text']); ?></p></div>
<?php endif; ?>