/** * @Route("", name="admin_custom_create", options={"expose"=true}) * @Template("WoojinOrderBundle:Custom:res.html.twig") * @Method("POST") */ public function createAction(Request $request) { $user = $this->get('security.token_storage')->getToken()->getUser(); if (null === $user) { return $this->redirect($this->generateUrl('login'), 302); } $em = $this->getDoctrine()->getManager(); $em->getConnection()->beginTransaction(); $qb = $em->createQueryBuilder(); $custom = $qb->select('c')->from('WoojinOrderBundle:Custom', 'c')->where($qb->expr()->andX($qb->expr()->eq('c.mobil', $request->request->get('custom_mobil')), $qb->expr()->eq('c.store', $user->getStore()->getId())))->getQuery()->getOneOrNullResult(); if ($custom) { throw new \Exception('客戶已經存在!'); } try { $custom = new Custom(); $custom->setStore($user->getStore())->setName($request->request->get('custom_name'))->setSex($request->request->get('custom_sex', '保密'))->setMobil($request->request->get('custom_mobil'))->setEmail($request->request->get('custom_email', '*****@*****.**'))->setAddress($request->request->get('custom_address', 'avenue2003預設地址'))->setMemo($request->request->get('custom_memo'))->setCreatetime(new \DateTime()); if ($birthday = $request->request->get('custom_birthday')) { $custom->setBirthday(new \DateTime($birthday)); } $em->persist($custom); $em->flush(); $em->getConnection()->commit(); } catch (Exception $e) { $em->getConnection()->rollback(); throw $e; } return array('rCustom' => array($custom), 'nCount' => 1, 'nNowPage' => 1); }
/** * New Custom * * @Route("register_light_simple", name="front_custom_light_simple_create") * @Method("POST") * @Template("WoojinFrontBundle:Custom:lightSimple.html.twig") */ public function lightSimpleCreateAction(Request $request) { $em = $this->getDoctrine()->getManager(); $redirectUrlList = $this->getRedirectUrlList(); $custom = new Custom(); $form = $this->createLightSimpleForm($custom); $form->handleRequest($request); $email = $custom->getEmail(); if ($form->isValid()) { $userNode = $session->get('userNode'); if (NULL === $userNode) { return $this->redirect($this->get('router')->generate('front_custom_login')); } // 檢查該 email 是否已經註冊,若已經註冊則更新其email if ($existCustom = $em->getRepository('WoojinOrderBundle:Custom')->findByEmailFromWebsite($email)) { $custom = $existCustom; $custom->setFbToken($userNode['id']); } else { $custom = new Custom(); $custom->setStore($em->find('WoojinStoreBundle:Store', Avenue::STORE_WEBSITE)); $session = $this->get('session'); $userNode['email'] = $email; $custom->handleFbResponse($userNode); $session->remove('userNode'); } $em->persist($custom); $em->flush(); $this->get('avenue.notifier')->register($custom); return $this->loginSuccessCallback($session, $custom, $em)->redirect($redirectUrlList['success']); } return array('form' => $form->createView()); }