Пример #1
0
 /**
  * @param Request $request
  * @param Place $place
  * @Put("admin/places/{id}")
  * @return Response
  */
 public function putPlaceAction(Request $request, Place $place)
 {
     $em = $repo = $this->getDoctrine()->getManager();
     $now = new \DateTime('now');
     $postContent = $request->getContent();
     if (!empty($postContent)) {
         $postContent = json_decode($postContent);
         $place->setName($postContent->name)->setLatitude($postContent->latitude)->setLongitude($postContent->longitude)->setDescription($postContent->description)->setPicture($postContent->picture)->setUpdatedAt($now)->setType($postContent->type);
         $validator = $this->get('validator');
         $errors = $validator->validate($place);
         if (count($errors) > 0) {
             $view = $this->view($errors, 400)->setFormat('json');
         } else {
             $em->persist($place);
             $em->flush();
             $view = $this->view($place, 201)->setFormat('json');
         }
     } else {
         $view = $this->view('No data posted.', 400)->setFormat('json');
     }
     return $this->handleView($view);
 }