/**
  * 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"));
     }
 }
Exemplo n.º 2
0
 /**
  * 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);
 }
 /**
  * @Route("/devices/register/{latitude}/{longitude}")
  */
 public function registerTestDeviceAction($latitude, $longitude)
 {
     $doctrine = $this->getDoctrine();
     $em = $doctrine->getEntityManager();
     $device = new Device();
     $device->setLocationUpdateTimestamp(time());
     $device->setLastKnownLatitude($latitude);
     $device->setLastKnownLongitude($longitude);
     $em->persist($device);
     $em->flush();
     return new Response('Device registered with coordinates ' . $latitude . ' | ' . $longitude);
 }