Checkpoint: Ajout du bouton "Tester le rappel" dans AdminSequences.tsx :

- Ajout de la mutation testerRappelMutation connectée à la procédure tRPC rappels.testerRappel
- Ajout de l'icône Send dans les imports
- Ajout du bouton dans la colonne Actions du tableau des séquences (entre Edit et Delete)
- Le bouton envoie un email de test à l'administrateur avec les données de la séquence sélectionnée
- Validation : le bouton est désactivé si la séquence n'a pas de dates configurées
- Feedback utilisateur : toast de succès ou d'erreur après l'envoi
- Mise à jour du fichier todo.md pour marquer la tâche comme terminée
This commit is contained in:
Manus
2026-01-15 11:48:33 -05:00
parent 6068b0772a
commit b9804ada14
8 changed files with 215 additions and 5 deletions

View File

@@ -38,9 +38,14 @@ export type InsertUser = typeof users.$inferInsert;
*/
export const passwordResetTokens = mysqlTable("passwordResetTokens", {
id: int("id").autoincrement().primaryKey(),
userId: int("userId").notNull(),
/** Email de l'utilisateur qui demande la réinitialisation */
email: varchar("email", { length: 320 }).notNull(),
/** Token unique généré pour la réinitialisation */
token: varchar("token", { length: 255 }).notNull().unique(),
/** Date d'expiration du token (24h après création) */
expiresAt: timestamp("expiresAt").notNull(),
/** Indique si le token a déjà été utilisé */
used: boolean("used").default(false).notNull(),
createdAt: timestamp("createdAt").defaultNow().notNull(),
});
@@ -553,3 +558,4 @@ export const historiqueAttestations = mysqlTable("historiqueAttestations", {
export type HistoriqueAttestation = typeof historiqueAttestations.$inferSelect;
export type InsertHistoriqueAttestation = typeof historiqueAttestations.$inferInsert;