-
-
- Accès réservé aux administrateurs.
-
-
- Aucun type de bovin.
-
-
-
-
{{ bovin.label }}
-
{{ bovin.code }}
-
-
+
+
+
+
+
+
+
+
+
+
+
+ Accès réservé aux administrateurs.
+
+
-
+
Ajouter
diff --git a/frontend/pages/admin/carrier/carrier-list.vue b/frontend/pages/admin/carrier/carrier-list.vue
index d447dff..7568cad 100644
--- a/frontend/pages/admin/carrier/carrier-list.vue
+++ b/frontend/pages/admin/carrier/carrier-list.vue
@@ -1,51 +1,62 @@
-
-
-
listes des transporteurs
+
+
listes des transporteurs
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
{{ carrier.name}}
-
{{ carrier.code }}
-
-
-
+
Ajouter
-
diff --git a/frontend/pages/admin/customer/customer-list.vue b/frontend/pages/admin/customer/customer-list.vue
index 32006b2..00c2c52 100644
--- a/frontend/pages/admin/customer/customer-list.vue
+++ b/frontend/pages/admin/customer/customer-list.vue
@@ -3,37 +3,35 @@
Liste des clients
-
-
-
-
Nom
-
Téléphone
-
Mail
-
Créé par
-
-
-
- Aucun client.
-
-
-
-
{{ customer.name || "—" }}
-
{{ customer.phone || "—" }}
-
{{ customer.email || "—" }}
-
{{ customer.createdBy?.username || "—" }}
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Accès réservé aux administrateurs.
+
diff --git a/frontend/pages/admin/supplier/supplier-list.vue b/frontend/pages/admin/supplier/supplier-list.vue
index 0dfa398..c947452 100644
--- a/frontend/pages/admin/supplier/supplier-list.vue
+++ b/frontend/pages/admin/supplier/supplier-list.vue
@@ -3,37 +3,35 @@
Liste des fournisseurs
-
-
-
-
Nom
-
Téléphone
-
Mail
-
Créé par
-
-
-
- Aucun fournisseur.
-
-
-
-
{{ supplier.name || "—" }}
-
{{ supplier.phone || "—" }}
-
{{ supplier.email || "—" }}
-
{{ supplier.createdBy?.username || "—" }}
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Accès réservé aux administrateurs.
+
diff --git a/frontend/pages/admin/user/list.vue b/frontend/pages/admin/user/list.vue
index 09bd58e..5216f72 100644
--- a/frontend/pages/admin/user/list.vue
+++ b/frontend/pages/admin/user/list.vue
@@ -3,42 +3,52 @@
Liste des utilisateurs
-
-
-
Utilisateur
-
Role
-
Statut
-
-
- Aucun utilisateur.
-
-
-
-
{{ user.username }}
-
{{ getRoleLabels(user.roles) }}
-
- Verrouillé
- Actif
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ getRoleLabels(item.roles) }}
+
+
+ Verrouillé
+ Actif
+
+
- Acces reserve aux administrateurs.
+ Accès réservé aux administrateurs.
@@ -55,19 +65,43 @@
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
-
-
-
-
{{ bovine.nationalNumber }}
-
{{ bovine.receivedWeight ?? '—' }}
-
{{ formatDate(bovine.arrivalDate) }}
-
-
-
- Aucun bovin dans cette case.
-
+
+
+
+
+
+
+
+
+
+
+ {{ formatDate(item.arrivalDate) }}
+
+
+ {{ item.receivedWeight ?? '—' }}
+
+
+
diff --git a/frontend/pages/reception/finish-reception.vue b/frontend/pages/reception/finish-reception.vue
index abf79a0..df50eb6 100644
--- a/frontend/pages/reception/finish-reception.vue
+++ b/frontend/pages/reception/finish-reception.vue
@@ -5,41 +5,126 @@
-
-
-
Numéro
-
Date et heure
-
Fournisseur
-
Adresse
-
Type réception
-
Poids
-
-
+
- {{ reception.identificationNumber}}
- {{ formatDate(reception.receptionDate) }}
- {{ reception.supplier?.name }}
- {{ reception.address?.fullAddress }}
- {{ reception.receptionType?.label }}
- {{ formatWeighing(reception) }}
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatDate(item.receptionDate) }}
+
+
+ {{ formatWeighing(item) }}
+
+
diff --git a/frontend/pages/reception/waiting-reception.vue b/frontend/pages/reception/waiting-reception.vue
index 10d7797..0b5cf98 100644
--- a/frontend/pages/reception/waiting-reception.vue
+++ b/frontend/pages/reception/waiting-reception.vue
@@ -1,43 +1,135 @@
-
-
- {{ formatDate(item.receptionDate) }}
-
-
-
-
-
+
+
+
listes des réceptions en attente
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatDate(item.receptionDate) }}
+
+
+
+
+
+
+
diff --git a/frontend/pages/shipment/finish-shipment.vue b/frontend/pages/shipment/finish-shipment.vue
index 451da2c..3df8c4d 100644
--- a/frontend/pages/shipment/finish-shipment.vue
+++ b/frontend/pages/shipment/finish-shipment.vue
@@ -5,51 +5,148 @@
-
-
-
Numéro
-
Date
-
Client
-
Adresse
-
Type d'expéditon
-
Poids
-
-
+
- {{ shipment.identificationNumber }}
- {{ shipment.shipmentDate }}
- {{ shipment.customer?.name }}
- {{ shipment.address?.fullAddress }}
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatDate(item.shipmentDate) }}
+
+
+
{{ line }}
-
- {{ formatWeighing(shipment) }}
-
+
—
+
+
+ {{ formatWeighing(item) }}
+
+
diff --git a/frontend/pages/shipment/waiting-shipment.vue b/frontend/pages/shipment/waiting-shipment.vue
index 87922e8..a3c0add 100644
--- a/frontend/pages/shipment/waiting-shipment.vue
+++ b/frontend/pages/shipment/waiting-shipment.vue
@@ -1,55 +1,147 @@
-
-
- {{ formatDate(item.shipmentDate) }}
-
-
-
-
- {{ line }}
-
-
- —
-
-
-
-
-
+
+
+
listes des expéditions en attente
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatDate(item.shipmentDate) }}
+
+
+
+
+ {{ line }}
+
+
+ —
+
+
+
+
+
+
+
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(
diff --git a/src/Entity/BovineType.php b/src/Entity/BovineType.php
index 7ea90a7..0c0b97f 100644
--- a/src/Entity/BovineType.php
+++ b/src/Entity/BovineType.php
@@ -4,6 +4,8 @@ declare(strict_types=1);
namespace App\Entity;
+use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
+use ApiPlatform\Metadata\ApiFilter;
use ApiPlatform\Metadata\ApiResource;
use ApiPlatform\Metadata\Get;
use ApiPlatform\Metadata\GetCollection;
@@ -13,6 +15,10 @@ use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Attribute\Groups;
#[ORM\Entity]
+#[ApiFilter(SearchFilter::class, properties: [
+ 'label' => 'ipartial',
+ 'code' => 'ipartial',
+])]
#[ApiResource(
operations: [
new Get(
diff --git a/src/Entity/Carrier.php b/src/Entity/Carrier.php
index befd88c..950ef09 100644
--- a/src/Entity/Carrier.php
+++ b/src/Entity/Carrier.php
@@ -4,6 +4,8 @@ declare(strict_types=1);
namespace App\Entity;
+use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
+use ApiPlatform\Metadata\ApiFilter;
use ApiPlatform\Metadata\ApiResource;
use ApiPlatform\Metadata\Get;
use ApiPlatform\Metadata\GetCollection;
@@ -14,6 +16,10 @@ use Symfony\Component\Serializer\Attribute\Groups;
#[ORM\Entity]
#[ORM\Table(name: 'carrier')]
+#[ApiFilter(SearchFilter::class, properties: [
+ 'name' => 'ipartial',
+ 'code' => 'ipartial',
+])]
#[ApiResource(
operations: [
new Get(
diff --git a/src/Entity/Customer.php b/src/Entity/Customer.php
index b14e427..ad8032b 100644
--- a/src/Entity/Customer.php
+++ b/src/Entity/Customer.php
@@ -4,6 +4,8 @@ declare(strict_types=1);
namespace App\Entity;
+use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
+use ApiPlatform\Metadata\ApiFilter;
use ApiPlatform\Metadata\ApiProperty;
use ApiPlatform\Metadata\ApiResource;
use ApiPlatform\Metadata\Get;
@@ -17,6 +19,12 @@ use Symfony\Component\Serializer\Attribute\Groups;
#[ORM\Entity]
#[ORM\Table(name: 'customer')]
+#[ApiFilter(SearchFilter::class, properties: [
+ 'name' => 'ipartial',
+ 'email' => 'ipartial',
+ 'phone' => 'ipartial',
+ 'createdBy.username' => 'ipartial',
+])]
#[ApiResource(
operations: [
new Get(
diff --git a/src/Entity/Reception.php b/src/Entity/Reception.php
index 6dc3f7e..640c0cb 100644
--- a/src/Entity/Reception.php
+++ b/src/Entity/Reception.php
@@ -5,6 +5,8 @@ declare(strict_types=1);
namespace App\Entity;
use ApiPlatform\Doctrine\Orm\Filter\BooleanFilter;
+use ApiPlatform\Doctrine\Orm\Filter\DateFilter;
+use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
use ApiPlatform\Metadata\ApiFilter;
use ApiPlatform\Metadata\ApiProperty;
use ApiPlatform\Metadata\ApiResource;
@@ -30,6 +32,14 @@ use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer;
#[ORM\HasLifecycleCallbacks]
#[ORM\Table(name: 'reception')]
#[ApiFilter(BooleanFilter::class, properties: ['isValid'])]
+#[ApiFilter(SearchFilter::class, properties: [
+ 'identificationNumber' => 'ipartial',
+ 'supplier.name' => 'ipartial',
+ 'carrier.name' => 'ipartial',
+ 'licensePlate' => 'ipartial',
+ 'receptionType.id' => 'exact',
+])]
+#[ApiFilter(DateFilter::class, properties: ['receptionDate'])]
#[ApiResource(
order: ['id' => 'DESC'],
operations: [
diff --git a/src/Entity/Shipment.php b/src/Entity/Shipment.php
index e81a2a1..f198c6b 100644
--- a/src/Entity/Shipment.php
+++ b/src/Entity/Shipment.php
@@ -5,6 +5,8 @@ declare(strict_types=1);
namespace App\Entity;
use ApiPlatform\Doctrine\Orm\Filter\BooleanFilter;
+use ApiPlatform\Doctrine\Orm\Filter\DateFilter;
+use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
use ApiPlatform\Metadata\ApiFilter;
use ApiPlatform\Metadata\ApiProperty;
use ApiPlatform\Metadata\ApiResource;
@@ -30,6 +32,14 @@ use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer;
#[ORM\HasLifecycleCallbacks]
#[ORM\Table(name: 'shipment')]
#[ApiFilter(BooleanFilter::class, properties: ['isValid'])]
+#[ApiFilter(SearchFilter::class, properties: [
+ 'identificationNumber' => 'ipartial',
+ 'customer.name' => 'ipartial',
+ 'carrier.name' => 'ipartial',
+ 'licensePlate' => 'ipartial',
+ 'shipmentType.id' => 'exact',
+])]
+#[ApiFilter(DateFilter::class, properties: ['shipmentDate'])]
#[ApiResource(
order: ['id' => 'DESC'],
operations: [
diff --git a/src/Entity/Supplier.php b/src/Entity/Supplier.php
index 318a61a..2e60707 100644
--- a/src/Entity/Supplier.php
+++ b/src/Entity/Supplier.php
@@ -4,6 +4,8 @@ declare(strict_types=1);
namespace App\Entity;
+use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
+use ApiPlatform\Metadata\ApiFilter;
use ApiPlatform\Metadata\ApiProperty;
use ApiPlatform\Metadata\ApiResource;
use ApiPlatform\Metadata\Get;
@@ -17,6 +19,12 @@ use Symfony\Component\Serializer\Attribute\Groups;
#[ORM\Entity]
#[ORM\Table(name: 'supplier')]
+#[ApiFilter(SearchFilter::class, properties: [
+ 'name' => 'ipartial',
+ 'email' => 'ipartial',
+ 'phone' => 'ipartial',
+ 'createdBy.username' => 'ipartial',
+])]
#[ApiResource(
operations: [
new Get(
diff --git a/src/Entity/User.php b/src/Entity/User.php
index 6b45805..cd8c2ea 100644
--- a/src/Entity/User.php
+++ b/src/Entity/User.php
@@ -4,6 +4,9 @@ declare(strict_types=1);
namespace App\Entity;
+use ApiPlatform\Doctrine\Orm\Filter\BooleanFilter;
+use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
+use ApiPlatform\Metadata\ApiFilter;
use ApiPlatform\Metadata\ApiResource;
use ApiPlatform\Metadata\Get;
use ApiPlatform\Metadata\GetCollection;
@@ -20,6 +23,8 @@ use Symfony\Component\Serializer\Attribute\SerializedName;
#[ORM\Entity]
#[ORM\Table(name: 'user', schema: 'public')]
+#[ApiFilter(SearchFilter::class, properties: ['username' => 'ipartial'])]
+#[ApiFilter(BooleanFilter::class, properties: ['isLocked'])]
#[ApiResource(
operations: [
new Get(
@@ -53,7 +58,8 @@ use Symfony\Component\Serializer\Attribute\SerializedName;
new GetCollection(
uriTemplate: '/admin/users',
normalizationContext: ['groups' => ['user:read']],
- security: "is_granted('ROLE_ADMIN')"
+ security: "is_granted('ROLE_ADMIN')",
+ paginationEnabled: true
),
],
normalizationContext: ['groups' => ['user:read']],