Exemplo n.º 1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $em = $this->container->getDoctrine()->getManager($input->getOption('em'));
     $user = new User();
     $email = $input->getArgument('email');
     if ($em->getRepository('CmsAuthentication:User')->findOneByEmail($email) !== null) {
         throw new \Exception(sprintf('User with email [%s] already exists.', $email));
     }
     $user->setEmail($email);
     $user->setEmailConfirmed(true);
     $user->setActive(true);
     $user->setLogin($email);
     $user->setName($input->getArgument('name') ? $input->getArgument('name') : $user->getLogin());
     $user->setRoles(array('ROLE_USER'));
     if ($input->getArgument('group')) {
         $group = $em->getRepository('CmsAuthentication:Group')->findOneByName($input->getArgument('group'));
         if ($group) {
             $user->setGroup($group);
         } else {
             throw new \Exception(sprintf('Group [%s] does not exist.', $input->getArgument('group')));
         }
     }
     $encoded = $this->container['cms_authentication.encoder_factory']->getEncoder($user)->encodePassword($input->getArgument('password'), $user->getSalt());
     $user->setPassword($encoded);
     $em->persist($user);
     $em->flush();
     $output->writeln('User created!');
 }