diff --git a/app/Http/Controllers/PublicController.php b/app/Http/Controllers/PublicController.php new file mode 100644 index 0000000..9919619 --- /dev/null +++ b/app/Http/Controllers/PublicController.php @@ -0,0 +1,14 @@ +firstOrFail(); + return view('public.view', ['home' => $home]); + } +} diff --git a/app/Parser/Pap.php b/app/Parser/Pap.php index 243e178..53e3bd0 100644 --- a/app/Parser/Pap.php +++ b/app/Parser/Pap.php @@ -30,7 +30,8 @@ class Pap extends Parser $parsedHome = new ParsedHome(); $parsedHome->city = $annonce['_embedded']['place'][0]['title']; //ex: Vente maison 110 m² Tréguier (22220) - $parsedHome->title = sprintf('%s %s %s m² %s', + $parsedHome->title = sprintf( + '%s %s %s m² %s', ucfirst($annonce['produit']), $annonce['typebien'], $annonce['surface'], @@ -43,7 +44,7 @@ class Pap extends Parser $parsedHome->description = $annonce['texte']; $parsedHome->pictures = collect( $annonce['_embedded']['photo'] - )->map(static function($photo) { + )->map(static function ($photo) { return $photo['_links']['self']['href']; }); $location = $annonce['marker']; @@ -53,7 +54,7 @@ class Pap extends Parser return $parsedHome; } - function getIdAnnonceFromUrl($url) + private function getIdAnnonceFromUrl($url) { //ex: https://www.pap.fr/annonces/maison-treguier-22220-r432301732 return substr(collect(explode('-', collect(array_filter(explode('/', $url)))->last()))->last(), 1); diff --git a/database/migrations/2020_07_24_102725_update_homes_with_public_uuid.php b/database/migrations/2020_07_24_102725_update_homes_with_public_uuid.php new file mode 100644 index 0000000..3dfdfc9 --- /dev/null +++ b/database/migrations/2020_07_24_102725_update_homes_with_public_uuid.php @@ -0,0 +1,32 @@ +string('slug')->nullable()->comment('Uuid for public link'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('homes', static function (Blueprint $table) { + $table->dropColumn('slug'); + }); + } +} diff --git a/resources/views/homes/add.blade.php b/resources/views/homes/add.blade.php index 73ea5b0..3d1fa80 100644 --- a/resources/views/homes/add.blade.php +++ b/resources/views/homes/add.blade.php @@ -96,6 +96,16 @@ +
+
+ + +
+
+ + +
+
diff --git a/resources/views/homes/update.blade.php b/resources/views/homes/update.blade.php index 8995863..b9be968 100644 --- a/resources/views/homes/update.blade.php +++ b/resources/views/homes/update.blade.php @@ -99,6 +99,16 @@ +
+
+ slug)) checked @endif> + +
+
+ slug)) checked @endif value="@if(!empty($home->slug)) {{ $home->slug }} @else {{ \Illuminate\Support\Str::uuid() }} @endif"> + +
+
diff --git a/resources/views/homes/view.blade.php b/resources/views/homes/view.blade.php index e9e3a2b..006b0a0 100644 --- a/resources/views/homes/view.blade.php +++ b/resources/views/homes/view.blade.php @@ -67,7 +67,8 @@
GES : {{ $home->ges ?? '−' }}
-
Mettre à jour
+ @if(!empty($home->slug))
Lien public
@endif +
Mettre à jour
Voir l'origine →
diff --git a/resources/views/public/view.blade.php b/resources/views/public/view.blade.php new file mode 100644 index 0000000..7e55720 --- /dev/null +++ b/resources/views/public/view.blade.php @@ -0,0 +1,72 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+ + +
+ +
+
+ +
+
+ @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 ?? '−' }}
+
+ +
+
+
+
+
+@endsection diff --git a/routes/web.php b/routes/web.php index e68c148..d446894 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,5 +1,6 @@ name('public.view'); + Route::group(['middleware' => ['auth']], static function () { Route::get('/home', 'HomeController@index')->name('home');