Skip to content
Snippets Groups Projects
Commit d900470e authored by Chloé JACOB's avatar Chloé JACOB :alien:
Browse files

quelques modifications

parent 4b46e37f
No related merge requests found
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Requests\PieceRequest;
use App\Models\Piece;
use Illuminate\Http\Request;
class PieceController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('piece.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(PieceRequest $request)
{
$data = $request->validated();
$piece = new Piece();
$piece->fill($data);
$piece->nationality()->associate($data['nationality']);
$piece->user()->associate($data['user']);
$piece->save();
return redirect()->route('piece.show', $piece);
}
/**
* Display the specified resource.
*
* @param \App\Models\Piece $piece
* @return \Illuminate\Http\Response
*/
public function show(Piece $piece)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Models\Piece $piece
* @return \Illuminate\Http\Response
*/
public function edit(Piece $piece)
{
return view('piece.edit', ['piece' => $piece]);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Piece $piece
* @return \Illuminate\Http\Response
*/
public function update(PieceRequest $request, Piece $piece)
{
$data = $request->validated();
$piece->fill($data);
$piece->nationality()->associate($data['nationality']);
$piece->save();
return redirect()->route('piece.show', ['piece' => $piece]);
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Piece $piece
* @return \Illuminate\Http\Response
*/
public function destroy(Piece $piece)
{
$piece->delete();
return redirect()->route('piece.index');
}
}
...@@ -46,7 +46,7 @@ public function store(Request $request) ...@@ -46,7 +46,7 @@ public function store(Request $request)
*/ */
public function show(Nationality $nationality) public function show(Nationality $nationality)
{ {
// return view('nationality.show', ['nationality' => $nationality]);
} }
/** /**
......
...@@ -25,7 +25,7 @@ public function index() ...@@ -25,7 +25,7 @@ public function index()
*/ */
public function create() public function create()
{ {
return view('piece.create'); //
} }
/** /**
...@@ -36,13 +36,7 @@ public function create() ...@@ -36,13 +36,7 @@ public function create()
*/ */
public function store(PieceRequest $request) public function store(PieceRequest $request)
{ {
$data = $request->validated(); //
$piece = new Piece();
$piece->fill($data);
$piece->nationality()->associate($data['nationality']);
$piece->user()->associate($data['user']);
$piece->save();
return redirect()->route('piece.show', $piece);
} }
/** /**
...@@ -64,7 +58,7 @@ public function show(Piece $piece) ...@@ -64,7 +58,7 @@ public function show(Piece $piece)
*/ */
public function edit(Piece $piece) public function edit(Piece $piece)
{ {
return view('piece.edit', ['piece' => $piece]); //
} }
/** /**
...@@ -76,11 +70,7 @@ public function edit(Piece $piece) ...@@ -76,11 +70,7 @@ public function edit(Piece $piece)
*/ */
public function update(PieceRequest $request, Piece $piece) public function update(PieceRequest $request, Piece $piece)
{ {
$data = $request->validated(); //
$piece->fill($data);
$piece->nationality()->associate($data['nationality']);
$piece->save();
return redirect()->route('piece.show', ['piece' => $piece]);
} }
/** /**
...@@ -91,7 +81,6 @@ public function update(PieceRequest $request, Piece $piece) ...@@ -91,7 +81,6 @@ public function update(PieceRequest $request, Piece $piece)
*/ */
public function destroy(Piece $piece) public function destroy(Piece $piece)
{ {
$piece->delete(); //
return redirect()->route('piece.index');
} }
} }
...@@ -8,4 +8,10 @@ ...@@ -8,4 +8,10 @@
class Nationality extends Model class Nationality extends Model
{ {
use HasFactory; use HasFactory;
protected $fillable = ['name'];
public function piece() {
return $this->hasMany(Piece::class);
}
} }
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="flex justify-around"> <div class="flex justify-around">
@foreach ($nationalities as $nationality) @foreach ($nationalities as $nationality)
<div class="border-2 border-red-900 flex flex-col"> <div class="border-2 border-red-900 flex flex-col">
<h3 class="text-center">{{ $nationality->name }}</h3> <a href="{{ route('nationality.show', ['nationality' => $nationality]) }}"><h3 class="text-center">{{ $nationality->name }}</h3></a>
</div> </div>
@endforeach @endforeach
</div> </div>
......
<div class="py-2"> <div class="py-2">
<h1 class="text-2xl font-bold text-center">LISTE DE TOUTES LES PIECES :</h1> <h1 class="text-2xl font-bold text-center">LISTE DE TOUTES LES PIECES :</h1>
{{-- <p>{{ dump($pieces) }}</p> --}}
<div class="flex justify-around"> <div class="flex justify-around">
@foreach ($pieces as $piece) @foreach ($pieces as $piece)
<div class="border-2 border-red-900 flex flex-col p-2"> <div class="border-2 border-red-900 flex flex-col p-2">
<h3 class="text-center">{{ $piece->name }}</h3> <h3 class="text-center">{{ $piece->name }}</h3>
<p><b>Description : </b>{{ $piece->description }}</p> <p><b>Description : </b>{{ $piece->description }}</p>
<p><b>Prix : </b>{{ $piece->prix }} €</p> <p><b>Prix : </b>{{ $piece->prix }} €</p>
<p><b>Nationalité : </b>{{ $piece->nationality->name ?? '' }}</p> @if(isset($piece->nationality))
<!--pcq toutes les nationalités dont pas rempli, sinon mettre un if--> <p><b>Nationalité : </b>{{ $piece->nationality->name }}</p>
<button class="border-2 border-green-500"><a href="{{ route('piece.show', ['piece' => $piece]) }}">EN SAVOIR @endif
PLUS</a></button> <button class="border-2 border-green-500"><a href="{{ route('piece.show', ['piece' => $piece]) }}">EN SAVOIR PLUS</a></button>
</div> </div>
@endforeach @endforeach
</div> </div>
......
@auth
<x-app-layout>
<div class="flex justify-center">
<div class="w-2/5">
<div class="border-2 border-red-900 flex flex-col">
<h2 class="text-center">NOM : {{ $nationality->name }}</h2>
<div>
<p>Une pèce peut avoir 1 et un seul pays</p>
<p>ATTENTION PROBLEME QQP</p>
{{-- @if ($nationality->pieces)
<ul>
@foreach ($nationality->pieces as $piece)
<li>{{ $piece->name }}</li>
@endforeach
</ul>
@endif --}}
</div>
</div>
</div>
</div>
</x-app-layout>
@endauth
@guest
<x-guest-layout>
<div class="flex justify-center">
<div class="w-2/5">
<div class="border-2 border-red-900 flex flex-col">
<h2 class="text-center">{{ $nationality->name }}</h2>
</div>
</div>
</div>
</x-guest-layout>
@endguest
<?php <?php
use App\Http\Controllers\PieceController; use App\Http\Controllers\PieceController;
use App\Http\Controllers\Admin\PieceController as AdminPieceController;
use App\Http\Controllers\NationalityController;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
/* /*
...@@ -27,6 +29,11 @@ ...@@ -27,6 +29,11 @@
Route::put('/piece/{piece}', [PieceController::class, 'update'])->name('piece.update'); Route::put('/piece/{piece}', [PieceController::class, 'update'])->name('piece.update');
Route::delete('/piece/{piece}', [PieceController::class, 'destroy'])->name('piece.destroy'); Route::delete('/piece/{piece}', [PieceController::class, 'destroy'])->name('piece.destroy');
Route::get('/nationality/{nationality}', [NationalityController::class, 'show'])->name('nationality.show');
// CONNECTED // CONNECTED
Route::middleware([ Route::middleware([
'auth:sanctum', 'auth:sanctum',
...@@ -37,3 +44,9 @@ ...@@ -37,3 +44,9 @@
return view('dashboard'); return view('dashboard');
})->name('dashboard'); })->name('dashboard');
}); });
Route::group(['as' => 'admin.', 'prefix'=>'admin/'], function () {
Route::resource('piece', AdminPieceController::class);
// Route::resource('nationality', AdminNationalityController::class);
// Route::resource('user', AdminUserController::class);
});
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment