You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2021-02-10 13:37:04

webmastergreg
Member
Registered: 2010-09-23
Posts: 115
Website

[Résolu] Signature Pad lors de la rédaction de la solution

Bonjour,

Je cherche à implémenter une signature directement lors de la rédaction de la solution.
Le principe est simple, je souhaites que nos techniciens puissent faire signer le client sur la solution.

J'ai choisi celui-ci parce que les pré-requis jQuery sont déjà présents dans GLPI:
https://codepen.io/rongxike/pen/MJMopq

J'utilise un plugin existant pour appeler le fichier js nécessaire via un hook

$PLUGIN_HOOKS['add_javascript']['os'] = ['front/js/sketch-sigpad.js'];

Et dans un onglet sur le ticket, ça fonctionne.

Tout le problème étant de sauvegarder l'image de la signature "data:image/png;base64" au sein même de la solution, ce qui évite de créer une table en bdd inutile. (du moins tant qu'un plugin n'est pas nécessaire)
mais si cette image est bien rendu dans l’éditeur, ce n'est pas le cas pour le code qui permet de la générer  tiny_mce étant d'une part dans une iframe et de plus rajoutant des balises automatiquement.
210210124857801681.png

En mode édition, à gauche le code censé fonctionner comme sur l'exemple codepen, à droite le test de rendu sous data:image/png;base64:
210210010029761270.png

Alors j'ai bien sur autorisé les balise nécessaires dans le html.class.php ligne 3866

// init tinymce 
  extended_valid_elements : 'script[src|async|defer|type|charset],style,link[href|rel|type]',

Mais ça ne fonctionne pas, le code n'est pas correctement interprété car il fait parti du contenu textuel html.

Merci pour les avis , conseils et encore plus si ce sont des solutions !

Last edited by webmastergreg (2021-02-24 15:16:07)


GLPI 9.5.2 / LSWS Enterprise 5.4.11 + PHP 7.4.15 with Zend OPcache + APCu 5.1.19 + MariaDB 10.2.36  / CENTOS 7.9

Offline

#2 2021-02-12 12:42:59

webmastergreg
Member
Registered: 2010-09-23
Posts: 115
Website

Re: [Résolu] Signature Pad lors de la rédaction de la solution

Vraiment personne ? sad

c'est pourtant une demande de fonctionnalité en attente et "à l'étude" depuis plus de 5 ans maintenant.
Voir sur le site "feature request de GLPI: https://glpi.userecho.com/fr/communitie … signatures

Dommage à l'heure de la dématérialisation

Pour info j'ai également fait une suggestion d'ajout d'un plugin Signature Pad chez Tiny-mce.
Ainsi ce serait une fonction disponible directement dans la barre d'outils de l'éditeur.

Last edited by webmastergreg (2021-02-22 13:00:09)


GLPI 9.5.2 / LSWS Enterprise 5.4.11 + PHP 7.4.15 with Zend OPcache + APCu 5.1.19 + MariaDB 10.2.36  / CENTOS 7.9

Offline

#3 2021-02-16 16:05:18

crzkwcz
Member
Registered: 2020-10-08
Posts: 28

Re: [Résolu] Signature Pad lors de la rédaction de la solution

Bonjour webmastergreg,

Est-ce que le but recherché est bien que vous obteniez une preuve que le client a accepté la solution ?
Si oui, est-ce que vous êtes prêt à accepter une alternative à l'insertion d'une signature manuscrite scannée ?

L'idée alternative qui se cache derrière mon propos serait dans ce cas d'activer l'approbation des solutions par le demandeur.

Qu'en pensez-vous ?

Offline

#4 2021-02-16 16:25:51

webmastergreg
Member
Registered: 2010-09-23
Posts: 115
Website

Re: [Résolu] Signature Pad lors de la rédaction de la solution

Bonjour crzkwcz,

merci d'avoir répondu.

A savoir que depuis j'ai réussi a faire fonctionner le pad signature dans la solution mais pas encore en mode édition.

Malheureusement notre procédure actuelle est telle que ce sont nos responsables planifications qui approuvent ou pas la solution, car nous avons divers traitements et vérifications préalables avant l’approbation ou le refus.
Même si je suis tout à fait d'accord qu'à la base c'est le demandeur qui doit approuver, et dans notre cas précis les demandeurs sont en général nos planificateurs.

Mais de toute façon la signature est un impératif pour nous.


GLPI 9.5.2 / LSWS Enterprise 5.4.11 + PHP 7.4.15 with Zend OPcache + APCu 5.1.19 + MariaDB 10.2.36  / CENTOS 7.9

Offline

#5 2021-02-22 13:24:08

webmastergreg
Member
Registered: 2010-09-23
Posts: 115
Website

Re: [Résolu] Signature Pad lors de la rédaction de la solution

Pour info, je progresse.

Rien à faire du côté de tinymce, il faut impérativement un plugin. Ma requête à ce sujet est acceptée en tant que feature request chez tinymce.

J'ai finalement modifié la classe itilsolution.class.php pour intégrer le signature pad.
J'ai bien conscience qu'un hook via plugin serait bien plus adapté, mais je n'ai pas assez d'expérience sur les plugins ni assez de temps à cet instant pour me lancer là-dessus.
Je me pencherais dessus une fois trouvé une solution fonctionnelle temporaire.

Le drag'n drop d'image étant permis dans l’éditeur, ceci permet donc de placer la signature dans le corps du message de l'éditeur et créé par la même occasion un document ajouté dans la base des documents de façon transparente.
L'image n'est donc plus stockée en dur dans le code du message, mais par le biais d'une image via le lien vers le document.

Ce qui j'en conviens parfaitement, n'a absolument aucun intérêt sur un smartphone vu que faire un drag'n drop c'est plutôt mission impossible avec les menus contextuels par appui long.

Reste donc à placer un bouton de validation jquery qui permettra d'envoyer l'image sur un id défini à l'emplacement qui convient dans le corps du message.

Aide bienvenue, merci.

210222122532197834.png


GLPI 9.5.2 / LSWS Enterprise 5.4.11 + PHP 7.4.15 with Zend OPcache + APCu 5.1.19 + MariaDB 10.2.36  / CENTOS 7.9

Offline

#6 2021-02-24 13:15:02

webmastergreg
Member
Registered: 2010-09-23
Posts: 115
Website

Re: [Résolu] Signature Pad lors de la rédaction de la solution

Bonjour,
je termine mon monologue

J'ai finalement réussi.

La difficulté était d'atteindre le contenu de la iframe de tinymce, pour appliquer le résultat de la signature sur l'id de l'image qui sert d'emplacement d'affichage dans le contenu de la solution, donc affecter le contenu source src au src cible.

J'ai donc utilisé une regex sous jquery pour atteindre l'ID en question dans l'iframe de l’éditeur et l'ai intégré le

.attr('src', Data);

dans la librairie du signature pad.

Petit Bilan

Avantages:

  • pas besoin de plugin GLPI (bien que soit ma prochaine étape)

  • pas besoin de plugin tinymce (même si j'en ai fait la demande en feature request)

  • changement de libraire de signature facile si besoin

  • signature stocké en dur dans la solution

  • facile à maintenir en cas de maj de GLPI

Inconvénients:

  • c'est un hack, donc à réappliquer à chaque maj de GLPI

  • ce n'est pas un plugin, donc sujet aux éventuelles modifications du fichier modifié

Last edited by webmastergreg (2021-02-24 18:14:29)


GLPI 9.5.2 / LSWS Enterprise 5.4.11 + PHP 7.4.15 with Zend OPcache + APCu 5.1.19 + MariaDB 10.2.36  / CENTOS 7.9

Offline

#7 Yesterday 16:23:58

ricardoalx.perez
Member
Registered: 2013-09-06
Posts: 7

Offline

Board footer

Powered by FluxBB