示例#1
0
 /**
  * Definir ou non une voiture en vedette
  *
  * @ApiDoc(
  *   resource = true,
  *   description = "Definir ou non une voiture en vedette",
  *   statusCodes = {
  *     200 = "Returned when successful",
  *     404 = "Returned when the user is not found"
  *   }
  * )
  * @RequestParam(name="isVedette", nullable=false)
  * @Route("api/voitures/vedette/{id}", name="nicetruc_voiture_en_vedette", options={"expose"=true})
  * @Method({"PUT"})
  * @Security("has_role('ROLE_ADMIN')")
  */
 public function putVoitureEnVedetteAction($id, ParamFetcher $paramFetcher)
 {
     $em = $this->getDoctrine()->getManager();
     $message = new MessageResponse(View::create());
     $voiture = $em->getRepository('AppBundle:Voiture')->find($id);
     if (!$voiture) {
         $message->config("Voiture introuvable", 'danger', 404);
         return $message->getView();
     }
     $nbreVedette = $em->getRepository('AppBundle:Voiture')->countVedette();
     if ($paramFetcher->get('isVedette')) {
         if ($nbreVedette > $this->getParameter('limiteVedette')) {
             return $this->view()->setData('Vous ne pouvez depasser ' . $this->getParameter('limiteVedette') . ' vedettes')->setStatusCode(423);
         }
         $voiture->setIsVedette(true);
     } else {
         $voiture->setIsVedette(false);
     }
     $em->persist($voiture);
     $em->flush();
     $view = $this->view()->setData('Modification vedette effectuée ')->setStatusCode(200);
     return $view;
 }
示例#2
0
 /**
  * supprime une image d'une voiture
  *
  * @ApiDoc(
  *   resource = true,
  *   description = "supprime une image d'une voiture",
  *   statusCodes = {
  *     200 = "Returned when successful",
  *     404 = "Returned when the user is not found"
  *   }
  * )
  * @Route("/api/images/{id}",name="nicetruc_image_delete", options={"expose"=true})
  * @Rest\View()
  * @Method({"DELETE"})
  */
 public function deleteImageAction($id)
 {
     $em = $this->getDoctrine()->getManager();
     $message = new MessageResponse(View::create());
     $image = $em->getRepository('AppBundle:Image')->find($id);
     if (!$image) {
         $message->config("Cette image n'existe pas", 'danger', 404);
         return $message->getView();
     }
     if ($image->getVoiture()->getImagePrincipale() === $image) {
         $image->getVoiture()->setImagePrincipale(null);
     }
     $em->remove($image);
     $em->flush();
     $message->config("Image supprimée avec succes", 'success', 200);
     return $message->getView();
 }