class Permissions
Field handler to provide a list of permissions.
Attributes
#[ViewsField("user_permissions")]
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait extends \Drupal\Component\Plugin\PluginBase
- class \Drupal\views\Plugin\views\PluginBase implements \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\views\Plugin\views\ViewsPluginInterface, \Drupal\Component\Plugin\DependentPluginInterface, \Drupal\Core\Security\TrustedCallbackInterface extends \Drupal\Core\Plugin\PluginBase
- class \Drupal\views\Plugin\views\HandlerBase implements \Drupal\views\Plugin\views\ViewsHandlerInterface extends \Drupal\views\Plugin\views\PluginBase
- class \Drupal\views\Plugin\views\field\FieldPluginBase implements \Drupal\views\Plugin\views\field\FieldHandlerInterface extends \Drupal\views\Plugin\views\HandlerBase
- class \Drupal\views\Plugin\views\field\PrerenderList implements \Drupal\views\Plugin\views\field\MultiItemsFieldHandlerInterface extends \Drupal\views\Plugin\views\field\FieldPluginBase
- class \Drupal\user\Plugin\views\field\Permissions extends \Drupal\views\Plugin\views\field\PrerenderList
- class \Drupal\views\Plugin\views\field\PrerenderList implements \Drupal\views\Plugin\views\field\MultiItemsFieldHandlerInterface extends \Drupal\views\Plugin\views\field\FieldPluginBase
- class \Drupal\views\Plugin\views\field\FieldPluginBase implements \Drupal\views\Plugin\views\field\FieldHandlerInterface extends \Drupal\views\Plugin\views\HandlerBase
- class \Drupal\views\Plugin\views\HandlerBase implements \Drupal\views\Plugin\views\ViewsHandlerInterface extends \Drupal\views\Plugin\views\PluginBase
- class \Drupal\views\Plugin\views\PluginBase implements \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\views\Plugin\views\ViewsPluginInterface, \Drupal\Component\Plugin\DependentPluginInterface, \Drupal\Core\Security\TrustedCallbackInterface extends \Drupal\Core\Plugin\PluginBase
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait extends \Drupal\Component\Plugin\PluginBase
Expanded class hierarchy of Permissions
Related topics
1 file declares its use of Permissions
- PermissionsTest.php in core/
modules/ user/ tests/ src/ Unit/ Plugin/ views/ field/ PermissionsTest.php
13 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
- EntityUserRole::import in core/
modules/ user/ src/ Plugin/ migrate/ destination/ EntityUserRole.php - 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
File
-
core/
modules/ user/ src/ Plugin/ views/ field/ Permissions.php, line 18
Namespace
Drupal\user\Plugin\views\fieldView 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 = $this->getEntity($result);
if ($user) {
$user_rids = $user->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 | Deprecated | 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 | 2 | |||
| DependencySerializationTrait::__wakeup | public | function | #[\ReturnTypeWillChange] | 2 | ||
| 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::$last_render | public | property | The last rendered value. | |||
| FieldPluginBase::$last_render_text | public | property | The last rendered text. | |||
| FieldPluginBase::$last_tokens | public | property | The last rendered tokens. | |||
| 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. | Overrides PluginBase::$renderer | 1 | |
| FieldPluginBase::addAdditionalFields | protected | function | Add 'additional' fields to the query. | |||
| FieldPluginBase::addSelfTokens | protected | function | Add any special tokens this field might use for itself. | 4 | ||
| FieldPluginBase::adminLabel | public | function | Overrides HandlerBase::adminLabel | |||
| FieldPluginBase::adminSummary | public | function | Provide extra data to the administration form. | Overrides HandlerBase::adminSummary | ||
| FieldPluginBase::advancedRender | public | function | Overrides FieldHandlerInterface::advancedRender | |||
| FieldPluginBase::allowAdvancedRender | protected | function | Determine if this field can allow advanced rendering. | |||
| FieldPluginBase::clickSort | public | function | Overrides FieldHandlerInterface::clickSort | 1 | ||
| FieldPluginBase::clickSortable | public | function | Overrides FieldHandlerInterface::clickSortable | 5 | ||
| FieldPluginBase::documentSelfTokens | protected | function | Document any special tokens this field might use for itself. | 3 | ||
| FieldPluginBase::elementClasses | public | function | Overrides FieldHandlerInterface::elementClasses | |||
| FieldPluginBase::elementLabelClasses | public | function | Overrides FieldHandlerInterface::elementLabelClasses | |||
| FieldPluginBase::elementLabelType | public | function | Overrides FieldHandlerInterface::elementLabelType | |||
| FieldPluginBase::elementType | public | function | Overrides FieldHandlerInterface::elementType | 1 | ||
| FieldPluginBase::elementWrapperClasses | public | function | Overrides FieldHandlerInterface::elementWrapperClasses | |||
| FieldPluginBase::elementWrapperType | public | function | Overrides FieldHandlerInterface::elementWrapperType | |||
| FieldPluginBase::getElements | public | function | Overrides FieldHandlerInterface::getElements | |||
| FieldPluginBase::getEntity | public | function | Overrides FieldHandlerInterface::getEntity | |||
| 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. | Overrides PluginBase::getRenderer | ||
| FieldPluginBase::getRenderTokens | public | function | Overrides FieldHandlerInterface::getRenderTokens | |||
| FieldPluginBase::getTokenValuesRecursive | protected | function | Recursive function to add replacements for nested query string parameters. | |||
| FieldPluginBase::getValue | public | function | Overrides FieldHandlerInterface::getValue | 2 | ||
| FieldPluginBase::isValueEmpty | public | function | Overrides FieldHandlerInterface::isValueEmpty | |||
| FieldPluginBase::label | public | function | Overrides FieldHandlerInterface::label | |||
| FieldPluginBase::linkGenerator | protected | function | Gets the link generator. | |||
| FieldPluginBase::postRender | public | function | Overrides FieldHandlerInterface::postRender | |||
| FieldPluginBase::render | public | function | Overrides FieldHandlerInterface::render | 26 | ||
| 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 | Overrides FieldHandlerInterface::renderText | |||
| 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. | Overrides PluginBase::submitOptionsForm | 1 | |
| FieldPluginBase::theme | public | function | Overrides FieldHandlerInterface::theme | |||
| FieldPluginBase::themeFunctions | public | function | Overrides PluginBase::themeFunctions | |||
| FieldPluginBase::tokenizeValue | public | function | Overrides FieldHandlerInterface::tokenizeValue | |||
| FieldPluginBase::trimText | public static | function | Trims the field down to the specified length. | |||
| FieldPluginBase::useStringGroupBy | public | function | Overrides FieldHandlerInterface::useStringGroupBy | |||
| HandlerBase::$field | public | property | With field you can override the realField if the real field is not set. | |||
| HandlerBase::$is_handler | public | property | Tracks whether the plugin is a handler. | |||
| HandlerBase::$query | public | property | Where the $query object will reside. | 7 | ||
| 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. | 1 | ||
| HandlerBase::access | public | function | Overrides ViewsHandlerInterface::access | 5 | ||
| HandlerBase::breakString | public static | function | Overrides ViewsHandlerInterface::breakString | |||
| HandlerBase::broken | public | function | Overrides ViewsHandlerInterface::broken | |||
| HandlerBase::buildExposedForm | public | function | Render our chunk of the exposed handler form when selecting. | 1 | ||
| HandlerBase::buildExposeForm | public | function | Form for exposed handler options. | 2 | ||
| HandlerBase::buildExtraOptionsForm | public | function | Provide a form for setting options. | 1 | ||
| HandlerBase::buildGroupByForm | public | function | Provide a form for aggregation settings. | 1 | ||
| HandlerBase::calculateDependencies | public | function | Overrides PluginBase::calculateDependencies | 10 | ||
| HandlerBase::canExpose | public | function | Determine if a handler can be exposed. | 2 | ||
| 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. | 2 | ||
| HandlerBase::defineExtraOptions | public | function | Provide defaults for the handler. | |||
| HandlerBase::displayExposedForm | public | function | Displays the Expose form. | |||
| HandlerBase::ensureMyTable | public | function | Overrides ViewsHandlerInterface::ensureMyTable | 2 | ||
| HandlerBase::exposedInfo | public | function | Get information about the exposed form for the form renderer. | 1 | ||
| HandlerBase::getDateField | public | function | Creates cross-database SQL dates. | 2 | ||
| HandlerBase::getDateFormat | public | function | Creates cross-database SQL date formatting. | 2 | ||
| HandlerBase::getEntityType | public | function | Overrides ViewsHandlerInterface::getEntityType | |||
| HandlerBase::getField | public | function | Overrides ViewsHandlerInterface::getField | |||
| HandlerBase::getJoin | public | function | Overrides ViewsHandlerInterface::getJoin | |||
| HandlerBase::getModuleHandler | protected | function | Gets the module handler. | |||
| HandlerBase::getTableJoin | public static | function | Overrides ViewsHandlerInterface::getTableJoin | |||
| HandlerBase::getViewsData | protected | function | Gets views data service. | |||
| HandlerBase::hasExtraOptions | public | function | Determines if the handler has extra options. | 1 | ||
| HandlerBase::isAGroup | public | function | Returns TRUE if the exposed filter works like a grouped filter. | 1 | ||
| 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. | 1 | ||
| HandlerBase::placeholder | protected | function | Provides a unique placeholders for handlers. | |||
| HandlerBase::postExecute | public | function | Overrides ViewsHandlerInterface::postExecute | |||
| HandlerBase::preQuery | public | function | Overrides ViewsHandlerInterface::preQuery | 2 | ||
| HandlerBase::sanitizeValue | public | function | Overrides ViewsHandlerInterface::sanitizeValue | |||
| HandlerBase::setModuleHandler | public | function | Sets the module handler. | |||
| HandlerBase::setRelationship | public | function | Overrides ViewsHandlerInterface::setRelationship | |||
| HandlerBase::setViewsData | public | function | ||||
| HandlerBase::showExposeButton | public | function | Shortcut to display the expose/hide button. | 2 | ||
| HandlerBase::showExposeForm | public | function | Shortcut to display the exposed options form. | Overrides ViewsHandlerInterface::showExposeForm | ||
| HandlerBase::storeExposedInput | public | function | If set to remember exposed input in the session, store it there. | 1 | ||
| 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. | 1 | ||
| HandlerBase::submitGroupByForm | public | function | Perform any necessary changes to the form values prior to storage. | 1 | ||
| HandlerBase::submitTemporaryForm | public | function | Submits a temporary form. | |||
| HandlerBase::usesGroupBy | public | function | Provides the handler some groupby. | 13 | ||
| HandlerBase::validate | public | function | Overrides PluginBase::validate | 2 | ||
| HandlerBase::validateExposed | public | function | Validate the exposed handler form. | 4 | ||
| HandlerBase::validateExposeForm | public | function | Validate the options form. | 2 | ||
| HandlerBase::validateExtraOptionsForm | public | function | Validate the options form. | |||
| MessengerTrait::$messenger | protected | property | The messenger. | 25 | ||
| MessengerTrait::messenger | public | function | Gets the messenger. | 25 | ||
| 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 | Overrides PluginBase::create | |||
| Permissions::init | public | function | Overrides FieldPluginBase::init | |||
| Permissions::preRender | public | function | Overrides FieldPluginBase::preRender | |||
| Permissions::query | public | function | Overrides FieldPluginBase::query | |||
| Permissions::render_item | public | function | 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::$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. | 1 | ||
| PluginBase::$pluginId | protected | property | The plugin ID. | |||
| PluginBase::$position | public | property | The handler position. | |||
| PluginBase::$usesOptions | protected | property | Denotes whether the plugin has an additional options form. | 8 | ||
| PluginBase::$view | public | property | The top object of a view. | 1 | ||
| PluginBase::DERIVATIVE_SEPARATOR | constant | A string which is used to separate base plugin IDs from the derivative ID. | ||||
| PluginBase::destroy | public | function | Overrides ViewsPluginInterface::destroy | 2 | ||
| PluginBase::doFilterByDefinedOptions | protected | function | Do the work to filter out stored options depending on the defined options. | |||
| PluginBase::filterByDefinedOptions | public | function | Overrides ViewsPluginInterface::filterByDefinedOptions | |||
| PluginBase::getAvailableGlobalTokens | public | function | Overrides ViewsPluginInterface::getAvailableGlobalTokens | |||
| PluginBase::getBaseId | public | function | Overrides DerivativeInspectionInterface::getBaseId | |||
| PluginBase::getDerivativeId | public | function | Overrides DerivativeInspectionInterface::getDerivativeId | |||
| PluginBase::getPluginDefinition | public | function | Overrides PluginInspectionInterface::getPluginDefinition | 2 | ||
| PluginBase::getPluginId | public | function | Overrides PluginInspectionInterface::getPluginId | |||
| PluginBase::getProvider | public | function | Overrides ViewsPluginInterface::getProvider | |||
| PluginBase::globalTokenForm | public | function | Overrides ViewsPluginInterface::globalTokenForm | |||
| PluginBase::globalTokenReplace | public | function | Overrides ViewsPluginInterface::globalTokenReplace | |||
| 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 | Overrides ViewsPluginInterface::pluginTitle | |||
| PluginBase::preRenderAddFieldsetMarkup | public static | function | Overrides ViewsPluginInterface::preRenderAddFieldsetMarkup | |||
| PluginBase::preRenderFlattenData | public static | function | Overrides ViewsPluginInterface::preRenderFlattenData | |||
| 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 | Overrides ViewsPluginInterface::summaryTitle | 6 | ||
| PluginBase::trustedCallbacks | public static | function | Overrides TrustedCallbackInterface::trustedCallbacks | 6 | ||
| PluginBase::unpackOptions | public | function | Overrides ViewsPluginInterface::unpackOptions | |||
| PluginBase::usesOptions | public | function | Overrides ViewsPluginInterface::usesOptions | 8 | ||
| PluginBase::validateOptionsForm | public | function | Overrides ViewsPluginInterface::validateOptionsForm | 15 | ||
| PluginBase::viewsTokenReplace | protected | function | Replaces Views' tokens in a given string. | 1 | ||
| 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 | Overrides FieldPluginBase::buildOptionsForm | 1 | ||
| PrerenderList::defineOptions | protected | function | Overrides FieldPluginBase::defineOptions | 1 | ||
| 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… |
Overrides MultiItemsFieldHandlerInterface::getItems | ||
| PrerenderList::renderItems | public | function | Overrides MultiItemsFieldHandlerInterface::renderItems | |||
| StringTranslationTrait::$stringTranslation | protected | property | The string translation service. | 3 | ||
| 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::getStringTranslation | protected | function | Gets the string translation service. | |||
| StringTranslationTrait::setStringTranslation | public | function | Sets the string translation service to use. | 2 | ||
| 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 | Deprecated | 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.