Projet

Général

Profil

Actions

Anomalie #1389

fermé

Enregistrement des mails

Ajouté par Olivier Peyrat il y a environ 4 ans. Mis à jour il y a environ 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
07/02/2020
Echéance:
% réalisé:

0%

Temps estimé:
Version utilisée:

Description

Que ce soit à partir d'un E-Mailing existant pris comme modèle ou à partir d'un nouveau, lors de l'enregistrement, l'interface indique que "l'E-Mailing a été enregistré avec succès" mais il n'apparait pas dans la liste (voir fichier joint). A noter que le problème existe depuis quelques versions de Galette et est sans doute lié à un problème de configuration ou de droits sur le serveur ou la base (?).
J'ai le même problème avec la dernière version 9.3.1 que nous avons en intégration (autre instance de galette).
Merci
Olivier


Fichiers

Mis à jour par Johan Cwiklinski il y a environ 4 ans

  • Statut changé de Nouveau à Commentaire

Je viens d'essayer sur mon instance locale, évidemment, je ne reproduit pas :/

Que disent les logs ?

Mis à jour par Olivier Peyrat il y a environ 4 ans

Bonjour,
Le log comprend ces lignes (je joins également le fichier correspondant) :
82.165.86.117 - 2020-02-11 14:34:44 - 3 - Query error: INSERT INTO `galette_mailing_history` (`mailing_sender`, `mailing_sender_name`, `mailing_sender_address`, `mailing_subject`, `mailing_body`, `mailing_date`, `mailing_recipients`, `mailing_sent`) VALUES ('246', 'APEM', '', 'test20200211-1534', 'Ceci est un test réalisé à 15h34 le 11/02/2020', '2020-02-11 15:34:44', 'a:0:{}', '0') PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'mailing_sender_name' in 'field list' in /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Connection.php:379
Stack trace:
#0 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Connection.php(379): PDO->query('INSERT INTO `ga...')
#1 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/zendframework/zend-db/src/Adapter/Adapter.php(205): Zend\Db\Adapter\Driver\Pdo\Connection->execute('INSERT INTO `ga...')
#2 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/lib/Galette/Core/Db.php(777): Zend\Db\Adapter\Adapter->query('INSERT INTO `ga...', 'execute')
#3 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/lib/Galette/Core/MailingHistory.php(518): Galette\Core\Db->execute(Object(Zend\Db\Sql\Insert))
#4 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/lib/Galette/Core/MailingHistory.php(402): Galette\Core\MailingHistory->store()
#5 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/includes/routes/members.routes.php(2349): Galette\Core\MailingHistory->storeMailing()
#6 [internal function]: Closure->{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#7 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(40): call_user_func(Object(Closure), Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#8 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/Route.php(281): Slim\Handlers\Strategies\RequestResponse->_invoke(Object(Closure), Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#9 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/includes/main.inc.php(237): Slim\Route->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#10 [internal function]: Closure->{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
#11 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Closure), Array)
#12 [internal function]: Slim\DeferredCallable->_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
#13 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
#14 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\Route->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#15 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/Route.php(268): Slim\Route->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#16 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/App.php(503): Slim\Route->run(Object(Slim\Http\Request), Object(Slim\Http\Response))
#17 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/akrabat/rka-slim-session-middleware/RKA/SessionMiddleware.php(47): Slim\App->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#18 [internal function]: RKA\SessionMiddleware->_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\App))
#19 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(RKA\SessionMiddleware), Array)
#20 [internal function]: Slim\DeferredCallable->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\App))
#21 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\App))
#22 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/includes/main.inc.php(438): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#23 [internal function]: Closure->{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#24 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Closure), Array)
#25 [internal function]: Slim\DeferredCallable->_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#26 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#27 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/includes/main.inc.php(464): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#28 [internal function]: Closure->{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#29 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Closure), Array)
#30 [internal function]: Slim\DeferredCallable->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#31 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#32 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/includes/main.inc.php(528): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#33 [internal function]: Closure->{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#34 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Closure), Array)
#35 [internal function]: Slim\DeferredCallable->_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#36 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#37 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/includes/main.inc.php(584): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#38 [internal function]: Closure->{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#39 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Closure), Array)
#40 [internal function]: Slim\DeferredCallable->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#41 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#42 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#43 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/App.php(392): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#44 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/slim/slim/Slim/App.php(297): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response))
#45 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/includes/main.inc.php(597): Slim\App->run()
#46 /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/webroot/index.php(58): require_once('/homepages/31/d...')
#47 {main}
82.165.86.117 - 2020-02-11 14:34:44 - 3 - An error occurend storing Mailing | SQLSTATE[42S22]: Column not found: 1054 Unknown column 'mailing_sender_name' in 'field list'

Mis à jour par Johan Cwiklinski il y a environ 4 ans

Olivier Peyrat a écrit :

Bonjour,
Le log comprend ces lignes (je joins également le fichier correspondant) :
82.165.86.117 - 2020-02-11 14:34:44 - 3 - Query error: INSERT INTO `galette_mailing_history` (`mailing_sender`, `mailing_sender_name`, `mailing_sender_address`, `mailing_subject`, `mailing_body`, `mailing_date`, `mailing_recipients`, `mailing_sent`) VALUES ('246', 'APEM', '', 'test20200211-1534', 'Ceci est un test réalisé à 15h34 le 11/02/2020', '2020-02-11 15:34:44', 'a:0:{}', '0') PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'mailing_sender_name' in 'field list' in /homepages/31/d205573425/htdocs/galette-0.9.3-int/galette/vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Connection.php:379

Voilà qui est intéressant. Ce champ est ajouté dans la mise à jour pour Galette 0.9.1 (https://github.com/galette/galette/blob/master/galette/install/scripts/upgrade-to-0.91-mysql.sql) ; mais s'il n'a pas été appliqué, il y a des chances que les autres non plus. Cette instance est en mode dév (la version de la base n'est pas vérifiée dans ce cas) ? Il faudrait relancer la mise à jour (en faisant un backup avant, on ne sait jamais).

Mis à jour par Olivier Peyrat il y a environ 4 ans

Bonjour,

Je suis nouvelle administrateur galette pour notre association.
J'ai du mal à comprendre ce qu'il faut faire. Pour moi, galette est déjà en version 0.9.3. Je ne vois pas comment faire une rétro-mise à jour d'une version plus ancienne (0.9.1). Je serais preneuse d'un peu plus de détails sur la façon de procéder.
Pour info, j'ai l'habitude de suivre les instruction de ./installer.php pour les montées de version, une fois avoir rapatrié le nouveau code.
Désolée pour la question peut-être naïve,

Alice Dalphinet

Mis à jour par Johan Cwiklinski il y a environ 4 ans

Salut Alice, et bienvenue :)

Tu peux te créer un compte peut-être, je pense que ce sera plus simple (il sera toujours possible d'ajouter Olivier en observateur sur les demandes pour qu'il recoive les notifications aussi - si c'était ça le problème).

Olivier Peyrat a écrit :

Bonjour,

Je suis nouvelle administrateur galette pour notre association.
J'ai du mal à comprendre ce qu'il faut faire. Pour moi, galette est déjà en version 0.9.3. Je ne vois pas comment faire une rétro-mise à jour d'une version plus ancienne (0.9.1). Je serais preneuse d'un peu plus de détails sur la façon de procéder.

On ne peut pas rejouer une mise à jour dans Galette, plus de détails en suivant.

Pour info, j'ai l'habitude de suivre les instruction de ./installer.php pour les montées de version, une fois avoir rapatrié le nouveau code.

Oui, c'est bien cela qu'il faut faire.

Désolée pour la question peut-être naïve,

Non, pas de soucis :)

Donc, votre base a un problème, il manque au moins un champ qui aurait du être ajouté lors de la mise à jour en 0.9.1 ; mais qui pour une raison ou une autre, ne l'a pas été. Plusieurs possibilités :
- une instance de Galette en mode DEV (la version de la base n'est jamais vérifiée, il faut lancer à la main, et on oublie rapidement),
- un problème lors de cette mise à jour,
- l'utilisation d'une version en cours de développement, avec mise à jour de la base avant que ce nouveau champ soit ajouté.

Voilà pour les causes. Je pense que vous vous placez dans le 3ème cas.

Pour corriger, il n'y a pas de solution miracle. Le fichier SQL que je pointe dans mon précédent message regroupe toutes les instructions SQL jouées durant la mise à jour en 0.9.1. Il faut vérifier que chacun de ces changements est bien présent dans votre base de données, et lancer la requête correspondante au besoin.

S'il ne manque au final que les champs relatifs au "sender" des mailings, ça tendrait à confirmer que vous êtes bien dans le 3ème cas, et il suffira donc de rejouer les deux requêtes pour ajouter les champs. Si ce ne sont pas les seules modifications manquantes dans ce fichier, il faudra aussi vérifier les suivants (on avisera selon ton retour).

Mis à jour par Johan Cwiklinski il y a environ 4 ans

Salut,

Le problème est-il résolu ?

Mis à jour par Olivier Peyrat il y a environ 4 ans

Salut Johan,

Je te remercie pour tes explications précises. J'ai mieux compris.
Il y avait peut-être 4 lignes qui n'avait pas été jouées, dont celles sur galette_mailing_history.

J'ai vérifié sur des mises à jour plus récentes (92 et 93) et tout semble avoir été joué pour le coup.

On se placerait donc dans le cas de figure que tu cites, et il n'y aurait pas besoin que je me réforme dans la façon de mettre galette à jour. :)

Je vais voir avec Olivier s'il vaut mieux avoir un seul compte ou bien 2 sur redmine.

Merci encore,
Alice

Mis à jour par Olivier Peyrat il y a environ 4 ans

J'ai oublié de préciser que la manipulation a résolu le problème !

Mis à jour par Johan Cwiklinski il y a environ 4 ans

  • Statut changé de Commentaire à Fermé

OK, content que ce soit résolu ; merci pour les retours :)

Actions

Formats disponibles : Atom PDF