public function setAlertes(Request $request)
 {
     if ($this->getAuthenticatedUser()->getStatusCode() == 200) {
         $user = JWTAuth::parseToken()->authenticate();
         $user->load('alertes.etapeDepart.ville', 'alertes.etapeArrivee.ville');
         $alerte = $user->alertes;
         // Si l'utilisateur n'a pas encore d'alerte, l'enregistrer
         if (count($alerte) == 0) {
             $alerte = new Alerte();
             $villeDep = new Etape();
             $villeArr = new Etape();
             $date = new DateTime(date('Y-m-d'));
             $villeDep->ville()->associate(Ville::where('nomVille', $request->input('villeDepartAlerte'))->first());
             $villeArr->ville()->associate(Ville::where('nomVille', $request->input('villeArriveeAlerte'))->first());
             // Si une ville n'est pas reconnue envoyer message erreur
             if ($villeDep->inseeVille == null || $villeArr->inseeVille == null) {
                 return response()->json(['error' => 'ville non trouvée'], 404);
             }
             $villeDep->save();
             $villeArr->save();
             $alerte->dateAlerte = $date;
             $alerte->heureAlerte = $request->input('heureAlerte');
             $alerte->etapeDepart()->associate($villeDep->idEtape);
             $alerte->etapeArrivee()->associate($villeArr->idEtape);
             $alerte->membre()->associate($user->id);
             // retourne un utilisateur identifié par token
             $alerte->save();
             $alerte->load('etapeDepart.ville', 'etapeArrivee.ville');
         }
         // Dans tout les cas retourner l'alerte
         return response()->json($alerte);
     }
 }
예제 #2
0
 public function get_villes()
 {
     $villes = Ville::where('ville_nom_reel', 'LIKE', $_POST["ville"] . '%')->take(10)->orderBy('ville_nom_reel', 'asc')->get();
     $json = json_encode($villes);
     echo $json;
 }
 public function creationTrajet(Request $request)
 {
     //récupération de l'objet trajet et suppression de la session
     $trajet = $request->session()->get('trajet');
     //récupération de l'id de l'utilisateur courant
     $idUser = Auth::check() ? Auth::user()->id : -1;
     if ($idUser == -1) {
         throw new Exception("Vous n'êtes pas authentifié");
     }
     //création du trajet
     $trajetO = Trajet::create(['dateTraj' => $trajet['dateTraj'], 'heureTraj' => $trajet['heureTraj'], 'nbPlacesTraj' => $trajet['nbPlacesTraj'], 'tarifTraj' => $trajet['tarifTraj'], 'autoRoutTraj' => $trajet['autoRoutTraj'], 'detoursTraj' => $trajet['detoursTraj'], 'depaDecTraj' => $trajet['depaDecTraj'], 'bagageTraj' => $trajet['bagageTraj'], 'infoTraj' => $trajet['infoTraj'], 'distTraj' => $trajet['distTraj'], 'dureeTraj' => $trajet['dureeTraj'], 'idMemb' => $idUser, 'idVeh' => 1, 'listeInseeEtapeTrajet' => "", 'listeDistEtapeTrajet' => ""]);
     $trajetO->save();
     // !!!!!! Vérifier que la ville avec cet insee n'existe deja pas
     //création des étapes et etapes trajet
     for ($i = 0; $i < count($trajet['etapes']); $i++) {
         $insee = Ville::where("nomVille", $trajet['etapes'][$i]['ville'])->first()->inseeVille;
         if (is_null($insee)) {
             $insee = "13001";
         }
         $etape = Etape::create(['adresseEtape' => $trajet['etapes'][$i]['ville'], 'inseeVille' => $insee]);
         $etape->save();
         $etapeTrajet = EtapeTrajet::create(['idEtape' => $etape->idEtape, 'idTraj' => $trajetO->idTraj, 'numOrdreEtapeTrajet' => $i + 1, 'distEtapeTrajet' => $trajet['etapes'][$i]['distance'], 'prixEtapeTrajet' => $trajet['etapes'][$i]['price'], 'dureeEtapeTrajet' => $trajet['etapes'][$i]['duree'], 'placePrisesEtapeTrajet' => 0]);
         $etapeTrajet->save();
     }
     //redirection vers ce trajet
     return redirect()->route('showTrajet', ['id' => $trajetO->idTraj]);
 }
 public function add(Request $request)
 {
     $ville = Ville::create(['inseeVille' => $request->input('inseeVille'), 'codePostalVille' => $request->input('codePostalVille'), 'nomVille' => $request->input('nomVille'), 'latitudeVille' => $request->input('latitudeVille'), 'longitudeVille' => $request->input('longitudeVille')]);
     $ville->save();
     return redirect()->route('backville');
 }