diff --git a/pima/app/Http/Controllers/AccueilController.php b/pima/app/Http/Controllers/AccueilController.php new file mode 100644 index 0000000000000000000000000000000000000000..5dec511c1e237c861d838a477b11aa49de63cc6e --- /dev/null +++ b/pima/app/Http/Controllers/AccueilController.php @@ -0,0 +1,53 @@ +<?php + +namespace App\Http\Controllers; + +use Illuminate\Http\Request; +use App\Http\Requests\FormulaireRequest; +use App\Http\Requests\RechercheRequest; +use App\Message; +use App\Tool; +use Auth; + +class AccueilController extends Controller +{ + public function create(){ + if (Auth::check()){ + return view('accueil'); + } + } + + public function store(RechercheRequest $request){ + + if (!isset($request->message)) { + $message = null; + } + else{ + $message = $request->message; + } + + if ($request->categorie == 4){ + $request->objet = $request->objet_autre; + } + + Message::create([ + 'auteur' => $request->nom, + 'type' => $request->off_dem, + 'objet' => $request->objet, + 'contact' => $request->contact, + 'commentaire' => $message, + ]); + + Tool::create([ + 'objet'=> $request->objet, + 'categorie' => $request->categorie, + ]); + + /* Dispo::create([ + 'id_outil'=> Tool::where('objet', ) + 'id_proprio' => + 'id_emprunteur' => + ]);*/ + return redirect()->route('accueil'); + } + } diff --git a/pima/app/Http/Controllers/AjoutObjetController.php b/pima/app/Http/Controllers/AjoutObjetController.php index bef6540a610e6912e1a86f01d36aae5f44f194b9..f42bd58dab2d86c0209044280550d35e3b136afe 100644 --- a/pima/app/Http/Controllers/AjoutObjetController.php +++ b/pima/app/Http/Controllers/AjoutObjetController.php @@ -29,6 +29,6 @@ class AjoutObjetController extends Controller 'caracteristiques' => $request->cara, ]); - //return redirect()->route(''); + return redirect()->route('profil',["userid"=>$user->id, "done" =>'done']); } } diff --git a/pima/app/Http/Controllers/ModifierObjetController.php b/pima/app/Http/Controllers/ModifierObjetController.php new file mode 100644 index 0000000000000000000000000000000000000000..2acd38134241ed0941bbb6e15ff93b5e95d61948 --- /dev/null +++ b/pima/app/Http/Controllers/ModifierObjetController.php @@ -0,0 +1,34 @@ +<?php + +namespace App\Http\Controllers; + +use Illuminate\Http\Request; +use App\Http\Requests\ModifierObjetRequest; +use App\Message; +use App\Tool; +use App\Dispo; +use Auth; + +class ModifierObjetController extends Controller +{ + + public function create($userid){ + return view('ajout_objet', ["userid"=>$userid]); + } + + public function store(AjoutObjetRequest $request){ + + //dd($request); + $user = Auth::user(); + + Dispo::create([ + 'id_objet' => Tool::where('objet', $request->nom)->first()->id, + 'id_proprio' => $user->id, + 'id_emprunteur' => -1, + 'description' => $request->description, + 'caracteristiques' => $request->cara, + ]); + + return redirect()->route('profil',["userid"=>$user->id, "done" =>'done']); + } +} diff --git a/pima/app/Http/Controllers/ProfilController.php b/pima/app/Http/Controllers/ProfilController.php index 705d93f1f7045034d18e719cdfff94f01ddcc36e..b6565859cb9c3cb27a4ea182dcf82359b6654ea5 100644 --- a/pima/app/Http/Controllers/ProfilController.php +++ b/pima/app/Http/Controllers/ProfilController.php @@ -18,9 +18,9 @@ class ProfilController extends Controller - public function create($user){ + public function create($user, $done){ if (Auth::check()){ - return view('profil',["userid"=>$user]); + return view('profil',["userid"=>$user, "done" => $done]); } } } diff --git a/pima/app/Http/Requests/AjoutObjetRequest.php b/pima/app/Http/Requests/AjoutObjetRequest.php index 510b39792660585ce701d18f4207623e4f0c3efc..5c43100f9a768bb77ab147a4c1efde0a35a16dc4 100644 --- a/pima/app/Http/Requests/AjoutObjetRequest.php +++ b/pima/app/Http/Requests/AjoutObjetRequest.php @@ -24,6 +24,7 @@ class AjoutObjetRequest extends FormRequest public function rules() { return [ + 'nom' => 'required', ]; } } diff --git a/pima/app/Http/Requests/RechercheRequest.php b/pima/app/Http/Requests/RechercheRequest.php new file mode 100644 index 0000000000000000000000000000000000000000..a26320fbcffdc3c407ba12fbeb42a510f36a813e --- /dev/null +++ b/pima/app/Http/Requests/RechercheRequest.php @@ -0,0 +1,31 @@ +<?php + +namespace App\Http\Requests; + +use Illuminate\Foundation\Http\FormRequest; + +class RechercheRequest extends FormRequest +{ + /** + * Determine if the user is authorized to make this request. + * + * @return bool + */ + public function authorize() + { + return true; + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'nom' => 'required', + 'objet' => 'required' + ]; + } +} diff --git a/pima/resources/views/accueil.blade.php b/pima/resources/views/accueil.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..3f740bf246d356495c021fd4e46b310671b35d86 --- /dev/null +++ b/pima/resources/views/accueil.blade.php @@ -0,0 +1,151 @@ +<!DOCTYPE html> +<html lang="fr" dir="ltr"> + <head> + <meta charset="utf-8"> + <title>Troc En Trop</title> + </head> + @extends('template') + + <?php + use App\Message; + use App\Categorie; + use App\Tool; + ?> + + <body> + <center> + {{ Form::open(['url' => 'accueil'])}} + {{ Form::token() }} + + <B>Objet :</B> {{Form::select('objet', Tool::tool_list())}} + {{ $errors->first('objet', ':message') }} + + + <br><br> + + <B>Département :</B> + </label> + <select name="departements" id="departements" onClick="document.formulaire.codepostal.value=document.formulaire.departements.value;"> + <option value="0"></option> + <option value="01">01 - Ain</option> + <option value="02">02 - Aisne</option> + <option value="03">03 - Allier</option> + <option value="04">04 - Alpes-de-Haute-Provence</option> + <option value="05">05 - Hautes-Alpes</option> + <option value="06">06 - Alpes-Maritimes</option> + <option value="07">07 - Ardeche</option> + <option value="08">08 - Ardennes</option> + <option value="09">09 - Ariege</option> + <option value="10">10 - Aube</option> + <option value="11">11 - Aude</option> + <option value="12">12 - Aveyron</option> + <option value="13">13 - Bouches-du-Rhone</option> + <option value="14">14 - Calvados</option> + <option value="15">15 - Cantal</option> + <option value="16">16 - Charente</option> + <option value="17">17 - Charente-Maritime</option> + <option value="18">18 - Cher</option> + <option value="19">19 - Correze</option> + <option value="2A">2A - Corse-du-Sud</option> + <option value="2B">2B - Haute-Corse</option> + <option value="21">21 - Cote-d'Or</option> + <option value="22">22 - Cotes-d'Armor</option> + <option value="23">23 - Creuse</option> + <option value="24">24 - Dordogne</option> + <option value="25">25 - Doubs</option> + <option value="26">26 - Drome</option> + <option value="27">27 - Eure</option> + <option value="28">28 - Eure-et-Loir</option> + <option value="29">29 - Finistere</option> + <option value="30">30 - Gard</option> + <option value="31">31 - Haute-Garonne</option> + <option value="32">32 - Gers</option> + <option value="33">33 - Gironde</option> + <option value="34">34 - Herault</option> + <option value="35">35 - Ille-et-Vilaine</option> + <option value="36">36 - Indre</option> + <option value="37">37 - Indre-et-Loire</option> + <option value="38">38 - Isere</option> + <option value="39">39 - Jura</option> + <option value="40">40 - Landes</option> + <option value="41">41 - Loir-et-Cher</option> + <option value="42">42 - Loire</option> + <option value="43">43 - Haute-Loire</option> + <option value="44">44 - Loire-Atlantique</option> + <option value="45">45 - Loiret</option> + <option value="46">46 - Lot</option> + <option value="47">47 - Lot-et-Garonne</option> + <option value="48">48 - Lozere</option> + <option value="49">49 - Maine-et-Loire</option> + <option value="50">50 - Manche</option> + <option value="51">51 - Marne</option> + <option value="52">52 - Haute-Marne</option> + <option value="53">53 - Mayenne</option> + <option value="54">54 - Meurthe-et-Moselle</option> + <option value="55">55 - Meuse</option> + <option value="56">56 - Morbihan</option> + <option value="57">57 - Moselle</option> + <option value="58">58 - Nievre</option> + <option value="59">59 - Nord</option> + <option value="60">60 - Oise</option> + <option value="61">61 - Orne</option> + <option value="62">62 - Pas-de-Calais</option> + <option value="63">63 - Puy-de-Dome</option> + <option value="64">64 - Pyrenees-Atlantiques</option> + <option value="35">65 - Hautes-Pyrenees</option> + <option value="66">66 - Pyrenees-Orientales</option> + <option value="67">67 - Bas-Rhin</option> + <option value="68">68 - Haut-Rhin</option> + <option value="69">69 - Rhone</option> + <option value="70">70 - Haute-Saone</option> + <option value="71">71 - Saone-et-Loire</option> + <option value="72">72 - Sarthe</option> + <option value="73">73 - Savoie</option> + <option value="74">74 - Haute-Savoie</option> + <option value="75">75 - Paris</option> + <option value="76">76 - Seine-Maritime</option> + <option value="77">77 - Seine-et-Marne</option> + <option value="78">78 - Yvelines</option> + <option value="79">79 - Deux-Sevres</option> + <option value="80">80 - Somme</option> + <option value="81">81 - Tarn</option> + <option value="82">82 - Tarn-et-Garonne</option> + <option value="83">83 - Var</option> + <option value="84">84 - Vaucluse</option> + <option value="85">85 - Vendee</option> + <option value="86">86 - Vienne</option> + <option value="87">87 - Haute-Vienne</option> + <option value="88">88 - Vosges</option> + <option value="89">89 - Yonne</option> + <option value="90">90 - Territoire de Belfort</option> + <option value="91">91 - Essonne</option> + <option value="92">92 - Hauts-de-Seine</option> + <option value="93">93 - Seine-Saint-Denis</option> + <option value="94">94 - Val-de-Marne</option> + <option value="95">95 - Val-d'Oise</option> + <option value="971">971 - Guadeloupe</option> + <option value="972">972 - Martinique</option> + <option value="973">973 - Guyane</option> + <option value="974">974 - Réunion</option> + <option value="975">975 - Saint-Pierre-et-Miquelon</option> + <option value="984">984 - Terres-australes-et-antarctiques-françaises</option> + <option value="985">985 - Mayotte</option> + <option value="986">986 - Wallis-et-Futuna</option> + <option value="987">987 - Polynesie-franeaise</option> + <option value="988">988 - Nouvelle-Caledonie</option> + </select> + <br><br> + + <B>Ville :</B> {{ Form::text('contact')}} <br> + {{ $errors->first('contact', ':message') }} + + + <br> + + <br/> + {{ Form::submit('Envoyer', ['class' => 'btn btn-info pull-right']) }} + {{ Form::close() }} + </center> + + </body> +</html> diff --git a/pima/resources/views/ajout_objet.blade.php b/pima/resources/views/ajout_objet.blade.php index 3cf0d61be556852b080f85e412af4bceab5f94c7..d88a7d8487685db17343864306e17fc2fd338704 100644 --- a/pima/resources/views/ajout_objet.blade.php +++ b/pima/resources/views/ajout_objet.blade.php @@ -58,11 +58,12 @@ page : nom de l'outil, catégorie, description, caractéristiques {{ $errors->first('nom', ':message') }} <br><br> - +<!-- <B>Catégorie</B> {{ Form::select('categorie', Categorie::categories_names()) }} {{ $errors->first('categorie', ':message') }} <br><br> +--> <B>Description</B> <br>{{ Form::textarea('description')}} <br><br> diff --git a/pima/resources/views/formulaire2.blade.php b/pima/resources/views/formulaire2.blade.php index e1230b89dd59d391f0c8c91f0fde7d761e1c1ceb..15c0f8c34fa045bfe32d1af370ffc6acefe03558 100644 --- a/pima/resources/views/formulaire2.blade.php +++ b/pima/resources/views/formulaire2.blade.php @@ -17,7 +17,7 @@ Accueil @auth <?php $user = Auth::user(); - $linkprofil = 'http://localhost:8000/profil/' . $user->id; + $linkprofil = 'http://localhost:8000/profil/' . $user->id . '/' . '0'; ?> <a href="{{ route('logout') }}" onclick="event.preventDefault(); diff --git a/pima/resources/views/modifier_objet.blade.php b/pima/resources/views/modifier_objet.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..e4042e7015686974697816a90a744f6d443452e1 --- /dev/null +++ b/pima/resources/views/modifier_objet.blade.php @@ -0,0 +1,115 @@ +@extends('template') + +@section('titre') +Ajout_Objet +@endsection + +<?php +use App\Message; +use App\Categorie; +use App\Tool; +?> + + +@section('contenu') +<div class="flex-center position-ref full-height"> + @if (Route::has('login')) + <div class="top-right links"> + @auth + <a href="{{ route('logout') }}" + onclick="event.preventDefault(); + document.getElementById('logout-form').submit();"> + {{ __('Logout') }} + </a> + <br> + <a href="{{ route('home') }}">Home</a> + + <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;"> + @csrf + </form> + @else + <a href="{{ route('login') }}">Login</a> <br> + <a href="{{ route('register') }}">Register</a> + @endauth + </div> + @endif +</div> + + +<div class="top"> + <ul> + <li><a href="{{ route('welcome') }}">Home</a></li> + <li><a href="{{ url('formulaire2') }}">Main</a></li> + + </ul> +</div> + +<h1>Ajouter un objet</h1> + +<center> + {{ Form::open(['url' => 'ajout_objet/'.$userid])}} + {{ Form::token() }} + +<!-- Créer les champs du formulaire sur la +page : nom de l'outil, catégorie, description, caractéristiques +(sous forme d'array dans la base de données ("key"=>"value") +--> + + <B>Nom de l'outil</B> {{Form::select('nom', Tool::tool_list())}} <br> + {{ $errors->first('nom', ':message') }} + + <br><br> +<!-- + <B>Catégorie</B> {{ Form::select('categorie', Categorie::categories_names()) }} + {{ $errors->first('categorie', ':message') }} + + <br><br> +--> + <B>Description</B> <br>{{ Form::textarea('description')}} + <br><br> + + <B>Caractéristiques<B> <br> {{ Form::text('cara[]')}} <br> <br> + <p id="pluscara" onclick="addformcara(this)"> + </p> + <p id="moinscara" onclick="remformcara()"> - </p> + + {{ Form::submit('Envoyer', ['class' => 'btn btn-info pull-right']) }} + {{ Form::close() }} +</center> + + +<link type="text/css" href={{asset("css/jquery-ui.min.css")}} rel="stylesheet" /> +<script type="text/javascript" src={{asset("js/jquery-3.3.1.js")}}></script> +<script type="text/javascript" src={{asset("js/jquery-ui.min.js")}}></script> + +<script type="text/javascript"> + +var k=0; +function addformcara(t){ + console.log("hhfiezhuf"); + if (k<10) { + k++; + var actualajout = 'cara[]' ; + var id = actualajout + k; + var inputcara = "<p id="+id+"><input name="+ actualajout +" class='cara' id="+ id +" type='text'> <br> <br> </p>"; + $(t).before(inputcara); + return k; + } +}; + +function remformcara(){ + if (k>0) { + var actualajout = 'cara[]'; + console.log(actualajout); + $("[id ='"+ actualajout + k +"']").remove(); + k--; + console.log(k); + return k; + } +} + +$("[id$='pluscara']").css('cursor', 'pointer'); +$("[id$='moinscara']").css('cursor', 'pointer'); + +</script> + +@endsection diff --git a/pima/resources/views/profil.blade.php b/pima/resources/views/profil.blade.php index dbf6591803199d596179b14398217ac9d54e23da..e3e27ffe84a26895b9c4e87469d020b0143ee925 100644 --- a/pima/resources/views/profil.blade.php +++ b/pima/resources/views/profil.blade.php @@ -5,6 +5,12 @@ Profil @endsection @section('contenu') +<?php +use App\Dispo; +use App\Tool; +use App\Categorie; + ?> + <div class="flex-center position-ref full-height"> @if (Route::has('login')) <div class="top-right links"> @@ -66,58 +72,70 @@ Profil } ?> <h1 id="liste_outils">Vos outils</h1> - <div class="row"> - <div class="column"> - <h1> Nom de l'outil </h1> - <div class="category"> - Catégorie - </div> - <div class="description"> - Description de l'objet, modèle, format... - </div> - </div> - - <div class="column2"> - <h1> Nom de l'outil </h1> - <div class="category"> - Catégorie - </div> - <div class="description"> - Description de l'objet, modèle, format... - </div> - </div> - - <div class="column"> - <h1> Nom de l'outil </h1> - <div class="category"> - Catégorie - </div> - <div class="description"> - Description de l'objet, modèle, format... - </div> - </div> - </div> - </br> - <div class="row"> - <div class="column"> - <h1> Nom de l'outil </h1> - <div class="category"> - Catégorie - </div> - <div class="description"> - Description de l'objet, modèle, format... - </div> - </div> - - <div class="column2"> - <h1> Nom de l'outil </h1> - <div class="category"> - Catégorie - </div> - <div class="description"> - Description de l'objet, modèle, format... - </div> - </div> + + <?php + if ($done == 'done'){ + echo "Votre ajout a bien été pris en compte."; + ?> <br> <br> <?php + + } + + ?> + + <?php + $objet_list = Dispo::where("id_proprio", Auth::user()->id)->get(); + $i=0; + foreach ($objet_list as $line){ + $objet = Tool::where("id", $line->id_objet)->first(); + $nom = $objet->objet; + $categorie = Categorie::where("id", $objet->categorie)->first()->nom; + $cara = $line->caracteristiques; + if ($line->id_emprunteur!=-1){ + $emprunt = User::where("id", $line->id_emprunteur)->first()->name; + } + else{ + $emprunt = "Pas d'emprunteur"; + } + + if ($i % 3 == 0){ + ?> + <div class="row"> + <?php + } + ?> + <div class="column"> + <h1> {{ $nom }}</h1> + <div class="category"> + Catégorie : {{$categorie}} + </div> + <div class="description"> + Description : {{$line->description}} + <br> + Caractéristiques : + <ul> + <?php foreach ($cara as $c) { + ?> + <li>{{$c}}</li> + <?php + } + ?> + </ul> + <div class="emprunteur"> + Emprunteur : {{$emprunt}} + </div> + </div> + </div> + + <?php + if ($i % 3 == 2){ + ?> + </div> + <br> <br> + <?php + } + $i++; + } + ?> </article> @endsection diff --git a/pima/resources/views/welcome.blade.php b/pima/resources/views/welcome.blade.php index d62b9c4bd051ab904c4609f11c921e092d0088cc..d1cffaca94494936e3ffbfb195ea6e45133e81fb 100644 --- a/pima/resources/views/welcome.blade.php +++ b/pima/resources/views/welcome.blade.php @@ -170,7 +170,7 @@ article{ @auth <?php $user = Auth::user(); - $linkprofil = 'http://localhost:8000/profil/' . $user->id; + $linkprofil = 'http://localhost:8000/profil/' . $user->id . '/' . '0'; ?> <ul> <li><a href="{{ url('/home') }}">Home</a></li> diff --git a/pima/routes/web.php b/pima/routes/web.php index f79c01609ab7ce5263a39d7ce91066525ce7723e..058affba8f5e074434b5ead7d8019ff289bdb075 100644 --- a/pima/routes/web.php +++ b/pima/routes/web.php @@ -26,8 +26,8 @@ Route::post('formulaire', ['as' => 'formulaire', 'uses' => 'FormulaireController Route::get('formulaire2', [ 'as' => 'formulaire2', 'uses' => 'Formulaire2Controller@create']); Route::post('formulaire2', ['as' => 'formulaire2', 'uses' => 'Formulaire2Controller@store']); -Route::get('profil/{user}', [ 'as' => 'profil', 'uses' => 'ProfilController@create']); -Route::post('profil/{user}', ['as' => 'profil', 'uses' => 'ProfilController@store']); +Route::get('profil/{user}/{done}', [ 'as' => 'profil', 'uses' => 'ProfilController@create']); +Route::post('profil/{user}/{done}', ['as' => 'profil', 'uses' => 'ProfilController@store']); Route::get('ajout_objet/{userid}', [ 'as' => 'ajout_objet', 'uses' => 'AjoutObjetController@create']); Route::post('ajout_objet/{userid}', ['as' => 'ajout_objet', 'uses' => 'AjoutObjetController@store']); @@ -36,3 +36,5 @@ Route::post('ajout_objet/{userid}', ['as' => 'ajout_objet', 'uses' => 'AjoutObje Route::get('profil/{user}', [ 'as' => 'profil', 'uses' => 'ProfilController@create'])->middleware('auth'); Route::post('profil/{user}', ['as' => 'profil', 'uses' => 'ProfilController@store'])->middleware('auth'); */ +Route::get('accueil', [ 'as' => 'accueil', 'uses' => 'AccueilController@create']); +Route::post('accueil', ['as' => 'accueil', 'uses' => 'AccueilController@store']);