예제 #1
0
 /**
  * User creation screen.
  *
  * @param Symfony\Component\HttpFoundation\Request $request
  *
  * @return Symfony\Component\HttpFoundation\Response
  */
 public function userAction(Request $request)
 {
     $userForm = $this->buildUserForm($request);
     if ($userForm !== null) {
         $userForm->handleRequest($request);
         if ($userForm->isValid()) {
             /*
              * Create user
              */
             try {
                 $fixtures = new Fixtures($this->getService("em"), $request);
                 $fixtures->createDefaultUser($userForm->getData());
                 /*
                  * Force redirect to avoid resending form when refreshing page
                  */
                 $user = $this->getService('em')->getRepository('RZ\\Roadiz\\Core\\Entities\\User')->findOneBy(['username' => $userForm->getData()['username']]);
                 return $this->redirect($this->generateUrl('installUserSummaryPage', ["userId" => $user->getId()]));
             } catch (\Exception $e) {
                 $this->assignation['error'] = true;
                 $this->assignation['errorMessage'] = $e->getMessage();
             }
         }
         $this->assignation['userForm'] = $userForm->createView();
     }
     return $this->render('steps/user.html.twig', $this->assignation);
 }