Projet

Général

Profil

Anomalie #680

Galette v0.7.5. Impossible de détruire la fiche d'un membre spécifique (foreign key).

Ajouté par Roland Telle il y a environ 4 ans. Mis à jour il y a presque 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
Core
Version cible:
Début:
19/08/2013
Echéance:
% réalisé:

100%

Version utilisée:

Description

Dans la page "Gestion des membres", il existe deux manières de supprimer une fiche :
  1. 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 ?
  2. 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`))

Révisions associées

Révision 475bbbd3
Ajouté par Johan Cwiklinski il y a presque 4 ans

No error was displayed on remove member error

Display a specific message if member still hae dependencies (on mailings for example); fixes #680

Historique

#1 Mis à jour par Johan Cwiklinski il y a environ 4 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.

#2 Mis à jour par Roland Telle il y a environ 4 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 ...

le mailing doit être supprimé auparavant.

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 :-)

#3 Mis à jour par Johan Cwiklinski il y a environ 4 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 ;)

#4 Mis à jour par Johan Cwiklinski il y a presque 4 ans

  • Statut changé de Nouveau à Résolu
  • % réalisé changé de 0 à 100

#5 Mis à jour par Johan Cwiklinski il y a presque 4 ans

  • Version cible mis à 0.7.6

#6 Mis à jour par Johan Cwiklinski il y a presque 4 ans

  • Statut changé de Résolu à Fermé

Formats disponibles : Atom PDF