public function getRealmWithPermission() {

    $realms = [];

    $contentTypes = $this->getContentTypes();

    foreach ($contentTypes as $bundle) {
      $entity_type = 'node';
      $fields = $this->getEntityAccessFields($entity_type, $bundle);

      /** @var \Drupal\field\Entity\FieldConfig $field */
      foreach ($fields as $field) {
        $field_storage = $field->getFieldStorageDefinition();
        // @TODO Add support for allowed_values_function.
        $allowed_values = $field_storage->getSetting('allowed_values');
        if (!empty($allowed_values)) {
          foreach ($allowed_values as $field_key => $field_label) {
            // e.g. label = node.article.field_content_visibility:public.
            $permission_label = $field->id() . ':' . $field_key;
            $op = 'view';
            $permission = $op . ' ' . $permission_label . ' content';
            $bundle_id = $bundle->id();
            $field_name = $field->getName();
            $realm = $this->getRealmForFieldValue($op, $entity_type, $bundle_id, $field_name, $field_key);
            $realms[$realm] = $permission;
          }
        }
      }
    }

    return $realms;
  }
public function getRealmWithPermission() {

    $realms = [];

    $contentTypes = $this->getContentTypes();

    foreach ($contentTypes as $bundle) {
      $entity_type = 'node';
      $fields = $this->getEntityAccessFields($entity_type, $bundle);

      /** @var \Drupal\field\Entity\FieldConfig $field */
      foreach ($fields as $field) {
        $field_storage = $field->getFieldStorageDefinition();
        // @TODO Add support for allowed_values_function.
        $allowed_values = $field_storage->getSetting('allowed_values');
        if (!empty($allowed_values)) {
          foreach ($allowed_values as $field_key => $field_label) {
            // e.g. label = node.article.field_content_visibility:public.
            $permission_label = $field->id() . ':' . $field_key;
            $op = 'view';
            $permission = $op . ' ' . $permission_label . ' content';
            $bundle_id = $bundle->id();
            $field_name = $field->getName();
            $realm = $this->getRealmForFieldValue($op, $entity_type, $bundle_id, $field_name, $field_key);
            $realms[$realm] = $permission;
          }
        }
      }
    }

    return $realms;
  }
public function getRealmWithPermission ( ) { $ realms = [ ] ; $ contentTypes = $ this -> getContentTypes ( ) ; foreach ( $ contentTypes as $ bundle ) { $ entity_type = 'node' ; $ fields = $ this -> getEntityAccessFields ( $ entity_type , $ bundle ) ; /** @var \Drupal\field\Entity\FieldConfig $field */ foreach ( $ fields as $ field ) { $ field_storage = $ field -> getFieldStorageDefinition ( ) ; // @TODO Add support for allowed_values_function. $ allowed_values = $ field_storage -> getSetting ( 'allowed_values' ) ; if ( ! empty ( $ allowed_values ) ) { foreach ( $ allowed_values as $ field_key => $ field_label ) { // e.g. label = node.article.field_content_visibility:public. $ permission_label = $ field -> id ( ) . ':' . $ field_key ; $ op = 'view' ; $ permission = $ op . ' ' . $ permission_label . ' content' ; $ bundle_id = $ bundle -> id ( ) ; $ field_name = $ field -> getName ( ) ; $ realm = $ this -> getRealmForFieldValue ( $ op , $ entity_type , $ bundle_id , $ field_name , $ field_key ) ; $ realms [ $ realm ] = $ permission ; } } } } return $ realms ; }
Get the realms array with permissions as value.
Get the realms array with permissions as value .