+ )
);
})
)}
diff --git a/client/src/components/mail-form/index.tsx b/client/src/components/mail-form/index.tsx
index 55089cf..7696f1e 100644
--- a/client/src/components/mail-form/index.tsx
+++ b/client/src/components/mail-form/index.tsx
@@ -1,6 +1,5 @@
import { Button, Col, Row, TextArea, ButtonGroup } from "@dataesr/dsfr-plus";
import { useState } from "react";
-import TemplateResponseModal from "./template";
function EmailForm({
userResponse,
@@ -9,24 +8,94 @@ function EmailForm({
sendEmail,
contribution,
}) {
- const [isModalOpen, setModalOpen] = useState(false);
+ const [selectedTemplate, setSelectedTemplate] = useState("");
- const openModal = () => setModalOpen(true);
- const closeModal = () => setModalOpen(false);
+ const templates = [
+ { label: "Accès API scanR", value: "api" },
+ { label: "scanR Ne gère pas cela", value: "desole" },
+ { label: "Mauvais interlocuteur", value: "interlocuteur" },
+ { label: "Merci !", value: "merci" },
+ { label: "Accès thèse", value: "thèse" },
+ { label: "Accès documents", value: "documents" },
+ { label: "Mise à jour", value: "maj" },
+ { label: "Publication liées", value: "publications" },
+ { label: "Contenue retiré", value: "suppression" },
+ ];
+
+ const handleTemplateChange = (e) => {
+ const value = e.target.value;
+ setSelectedTemplate(value);
+
+ if (value === "api") {
+ setUserResponse(`Bonjour,
+ Nous nous réjouissons que les données de scanR suscitent l'intérêt de l'ISC dont nous suivons les travaux.
+ L'accès aux API scanR est possible avec le compte [Identifiant] et le mot de passe [Mot de passe].
+ Les API sont documentées ici https://scanr.enseignementsup-recherche.gouv.fr/docs/overview.
+ N'hésitez pas à nous solliciter pour des compléments d'informations.
+ Cordialement,
+ Département Ingénierie et science des données`);
+ }
+ if (value === "desole") {
+ setUserResponse(
+ `Bonjour, désolé scanR ne gère pas cela. Cordialement L'équipe scanR`
+ );
+ }
+ if (value === "interlocuteur")
+ setUserResponse(
+ `Bonjour, Il faut vous adresser directement au laboratoire de votre choix. Votre message via scanR ne parvient qu'aux gestionnaires de l'application scanR (et pas au laboratoire). Pour joindre les laboratoires, partez plutôt de leur site web propre. Cordialement L'équipe scanR`
+ );
+ if (value === "merci")
+ setUserResponse(
+ `Bonjour, merci pour ce retour encourageant ! Cordialement L'équipe scanR`
+ );
+ if (value === "thèse")
+ setUserResponse(
+ `Bonjour, Vous trouverez ici XXXXXXXXXXXXXXXXXXXX les renseignements pour accéder à la thèse Cordialement L'équipe scanR`
+ );
+ if (value === "documents")
+ setUserResponse(
+ `Bonjour scanR ne dispose pas des documents indexées, mais uniquement des métadonnées les décrivant. Cordialement L'équipe scanR`
+ );
+ if (value === "maj")
+ setUserResponse(
+ `Bonjour, Merci pour ce signalement. Les modifications seront visibles à la prochaine actualisation du site, d'ici quelques semaines. Cordialement L'équipe scanR`
+ );
+ if (value === "publications")
+ setUserResponse(
+ `Bonjour, merci pour votre contribution. Les publications seront liées dans les prochains jours. Cordialement L'équipe scanR`
+ );
+ if (value === "suppression")
+ setUserResponse(
+ `Bonjour, votre thèse et votre profil auteur ont bien été retirés. Cordialement L'équipe scanR`
+ );
+ };
return (
<>
{contribution?.email && (
-
+
+
)}
-
>
);
}
diff --git a/client/src/components/mail-form/template.tsx b/client/src/components/mail-form/template.tsx
deleted file mode 100644
index a4e8c99..0000000
--- a/client/src/components/mail-form/template.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-import {
- Button,
- ButtonGroup,
- Modal,
- ModalContent,
- TextInput,
-} from "@dataesr/dsfr-plus";
-import { useState } from "react";
-
-function TemplateResponseModal({ isOpen, onClose, setUserResponse }) {
- const [user, setUser] = useState("");
- const [mdp, setMdp] = useState("");
-
- const handleClick = () => {
- const responseTemplate = `Bonjour,
- Nous nous réjouissons que les données de scanR suscitent l'intérêt de l'ISC dont nous suivons les travaux.
- L'accès aux API scanR est possible avec le compte ${user} et le mot de passe ${mdp}.
- Les API sont documentées ici https://scanr.enseignementsup-recherche.gouv.fr/docs/overview.
- Cette même page donne accès à des dumps régulièrement mis à jour.
- N'hésitez pas à nous solliciter pour des compléments d'informations et à nous faire des retours sur les données et sur vos usages.
- Cordialement,
- Département Ingénierie et science des données`;
-
- setUserResponse(responseTemplate);
- onClose();
- };
-
- return (
-
-
-
Réponse Préparée pour une demande d'accès à l'api
- setUser(e.target.value)}
- placeholder="Entrez l'identifiant"
- />
- setMdp(e.target.value)}
- placeholder="Entrez le mot de passe"
- />
-
-
-
-
-
-
- );
-}
-
-export default TemplateResponseModal;
diff --git a/server/index.ts b/server/index.ts
index 73c1391..d06df82 100644
--- a/server/index.ts
+++ b/server/index.ts
@@ -40,8 +40,8 @@ app
{ name: "Productions", description: "Gestion des productions" },
{ name: "Envoi de mails", description: "Envoi de mails" },
{
- name: "Supressions de profil",
- description: "Gestion des demandes supression de profil",
+ name: "Suppressions de profil",
+ description: "Gestion des demandes suppression de profil",
},
{
name: "Mise à jour de données utilisateurs",
diff --git a/server/routes/receive-email/index.ts b/server/routes/receive-email/index.ts
index 385a105..53cc11f 100644
--- a/server/routes/receive-email/index.ts
+++ b/server/routes/receive-email/index.ts
@@ -200,6 +200,7 @@ async function processEmailContent(messageSource: string) {
return cleanedText;
}
+
export async function fetchEmails() {
const client = new ImapFlow({
host: mailHost!,
@@ -272,4 +273,4 @@ function determineCollectionName(collectionPrefix: string) {
setInterval(() => {
console.log("Vérification des emails...");
fetchEmails().catch(console.error);
-}, 10 * 1000);
+}, 60 * 1000);
diff --git a/server/routes/remove-user/get/index.ts b/server/routes/remove-user/get/index.ts
index 5ac3d63..72288e9 100644
--- a/server/routes/remove-user/get/index.ts
+++ b/server/routes/remove-user/get/index.ts
@@ -76,10 +76,10 @@ getRemoveUserRoutes.get(
},
detail: {
summary:
- "Obtenir toutes les contributions via formulaire de supression de donnée",
+ "Obtenir toutes les contributions via formulaire de suppression de donnée",
description:
"Cette route retourne une liste de toutes les contributions soumises via le formulaire de contact.",
- tags: ["Supression de profil"],
+ tags: ["Suppression de profil"],
},
}
);
diff --git a/server/routes/remove-user/get:id/index.ts b/server/routes/remove-user/get:id/index.ts
index 5963c51..8a63ce8 100644
--- a/server/routes/remove-user/get:id/index.ts
+++ b/server/routes/remove-user/get:id/index.ts
@@ -29,10 +29,10 @@ getRemoveUserByIdRoutes.get(
},
detail: {
summary:
- "Obtenir une contribution via formulaire de supression de profil par ID",
+ "Obtenir une contribution via formulaire de suppression de profil par ID",
description:
"Cette route retourne les détails d'une contribution spécifique via l'ID fourni.",
- tags: ["Supression de profil"],
+ tags: ["Suppression de profil"],
},
}
);
diff --git a/server/routes/remove-user/post/index.ts b/server/routes/remove-user/post/index.ts
index 98479e2..8e0fd49 100644
--- a/server/routes/remove-user/post/index.ts
+++ b/server/routes/remove-user/post/index.ts
@@ -108,7 +108,7 @@ postRemoveUserRoutes.post(
summary: "Créer une nouvelle demande de suppression de profil",
description:
"Cette route permet de créer une nouvelle contribution soumise via le formulaire de contact.",
- tags: ["Supression de profil"],
+ tags: ["Suppression de profil"],
},
}
);
diff --git a/stats.html b/stats.html
deleted file mode 100644
index 4692c2b..0000000
--- a/stats.html
+++ /dev/null
@@ -1,4842 +0,0 @@
-
-
-
-
-
-
-
- Rollup Visualizer
-
-
-
-
-
-
-
-
-