diff --git a/frontend/components/address.vue b/frontend/components/address.vue new file mode 100644 index 0000000..d014836 --- /dev/null +++ b/frontend/components/address.vue @@ -0,0 +1,82 @@ + + + diff --git a/frontend/components/address/add-address.vue b/frontend/components/address/add-address.vue deleted file mode 100644 index f32afd1..0000000 --- a/frontend/components/address/add-address.vue +++ /dev/null @@ -1,238 +0,0 @@ - - - diff --git a/frontend/components/supplier/supplier-form.vue b/frontend/components/supplier/supplier-form.vue deleted file mode 100644 index 037298c..0000000 --- a/frontend/components/supplier/supplier-form.vue +++ /dev/null @@ -1,207 +0,0 @@ - - - diff --git a/frontend/i18n/locales/fr.json b/frontend/i18n/locales/fr.json index 584efa0..87c0d3d 100644 --- a/frontend/i18n/locales/fr.json +++ b/frontend/i18n/locales/fr.json @@ -53,6 +53,12 @@ "cityRequired": "La ville est obligatoire.", "countryCodeInvalid": "Le pays doit être un code ISO2 (2 lettres)." }, + "customer": { + "list": "Impossible de récupérer la liste des clients.", + "fetch": "Impossible de récupérer le client.", + "create": "Impossible de créer le client.", + "update": "Impossible de mettre à jour le client." + }, "truck": { "list": "Impossible de récupérer la liste des camions." }, @@ -92,6 +98,10 @@ "create": "Adresse créée avec succès.", "update": "Adresse mise à jour avec succès." }, + "customer": { + "create": "Client créé avec succès.", + "update": "Client mis à jour avec succès." + }, "auth": { "update": "Utilisateur mis à jour avec succès.", "create": "Utilisateur créé avec succès.", diff --git a/frontend/pages/admin/supplier/[[id]].vue b/frontend/pages/admin/supplier/[[id]].vue index 9624710..f80fd0b 100644 --- a/frontend/pages/admin/supplier/[[id]].vue +++ b/frontend/pages/admin/supplier/[[id]].vue @@ -1,8 +1,191 @@ + diff --git a/frontend/pages/admin/supplier/address.vue b/frontend/pages/admin/supplier/address.vue index d850bd8..c13a0f3 100644 --- a/frontend/pages/admin/supplier/address.vue +++ b/frontend/pages/admin/supplier/address.vue @@ -1,7 +1,47 @@ diff --git a/frontend/pages/admin/supplier/supplier-list.vue b/frontend/pages/admin/supplier/supplier-list.vue index a13fae5..9f231f9 100644 --- a/frontend/pages/admin/supplier/supplier-list.vue +++ b/frontend/pages/admin/supplier/supplier-list.vue @@ -4,12 +4,14 @@ Ajouter -
+
{{ supplier.name }}
{{ supplier.email }}
Pas d'adresse
-
-
-
-
+
{{"—"}}
+
{{"—"}}
+
{{"—"}}
+
{{"—"}}
-
+
+ Accès réservé aux administrateurs. +
diff --git a/frontend/services/supplier.ts b/frontend/services/supplier.ts index bc3ce84..9a47e40 100644 --- a/frontend/services/supplier.ts +++ b/frontend/services/supplier.ts @@ -25,7 +25,7 @@ export async function getSupplier(id: number): Promise { }) } -export async function updateSupplier(id: number, payload: SupplierPayload): Promise { +export async function updateSupplier(id: number, payload: Partial): Promise { const api = useApi() return api.patch(`suppliers/${id}`, payload, { toastErrorKey: "errors.supplier.update", diff --git a/src/Entity/Supplier.php b/src/Entity/Supplier.php index 23c172f..5e467cd 100644 --- a/src/Entity/Supplier.php +++ b/src/Entity/Supplier.php @@ -26,6 +26,11 @@ use Symfony\Component\Serializer\Attribute\Groups; new GetCollection( normalizationContext: ['groups' => ['supplier:read']], ), + new GetCollection( + uriTemplate: '/admin/suppliers', + normalizationContext: ['groups' => ['supplier:read']], + security: "is_granted('ROLE_ADMIN')" + ), new Post( normalizationContext: ['groups' => ['supplier:read']], denormalizationContext: ['groups' => ['supplier:write']],