Admin-Abo: Produkte trotz Mindestlaufzeit abziehen/entfernen
Die Admin-Detailseite postete Warenkorb-Aktionen mit view=me/ot, wodurch Add-only-Modus und Change-Lock auch fuer Admins griffen (Reduzieren wurde verworfen, Entfernen lieferte 403). Formular postet jetzt mit view=admin; checkPermissions laesst view=admin nur noch fuer Admins zu (schliesst zugleich die Luecke, dass unbekannte Views alle Besitzer-Pruefungen uebersprangen). Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
d50be7135a
commit
eac923968d
3 changed files with 208 additions and 3 deletions
|
|
@ -145,8 +145,10 @@ class AboController extends Controller
|
|||
$this->checkPermissions($view, $user_abo);
|
||||
$editView = \Auth::user()?->isAdmin() ? 'admin' : $view;
|
||||
// Add-only (Mindestlaufzeit) und Change-Lock richten sich nach der Abo-Sicht ($view),
|
||||
// NICHT nach Admin-Status – auf der Selbstbedienungs-Seite gelten für alle (auch VIP/Admin)
|
||||
// die Berater-Regeln. $editView dient nur dem History-Logging.
|
||||
// NICHT nach Admin-Status – auf der Selbstbedienungs-Seite (view me/ot) gelten für alle
|
||||
// (auch VIP/Admin) die Berater-Regeln. Die Admin-Detailseite postet mit view=admin
|
||||
// (nur für Admins zugelassen, siehe checkPermissions) und umgeht beide Sperren.
|
||||
// $editView dient nur dem History-Logging.
|
||||
$isAddOnlyMode = AboHelper::isAddOnlyMode($user_abo, $view);
|
||||
$changeLocked = AboHelper::isAboChangeLocked($user_abo, $view);
|
||||
|
||||
|
|
@ -753,6 +755,12 @@ class AboController extends Controller
|
|||
return;
|
||||
}
|
||||
|
||||
// view=admin (und alle unbekannten Views) sind Nicht-Admins nicht erlaubt,
|
||||
// sonst würden sämtliche is_for-/Besitzer-Prüfungen unten übersprungen.
|
||||
if (! in_array($view, ['me', 'ot'], true)) {
|
||||
abort(403, 'Unauthorized action. Invalid view');
|
||||
}
|
||||
|
||||
if ($view === 'me' && $user_abo->is_for !== 'me') {
|
||||
abort(403, 'Unauthorized action. Is not for me');
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue