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

Bug formulaire - Accès public / anonyme #1535

Closed
Florent-afk opened this issue Oct 14, 2019 · 8 comments · Fixed by #1536
Closed

Bug formulaire - Accès public / anonyme #1535

Florent-afk opened this issue Oct 14, 2019 · 8 comments · Fixed by #1536
Assignees
Labels

Comments

@Florent-afk
Copy link

Florent-afk commented Oct 14, 2019

Bonjour,

Nous rencontrons un problème avec notre formulaire en accès public / anonyme.
Quand un utilisateur clique sur le formulaire pour la première fois, le chargement de la page se fait mais pas en totalité.

Voici l'erreur dans la console du navigateur :

Uncaught ReferenceError: pluginFormcreatorInitializeField is not defined
at HTMLDocument. (formdisplay.php?id=1:15)
at i (jquery.js:3232)
at Object.fireWith [as resolveWith] (jquery.js:3362)
at Function.ready (jquery.js:3582)
at HTMLDocument.K (jquery.js:3617)

Si l'utilisateur recharge la page, le formulaire s'affiche correctement et il n'y a aucune erreur.
En regardant, nous avons remarqué que cela se produit uniquement quand le navigateur n'a pas de cookie de session GLPI.
Si on supprime le cookie et qu'on recharge la page, le formulaire affiche la même erreur.
Quand le cookie de session est présent, aucune erreur même en rechargeant plusieurs fois la page.

Existe-t'il une solution à ce problème ?
Nos utilisateurs ne se connectent jamais sur GLPI, ils utilisent uniquement ce formulaire.

Version GLPI : 9.4.3
Version FormCreator : 2.8.3

@btry
Copy link
Collaborator

btry commented Oct 14, 2019

Bonjour

Avez vous testé la version 2.8.5 ?

Ce souci ne me parlant paas il est possible qu'il existe toujours. Pouvez vous créer un formulaire aussi simple que possible reproduisant le souci et le partager ?

@Florent-afk
Copy link
Author

En version 2.8.5 j'ai le même problème.
Je ne peux pas vous partager un formulaire, notre serveur est accessible uniquement via notre VPN.

Voici ce qu'il se passe :
Ici tout va bien (cookie de session présent)
image

Le cookie en question :
image

Si on le supprime ou qu'on vide le cache (comme un utilisateur qui n'a jamais été sur GLPI)
image

On a l'erreur suivante :
image

Si on recharge la page ça fonctionne à nouveau puisque le cookie a été créé.
Le problème c'est que la page se charge avant que le cookie soit créé et donc le code de la page se charge partiellement, on voit qu'une partie du CSS ne se charge pas notamment.

@btry
Copy link
Collaborator

btry commented Oct 15, 2019

Je reproduis approximativement. Il doit y avoir un lien entre la présence du cookie et le chargement effectif du fichier de JS contenant quelques fonctions importantes.

@btry
Copy link
Collaborator

btry commented Oct 15, 2019

Pouvez vous essayer le fix ci dessus et me faire un retour ?

@btry btry self-assigned this Oct 15, 2019
@Florent-afk
Copy link
Author

C'est parfait, cela a réglé le problème et la page s'affiche correctement maintenant.
Merci !

@AtoWeb
Copy link

AtoWeb commented Feb 8, 2024

Bonjour
J'ai testé sur la V2.12.17 (et GLPI 9.5.5) le fix indiqué : je n'ai pas exactement le même code mais j'ai essayé de l'appliquer et ça ne fonctionne pas, j'ai toujours besoin de recharger la page.

Dans le fichier setup.php d'origine j'ai ceci (l.324) :

Plugin::registerClass(PluginFormcreatorEntityconfig::class, ['addtabon' => Entity::class]);

         $PLUGIN_HOOKS['redefine_menus']['formcreator'] = "plugin_formcreator_redefine_menus";
      }

      // Load JS and CSS files if we are on a page which need them
      if (strpos($_SERVER['REQUEST_URI'], 'formcreator') !== false
         || strpos($_SERVER['REQUEST_URI'], 'central.php') !== false
         || isset($_SESSION['glpiactiveprofile']) &&
            Session::getCurrentInterface() == 'helpdesk') {

         // Add specific JavaScript
         $PLUGIN_HOOKS['add_javascript']['formcreator'][] = 'js/scripts.js';
      } 

@btry
Copy link
Collaborator

btry commented Feb 8, 2024

Bonjour

Ces versions de GLPI et Formcreator ne sont plus prises en charge. Vous devez upgrader vers GLPI 10.0.12 et Formcreator 2.13.8.

@AtoWeb
Copy link

AtoWeb commented Feb 8, 2024

OK, ce n'est pour l'instant pas possibe, je vais essayer de trouver une solution pour cette version.
Merci tout de même pour votre retour.

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.

3 participants