You are here

private function UserCredentials::setUsername in DRD Agent 4.0.x

Same name and namespace in other branches
  1. 8.3 src/Agent/Action/UserCredentials.php \Drupal\drd_agent\Agent\Action\UserCredentials::setUsername()

Callback to set the new username if it is not taken yet.

Parameters

\Drupal\user\Entity\User $account: User account which should be changed.

array $args: Array of arguments.

1 call to UserCredentials::setUsername()
UserCredentials::execute in src/Agent/Action/UserCredentials.php
Execute an action.

File

src/Agent/Action/UserCredentials.php, line 45

Class

UserCredentials
Provides a 'UserCredentials' code.

Namespace

Drupal\drd_agent\Agent\Action

Code

private function setUsername(User $account, array $args) {
  if (empty($args['username'])) {
    return;
  }
  $check = user_validate_name($args['username']);
  if (!empty($check)) {
    $this->messenger
      ->addMessage($check, 'error');
    return;
  }
  $user = user_load_by_name($args['username']);
  if (!empty($user) && $user->uid !== $args['uid']) {
    $this->messenger
      ->addMessage('Username already taken.', 'error');
    return;
  }
  $account
    ->setUsername($args['username']);
}