Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. UserSelection.php

function UserSelection::validateReferenceableNewEntities

Overrides DefaultSelection::validateReferenceableNewEntities

File

core/modules/user/src/Plugin/EntityReferenceSelection/UserSelection.php, line 204

Class

UserSelection
Provides specific access control for the user entity type.

Namespace

Drupal\user\Plugin\EntityReferenceSelection

Code

public function validateReferenceableNewEntities(array $entities) {
    $entities = parent::validateReferenceableNewEntities($entities);
    // Mirror the conditions checked in buildEntityQuery().
    if ($role = $this->getConfiguration()['filter']['role']) {
        $entities = array_filter($entities, function ($user) use ($role) {
            
            /** @var \Drupal\user\UserInterface $user */
            return !empty(array_intersect($user->getRoles(), $role));
        });
    }
    if (!$this->currentUser
        ->hasPermission('administer users')) {
        $entities = array_filter($entities, function ($user) {
            
            /** @var \Drupal\user\UserInterface $user */
            return $user->isActive();
        });
    }
    return $entities;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal