Пример #1
0
 /**
  * @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);
 }
Пример #2
0
 /**
  * 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());
 }