From 1643dcf8c230ba8add1c4c83d7dc691cc6d25c6b Mon Sep 17 00:00:00 2001 From: Matthieu Date: Sun, 25 Jan 2026 15:54:07 +0100 Subject: [PATCH] fix : case-insensitive search filters for all entities --- Inventory_frontend | 2 +- src/Entity/Composant.php | 2 +- src/Entity/ModelType.php | 2 +- src/Entity/Piece.php | 10 +++++----- src/Entity/Product.php | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Inventory_frontend b/Inventory_frontend index 5f54acd..adccfa9 160000 --- a/Inventory_frontend +++ b/Inventory_frontend @@ -1 +1 @@ -Subproject commit 5f54acdfac400c517a04169354dec59c14894812 +Subproject commit adccfa9b46a4b44c89d310cbfd4130346ece90b3 diff --git a/src/Entity/Composant.php b/src/Entity/Composant.php index 0080221..807f73d 100644 --- a/src/Entity/Composant.php +++ b/src/Entity/Composant.php @@ -19,7 +19,7 @@ use Symfony\Component\Serializer\Attribute\Groups; #[ORM\Entity(repositoryClass: ComposantRepository::class)] #[ORM\Table(name: 'composants')] #[ORM\HasLifecycleCallbacks] -#[ApiFilter(SearchFilter::class, properties: ['name' => 'partial', 'reference' => 'partial', 'typeComposant' => 'exact'])] +#[ApiFilter(SearchFilter::class, properties: ['name' => 'ipartial', 'reference' => 'ipartial', 'typeComposant' => 'exact'])] #[ApiFilter(OrderFilter::class, properties: ['name', 'createdAt'])] #[ApiResource( normalizationContext: ['groups' => ['composant:read']], diff --git a/src/Entity/ModelType.php b/src/Entity/ModelType.php index 5eb4ca4..719a5d9 100644 --- a/src/Entity/ModelType.php +++ b/src/Entity/ModelType.php @@ -20,7 +20,7 @@ use Symfony\Component\Serializer\Annotation\Groups; #[ORM\Table(name: 'model_types')] #[ORM\UniqueConstraint(name: 'unique_category_name', columns: ['category', 'name'])] #[ORM\HasLifecycleCallbacks] -#[ApiFilter(SearchFilter::class, properties: ['category' => 'exact'])] +#[ApiFilter(SearchFilter::class, properties: ['category' => 'exact', 'name' => 'ipartial'])] #[ApiResource( paginationClientItemsPerPage: true, paginationMaximumItemsPerPage: 500 diff --git a/src/Entity/Piece.php b/src/Entity/Piece.php index 63d4bb1..01ef908 100644 --- a/src/Entity/Piece.php +++ b/src/Entity/Piece.php @@ -19,7 +19,7 @@ use Symfony\Component\Serializer\Attribute\Groups; #[ORM\Entity(repositoryClass: PieceRepository::class)] #[ORM\Table(name: 'pieces')] #[ORM\HasLifecycleCallbacks] -#[ApiFilter(SearchFilter::class, properties: ['name' => 'partial', 'reference' => 'partial', 'typePiece' => 'exact'])] +#[ApiFilter(SearchFilter::class, properties: ['name' => 'ipartial', 'reference' => 'ipartial', 'typePiece' => 'exact'])] #[ApiFilter(OrderFilter::class, properties: ['name', 'createdAt'])] #[ApiResource( normalizationContext: ['groups' => ['piece:read']], @@ -195,7 +195,7 @@ class Piece $this->product = $product; if ($product && empty($this->productIds)) { - $productId = $product->getId(); + $productId = $product->getId(); $this->productIds = $productId ? [$productId] : null; } @@ -221,7 +221,7 @@ class Piece static fn ($value) => is_string($value) ? trim($value) : '', $this->productIds, ), - static fn (string $value) => $value !== '', + static fn (string $value) => '' !== $value, ), ); } @@ -241,12 +241,12 @@ class Piece static fn ($value) => is_string($value) ? trim($value) : '', $productIds, ), - static fn (string $value) => $value !== '', + static fn (string $value) => '' !== $value, ), ), ); - $this->productIds = $normalized === [] ? null : $normalized; + $this->productIds = [] === $normalized ? null : $normalized; return $this; } diff --git a/src/Entity/Product.php b/src/Entity/Product.php index edf580e..4ec00fc 100644 --- a/src/Entity/Product.php +++ b/src/Entity/Product.php @@ -19,7 +19,7 @@ use Symfony\Component\Serializer\Attribute\Groups; #[ORM\Entity(repositoryClass: ProductRepository::class)] #[ORM\Table(name: 'products')] #[ORM\HasLifecycleCallbacks] -#[ApiFilter(SearchFilter::class, properties: ['name' => 'partial', 'reference' => 'partial', 'typeProduct' => 'exact'])] +#[ApiFilter(SearchFilter::class, properties: ['name' => 'ipartial', 'reference' => 'ipartial', 'typeProduct' => 'exact'])] #[ApiFilter(OrderFilter::class, properties: ['name', 'createdAt'])] #[ApiResource( normalizationContext: ['groups' => ['product:read']],