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) +
ID | -Name | -Latitude | -Longitude | -Description | -Actions | +{{__('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 }} | @@ -42,16 +40,15 @@ class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded">
Show
+ href="{{ route('place.show', $place->id) }}">{{__('place/index.show')}}
Edit
+ href="{{ route('place.edit', $place->id) }}">{{__('place/index.edit')}}
- |
{{__('place/index.show')}}
+ href="{{ route('place.show', $place->id) }}">{{__('common.show')}}
{{__('place/index.edit')}}
+ href="{{ route('place.edit', $place->id) }}">{{__('common.edit')}}
|
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
{{ $place->lon }} | {{ $place->description }} | -
+ @can('view', $place)
+ {{__('common.show')}}
+ @endcan
- {{__('common.show')}}
+ @can('update', $place)
+ {{__('common.edit')}}
+ @endcan
- {{__('common.edit')}}
-
- |
@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">
||||||||||||||||||||||||||||||||||||
{{ $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 }}
@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">
{{ 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- {{ __('place/index.place') }} + {{ __('place/index.places') }}
@@ -13,7 +13,7 @@
@can('create', Place::class)
- {{ __('common.add') }}
+ {{ __('place/index.add_place') }}
@endcan
|