コード例 #1
0
 public function reserver(Request $request, $idTraj)
 {
     $membId = Auth::user()->id;
     $idDep = $request->idDep;
     $idArr = $request->idArr;
     $inseeDep = Etape::find($idDep)->ville->inseeVille;
     $inseeArr = Etape::find($idArr)->ville->inseeVille;
     $listeInseeEtapeTrajet = Trajet::find($idTraj)->listeInseeEtapeTrajet;
     $listsplit = explode("/", $listeInseeEtapeTrajet);
     if ($idDep == $idArr) {
         $message = "Vous ne pouvez pas partir et arriver au même endroit.";
     } else {
         if (array_search($inseeDep, $listsplit) > array_search($inseeArr, $listsplit)) {
             $message = "Le trajet va dans l'autre sens.";
         } else {
             try {
                 DB::table('inscrit')->insert(array("idMemb" => $membId, "idTraj" => $idTraj, "idEtapeDepartInscrit" => $idDep, "idEtapeArriveeInscrit" => $idArr));
                 $message = "Inscription effectuée";
             } catch (\Illuminate\Database\QueryException $e) {
                 $message = "Vous êtes déjà inscrit à ce trajet";
             }
         }
     }
     $trajet = new Trajet();
     $trajet = $trajet->with('user', 'vehicule', 'etapetrajets.etape.ville', 'inscrits', 'questions')->where('idTraj', $idTraj)->first();
     $query = "SELECT distinct a.avisCInscrit ,a.commentaireCInscrit, a.dateCommentCInscrit FROM inscrit a, trajet b, users c WHERE a.idTraj = b.idTraj and b.idMemb = :idmemb order by a.dateCommentCInscrit DESC";
     $dernierAviss = DB::select(DB::raw($query), array('idmemb' => $trajet->user->id));
     $dernierAvis = $dernierAviss[0];
     return view('recherche.detail', compact('trajet', 'dernierAvis', "message"));
 }
コード例 #2
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id)
 {
     $user = User::find($id);
     $nbTrajets = Trajet::where('id', $id)->count();
     $vehicules = Vehicule::where('id', $id)->get();
     $exp = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->where('trajet.id', $id)->where('trajet.trajet_date', '<', 'curdate()')->count('inscrit.id');
     $avisConducteur = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->join('users', 'users.id', '=', 'inscrit.id')->where('inscrit.inscription_commentaire_conducteur', '!=', '')->where('trajet.id', $id)->get();
     $avisPassager = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->join('users', 'users.id', '=', 'trajet.id')->where('inscrit.inscription_commentaire_voyageur', '!=', '')->where('inscrit.id', $id)->get();
     $noteConducteur = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->where('trajet.id', $id)->avg('inscrit.inscription_avis_conducteur');
     $notePassager = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->where('inscrit.id', $id)->avg('inscrit.inscription_avis_voyageur');
     return view('dashboard.profile.show', ['user' => $user, 'nbTrajets' => $nbTrajets, 'vehicules' => $vehicules, 'exp' => $exp, 'avisConducteur' => $avisConducteur, 'avisPassager' => $avisPassager, 'noteConducteur' => $noteConducteur, 'notePassager' => $notePassager]);
 }
コード例 #3
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Trajet::create(['idTraj' => '1', 'dateTraj' => '2016-05-30', 'heureTraj' => '20h40', 'nbPlacesTraj' => '5', 'tarifTraj' => '4', 'autoRoutTraj' => '0', 'detoursTraj' => '5', 'depaDecTraj' => NULL, 'bagageTraj' => NULL, 'infoTraj' => NULL, 'distTraj' => '50', 'dureeTraj' => '60', 'idMemb' => '1', 'idVeh' => '1', 'listeDistEtapeTrajet' => NULL, 'listeInseeEtapeTrajet' => "51454/69123/13055"]);
     Trajet::create(['idTraj' => '2', 'dateTraj' => '2016-05-30', 'heureTraj' => '22h00', 'nbPlacesTraj' => '5', 'tarifTraj' => '0', 'autoRoutTraj' => '0', 'detoursTraj' => '10', 'depaDecTraj' => NULL, 'bagageTraj' => NULL, 'infoTraj' => NULL, 'distTraj' => NULL, 'dureeTraj' => NULL, 'idMemb' => '1', 'idVeh' => '1', 'listeDistEtapeTrajet' => NULL, 'listeInseeEtapeTrajet' => "5061/13001/13055"]);
     Trajet::create(['idTraj' => '3', 'dateTraj' => '2016-05-30', 'heureTraj' => '08h30', 'nbPlacesTraj' => '5', 'tarifTraj' => '0', 'autoRoutTraj' => '1', 'detoursTraj' => '0', 'depaDecTraj' => NULL, 'bagageTraj' => NULL, 'infoTraj' => NULL, 'distTraj' => '120', 'dureeTraj' => '150', 'idMemb' => '2', 'idVeh' => '2', 'listeDistEtapeTrajet' => NULL, 'listeInseeEtapeTrajet' => "13055/13001/26362"]);
     Trajet::create(['idTraj' => '4', 'dateTraj' => '2016-05-30', 'heureTraj' => '10h45', 'nbPlacesTraj' => '5', 'tarifTraj' => '60', 'autoRoutTraj' => '1', 'detoursTraj' => '10', 'depaDecTraj' => NULL, 'bagageTraj' => NULL, 'infoTraj' => NULL, 'distTraj' => NULL, 'dureeTraj' => NULL, 'idMemb' => '3', 'idVeh' => '3', 'listeDistEtapeTrajet' => NULL, 'listeInseeEtapeTrajet' => "5061/26362/26235/13001"]);
     Trajet::create(['idTraj' => '5', 'dateTraj' => '2016-03-30', 'heureTraj' => '8h55', 'nbPlacesTraj' => '5', 'tarifTraj' => '15', 'autoRoutTraj' => '0', 'detoursTraj' => '5', 'depaDecTraj' => NULL, 'bagageTraj' => NULL, 'infoTraj' => 'Par le col de Cabre', 'distTraj' => NULL, 'dureeTraj' => NULL, 'idMemb' => '1', 'idVeh' => '1', 'listeDistEtapeTrajet' => NULL, 'listeInseeEtapeTrajet' => "5061/5179/84150"]);
     Trajet::create(['idTraj' => '6', 'dateTraj' => '2016-03-30', 'heureTraj' => '18h00', 'nbPlacesTraj' => '5', 'tarifTraj' => '70', 'autoRoutTraj' => '1', 'detoursTraj' => '5', 'depaDecTraj' => NULL, 'bagageTraj' => NULL, 'infoTraj' => 'Road trip', 'distTraj' => NULL, 'dureeTraj' => NULL, 'idMemb' => '1', 'idVeh' => '1', 'listeDistEtapeTrajet' => NULL, 'listeInseeEtapeTrajet' => "38185/26281/26362/26198/84019/13001/13055"]);
     Trajet::create(['idTraj' => '7', 'dateTraj' => '2016-03-30', 'heureTraj' => '15h30', 'nbPlacesTraj' => '5', 'tarifTraj' => '10', 'autoRoutTraj' => '1', 'detoursTraj' => '10', 'depaDecTraj' => NULL, 'bagageTraj' => NULL, 'infoTraj' => 'Road trip', 'distTraj' => NULL, 'dureeTraj' => NULL, 'idMemb' => '2', 'idVeh' => '2', 'listeDistEtapeTrajet' => NULL, 'listeInseeEtapeTrajet' => "5061/13001/13055"]);
     Trajet::create(['idTraj' => '8', 'dateTraj' => '2016-03-30', 'heureTraj' => '9h15', 'nbPlacesTraj' => '5', 'tarifTraj' => '20', 'autoRoutTraj' => '1', 'detoursTraj' => '10', 'depaDecTraj' => NULL, 'bagageTraj' => NULL, 'infoTraj' => 'Road trip', 'distTraj' => NULL, 'dureeTraj' => NULL, 'idMemb' => '2', 'idVeh' => '2', 'listeDistEtapeTrajet' => NULL, 'listeInseeEtapeTrajet' => "5061/13055/13028"]);
     Trajet::create(['idTraj' => '9', 'dateTraj' => '2016-03-30', 'heureTraj' => '5h30', 'nbPlacesTraj' => '5', 'tarifTraj' => '10', 'autoRoutTraj' => '1', 'detoursTraj' => '5', 'depaDecTraj' => NULL, 'bagageTraj' => NULL, 'infoTraj' => 'Mon super voyage', 'distTraj' => NULL, 'dureeTraj' => NULL, 'idMemb' => '3', 'idVeh' => '3', 'listeDistEtapeTrajet' => NULL, 'listeInseeEtapeTrajet' => "5061/13001/13055"]);
 }
コード例 #4
0
 public function store(Request $request, $idTraj)
 {
     $question = new Question();
     $libQuest = $request->question;
     $question->libQuest = $libQuest;
     $question->trajet()->associate(Trajet::find($idTraj));
     $question->save();
     $trajet = Trajet::find($question->idTraj);
     $data = array("question" => $question->libQuest, "idTraj" => $question->idTraj, "mailCond" => $trajet->user->email, "nomCond" => $trajet->user->prenomMemb);
     Mail::send('recherche.question.email', $data, function ($message) use($trajet, $question) {
         $message->to($trajet->user->email, $trajet->user->prenomMemb)->subject('Vous avez reçu une question !');
     });
     return redirect()->route('detailRecherche', $idTraj);
 }
コード例 #5
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show(Request $request)
 {
     // Double validation du formulaire
     $validator = Validator::make($request->all(), ['villedepart' => 'required|min:2', 'villearrivee' => 'required|min:2', 'datedepart' => 'required', 'vehicule' => 'required']);
     $data = $request->session()->all();
     if ($validator->fails()) {
         // get the error messages from the validator
         $messages = $validator->messages();
         return redirect()->route('home')->withErrors($validator)->withInput();
     }
     $recherche = (object) array('villedepart' => $request->input('villedepart'), 'villearrivee' => $request->input('villearrivee'), 'vehicule' => $request->input('vehicule'), 'dateRecherche' => $request->input('datedepart'));
     // dd($request->input('datedepart')); "02/17/2016 12:00 AM"
     $date = DateTime::createFromFormat('m/d/Y H:i A', $recherche->dateRecherche);
     $dateRecherche = $date->format('Y-m-d');
     $trajets = Trajet::TrajetsTrouves($dateRecherche, $recherche->villedepart, $recherche->villearrivee, $recherche->vehicule)->get();
     return view('recherche.resultats', compact('trajets', 'recherche'));
 }
コード例 #6
0
ファイル: TrajetController.php プロジェクト: Akawaa/GiddyUp
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id)
 {
     $trajet = Trajet::find($id);
     $etapes = Etape::where('trajet_id', $id)->orderBy('etape_ordre', 'asc')->get();
     $nbTrajets = Trajet::where('id', $trajet->id)->count();
     $depart = DB::table('etape')->join('ville', 'ville.ville_insee', '=', 'etape.ville_insee')->where('etape.trajet_id', $id)->where('etape.etape_ordre', 1)->get()[0];
     $nbEtapes = Etape::where('trajet_id', $id)->max('etape_ordre');
     $arrivee = DB::table('etape')->join('ville', 'ville.ville_insee', '=', 'etape.ville_insee')->where('etape.trajet_id', $id)->where('etape.etape_ordre', $nbEtapes)->get()[0];
     $inscrit = Inscrit::where('trajet_id', $id)->where('inscription_valide', 1)->count();
     $places = $trajet->trajet_place - $inscrit;
     $questions = Question::where('trajet_id', $id)->get();
     $reponses = Reponse::join('question', 'question.question_id', '=', 'reponse.question_id')->where('question.trajet_id', $id)->select('reponse.id', 'reponse.reponse_libelle', 'reponse.created_at', 'reponse.question_id', 'reponse.reponse_id')->get();
     $exp = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->where('trajet.id', Auth::user()->id)->where('trajet.trajet_date', '<', 'curdate()')->count('inscrit.id');
     $avisConducteur = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->join('users', 'users.id', '=', 'inscrit.id')->where('trajet.id', $trajet->id)->where('inscrit.inscription_commentaire_conducteur', '!=', '')->take(3)->orderBy('inscrit.inscription_date_commentaire_conducteur', 'desc')->get();
     $noteConducteur = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->where('trajet.id', $trajet->id)->avg('inscrit.inscription_avis_conducteur');
     $notePassager = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->where('inscrit.id', $trajet->id)->avg('inscrit.inscription_avis_voyageur');
     return view('trajets.show', ['trajet' => $trajet, 'depart' => $depart, 'arrivee' => $arrivee, 'nbTrajets' => $nbTrajets, 'etapes' => $etapes, 'nbEtapes' => $nbEtapes, 'questions' => $questions, 'reponses' => $reponses, 'places' => $places, 'exp' => $exp, 'avis' => $avisConducteur, 'noteConducteur' => $noteConducteur, 'notePassager' => $notePassager]);
 }
コード例 #7
0
ファイル: BookingController.php プロジェクト: Akawaa/GiddyUp
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id)
 {
     $trajet = Trajet::find($id);
     $resa = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->join('ville as v1', 'inscrit.ville_insee_depart', '=', 'v1.ville_insee')->join('ville as v2', 'inscrit.ville_insee_arrivee', '=', 'v2.ville_insee')->where('inscrit.id', Auth::user()->id)->where('trajet.trajet_id', $id)->select('inscrit.*', 'v1.ville_nom_reel as depart', 'v2.ville_nom_reel as arrivee')->get()[0];
     $questions = Question::where('trajet_id', $id)->get();
     $reponses = Reponse::join('question', 'question.question_id', '=', 'reponse.question_id')->where('question.trajet_id', $id)->select('reponse.id', 'reponse.reponse_libelle', 'reponse.created_at', 'reponse.question_id', 'reponse.reponse_id')->get();
     $exp = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->where('trajet.id', Auth::user()->id)->where('trajet.trajet_date', '<', 'curdate()')->count('inscrit.id');
     $avisConducteur = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->join('users', 'users.id', '=', 'inscrit.id')->where('trajet.id', $trajet->id)->where('inscrit.inscription_commentaire_conducteur', '!=', '')->take(3)->orderBy('inscrit.inscription_date_commentaire_conducteur', 'desc')->get();
     $noteConducteur = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->where('trajet.id', $trajet->id)->avg('inscrit.inscription_avis_conducteur');
     $notePassager = DB::table('inscrit')->join('trajet', 'trajet.trajet_id', '=', 'inscrit.trajet_id')->where('inscrit.id', $trajet->id)->avg('inscrit.inscription_avis_voyageur');
     $etapes = Etape::where('trajet_id', $id)->orderBy('etape_ordre', 'asc')->get();
     $nbEtapes = Etape::where('trajet_id', $id)->max('etape_ordre');
     $inscrit = Inscrit::where('trajet_id', $id)->count();
     $places = $trajet->trajet_place - $inscrit;
     $nbTrajets = Trajet::where('id', $trajet->id)->count();
     $depart = DB::table('etape')->join('ville', 'ville.ville_insee', '=', 'etape.ville_insee')->where('etape.trajet_id', $id)->where('etape.etape_ordre', 1)->get()[0];
     $arrivee = DB::table('etape')->join('ville', 'ville.ville_insee', '=', 'etape.ville_insee')->where('etape.trajet_id', $id)->where('etape.etape_ordre', $nbEtapes)->get()[0];
     $prix_etapes = DB::select("SELECT SUM(etape.etape_prix) as prix, etape.trajet_id FROM etape\n                        WHERE etape.trajet_id = {$id}\n                          AND etape.etape_ordre BETWEEN\n                          (\n                              SELECT e1.etape_ordre\n                              FROM ville v1\n                              INNER JOIN etape e1 ON e1.ville_insee = v1.ville_insee\n                              INNER JOIN trajet ON trajet.trajet_id = e1.trajet_id\n                              INNER JOIN inscrit ON trajet.trajet_id = inscrit.trajet_id\n                              WHERE e1.trajet_id = {$id}\n                              AND e1.ville_insee = inscrit.ville_insee_depart GROUP BY e1.etape_ordre)\n                           AND\n                            (\n                            SELECT e2.etape_ordre\n                              FROM ville v2\n                              INNER JOIN etape e2 ON e2.ville_insee = v2.ville_insee\n                              INNER JOIN trajet ON trajet.trajet_id = e2.trajet_id\n                              INNER JOIN inscrit ON trajet.trajet_id = inscrit.trajet_id\n                              WHERE e2.trajet_id = {$id}\n                              AND e2.ville_insee = inscrit.ville_insee_arrivee GROUP BY e2.etape_ordre)");
     $etapeDepart = DB::select("SELECT e1.etape_ordre\n                              FROM ville v1\n                              INNER JOIN etape e1 ON e1.ville_insee = v1.ville_insee\n                              INNER JOIN trajet ON e1.trajet_id = trajet.trajet_id\n                              INNER JOIN inscrit ON trajet.trajet_id = inscrit.trajet_id\n                              WHERE trajet.trajet_id = {$id}\n                              AND inscrit.ville_insee_depart = e1.ville_insee\n                          ");
     $etapeArrivee = DB::select("SELECT e1.etape_ordre\n                              FROM ville v1\n                              INNER JOIN etape e1 ON e1.ville_insee = v1.ville_insee\n                              INNER JOIN trajet ON e1.trajet_id = trajet.trajet_id\n                              INNER JOIN inscrit ON trajet.trajet_id = inscrit.trajet_id\n                              WHERE trajet.trajet_id = {$id}\n                              AND inscrit.ville_insee_arrivee = e1.ville_insee");
     $places_occ = DB::select("SELECT count(DISTINCT inscrit.id) as nbPlace, {$id} as trajet_id\n                        FROM inscrit\n                        INNER JOIN trajet ON inscrit.trajet_id = trajet.trajet_id\n                        INNER JOIN etape ON etape.trajet_id = trajet.trajet_id\n                        WHERE trajet.trajet_id = {$id}\n                        AND inscrit.inscription_valide = 1\n                        AND (\n                            inscrit.ville_insee_depart IN (\n                                SELECT etape.ville_insee\n                                FROM etape\n                                WHERE etape.trajet_id = {$id}\n                                AND etape.etape_ordre <= " . $etapeDepart[0]->etape_ordre . "\n                            )\n                            AND\n                            inscrit.ville_insee_arrivee IN (\n                                SELECT etape.ville_insee\n                                FROM etape\n                                WHERE etape.trajet_id = {$id}\n                                AND etape.etape_ordre > " . $etapeDepart[0]->etape_ordre . "\n                            )\n                        ) OR (\n                            inscrit.ville_insee_depart IN (\n                                SELECT etape.ville_insee\n                                FROM etape\n                                WHERE etape.trajet_id = {$id}\n                                AND etape.etape_ordre > " . $etapeDepart[0]->etape_ordre . "\n                            )\n                            AND\n                            inscrit.ville_insee_depart IN (\n                                SELECT etape.ville_insee\n                                FROM etape\n                                WHERE etape.trajet_id = {$id}\n                                AND etape.etape_ordre <= " . $etapeArrivee[0]->etape_ordre . "\n                            )\n                        )\n\n                        ");
     return view('dashboard.bookings.show', ['depart' => $depart, 'arrivee' => $arrivee, 'reservation' => $resa, 'trajet' => $trajet, 'etapes' => $etapes, 'nbEtapes' => $nbEtapes, 'place' => $places, 'nbTrajets' => $nbTrajets, 'questions' => $questions, 'reponses' => $reponses, 'exp' => $exp, 'avis' => $avisConducteur, 'noteConducteur' => $noteConducteur, 'notePassager' => $notePassager, 'prix' => $prix_etapes, 'places' => $places_occ]);
 }
コード例 #8
0
 public function show($id)
 {
     $trajet = Trajet::where('idTraj', $id)->get()->first();
     $etapeTrajet = EtapeTrajet::where('idTraj', $id)->get();
     $conducteur = User::where('id', $trajet->idMemb)->get()->first();
     dd($trajet, $etapeTrajet, $conducteur);
 }