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 87

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.