From 9694c12afbca3e0f4a7525ab5b442ad12bb5151f Mon Sep 17 00:00:00 2001 From: tristan Date: Wed, 22 Apr 2026 15:25:24 +0200 Subject: [PATCH] feat : page case sur UiDataTable server-side MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SearchFilter et DateFilter ajoutés sur l'entité Bovine - Filtres serveur sur numéro national, poids exact et date d'arrivée - Scope automatique via buildingCase IRI sur l'endpoint /bovines Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/pages/infrastructure/case.vue | 126 +++++++++++++++++-------- src/Entity/Bovine.php | 9 ++ 2 files changed, 98 insertions(+), 37 deletions(-) diff --git a/frontend/pages/infrastructure/case.vue b/frontend/pages/infrastructure/case.vue index cf444d1..24f7def 100644 --- a/frontend/pages/infrastructure/case.vue +++ b/frontend/pages/infrastructure/case.vue @@ -33,42 +33,51 @@ -
-
+ -
Numéro national
-
Poids à l'arrivée (kg)
-
Date d'arrivée
-
- -
- Aucun bovin dans cette case. -
+ + + + + +
+ diff --git a/src/Entity/Bovine.php b/src/Entity/Bovine.php index ec2195d..275c1f5 100644 --- a/src/Entity/Bovine.php +++ b/src/Entity/Bovine.php @@ -4,6 +4,9 @@ declare(strict_types=1); namespace App\Entity; +use ApiPlatform\Doctrine\Orm\Filter\DateFilter; +use ApiPlatform\Doctrine\Orm\Filter\SearchFilter; +use ApiPlatform\Metadata\ApiFilter; use ApiPlatform\Metadata\ApiResource; use ApiPlatform\Metadata\Get; use ApiPlatform\Metadata\GetCollection; @@ -19,6 +22,12 @@ use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer; #[ORM\Entity] #[ORM\Table(name: 'bovine')] #[ORM\UniqueConstraint(name: 'uniq_bovine_national_number', columns: ['national_number'])] +#[ApiFilter(SearchFilter::class, properties: [ + 'nationalNumber' => 'ipartial', + 'buildingCase' => 'exact', + 'receivedWeight' => 'exact', +])] +#[ApiFilter(DateFilter::class, properties: ['arrivalDate'])] #[ApiResource( operations: [ new Get(