/** * @Route("/add/user") * @Method("POST") */ public function addUserAction() { $em = $this->getDoctrine()->getEntityManager(); $user = new \Club\UserBundle\Entity\User(); $user->setMemberNumber($em->getRepository('ClubUserBundle:User')->findNextMemberNumber()); $user->setPassword(1234); $em->persist($user); $em->flush(); $profile = new \Club\UserBundle\Entity\Profile(); $profile->setUser($user); $profile->setFirstName($this->getRequest()->get('first_name')); $profile->setLastName($this->getRequest()->get('last_name')); $profile->setGender($this->getRequest()->get('gender')); $profile->setDayOfBirth(new \DateTime($this->getRequest()->get('day_of_birth'))); $em->persist($profile); $address = new \Club\UserBundle\Entity\ProfileAddress(); $address->setProfile($profile); $address->setContactType('home'); $address->setIsDefault(1); $address->setStreet($this->getRequest()->get('street')); $address->setPostalCode($this->getRequest()->get('postal_code')); $address->setCity($this->getRequest()->get('city')); $country = $em->getRepository('ClubUserBundle:Country')->findOneByCountry($this->getRequest()->get('country')); $address->setCountry($country); $em->persist($address); $user->setProfile($profile); $em->persist($user); $em->flush(); return ($r = $this->hasErrors($user)) ? $r : $this->renderJSon($user->toArray()); }
protected function getUser($user) { $em = $this->getDoctrine()->getEntityManager(); if (!$user->getProfile()->getProfileAddress()) { $address = new \Club\UserBundle\Entity\ProfileAddress(); $address->setContactType('home'); $address->setProfile($user->getProfile()); $user->getProfile()->setProfileAddress($address); } if (!$user->getProfile()->getProfilePhone()) { $phone = new \Club\UserBundle\Entity\ProfilePhone(); $phone->setContactType('home'); $phone->setProfile($user->getProfile()); $user->getProfile()->setProfilePhone($phone); } if (!$user->getProfile()->getProfileEmail()) { $email = new \Club\UserBundle\Entity\ProfileEmail(); $email->setContactType('home'); $email->setProfile($user->getProfile()); $user->getProfile()->setProfileEmail($email); } return $user; }
protected function buildUser($user) { $em = $this->getDoctrine()->getManager(); if (!count($user->getProfile()->getProfileAddress())) { $address = new \Club\UserBundle\Entity\ProfileAddress(); $address->setProfile($user->getProfile()); $user->getProfile()->setProfileAddress($address); } if (!count($user->getProfile()->getProfilePhone())) { $phone = new \Club\UserBundle\Entity\ProfilePhone(); $phone->setProfile($user->getProfile()); $user->getProfile()->setProfilePhone($phone); } if (!count($user->getProfile()->getProfileEmail())) { $email = new \Club\UserBundle\Entity\ProfileEmail(); $email->setProfile($user->getProfile()); $user->getProfile()->setProfileEmail($email); $user->getProfile()->addProfileEmail($email); } return $user; }