From 5feceb08824ab2054a9d4dffec475715a362e39c Mon Sep 17 00:00:00 2001 From: yann64 Date: Fri, 5 Jun 2026 19:22:55 +0200 Subject: [PATCH] Fix RelevePolicy : harmoniser les signatures avec les appels du Gate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le Gate Laravel se comporte différemment selon que le 1er argument est une classe string ou une instance : - [Releve::class, $source] → Gate passe $source directement (vue + contrôleurs) - [app(Releve::class), $source] → Gate injecte l'instance + $source (ancien StoreReleveRequest) Correction : revenir aux signatures originales (User, Source) et remplacer app(Releve::class) par Releve::class dans StoreReleveRequest pour uniformiser. Co-Authored-By: Claude Sonnet 4.6 --- app/Http/Requests/StoreReleveRequest.php | 2 +- app/Policies/RelevePolicy.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/Http/Requests/StoreReleveRequest.php b/app/Http/Requests/StoreReleveRequest.php index 5a9dae4..cbea5b4 100644 --- a/app/Http/Requests/StoreReleveRequest.php +++ b/app/Http/Requests/StoreReleveRequest.php @@ -13,7 +13,7 @@ class StoreReleveRequest extends FormRequest public function authorize(): bool { $source = $this->route('source'); - return $this->user()->can('create', [app(\App\Models\Releve::class), $source]); + return $this->user()->can('create', [\App\Models\Releve::class, $source]); } public function rules(): array diff --git a/app/Policies/RelevePolicy.php b/app/Policies/RelevePolicy.php index 427309e..1862e08 100644 --- a/app/Policies/RelevePolicy.php +++ b/app/Policies/RelevePolicy.php @@ -9,7 +9,7 @@ use App\Models\User; class RelevePolicy { - public function viewAny(User $user, Releve $releve, Source $source): bool + public function viewAny(User $user, Source $source): bool { return $source->isVisibleBy($user); } @@ -19,7 +19,7 @@ class RelevePolicy return $releve->source->isVisibleBy($user); } - public function create(User $user, Releve $releve, Source $source): bool + public function create(User $user, Source $source): bool { if ($source->status === SourceStatus::Termine) { return false; @@ -32,7 +32,7 @@ class RelevePolicy public function update(User $user, Releve $releve): bool { - return $this->create($user, $releve, $releve->source); + return $this->create($user, $releve->source); } public function delete(User $user, Releve $releve): bool