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:
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();
}
}