Neos.Neos/Classes/Controller/Module/Administration/UsersController.php
public function updateAccountAction(Account $account, array $roleIdentifiers, array $password = [])
    {
        $user = $this->userService->getUser($account->getAccountIdentifier(), $account->getAuthenticationProviderName());
        if ($user === $this->currentUser) {
            $roles = [];
            foreach ($roleIdentifiers as $roleIdentifier) {
                $roles[$roleIdentifier] = $this->policyService->getRole($roleIdentifier);
            }
            if (!$this->privilegeManager->isPrivilegeTargetGrantedForRoles($roles, 'Neos.Neos:Backend.Module.Administration.Users')) {
                $this->addFlashMessage('With the selected roles the currently logged in user wouldn\'t have access to this module any longer. Please adjust the assigned roles!', 'Don\'t lock yourself out', Message::SEVERITY_WARNING, [], 1416501197);
                $this->forward('edit', null, null, ['user' => $this->currentUser]);
            }
        }
        $password = array_shift($password);
        if (strlen(trim(strval($password))) > 0) {
            $this->userService->setUserPassword($user, $password);
        }

        $this->userService->setRolesForAccount($account, $roleIdentifiers);
        $this->addFlashMessage('The account has been updated.', 'Account updated', Message::SEVERITY_OK);
        $this->redirect('edit', null, null, ['user' => $user]);
    }
public function updateAccountAction(Account $account, array $roleIdentifiers, array $password = [])
    {
        $user = $this->userService->getUser($account->getAccountIdentifier(), $account->getAuthenticationProviderName());
        if ($user === $this->currentUser) {
            $roles = [];
            foreach ($roleIdentifiers as $roleIdentifier) {
                $roles[$roleIdentifier] = $this->policyService->getRole($roleIdentifier);
            }
            if (!$this->privilegeManager->isPrivilegeTargetGrantedForRoles($roles, 'Neos.Neos:Backend.Module.Administration.Users')) {
                $this->addFlashMessage('With the selected roles the currently logged in user wouldn\'t have access to this module any longer. Please adjust the assigned roles!', 'Don\'t lock yourself out', Message::SEVERITY_WARNING, [], 1416501197);
                $this->forward('edit', null, null, ['user' => $this->currentUser]);
            }
        }
        $password = array_shift($password);
        if (strlen(trim(strval($password))) > 0) {
            $this->userService->setUserPassword($user, $password);
        }

        $this->userService->setRolesForAccount($account, $roleIdentifiers);
        $this->addFlashMessage('The account has been updated.', 'Account updated', Message::SEVERITY_OK);
        $this->redirect('edit', null, null, ['user' => $user]);
    }
public function updateAccountAction ( Account $ account , array $ roleIdentifiers , array $ password = [ ] ) { $ user = $ this -> userService -> getUser ( $ account -> getAccountIdentifier ( ) , $ account -> getAuthenticationProviderName ( ) ) ; if ( $ user === $ this -> currentUser ) { $ roles = [ ] ; foreach ( $ roleIdentifiers as $ roleIdentifier ) { $ roles [ $ roleIdentifier ] = $ this -> policyService -> getRole ( $ roleIdentifier ) ; } if ( ! $ this -> privilegeManager -> isPrivilegeTargetGrantedForRoles ( $ roles , 'Neos.Neos:Backend.Module.Administration.Users' ) ) { $ this -> addFlashMessage ( 'With the selected roles the currently logged in user wouldn\'t have access to this module any longer. Please adjust the assigned roles!' , 'Don\'t lock yourself out' , Message :: SEVERITY_WARNING , [ ] , 1416501197 ) ; $ this -> forward ( 'edit' , null , null , [ 'user' => $ this -> currentUser ] ) ; } } $ password = array_shift ( $ password ) ; if ( strlen ( trim ( strval ( $ password ) ) ) > 0 ) { $ this -> userService -> setUserPassword ( $ user , $ password ) ; } $ this -> userService -> setRolesForAccount ( $ account , $ roleIdentifiers ) ; $ this -> addFlashMessage ( 'The account has been updated.' , 'Account updated' , Message :: SEVERITY_OK ) ; $ this -> redirect ( 'edit' , null , null , [ 'user' => $ user ] ) ; }
Update a given account

@param Account $account The account to update
@param array $roleIdentifiers A possibly updated list of roles for the user's primary account
@param array $password Expects an array in the format array('<password>', '<password confirmation>')
@Flow\Validate(argumentName="password", type="\Neos\Neos\Validation\Validator\PasswordValidator", options={ "allowEmpty"=1, "minimum"=1, "maximum"=255 })
@return void
Update a given account