class Roles in Drupal 10
Same name in this branch
- 10 core/modules/user/src/Plugin/views/filter/Roles.php \Drupal\user\Plugin\views\filter\Roles
- 10 core/modules/user/src/Plugin/views/field/Roles.php \Drupal\user\Plugin\views\field\Roles
Same name and namespace in other branches
- 8 core/modules/user/src/Plugin/views/filter/Roles.php \Drupal\user\Plugin\views\filter\Roles
- 9 core/modules/user/src/Plugin/views/filter/Roles.php \Drupal\user\Plugin\views\filter\Roles
Filter handler for user roles.
Plugin annotation
@ViewsFilter("user_roles");
Hierarchy
- class \Drupal\views\Plugin\views\filter\FilterPluginBase extends \Drupal\views\Plugin\views\HandlerBase implements CacheableDependencyInterface
- class \Drupal\views\Plugin\views\filter\InOperator
Expanded class hierarchy of Roles
Related topics
19 string references to 'Roles'
- AccountForm::form in core/
modules/ user/ src/ AccountForm.php - Gets the actual form array to be built.
- BlockForm::buildVisibilityInterface in core/
modules/ block/ src/ BlockForm.php - Helper function for building the visibility UI form.
- drupal6.php in core/
modules/ migrate_drupal/ tests/ fixtures/ drupal6.php - A database agnostic dump for testing purposes.
- drupal7.php in core/
modules/ tracker/ tests/ fixtures/ drupal7.php - A database agnostic dump for testing purposes.
- drupal7.php in core/
modules/ rdf/ tests/ fixtures/ drupal7.php - A database agnostic dump for testing purposes.
File
- core/
modules/ user/ src/ Plugin/ views/ filter/ Roles.php, line 17
Namespace
Drupal\user\Plugin\views\filterView source
class Roles extends ManyToOne {
/**
* The role storage.
*
* @var \Drupal\user\RoleStorageInterface
*/
protected $roleStorage;
/**
* Constructs a Roles 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\user\RoleStorageInterface $role_storage
* The role storage.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, RoleStorageInterface $role_storage) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->roleStorage = $role_storage;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container
->get('entity_type.manager')
->getStorage('user_role'));
}
public function getValueOptions() {
$this->valueOptions = user_role_names(TRUE);
unset($this->valueOptions[RoleInterface::AUTHENTICATED_ID]);
return $this->valueOptions;
}
/**
* Override empty and not empty operator labels to be clearer for user roles.
*/
public function operators() {
$operators = parent::operators();
$operators['empty']['title'] = $this
->t("Only has the 'authenticated user' role");
$operators['not empty']['title'] = $this
->t("Has roles in addition to 'authenticated user'");
return $operators;
}
/**
* {@inheritdoc}
*/
public function calculateDependencies() {
$dependencies = [];
if (in_array($this->operator, [
'empty',
'not empty',
])) {
return $dependencies;
}
// The value might be a string due to the wrong plugin being used for role
// field data, and subsequently the incorrect config schema object and
// value. In the empty case stop early. Otherwise we cast it to an array
// later.
if (is_string($this->value) && $this->value === '') {
return [];
}
foreach ((array) $this->value as $role_id) {
if ($role = $this->roleStorage
->load($role_id)) {
$dependencies[$role
->getConfigDependencyKey()][] = $role
->getConfigDependencyName();
}
else {
trigger_error("The {$role_id} role does not exist. You should review and fix the configuration of the {$this->view->id()} view.", E_USER_WARNING);
}
}
return $dependencies;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
FilterPluginBase:: |
protected | property | Disable the possibility to force a single value. | 4 |
FilterPluginBase:: |
public | property | Disable the possibility to allow an exposed input to be optional. | |
FilterPluginBase:: |
public | property | Contains the information of the selected item in a grouped filter. | |
FilterPluginBase:: |
public | property | Disable the possibility to use operators. | 1 |
FilterPluginBase:: |
public | property | Contains the operator which is used on the query. | |
FilterPluginBase:: |
public | property | Contains the actual value of the field,either configured in the views ui or entered in the exposed filters. | |
FilterPluginBase:: |
public | function | Add a new group to the exposed filter groups. | |
FilterPluginBase:: |
protected static | function | Filter by no empty values, though allow the use of (string) "0". | |
FilterPluginBase:: |
protected | function | Build the form to let users create the group of exposed filters. | |
FilterPluginBase:: |
public | function | Render our chunk of the exposed filter form when selecting. | |
FilterPluginBase:: |
public | function | Displays the Build Group form. | |
FilterPluginBase:: |
protected | function | Provide default options for exposed filters. | |
FilterPluginBase:: |
protected | function | Save new group items, re-enumerates and remove groups marked to delete. | |
FilterPluginBase:: |
protected | function | Validate the build group options form. | |
FilterPluginBase:: |
public | function | Provide the basic form which calls through to subforms. | 1 |
FilterPluginBase:: |
protected | function | Builds wrapper for value and operator forms. | |
FilterPluginBase:: |
protected | function | Determine if a filter can be converted into a group. | |
FilterPluginBase:: |
public | function | Determine if a filter can be exposed. | 5 |
FilterPluginBase:: |
public | function | Can this filter be used in OR groups? | 1 |
FilterPluginBase:: |
public | function | Transform the input from a grouped filter into a standard filter. | |
FilterPluginBase:: |
public | function | Tell the renderer about our exposed form. This only needs to be overridden for particularly complex forms. And maybe not even then. | |
FilterPluginBase:: |
protected | function | Make some translations to a form item to make it more suitable to exposing. | |
FilterPluginBase:: |
public | function |
The cache contexts associated with this object. Overrides CacheableDependencyInterface:: |
5 |
FilterPluginBase:: |
public | function |
The maximum age for which this object may be cached. Overrides CacheableDependencyInterface:: |
|
FilterPluginBase:: |
public | function |
The cache tags associated with this object. Overrides CacheableDependencyInterface:: |
1 |
FilterPluginBase:: |
public | function | Build a form containing a group of operator | values to apply as a single filter. | |
FilterPluginBase:: |
public | function | Returns the options available for a grouped filter that users checkboxes as widget, and therefore has to be applied several times, one per item selected. | |
FilterPluginBase:: |
protected | function | Determines if the given grouped filter entry has a valid value. | 1 |
FilterPluginBase:: |
public | function | Returns TRUE if the exposed filter works like a grouped filter. | |
FilterPluginBase:: |
public | function | Returns TRUE if users can select multiple groups items of a grouped exposed filter. | |
FilterPluginBase:: |
protected | function | Options form subform for setting the operator. | 5 |
FilterPluginBase:: |
public | function | Perform any necessary changes to the form values prior to storage. | |
FilterPluginBase:: |
protected | function | Validate the operator form. | |
FilterPluginBase:: |
protected | function | Sanitizes the HTML select element's options. | |
FilterPluginBase:: |
protected | function | Shortcut to display the build_group/hide button. | |
FilterPluginBase:: |
public | function | Shortcut to display the exposed options form. | |
FilterPluginBase:: |
public | function | Shortcut to display the expose/hide button. | |
FilterPluginBase:: |
public | function | Shortcut to display the operator form. | |
FilterPluginBase:: |
protected | function | Shortcut to display the value form. | |
FilterPluginBase:: |
public | function | ||
FilterPluginBase:: |
public | function | If set to remember exposed input in the session, store it there. | |
FilterPluginBase:: |
public | function | Simple submit handler. | |
FilterPluginBase:: |
public static | function | ||
FilterPluginBase:: |
public | function | Validate the options form. | |
FilterPluginBase:: |
protected | function | Validates a filter identifier. | |
FilterPluginBase:: |
public | function | Simple validate handler. | 1 |
FilterPluginBase:: |
protected | function | Validate the options form. | 2 |
InOperator:: |
protected | property | Stores all operations which are available on the form. | |
InOperator:: |
protected | property | The filter title. | |
InOperator:: |
public | function |
Determines if the input from a filter should change the generated query. Overrides FilterPluginBase:: |
2 |
InOperator:: |
public | function |
Display the filter on the administrative summary. Overrides FilterPluginBase:: |
2 |
InOperator:: |
public | function |
Options form subform for exposed filter options. Overrides FilterPluginBase:: |
1 |
InOperator:: |
public | function |
Provide default options for exposed filters. Overrides FilterPluginBase:: |
|
InOperator:: |
protected | function | ||
InOperator:: |
public | function |
Build strings from the operators() for 'select' options. Overrides FilterPluginBase:: |
1 |
InOperator:: |
protected | function | ||
InOperator:: |
protected | function | 1 | |
InOperator:: |
public | function |
Add this filter to the query. Overrides FilterPluginBase:: |
5 |
InOperator:: |
public | function | When using exposed filters, we may be required to reduce the set. | |
InOperator:: |
public | function |
Overrides FilterPluginBase:: |
|
InOperator:: |
protected | function |
Perform any necessary changes to the form values prior to storage. Overrides FilterPluginBase:: |
2 |
ManyToOne:: |
public | property | Stores the Helper object which handles the many_to_one complexity. | |
ManyToOne:: |
protected | property |
Overrides InOperator:: |
|
ManyToOne:: |
protected | function |
Overrides InOperator:: |
1 |
ManyToOne:: |
public | function | Override ensureMyTable so we can control how this joins in. The operator actually has influence over joining. | |
ManyToOne:: |
public | function |
Overrides \Drupal\views\Plugin\views\HandlerBase::init(). Overrides InOperator:: |
2 |
ManyToOne:: |
protected | function | ||
ManyToOne:: |
protected | function |
Options form subform for setting options. Overrides InOperator:: |
1 |
Roles:: |
protected | property | The role storage. | |
Roles:: |
public | function | ||
Roles:: |
public static | function | ||
Roles:: |
public | function |
Child classes should be used to override this function and set the
'value options', unless 'options callback' is defined as a valid function
or static public method to generate these values. Overrides InOperator:: |
|
Roles:: |
public | function |
Override empty and not empty operator labels to be clearer for user roles. Overrides ManyToOne:: |
|
Roles:: |
public | function | Constructs a Roles object. |