Ajout du type de champ "place" (Lieu) pour les relevés
- FieldType::Place = 'place' dans l'enum
- _field.blade.php : composant lieu-picker réutilisé pour la saisie
- Validation : integer + exists:lieux,id dans Store/UpdateReleveRequest
- buildData() : stocke {id, nom_long} dans le JSONB (évite les requêtes à l'affichage)
- releves/show.blade.php : affiche nom_long pour les champs de type place
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
||||
use App\Enums\FieldType;
|
||||
use App\Http\Requests\StoreReleveRequest;
|
||||
use App\Http\Requests\UpdateReleveRequest;
|
||||
use App\Models\Lieu;
|
||||
use App\Models\Releve;
|
||||
use App\Models\Source;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
@@ -108,6 +109,10 @@ class ReleveController extends Controller
|
||||
'valeur' => $value['valeur'] ?? null,
|
||||
'calendrier' => $value['calendrier'] ?? 'gregorien',
|
||||
],
|
||||
FieldType::Place => $value ? (function () use ($value) {
|
||||
$lieu = Lieu::find((int) $value, ['id', 'nom_long']);
|
||||
return $lieu ? ['id' => $lieu->id, 'nom_long' => $lieu->nom_long] : null;
|
||||
})() : null,
|
||||
default => $value === '' ? null : $value,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user