You are here

public function FieldPermissions::permissions in Votingapi Widgets 8

Implements permissions callback for field_permissions.permissions.yml.

Return value

array Add custom permissions.

1 string reference to 'FieldPermissions::permissions'
votingapi_widgets.permissions.yml in ./votingapi_widgets.permissions.yml
votingapi_widgets.permissions.yml

File

src/FieldPermissions.php, line 44

Class

FieldPermissions
Field permissions.

Namespace

Drupal\votingapi_widgets

Code

public function permissions() {
  $map = $this->fieldManager
    ->getFieldMapByFieldType('voting_api_field');
  $perms = [];
  foreach ($map as $entity_type => $info) {
    foreach ($info as $field_name => $field_info) {
      foreach ($field_info['bundles'] as $bundle) {
        $perms['vote on ' . $entity_type . ':' . $bundle . ':' . $field_name] = [
          'title' => $this
            ->t('Vote on type @type from bundle @bundle in field @field', [
            '@type' => $entity_type,
            '@bundle' => $bundle,
            '@field' => $field_name,
          ]),
        ];
        $perms['edit own vote on ' . $entity_type . ':' . $bundle . ':' . $field_name] = [
          'title' => $this
            ->t('Edit vote on type @type from bundle @bundle in field @field', [
            '@type' => $entity_type,
            '@bundle' => $bundle,
            '@field' => $field_name,
          ]),
        ];
        $perms['clear own vote on ' . $entity_type . ':' . $bundle . ':' . $field_name] = [
          'title' => $this
            ->t('Clear vote on type @type from bundle @bundle in field @field', [
            '@type' => $entity_type,
            '@bundle' => $bundle,
            '@field' => $field_name,
          ]),
        ];
        $perms['edit voting status on ' . $entity_type . ':' . $bundle . ':' . $field_name] = [
          'title' => $this
            ->t('Open or close voting on type @type from bundle @bundle in field @field', [
            '@type' => $entity_type,
            '@bundle' => $bundle,
            '@field' => $field_name,
          ]),
        ];
      }
    }
  }
  return $perms;
}