Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ticket non créé après création du formulaire #832

Closed
alffonsse opened this issue Nov 22, 2017 · 46 comments
Closed

Ticket non créé après création du formulaire #832

alffonsse opened this issue Nov 22, 2017 · 46 comments
Assignees
Labels
Milestone

Comments

@alffonsse
Copy link

Bonjour,

Depuis la mise à jour de mon serveur GLPI en version 9.2.1 les formulaires saisis ne génère plus de ticket.

J'ai essayé de recréer une destination pour ce formulaire mais cela n'a rien changé.

Voici l'export du formulaire renommer au format txt :
export_formcreator_20171122_1118.txt

@btry
Copy link
Collaborator

btry commented Nov 22, 2017

Bonjour

Quelle était la version précédente de GLPI ?
Avez vous aussi mis à jour Formcreator (cela dépend de votre version précédente de GLPI) ?

Vérifiez aussi les logs: sql-errors.log, php-erros.log et ceux du serveur HTTP.

Déposez les contenus en relation avec votre problème pour que j'analyse tout cela.

Veuillez être patient, je suis sur un autre projet jusqu'à début décembre.

@alffonsse
Copy link
Author

alffonsse commented Nov 22, 2017

La version précédente de GLPI était la 9.1.6 avec formcreator 2.5.2
Je suis actuellement avec GLPI 9.2.1 et formcreator 2.6.0

Voici les erreurs qui apparaissent dans les fichiers sql-errors.log et php-errors.log lors de la création du formulaire :

formcreator-errors.log

Je n'ai pas d'erreur dans les logs d'Apache

@btry
Copy link
Collaborator

btry commented Nov 22, 2017

Parfait; je pense avoir tout ce qu'il me faut pour corriger facilement.

Pour info : des changements structurels conséquents sont en cours sur le plugin. Il n'y aura vraisemblablement pas de version 2.6.1 contrairement au plan initial. Je sortirai une version 2.7.0 beta courant décembre avec un maximum de correctifs. Il s'agit de récupérer le retard accumulé par mon indisponibilité actuelle.

Prévoyez donc de tester cette version beta si vous pouvez pour corriger un maximum de choses avant la 2.7.0 finale prévue en janvier (2e quinzaine je pense).

Beaucoup de correctifs sont déjà disponibles dans la version de développement. Vérifiez si le bug persiste avec la branche develop, mais ne l'utilisez pas en production.

@bouboufatal
Copy link

Bonjour,

Je rencontre le meme probleme, GLPI Version 9.2.0 et plugin 2.6.

Je vais jeter un oeil au log,.
Si je comprends, il n'y a pas de solution pour l'instant ?

Merci !

@btry
Copy link
Collaborator

btry commented Nov 23, 2017

Bonjour

Regardez si la version de dev corrige le souci.

@bouboufatal
Copy link

Ca marche, merci

@bouboufatal
Copy link

Bonjour,

J'ai contourné le probleme --> je me suis rendu compte que le bug apparaissait quand un titre de question contenait un apostrophe.

Du moins chez moi j'ai fait des test. Avec " ' ", pas de création de ticket, et sans cela passe.

@btry
Copy link
Collaborator

btry commented Dec 1, 2017

Bonjour à tous

Je ne reproduis définitivement pas. J'ai utilisé GLPI 9.2.1, formcreator 2.6.0. Je pense que le souci peut apparaitre avec des formulaires créés avec des versions antérieures à 2.6.0.

  • J'ai besoin de vos retours sur l'ancienneté des formulaires impactés: avec quelle version ont ils été créés.

  • Je voudrais aussi que l'un d'entre vous crée un formulaire avec un ticket cible dont la description contient une simple quote.

  • J'ai aussi besoin de vérifier que vous êtes en mode texte riche. A priori, désactiver le texte riche contourne le bug.

Je suis en attente de retours.

@alffonsse
Copy link
Author

alffonsse commented Dec 1, 2017

Bonjour

Je ne me souviens pas de la version avec laquelle j'ai créé mes formulaires. Y a-t-il un endroit où je peux récupérer cette info ?

Pour l'essai je viens de créer un nouveau formulaire dont le titre d'une des questions est "Système d'exploitation" est j'ai bien une erreur lors de l'insertion en base car la requête SQL générée est :
INSERT INTO glpi_tickets (requesttypes_id,name,content,entities_id,status,urgency,impact,priority,users_id_lastupdater,users_id_recipient,itilcategories_id,date,global_validation,type,date_creation,date_mod) VALUES ('7','Nouvelle demande de test','Données du formulairen=================nnÀ remplir par le demandeurn---------------------------------n1) Nom du serveur : server01nn2) Nombre de vCPUs : 2nn3) Quantité de RAM : 2nn4) Taille du disque système : 32nn5) Type de serveur : Prodnn6) Système d'exploitation : Debian 9','0','2','3','3','3','200','200','0','2017-12-01 09:39:00','1','2','2017-12-01 09:39:00','2017-12-01 09:39:00')
L'apostrophe pose bien problème sur cette requête car la partie "exploitation : Debian 9" n'est plus échappée

En renommant le champ "Système d'exploitation" en "OS" la création du ticket se fait bien.

Concernant le texte riche où puis-je vérifier cela ?

@btry
Copy link
Collaborator

btry commented Dec 1, 2017

Bonjour

La version du plugin à la création d'un formulaire n'est stockée nulle part, car il n'y a aucun besoin de le faire. Pour l'instant j'ai juste besoin de savoir si les formulaires qui mi'intéressent sont créés par une ancienne version. Savoir laquelle exactement importe peu.

Pour vérifier le mode texte riche, il faut aller dans les réglages de GLPI : configuration > général > (de mémoire, obglet assistance).

C'est facile à vérifier en créant un ticket. Le champ description d'un ticket affiche une barre d'outils en mode texte riche. Sans ce mode, c'est une simple zone de texte, sans fonctionnalité.

@alffonsse
Copy link
Author

Mes formulaires ont été créés il y a environ 6 mois pour ma part.

Le mode texte riche est désactivé sur mon serveur.

@btry
Copy link
Collaborator

btry commented Dec 4, 2017

Bonjour

Je pense avoir identifié le souci; je suis sur la création d'un correctif

btry added a commit to btry/formcreator that referenced this issue Dec 26, 2017
@btry
Copy link
Collaborator

btry commented Dec 26, 2017

Bonjour

Essayez ce fix: #868

Il faut procéder à un upgrade de formcreator après avoir installé les fichiers de cette révision. Sur un serveur de test, faites un backup, mettez à jour le plugin avec le bouton "Upgrade". Si il n'est pas disponible, trouvez la ligne de Formcreator d ans la table glpi_plugins et mettez la valeur state à 6.

Le patch va supprimer les entités HTML de tous les noms de questions. Une fois fait, le formulaire doit fonctionner correctement.

J'attends vos retours.

@btry btry added the bug label Dec 26, 2017
@btry btry added this to the 2.6.1 milestone Dec 26, 2017
@btry btry self-assigned this Dec 26, 2017
@btry btry modified the milestones: 2.6.1, 2.7.0 Jan 2, 2018
@alffonsse
Copy link
Author

Bonjour,

Mes problèmes semblent être corrigés suite à la mise à jour du plugin dans le version 2.6.1 que vous venez de publier

Merci pour le boulot effectué :)

@btry btry removed this from the 2.7.0 milestone Jan 2, 2018
@btry
Copy link
Collaborator

btry commented Jan 2, 2018

Bonjour

Donc ce bug était un doublon d'un autre. C'est une bonne novuelle, car je voulais reprendre les recherche sous peu. Merci pour le retour.

@btry btry closed this as completed Jan 2, 2018
@OlivierPDL
Copy link

Bonjour
Malgré l'installation et forcer la mise à jour du plugin en 2.6.1 sur une version GLPI 9.2.1, je rencontre le même souci que les deux autres personnes. Les formulaires saisis ne permettent pas la création d'un ticket erreur impossible de générer les destinations. Les formulaires ont été crées sur la version 2.6.1 du Plugin. J'ai réalisé un formulaire très simple sans accès et il fonctionne sans pb.
Que me conseillez-vous ?

@btry
Copy link
Collaborator

btry commented Jan 26, 2018

Bonjour

Si vous arrivez à créer un formulaire le plus simple possible pouvant provoquer le bug, exportez le et déposez le ici. Sinon envoyez le formulaire qui vous sert en production et provoquant le bug.

@OlivierPDL
Copy link

Ci-joint le formulaire posant souci
export_formcreator_20180126_1829.json.txt

@OlivierPDL
Copy link

Pour info, le même formulaire en enlevant tous les accès et les caractères spéciaux fonctionne sans pb. Ci-joint le formulaire sans les accès
Sans_accent_export_formcreator_20180126_1850.json.txt

@OlivierPDL
Copy link

Sans les accents :-)

@btry
Copy link
Collaborator

btry commented Jan 26, 2018

Vu vos observations, il ya très certainement des erreurs dans sql-errors.log.

Regardez les logs, et déposez ici les erreurs correspondant. Attention aux textes contenus dans les requêtes (si besoin de confidentialité).

Ce qui m'intéresse dans ces requêtes :

  • les caractères encodés en entités HTML (&xxx;),
  • les caractères accentués,
  • les simples quotes.

@odhuho
Copy link

odhuho commented Apr 20, 2018

Bonjour,
Je rencontre encore ce problème malgré l'utilisation de la dernière version (GLPI 9.2.2 installé depuis les dépôts Remi et plugin Formulaires 2.6.2).
J'avais plusieurs formulaires qui fonctionnait bien auparavant mais qui désormais renvoient l'erreur

Ce formulaire ne fonctionne plus et lors de la création de ticket, je reçois un message d'erreur "Impossible de générer les destinations !".

Après avoir lu cette discussion, j'ai fait plusieurs tests avec un formulaire ultra-simple :

  • Nom de formulaire, Section de question, Question et Destination sans apostrophes : OK
  • Nom de formulaire avec apostrophe, Section de question, Question et Destination sans apostrophes : OK
  • Section de question avec apostrophe, Nom de formulaire, Question et Destination sans apostrophes : NOK
  • Question avec apostrophe, Nom de formulaire, Section de question, Destination sans apostrophes : OK
  • Destination avec apostrophe, Nom de formulaire, Section de question, Question sans apostrophes : OK

Seul la présence d'une apostrophe dans le nom de la Section de question génère cette erreur. L'erreur est remontée dans /var/log/glpi/sql-errors.log

*** MySQL query error: SQL: INSERT INTOglpi_tickets (requesttypes_id,name,content,entities_id,status,urgency,impact,priority,users_id_lastupdater,users_id_recipient,itilcategories_id,date,global_validation,type,date_creation,date_mod) VALUES ('7','Test sans apostrophe','Données du formulaire\n=================\n\n\nSection test avec l'apostrophe\n---------------------------------\n1) Test sans apostrophe : Section test\n\n','0','1','3','3','3','851','851','0','2018-04-20 09:38:37','1','1','2018-04-20 09:38:37','2018-04-20 09:38:37') Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'apostrophe\n---------------------------------\n1) Test sans apostrophe : Section' at line 2 Backtrace : inc/commondbtm.class.php:504 inc/commondbtm.class.php:928 CommonDBTM->addToDB() ...ins/formcreator/inc/targetticket.class.php:1205 CommonDBTM->add() plugins/formcreator/inc/form_answer.class.php:967 PluginFormcreatorTargetTicket->save() plugins/formcreator/inc/form_answer.class.php:703 PluginFormcreatorForm_Answer->generateTarget() plugins/formcreator/inc/form.class.php:1174 PluginFormcreatorForm_Answer->saveAnswers() plugins/formcreator/front/form.form.php:91 PluginFormcreatorForm->saveForm()

Ci-joint le formulaire fautif.
Test_avec_section_apostrophe-NOK-export_formcreator_20180420_0936.zip

Pour pousser les tests, j'ai testé avec d'autres caractères spéciaux (:^)+#&};]"($,_@%!{<`?=[*>-/.~) : aucun soucis.

@btry
Copy link
Collaborator

btry commented Apr 20, 2018

Bonjour

Le souci vient de l'apostrophe qui délimite une chaine de caractères. Il y a encore des soucis d'échappement à résoudre. J'ai eu cette semaine un retour sur 3 cas bien identifiés qui posent problème.

Je m'en occupe lundi, je traiterai dans la foulée votre retour et sortirai la release 2.6.3 avec ces corrections.

@btry btry reopened this Apr 20, 2018
@btry btry modified the milestones: 2.6.2, 2.6.3 Apr 20, 2018
@odhuho
Copy link

odhuho commented Apr 20, 2018

Merci pour cette réponse extrêment rapide ! Je surveillerai la sortie de la nouvelle version.

Bon courage pour le travail.

@btry
Copy link
Collaborator

btry commented Apr 23, 2018

Bonjour

@odhuho Le souci d'apostrophe dans les noms de section est déjà résolu dans la branche de développement.

@OlivierPDL
Copy link

OlivierPDL commented Apr 23, 2018 via email

@btry
Copy link
Collaborator

btry commented Apr 23, 2018

Bonjour

Le problème que j'ai identifié concerne les apostrophes, pas les parenthèse. Pouvez vous clarifier ?

Si vous avez testé la verion de éveloppeemnt, avez-vous pensé à lancer le script d'upgrade ? Il fait une modification d'encodage des titres de sections. Sans cette modification le problème va certainement persister.

@OlivierPDL
Copy link

OlivierPDL commented Apr 23, 2018 via email

@btry
Copy link
Collaborator

btry commented Apr 23, 2018

Il arait fallu créer un ticket pour ce souci de parenthèse, car dans ce ticket, le souci était clairement un souci d'apostrophe non échappée.

Avez vous possibilité de faire un essai avec la branche de développement rapidement, pendant que je m'occupe des autres soucis ? Je compte sortir la release 2.6.3 aujourd'hui ou demain. C'est l'occasion (si bug identifié) de corriger cela pour cette release.

@btry
Copy link
Collaborator

btry commented Apr 23, 2018

@OlivierPDL

Je viens de faire un test. Pour moi la version de développement fonctionne. J'ai repris par copier / coller votre exemple Pièces jointes ( message d’erreur ). Je pense que votre souci était l'apostrophe contenue dans le texte, pas les parenthèses.

Je vous invite à essayer la branche develop et faire un retour pour valider que les parenthèses et les apostrophes fonctionnent bien.

@OlivierPDL
Copy link

OlivierPDL commented Apr 23, 2018 via email

@btry
Copy link
Collaborator

btry commented Apr 30, 2018

Bonjour

Peut on fermer le ticket ?

@btry btry modified the milestones: 2.6.3, 2.7.0 Apr 30, 2018
@OlivierPDL
Copy link

OlivierPDL commented Apr 30, 2018 via email

@btry
Copy link
Collaborator

btry commented Apr 30, 2018

Bonjour

J'ai livré la version 2.6.3 ce matin. Les bugs signalés la semaine dernière n'ont pas encore été traités.

Je continuerai les corrections pour la prochaine release 2.6.4 ou 2.7.0 selon les retours que j'aurai dans les 2 semaiens à venir.

@OlivierPDL
Copy link

OlivierPDL commented Apr 30, 2018 via email

@odhuho
Copy link

odhuho commented Apr 30, 2018

Testé à l'instant la version 2.6.3. Je ne recontre plus de problème avec les apostrophes dans les noms de section.

Un grand merci !

@btry
Copy link
Collaborator

btry commented Apr 30, 2018

Parfait, alors je peux clore ce ticket !

@Sicoval31
Copy link

Bonsoir,
j'ai la même erreur avec un nouveau formulaire créé avec la version 2.6.5 sur un GLPI 9.3.2
4 questions, 1 destination simple. Pas d'accent ni de quote nulle part
Les formulaires créés avec une version précédente fonctionnent ...

voici ce que me remonte le php errors.log:

PHP Fatal error: Uncaught Error: Call to a member function fetch_assoc() on boolean in C:\wamp\www\glpi_test\inc\dbmysql.class.php:318
Stack trace:
#0 C:\wamp\www\glpi_test\plugins\formcreator\inc\targetbase.class.php(798): DBmysql->fetch_assoc(false)
#1 C:\wamp\www\glpi_test\plugins\formcreator\inc\targetticket.class.php(1117): PluginFormcreatorTargetBase->parseTags('[LICENCE] - dem...', Object(PluginFormcreatorForm_Answer))
#2 C:\wamp\www\glpi_test\plugins\formcreator\inc\form_answer.class.php(1032): PluginFormcreatorTargetTicket->save(Object(PluginFormcreatorForm_Answer))
#3 C:\wamp\www\glpi_test\plugins\formcreator\inc\form_answer.class.php(748): PluginFormcreatorForm_Answer->generateTarget()
#4 C:\wamp\www\glpi_test\plugins\formcreator\inc\form.class.php(1220): PluginFormcreatorForm_Answer->saveAnswers(Array)
#5 C:\wamp\www\glpi_test\plugins\formcreator\front\form.form.php(123): PluginFormcreatorForm->saveForm(Array)
#6 {main}
thrown in C:\wamp\www\glpi_test\inc\dbmysql.class.php on line 318

@btry
Copy link
Collaborator

btry commented Jan 3, 2019

Bonjour

Il y a probableùment une autre erreur en amont, présente dans sql-errors.log.

Essayez de redescendre à la version 2.6.4 car la version 2.6.5 contient quelques regressions. Pas de plantage connu à ce jour, mais sait-on jamais.

Je vous invite à metre en test la branche develop du plugin (future 2.7.0 dont une beta a déjà été livrée recemment). Cette version élimine les principaux problèmes rencontrés avec les version 2.6.x

@Sicoval31
Copy link

Sicoval31 commented Jan 4, 2019

Probleme identique avec la 2.7.0 issue de la branche develop.
Je vais voir si je peux redescendre en 2.6.4
apres passage en 2.6.4, le ticket ne se crée toujours pas
reinstallation de la 2.7.0 beta depuis la 2.6.4, plus d'erreur de création de tables, mais toujours pas de création de tickets !

@btry
Copy link
Collaborator

btry commented Jan 4, 2019

@Sicoval31

pouvez vous ouvrir un autre ticket pour repartir de zéro ? Reprendre un ticket si long va poser problème pour vous aider efficacement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants