Exemplo n.º 1
0
 /**
  * Retrieves user with id $id or throws an exception if it doesn't exist
  *
  * @param $id
  *
  * @return UserInterface
  * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
  */
 protected function getUser($id)
 {
     $user = $this->userManager->findUserBy(array('id' => $id));
     if (null === $user) {
         throw new NotFoundHttpException(sprintf('User (%d) not found', $id));
     }
     return $user;
 }
Exemplo n.º 2
0
 /**
  * Write an User, this method is used by both POST and PUT action methods.
  *
  * @param Request  $request Symfony request
  * @param int|null $id      An User identifier
  *
  * @return \FOS\RestBundle\View\View|FormInterface
  */
 protected function handleWriteUser($request, $id = null)
 {
     $user = $id ? $this->getUser($id) : null;
     $form = $this->formFactory->createNamed(null, 'sonata_user_api_form_user', $user, array('csrf_protection' => false));
     $form->bind($request);
     if ($form->isValid()) {
         $user = $form->getData();
         $this->userManager->updateUser($user);
         $view = FOSRestView::create($user);
         $serializationContext = SerializationContext::create();
         $serializationContext->setGroups(array('sonata_api_read'));
         $serializationContext->enableMaxDepthChecks();
         $view->setSerializationContext($serializationContext);
         return $view;
     }
     return $form;
 }