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:
2026-06-05 19:33:56 +02:00
parent d38efaad60
commit 79bbf3671a
6 changed files with 30 additions and 0 deletions
+4
View File
@@ -46,6 +46,10 @@ class StoreReleveRequest extends FormRequest
$rules[$base] = [$field->required ? 'required' : 'nullable', 'string', 'in:' . implode(',', $options)];
break;
case FieldType::Place:
$rules[$base] = [$field->required ? 'required' : 'nullable', 'integer', 'exists:lieux,id'];
break;
default: // text, textarea
$rules[$base] = [$field->required ? 'required' : 'nullable', 'string', 'max:2000'];
}
@@ -41,6 +41,9 @@ class UpdateReleveRequest extends FormRequest
$options = $field->options ?? [];
$rules[$base] = [$field->required ? 'required' : 'nullable', 'string', 'in:' . implode(',', $options)];
break;
case FieldType::Place:
$rules[$base] = [$field->required ? 'required' : 'nullable', 'integer', 'exists:lieux,id'];
break;
default:
$rules[$base] = [$field->required ? 'required' : 'nullable', 'string', 'max:2000'];
}