diff --git a/frontend/i18n/locales/fr.json b/frontend/i18n/locales/fr.json
index 1c3fbcc..d35d48f 100644
--- a/frontend/i18n/locales/fr.json
+++ b/frontend/i18n/locales/fr.json
@@ -917,6 +917,7 @@
"company": "Société",
"email": "Email",
"phone": "Téléphone",
+ "website": "Site web",
"street": "Rue",
"city": "Ville",
"postalCode": "Code postal",
@@ -932,7 +933,23 @@
"lost": "Perdu"
},
"validation": {
- "nameRequired": "Le nom est requis"
+ "nameRequired": "Le nom est requis",
+ "companyRequired": "La société est requise"
+ }
+ },
+ "prestataires": {
+ "created": "Prestataire créé avec succès.",
+ "updated": "Prestataire mis à jour avec succès.",
+ "deleted": "Prestataire supprimé avec succès.",
+ "addPrestataire": "Ajouter un prestataire",
+ "editPrestataire": "Modifier un prestataire",
+ "deleteConfirmTitle": "Supprimer le prestataire",
+ "deleteConfirmMessage": "Êtes-vous sûr de vouloir supprimer le prestataire « {name} » ? Cette action est irréversible.",
+ "fields": {
+ "name": "Nom / Société",
+ "email": "Email",
+ "phone": "Téléphone",
+ "website": "Site web"
}
},
"directory": {
@@ -941,6 +958,7 @@
"info": "Informations",
"clients": "Clients",
"prospects": "Prospects",
+ "prestataires": "Prestataires",
"contact": "Contact",
"address": "Adresse",
"report": "Rapport"
@@ -949,12 +967,16 @@
"fields": {
"name": "Nom",
"email": "Email",
- "phone": "Téléphone"
+ "phone": "Téléphone",
+ "website": "Site web"
}
},
"validation": {
"nameRequired": "Le nom est requis.",
- "subjectRequired": "L'objet est requis."
+ "subjectRequired": "L'objet est requis.",
+ "emailInvalid": "Adresse email invalide.",
+ "phoneInvalid": "Numéro de téléphone invalide (ex. 0549200910).",
+ "urlInvalid": "URL invalide (ex. https://exemple.fr)."
},
"clients": {
"add": "Ajouter un client",
@@ -965,6 +987,10 @@
"empty": "Aucun prospect trouvé.",
"allStatuses": "Tous les statuts"
},
+ "prestataires": {
+ "add": "Ajouter un prestataire",
+ "empty": "Aucun prestataire trouvé."
+ },
"contacts": {
"add": "Ajouter un contact",
"item": "Contact {n}",
@@ -984,6 +1010,8 @@
"item": "Adresse {n}",
"saved": "Adresse enregistrée.",
"deleted": "Adresse supprimée.",
+ "streetNotFound": "Aucune adresse trouvée — saisie libre possible.",
+ "autocompleteUnavailable": "Recherche d'adresse indisponible : saisissez l'adresse manuellement.",
"fields": {
"label": "Libellé",
"street": "Rue",
diff --git a/frontend/modules/directory/components/CommercialReportDrawer.vue b/frontend/modules/directory/components/CommercialReportDrawer.vue
index 57be6f0..2e11bc2 100644
--- a/frontend/modules/directory/components/CommercialReportDrawer.vue
+++ b/frontend/modules/directory/components/CommercialReportDrawer.vue
@@ -54,7 +54,7 @@ import { useCommercialReportService } from '~/modules/directory/services/commerc
const props = defineProps<{
modelValue: boolean
report: CommercialReport | null
- owner: { client?: string, prospect?: string }
+ owner: { client?: string, prospect?: string, prestataire?: string }
}>()
const emit = defineEmits<{
diff --git a/frontend/modules/directory/components/CommercialReportTab.vue b/frontend/modules/directory/components/CommercialReportTab.vue
index 54d406b..7a61e51 100644
--- a/frontend/modules/directory/components/CommercialReportTab.vue
+++ b/frontend/modules/directory/components/CommercialReportTab.vue
@@ -141,7 +141,7 @@ import { useCommercialReportService } from '~/modules/directory/services/commerc
import { useReportDocumentService } from '~/modules/directory/services/report-documents'
const props = defineProps<{
- owner: { client?: string, prospect?: string }
+ owner: { client?: string, prospect?: string, prestataire?: string }
canManage: boolean
}>()
diff --git a/frontend/modules/directory/components/DirectoryAddressBlock.vue b/frontend/modules/directory/components/DirectoryAddressBlock.vue
index f5d7b3d..54fafd8 100644
--- a/frontend/modules/directory/components/DirectoryAddressBlock.vue
+++ b/frontend/modules/directory/components/DirectoryAddressBlock.vue
@@ -19,13 +19,33 @@
:readonly="readonly"
@update:model-value="update('label', $event)"
/>
-