Checkpoint: Correction des erreurs tRPC qui retournaient du HTML au lieu de JSON :

- Changement du champ 'nom' en 'titre' pour les questionnaires (backend et frontend)
- Suppression de la propriété 'complete' inexistante dans reponsesQuestionnaires
- Correction du type 'provider' dans la configuration email
- Gestion des valeurs null pour le champ 'fonction' des apprenants
- Résolution de l'erreur logsRappels.email après redémarrage du serveur
This commit is contained in:
Manus
2026-01-13 03:21:23 -05:00
parent 97aeacab29
commit bd9cb15f44
5 changed files with 133 additions and 20 deletions

View File

@@ -35,7 +35,7 @@ export default function AdminQuestionnaireEdit() {
const [, navigate] = useLocation();
const questionnaireId = params?.id === "nouveau" ? null : parseInt(params?.id || "0");
const [nom, setNom] = useState("");
const [titre, setTitre] = useState("");
const [type, setType] = useState<"satisfaction" | "evaluation_pre" | "evaluation_post">("satisfaction");
const [description, setDescription] = useState("");
const [actif, setActif] = useState(true);
@@ -101,7 +101,7 @@ export default function AdminQuestionnaireEdit() {
useEffect(() => {
if (questionnaire) {
setNom(questionnaire.nom);
setTitre(questionnaire.titre);
setType(questionnaire.type);
setDescription(questionnaire.description || "");
setActif(questionnaire.actif);
@@ -130,8 +130,8 @@ export default function AdminQuestionnaireEdit() {
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
if (!nom.trim()) {
toast.error("Le nom du questionnaire est obligatoire");
if (!titre.trim()) {
toast.error("Le titre du questionnaire est obligatoire");
return;
}
@@ -141,7 +141,7 @@ export default function AdminQuestionnaireEdit() {
}
const data = {
nom,
titre,
type,
description: description || undefined,
actif,
@@ -208,11 +208,11 @@ export default function AdminQuestionnaireEdit() {
</CardHeader>
<CardContent className="space-y-4">
<div>
<Label htmlFor="nom">Nom du questionnaire *</Label>
<Label htmlFor="titre">Titre du questionnaire *</Label>
<Input
id="nom"
value={nom}
onChange={(e) => setNom(e.target.value)}
id="titre"
value={titre}
onChange={(e) => setTitre(e.target.value)}
placeholder="Ex: Questionnaire de satisfaction Manager Itinova"
required
/>