function Roles::calculateDependencies

Same name and namespace in other branches
  1. 9 core/modules/user/src/Plugin/views/filter/Roles.php \Drupal\user\Plugin\views\filter\Roles::calculateDependencies()
  2. 8.9.x core/modules/user/src/Plugin/views/filter/Roles.php \Drupal\user\Plugin\views\filter\Roles::calculateDependencies()
  3. 10 core/modules/user/src/Plugin/views/filter/Roles.php \Drupal\user\Plugin\views\filter\Roles::calculateDependencies()

Overrides HandlerBase::calculateDependencies

File

core/modules/user/src/Plugin/views/filter/Roles.php, line 86

Class

Roles
Filter handler for user roles.

Namespace

Drupal\user\Plugin\views\filter

Code

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 {
            $this->logger
                ->warning("View %view depends on role %role, but the role does not exist.", [
                '%view' => $this->view
                    ->id(),
                '%role' => $role_id,
            ]);
        }
    }
    return $dependencies;
}

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