Fix RelevePolicy : harmoniser les signatures avec les appels du Gate
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 <noreply@anthropic.com>
This commit is contained in:
@@ -13,7 +13,7 @@ class StoreReleveRequest extends FormRequest
|
|||||||
public function authorize(): bool
|
public function authorize(): bool
|
||||||
{
|
{
|
||||||
$source = $this->route('source');
|
$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
|
public function rules(): array
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ use App\Models\User;
|
|||||||
|
|
||||||
class RelevePolicy
|
class RelevePolicy
|
||||||
{
|
{
|
||||||
public function viewAny(User $user, Releve $releve, Source $source): bool
|
public function viewAny(User $user, Source $source): bool
|
||||||
{
|
{
|
||||||
return $source->isVisibleBy($user);
|
return $source->isVisibleBy($user);
|
||||||
}
|
}
|
||||||
@@ -19,7 +19,7 @@ class RelevePolicy
|
|||||||
return $releve->source->isVisibleBy($user);
|
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) {
|
if ($source->status === SourceStatus::Termine) {
|
||||||
return false;
|
return false;
|
||||||
@@ -32,7 +32,7 @@ class RelevePolicy
|
|||||||
|
|
||||||
public function update(User $user, Releve $releve): bool
|
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
|
public function delete(User $user, Releve $releve): bool
|
||||||
|
|||||||
Reference in New Issue
Block a user