private function UserCredentials::setUsername in DRD Agent 4.0.x
Same name and namespace in other branches
- 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\ActionCode
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']);
}