/** * Retourne une voiture * * @ApiDoc( * resource = true, * description = "Retourne une voiture", * statusCodes = { * 200 = "Returned when successful", * 404 = "Returned when the user is not found" * } * ) * @Route("api/voitures/{id}", requirements={"id" = "\d+"}, name="nicetruc_show_voiture", options={"expose"=true}) * @Method({"GET"}) */ public function getVoitureAction($id) { $em = $this->getDoctrine()->getManager(); $message = new MessageResponse(View::create()); $voitures = $em->getRepository('AppBundle:Voiture')->customFind($id); if (!$voitures) { return MessageResponse::message('Voiture introuvable', 'danger', 404); } $view = $this->view()->setData($voitures); return $view; }
/** * 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; } }
/** * 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); }