Anomalie #680
ferméGalette v0.7.5. Impossible de détruire la fiche d'un membre spécifique (foreign key).
100%
Description
- en cliquant le bouton placé dans la colonne "Actions", ce qui affiche le message d'avertissement suivant :
Voulez vous vraiment effacer cet adhérent de la base ? Cela effacera l'historique de ses contributions.
Pour éviter cela vous pouvez simplement désactiver son compte. Voulez vous toujours effacer cet adhérent ? - en sélectionnant la fiche et en cliquant le bouton "Supprimer", ce qui affiche le message d'avertissement suivant (différent et c'est normal) :
Voulez vous réellement effacer tous les comptes sélectionnés (ainsi que toutes les contributions associées) ?
mais dans les deux cas, la destruction d'un membre spécifique est impossible. Les logs indiquent :
Unable to delete selected member(s) |SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`xxxxxx`.`galette_mailing_history`, CONSTRAINT `galette_mailing_history_ibfk_1` FOREIGN KEY (`mailing_sender`) REFERENCES `galette_adherents` (`id_adh`))
Mis à jour par Johan Cwiklinski il y a environ 11 ans
Ce membre a envoyé un mailing.
L'erreur n'est pas très parlante, mais dans le cas présent, la suppression en cascade n'est à mon avis pas souhaitable ; le mailing doit être supprimé auparavant.
Mis à jour par Roland Telle il y a environ 11 ans
Johan Cwiklinski a écrit :
Ce membre a envoyé un mailing.
C'est la raison pour laquelle je parlais de "membre spécifique" (pas très français mais je n'étais pas inspiré sur ce coup-là) ;-)
L'erreur n'est pas très parlante,
Certes mais l'effet est là : suppression impossible.
mais dans le cas présent, la suppression en cascade n'est à mon avis pas souhaitable ;
Je veux bien le croire ...
C'est une solution radicale à laquelle un tiers ne pensera peut-être pas spontanément. Je suggère - si la suppression en cascade n'est pas envisageable - qu'un message d'alerte recommande deux solutions au choix :le mailing doit être supprimé auparavant.
- soit détruire au préalable le(s) mailing(s) dont ce membre était l'auteur,
- soit classer ce membre parmi les inactifs.
Mais faut faire quelque chose, pensé-je :-)
Mis à jour par Johan Cwiklinski il y a environ 11 ans
- Assigné à mis à Johan Cwiklinski
- Catégorie mis à Core
Roland Telle a écrit :
C'est la raison pour laquelle je parlais de "membre spécifique" (pas très français mais je n'étais pas inspiré sur ce coup-là) ;-)
Nous sommes d'accord :D
C'est une solution radicale à laquelle un tiers ne pensera peut-être pas spontanément. Je suggère - si la suppression en cascade n'est pas envisageable - qu'un message d'alerte recommande deux solutions au choix :
- soit détruire au préalable le(s) mailing(s) dont ce membre était l'auteur,
- soit classer ce membre parmi les inactifs.
Mais faut faire quelque chose, pensé-je :-)
Nous sommes d'accord ;)
Mis à jour par Johan Cwiklinski il y a environ 11 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit 475bbbd3e76945b9458151be5e48f725ef985348.