Version 1
[yaffs-website] / web / core / modules / system / tests / modules / entity_reference_test / entity_reference_test.module
diff --git a/web/core/modules/system/tests/modules/entity_reference_test/entity_reference_test.module b/web/core/modules/system/tests/modules/entity_reference_test/entity_reference_test.module
new file mode 100644 (file)
index 0000000..5ae4fcb
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+
+/**
+ * @file
+ * Helper module for the Entity Reference tests.
+ */
+
+use Drupal\Core\Entity\EntityTypeInterface;
+use Drupal\Core\Field\BaseFieldDefinition;
+
+/**
+ * Implements hook_entity_base_field_info().
+ */
+function entity_reference_test_entity_base_field_info(EntityTypeInterface $entity_type) {
+  $fields = [];
+
+  if ($entity_type->id() === 'entity_test') {
+    $fields['user_role'] = BaseFieldDefinition::create('entity_reference')
+      ->setLabel(t('User role'))
+      ->setDescription(t('The role of the associated user.'))
+      ->setSetting('target_type', 'user_role')
+      ->setSetting('handler', 'default');
+  }
+
+  return $fields;
+}
+
+/**
+ * Implements hook_entity_base_field_info_alter().
+ */
+function entity_reference_test_entity_base_field_info_alter(&$fields, EntityTypeInterface $entity_type) {
+  if ($entity_type->id() === 'entity_test') {
+    // Allow user_id field to use configurable widget.
+    $fields['user_id']
+      ->setSetting('handler', 'default')
+      ->setDisplayOptions('form', [
+        'type' => 'entity_reference_autocomplete',
+        'weight' => 0,
+      ])
+      ->setDisplayConfigurable('form', TRUE);
+  }
+}