turnstile

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

commit c12a79d3f9e6541eb682dc6a4391f6dbe576d4bf
parent c14ac7766d5b3a43aebe285af70461b0614c5998
Author: Christian Grothoff <christian@grothoff.org>
Date:   Mon, 20 Oct 2025 21:38:53 +0200

fix prcat field management logic

Diffstat:
Msrc/Form/TurnstileSettingsForm.php | 3+++
Msrc/TurnstileFieldManager.php | 11+++--------
2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/Form/TurnstileSettingsForm.php b/src/Form/TurnstileSettingsForm.php @@ -238,6 +238,9 @@ class TurnstileSettingsForm extends ConfigFormBase { if (!empty($types_to_remove)) { $this->fieldManager->removeFieldsFromContentTypes($types_to_remove); } + if (empty($new_enabled_types)) { + $this->fieldManager->cleanupFieldStorage(); + } $grant_access_on_error = $form_state->getValue('grant_access_on_error'); diff --git a/src/TurnstileFieldManager.php b/src/TurnstileFieldManager.php @@ -164,14 +164,12 @@ class TurnstileFieldManager { $view_display->save(); } } - - $this->cleanupFieldStorage(); } /** - * Clean up field storage if no content types are using it. + * Clean up field storage when no content types are using it anymore. */ - protected function cleanupFieldStorage() { + public function cleanupFieldStorage() { $field_category_storage = FieldStorageConfig::loadByName('node', 'field_taler_turnstile_prcat'); if ($field_category_storage) { $field_configs = $this->entityTypeManager @@ -179,10 +177,7 @@ class TurnstileFieldManager { ->loadByProperties([ 'field_storage' => $field_category_storage, ]); - - if (empty($field_configs)) { - $field_category_storage->delete(); - } + $field_category_storage->delete(); } }