From e5c6805c2905e4d6b325956b44cd207f0c121b3a Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Sun, 4 Feb 2024 09:50:19 +0100 Subject: [PATCH 01/35] Setup places model/controller/migration --- src/app/Http/Controllers/PlacesController.php | 44 +++++++++++++++++ src/app/Models/Places.php | 48 +++++++++++++++++++ .../2024_02_04_083757_create_places_table.php | 36 ++++++++++++++ src/resources/views/places/index.blade.php | 0 src/routes/web.php | 3 ++ 5 files changed, 131 insertions(+) create mode 100644 src/app/Http/Controllers/PlacesController.php create mode 100644 src/app/Models/Places.php create mode 100644 src/database/migrations/2024_02_04_083757_create_places_table.php create mode 100644 src/resources/views/places/index.blade.php diff --git a/src/app/Http/Controllers/PlacesController.php b/src/app/Http/Controllers/PlacesController.php new file mode 100644 index 000000000..c82a7ea21 --- /dev/null +++ b/src/app/Http/Controllers/PlacesController.php @@ -0,0 +1,44 @@ +uuid("id")->primary(); + $table->string('name'); + $table->double('lat', 10, 6); + $table->double('lon', 10, 6); + $table->text('description'); + $table->timestamps(); + $table->softDeletes(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('places'); + } +}; diff --git a/src/resources/views/places/index.blade.php b/src/resources/views/places/index.blade.php new file mode 100644 index 000000000..e69de29bb diff --git a/src/routes/web.php b/src/routes/web.php index 8811e5621..e47c6ff1b 100644 --- a/src/routes/web.php +++ b/src/routes/web.php @@ -9,6 +9,7 @@ use App\Http\Controllers\ListControlController; use App\Http\Controllers\ManageUsersController; use App\Http\Controllers\PermissionController; +use App\Http\Controllers\PlacesController; use App\Http\Controllers\RefugeeController; use App\Http\Controllers\RoleController; use App\Http\Controllers\SourceController; @@ -212,3 +213,5 @@ function () { EventController::class)->middleware('auth'); Route::resource("source", SourceController::class)->middleware('auth'); +Route::resource("places", + PlacesController::class)->middleware('auth'); From d1b796d91fe10f63c5997d033509c53446baae0a Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Wed, 14 Feb 2024 14:51:21 +0100 Subject: [PATCH 02/35] add policies --- src/app/Policies/PlacesPolicy.php | 15 +++++++++++++++ src/database/migrations/jsonDataset/roles.json | 11 ++++++++++- src/resources/lang/en/navigation-menu.php | 1 + src/resources/views/navigation-menu.blade.php | 8 ++++++++ 4 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 src/app/Policies/PlacesPolicy.php diff --git a/src/app/Policies/PlacesPolicy.php b/src/app/Policies/PlacesPolicy.php new file mode 100644 index 000000000..b041ce70a --- /dev/null +++ b/src/app/Policies/PlacesPolicy.php @@ -0,0 +1,15 @@ + 'Switch Teams', 'manage_list' => 'Manage List', 'api_tokens' => 'Api Tokens', + 'places' => 'Places', ]; diff --git a/src/resources/views/navigation-menu.blade.php b/src/resources/views/navigation-menu.blade.php index 5ae34800c..121eb7fbe 100644 --- a/src/resources/views/navigation-menu.blade.php +++ b/src/resources/views/navigation-menu.blade.php @@ -35,6 +35,14 @@ @endcan + @can('viewMenu', \App\Models\Places::class) + + @endcan @can('viewMenu', \App\Models\Source::class) - - +
+
+
+
+ @map([ + 'lat' => $place->lat, + 'lng' => $place->lon, + 'zoom' => 10, + 'markers' => [ + ['lat' => $place->lat, 'lng' => $place->lon], + ] + ]) + @mapscripts +
+
+
+
From 9a87802662015a099b2407ba1e59d3af357dfb30 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Tue, 27 Feb 2024 14:47:32 +0100 Subject: [PATCH 07/35] Delete .idea/website.iml --- .idea/website.iml | 150 ---------------------------------------------- 1 file changed, 150 deletions(-) delete mode 100644 .idea/website.iml diff --git a/.idea/website.iml b/.idea/website.iml deleted file mode 100644 index c6f9f256b..000000000 --- a/.idea/website.iml +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 53af92f83196175ecd23a27c54987f8de03e2217 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Tue, 27 Feb 2024 14:57:26 +0100 Subject: [PATCH 08/35] Use a request instead of a Validator --- src/app/Http/Controllers/PlacesController.php | 29 ++++++------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/src/app/Http/Controllers/PlacesController.php b/src/app/Http/Controllers/PlacesController.php index a201c8397..f05f055fd 100644 --- a/src/app/Http/Controllers/PlacesController.php +++ b/src/app/Http/Controllers/PlacesController.php @@ -37,17 +37,11 @@ public function store(Request $request) 'lon' => 'required|numeric', 'description' => 'required|string', ]; - $validator = Validator::make($request->all(), $rules); - if ($validator->fails()) { - return redirect('places/create') - ->withErrors($validator) - ->withInput(); - } $place = new Places(); - $place->name = $request->input('name'); - $place->lat = $request->input('lat'); - $place->lon = $request->input('lon'); - $place->description = $request->input('description'); + $validated = $request->validate($rules); + foreach ($rules as $key => $value) { + $place->$key = $validated[$key]; + } $place->save(); return redirect('places')->with([ @@ -79,17 +73,12 @@ public function update(Request $request, $id) 'lon' => 'required|numeric', 'description' => 'required|string', ]; - $validator = Validator::make($request->all(), $rules); - if ($validator->fails()) { - return redirect('places/' . $id . '/edit') - ->withErrors($validator) - ->withInput(); - } + + $validated = $request->validate($rules); $place = Places::find($id); - $place->name = $request->input('name'); - $place->lat = $request->input('lat'); - $place->lon = $request->input('lon'); - $place->description = $request->input('description'); + foreach ($rules as $key => $value) { + $place->$key = $validated[$key]; + } $place->save(); return redirect('places')->with([ From 8ba3d5121480e20793bfba483dd39ef312d303ad Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Tue, 27 Feb 2024 15:10:46 +0100 Subject: [PATCH 09/35] Naming convention --- ...acesController.php => PlaceController.php} | 43 +++++++---------- src/app/Models/{Places.php => Place.php} | 2 +- .../{PlacesPolicy.php => PlacePolicy.php} | 2 +- ... 2024_02_04_083757_create_place_table.php} | 4 +- src/resources/lang/en/navigation-menu.php | 2 +- .../lang/en/{places => place}/index.php | 2 +- src/resources/views/navigation-menu.blade.php | 47 ++++++++++++------- .../views/{places => place}/create.blade.php | 21 +++++---- .../views/{places => place}/edit.blade.php | 21 +++++---- .../views/{places => place}/index.blade.php | 19 ++++---- .../views/{places => place}/show.blade.php | 9 ++-- src/routes/web.php | 6 +-- 12 files changed, 98 insertions(+), 80 deletions(-) rename src/app/Http/Controllers/{PlacesController.php => PlaceController.php} (63%) rename src/app/Models/{Places.php => Place.php} (97%) rename src/app/Policies/{PlacesPolicy.php => PlacePolicy.php} (85%) rename src/database/migrations/{2024_02_04_083757_create_places_table.php => 2024_02_04_083757_create_place_table.php} (86%) rename src/resources/lang/en/{places => place}/index.php (92%) rename src/resources/views/{places => place}/create.blade.php (81%) rename src/resources/views/{places => place}/edit.blade.php (79%) rename src/resources/views/{places => place}/index.blade.php (82%) rename src/resources/views/{places => place}/show.blade.php (85%) diff --git a/src/app/Http/Controllers/PlacesController.php b/src/app/Http/Controllers/PlaceController.php similarity index 63% rename from src/app/Http/Controllers/PlacesController.php rename to src/app/Http/Controllers/PlaceController.php index f05f055fd..7914a0478 100644 --- a/src/app/Http/Controllers/PlacesController.php +++ b/src/app/Http/Controllers/PlaceController.php @@ -2,30 +2,24 @@ namespace App\Http\Controllers; -use App\Models\Places; +use App\Models\Place; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; -class PlacesController extends Controller +class PlaceController extends Controller { public function index() { - //get all places - $places = Places::all(); + //get all place + $places = Place::all(); - //load the view and pass the places - return view('places.index', ['places' => $places]); + //load the view and pass the place + return view('place.index', ['places' => $places]); } public function create() { - $fields = [ - 'name' => 'Name', - 'lat' => 'Latitude', - 'lon' => 'Longitude', - 'description' => 'Description', - ]; - return view('places.create'); + return view('place.create'); } public function store(Request $request) @@ -37,31 +31,28 @@ public function store(Request $request) 'lon' => 'required|numeric', 'description' => 'required|string', ]; - $place = new Places(); + $place = new Place(); $validated = $request->validate($rules); foreach ($rules as $key => $value) { $place->$key = $validated[$key]; } $place->save(); - return redirect('places')->with([ + return redirect('place')->with([ 'message', 'Place created successfully!', 'status', 'success' ]); } - public function show($id) + public function show(Place $place) { // Your show logic here - $place = Places::find($id); - return view('places.show', ['place' => $place]); + return view('place.show', ['place' => $place]); } - public function edit($id) + public function edit(Place $place) { - // Your edit logic here - $place = Places::find($id); - return view('places.edit', ['place' => $place]); + return view('place.edit', ['place' => $place]); } public function update(Request $request, $id) @@ -75,13 +66,13 @@ public function update(Request $request, $id) ]; $validated = $request->validate($rules); - $place = Places::find($id); + $place = Place::find($id); foreach ($rules as $key => $value) { $place->$key = $validated[$key]; } $place->save(); - return redirect('places')->with([ + return redirect('place')->with([ 'message', 'Place updated successfully!', 'status', 'success' ]); @@ -90,10 +81,10 @@ public function update(Request $request, $id) public function destroy($id) { // Your destroy logic here - $place = Places::find($id); + $place = Place::find($id); $place->delete(); - return redirect('places')->with([ + return redirect('place')->with([ 'message', 'Place deleted successfully!', 'status', 'success' ]); diff --git a/src/app/Models/Places.php b/src/app/Models/Place.php similarity index 97% rename from src/app/Models/Places.php rename to src/app/Models/Place.php index 12f5c8666..75f5220e9 100644 --- a/src/app/Models/Places.php +++ b/src/app/Models/Place.php @@ -7,7 +7,7 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; -class Places extends Model +class Place extends Model { use HasFactory, Uuids, SoftDeletes; diff --git a/src/app/Policies/PlacesPolicy.php b/src/app/Policies/PlacePolicy.php similarity index 85% rename from src/app/Policies/PlacesPolicy.php rename to src/app/Policies/PlacePolicy.php index b041ce70a..0eb6b0064 100644 --- a/src/app/Policies/PlacesPolicy.php +++ b/src/app/Policies/PlacePolicy.php @@ -4,7 +4,7 @@ use Illuminate\Auth\Access\HandlesAuthorization; -class PlacesPolicy extends GlobalPolicy +class PlacePolicy extends GlobalPolicy { use HandlesAuthorization; diff --git a/src/database/migrations/2024_02_04_083757_create_places_table.php b/src/database/migrations/2024_02_04_083757_create_place_table.php similarity index 86% rename from src/database/migrations/2024_02_04_083757_create_places_table.php rename to src/database/migrations/2024_02_04_083757_create_place_table.php index 3642555c9..8821ead26 100644 --- a/src/database/migrations/2024_02_04_083757_create_places_table.php +++ b/src/database/migrations/2024_02_04_083757_create_place_table.php @@ -13,7 +13,7 @@ */ public function up() { - Schema::create('places', function (Blueprint $table) { + Schema::create('place', function (Blueprint $table) { $table->uuid("id")->primary(); $table->string('name'); $table->double('lat', 10, 6); @@ -31,6 +31,6 @@ public function up() */ public function down() { - Schema::dropIfExists('places'); + Schema::dropIfExists('place'); } }; diff --git a/src/resources/lang/en/navigation-menu.php b/src/resources/lang/en/navigation-menu.php index 2c56893a1..5215c9d40 100644 --- a/src/resources/lang/en/navigation-menu.php +++ b/src/resources/lang/en/navigation-menu.php @@ -26,5 +26,5 @@ 'switch_teams' => 'Switch Teams', 'manage_list' => 'Manage List', 'api_tokens' => 'Api Tokens', - 'places' => 'Places', + 'place' => 'Place', ]; diff --git a/src/resources/lang/en/places/index.php b/src/resources/lang/en/place/index.php similarity index 92% rename from src/resources/lang/en/places/index.php rename to src/resources/lang/en/place/index.php index 63af303fb..a405b9fc2 100644 --- a/src/resources/lang/en/places/index.php +++ b/src/resources/lang/en/place/index.php @@ -2,7 +2,7 @@ return [ 'view_items' => 'View Items', - 'places' => 'Places', + 'place' => 'Place', 'no_best_descriptive_field' => 'No field has been set as the best descriptive field. Please ask an admin to set one in the fields management panel.', 'add_item' => 'Add Place', 'import_items' => 'Import Items', diff --git a/src/resources/views/navigation-menu.blade.php b/src/resources/views/navigation-menu.blade.php index 121eb7fbe..253caaebf 100644 --- a/src/resources/views/navigation-menu.blade.php +++ b/src/resources/views/navigation-menu.blade.php @@ -35,11 +35,11 @@ @endcan - @can('viewMenu', \App\Models\Places::class) + @can('viewMenu', \App\Models\Place::class) @endcan @@ -115,7 +115,7 @@ class="inline-flex items-center text-sm leading-4 font-medium rounded-md text-gr @@ -177,11 +177,15 @@ class="inline-flex items-center text-sm leading-4 font-medium rounded-md text-gr - @@ -195,7 +199,8 @@ class="inline-flex items-center text-sm leading-4 font-medium rounded-md text-gr /* - + {{ __('navigation-menu.team_settings') }} @@ -213,7 +218,7 @@ class="inline-flex items-center text-sm leading-4 font-medium rounded-md text-gr @foreach (Auth::user()->allTeams() as $team) - + @endforeach @@ -227,15 +232,20 @@ class="inline-flex items-center text-sm leading-4 font-medium rounded-md text-gr @if (Laravel\Jetstream\Jetstream::managesProfilePhotos()) @else - @@ -265,7 +275,7 @@ class="inline-flex items-center text-sm leading-4 font-medium rounded-md text-gr @csrf {{ __('navigation-menu.log_out') }} @@ -277,9 +287,12 @@ class="inline-flex items-center text-sm leading-4 font-medium rounded-md text-gr
- @@ -64,7 +67,7 @@ class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded"> diff --git a/src/resources/views/places/show.blade.php b/src/resources/views/place/show.blade.php similarity index 85% rename from src/resources/views/places/show.blade.php rename to src/resources/views/place/show.blade.php index 12881924e..739ae69b0 100644 --- a/src/resources/views/places/show.blade.php +++ b/src/resources/views/place/show.blade.php @@ -1,16 +1,16 @@ -@php use App\Models\Places @endphp +@php use App\Models\Place @endphp

- {{ __('places/index.places') }} + {{ __('place/index.place') }}

- Back @@ -31,7 +31,8 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded">
-
+
@map([ 'lat' => $place->lat, 'lng' => $place->lon, diff --git a/src/routes/web.php b/src/routes/web.php index e47c6ff1b..aeb265f46 100644 --- a/src/routes/web.php +++ b/src/routes/web.php @@ -9,7 +9,7 @@ use App\Http\Controllers\ListControlController; use App\Http\Controllers\ManageUsersController; use App\Http\Controllers\PermissionController; -use App\Http\Controllers\PlacesController; +use App\Http\Controllers\PlaceController; use App\Http\Controllers\RefugeeController; use App\Http\Controllers\RoleController; use App\Http\Controllers\SourceController; @@ -213,5 +213,5 @@ function () { EventController::class)->middleware('auth'); Route::resource("source", SourceController::class)->middleware('auth'); -Route::resource("places", - PlacesController::class)->middleware('auth'); +Route::resource("place", + PlaceController::class)->middleware('auth'); From b77fce54b106a5247a9e4cae356ee1c328f727b9 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Tue, 27 Feb 2024 16:09:12 +0100 Subject: [PATCH 10/35] Naming convention and permission --- src/app/Models/Permission.php | 2 +- src/database/migrations/jsonDataset/roles.json | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/app/Models/Permission.php b/src/app/Models/Permission.php index cedce59db..edb6b5a3a 100644 --- a/src/app/Models/Permission.php +++ b/src/app/Models/Permission.php @@ -76,7 +76,7 @@ public static function getPolicyRouteNameFromRouteName($route_name) public static function getRoutesWithPermission() { - $routes_with_permissions = ["user", "person", "links", "cytoscape", "fields", "lists_control", "duplicate", "api_logs", "crew", "roles", "event", "source"]; + $routes_with_permissions = ["user", "person", "links", "cytoscape", "fields", "lists_control", "duplicate", "api_logs", "crew", "roles", "event", "source", "place"]; if (env('APP_DEBUG')) { array_push($routes_with_permissions, "permissions"); } diff --git a/src/database/migrations/jsonDataset/roles.json b/src/database/migrations/jsonDataset/roles.json index 21f0cefb7..2f891f4ab 100755 --- a/src/database/migrations/jsonDataset/roles.json +++ b/src/database/migrations/jsonDataset/roles.json @@ -49,13 +49,13 @@ "event.edit", "event.update", "event.destroy", - "places.index", - "places.show", - "places.create", - "places.store", - "places.edit", - "places.update", - "places.destroy" + "place.index", + "place.show", + "place.create", + "place.store", + "place.edit", + "place.update", + "place.destroy" ] }, { @@ -70,8 +70,8 @@ "links.show", "event.index", "event.show", - "places.index", - "places.show", + "place.index", + "place.show", "user.change_language" ] }, From 930a1e2bba42cb214b610e145efe4f469c3e56f4 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Tue, 27 Feb 2024 16:09:22 +0100 Subject: [PATCH 11/35] use object instead of IDs --- src/app/Http/Controllers/PlaceController.php | 46 +++++--------------- src/app/Http/Requests/StorePlaceRequest.php | 33 ++++++++++++++ src/app/Http/Requests/UpdatePlaceRequest.php | 33 ++++++++++++++ src/resources/views/place/edit.blade.php | 3 +- src/resources/views/place/index.blade.php | 18 ++++---- 5 files changed, 87 insertions(+), 46 deletions(-) create mode 100644 src/app/Http/Requests/StorePlaceRequest.php create mode 100644 src/app/Http/Requests/UpdatePlaceRequest.php diff --git a/src/app/Http/Controllers/PlaceController.php b/src/app/Http/Controllers/PlaceController.php index 7914a0478..c78efaee1 100644 --- a/src/app/Http/Controllers/PlaceController.php +++ b/src/app/Http/Controllers/PlaceController.php @@ -2,9 +2,9 @@ namespace App\Http\Controllers; +use App\Http\Requests\StorePlaceRequest; +use App\Http\Requests\UpdatePlaceRequest; use App\Models\Place; -use Illuminate\Http\Request; -use Illuminate\Support\Facades\Validator; class PlaceController extends Controller { @@ -22,20 +22,10 @@ public function create() return view('place.create'); } - public function store(Request $request) + public function store(StorePlaceRequest $request) { - // Your store logic here - $rules = [ - 'name' => 'required|string|max:255', - 'lat' => 'required|numeric', - 'lon' => 'required|numeric', - 'description' => 'required|string', - ]; - $place = new Place(); - $validated = $request->validate($rules); - foreach ($rules as $key => $value) { - $place->$key = $validated[$key]; - } + $place = $request->validated(); + $place = Place::create($place); $place->save(); return redirect('place')->with([ @@ -55,33 +45,19 @@ public function edit(Place $place) return view('place.edit', ['place' => $place]); } - public function update(Request $request, $id) + public function update(UpdatePlaceRequest $request, Place $place) { - // Your update logic here - $rules = [ - 'name' => 'required|string|max:255', - 'lat' => 'required|numeric', - 'lon' => 'required|numeric', - 'description' => 'required|string', - ]; + $place->update($request->validated()); - $validated = $request->validate($rules); - $place = Place::find($id); - foreach ($rules as $key => $value) { - $place->$key = $validated[$key]; - } - $place->save(); - - return redirect('place')->with([ - 'message', 'Place updated successfully!', - 'status', 'success' + return redirect()->route('place.index')->with([ + 'message' => 'Place updated successfully!', + 'status' => 'success' ]); } - public function destroy($id) + public function destroy(Place $place) { // Your destroy logic here - $place = Place::find($id); $place->delete(); return redirect('place')->with([ diff --git a/src/app/Http/Requests/StorePlaceRequest.php b/src/app/Http/Requests/StorePlaceRequest.php new file mode 100644 index 000000000..d7a527951 --- /dev/null +++ b/src/app/Http/Requests/StorePlaceRequest.php @@ -0,0 +1,33 @@ + + */ + public function rules() + { + return [ + 'name' => 'required|string|max:255', + 'lat' => 'required|numeric', + 'lon' => 'required|numeric', + 'description' => 'required|string', + ]; + } +} diff --git a/src/app/Http/Requests/UpdatePlaceRequest.php b/src/app/Http/Requests/UpdatePlaceRequest.php new file mode 100644 index 000000000..2e5a14463 --- /dev/null +++ b/src/app/Http/Requests/UpdatePlaceRequest.php @@ -0,0 +1,33 @@ + + */ + public function rules() + { + return [ + 'name' => 'required|string|max:255', + 'lat' => 'required|numeric', + 'lon' => 'required|numeric', + 'description' => 'required|string', + ]; + } +} diff --git a/src/resources/views/place/edit.blade.php b/src/resources/views/place/edit.blade.php index 0bde33675..106204fd8 100644 --- a/src/resources/views/place/edit.blade.php +++ b/src/resources/views/place/edit.blade.php @@ -15,8 +15,7 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded">
- + @csrf @method('PUT')
diff --git a/src/resources/views/place/index.blade.php b/src/resources/views/place/index.blade.php index 5fee250c6..116ff657b 100644 --- a/src/resources/views/place/index.blade.php +++ b/src/resources/views/place/index.blade.php @@ -30,24 +30,24 @@ class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded"> - @foreach($places as $key => $value) + @foreach($places as $key => $place) - {{ $value->id }} - {{ $value->name }} - {{ $value->lat }} - {{ $value->lon }} - {{ $value->description }} + {{ $place->id }} + {{ $place->name }} + {{ $place->lat }} + {{ $place->lon }} + {{ $place->description }} Show + href="{{ route('place.show', $place->id) }}">Show Edit + href="{{ route('place.edit', $place->id) }}">Edit - @csrf @method('DELETE') From b5166fe1cea880eab84cc2f6a6052d8f1efa9010 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Tue, 27 Feb 2024 16:32:17 +0100 Subject: [PATCH 12/35] No more static text on index --- src/resources/lang/en/place/index.php | 15 ++++++--- src/resources/views/place/index.blade.php | 37 ++++++++++++++--------- 2 files changed, 34 insertions(+), 18 deletions(-) diff --git a/src/resources/lang/en/place/index.php b/src/resources/lang/en/place/index.php index a405b9fc2..1e8db6e83 100644 --- a/src/resources/lang/en/place/index.php +++ b/src/resources/lang/en/place/index.php @@ -1,10 +1,17 @@ 'View Items', 'place' => 'Place', - 'no_best_descriptive_field' => 'No field has been set as the best descriptive field. Please ask an admin to set one in the fields management panel.', 'add_item' => 'Add Place', - 'import_items' => 'Import Items', - 'items_table_caption' => 'Items', + 'fields' => [ + 'name' => 'Name', + 'description' => 'Description', + 'lat' => 'Latitude', + 'lon' => 'Longitude', + 'actions' => 'Actions', + ], + 'edit' => 'Edit', + 'delete' => 'Delete', + 'show' => 'Show', + 'delete_confirm' => 'Are you sure you want to delete this place?', ]; diff --git a/src/resources/views/place/index.blade.php b/src/resources/views/place/index.blade.php index 116ff657b..35f9e67c9 100644 --- a/src/resources/views/place/index.blade.php +++ b/src/resources/views/place/index.blade.php @@ -21,18 +21,16 @@ class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded"> - - - - - - + + + + + @foreach($places as $key => $place) - @@ -42,16 +40,15 @@ class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded"> @@ -67,7 +64,19 @@ class="delete"> + From 3a5bcf02707fd2def2e595ebd3946a112e42aaf5 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Tue, 27 Feb 2024 16:43:25 +0100 Subject: [PATCH 13/35] use common --- src/resources/lang/en/common.php | 3 ++- src/resources/lang/en/place/index.php | 4 ---- src/resources/views/place/index.blade.php | 8 ++++---- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/resources/lang/en/common.php b/src/resources/lang/en/common.php index 93aad5164..9c2e122bf 100644 --- a/src/resources/lang/en/common.php +++ b/src/resources/lang/en/common.php @@ -6,4 +6,5 @@ 'add' => 'Add', 'save' => 'Save', 'action' => 'Action', -]; \ No newline at end of file + 'show' => 'Show', +]; diff --git a/src/resources/lang/en/place/index.php b/src/resources/lang/en/place/index.php index 1e8db6e83..24f8df044 100644 --- a/src/resources/lang/en/place/index.php +++ b/src/resources/lang/en/place/index.php @@ -2,7 +2,6 @@ return [ 'place' => 'Place', - 'add_item' => 'Add Place', 'fields' => [ 'name' => 'Name', 'description' => 'Description', @@ -10,8 +9,5 @@ 'lon' => 'Longitude', 'actions' => 'Actions', ], - 'edit' => 'Edit', - 'delete' => 'Delete', - 'show' => 'Show', 'delete_confirm' => 'Are you sure you want to delete this place?', ]; diff --git a/src/resources/views/place/index.blade.php b/src/resources/views/place/index.blade.php index 35f9e67c9..f7246c8e5 100644 --- a/src/resources/views/place/index.blade.php +++ b/src/resources/views/place/index.blade.php @@ -11,7 +11,7 @@
@@ -40,15 +40,15 @@ class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded">
From 84b35cab65f27ce4e96f7119a69a052314aba4cb Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Tue, 27 Feb 2024 16:44:49 +0100 Subject: [PATCH 14/35] remove unused code --- src/resources/views/place/index.blade.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/resources/views/place/index.blade.php b/src/resources/views/place/index.blade.php index f7246c8e5..209518e64 100644 --- a/src/resources/views/place/index.blade.php +++ b/src/resources/views/place/index.blade.php @@ -69,7 +69,6 @@ class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded"> deleteForms.forEach(function (form) { form.addEventListener('submit', function (event) { - var deleteBtn = form.querySelector('.delete-btn'); var confirmationMessage = "{{ __('place/index.delete_confirm') }}"; if (!confirm(confirmationMessage)) { From 28a9925ee8d54b80392b810a9031e540d0780d94 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Tue, 27 Feb 2024 16:56:16 +0100 Subject: [PATCH 15/35] remove static text create/edit --- src/resources/lang/en/place/create.php | 17 +++++++++++++++++ src/resources/lang/en/place/edit.php | 17 +++++++++++++++++ src/resources/views/place/create.blade.php | 22 +++++++++++----------- src/resources/views/place/edit.blade.php | 20 ++++++++++---------- 4 files changed, 55 insertions(+), 21 deletions(-) create mode 100644 src/resources/lang/en/place/create.php create mode 100644 src/resources/lang/en/place/edit.php diff --git a/src/resources/lang/en/place/create.php b/src/resources/lang/en/place/create.php new file mode 100644 index 000000000..d25c8d202 --- /dev/null +++ b/src/resources/lang/en/place/create.php @@ -0,0 +1,17 @@ + [ + 'name' => 'Name', + 'description' => 'Description', + 'lat' => 'Latitude', + 'lon' => 'Longitude', + 'actions' => 'Actions', + ], + 'placeholders' => [ + 'name' => 'e.g. Lyon', + 'description' => 'e.g. A french city', + 'lat' => 'e.g. 45.764043', + 'lon' => 'e.g. 4.835659', + ], +]; diff --git a/src/resources/lang/en/place/edit.php b/src/resources/lang/en/place/edit.php new file mode 100644 index 000000000..d25c8d202 --- /dev/null +++ b/src/resources/lang/en/place/edit.php @@ -0,0 +1,17 @@ + [ + 'name' => 'Name', + 'description' => 'Description', + 'lat' => 'Latitude', + 'lon' => 'Longitude', + 'actions' => 'Actions', + ], + 'placeholders' => [ + 'name' => 'e.g. Lyon', + 'description' => 'e.g. A french city', + 'lat' => 'e.g. 45.764043', + 'lon' => 'e.g. 4.835659', + ], +]; diff --git a/src/resources/views/place/create.blade.php b/src/resources/views/place/create.blade.php index 8cc48f939..47b762043 100644 --- a/src/resources/views/place/create.blade.php +++ b/src/resources/views/place/create.blade.php @@ -12,7 +12,7 @@ @@ -20,23 +20,23 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded"> enctype="multipart/form-data"> @csrf
- +
+ placeholder="{{__('place/create.placeholders.name')}}"> @error('name') {{ $message }} - + @enderror
- +
+ name="lat" placeholder="{{__('place/create.placeholders.lat')}}"> @error('lat') {{ $message }} @@ -46,10 +46,10 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded">
- +
+ name="lon" placeholder="{{__('place/create.placeholders.lon')}}"> @error('lon') {{ $message }} @@ -59,10 +59,10 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded">
- +
+ name="description" placeholder="{{__('place/create.placeholders.description')}}"> @error('description') {{ $message }} @@ -74,7 +74,7 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded">
- +
diff --git a/src/resources/views/place/edit.blade.php b/src/resources/views/place/edit.blade.php index 106204fd8..d34d7021c 100644 --- a/src/resources/views/place/edit.blade.php +++ b/src/resources/views/place/edit.blade.php @@ -11,7 +11,7 @@ @@ -19,10 +19,10 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded"> @csrf @method('PUT')
- +
+ placeholder="{{__('place/edit.placeholders.name')}}" value="{{$place->name}}"> @error('name') {{ $message }} @@ -32,10 +32,10 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded">
- +
+ name="lat" placeholder="{{__('place/edit.placeholders.lat')}}" value="{{$place->lat}}"> @error('lat') {{ $message }} @@ -45,10 +45,10 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded">
- +
+ name="lon" placeholder="{{__('place/edit.placeholders.lon')}}" value="{{$place->lon}}"> @error('lon') {{ $message }} @@ -58,10 +58,10 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded">
- +
+ name="description" placeholder="{{__('place/edit.placeholders.description')}}" value="{{$place->description}}"> @error('description') {{ $message }} @@ -73,7 +73,7 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded">
- +
From 3175fbc021ad9445bb3578bc3cfe721643f2c5d5 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Tue, 27 Feb 2024 17:03:42 +0100 Subject: [PATCH 16/35] remove static text show --- src/resources/lang/en/place/show.php | 13 +++++++++++++ src/resources/views/place/show.blade.php | 12 +++++------- 2 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 src/resources/lang/en/place/show.php diff --git a/src/resources/lang/en/place/show.php b/src/resources/lang/en/place/show.php new file mode 100644 index 000000000..24f8df044 --- /dev/null +++ b/src/resources/lang/en/place/show.php @@ -0,0 +1,13 @@ + 'Place', + 'fields' => [ + 'name' => 'Name', + 'description' => 'Description', + 'lat' => 'Latitude', + 'lon' => 'Longitude', + 'actions' => 'Actions', + ], + 'delete_confirm' => 'Are you sure you want to delete this place?', +]; diff --git a/src/resources/views/place/show.blade.php b/src/resources/views/place/show.blade.php index 739ae69b0..9e1b52db1 100644 --- a/src/resources/views/place/show.blade.php +++ b/src/resources/views/place/show.blade.php @@ -12,19 +12,17 @@ -

Showing {{ $place->name }}

+

{{ $place->name }}

- ID: {{ $place->id }}
- Name: {{ $place->name }}
- Latitude: {{ $place->lat }}
- Longitude: {{ $place->lon }}
- Description: {{ $place->description }} + {{__('place/show.fields.lat')}} : {{ $place->lat }}
+ {{__('place/show.fields.lon')}} : {{ $place->lon }}
+ {{__('place/show.fields.description')}} : {{ $place->description }}

From fef3698ecbe30ad58fcce62602bd373a2b36dbe3 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Tue, 27 Feb 2024 17:12:11 +0100 Subject: [PATCH 17/35] add section title --- src/resources/lang/en/place/create.php | 1 + src/resources/lang/en/place/edit.php | 1 + src/resources/lang/en/place/index.php | 1 + src/resources/lang/en/place/show.php | 1 + src/resources/views/place/create.blade.php | 1 + src/resources/views/place/edit.blade.php | 3 ++- src/resources/views/place/index.blade.php | 1 + src/resources/views/place/show.blade.php | 3 ++- 8 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/resources/lang/en/place/create.php b/src/resources/lang/en/place/create.php index d25c8d202..21ecbcf50 100644 --- a/src/resources/lang/en/place/create.php +++ b/src/resources/lang/en/place/create.php @@ -1,6 +1,7 @@ 'Create a place', 'fields' => [ 'name' => 'Name', 'description' => 'Description', diff --git a/src/resources/lang/en/place/edit.php b/src/resources/lang/en/place/edit.php index d25c8d202..2753e3caf 100644 --- a/src/resources/lang/en/place/edit.php +++ b/src/resources/lang/en/place/edit.php @@ -1,6 +1,7 @@ 'Edit :place_name', 'fields' => [ 'name' => 'Name', 'description' => 'Description', diff --git a/src/resources/lang/en/place/index.php b/src/resources/lang/en/place/index.php index 24f8df044..c436e45eb 100644 --- a/src/resources/lang/en/place/index.php +++ b/src/resources/lang/en/place/index.php @@ -1,6 +1,7 @@ 'View all places', 'place' => 'Place', 'fields' => [ 'name' => 'Name', diff --git a/src/resources/lang/en/place/show.php b/src/resources/lang/en/place/show.php index 24f8df044..72fa355e4 100644 --- a/src/resources/lang/en/place/show.php +++ b/src/resources/lang/en/place/show.php @@ -1,6 +1,7 @@ 'View :place_name\'s details', 'place' => 'Place', 'fields' => [ 'name' => 'Name', diff --git a/src/resources/views/place/create.blade.php b/src/resources/views/place/create.blade.php index 47b762043..32869ee53 100644 --- a/src/resources/views/place/create.blade.php +++ b/src/resources/views/place/create.blade.php @@ -1,4 +1,5 @@ @php use App\Models\Place @endphp +@section('title', __('place/create.title')) diff --git a/src/resources/views/place/edit.blade.php b/src/resources/views/place/edit.blade.php index d34d7021c..e2795a3f3 100644 --- a/src/resources/views/place/edit.blade.php +++ b/src/resources/views/place/edit.blade.php @@ -1,9 +1,10 @@ @php use App\Models\Place @endphp +@section('title', __('place/edit.edit_place', ['place_name' => $place->name]))

- {{ __('place/index.place') }} + {{ __('place/edit.edit_place', ['place_name' => $place->name]) }}

diff --git a/src/resources/views/place/index.blade.php b/src/resources/views/place/index.blade.php index 209518e64..b1a3d026e 100644 --- a/src/resources/views/place/index.blade.php +++ b/src/resources/views/place/index.blade.php @@ -1,4 +1,5 @@ @php use App\Models\Place @endphp +@section('title', __('place/index.view_all_places')) diff --git a/src/resources/views/place/show.blade.php b/src/resources/views/place/show.blade.php index 9e1b52db1..2b0d1fd19 100644 --- a/src/resources/views/place/show.blade.php +++ b/src/resources/views/place/show.blade.php @@ -1,9 +1,10 @@ @php use App\Models\Place @endphp +@section('title', __('place/show.view_place_details', ['place_name' => $place->name]))

- {{ __('place/index.place') }} + {{ __('place/show.view_place_details', ['place_name' => $place->name]) }}

From 0a3d6a6c6be1ea4847362ffa3560fb4b0d1ae679 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Wed, 28 Feb 2024 10:15:42 +0100 Subject: [PATCH 18/35] remove unused code --- src/app/Http/Controllers/PlaceController.php | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/app/Http/Controllers/PlaceController.php b/src/app/Http/Controllers/PlaceController.php index c78efaee1..1c82dd9ec 100644 --- a/src/app/Http/Controllers/PlaceController.php +++ b/src/app/Http/Controllers/PlaceController.php @@ -28,10 +28,7 @@ public function store(StorePlaceRequest $request) $place = Place::create($place); $place->save(); - return redirect('place')->with([ - 'message', 'Place created successfully!', - 'status', 'success' - ]); + return redirect('place'); } public function show(Place $place) @@ -49,10 +46,7 @@ public function update(UpdatePlaceRequest $request, Place $place) { $place->update($request->validated()); - return redirect()->route('place.index')->with([ - 'message' => 'Place updated successfully!', - 'status' => 'success' - ]); + return redirect()->route('place.index'); } public function destroy(Place $place) @@ -60,9 +54,6 @@ public function destroy(Place $place) // Your destroy logic here $place->delete(); - return redirect('place')->with([ - 'message', 'Place deleted successfully!', - 'status', 'success' - ]); + return redirect('place'); } } From 1a8109374f0c8e52417a7b08a024bcb19500128d Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Wed, 28 Feb 2024 10:40:55 +0100 Subject: [PATCH 19/35] use livewire forms componenet --- src/resources/views/place/create.blade.php | 111 +++++++++----------- src/resources/views/place/edit.blade.php | 116 ++++++++++----------- 2 files changed, 108 insertions(+), 119 deletions(-) diff --git a/src/resources/views/place/create.blade.php b/src/resources/views/place/create.blade.php index 32869ee53..23b2a9af5 100644 --- a/src/resources/views/place/create.blade.php +++ b/src/resources/views/place/create.blade.php @@ -7,78 +7,69 @@ {{ __('place/index.place') }} -
-
- +
+
+
+
+ @csrf +
- - @csrf -
- -
- - @error('name') - - {{ $message }} - - @enderror -
-
+
+ @php($form_elem = "name") + @livewire("forms.form", [ + 'form_elem' => $form_elem, + 'type' => "text", + 'title' => __('place/create.fields.name'), + 'hint' => __('place/create.placeholders.name') + ]) +
-
- -
- - @error('lat') - - {{ $message }} - - @enderror -
-
+
+ @php($form_elem = "lat") + @livewire("forms.form", [ + 'form_elem' => $form_elem, + 'type' => "text", + 'title' => __('place/create.fields.lat'), + 'hint' => __('place/create.placeholders.lat') + ]) +
-
- -
- - @error('lon') - - {{ $message }} - - @enderror -
-
+
+ @php($form_elem = "lon") + @livewire("forms.form", [ + 'form_elem' => $form_elem, + 'type' => "text", + 'title' => __('place/create.fields.lon'), + 'hint' => __('place/create.placeholders.lon') + ]) +
-
- -
- - @error('description') - - {{ $message }} - - @enderror -
-
+
+ @php($form_elem = "description") + @livewire("forms.form", [ + 'form_elem' => $form_elem, + 'type' => "text", + 'title' => __('place/create.fields.description'), + 'hint' => __('place/create.placeholders.description') + ]) +
-
- -
- +
+ +
-
- + +
diff --git a/src/resources/views/place/edit.blade.php b/src/resources/views/place/edit.blade.php index e2795a3f3..d51906570 100644 --- a/src/resources/views/place/edit.blade.php +++ b/src/resources/views/place/edit.blade.php @@ -7,77 +7,75 @@ {{ __('place/edit.edit_place', ['place_name' => $place->name]) }} -
-
+
+
+
+
+ @csrf + @method('PUT') - - @csrf - @method('PUT') -
- -
- - @error('name') - - {{ $message }} - - @enderror -
-
+
+
+ @php($form_elem = "name") + @livewire("forms.form", [ + 'form_elem' => $form_elem, + 'type' => "text", + 'title' => __('place/create.fields.name'), + 'hint' => __('place/create.placeholders.name'), + 'previous' => $place->{$form_elem} + ]) +
-
- -
- - @error('lat') - - {{ $message }} - - @enderror -
-
+
+ @php($form_elem = "lat") + @livewire("forms.form", [ + 'form_elem' => $form_elem, + 'type' => "text", + 'title' => __('place/create.fields.lat'), + 'hint' => __('place/create.placeholders.lat'), + 'previous' => $place->{$form_elem} + ]) +
-
- -
- - @error('lon') - - {{ $message }} - - @enderror -
-
+
+ @php($form_elem = "lon") + @livewire("forms.form", [ + 'form_elem' => $form_elem, + 'type' => "text", + 'title' => __('place/create.fields.lon'), + 'hint' => __('place/create.placeholders.lon'), + 'previous' => $place->{$form_elem} + ]) +
-
- -
- - @error('description') - - {{ $message }} - - @enderror -
-
+
+ @php($form_elem = "description") + @livewire("forms.form", [ + 'form_elem' => $form_elem, + 'type' => "text", + 'title' => __('place/create.fields.description'), + 'hint' => __('place/create.placeholders.description'), + 'previous' => $place->{$form_elem} + ]) +
+ +
+ +
-
- -
-
-
- + +
From 3001248a8d8ebe9aaece07c7667b45ff350cb64b Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Wed, 28 Feb 2024 10:51:07 +0100 Subject: [PATCH 20/35] add permissions --- src/resources/views/place/index.blade.php | 26 +++++++++++++---------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/resources/views/place/index.blade.php b/src/resources/views/place/index.blade.php index b1a3d026e..3a28193fc 100644 --- a/src/resources/views/place/index.blade.php +++ b/src/resources/views/place/index.blade.php @@ -37,20 +37,24 @@ class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded">
- @endforeach From bbfa88f3256025962a27150644c9038ff3ee72c5 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Wed, 28 Feb 2024 11:50:44 +0100 Subject: [PATCH 21/35] add seeder and begin test --- src/app/Policies/PlacePolicy.php | 2 +- src/database/factories/PlaceFactory.php | 21 ++++++++++++++++++ ...2024_02_04_083757_create_places_table.php} | 4 ++-- src/database/seeders/DatabaseSeeder.php | 1 + src/database/seeders/PlaceSeeder.php | 22 +++++++++++++++++++ src/tests/Feature/PlaceTest.php | 17 ++++++++++++++ 6 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 src/database/factories/PlaceFactory.php rename src/database/migrations/{2024_02_04_083757_create_place_table.php => 2024_02_04_083757_create_places_table.php} (86%) create mode 100644 src/database/seeders/PlaceSeeder.php create mode 100644 src/tests/Feature/PlaceTest.php diff --git a/src/app/Policies/PlacePolicy.php b/src/app/Policies/PlacePolicy.php index 0eb6b0064..f12c134ea 100644 --- a/src/app/Policies/PlacePolicy.php +++ b/src/app/Policies/PlacePolicy.php @@ -8,7 +8,7 @@ class PlacePolicy extends GlobalPolicy { use HandlesAuthorization; - public function __construct($route_name = "permissions") + public function __construct($route_name = "place") { parent::__construct($route_name); } diff --git a/src/database/factories/PlaceFactory.php b/src/database/factories/PlaceFactory.php new file mode 100644 index 000000000..fde10f1bb --- /dev/null +++ b/src/database/factories/PlaceFactory.php @@ -0,0 +1,21 @@ + $this->faker->unique()->name, + "lat" => $this->faker->latitude, + "lon" => $this->faker->longitude, + "description" => $this->faker->realText, + ]; + } +} diff --git a/src/database/migrations/2024_02_04_083757_create_place_table.php b/src/database/migrations/2024_02_04_083757_create_places_table.php similarity index 86% rename from src/database/migrations/2024_02_04_083757_create_place_table.php rename to src/database/migrations/2024_02_04_083757_create_places_table.php index 8821ead26..3642555c9 100644 --- a/src/database/migrations/2024_02_04_083757_create_place_table.php +++ b/src/database/migrations/2024_02_04_083757_create_places_table.php @@ -13,7 +13,7 @@ */ public function up() { - Schema::create('place', function (Blueprint $table) { + Schema::create('places', function (Blueprint $table) { $table->uuid("id")->primary(); $table->string('name'); $table->double('lat', 10, 6); @@ -31,6 +31,6 @@ public function up() */ public function down() { - Schema::dropIfExists('place'); + Schema::dropIfExists('places'); } }; diff --git a/src/database/seeders/DatabaseSeeder.php b/src/database/seeders/DatabaseSeeder.php index 7e8381202..78d2fac74 100644 --- a/src/database/seeders/DatabaseSeeder.php +++ b/src/database/seeders/DatabaseSeeder.php @@ -28,6 +28,7 @@ public function run() $this->call(ListRelationSeeder::class); $this->call(ListEventTypeSeeder::class); $this->call(ListSourceTypeSeeder::class); + $this->call(PlaceSeeder::class); if (env('APP_DEBUG') && env('APP_ENV') == 'local') { $this->call(EventSeeder::class); $this->call(SourceSeeder::class); diff --git a/src/database/seeders/PlaceSeeder.php b/src/database/seeders/PlaceSeeder.php new file mode 100644 index 000000000..32e197347 --- /dev/null +++ b/src/database/seeders/PlaceSeeder.php @@ -0,0 +1,22 @@ +count(5) + ->create(); + } +} diff --git a/src/tests/Feature/PlaceTest.php b/src/tests/Feature/PlaceTest.php new file mode 100644 index 000000000..6e4cdfb95 --- /dev/null +++ b/src/tests/Feature/PlaceTest.php @@ -0,0 +1,17 @@ +route = "place"; + $this->resource = Place::factory()->create(); + } +} From 0a9cefc959b736747ba625357d69a2efb50b510e Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Wed, 28 Feb 2024 11:59:25 +0100 Subject: [PATCH 22/35] add missing construct --- src/app/Http/Controllers/PlaceController.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/app/Http/Controllers/PlaceController.php b/src/app/Http/Controllers/PlaceController.php index 1c82dd9ec..e0f95b815 100644 --- a/src/app/Http/Controllers/PlaceController.php +++ b/src/app/Http/Controllers/PlaceController.php @@ -8,6 +8,17 @@ class PlaceController extends Controller { + + /** + * Create the controller instance. + * + * @return void + */ + public function __construct() + { + $this->authorizeResource(Place::class, 'place'); + } + public function index() { //get all place From 106332099c47707b4d37feb1d21562471a5aec2b Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Wed, 28 Feb 2024 15:30:06 +0100 Subject: [PATCH 23/35] only seed place in local env --- src/database/seeders/DatabaseSeeder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/database/seeders/DatabaseSeeder.php b/src/database/seeders/DatabaseSeeder.php index 78d2fac74..422f6b1ab 100644 --- a/src/database/seeders/DatabaseSeeder.php +++ b/src/database/seeders/DatabaseSeeder.php @@ -28,12 +28,12 @@ public function run() $this->call(ListRelationSeeder::class); $this->call(ListEventTypeSeeder::class); $this->call(ListSourceTypeSeeder::class); - $this->call(PlaceSeeder::class); if (env('APP_DEBUG') && env('APP_ENV') == 'local') { $this->call(EventSeeder::class); $this->call(SourceSeeder::class); $this->call(RefugeeSeeder::class); $this->call(LinkSeeder::class); + $this->call(PlaceSeeder::class); } } } From 40dcc15a609af5738a45d70454795ed407c45c1b Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Thu, 29 Feb 2024 15:10:46 +0100 Subject: [PATCH 24/35] work with coordinates --- src/app/Http/Controllers/PlaceController.php | 3 +++ src/app/Http/Requests/StorePlaceRequest.php | 5 ++--- src/app/Http/Requests/UpdatePlaceRequest.php | 5 ++--- src/app/Models/Place.php | 2 +- src/database/factories/PlaceFactory.php | 9 +++++++-- .../2024_02_04_083757_create_places_table.php | 7 +++---- src/resources/lang/en/place/create.php | 6 ++---- src/resources/views/place/create.blade.php | 18 ++++-------------- src/resources/views/place/edit.blade.php | 19 ++++--------------- src/resources/views/place/index.blade.php | 4 ++-- src/resources/views/place/show.blade.php | 17 +++++++++-------- 11 files changed, 39 insertions(+), 56 deletions(-) diff --git a/src/app/Http/Controllers/PlaceController.php b/src/app/Http/Controllers/PlaceController.php index e0f95b815..1a7b7add5 100644 --- a/src/app/Http/Controllers/PlaceController.php +++ b/src/app/Http/Controllers/PlaceController.php @@ -5,6 +5,7 @@ use App\Http\Requests\StorePlaceRequest; use App\Http\Requests\UpdatePlaceRequest; use App\Models\Place; +use \App\Http\Livewire\Forms\Coordinates; class PlaceController extends Controller { @@ -36,6 +37,7 @@ public function create() public function store(StorePlaceRequest $request) { $place = $request->validated(); + $place['coordinates'] = Coordinates::encode($place['coordinates']); $place = Place::create($place); $place->save(); @@ -55,6 +57,7 @@ public function edit(Place $place) public function update(UpdatePlaceRequest $request, Place $place) { + $place['coordinates'] = Coordinates::encode($place['coordinates']); $place->update($request->validated()); return redirect()->route('place.index'); diff --git a/src/app/Http/Requests/StorePlaceRequest.php b/src/app/Http/Requests/StorePlaceRequest.php index d7a527951..da0366c8e 100644 --- a/src/app/Http/Requests/StorePlaceRequest.php +++ b/src/app/Http/Requests/StorePlaceRequest.php @@ -3,6 +3,7 @@ namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; +use App\Http\Livewire\Forms\Coordinates; class StorePlaceRequest extends FormRequest { @@ -25,9 +26,7 @@ public function rules() { return [ 'name' => 'required|string|max:255', - 'lat' => 'required|numeric', - 'lon' => 'required|numeric', 'description' => 'required|string', - ]; + ] + Coordinates::rules('coordinates'); } } diff --git a/src/app/Http/Requests/UpdatePlaceRequest.php b/src/app/Http/Requests/UpdatePlaceRequest.php index 2e5a14463..4953277b1 100644 --- a/src/app/Http/Requests/UpdatePlaceRequest.php +++ b/src/app/Http/Requests/UpdatePlaceRequest.php @@ -3,6 +3,7 @@ namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; +use App\Http\Livewire\Forms\Coordinates; class UpdatePlaceRequest extends FormRequest { @@ -25,9 +26,7 @@ public function rules() { return [ 'name' => 'required|string|max:255', - 'lat' => 'required|numeric', - 'lon' => 'required|numeric', 'description' => 'required|string', - ]; + ] + Coordinates::rules('coordinates'); } } diff --git a/src/app/Models/Place.php b/src/app/Models/Place.php index 75f5220e9..c081e2e58 100644 --- a/src/app/Models/Place.php +++ b/src/app/Models/Place.php @@ -37,7 +37,7 @@ class Place extends Model * * @var array */ - protected $fillable = ['name', 'lat', 'lon', 'description']; + protected $fillable = ['name', 'coordinates', 'description']; /** * The attributes that should be mutated to dates. diff --git a/src/database/factories/PlaceFactory.php b/src/database/factories/PlaceFactory.php index fde10f1bb..c0301f29b 100644 --- a/src/database/factories/PlaceFactory.php +++ b/src/database/factories/PlaceFactory.php @@ -11,10 +11,15 @@ class PlaceFactory extends Factory public function definition(): array { + + $coordinates = json_encode([ + "lat" => $this->faker->latitude, + "long" => $this->faker->longitude, + ]); + return [ "name" => $this->faker->unique()->name, - "lat" => $this->faker->latitude, - "lon" => $this->faker->longitude, + "coordinates" => $coordinates, "description" => $this->faker->realText, ]; } diff --git a/src/database/migrations/2024_02_04_083757_create_places_table.php b/src/database/migrations/2024_02_04_083757_create_places_table.php index 3642555c9..0b03a6053 100644 --- a/src/database/migrations/2024_02_04_083757_create_places_table.php +++ b/src/database/migrations/2024_02_04_083757_create_places_table.php @@ -15,10 +15,9 @@ public function up() { Schema::create('places', function (Blueprint $table) { $table->uuid("id")->primary(); - $table->string('name'); - $table->double('lat', 10, 6); - $table->double('lon', 10, 6); - $table->text('description'); + $table->string('name')->unique(); + $table->string('coordinates'); + $table->text('description')->nullable(); $table->timestamps(); $table->softDeletes(); }); diff --git a/src/resources/lang/en/place/create.php b/src/resources/lang/en/place/create.php index 21ecbcf50..a7c2e44b6 100644 --- a/src/resources/lang/en/place/create.php +++ b/src/resources/lang/en/place/create.php @@ -5,14 +5,12 @@ 'fields' => [ 'name' => 'Name', 'description' => 'Description', - 'lat' => 'Latitude', - 'lon' => 'Longitude', + 'coordinates' => "Coordinates", 'actions' => 'Actions', ], 'placeholders' => [ 'name' => 'e.g. Lyon', 'description' => 'e.g. A french city', - 'lat' => 'e.g. 45.764043', - 'lon' => 'e.g. 4.835659', + 'coordinates' => "The coordinates of the event", ], ]; diff --git a/src/resources/views/place/create.blade.php b/src/resources/views/place/create.blade.php index 23b2a9af5..3368febc9 100644 --- a/src/resources/views/place/create.blade.php +++ b/src/resources/views/place/create.blade.php @@ -32,22 +32,12 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded">
- @php($form_elem = "lat") + @php($form_elem = "coordinates") @livewire("forms.form", [ 'form_elem' => $form_elem, - 'type' => "text", - 'title' => __('place/create.fields.lat'), - 'hint' => __('place/create.placeholders.lat') - ]) -
- -
- @php($form_elem = "lon") - @livewire("forms.form", [ - 'form_elem' => $form_elem, - 'type' => "text", - 'title' => __('place/create.fields.lon'), - 'hint' => __('place/create.placeholders.lon') + 'type' => "coordinates", + 'title' => __('place/create.fields.coordinates'), + 'hint' => __('place/create.placeholders.coordinates') ])
diff --git a/src/resources/views/place/edit.blade.php b/src/resources/views/place/edit.blade.php index d51906570..9d33cc036 100644 --- a/src/resources/views/place/edit.blade.php +++ b/src/resources/views/place/edit.blade.php @@ -34,23 +34,12 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded">
- @php($form_elem = "lat") + @php($form_elem = "coordinates") @livewire("forms.form", [ 'form_elem' => $form_elem, - 'type' => "text", - 'title' => __('place/create.fields.lat'), - 'hint' => __('place/create.placeholders.lat'), - 'previous' => $place->{$form_elem} - ]) -
- -
- @php($form_elem = "lon") - @livewire("forms.form", [ - 'form_elem' => $form_elem, - 'type' => "text", - 'title' => __('place/create.fields.lon'), - 'hint' => __('place/create.placeholders.lon'), + 'type' => "coordinates", + 'title' => __('place/create.fields.coordinates'), + 'hint' => __('place/create.placeholders.coordinates'), 'previous' => $place->{$form_elem} ])
diff --git a/src/resources/views/place/index.blade.php b/src/resources/views/place/index.blade.php index 3a28193fc..7eef3d96a 100644 --- a/src/resources/views/place/index.blade.php +++ b/src/resources/views/place/index.blade.php @@ -33,8 +33,8 @@ class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded"> @foreach($places as $key => $place) - - + +
IDNameLatitudeLongitudeDescriptionActions{{__('place/index.fields.name')}}{{__('place/index.fields.lat')}}{{__('place/index.fields.lon')}}{{__('place/index.fields.description')}}{{__('place/index.fields.actions')}}
{{ $place->id }} {{ $place->name }} {{ $place->lat }} {{ $place->lon }} Show + href="{{ route('place.show', $place->id) }}">{{__('place/index.show')}} Edit + href="{{ route('place.edit', $place->id) }}">{{__('place/index.edit')}} - + @csrf @method('DELETE') - +
{{__('place/index.show')}} + href="{{ route('place.show', $place->id) }}">{{__('common.show')}} {{__('place/index.edit')}} + href="{{ route('place.edit', $place->id) }}">{{__('common.edit')}}
@csrf @method('DELETE') - +
{{ $place->lon }} {{ $place->description }} + @can('view', $place) + {{__('common.show')}} + @endcan - {{__('common.show')}} + @can('update', $place) + {{__('common.edit')}} + @endcan - {{__('common.edit')}} - -
- @csrf - @method('DELETE') - -
+ @can('delete', $place) +
+ @csrf + @method('DELETE') + +
+ @endcan
{{ $place->name }}{{ $place->lat }}{{ $place->lon }}{{ json_decode($place->coordinates, true)['lat'] }}{{ json_decode($place->coordinates, true)['long'] }} {{ $place->description }} diff --git a/src/resources/views/place/show.blade.php b/src/resources/views/place/show.blade.php index 2b0d1fd19..328bb51f5 100644 --- a/src/resources/views/place/show.blade.php +++ b/src/resources/views/place/show.blade.php @@ -21,8 +21,8 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded">

- {{__('place/show.fields.lat')}} : {{ $place->lat }}
- {{__('place/show.fields.lon')}} : {{ $place->lon }}
+ {{__('place/show.fields.lat')}} : {{ json_decode($place->coordinates, true)['lat'] }}
+ {{__('place/show.fields.lon')}} : {{ json_decode($place->coordinates, true)['long'] }}
{{__('place/show.fields.description')}} : {{ $place->description }}

@@ -33,12 +33,13 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded">
@map([ - 'lat' => $place->lat, - 'lng' => $place->lon, - 'zoom' => 10, - 'markers' => [ - ['lat' => $place->lat, 'lng' => $place->lon], - ] + 'lat' => json_decode($place->coordinates, true)['lat'], + 'lng' => json_decode($place->coordinates, true)['long'], + 'zoom' => 10, + 'markers' => [ + ['lat' => json_decode($place->coordinates, true)['lat'], + 'lng' => json_decode($place->coordinates, true)['long'],] + ] ]) @mapscripts
From ee982b0cd10b62ff0a8f6339db7e71f490dc9177 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Thu, 29 Feb 2024 15:11:45 +0100 Subject: [PATCH 25/35] change validation rules --- src/app/Http/Requests/StorePlaceRequest.php | 4 ++-- src/app/Http/Requests/UpdatePlaceRequest.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/Http/Requests/StorePlaceRequest.php b/src/app/Http/Requests/StorePlaceRequest.php index da0366c8e..4abbb7b73 100644 --- a/src/app/Http/Requests/StorePlaceRequest.php +++ b/src/app/Http/Requests/StorePlaceRequest.php @@ -25,8 +25,8 @@ public function authorize() public function rules() { return [ - 'name' => 'required|string|max:255', - 'description' => 'required|string', + 'name' => 'required|string|max:255|unique:places,name', + 'description' => 'string', ] + Coordinates::rules('coordinates'); } } diff --git a/src/app/Http/Requests/UpdatePlaceRequest.php b/src/app/Http/Requests/UpdatePlaceRequest.php index 4953277b1..85d3d4ef3 100644 --- a/src/app/Http/Requests/UpdatePlaceRequest.php +++ b/src/app/Http/Requests/UpdatePlaceRequest.php @@ -25,8 +25,8 @@ public function authorize() public function rules() { return [ - 'name' => 'required|string|max:255', - 'description' => 'required|string', + 'name' => 'required|string|max:255|unique:places,name', + 'description' => 'string', ] + Coordinates::rules('coordinates'); } } From 10e65f4efe568116ca437a5555d07773f2e96ec0 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Fri, 1 Mar 2024 09:01:51 +0100 Subject: [PATCH 26/35] change validation rules --- src/app/Http/Requests/UpdatePlaceRequest.php | 2 +- src/resources/views/place/edit.blade.php | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/Http/Requests/UpdatePlaceRequest.php b/src/app/Http/Requests/UpdatePlaceRequest.php index 85d3d4ef3..30c5e64dc 100644 --- a/src/app/Http/Requests/UpdatePlaceRequest.php +++ b/src/app/Http/Requests/UpdatePlaceRequest.php @@ -25,7 +25,7 @@ public function authorize() public function rules() { return [ - 'name' => 'required|string|max:255|unique:places,name', + "name" => "required|unique:places,name," . $this->route('place')->id . "|string", 'description' => 'string', ] + Coordinates::rules('coordinates'); } diff --git a/src/resources/views/place/edit.blade.php b/src/resources/views/place/edit.blade.php index 9d33cc036..98318323e 100644 --- a/src/resources/views/place/edit.blade.php +++ b/src/resources/views/place/edit.blade.php @@ -40,7 +40,8 @@ class="bg-gray-200 hover:bg-gray-300 text-black font-bold py-2 px-4 rounded"> 'type' => "coordinates", 'title' => __('place/create.fields.coordinates'), 'hint' => __('place/create.placeholders.coordinates'), - 'previous' => $place->{$form_elem} + 'previous' => $place->{$form_elem}, + 'dataType' => \App\Models\ListDataType::where('name', 'Coordinates')->first() ]) From a68a35414128e8993828b33233ea7cd38012750b Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Fri, 1 Mar 2024 09:19:00 +0100 Subject: [PATCH 27/35] quality of code --- src/resources/views/place/index.blade.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/resources/views/place/index.blade.php b/src/resources/views/place/index.blade.php index 7eef3d96a..11e05635a 100644 --- a/src/resources/views/place/index.blade.php +++ b/src/resources/views/place/index.blade.php @@ -22,11 +22,11 @@ class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded"> - - - - - + + + + + From 21e115b783f9b363df0f9208ab38ff1378686cff Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Fri, 1 Mar 2024 09:24:46 +0100 Subject: [PATCH 28/35] quality of code 2 --- src/resources/views/place/index.blade.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/resources/views/place/index.blade.php b/src/resources/views/place/index.blade.php index 11e05635a..23144b4a1 100644 --- a/src/resources/views/place/index.blade.php +++ b/src/resources/views/place/index.blade.php @@ -20,6 +20,7 @@ class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded">
{{__('place/index.fields.name')}}{{__('place/index.fields.lat')}}{{__('place/index.fields.lon')}}{{__('place/index.fields.description')}}{{__('place/index.fields.actions')}}{{__('place/index.fields.name')}}{{__('place/index.fields.lat')}}{{__('place/index.fields.lon')}}{{__('place/index.fields.description')}}{{__('place/index.fields.actions')}}
+ From 4def3d56d9b49291b982822d9a2ca3d5a612c700 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Fri, 1 Mar 2024 10:41:40 +0100 Subject: [PATCH 29/35] same table --- src/resources/views/place/index.blade.php | 91 ++++++++++++++++++++--- 1 file changed, 81 insertions(+), 10 deletions(-) diff --git a/src/resources/views/place/index.blade.php b/src/resources/views/place/index.blade.php index 23144b4a1..0a64373d9 100644 --- a/src/resources/views/place/index.blade.php +++ b/src/resources/views/place/index.blade.php @@ -1,6 +1,6 @@ @php use App\Models\Place @endphp @section('title', __('place/index.view_all_places')) - +@livewireStyles

@@ -10,23 +10,25 @@
- - {{ __('common.add') }} - + @can('create', Place::class) + + {{ __('common.add') }} + + @endcan
-

{{__('place/index.view_all_places')}}
{{__('place/index.fields.name')}}
+
- - - - + + + + @@ -68,6 +70,14 @@ class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded"> + + + From 2a0683069a0e60981878fdd2b7516c9558e41a5d Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Fri, 1 Mar 2024 10:43:57 +0100 Subject: [PATCH 30/35] Update name in menu --- src/resources/lang/en/navigation-menu.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resources/lang/en/navigation-menu.php b/src/resources/lang/en/navigation-menu.php index 5215c9d40..7eb927399 100644 --- a/src/resources/lang/en/navigation-menu.php +++ b/src/resources/lang/en/navigation-menu.php @@ -26,5 +26,5 @@ 'switch_teams' => 'Switch Teams', 'manage_list' => 'Manage List', 'api_tokens' => 'Api Tokens', - 'place' => 'Place', + 'place' => 'Places', ]; From 8c09548020c8464b155da4afa4d0867c08606ac6 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Fri, 1 Mar 2024 10:49:42 +0100 Subject: [PATCH 31/35] click on name to access the show view --- src/resources/views/place/index.blade.php | 31 +++++++---------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/src/resources/views/place/index.blade.php b/src/resources/views/place/index.blade.php index 0a64373d9..5edd07ec4 100644 --- a/src/resources/views/place/index.blade.php +++ b/src/resources/views/place/index.blade.php @@ -29,36 +29,23 @@ class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded"> - + @can('update', $places->first()) + + @endcan @foreach($places as $key => $place) - + - - + @can('update', $place) + + @endcan @endforeach From be715ed0d09affa174e8659f32d95c0c7a3a3f07 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Fri, 1 Mar 2024 11:27:12 +0100 Subject: [PATCH 32/35] Change show view to match other frontend --- src/resources/lang/en/place/show.php | 3 +- src/resources/views/place/show.blade.php | 110 +++++++++++++++++++---- 2 files changed, 95 insertions(+), 18 deletions(-) diff --git a/src/resources/lang/en/place/show.php b/src/resources/lang/en/place/show.php index 72fa355e4..75d7d719b 100644 --- a/src/resources/lang/en/place/show.php +++ b/src/resources/lang/en/place/show.php @@ -6,9 +6,8 @@ 'fields' => [ 'name' => 'Name', 'description' => 'Description', + 'coordinates' => 'Coordinates', 'lat' => 'Latitude', 'lon' => 'Longitude', - 'actions' => 'Actions', ], - 'delete_confirm' => 'Are you sure you want to delete this place?', ]; diff --git a/src/resources/views/place/show.blade.php b/src/resources/views/place/show.blade.php index 328bb51f5..76e80ec0e 100644 --- a/src/resources/views/place/show.blade.php +++ b/src/resources/views/place/show.blade.php @@ -7,27 +7,97 @@ {{ __('place/show.view_place_details', ['place_name' => $place->name]) }} -
-
- +
+
+ @can("delete", $place) +
+ @endcan + + @can("viewAny", $place) + {{ __('common.back') }} + @endcan -

{{ $place->name }}

+ @can("update", $place) + {{ __('common.edit') }} + @endcan -
-

- {{__('place/show.fields.lat')}} : {{ json_decode($place->coordinates, true)['lat'] }}
- {{__('place/show.fields.lon')}} : {{ json_decode($place->coordinates, true)['long'] }}
- {{__('place/show.fields.description')}} : {{ $place->description }} -

+ + @can("delete", $place) + @method('DELETE') + @csrf + + + @endcan
-
+
+
+
+
+
{{__('place/index.view_all_places')}}
{{__('place/index.fields.name')}}{{__('place/index.fields.lat')}}{{__('place/index.fields.lon')}}{{__('place/index.fields.description')}}{{__('place/index.fields.name')}}{{__('place/index.fields.lat')}}{{__('place/index.fields.lon')}}{{__('place/index.fields.description')}} {{__('place/index.fields.actions')}}
{{__('place/index.fields.lat')}} {{__('place/index.fields.lon')}} {{__('place/index.fields.description')}}{{__('place/index.fields.actions')}}
{{ $place->name }} + {{ $place->name }} + {{ json_decode($place->coordinates, true)['lat'] }} {{ json_decode($place->coordinates, true)['long'] }} {{ $place->description }} - @can('view', $place) - {{__('common.show')}} - @endcan - - @can('update', $place) - {{__('common.edit')}} - @endcan - - @can('delete', $place) -
- @csrf - @method('DELETE') - -
- @endcan -
{{__('common.edit')}}
+ + + + + + + + + + + + + +
{{ __('place/show.place') }}
+ {{ __('place/show.fields.name') }} + + {{ $place->name }} +
+ {{ __('place/show.fields.coordinates') }} + + +
+
+ + {{ __('place/show.fields.lat') }} : {{ json_decode($place->coordinates, true)['lat'] ?? ""}} + +
+
+ + {{ __('place/show.fields.lon') }} : {{ json_decode($place->coordinates, true)['long'] ?? ""}} + +
+
+
+
+ {{ __('place/show.fields.description') }} + + {{ $place->description }} +
+ + + + + + + From 5fa423ba21480df7f1da971e1934e78a53378847 Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Fri, 1 Mar 2024 12:07:42 +0100 Subject: [PATCH 33/35] Correct title bug --- src/resources/views/livewire/forms/form-coordinates.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/resources/views/livewire/forms/form-coordinates.blade.php b/src/resources/views/livewire/forms/form-coordinates.blade.php index 912c71c03..47f7b17c0 100644 --- a/src/resources/views/livewire/forms/form-coordinates.blade.php +++ b/src/resources/views/livewire/forms/form-coordinates.blade.php @@ -17,10 +17,10 @@ class="form-input rounded-md shadow-sm mt-1 block w-full" {{$hint}} {{$warning}} @error($form_elem.'.lat') -

{{ Str::replace($form_elem.'.lat', $this->field->title.' (latitude)', $message) }}

+

{{ Str::replace($form_elem.'.lat', $this->title.' (latitude)', $message) }}

@enderror @error($form_elem.'.long') -

{{ Str::replace($form_elem.'.long', $this->field->title.' (longitude)', $message) }}

+

{{ Str::replace($form_elem.'.long', $this->title.' (longitude)', $message) }}

@enderror From 9492d4abda696c5d708675599d49232b3f54e64e Mon Sep 17 00:00:00 2001 From: Antoine Piron <75019585+AntoinePiron@users.noreply.github.com> Date: Fri, 1 Mar 2024 12:09:07 +0100 Subject: [PATCH 34/35] Make description nullable --- src/app/Http/Requests/StorePlaceRequest.php | 2 +- src/app/Http/Requests/UpdatePlaceRequest.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/Http/Requests/StorePlaceRequest.php b/src/app/Http/Requests/StorePlaceRequest.php index 4abbb7b73..909950df9 100644 --- a/src/app/Http/Requests/StorePlaceRequest.php +++ b/src/app/Http/Requests/StorePlaceRequest.php @@ -26,7 +26,7 @@ public function rules() { return [ 'name' => 'required|string|max:255|unique:places,name', - 'description' => 'string', + 'description' => 'nullable|string', ] + Coordinates::rules('coordinates'); } } diff --git a/src/app/Http/Requests/UpdatePlaceRequest.php b/src/app/Http/Requests/UpdatePlaceRequest.php index 30c5e64dc..2afbf21ec 100644 --- a/src/app/Http/Requests/UpdatePlaceRequest.php +++ b/src/app/Http/Requests/UpdatePlaceRequest.php @@ -26,7 +26,7 @@ public function rules() { return [ "name" => "required|unique:places,name," . $this->route('place')->id . "|string", - 'description' => 'string', + 'description' => 'nullable|string', ] + Coordinates::rules('coordinates'); } } From 5b9622f9df03b8a11d662525adf5f14fb3111172 Mon Sep 17 00:00:00 2001 From: lucasdufour Date: Fri, 1 Mar 2024 14:34:57 +0100 Subject: [PATCH 35/35] refactor(place): Refactor some text Simply update a text issue: #450 Signed-off-by: lucasdufour --- src/resources/lang/en/place/index.php | 2 ++ src/resources/views/place/index.blade.php | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/resources/lang/en/place/index.php b/src/resources/lang/en/place/index.php index c436e45eb..6a321dcf1 100644 --- a/src/resources/lang/en/place/index.php +++ b/src/resources/lang/en/place/index.php @@ -3,6 +3,8 @@ return [ 'view_all_places' => 'View all places', 'place' => 'Place', + 'places' => 'Places', + 'add_place' => 'Add place', 'fields' => [ 'name' => 'Name', 'description' => 'Description', diff --git a/src/resources/views/place/index.blade.php b/src/resources/views/place/index.blade.php index 5edd07ec4..bc30da531 100644 --- a/src/resources/views/place/index.blade.php +++ b/src/resources/views/place/index.blade.php @@ -4,7 +4,7 @@

- {{ __('place/index.place') }} + {{ __('place/index.places') }}

@@ -13,7 +13,7 @@ @can('create', Place::class) - {{ __('common.add') }} + {{ __('place/index.add_place') }} @endcan