/** * edit un user * * @ApiDoc( * resource = true, * description = "modifie un user", * statusCodes = { * 200 = "Returned when successful", * 404 = "Returned when the user is not found" * } * ) * @RequestParam(name="id", nullable=false, strict=true, description="Identifiant user") * @RequestParam(name="email", nullable=false, strict=true, description="Email.") * @RequestParam(name="nomUser", nullable=false, strict=true, description="nom.") * @RequestParam(name="prenomUser", nullable=true, strict=true, description="prenom.") * @RequestParam(name="quartier", nullable=true, strict=true, description="le quartier") * @RequestParam(name="telephone", nullable=true, strict=true, description="le numero de telephone.") * @RequestParam(name="siteWeb", nullable=true, strict=true, description="Le site web.") * @Route("/api/users/{id}", name="nicetruc_edit_user") * @Method({"PUT"}) * @return View */ public function putUserAction($id, ParamFetcher $paramFetcher) { $view = View::create(); $em = $this->getDoctrine()->getManager(); $user = $em->getRepository('AppBundle:User')->findOneBy(array('id' => $id)); if (!$user) { return MessageResponse::message('User introuvable', 'danger', 404); } $userManager = $this->container->get('fos_user.user_manager'); $user = $userManager->findUserByUsername($user->getUsername()); if ($paramFetcher->get('email')) { $user->setUsername($paramFetcher->get('email')); $user->setEmail($paramFetcher->get('email')); } if ($paramFetcher->get('nomUser')) { $user->setNomUser($paramFetcher->get('nomUser')); } if ($paramFetcher->get('prenomUser')) { $user->setPrenomUser($paramFetcher->get('prenomUser')); } // if($paramFetcher->get('telephone')){ $user->setTelephone($paramFetcher->get('telephone'));} $user->setTelephone($paramFetcher->get('telephone')); if ($paramFetcher->get('siteWeb')) { $user->setSiteWeb($paramFetcher->get('siteWeb')); } if ($paramFetcher->get('quartier')) { $quartier = $em->getRepository('AppBundle:Quartier')->find($paramFetcher->get('quartier')); if (!$quartier) { return MessageResponse::message('Le quartier inconnu,veuillez le creer', 'danger', 404); } $user->setQuartier($quartier); } $errors = $this->get('validator')->validate($user, array('Update')); if (count($errors) == 0) { $userManager->updateUser($user); return MessageResponse::message('Utilisateur modifié avec succès', 'success', 200, array('user' => $user)); } else { $view = $this->getErrorsView($errors); return $view; } }
/** * 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; }
/** * desactiver un postulant à une voiture * * @ApiDoc( * resource = true, * description = "Desactiver un postulant à une voiture", * statusCodes = { * 200 = "success", * 404 = "Returned when the voiture is not found" * } * ) * @Route("api/postulants/{idPostulant}/disabled",name="nicetruc_disabled_postulant", options={"expose"=true}) * @Method({"PUT"}) */ public function disabledPostulantAction($idPostulant) { $user = $this->getUser(); $em = $this->getDoctrine()->getManager(); $postulant = $em->getRepository('AppBundle:Postulant')->find($idPostulant); if (!$postulant) { return MessageResponse::message('Postulant introuvable', 'danger', 404); } if ($postulant->getVoiture()->getUser() !== $user) { return MessageResponse::message('Vous n\'êtes pas autorisé à acceder à cette ressource', 'danger', 401); } $postulant->setDisabled(true); $em->persist($postulant); $em->flush(); return MessageResponse::message('Postulant desactivé avec success', 'success', 200); }
/** * 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(); }