Anomalie #739
Problème avec l'import de membres
100%
Description
Bonjour
et d'abord merci pour Galette qui a l'air de fonctionner parfaitement.
Cependant je crois avoir débusqué un bug relatif au statut lors de l'import avec le modèle par défaut :
------------------
127.0.0.1 - 2013-10-28 23:06:36 - 3 - [Galette\IO\CsvIn] Une erreur est survenue lors de l'enregistrement de l'adhérent ligne 1 (DUPONT Jean) :
127.0.0.1 - 2013-10-28 23:07:13 - 3 - Something went wrong :'( | SQLSTATE23000: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`galette`.`galette_adherents`, CONSTRAINT `galette_adherents_ibfk_1` FOREIGN KEY (`id_statut`) REFERENCES `galette_statuts` (`id_statut`))
#0 /home/xxx/galette/galette/includes/Zend-1.12.3/Zend/Db/Statement.php(303): Zend_Db_Statement_Pdo->execute(Array)
#1 /home/xxx/galette/galette/includes/Zend-1.12.3/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array)
#2 /home/xxx/galette/galette/includes/Zend-1.12.3/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `ga...', Array)
#3 /home/xxx/galette/galette/includes/Zend-1.12.3/Zend/Db/Adapter/Abstract.php(576): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `ga...', Array)
#4 /home/xxx/galette/galette/lib/Galette/Entity/Adherent.php(1154): Zend_Db_Adapter_Abstract->insert('galette_adheren...', Array)
#5 /home/xxx/galette/galette/lib/Galette/IO/CsvIn.php(336): Galette\Entity\Adherent->store()
#6 /home/xxx/galette/galette/lib/Galette/IO/CsvIn.php(191): Galette\IO\CsvIn->_storeMembers('galette_import...')
#7 /home/xxx/galette/galette/import.php(107): Galette\IO\CsvIn->import('galette_import_...', Array, false)
--------------
En revanche,si je créer un nouveau modèle en supprimant le statut, cela fonctionne correctement.
Associated revisions
History
Updated by Johan Cwiklinski about 6 years ago
- Assignee deleted (
Johan Cwiklinski) - Target version deleted (
0.7.7)
L'erreur n'est pas très claire, mais il ne s'agit pas d'un bogue à priori. L'identifiant du statut renseigné doit exister dans la base (c'est valable aussi pour d'autres champs, tels que le titre).
Quelle était donc la valeur du statut qui ne passait pas ?
Updated by Simon Georget about 6 years ago
OK, il s'agit d'une incompréhension de ma part. Je pensais qu'un statut par défaut serait attribué en fonction du champ date_crea.
Maintenant que j'ai davantage compris le fonctionnement de Galette, je vois qu'il ne s'agit pas d'un bug. Désolé pour le dérangement
Et encore merci pour Galette
Updated by Johan Cwiklinski about 6 years ago
- Assignee set to Johan Cwiklinski
- Category deleted (
Base de données)
Je laisse ce ticket ouvert, car bien qu'il n'y ait pas ici d'anomalie à proprement parler, il y a quand même de petites améliorations à apporter sur cet aspect.
Updated by Simon Georget about 6 years ago
L'affichage d'un message d'erreur explicite (indiquant qu'il s'agit de contraintes sur la bdd non satisfaite) serait déjà pas mal
Ou alors, tu pourrais attribuer le statut par défaut de membre actif !?
Updated by Johan Cwiklinski about 6 years ago
- Target version set to 0.7.7
Simon Georget a écrit :
Ou alors, tu pourrais attribuer le statut par défaut de membre actif !?
C'est déjà le cas si rien n'est spécifié. En cas de valeur erronnée, je préfère ne pas essayer de deviner ce qui aurait du être la valeur ; c'est à la personne qui effectue l'import de vérifier ce point :)
Updated by Johan Cwiklinski about 6 years ago
- Status changed from Nouveau to Résolu
- % Done changed from 0 to 100
Appliqué par commit cb1e2b84984d04f121674547656e829617aee706.
Check if status exists when creating member; fixes #739