public function onKernelException(GetResponseForExceptionEvent $event)
 {
     $exception = $event->getException();
     $response = new JsonResponse();
     $detail = sprintf("Message: %s\nFile: %s:%s", $exception->getMessage(), $exception->getFile(), $exception->getLine());
     $data = ['type' => '#0', 'code' => 0, 'title' => 'Internal Server Error', 'status' => JsonResponse::HTTP_INTERNAL_SERVER_ERROR, 'detail' => $detail];
     $response->setStatusCode(JsonResponse::HTTP_INTERNAL_SERVER_ERROR);
     $response->setData($data);
     if ($exception instanceof HttpExceptionInterface) {
         $response->headers->replace($exception->getHeaders());
     }
     if ($exception instanceof HttpException) {
         $data = ['type' => '#' . $exception->getCode(), 'code' => $exception->getCode(), 'title' => $exception->getMessage(), 'status' => JsonResponse::HTTP_BAD_REQUEST, 'detail' => $exception->getDetails()];
         $response->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
         $response->setData($data);
     }
     if ($exception instanceof AccessDeniedHttpException) {
         $event->setResponse(new Response("", 403));
     } else {
         $event->setResponse($response);
     }
     if (!in_array($this->kernel->getEnvironment(), array('dev', 'test'))) {
         unset($data['detail']);
     }
 }
 public function onKernelException(GetResponseForExceptionEvent $event)
 {
     $exception = $event->getException();
     $response = new JsonResponse();
     $response->setData(['message' => $exception->getMessage()]);
     if ($exception instanceof HttpExceptionInterface) {
         $response->setStatusCode($exception->getStatusCode());
         $response->headers->replace($exception->getHeaders());
     } else {
         $response->setStatusCode(JsonResponse::HTTP_INTERNAL_SERVER_ERROR);
     }
     if ('RuntimeException' === get_class($exception)) {
         $response->setStatusCode($exception->getCode());
     }
     if ($exception instanceof ArrayErrorsException) {
         $response->setData(['formErrors' => $exception->getErrors()]);
     }
     if ($exception instanceof AuthenticationException) {
         $response->setData(['message' => $exception->getMessageKey()]);
         $response->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
     }
     if ($exception instanceof InsufficientAuthenticationException) {
         $response->setData(['message' => $this->translator->trans('error.insufficient_authentication')]);
         $response->setStatusCode(JsonResponse::HTTP_FORBIDDEN);
     }
     $event->setResponse($response);
 }
示例#3
0
 /**
  * Converts response into json which contains the exception message.
  *
  * @param \Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent $event The response event
  */
 public function onKernelException(GetResponseForExceptionEvent $event)
 {
     if ($event->getRequest()->getRequestFormat() === 'json') {
         $exception = $event->getException();
         $response = new JsonResponse();
         switch ($exception) {
             case $exception instanceof InvalidFormException:
                 $response->setStatusCode(400);
                 $response->setData($exception->getFormErrors());
                 break;
             case $exception instanceof \InvalidArgumentException:
                 $response->setStatusCode(400);
                 $response->setData(['error' => $exception->getMessage()]);
                 break;
             case $exception instanceof AccessDeniedException:
                 $response->setStatusCode(403);
                 $response->setData(['error' => 'Not allowed to access this resource']);
                 break;
             case $exception instanceof NoResultException:
                 $response->setStatusCode(404);
                 $response->setData(['error' => 'Does not exist any object with id passed']);
                 break;
             case $exception instanceof ResourceInUseException || $exception instanceof ResourceAlreadyPersistException || $exception instanceof CollectionMinLengthException:
                 $response->setStatusCode(409);
                 $response->setData(['error' => $exception->getMessage()]);
                 break;
             default:
                 $response->setData(['error' => $exception->getMessage()]);
         }
         $event->setResponse($response);
     }
 }
 public function onKernelException(GetResponseForExceptionEvent $event)
 {
     $exception = $event->getException();
     $response = new JsonResponse(['errorMessage' => $event->getException()->getMessage(), 'stackTrace' => $event->getException()->getTraceAsString()]);
     if ($exception instanceof HttpExceptionInterface) {
         $response->setStatusCode($exception->getStatusCode());
     } else {
         if ($exception instanceof AuthenticationException) {
             $response->setData(['errorMessage' => 'You don\'t have permissions to do this.']);
             $response->setStatusCode(Response::HTTP_FORBIDDEN);
         } else {
             if ($exception instanceof InvalidFormException) {
                 $errors = [];
                 foreach ($exception->getForm()->getErrors(true) as $error) {
                     if ($error->getOrigin()) {
                         $errors[$error->getOrigin()->getName()][] = $error->getMessage();
                     }
                 }
                 $data = ['errors' => $errors, 'errorMessage' => ''];
                 $response->setData($data);
                 $response->setStatusCode(Response::HTTP_BAD_REQUEST);
             } else {
                 $response->setStatusCode(Response::HTTP_INTERNAL_SERVER_ERROR);
             }
         }
     }
     $event->setResponse($response);
 }
 public function thumbnailAction(Request $request, $id)
 {
     $mediaRepository = $this->getRepository('BuzzworthyMediaBundle:Media');
     $video = $mediaRepository->find($id);
     $time = $request->get('time');
     $thumbnailManager = $this->get('app.thumbnail_manager')->createThumbnail($video->getWebPath(), $time);
     $response = new JsonResponse();
     true == $thumbnailManager ? $response->setStatusCode(Response::HTTP_OK) : $response->setStatusCode(Response::HTTP_FORBIDDEN);
     return $response;
 }
示例#6
0
 /**
  * Obteniendo el ultimo mapa guardado
  */
 public function currentMapAction()
 {
     $em = $this->getDoctrine()->getManager();
     $mapa = $em->getRepository('AdminBundle:MapaRecorrido')->findCurrentMap();
     $response = new JsonResponse();
     if ($mapa) {
         $response->setData($mapa);
         $response->setStatusCode(Response::HTTP_OK);
     } else {
         $response->setStatusCode(Response::HTTP_NOT_FOUND);
     }
     return $response;
 }
 /**
  * @param GetResponseForExceptionEvent $event
  */
 public function onKernelException(GetResponseForExceptionEvent $event)
 {
     $exception = $event->getException();
     $response = new JsonResponse();
     if ($exception instanceof HttpExceptionInterface) {
         $response->setStatusCode($exception->getStatusCode());
     } elseif ($exception instanceof AuthenticationException) {
         $response->setStatusCode(403);
     } else {
         $response->setStatusCode(Response::HTTP_INTERNAL_SERVER_ERROR);
     }
     $response->setData(array('message' => $exception->getMessage(), 'status_code' => $response->getStatusCode(), 'trace' => $exception->getTrace(), 'code' => $exception->getCode()));
     $event->setResponse($response);
 }
 public function onKernelException(GetResponseForExceptionEvent $event)
 {
     $exception = $event->getException();
     $response = new JsonResponse();
     if ($exception instanceof HttpExceptionInterface) {
         $response->setStatusCode($exception->getStatusCode());
         $response->headers->replace($exception->getHeaders());
         $response->setData(array('message' => $exception->getMessage()));
     } else {
         $response->setData(array('message' => 'An internal server error occurred. Sorry for the inconvenience.'));
         $response->setStatusCode(JsonResponse::HTTP_INTERNAL_SERVER_ERROR);
     }
     $event->setResponse($response);
 }
 /**
  * @param \Dafiti\Silex\Response $controllerResponse
  *
  * @return HttpFoundation\Response
  */
 protected function transform(\Dafiti\Silex\Response $controllerResponse)
 {
     $response = new HttpFoundation\JsonResponse();
     $response->headers->add(['Content-Type' => self::CONTENT_TYPE]);
     $response->setStatusCode($controllerResponse->getStatusCode());
     if ($this->hasError()) {
         $content = ['message' => $controllerResponse->getErrorMessage()];
         $response->setData($content);
         return $response;
     }
     $response->setStatusCode($controllerResponse->getStatusCode());
     $content = $this->getContent($controllerResponse);
     $response->setData($content);
     return $response;
 }
示例#10
0
 public function onKernelException(GetResponseForExceptionEvent $event)
 {
     if (!$event->getRequest()->isXmlHttpRequest()) {
         return;
     }
     $exception = $event->getException();
     $response = new JsonResponse(array('hasError' => true, 'error' => $exception->getMessage()));
     if ($exception instanceof HttpExceptionInterface) {
         $response->setStatusCode($exception->getStatusCode());
         $response->headers->replace($exception->getHeaders());
     } else {
         $response->setStatusCode(Response::HTTP_INTERNAL_SERVER_ERROR);
     }
     $event->setResponse($response);
 }
 /**
  * This listener is run when the KernelEvents::EXCEPTION event is triggered
  *
  * @param GetResponseForExceptionEvent	$event
  */
 public function on_kernel_exception(GetResponseForExceptionEvent $event)
 {
     $exception = $event->getException();
     $message = $exception->getMessage();
     if ($exception instanceof exception_interface) {
         $message = $this->language->lang_array($message, $exception->get_parameters());
     }
     if (!$event->getRequest()->isXmlHttpRequest()) {
         $this->template->assign_vars(array('TITLE' => $this->language->lang('INFORMATION'), 'BODY' => $message));
         $response = $this->controller_helper->render('installer_main.html', $this->language->lang('INFORMATION'), false, 500);
     } else {
         $data = array();
         if (!empty($message)) {
             $data['message'] = $message;
         }
         if (defined('DEBUG')) {
             $data['trace'] = $exception->getTrace();
         }
         $response = new JsonResponse($data, 500);
     }
     if ($exception instanceof HttpExceptionInterface) {
         $response->setStatusCode($exception->getStatusCode());
         $response->headers->add($exception->getHeaders());
     }
     $event->setResponse($response);
 }
 public function onKernelView(GetResponseForControllerResultEvent $event)
 {
     if (!$event->isMasterRequest()) {
         return;
     }
     $request = $event->getRequest();
     if ('json' !== $request->getRequestFormat()) {
         return;
     }
     $result = $event->getControllerResult();
     if (null === $result) {
         $event->setResponse(new JsonResponse(null, 204));
         return;
     }
     if ($result instanceof Response) {
         return;
     }
     $response = new JsonResponse();
     if ($request->isMethod('POST')) {
         $response->setStatusCode(201);
     }
     if (!is_scalar($result)) {
         $result = $this->getSerializer()->normalize($result, null, ['groups' => $this->options['serialization_default_groups']]);
     }
     $response->setData($result);
     $event->setResponse($response);
 }
 /**
  * Process Ajax Form to create/update virtual product
  *
  * @param int $idProduct
  * @param Request $request
  *
  * @return string
  */
 public function saveAction($idProduct, Request $request)
 {
     $response = new JsonResponse();
     $legacyContext = $this->container->get('prestashop.adapter.legacy.context');
     $adminProductWrapper = $this->container->get('prestashop.adapter.admin.wrapper.product');
     $productAdapter = $this->container->get('prestashop.adapter.data_provider.product');
     //get product
     $product = $productAdapter->getProduct((int) $idProduct, true);
     if (!$product || !$request->isXmlHttpRequest()) {
         return $response;
     }
     $form = $this->createForm('PrestaShopBundle\\Form\\Admin\\Product\\ProductVirtual', null, array('csrf_protection' => false));
     $form->handleRequest($request);
     if ($form->isValid()) {
         $data = $form->getData();
         $res = $adminProductWrapper->updateDownloadProduct($product, $data);
         $res->file_download_link = $res->filename ? $legacyContext->getAdminBaseUrl() . $res->getTextLink(true) : '';
         $product->is_virtual = 1;
         $product->save();
         $response->setData($res);
     } else {
         $response->setStatusCode(400);
         $response->setData($this->getFormErrorsForJS($form));
     }
     return $response;
 }
 /**
  * @inheritdoc
  */
 public function start(Request $request, AuthenticationException $authException = null)
 {
     $response = new JsonResponse();
     $response->setStatusCode(401);
     $response->setData(['ok' => false, 'error' => 'Accessing this resource requires authorization']);
     return $response;
 }
 /**
  * Manage form add product attachment
  *
  * @param int $idProduct
  * @param Request $request
  *
  * @return string
  */
 public function addAction($idProduct, Request $request)
 {
     $response = new JsonResponse();
     $legacyContext = $this->container->get('prestashop.adapter.legacy.context');
     $adminProductWrapper = $this->container->get('prestashop.adapter.admin.wrapper.product');
     $productAdapter = $this->container->get('prestashop.adapter.data_provider.product');
     //get product
     $product = $productAdapter->getProduct((int) $idProduct);
     if (!$product || !$request->isXmlHttpRequest()) {
         return $response;
     }
     $form = $this->createForm('PrestaShopBundle\\Form\\Admin\\Product\\ProductAttachement', null, array('csrf_protection' => false));
     $form->handleRequest($request);
     if ($form->isValid()) {
         $data = $form->getData();
         $res = $adminProductWrapper->processAddAttachment($product, $data, $legacyContext->getLanguages());
         if ($res) {
             $res->real_name = $data['name'];
             $response->setData($res);
         }
     } else {
         $response->setStatusCode(400);
         $response->setData($this->getFormErrorsForJS($form));
     }
     return $response;
 }
 public function getTimetableUrlAction($customerNameCanonical, $externalNetworkId, $externalRouteId, $externalStopPointId)
 {
     try {
         $filter = $this->getRequest()->query->get('filter');
         if (empty($filter)) {
             // default value is now
             $date = new \DateTime("now");
         } else {
             $date = new \DateTime($filter);
         }
         $season = $this->findSeasonByCustomerAndDate($customerNameCanonical, $externalNetworkId, $date);
         if (empty($season)) {
             throw new \Exception($this->get('translator')->trans('webservice.no_season_found', array('%date%' => $date->format('d/m/Y')), 'exceptions'), 404);
         }
         $mediaUrl = $this->getMediaUrl($externalNetworkId, $externalRouteId, $externalStopPointId, $season[0]['id']);
         if (empty($mediaUrl)) {
             throw new \Exception($this->get('translator')->trans('webservice.no_timetable_found', array('%date%' => $date->format('d/m/Y')), 'exceptions'), 404);
         }
         return $this->redirect($mediaUrl);
     } catch (\Exception $e) {
         $code = in_array($e->getCode(), array(404, 500)) ? $e->getCode() : 500;
         $response = new JsonResponse();
         $response->setData(array('message' => $e->getMessage(), 'error_code' => $code));
         $response->setStatusCode($code);
         return $response;
     }
 }
 /**
  * @param int $statusCode
  *
  * @return JsonResponse
  */
 protected function createResponse($statusCode = Response::HTTP_OK)
 {
     $response = new JsonResponse();
     $response->setStatusCode($statusCode);
     $response->headers->set('Access-Control-Allow-Origin', $this->container->getParameter('tree_house.api.allowed_origins'));
     return $response;
 }
示例#18
0
 /**
  * Preparing a JsonResponse
  *
  * @param array $data
  * @param integer $statusCode
  */
 protected function prepareJsonResponse($data = array(), $statusCode = Response::HTTP_OK)
 {
     $response = new JsonResponse();
     $response->setData($data);
     $response->setStatusCode($statusCode);
     return $response;
 }
 /**
  * @param GetResponseForExceptionEvent $event
  */
 public function onKernelException(GetResponseForExceptionEvent $event)
 {
     $exception = $event->getException();
     $code = $exception->getCode();
     $debug = array('class' => get_class($exception), 'code' => $code, 'message' => $exception->getMessage());
     $this->logger->error(print_r($debug, true));
     // HttpExceptionInterface est un type d'exception spécial qui
     // contient le code statut et les détails de l'entête
     if ($exception instanceof NotFoundHttpException) {
         $data = array('error' => array('code' => $code ? $code : -3, 'message' => $exception->getMessage()));
         $response = new JsonResponse($data);
         $response->setStatusCode($exception->getStatusCode());
         $response->headers->replace($exception->getHeaders());
         $response->headers->set('Content-Type', 'application/json');
     } elseif ($exception instanceof HttpExceptionInterface) {
         $data = array('error' => array('code' => $code ? $code : -2, 'message' => $exception->getMessage()));
         $response = new JsonResponse($data);
         $response->setStatusCode($exception->getStatusCode());
         $response->headers->replace($exception->getHeaders());
         $response->headers->set('Content-Type', 'application/json');
     } else {
         $data = array('error' => array('code' => $code ? $code : -1, 'message' => 'Internal Server Error / ' . $exception->getMessage()));
         $response = new JsonResponse($data);
         $response->setStatusCode(Response::HTTP_INTERNAL_SERVER_ERROR);
     }
     // envoie notre objet réponse modifié à l'évènement
     $event->setResponse($response);
 }
 /**
  * This listener is run when the KernelEvents::EXCEPTION event is triggered
  *
  * @param GetResponseForExceptionEvent $event
  * @return null
  */
 public function on_kernel_exception(GetResponseForExceptionEvent $event)
 {
     $exception = $event->getException();
     $message = $exception->getMessage();
     if ($exception instanceof \phpbb\exception\exception_interface) {
         $message = $this->language->lang_array($message, $exception->get_parameters());
     }
     if (!$event->getRequest()->isXmlHttpRequest()) {
         page_header($this->language->lang('INFORMATION'));
         $this->template->assign_vars(array('MESSAGE_TITLE' => $this->language->lang('INFORMATION'), 'MESSAGE_TEXT' => $message));
         $this->template->set_filenames(array('body' => 'message_body.html'));
         page_footer(true, false, false);
         $response = new Response($this->template->assign_display('body'), 500);
     } else {
         $data = array();
         if (!empty($message)) {
             $data['message'] = $message;
         }
         if (defined('DEBUG')) {
             $data['trace'] = $exception->getTrace();
         }
         $response = new JsonResponse($data, 500);
     }
     if ($exception instanceof HttpExceptionInterface) {
         $response->setStatusCode($exception->getStatusCode());
         $response->headers->add($exception->getHeaders());
     }
     $event->setResponse($response);
 }
示例#21
0
 /**
  * Process Ajax Form to add a simple category (name and parent category)
  *
  * @param Request $request
  *
  * @return string
  */
 public function addSimpleCategoryFormAction(Request $request)
 {
     $response = new JsonResponse();
     $tools = $this->container->get('prestashop.adapter.tools');
     $shopContext = $this->container->get('prestashop.adapter.shop.context');
     $shopList = $shopContext->getShops(false, true);
     $currentIdShop = $shopContext->getContextShopID();
     $form = $this->createFormBuilder()->add('category', 'PrestaShopBundle\\Form\\Admin\\Category\\SimpleCategory')->getForm();
     $form->handleRequest($request);
     if ($form->isValid()) {
         $data = $form->getData();
         $_POST = ['submitAddcategory' => 1, 'name_1' => $data['category']['name'], 'id_parent' => $data['category']['id_parent'], 'link_rewrite_1' => $tools->link_rewrite($data['category']['name']), 'active' => 1, 'checkBoxShopAsso_category' => $currentIdShop ? [$currentIdShop => $currentIdShop] : $shopList];
         $adminCategoryController = $this->container->get('prestashop.adapter.admin.controller.category')->getInstance();
         if ($category = $adminCategoryController->processAdd()) {
             $response->setData(['category' => $category]);
         }
         if ($request->query->has('id_product')) {
             $productAdapter = $this->get('prestashop.adapter.data_provider.product');
             $product = $productAdapter->getProduct($request->query->get('id_product'));
             $product->addToCategories($category->id);
             $product->save();
         }
     } else {
         $response->setStatusCode(400);
         $response->setData($this->getFormErrorsForJS($form));
     }
     return $response;
 }
 public function coletaAction(Request $request)
 {
     $logger = $this->get('logger');
     $status = $request->getContent();
     $em = $this->getDoctrine()->getManager();
     $dados = json_decode($status, true);
     if (empty($dados)) {
         $logger->error("JSON INVÁLIDO!!!!!!!!!!!!!!!!!!! Erro na COLETA");
         // Retorna erro se o JSON for inválido
         $error_msg = '{
             "message": "JSON Inválido",
             "codigo": 1
         }';
         $response = new JsonResponse();
         $response->setStatusCode('500');
         $response->setContent($error_msg);
         return $response;
     }
     $computador = $this->getComputador($dados, $request);
     if (empty($computador)) {
         // Se não identificar o computador, manda para o getUpdate
         $logger->error("Computador não identificado no getConfig. Necessário executar getUpdate");
         $error_msg = '{
             "message": "Computador não identificado",
             "codigo": 2
         }';
         $response = new JsonResponse();
         $response->setStatusCode('500');
         $response->setContent($error_msg);
         return $response;
     }
     //Verifica se a coleta foi forçada
     if ($computador->getForcaColeta() == 'true') {
         $computador->setForcaColeta('false');
         $this->getDoctrine()->getManager()->persist($computador);
         $this->getDoctrine()->getManager()->flush();
     }
     $result1 = $this->setHardware($dados['hardware'], $computador);
     $result2 = $this->setSoftware($dados['software'], $computador);
     $response = new JsonResponse();
     if ($result1 && $result2) {
         $response->setStatusCode('200');
     } else {
         $response->setStatusCode('500');
     }
     return $response;
 }
 /**
  * @Route("/editor_plugin/feedback/", options={"expose"=true}, name="aes_send_feedback")
  * @Method("POST")
  */
 public function submitAction(Request $request)
 {
     $form = $this->get('form.factory')->create(new FeedbackType(), array(), array());
     $translator = $this->get('translator');
     $form->handleRequest($request);
     $jsonResponse = new JsonResponse();
     $jsonResponse->headers->set('Access-Control-Allow-Origin', '*');
     $jsonResponse->setData(array('status' => false, 'message' => $translator->trans('aes.msgs.feedback.error')));
     $jsonResponse->setStatusCode(422);
     if ($form->isValid()) {
         $data = $form->getData();
         $this->get('email')->send('Feedback from: ' . $data['name'], $data['message'], '*****@*****.**', $data['email']);
         $jsonResponse->setData(array('status' => true, 'message' => $translator->trans('aes.msgs.feedback.success')));
         $jsonResponse->setStatusCode(200);
     }
     return $jsonResponse;
 }
 /**
  * @param array $data
  * @param int   $status
  *
  * @return JsonResponse
  */
 protected function sendJsonResponse(array $data, $status = 200, $headers = array())
 {
     $response = new JsonResponse($data);
     $response->setStatusCode($status);
     foreach ($headers as $key => $value) {
         $response->headers->set($key, $value);
     }
     return $response;
 }
 /**
  * @param Application $app
  * @param bool $force
  */
 public static function register(Application $app, $force = false)
 {
     $app->error(function (\Exception $e) use($app, $force) {
         /** @var Request $request */
         $request = $app['request'];
         if ($force || $request->headers->has('accept') && 0 === strpos($request->headers->get('accept'), 'application/json')) {
             $response = new JsonResponse();
             if ($e instanceof HttpException) {
                 $response->setStatusCode($e->getStatusCode());
                 $response->headers->add($e->getHeaders());
             } else {
                 $response->setStatusCode(500);
             }
             $response->setData(array('error' => $e->getCode(), 'message' => $e->getMessage()));
             return $response;
         }
         return null;
     });
 }
 /**
  * method checks if there are jobs which are enabled but did not return 0 on last execution or are locked.<br>
  * if a match is found, HTTP status 417 is sent along with an array which contains name, return code and locked-state.
  * if no matches found, HTTP status 200 is sent with an empty array
  *
  * @return JsonResponse
  */
 public function monitorAction()
 {
     $scheduledCommands = $this->getMonitoringData();
     $failed = $this->monitorService->processCommandsJSON($scheduledCommands);
     $status = count($failed) > 0 ? Response::HTTP_EXPECTATION_FAILED : Response::HTTP_OK;
     $response = new JsonResponse();
     $response->setContent(json_encode($failed));
     $response->setStatusCode($status);
     return $response;
 }
示例#27
0
 protected function apiErrorResponse($message, $code = 400)
 {
     if ($code == 0) {
         $code = 400;
     }
     $responseData['error'] = array('message' => $message, 'code' => $code);
     $response = new JsonResponse($responseData);
     $response->setStatusCode($code);
     return $this->apiResponseHeaders($response);
 }
示例#28
0
 protected function processRequest(Request $request, Task &$task)
 {
     $response = new JsonResponse();
     $requestContent = json_decode($request->getContent(), true);
     if (!isset($requestContent['task'])) {
         return $response->setStatusCode(400)->setContent($this->serialize(['error' => ['params' => 'Malformed request, missing parameters']]));
     }
     $taskParams = $requestContent['task'];
     $task->setName($taskParams['name']);
     $task->setStartDate(new \DateTime($taskParams['startDate']));
     $task->setEndDate(new \DateTime($taskParams['endDate']));
     $task->setBandColor($taskParams['bandColor']);
     $errors = $this->get('validator')->validate($task);
     if (count($errors) > 0) {
         return $response->setStatusCode(400)->setContent($this->serialize(['error' => $errors]));
     }
     $this->getDoctrine()->getManager()->persist($task);
     $this->getDoctrine()->getManager()->flush();
     $response->setStatusCode(200);
     return $response->setContent($this->serialize(['task' => $task]));
 }
示例#29
0
 /**
  * @param array $dataArray
  * @param int   $statusCode
  * @param bool  $addIgnoreWdt
  *
  * @return JsonResponse
  *
  * @throws \Exception
  */
 protected function sendJsonResponse($dataArray, $statusCode = null, $addIgnoreWdt = true)
 {
     $response = new JsonResponse();
     if ($this->factory->getEnvironment() == 'dev' && $addIgnoreWdt) {
         $dataArray['ignore_wdt'] = 1;
     }
     if ($statusCode !== null) {
         $response->setStatusCode($statusCode);
     }
     $response->setData($dataArray);
     return $response;
 }
示例#30
0
 /**
  * @Route("/snippet/all/",
  *     name="pugx_snippet_all"
  *     )
  * @Method({"GET"})
  * @Cache(smaxage="3600", maxage="3600", public=true)
  *
  * @return JsonResponse
  */
 public function allAction()
 {
     $repository = $this->container->get('request')->get('repository');
     $response = new JsonResponse();
     if (!$this->isValidRepositoryName($repository)) {
         $response->setData(array('msg' => 'Package not found. Please check the package name. eg. (symfony/symfony)'));
         $response->setStatusCode(404);
         return $response;
     }
     try {
         $badges = $this->container->get('snippet_generator')->generateAllSnippets($repository);
         $response->setData($badges);
     } catch (ClientErrorResponseException $e) {
         $response->setData(array('msg' => 'Package not found. Please check the package name. eg. (symfony/symfony)'));
         $response->setStatusCode(404);
     } catch (\Exception $e) {
         $response->setData(array('msg' => 'Server Error'));
         $response->setStatusCode(500);
     }
     return $response;
 }