em->findEntityClassByInterface(Identity::class); $this->validateInput($io, 'Křestní jméno', $firstname); $this->validateInput($io, 'Příjmení', $lastname); $this->validateInput($io, 'E-mail', $email); $this->validateInput($io, 'Telefon', $phoneNumber); /** @var AclRole $role */ $role = $this->aclRoleQueryFactory->create()->byIsAdmin(true)->fetchOne(false); /** @var Identity $identity */ $identity = (new $identityEntity); $identity ->setContext($this->fancyAdmin->getContext()) ->setFirstName($firstname) ->setLastName($lastname) ->setEmail($email) ->setPhoneNumber($phoneNumber) ->addRole($role); $this->em->persist($identity); $this->em->flush(); $this->mailer->sendAccountCreationEmail($identity); return Command::SUCCESS; } private function validateInput(SymfonyStyle $io, string $question, ?string &$variable): void { while (!$variable) { $variable = trim((string)$io->ask($question)); if ($variable === '') { $io->warning(sprintf('Položka \'%s\' musí být vyplněna', $question)); $variable = null; } } } }