/** * @Route("/installer/step/1") * @Template() */ public function administratorAction() { $em = $this->getDoctrine()->getEntityManager(); if ($this->get('session')->get('installer_user_id')) { $user = $em->find('ClubUserBundle:User', $this->get('session')->get('installer_user_id')); } else { $user = new \Club\UserBundle\Entity\User(); $user->setMemberNumber($em->getRepository('ClubUserBundle:User')->findNextMemberNumber()); $profile = new \Club\UserBundle\Entity\Profile(); $user->setProfile($profile); $profile->setUser($user); $email = new \Club\UserBundle\Entity\ProfileEmail(); $email->setContactType('home'); $email->setProfile($profile); $profile->setProfileEmail($email); } $form = $this->createForm(new \Club\InstallerBundle\Form\AdministratorStep(), $user); if ($this->getRequest()->getMethod() == 'POST') { $form->bindRequest($this->getRequest()); if ($form->isValid()) { $group = $em->getRepository('ClubUserBundle:Group')->findOneBy(array('group_name' => 'Super Administrators')); $group->addUsers($user); $em->persist($user); $em->flush(); $this->get('session')->set('installer_user_id', $user->getId()); return $this->redirect($this->generateUrl('club_installer_installer_location')); } } return array('form' => $form->createView()); }
protected function initUser() { $em = $this->getDoctrine()->getEntityManager(); $user = new \Club\UserBundle\Entity\User(); $user->setMemberNumber($em->getRepository('ClubUserBundle:User')->findNextMemberNumber()); $profile = new \Club\UserBundle\Entity\Profile(); $user->setProfile($profile); $profile->setUser($user); return $this->getUser($user); }
/** * @Route("/auth/register") * @Template() */ public function registerAction() { $em = $this->getDoctrine()->getEntityManager(); $user = new \Club\UserBundle\Entity\User(); $profile = new \Club\UserBundle\Entity\Profile(); $user->setProfile($profile); $profile->setUser($user); $user = $this->getUser($user); $user->setMemberNumber($em->getRepository('ClubUserBundle:User')->findNextMemberNumber()); $form = $this->createForm(new \Club\UserBundle\Form\User(), $user); if ($this->getRequest()->getMethod() == 'POST') { $form->bindRequest($this->getRequest()); if ($form->isValid()) { $em->persist($user); $em->flush(); $this->get('session')->setFlash('notice', $this->get('translator')->trans('Your account has been created.')); $event = new \Club\UserBundle\Event\FilterUserEvent($user); $this->get('event_dispatcher')->dispatch(\Club\UserBundle\Event\Events::onUserNew, $event); return $this->redirect($this->generateUrl('homepage')); } } return array('form' => $form->createView()); }