You are here

public function ExtrasPermissions::extrasPermissions in Display Suite 8.4

Same name and namespace in other branches
  1. 8.2 modules/ds_extras/src/ExtrasPermissions.php \Drupal\ds_extras\ExtrasPermissions::extrasPermissions()
  2. 8.3 modules/ds_extras/src/ExtrasPermissions.php \Drupal\ds_extras\ExtrasPermissions::extrasPermissions()

Returns an array of ds extras permissions.

1 string reference to 'ExtrasPermissions::extrasPermissions'
ds_extras.permissions.yml in modules/ds_extras/ds_extras.permissions.yml
modules/ds_extras/ds_extras.permissions.yml

File

modules/ds_extras/src/ExtrasPermissions.php, line 45

Class

ExtrasPermissions
Provides dynamic permissions of the ds extras module.

Namespace

Drupal\ds_extras

Code

public function extrasPermissions() {
  $permissions = [];
  if (\Drupal::config('ds_extras.settings')
    ->get('field_permissions')) {
    $entities = $this->entityTypeManager
      ->getDefinitions();
    foreach ($entities as $entity_type => $info) {

      // @todo do this on all fields ?
      // @todo hide switch field if enabled
      $fields = Ds::getFields($entity_type);
      foreach ($fields as $key => $finfo) {
        $permissions['view ' . $key . ' on ' . $entity_type] = [
          'title' => $this
            ->t('View @field on @entity_type', [
            '@field' => $finfo['title'],
            '@entity_type' => $info
              ->getLabel(),
          ]),
        ];
      }
    }
  }
  return $permissions;
}