class Permissions
Same name in this branch
- 10 core/modules/content_moderation/src/Permissions.php \Drupal\content_moderation\Permissions
- 10 core/modules/user/src/Plugin/views/filter/Permissions.php \Drupal\user\Plugin\views\filter\Permissions
Same name and namespace in other branches
- 9 core/modules/content_moderation/src/Permissions.php \Drupal\content_moderation\Permissions
- 9 core/modules/user/src/Plugin/views/field/Permissions.php \Drupal\user\Plugin\views\field\Permissions
- 9 core/modules/user/src/Plugin/views/filter/Permissions.php \Drupal\user\Plugin\views\filter\Permissions
- 8.9.x core/modules/content_moderation/src/Permissions.php \Drupal\content_moderation\Permissions
- 8.9.x core/modules/user/src/Plugin/views/field/Permissions.php \Drupal\user\Plugin\views\field\Permissions
- 8.9.x core/modules/user/src/Plugin/views/filter/Permissions.php \Drupal\user\Plugin\views\filter\Permissions
- 11.x core/modules/content_moderation/src/Permissions.php \Drupal\content_moderation\Permissions
- 11.x core/modules/user/src/Plugin/views/field/Permissions.php \Drupal\user\Plugin\views\field\Permissions
- 11.x core/modules/user/src/Plugin/views/filter/Permissions.php \Drupal\user\Plugin\views\filter\Permissions
Field handler to provide a list of permissions.
Attributes
#[ViewsField("user_permissions")]
Hierarchy
- class \Drupal\user\Plugin\views\field\Permissions implements \Drupal\views\Plugin\views\field\PrerenderList
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 |
---|---|---|---|---|---|---|
DerivativeInspectionInterface::getBaseId | public | function | Gets the base_plugin_id of the plugin instance. | 1 | ||
DerivativeInspectionInterface::getDerivativeId | public | function | Gets the derivative_id of the plugin instance. | 1 | ||
FieldPluginBase::$additional_fields | public | property | ||||
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 | ||||
FieldPluginBase::$last_render_text | public | property | ||||
FieldPluginBase::$last_tokens | public | property | ||||
FieldPluginBase::$linkGenerator | protected | property | The link generator. | |||
FieldPluginBase::$original_value | public | property | ||||
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 | ||||
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. | |||
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::$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::$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::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::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::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. | ||||
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 6 | ||
PluginInspectionInterface::getPluginId | public | function | Gets the plugin ID of the plugin instance. | 2 | ||
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 | |||
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.