Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / chi-teck / drupal-code-generator / templates / d8 / hook / entity_field_access_alter.twig
diff --git a/vendor/chi-teck/drupal-code-generator/templates/d8/hook/entity_field_access_alter.twig b/vendor/chi-teck/drupal-code-generator/templates/d8/hook/entity_field_access_alter.twig
new file mode 100644 (file)
index 0000000..7982a82
--- /dev/null
@@ -0,0 +1,16 @@
+/**
+ * Implements hook_entity_field_access_alter().
+ */
+function {{ machine_name }}_entity_field_access_alter(array &$grants, array $context) {
+  /** @var \Drupal\Core\Field\FieldDefinitionInterface $field_definition */
+  $field_definition = $context['field_definition'];
+  if ($field_definition->getName() == 'field_of_interest' && $grants['node']->isForbidden()) {
+    // Override node module's restriction to no opinion (neither allowed nor
+    // forbidden). We don't want to provide our own access hook, we only want to
+    // take out node module's part in the access handling of this field. We also
+    // don't want to switch node module's grant to
+    // AccessResultInterface::isAllowed() , because the grants of other modules
+    // should still decide on their own if this field is accessible or not
+    $grants['node'] = AccessResult::neutral()->inheritCacheability($grants['node']);
+  }
+}