You are here

public function NodeEntityBundleController::getFormInfoByContentType in Permissions by Term 8.2

Same name and namespace in other branches
  1. 8 src/Controller/NodeEntityBundleController.php \Drupal\permissions_by_term\Controller\NodeEntityBundleController::getFormInfoByContentType()

Parameters

string $nodeType:

Return value

JsonResponse

1 string reference to 'NodeEntityBundleController::getFormInfoByContentType'
permissions_by_term.routing.yml in ./permissions_by_term.routing.yml
permissions_by_term.routing.yml

File

src/Controller/NodeEntityBundleController.php, line 50

Class

NodeEntityBundleController
Class NodeEntityBundleController

Namespace

Drupal\permissions_by_term\Controller

Code

public function getFormInfoByContentType($nodeType) {
  $fields = $this->entityFieldManager
    ->getFieldDefinitions('node', $nodeType);
  $fieldNames = [];
  foreach ($fields as $field) {
    $fieldDefinitionSettings = $field
      ->getSettings();
    if (!empty($fieldDefinitionSettings['target_type']) && $fieldDefinitionSettings['target_type'] == 'taxonomy_term') {
      $fieldNames[] = $field
        ->getFieldStorageDefinition()
        ->getName();
    }
  }
  return new JsonResponse([
    'taxonomyRelationFieldNames' => $fieldNames,
    'permissions' => $this->nodeEntityBundleInfo
      ->getPermissions(),
  ]);
}