class Permissions

Same name in this branch
  1. 9 core/modules/content_moderation/src/Permissions.php \Drupal\content_moderation\Permissions
  2. 9 core/modules/user/src/Plugin/views/filter/Permissions.php \Drupal\user\Plugin\views\filter\Permissions
Same name and namespace in other branches
  1. 11.x core/modules/content_moderation/src/Permissions.php \Drupal\content_moderation\Permissions
  2. 11.x core/modules/user/src/Plugin/views/field/Permissions.php \Drupal\user\Plugin\views\field\Permissions
  3. 11.x core/modules/user/src/Plugin/views/filter/Permissions.php \Drupal\user\Plugin\views\filter\Permissions
  4. 10 core/modules/content_moderation/src/Permissions.php \Drupal\content_moderation\Permissions
  5. 10 core/modules/user/src/Plugin/views/field/Permissions.php \Drupal\user\Plugin\views\field\Permissions
  6. 10 core/modules/user/src/Plugin/views/filter/Permissions.php \Drupal\user\Plugin\views\filter\Permissions
  7. 8.9.x core/modules/content_moderation/src/Permissions.php \Drupal\content_moderation\Permissions
  8. 8.9.x core/modules/user/src/Plugin/views/field/Permissions.php \Drupal\user\Plugin\views\field\Permissions
  9. 8.9.x core/modules/user/src/Plugin/views/filter/Permissions.php \Drupal\user\Plugin\views\filter\Permissions

Field handler to provide a list of permissions.

Plugin annotation

@ViewsField("user_permissions");

Hierarchy

Expanded class hierarchy of Permissions

Related topics

12 string references to 'Permissions'
d6_user_role.yml in core/modules/user/migrations/d6_user_role.yml
core/modules/user/migrations/d6_user_role.yml
d7_user_role.yml in core/modules/user/migrations/d7_user_role.yml
core/modules/user/migrations/d7_user_role.yml
PermissionHandler::getYamlDiscovery in core/modules/user/src/PermissionHandler.php
Gets the YAML discovery.
Role::prepareRow in core/modules/user/src/Plugin/migrate/source/d7/Role.php
Role::prepareRow in core/modules/user/src/Plugin/migrate/source/d6/Role.php
Adds additional data to the row.

... See full list

File

core/modules/user/src/Plugin/views/field/Permissions.php, line 19

Namespace

Drupal\user\Plugin\views\field
View source
class Permissions extends PrerenderList {
  
  /**
   * The role storage.
   *
   * @var \Drupal\user\RoleStorageInterface
   */
  protected $roleStorage;
  
  /**
   * The module handler.
   *
   * @var \Drupal\Core\Extension\ModuleHandlerInterface
   */
  protected $moduleHandler;
  
  /**
   * Constructs a \Drupal\user\Plugin\views\field\Permissions object.
   *
   * @param array $configuration
   *   A configuration array containing information about the plugin instance.
   * @param string $plugin_id
   *   The plugin_id for the plugin instance.
   * @param mixed $plugin_definition
   *   The plugin implementation definition.
   * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
   *   The module handler.
   * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
   *   The entity type manager.
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition, ModuleHandlerInterface $module_handler, EntityTypeManagerInterface $entity_type_manager) {
    parent::__construct($configuration, $plugin_id, $plugin_definition);
    $this->roleStorage = $entity_type_manager->getStorage('user_role');
    $this->moduleHandler = $module_handler;
  }
  
  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
    return new static($configuration, $plugin_id, $plugin_definition, $container->get('module_handler'), $container->get('entity_type.manager'));
  }
  
  /**
   * {@inheritdoc}
   */
  public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) {
    parent::init($view, $display, $options);
    $this->additional_fields['uid'] = [
      'table' => 'users_field_data',
      'field' => 'uid',
    ];
  }
  public function query() {
    $this->addAdditionalFields();
    $this->field_alias = $this->aliases['uid'];
  }
  public function preRender(&$values) {
    $this->items = [];
    $permission_names = \Drupal::service('user.permissions')->getPermissions();
    $rids = [];
    foreach ($values as $result) {
      $user_rids = $this->getEntity($result)
        ->getRoles();
      $uid = $this->getValue($result);
      foreach ($user_rids as $rid) {
        $rids[$rid][] = $uid;
      }
    }
    if ($rids) {
      $roles = $this->roleStorage
        ->loadMultiple(array_keys($rids));
      foreach ($rids as $rid => $role_uids) {
        foreach ($roles[$rid]->getPermissions() as $permission) {
          foreach ($role_uids as $uid) {
            $this->items[$uid][$permission]['permission'] = $permission_names[$permission]['title'];
          }
        }
      }
      foreach ($this->items as &$permission) {
        ksort($permission);
      }
    }
  }
  public function render_item($count, $item) {
    return $item['permission'];
  }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function
DependencySerializationTrait::__wakeup public function #[\ReturnTypeWillChange]
FieldPluginBase::$additional_fields public property Stores additional fields which get added to the query.
FieldPluginBase::$aliases public property
FieldPluginBase::$field_alias public property
FieldPluginBase::$lastRenderIndex protected property Keeps track of the last render index.
FieldPluginBase::$linkGenerator protected property The link generator.
FieldPluginBase::$original_value public property The field value prior to any rewriting.
FieldPluginBase::$renderer protected property Stores the render API renderer.
FieldPluginBase::addAdditionalFields protected function Add 'additional' fields to the query.
FieldPluginBase::addSelfTokens protected function Add any special tokens this field might use for itself.
FieldPluginBase::adminLabel public function
FieldPluginBase::adminSummary public function Provide extra data to the administration form.
FieldPluginBase::advancedRender public function
FieldPluginBase::allowAdvancedRender protected function Determine if this field can allow advanced rendering.
FieldPluginBase::clickSort public function
FieldPluginBase::clickSortable public function
FieldPluginBase::documentSelfTokens protected function Document any special tokens this field might use for itself.
FieldPluginBase::elementClasses public function
FieldPluginBase::elementLabelClasses public function
FieldPluginBase::elementLabelType public function
FieldPluginBase::elementType public function
FieldPluginBase::elementWrapperClasses public function
FieldPluginBase::elementWrapperType public function
FieldPluginBase::getElements public function
FieldPluginBase::getEntity public function
FieldPluginBase::getFieldTokenPlaceholder protected function Returns a token placeholder for the current field.
FieldPluginBase::getPreviousFieldLabels protected function Returns all field labels of fields before this field.
FieldPluginBase::getRenderer protected function Returns the render API renderer.
FieldPluginBase::getRenderTokens public function
FieldPluginBase::getTokenValuesRecursive protected function Recursive function to add replacements for nested query string parameters.
FieldPluginBase::getValue public function
FieldPluginBase::isValueEmpty public function
FieldPluginBase::label public function
FieldPluginBase::linkGenerator protected function Gets the link generator.
FieldPluginBase::postRender public function
FieldPluginBase::render public function 1
FieldPluginBase::render public function 1
FieldPluginBase::render public function 1
FieldPluginBase::renderAltered protected function Render this field as user-defined altered text.
FieldPluginBase::renderAsLink protected function Render this field as a link, with the info from a fieldset set by the user.
FieldPluginBase::renderText public function
FieldPluginBase::renderTrimText protected function Trims the field down to the specified length.
FieldPluginBase::RENDER_TEXT_PHASE_COMPLETELY constant Indicator of the renderText() method for rendering the whole element.
FieldPluginBase::RENDER_TEXT_PHASE_EMPTY constant Indicator of the renderText() method for rendering the empty text.
FieldPluginBase::RENDER_TEXT_PHASE_SINGLE_ITEM constant Indicator of the renderText() method for rendering a single item.
FieldPluginBase::submitOptionsForm public function Performs some cleanup tasks on the options array before saving it.
FieldPluginBase::theme public function
FieldPluginBase::themeFunctions public function
FieldPluginBase::tokenizeValue public function
FieldPluginBase::trimText public static function Trims the field down to the specified length.
FieldPluginBase::useStringGroupBy public function
HandlerBase::$field public property With field you can override the realField if the real field is not set.
HandlerBase::$query public property Where the $query object will reside.
HandlerBase::$realField public property The real field.
HandlerBase::$relationship public property The relationship used for this field.
HandlerBase::$table public property The table this handler is attached to.
HandlerBase::$tableAlias public property The alias of the table of this handler which is used in the query.
HandlerBase::$viewsData protected property The views data service.
HandlerBase::acceptExposedInput public function Take input from exposed handlers and assign to this handler, if necessary.
HandlerBase::access public function
HandlerBase::breakString public static function
HandlerBase::broken public function
HandlerBase::buildExposedForm public function Render our chunk of the exposed handler form when selecting.
HandlerBase::buildExposeForm public function Form for exposed handler options.
HandlerBase::buildExtraOptionsForm public function Provide a form for setting options.
HandlerBase::buildGroupByForm public function Provide a form for aggregation settings.
HandlerBase::calculateDependencies public function 1
HandlerBase::calculateDependencies public function 1
HandlerBase::calculateDependencies public function 1
HandlerBase::canExpose public function Determine if a handler can be exposed.
HandlerBase::caseTransform protected function Transform a string by a certain method.
HandlerBase::defaultExposeOptions public function Set new exposed option defaults when exposed setting is flipped on.
HandlerBase::defineExtraOptions public function Provide defaults for the handler.
HandlerBase::displayExposedForm public function Displays the Expose form.
HandlerBase::ensureMyTable public function
HandlerBase::exposedInfo public function Get information about the exposed form for the form renderer.
HandlerBase::getDateField public function Creates cross-database SQL dates.
HandlerBase::getDateFormat public function Creates cross-database SQL date formatting.
HandlerBase::getEntityType public function
HandlerBase::getField public function
HandlerBase::getJoin public function
HandlerBase::getModuleHandler protected function Gets the module handler.
HandlerBase::getTableJoin public static function
HandlerBase::getViewsData protected function Gets views data service.
HandlerBase::hasExtraOptions public function Determines if the handler has extra options.
HandlerBase::isAGroup public function Returns TRUE if the exposed filter works like a grouped filter.
HandlerBase::isExposed public function Determine if this item is 'exposed'.
HandlerBase::multipleExposedInput public function Define if the exposed input has to be submitted multiple times.
HandlerBase::placeholder protected function Provides a unique placeholders for handlers.
HandlerBase::postExecute public function
HandlerBase::preQuery public function
HandlerBase::sanitizeValue public function
HandlerBase::setModuleHandler public function Sets the module handler.
HandlerBase::setRelationship public function
HandlerBase::setViewsData public function
HandlerBase::showExposeButton public function Shortcut to display the expose/hide button.
HandlerBase::showExposeForm public function Shortcut to display the exposed options form.
HandlerBase::storeExposedInput public function If set to remember exposed input in the session, store it there.
HandlerBase::submitExposed public function Submit the exposed handler form.
HandlerBase::submitExposeForm public function Perform any necessary changes to the form exposes prior to storage.
HandlerBase::submitExtraOptionsForm public function Perform any necessary changes to the form values prior to storage.
HandlerBase::submitFormCalculateOptions public function Calculates options stored on the handler.
HandlerBase::submitGroupByForm public function Perform any necessary changes to the form values prior to storage.
HandlerBase::submitTemporaryForm public function Submits a temporary form.
HandlerBase::usesGroupBy public function Provides the handler some groupby. 2
HandlerBase::usesGroupBy public function Provides the handler some groupby. 2
HandlerBase::usesGroupBy public function Provides the handler some groupby. 2
HandlerBase::validate public function
HandlerBase::validateExposed public function Validate the exposed handler form.
HandlerBase::validateExposeForm public function Validate the options form.
HandlerBase::validateExtraOptionsForm public function Validate the options form.
MessengerTrait::$messenger protected property The messenger.
MessengerTrait::messenger public function Gets the messenger.
MessengerTrait::setMessenger public function Sets the messenger.
Permissions::$moduleHandler protected property The module handler. Overrides HandlerBase::$moduleHandler
Permissions::$roleStorage protected property The role storage.
Permissions::create public static function Creates an instance of the plugin. Overrides PluginBase::create
Permissions::init public function Initialize the plugin. Overrides FieldPluginBase::init
Permissions::preRender public function Runs before any fields are rendered. Overrides FieldPluginBase::preRender
Permissions::query public function Called to add the field to a query. Overrides FieldPluginBase::query
Permissions::render_item public function Renders a single item of a row. Overrides MultiItemsFieldHandlerInterface::render_item
Permissions::__construct public function Constructs a \Drupal\user\Plugin\views\field\Permissions object. Overrides HandlerBase::__construct
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$definition public property Plugins' definition.
PluginBase::$displayHandler public property The display object this plugin is for.
PluginBase::$options public property Options for this plugin will be held here.
PluginBase::$pluginDefinition protected property The plugin implementation definition.
PluginBase::$pluginId protected property The plugin_id.
PluginBase::$usesOptions protected property Denotes whether the plugin has an additional options form. 1
PluginBase::$usesOptions protected property Denotes whether the plugin has an additional options form. 1
PluginBase::$usesOptions protected property Denotes whether the plugin has an additional options form. 1
PluginBase::$view public property The top object of a view.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::destroy public function
PluginBase::doFilterByDefinedOptions protected function Do the work to filter out stored options depending on the defined options.
PluginBase::filterByDefinedOptions public function
PluginBase::getAvailableGlobalTokens public function
PluginBase::getBaseId public function
PluginBase::getDerivativeId public function
PluginBase::getPluginDefinition public function
PluginBase::getPluginId public function
PluginBase::getProvider public function
PluginBase::globalTokenForm public function
PluginBase::globalTokenReplace public function
PluginBase::INCLUDE_ENTITY constant Include entity row languages when listing languages.
PluginBase::INCLUDE_NEGOTIATED constant Include negotiated languages when listing languages.
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::listLanguages protected function Makes an array of languages, optionally including special languages.
PluginBase::pluginTitle public function
PluginBase::preRenderAddFieldsetMarkup public static function
PluginBase::preRenderFlattenData public static function
PluginBase::queryLanguageSubstitutions public static function Returns substitutions for Views queries for languages.
PluginBase::setOptionDefaults protected function Fills up the options of the plugin with defaults.
PluginBase::summaryTitle public function
PluginBase::trustedCallbacks public static function
PluginBase::unpackOptions public function
PluginBase::usesOptions public function 1
PluginBase::usesOptions public function 1
PluginBase::usesOptions public function 1
PluginBase::validateOptionsForm public function 1
PluginBase::validateOptionsForm public function 1
PluginBase::validateOptionsForm public function 1
PluginBase::viewsTokenReplace protected function Replaces Views' tokens in a given string.
PluginBase::VIEWS_QUERY_LANGUAGE_SITE_DEFAULT constant Query string to indicate the site default language.
PrerenderList::$items public property Stores all items which are used to render the items.
PrerenderList::buildOptionsForm public function
PrerenderList::defineOptions protected function
PrerenderList::getItems public function Items should be stored in the result array, if possible, as an array
with 'value' as the actual displayable value of the item, plus
any items that might be found in the 'alter' options array for
creating links, such as…
PrerenderList::renderItems public function
StringTranslationTrait::$stringTranslation protected property The string translation service.
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use.
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
TrustedCallbackInterface::THROW_EXCEPTION constant Untrusted callbacks throw exceptions.
TrustedCallbackInterface::TRIGGER_SILENCED_DEPRECATION constant Untrusted callbacks trigger silenced E_USER_DEPRECATION errors.
TrustedCallbackInterface::TRIGGER_WARNING constant Untrusted callbacks trigger E_USER_WARNING errors.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.