/** * create or update a device (the ID is email field) * @Route("/create") */ public function createAction(Request $request) { //$lastName = $request->request->get('lastName'); //$firstName = $request->request->get('firstName'); //$email = $request->request->get('email'); $deviceToken = $request->request->get('deviceToken'); $deviceId = $request->request->get('deviceId'); $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository('AppBundle:Device')->findOneBy(array('deviceId' => $deviceId)); if (!$entity) { $device = new Device(); // $device->setLastName($lastName); // $device->setFirstName($firstName); // $device->setEmail($email); $device->setDeviceToken($deviceToken); $device->setDeviceId($deviceId); $em = $this->getDoctrine()->getManager(); $em->persist($device); $em->flush(); return new JsonResponse(array('registerResponse' => $deviceId)); } else { $entity->setDeviceToken($deviceToken); $em->merge($entity); $em->flush(); return new JsonResponse(array('registerResponse' => "ok-update")); } }
/** * create or update a device (the ID is email field) * @Route("/create") */ public function createAction(Request $request) { $lastName = $request->request->get('lastname'); $firstName = $request->request->get('firstname'); $email = $request->request->get('email'); $deviceToken = $request->request->get('deviceToken'); $deviceId = $request->request->get('deviceId'); /* DEBUG $lastName = 'lastname'; $firstName = 'firstname'; $email = '*****@*****.**'; $deviceToken = 'deviceToken'; $deviceId = 'deviceId'; */ $device = new Device(); $device->setLastname($lastName); $device->setFirstname($firstName); $device->setEmail($email); $device->setDeviceToken($deviceToken); $device->setDeviceId($deviceId); $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository('AppBundle:Device')->findOneBy(array('deviceId' => $deviceId)); if (!$entity) { $em->persist($device); $em->flush(); $return = array('registerResponse' => $deviceId); } else { $entity->setDeviceToken($deviceToken); $em->merge($entity); $em->flush(); $return = array('registerResponse' => "ok-update"); } if ($email != "" && !$device->getEmailconfirmed()) { $device->setEmailconfirmed(); $message = \Swift_Message::newInstance()->setSubject('Hello Email')->setFrom('*****@*****.**')->setTo($email)->setBody($this->renderView('Emails/registration.html.twig', array('entity' => $device)), 'text/html'); $this->get('mailer')->send($message); } return new JsonResponse($return); }