Project

General

Profile

Actions

Anomalie #1389

closed

Enregistrement des mails

Added by Olivier Peyrat over 2 years ago. Updated over 2 years ago.

Status:
Fermé
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
02/07/2020
Due date:
% Done:

0%

Estimated time:
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


Files

Défaut_enregistrement_mail.odt (108 KB) Défaut_enregistrement_mail.odt Olivier Peyrat, 02/07/2020 01:16 PM
mail_storage_test_20200211.log (8.38 KB) mail_storage_test_20200211.log Olivier Peyrat, 02/11/2020 03:47 PM
Actions #1

Updated by Johan Cwiklinski over 2 years ago

  • Status changed from Nouveau to Commentaire

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

Que disent les logs ?

Actions #2

Updated by Olivier Peyrat over 2 years ago

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'

Actions #3

Updated by Johan Cwiklinski over 2 years ago

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

Actions #4

Updated by Olivier Peyrat over 2 years ago

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

Actions #5

Updated by Johan Cwiklinski over 2 years ago

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

Actions #6

Updated by Johan Cwiklinski over 2 years ago

Salut,

Le problème est-il résolu ?

Actions #7

Updated by Olivier Peyrat over 2 years ago

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

Actions #8

Updated by Olivier Peyrat over 2 years ago

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

Actions #9

Updated by Johan Cwiklinski over 2 years ago

  • Status changed from Commentaire to Fermé

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

Actions

Also available in: Atom PDF