createForm(RegistrationFormType::class, $user); $form->handleRequest($request); $role = ['ROLE_USER']; if ($entityManager->getRepository(User::class)->getUserCount() == 0) { $role = ['ROLE_ADMIN']; } if ($form->isSubmitted() && $form->isValid()) { // encode the plain password $user->setPassword( $userPasswordHasher->hashPassword( $user, $form->get('plainPassword')->getData() ) ); $user->setRoles($role); $user->setMetaData([ 'saveInterval' => 30, 'saveReferences' => true, 'noteTextSize' => 14, 'trackSaveSize' => false, 'saveTimeout' => 10, 'saveFailureCount' => 3, ]); $entityManager->persist($user); $entityManager->flush(); $this->sendEmail($user, $mailer); return $this->redirectToRoute('app_home'); } else { //dd($form); } return $this->render('registration/register.html.twig', [ 'registrationForm' => $form, ]); } private function sendEmail(User $user, MailerInterface $mailer): void { $util = new Utils(); $util->sendEmail( $mailer, new Address('ryan@rkprather.com'), new Address('ryan@rkprather.com'), 'New Account', $this->renderView('emails/registration.html.twig', [ 'user' => $user ]) ); } }