/** * @param \DLigo\Animaltool\Domain\Model\User $newUser * @param array $username * @Flow\Validate(argumentName="$username", type="notEmpty") * @param array $password * @param string $role * @Flow\Validate(argumentName="$password", type="\DLigo\Animaltool\Validation\Validator\PasswordValidator") * @Flow\Validate(argumentName="$newUser", type="UniqueEntity") * @Flow\Validate(argumentName="$username", type="\DLigo\Animaltool\Validation\Validator\AccountExistsValidator") * @return void */ public function createAction(User $newUser, $username, $password, $role) { $account = $this->accountFactory->createAccountWithPassword($username['new'], $password[0], array($role)); $accountApp = $this->accountFactory->createAccountWithPassword($username['new'], $password[0], array($role), 'AppProvider'); $account->setParty($newUser); $accountApp->setParty($newUser); $this->accountRepository->add($account); $this->accountRepository->add($accountApp); $this->userRepository->add($newUser); $this->addFlashMessage('Created a new user.', '', \TYPO3\Flow\Error\Message::SEVERITY_OK, array(), 'flash.user.new'); $this->redirect('index'); }
/** * Create an admin account * * Creates a new account which has admin rights. * * @param string $identifier Account identifier, aka "user name" * @param string $password Plain text password for the new account * @param string $firstName First name of the account's holder * @param string $lastName Last name of the account's holder * @return void */ public function createAccountCommand($identifier, $password, $firstName, $lastName) { $this->initRoles(); $account = $this->accountFactory->createAccountWithPassword($identifier, $password, array('DLigo.Animaltool:Admin')); $accountApp = $this->accountFactory->createAccountWithPassword($identifier, $password, array('DLigo.Animaltool:Admin'), 'AppProvider'); $user = new \DLigo\Animaltool\Domain\Model\User(); $user->setFirstname($firstName); $user->setLastname($lastName); $user->setPhone(''); $user->setStreet(''); $user->setNumber(''); $user->setZipCode(''); $user->setCity(''); $user->setRegion(''); $user->setCountry(''); $user->setComment(''); $user->setLastBoxID(0); $this->userRepository->add($user); $account->setParty($user); $accountApp->setParty($user); $this->accountRepository->add($account); $this->accountRepository->add($accountApp); $this->outputLine('The account "%s" was created.', array($identifier)); }