diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 2b4e563..eba90d0 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -29,6 +29,11 @@ class HomeController extends Controller return view('homes.add'); } + public function update($id, Request $request) + { + return view('homes.update', ['home' => Home::where('id', $id)->firstOrFail()]); + } + public function store(Request $request) { $inputs = $request->all(); @@ -45,6 +50,21 @@ class HomeController extends Controller return redirect(route('home')); } + public function storeupdate($id, Request $request) + { + $home = Home::where('id', $id)->firstOrFail(); + $inputs = $request->all(); + foreach ($inputs as $input_name => $input_value) { + if ($input_name === '_token') { + continue; + } + $home->$input_name = $input_value; + } + + $home->save(); + + return redirect(route('home')); + } /** * @param \Illuminate\Http\Request $request * diff --git a/database/migrations/2020_07_23_125915_update_homes_with_comment.php b/database/migrations/2020_07_23_125915_update_homes_with_comment.php new file mode 100644 index 0000000..69d3603 --- /dev/null +++ b/database/migrations/2020_07_23_125915_update_homes_with_comment.php @@ -0,0 +1,32 @@ +text('comment')->nullable()->comment('User comment'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('homes', static function (Blueprint $table) { + $table->dropColumn('comment'); + }); + } +} diff --git a/resources/views/homes/add.blade.php b/resources/views/homes/add.blade.php index 188c3b2..73ea5b0 100644 --- a/resources/views/homes/add.blade.php +++ b/resources/views/homes/add.blade.php @@ -30,7 +30,11 @@
- + +
+
+ +
diff --git a/resources/views/homes/home.blade.php b/resources/views/homes/home.blade.php index 24a39f7..b228845 100644 --- a/resources/views/homes/home.blade.php +++ b/resources/views/homes/home.blade.php @@ -19,7 +19,7 @@ @foreach($homes as $home)
- +
{{ $home->title }}

{{ $home->excerpt() }}

diff --git a/resources/views/homes/update.blade.php b/resources/views/homes/update.blade.php new file mode 100644 index 0000000..8995863 --- /dev/null +++ b/resources/views/homes/update.blade.php @@ -0,0 +1,112 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ $home->title }}
+ +
+ @if (session('status')) + + @endif +
+ @csrf +
+
+ + +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+ + +
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/resources/views/homes/view.blade.php b/resources/views/homes/view.blade.php index 35f8900..e9e3a2b 100644 --- a/resources/views/homes/view.blade.php +++ b/resources/views/homes/view.blade.php @@ -25,7 +25,7 @@ @@ -40,26 +40,35 @@
-
-
- {{ $home->description }} + @if(!empty($home->comment)) +
+
Mon commentaire
+
+ {!! nl2br($home->comment) !!}
-
+ @endif +
+
+ {!! nl2br($home->description) !!} +
+
+

Informations :

Ville : {{ $home->city }}
Prix : {{ $home->price }}
Surface : {{ $home->surface }} m²
Nombre de pièces : {{ $home->rooms }}
-
+

Informations complémentaires :

Surface de jardin : {{ $home->garden_surface ?? '−' }}
Énergie : {{ $home->energy ?? '−' }}
GES : {{ $home->ges ?? '−' }}
diff --git a/routes/web.php b/routes/web.php index c832e47..e68c148 100644 --- a/routes/web.php +++ b/routes/web.php @@ -27,5 +27,7 @@ Route::group(['middleware' => ['auth']], static function () { Route::get('/home/add', 'HomeController@add')->name('home.add'); Route::post('/home/add', 'HomeController@store')->name('home.store'); Route::get('/home/{id}', 'HomeController@show')->name('home.show'); + Route::get('/home/update/{id}', 'HomeController@update')->name('home.update'); + Route::post('/home/update/{id}', 'HomeController@storeupdate')->name('home.store.update'); Route::post('/ajax/fetch', 'HomeController@fetch')->name('ajax.fetch'); });