diff --git a/src/TypedData/Options/RolesOptions.php b/src/TypedData/Options/RolesOptions.php index 2193366d587c1e5f4d1051155c29d5a5860dc43a..fe241f2d802a7408baa8e7e9feee38609a5bc5f5 100644 --- a/src/TypedData/Options/RolesOptions.php +++ b/src/TypedData/Options/RolesOptions.php @@ -3,6 +3,8 @@ namespace Drupal\rules\TypedData\Options; use Drupal\Core\Session\AccountInterface; +use Drupal\user\Entity\Role; +use Drupal\user\RoleInterface; /** * Options provider to return a list of user roles. @@ -13,8 +15,10 @@ class RolesOptions extends OptionsProviderBase { * {@inheritdoc} */ public function getPossibleOptions(AccountInterface $account = NULL) { - // Use parameter FALSE to include 'Anonymous'. - $roles = user_role_names(FALSE); + // All roles, including 'Anonymous'. + $roles = array_map(function (RoleInterface $role) { + return $role->label(); + }, Role::loadMultiple()); // Sort by the role name. asort($roles);