From ca648118a1bf8a6bb574d501c9cd0e07b3ebc895 Mon Sep 17 00:00:00 2001
From: "dhruv.mittal" <dhruv210803@gmail.com>
Date: Wed, 5 Mar 2025 14:18:43 +0530
Subject: [PATCH 1/3] Issue #3510517: Call to Undefined Method.

---
 modules/wsdata_field/wsdata_field.module | 29 +++++++++++-------------
 1 file changed, 13 insertions(+), 16 deletions(-)

diff --git a/modules/wsdata_field/wsdata_field.module b/modules/wsdata_field/wsdata_field.module
index db9d42c..632224e 100644
--- a/modules/wsdata_field/wsdata_field.module
+++ b/modules/wsdata_field/wsdata_field.module
@@ -124,26 +124,23 @@ function wsdata_field_entity_load(array $entities, $entity_type_id) {
  */
 function wsdata_field_form_alter(&$form, FormStateInterface $form_state, $form_id) {
   if ('node_delete_multiple_confirm_form' !== $form_id && (preg_match('/^node_(.*)_edit_form/', $form_id) || preg_match('/^node_(.*)_form/', $form_id))) {
-    $entity = $form_state->getFormObject()->getEntity();
-    if ($entity->getEntityTypeId() == 'node') {
-      $fields = $entity->getFieldDefinitions();
-      foreach ($fields as $field) {
-        // Get the fields storage definitions.
-        $field_storage = $field->getFieldStorageDefinition();
-        // Check if it has the custom storage flag set to true.
-        if ($field_storage->hasCustomStorage()) {
-          // Check to make sure the object is of type FieldStorageConfig.
-          if (is_a($field_storage, 'Drupal\field\Entity\FieldStorageConfig')) {
-            // Fetch the wsfield config entity.
-            $wsfield_config = \Drupal::service('entity_type.manager')->getStorage('wsfield_config')->load($field_storage->get('field_name'));
-            if ($wsfield_config != NULL) {
-              // Make the field hidden by adding a class.
-              $form[$field_storage->get('field_name')]['#attributes']['class'][] = 'hidden';
+      $form_object = $form_state->getFormObject();
+      // Ensure the form object has a getEntity method before calling it.
+      if ($form_object instanceof \Drupal\Core\Entity\EntityFormInterface) {
+        $entity = $form_object->getEntity();
+        if ($entity->getEntityTypeId() == 'node') {
+          $fields = $entity->getFieldDefinitions();
+          foreach ($fields as $field) {
+            $field_storage = $field->getFieldStorageDefinition();
+            if ($field_storage->hasCustomStorage() && $field_storage instanceof \Drupal\field\Entity\FieldStorageConfig) {
+              $wsfield_config = \Drupal::service('entity_type.manager')->getStorage('wsfield_config')->load($field_storage->get('field_name'));
+              if ($wsfield_config !== NULL) {
+                $form[$field_storage->get('field_name')]['#attributes']['class'][] = 'hidden';
+              }
             }
           }
         }
       }
-    }
   }
 }
 
-- 
GitLab


From 4328e315c6e3ee9c070ca12a1fb7dd18cce01e37 Mon Sep 17 00:00:00 2001
From: Francois Xavier Lemieux <flemieux@coldfrontlabs.ca>
Date: Fri, 21 Mar 2025 17:14:13 +0000
Subject: [PATCH 2/3] fix(form): update content entity check, fix namespaced
 classes

---
 modules/wsdata_field/wsdata_field.module | 28 +++++++++++++-----------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/modules/wsdata_field/wsdata_field.module b/modules/wsdata_field/wsdata_field.module
index 632224e..85d1046 100644
--- a/modules/wsdata_field/wsdata_field.module
+++ b/modules/wsdata_field/wsdata_field.module
@@ -7,10 +7,12 @@
 
 use Drupal\Core\Entity\ContentEntityInterface;
 use Drupal\Core\Entity\EntityInterface;
+use Drupal\Core\Entity\EntityFormInterface;
 use Drupal\Core\Field\FieldConfigInterface;
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Url;
+use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\field_ui\FieldUI;
 use Drupal\wsdata_field\Entity\WSFieldConfig;
 
@@ -124,23 +126,23 @@ function wsdata_field_entity_load(array $entities, $entity_type_id) {
  */
 function wsdata_field_form_alter(&$form, FormStateInterface $form_state, $form_id) {
   if ('node_delete_multiple_confirm_form' !== $form_id && (preg_match('/^node_(.*)_edit_form/', $form_id) || preg_match('/^node_(.*)_form/', $form_id))) {
-      $form_object = $form_state->getFormObject();
-      // Ensure the form object has a getEntity method before calling it.
-      if ($form_object instanceof \Drupal\Core\Entity\EntityFormInterface) {
-        $entity = $form_object->getEntity();
-        if ($entity->getEntityTypeId() == 'node') {
-          $fields = $entity->getFieldDefinitions();
-          foreach ($fields as $field) {
-            $field_storage = $field->getFieldStorageDefinition();
-            if ($field_storage->hasCustomStorage() && $field_storage instanceof \Drupal\field\Entity\FieldStorageConfig) {
-              $wsfield_config = \Drupal::service('entity_type.manager')->getStorage('wsfield_config')->load($field_storage->get('field_name'));
-              if ($wsfield_config !== NULL) {
-                $form[$field_storage->get('field_name')]['#attributes']['class'][] = 'hidden';
-              }
+    $form_object = $form_state->getFormObject();
+    // Ensure the form object has a getEntity method before calling it.
+    if ($form_object instanceof EntityFormInterface) {
+      $entity = $form_object->getEntity();
+      if ($entity instanceof ContentEntityInterface) {
+        $fields = $entity->getFieldDefinitions();
+        foreach ($fields as $field) {
+          $field_storage = $field->getFieldStorageDefinition();
+          if ($field_storage->hasCustomStorage() && $field_storage instanceof FieldStorageConfig) {
+            $wsfield_config = \Drupal::service('entity_type.manager')->getStorage('wsfield_config')->load($field_storage->get('field_name'));
+            if ($wsfield_config !== NULL) {
+              $form[$field_storage->get('field_name')]['#attributes']['class'][] = 'hidden';
             }
           }
         }
       }
+    }
   }
 }
 
-- 
GitLab


From 749ad611b283482ddb394f27d76e9f9d14c31a04 Mon Sep 17 00:00:00 2001
From: Francois Xavier Lemieux <flemieux@coldfrontlabs.ca>
Date: Mon, 24 Mar 2025 14:34:48 +0000
Subject: [PATCH 3/3] fix(code): restore code comments

---
 modules/wsdata_field/wsdata_field.module | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/modules/wsdata_field/wsdata_field.module b/modules/wsdata_field/wsdata_field.module
index 85d1046..0b7bd9b 100644
--- a/modules/wsdata_field/wsdata_field.module
+++ b/modules/wsdata_field/wsdata_field.module
@@ -133,10 +133,15 @@ function wsdata_field_form_alter(&$form, FormStateInterface $form_state, $form_i
       if ($entity instanceof ContentEntityInterface) {
         $fields = $entity->getFieldDefinitions();
         foreach ($fields as $field) {
+          // Get the fields storage definitions.
           $field_storage = $field->getFieldStorageDefinition();
+          // Check if custom storage flag set to true and
+          // the field storage object has correct class.
           if ($field_storage->hasCustomStorage() && $field_storage instanceof FieldStorageConfig) {
+            // Fetch the wsfield config entity.
             $wsfield_config = \Drupal::service('entity_type.manager')->getStorage('wsfield_config')->load($field_storage->get('field_name'));
             if ($wsfield_config !== NULL) {
+              // Make the field hidden by adding a class.
               $form[$field_storage->get('field_name')]['#attributes']['class'][] = 'hidden';
             }
           }
-- 
GitLab