Skip to content

Suppression et restauration en masse

GCM ne supprime jamais définitivement les enregistrements de membres depuis le module d'actions en masse. Chaque « suppression » est une suppression douce — la ligne reçoit un horodatage deleted_at et disparaît de chaque liste déroulante et liste, mais reste dans la base de données pendant 30 jours. Pendant cette fenêtre, un administrateur peut la restaurer comme si elle n'était jamais partie.

Comment supprimer en masse

Ouvrez le module membres, filtrez ou sélectionnez les membres que vous voulez retirer, et cliquez sur Actions en masse → Supprimer.

Confirmation de suppression en masse

La boîte de dialogue de confirmation affiche :

  • Le décompte de la sélection.
  • La répartition par type de membre — pour que vous puissiez repérer un mauvais clic avant qu'il n'arrive.
  • Un bouton rouge Oui, supprimer doucement N membres.

Cliquez dessus et l'action est mise en file. Les lignes sélectionnées reçoivent deleted_at = now() et un ID utilisateur deleted_by. Elles n'apparaissent plus dans la liste des membres, dans les sélecteurs déroulants, dans les rapports, ni sur le tableau de bord.

Supprimer doucement n'est pas la même chose que marquer perdu

Supprimer un membre, c'est pour faire du nettoyage — doublons, lignes de test, erreurs. Marquer quelqu'un comme perdu enregistre qu'il a quitté l'église mais garde l'enregistrement visible et exploitable dans les rapports. Voir Membres actifs vs perdus. Ne supprimez pas en masse les personnes qui ont simplement arrêté de venir — marquez-les comme perdues à la place.

La corbeille

Les membres supprimés doucement vivent sur une page séparée : Membres → Supprimés (ou /members/deleted).

Corbeille

Chaque ligne affiche :

  • Le nom, le type de membre, l'unité org dans laquelle ils étaient.
  • Horodatage Supprimé le.
  • Utilisateur Supprimé par.
  • Jours restants jusqu'à la purge définitive.
  • Deux boutons : Restaurer et Supprimer définitivement.

Cliquez sur Restaurer sur une seule ligne, ou filtrez sur un lot et utilisez Actions en masse → Restaurer pour en ramener plusieurs d'un coup. Les lignes restaurées reçoivent deleted_at = null et réapparaissent dans les listes, les déroulants, les rapports — exactement comme elles étaient avant la suppression. Leur présence, leurs dons, leurs adhésions à des groupes et leurs assignations de ministère reviennent tous avec elles.

La fenêtre de 30 jours

Un job d'arrière-plan nocturne supprime définitivement les lignes où deleted_at < now() - interval '30 days'. Une fois qu'il s'exécute, les données sont parties — pas de restauration.

Si vous avez besoin de récupérer une ligne après 30 jours, la seule option est de restaurer depuis une sauvegarde de base de données, ce qui est un ticket de support et un processus avec SLA. Donc si vous venez de supprimer quelque chose d'important par accident, restaurez depuis la corbeille aujourd'hui.

Permissions

La suppression en masse nécessite members.delete. La restauration en masse nécessite members.restore (généralement accordée aux administrateurs uniquement). La suppression définitive nécessite members.purge et est cachée derrière une seconde confirmation qui inclut la saisie de l'identifiant de l'organisation — il n'y a pas de récupération possible après cette action.

Ne purgez pas en masse pendant les démos

Le bouton de suppression définitive n'est utile que pour effacer les données de test après une session sandbox. Sur une organisation en production, la corbeille devrait aller jusqu'à son délai naturel de 30 jours — purger tôt ferme la porte à la récupération en cas de suppression accidentelle.

Autres types d'actions en masse et suppression

Vous pouvez aussi supprimer en masse :

  • Dons — même schéma de suppression douce, fenêtre de 30 jours, mêmes barrières de permissions (donations.delete).
  • Lignes de présence — utile pour corriger une session de check-in ratée. Les lignes de présence supprimées doucement n'apparaissent pas dans les rapports.

Pour les ministères, groupes, écoles et réunions, la suppression est une action sur un seul enregistrement (pas en masse) parce que l'impact en cascade est plus large ; voir l'article « Supprimer ou archiver » de la section concernée.

Ce qui est journalisé

Chaque suppression et restauration en masse écrit une ligne par enregistrement affecté dans org_audit_log avec la clé d'action members.bulk_delete / members.bulk_restore, l'ID utilisateur de l'acteur, et l'ID du membre affecté. Le journal d'audit est là où vous tracez « qui a supprimé Mary Smith et quand ».

Prochaines étapes

  1. Assignation et présence en masse — le compagnon additif de la suppression.
  2. Surveiller les exécutions — suivez la progression, réessayez les échecs.
  3. Membres actifs vs perdus — le bon mécanisme pour « a quitté l'église », par opposition à « supprimer l'enregistrement ».