@@ -568,7 +600,7 @@ export default function ImportSettings() {
{emailImportAuthMode === "oauth2" && (
- Office 365 : Microsoft a désactivé l'auth basique pour Exchange Online. Utilisez ce mode avec les credentials Azure AD déjà configurés dans l'onglet Export.
+ Office 365 : Microsoft a désactivé l'auth basique pour Exchange Online. Utilisez ce mode avec les paramètres Azure AD configurés dans la carte Microsoft Azure AD au début de cette page.
- En mode OAuth2, les credentials Azure AD (Tenant ID, Client ID, Client Secret) configurés dans l'onglet Export > SharePoint seront utilisés automatiquement.
+ En mode OAuth2, les paramètres Azure AD (Tenant ID, Client ID, Client Secret) configurés dans la carte Microsoft Azure AD seront utilisés automatiquement.
)}
@@ -741,12 +773,12 @@ export default function ImportSettings() {
const result = await startEmailServiceMutation.mutateAsync();
if (result.success) {
await utils.emailImportService.status.invalidate();
- toast.success("Service démarré");
+ toast.success(result.message);
} else {
- toast.error("Impossible de démarrer le service");
+ toast.error(result.message || "Impossible de démarrer le service", { duration: 8000 });
}
- } catch {
- toast.error("Impossible de démarrer le service");
+ } catch (error: any) {
+ toast.error(error?.message || "Impossible de démarrer le service", { duration: 8000 });
}
}}
disabled={!emailImportEnabled || startEmailServiceMutation.isPending}
@@ -757,8 +789,82 @@ export default function ImportSettings() {
)}
+
+ Enregistrez les paramètres avant de démarrer. Le service ne démarre que si le test IMAP est concluant.
+
+ >
+ )}
+
+ {isAdmin && (
+
+
+
Compte source administré
+
+ Démarrez la boîte déjà configurée, même si ses paramètres appartiennent à un autre compte applicatif. Aucun identifiant n’est affiché ni recopié.
+
- )}
diff --git a/drizzle/0036_broken_rattler.sql b/drizzle/0036_broken_rattler.sql
index a98f2aa..ab22549 100644
--- a/drizzle/0036_broken_rattler.sql
+++ b/drizzle/0036_broken_rattler.sql
@@ -1,4 +1,4 @@
-CREATE TABLE `webImportSources` (
+CREATE TABLE IF NOT EXISTS `webImportSources` (
`id` int AUTO_INCREMENT NOT NULL,
`userId` int NOT NULL,
`name` varchar(100) NOT NULL,
diff --git a/todo.md b/todo.md
index 837f406..93854bb 100644
--- a/todo.md
+++ b/todo.md
@@ -956,3 +956,9 @@
- [x] Résoudre une destination par facture d’abonnement sélectionnée selon les règles actives
- [x] Préserver les paramètres globaux comme repli lorsqu’aucune règle ne correspond
- [x] Ajouter les tests de priorité et de regroupement des exports d’abonnements
+
+## Déploiement des règles d’export d’abonnements
+- [x] Synchroniser la version validée et reconstruire le service applicatif de recette
+- [x] Vérifier en recette les routes, le conteneur, le volume PDF et le flux de résolution par facture
+- [x] Synchroniser la même version et reconstruire le service applicatif de production
+- [x] Vérifier en production les routes, le conteneur, le volume PDF et le dashboard associé