class Permissions in Drupal 8
Same name in this branch
- 8 core/modules/content_moderation/src/Permissions.php \Drupal\content_moderation\Permissions
- 8 core/modules/user/src/Plugin/views/filter/Permissions.php \Drupal\user\Plugin\views\filter\Permissions
- 8 core/modules/user/src/Plugin/views/field/Permissions.php \Drupal\user\Plugin\views\field\Permissions
Same name and namespace in other branches
- 9 core/modules/user/src/Plugin/views/field/Permissions.php \Drupal\user\Plugin\views\field\Permissions
- 10 core/modules/user/src/Plugin/views/field/Permissions.php \Drupal\user\Plugin\views\field\Permissions
Field handler to provide a list of permissions.
Plugin annotation
@ViewsField("user_permissions");
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\views\Plugin\views\PluginBase implements DependentPluginInterface, ContainerFactoryPluginInterface, TrustedCallbackInterface, ViewsPluginInterface
- class \Drupal\views\Plugin\views\HandlerBase implements ViewsHandlerInterface
- class \Drupal\views\Plugin\views\field\FieldPluginBase implements FieldHandlerInterface
- class \Drupal\views\Plugin\views\field\PrerenderList implements MultiItemsFieldHandlerInterface
- class \Drupal\user\Plugin\views\field\Permissions
- class \Drupal\views\Plugin\views\field\PrerenderList implements MultiItemsFieldHandlerInterface
- class \Drupal\views\Plugin\views\field\FieldPluginBase implements FieldHandlerInterface
- class \Drupal\views\Plugin\views\HandlerBase implements ViewsHandlerInterface
- class \Drupal\views\Plugin\views\PluginBase implements DependentPluginInterface, ContainerFactoryPluginInterface, TrustedCallbackInterface, ViewsPluginInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of Permissions
Related topics
4 string references to 'Permissions'
- ModulesListForm::buildRow in core/
modules/ system/ src/ Form/ ModulesListForm.php - Builds a table row for the system modules page.
- user.links.task.yml in core/
modules/ user/ user.links.task.yml - core/modules/user/user.links.task.yml
- user.routing.yml in core/
modules/ user/ user.routing.yml - core/modules/user/user.routing.yml
- user.schema.yml in core/
modules/ user/ config/ schema/ user.schema.yml - core/modules/user/config/schema/user.schema.yml
File
- core/
modules/ user/ src/ Plugin/ views/ field/ Permissions.php, line 19
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_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
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
FieldPluginBase:: |
public | property | Stores additional fields which get added to the query. | |
FieldPluginBase:: |
public | property | ||
FieldPluginBase:: |
public | property | ||
FieldPluginBase:: |
protected | property | Keeps track of the last render index. | |
FieldPluginBase:: |
protected | property | The link generator. | |
FieldPluginBase:: |
public | property | The field value prior to any rewriting. | |
FieldPluginBase:: |
protected | property |
Stores the render API renderer. Overrides PluginBase:: |
1 |
FieldPluginBase:: |
protected | function | Add 'additional' fields to the query. | |
FieldPluginBase:: |
protected | function | Add any special tokens this field might use for itself. | 4 |
FieldPluginBase:: |
public | function |
Return a string representing this handler's name in the UI. Overrides HandlerBase:: |
|
FieldPluginBase:: |
public | function |
Provide extra data to the administration form Overrides HandlerBase:: |
|
FieldPluginBase:: |
public | function |
Renders a field using advanced settings. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
protected | function | Determine if this field can allow advanced rendering. | |
FieldPluginBase:: |
public | function |
Adds an ORDER BY clause to the query for click sort columns. Overrides FieldHandlerInterface:: |
1 |
FieldPluginBase:: |
public | function |
Determines if this field is click sortable. Overrides FieldHandlerInterface:: |
5 |
FieldPluginBase:: |
protected | function | Document any special tokens this field might use for itself. | 3 |
FieldPluginBase:: |
public | function |
Returns the class of the field. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
public | function |
Returns the class of the field's label. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
public | function |
Returns an HTML element for the label based upon the field's element type. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
public | function |
Returns an HTML element based upon the field's element type. Overrides FieldHandlerInterface:: |
1 |
FieldPluginBase:: |
public | function |
Returns the class of the field's wrapper. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
public | function |
Returns an HTML element for the wrapper based upon the field's element type. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
public | function |
Provides a list of elements valid for field HTML. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
public | function |
Gets the entity matching the current row and relationship. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
protected | function | Returns a token placeholder for the current field. | |
FieldPluginBase:: |
protected | function | Returns all field labels of fields before this field. | |
FieldPluginBase:: |
protected | function |
Returns the render API renderer. Overrides PluginBase:: |
|
FieldPluginBase:: |
public | function |
Gets the 'render' tokens to use for advanced rendering. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
protected | function | Recursive function to add replacements for nested query string parameters. | |
FieldPluginBase:: |
public | function |
Gets the value that's supposed to be rendered. Overrides FieldHandlerInterface:: |
2 |
FieldPluginBase:: |
public | function |
Checks if a field value is empty. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
public | function |
Gets this field's label. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
protected | function | Gets the link generator. | |
FieldPluginBase:: |
public | function |
Runs after every field has been rendered. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
public | function |
Renders the field. Overrides FieldHandlerInterface:: |
27 |
FieldPluginBase:: |
protected | function | Render this field as user-defined altered text. | |
FieldPluginBase:: |
protected | function | Render this field as a link, with the info from a fieldset set by the user. | |
FieldPluginBase:: |
public | function |
Performs an advanced text render for the item. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
protected | function | Trims the field down to the specified length. | |
FieldPluginBase:: |
constant | Indicator of the renderText() method for rendering the whole element. (if no render_item() method is available). | ||
FieldPluginBase:: |
constant | Indicator of the renderText() method for rendering the empty text. | ||
FieldPluginBase:: |
constant | Indicator of the renderText() method for rendering a single item. (If no render_item() is present). | ||
FieldPluginBase:: |
public | function |
Performs some cleanup tasks on the options array before saving it. Overrides PluginBase:: |
1 |
FieldPluginBase:: |
public | function |
Passes values to drupal_render() using $this->themeFunctions() as #theme. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
public | function |
Provide a full list of possible theme templates used by this style. Overrides PluginBase:: |
|
FieldPluginBase:: |
public | function |
Replaces a value with tokens from the last field. Overrides FieldHandlerInterface:: |
|
FieldPluginBase:: |
public static | function | Trims the field down to the specified length. | |
FieldPluginBase:: |
public | function |
Determines if this field will be available as an option to group the result
by in the style settings. Overrides FieldHandlerInterface:: |
|
HandlerBase:: |
public | property | With field you can override the realField if the real field is not set. | |
HandlerBase:: |
public | property | Where the $query object will reside: | 7 |
HandlerBase:: |
public | property | The actual field in the database table, maybe different on other kind of query plugins/special handlers. | |
HandlerBase:: |
public | property | The relationship used for this field. | |
HandlerBase:: |
public | property | The table this handler is attached to. | |
HandlerBase:: |
public | property | The alias of the table of this handler which is used in the query. | |
HandlerBase:: |
protected | property | The views data service. | |
HandlerBase:: |
public | function | Take input from exposed handlers and assign to this handler, if necessary. | 1 |
HandlerBase:: |
public | function |
Check whether given user has access to this handler. Overrides ViewsHandlerInterface:: |
4 |
HandlerBase:: |
public static | function |
Breaks x,y,z and x+y+z into an array. Overrides ViewsHandlerInterface:: |
|
HandlerBase:: |
public | function |
Determines if the handler is considered 'broken', meaning it's a
placeholder used when a handler can't be found. Overrides ViewsHandlerInterface:: |
|
HandlerBase:: |
public | function | Render our chunk of the exposed handler form when selecting | 1 |
HandlerBase:: |
public | function | Form for exposed handler options. | 2 |
HandlerBase:: |
public | function | Provide a form for setting options. | 1 |
HandlerBase:: |
public | function | Provide a form for aggregation settings. | 1 |
HandlerBase:: |
public | function |
Calculates dependencies for the configured plugin. Overrides PluginBase:: |
10 |
HandlerBase:: |
public | function | Determine if a handler can be exposed. | 2 |
HandlerBase:: |
protected | function | Transform a string by a certain method. | |
HandlerBase:: |
public | function | Set new exposed option defaults when exposed setting is flipped on. | 2 |
HandlerBase:: |
public | function | Provide defaults for the handler. | |
HandlerBase:: |
public | function | Displays the Expose form. | |
HandlerBase:: |
public | function |
Ensure the main table for this handler is in the query. This is used
a lot. Overrides ViewsHandlerInterface:: |
2 |
HandlerBase:: |
public | function | Get information about the exposed form for the form renderer. | 1 |
HandlerBase:: |
public | function | Creates cross-database SQL dates. | 2 |
HandlerBase:: |
public | function | Creates cross-database SQL date formatting. | 2 |
HandlerBase:: |
public | function |
Determines the entity type used by this handler. Overrides ViewsHandlerInterface:: |
|
HandlerBase:: |
public | function |
Shortcut to get a handler's raw field value. Overrides ViewsHandlerInterface:: |
|
HandlerBase:: |
public | function |
Get the join object that should be used for this handler. Overrides ViewsHandlerInterface:: |
|
HandlerBase:: |
protected | function | Gets the module handler. | |
HandlerBase:: |
public static | function |
Fetches a handler to join one table to a primary table from the data cache. Overrides ViewsHandlerInterface:: |
|
HandlerBase:: |
protected | function | Gets views data service. | |
HandlerBase:: |
public | function | If a handler has 'extra options' it will get a little settings widget and another form called extra_options. | 1 |
HandlerBase:: |
public | function | Returns TRUE if the exposed filter works like a grouped filter. | 1 |
HandlerBase:: |
public | function | Determine if this item is 'exposed', meaning it provides form elements to let users modify the view. | |
HandlerBase:: |
public | function | Define if the exposed input has to be submitted multiple times. This is TRUE when exposed filters grouped are using checkboxes as widgets. | 1 |
HandlerBase:: |
protected | function | Provides a unique placeholders for handlers. | |
HandlerBase:: |
public | function |
Run after the view is executed, before the result is cached. Overrides ViewsHandlerInterface:: |
|
HandlerBase:: |
public | function |
Run before the view is built. Overrides ViewsHandlerInterface:: |
2 |
HandlerBase:: |
public | function |
Sanitize the value for output. Overrides ViewsHandlerInterface:: |
|
HandlerBase:: |
public | function | Sets the module handler. | |
HandlerBase:: |
public | function |
Called just prior to query(), this lets a handler set up any relationship
it needs. Overrides ViewsHandlerInterface:: |
|
HandlerBase:: |
public | function | ||
HandlerBase:: |
public | function | Shortcut to display the expose/hide button. | 2 |
HandlerBase:: |
public | function |
Shortcut to display the exposed options form. Overrides ViewsHandlerInterface:: |
|
HandlerBase:: |
public | function | If set to remember exposed input in the session, store it there. | 1 |
HandlerBase:: |
public | function | Submit the exposed handler form | |
HandlerBase:: |
public | function | Perform any necessary changes to the form exposes prior to storage. There is no need for this function to actually store the data. | |
HandlerBase:: |
public | function | Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data. | |
HandlerBase:: |
public | function | Calculates options stored on the handler | 1 |
HandlerBase:: |
public | function | Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data. | 1 |
HandlerBase:: |
public | function | A submit handler that is used for storing temporary items when using multi-step changes, such as ajax requests. | |
HandlerBase:: |
public | function | Provides the handler some groupby. | 13 |
HandlerBase:: |
public | function |
Validate that the plugin is correct and can be saved. Overrides PluginBase:: |
2 |
HandlerBase:: |
public | function | Validate the exposed handler form | 4 |
HandlerBase:: |
public | function | Validate the options form. | 1 |
HandlerBase:: |
public | function | Validate the options form. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
Permissions:: |
protected | property |
The module handler. Overrides HandlerBase:: |
|
Permissions:: |
protected | property | The role storage. | |
Permissions:: |
public static | function |
Creates an instance of the plugin. Overrides PluginBase:: |
|
Permissions:: |
public | function |
Initialize the plugin. Overrides FieldPluginBase:: |
|
Permissions:: |
public | function |
Runs before any fields are rendered. Overrides FieldPluginBase:: |
|
Permissions:: |
public | function |
Called to add the field to a query. Overrides FieldPluginBase:: |
|
Permissions:: |
public | function |
Renders a single item of a row. Overrides MultiItemsFieldHandlerInterface:: |
|
Permissions:: |
public | function |
Constructs a \Drupal\user\Plugin\views\field\Permissions object. Overrides HandlerBase:: |
|
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
public | property | Plugins's definition | |
PluginBase:: |
public | property | The display object this plugin is for. | |
PluginBase:: |
public | property | Options for this plugin will be held here. | |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
protected | property | Denotes whether the plugin has an additional options form. | 8 |
PluginBase:: |
public | property | The top object of a view. | 1 |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Clears a plugin. Overrides ViewsPluginInterface:: |
2 |
PluginBase:: |
protected | function | Do the work to filter out stored options depending on the defined options. | |
PluginBase:: |
public | function |
Filter out stored options depending on the defined options. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public | function |
Returns an array of available token replacements. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function |
Returns the plugin provider. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public | function |
Adds elements for available core tokens to a form. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public | function |
Returns a string with any core tokens replaced. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
constant | Include entity row languages when listing languages. | ||
PluginBase:: |
constant | Include negotiated languages when listing languages. | ||
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginBase:: |
protected | function | Makes an array of languages, optionally including special languages. | |
PluginBase:: |
public | function |
Return the human readable name of the display. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public static | function |
Moves form elements into fieldsets for presentation purposes. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public static | function |
Flattens the structure of form elements. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public static | function | Returns substitutions for Views queries for languages. | |
PluginBase:: |
protected | function | Fills up the options of the plugin with defaults. | |
PluginBase:: |
public | function |
Returns the summary of the settings in the display. Overrides ViewsPluginInterface:: |
6 |
PluginBase:: |
public static | function |
Lists the trusted callbacks provided by the implementing class. Overrides TrustedCallbackInterface:: |
6 |
PluginBase:: |
public | function |
Unpack options over our existing defaults, drilling down into arrays
so that defaults don't get totally blown away. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public | function |
Returns the usesOptions property. Overrides ViewsPluginInterface:: |
8 |
PluginBase:: |
public | function |
Validate the options form. Overrides ViewsPluginInterface:: |
15 |
PluginBase:: |
protected | function | Replaces Views' tokens in a given string. The resulting string will be sanitized with Xss::filterAdmin. | 1 |
PluginBase:: |
constant | Query string to indicate the site default language. | ||
PrerenderList:: |
public | property | Stores all items which are used to render the items. It should be keyed first by the id of the base table, for example nid. The second key is the id of the thing which is displayed multiple times per row, for example the tid. | |
PrerenderList:: |
public | function |
Default options form that provides the label widget that all fields
should have. Overrides FieldPluginBase:: |
1 |
PrerenderList:: |
protected | function |
Information about options for all kinds of purposes will be held here. Overrides FieldPluginBase:: |
1 |
PrerenderList:: |
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:: |
|
PrerenderList:: |
public | function |
Render all items in this field together. Overrides MultiItemsFieldHandlerInterface:: |
|
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
TrustedCallbackInterface:: |
constant | Untrusted callbacks throw exceptions. | ||
TrustedCallbackInterface:: |
constant | Untrusted callbacks trigger silenced E_USER_DEPRECATION errors. | ||
TrustedCallbackInterface:: |
constant | Untrusted callbacks trigger E_USER_WARNING errors. |