turnstile

Drupal paywall plugin
Log | Files | Refs | README | LICENSE

commit 0f190674c1592c0871be8ab2246bc646b9dd2465
parent 06b8bf5e167e96d7bbf02c08bafc2a065d8fab7e
Author: Christian Grothoff <christian@grothoff.org>
Date:   Wed, 20 May 2026 22:12:20 +0200

fix permissions issues

Diffstat:
Msrc/Entity/TurnstilePriceCategory.php | 10+++++++++-
Mtaler_turnstile.routing.yml | 4++--
2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/Entity/TurnstilePriceCategory.php b/src/Entity/TurnstilePriceCategory.php @@ -236,7 +236,15 @@ class TurnstilePriceCategory extends ConfigEntityBase { foreach ($this->getPrices() as $tokenFamilySlug => $currencyMap) { if ("%none%" !== $tokenFamilySlug) { - $subscription = $subscriptions[$tokenFamilySlug]; + $subscription = $subscriptions[$tokenFamilySlug] ?? NULL; + if (NULL === $subscription) { + // Slug not known to the backend right now (backend + // unreachable, slug renamed, or token family deleted). + // Skip rather than emitting a warning and treating it as + // expired. + \Drupal::logger('taler_turnstile')->info('Subscription category @slug not advertised by backend, skipping it.', ['@slug' => $tokenFamilySlug]); + continue; + } $expi = $subscription['valid_before_s'] ?? 0; if ($expi < time()) { \Drupal::logger('taler_turnstile')->info('Subscription category @slug expired at @expire, skipping it.', ['@slug' => $tokenFamilySlug, '@expire' => $expi]); diff --git a/taler_turnstile.routing.yml b/taler_turnstile.routing.yml @@ -14,7 +14,7 @@ taler_turnstile.settings: _form: '\Drupal\taler_turnstile\Form\TurnstileSettingsForm' _title: 'GNU Taler Turnstile settings' requirements: - _permission: 'administer GNU Taler Turnstile' + _permission: 'administer taler_turnstile' options: _admin_route: TRUE @@ -25,7 +25,7 @@ taler_turnstile.subscription_prices: _form: '\Drupal\taler_turnstile\Form\SubscriptionPricesForm' _title: 'Subscription prices' requirements: - _permission: 'administer GNU Taler Turnstile' + _permission: 'administer taler_turnstile' options: _admin_route: TRUE