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 2006-04-18 22:43:02

Yohm
Member
From: USA
Registered: 2006-03-17
Posts: 21

Pré-remplissage de champ de texte (AJAX ?)

Et oui, désolé c'est encore moi !
Développeurs, fuyez ! (euh, je déconne, bien sûr) wink

Bon, plus sérieusement, voici mon problème :
Dans le formulaire de nouvelle intervention (nouveau ticket), je souhaite pré-remplir le champ de recherche généré par AJAX pour l'entrée "Ordinateur" avec le nom de l'utilisateur connecté.

Je ne suis pas sûr de l'endroit où c'est situé.
J'ai repéré le fichier glpi/ajax/dropdownTrackingDeviceType.php, mais je ne suis pas tout à fait sûr.
S'agit-il bien de l'objet (bon terme ?) 'search_spinner$rand' ?
Je suis une quiche en javascript/ajax, plus encore qu'en PHP, c'est pour dire... big_smile

D'une manière générale, vu que je suis amené à bidouiller dans le code, une question subsiste dans mon esprit : quels outils utilisez-vous pour développer et débugger ?
Notament pour les variables, avez-vous des outils pour afficher leur valeur (sans le mode debug ?). Genre pour savoir ce que vaut le $rand, les variable transmises en POST, ...
Les echo dans le code, c'est un peu crade pour une grosse appli comme celle-ci, je trouve. Est-ce que vous utilisez des message box (javascript) ?

A la limite avec un SELECT j'aurai pu le faire assez facilement en récupérant la valeur de la variable du login ($_POST['name'] ?) pour générer une liste au chargement de la page, mais c'est pas aussi simple (pour moi) en ajaxcript. big_smile

Voilà voilà, j'espère que c'était pas trop long à lire.


Plateforme :
OS-Auth : Windows 2003 server / OS-GLPI : Knoppix 4.0.2 (debian 3.3.6-7) / logiciel de décompactage : ark, tar, gzip / Navigateurs : Mozilla Firefox 1.5.0.1
Installation : OCSNG_Linux_Server_1.0-RC2-final.tar.gz ; glpi-0.65-RC2, mis à jour 0.65 stable
Serveur  : Apache 1.3.34 (Debian) / Base : Mysql 5.0.18 / Langage : PHP 4.4.2-1 / PhpMyAdmin 2.7.0 pl2-Debian-1

Offline

#2 2006-04-19 11:17:35

esolarc
Member
From: Genève
Registered: 2006-04-18
Posts: 10
Website

Re: Pré-remplissage de champ de texte (AJAX ?)

Le nom de l'utilisateur connecté est stocké dans la variable de session :

$_SESSION["glpiname"]

pour le mettre par défaut dans le champ search tu doit modifier le code du fichier :
/ajax/dropdownTrackingDeviceType.php

Et modifier la ligne :

echo "<input id='search_".$_POST['myname']."$rand' name='____data_".$_POST['myname']."$rand' size='15'>";

par

echo "<input id='search_".$_POST['myname']."$rand' name='____data_".$_POST['myname']."$rand' size='15' value='".$_SESSION["glpiname"]."'>";

Tu peuts éventuellement mettre les deux lignes avec un test sur le type d'élément sélectionné pour ne prendre la ligne modifié que si l'élément est de type "ordinateur".


(e)solarc - Portable IBM Thinkpad T42 - OS : SuSE OS 10.0 - Navigateur : Firefox - Suite bureautique : Open Office 2
Spécialiste CRM/CMS/Groupware/Worflow
Architect-Dev.Senior : Lotus Notes/Domino, PHP, SQL, HTML,CSS
http://www.esolarc.com  http://www.e-vw.net

Offline

#3 2006-04-19 11:48:28

MoYo
GLPI - Lead
From: Poitiers
Registered: 2004-09-13
Posts: 14,513
Website

Re: Pré-remplissage de champ de texte (AJAX ?)

le search spinner c'est juste pour le sablier au moment de la recherche.
le truc a modifier c'est ca :
echo "<input id='search_".$_POST['myname']."$rand' name='____data_".$_POST['myname']."$rand' size='15'>";

en javascript ca donne ca (cf. exemples dans functions_dropdown.php)

      echo "<script type='text/javascript' >\n";
        echo "document.getElementById('search_".$_POST['myname']."$rand').value='".$_SESSION["glpiname"]."';";
        echo "</script>\n";

MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI :    Support     Contribute     References     Freshmeat

Offline

#4 2006-04-19 12:54:03

esolarc
Member
From: Genève
Registered: 2006-04-18
Posts: 10
Website

Re: Pré-remplissage de champ de texte (AJAX ?)

C'est quoi la différence avec ma proposition ????

Pourquoi ajouter du javascript alors qu'on peut le faire directement dans le tag <input...> ???


(e)solarc - Portable IBM Thinkpad T42 - OS : SuSE OS 10.0 - Navigateur : Firefox - Suite bureautique : Open Office 2
Spécialiste CRM/CMS/Groupware/Worflow
Architect-Dev.Senior : Lotus Notes/Domino, PHP, SQL, HTML,CSS
http://www.esolarc.com  http://www.e-vw.net

Offline

#5 2006-04-19 15:04:57

MoYo
GLPI - Lead
From: Poitiers
Registered: 2004-09-13
Posts: 14,513
Website

Re: Pré-remplissage de champ de texte (AJAX ?)

c'est que la mienne est bien meilleure smile
vu que c'est la mienne déjà tongue

et surtout que ca va déclenché une modif sur le champ de texte d'où au final la mise en branle du système ajax pour rechercher autoamtiquement les elements.


MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI :    Support     Contribute     References     Freshmeat

Offline

#6 2006-04-19 16:00:35

Yohm
Member
From: USA
Registered: 2006-03-17
Posts: 21

Re: Pré-remplissage de champ de texte (AJAX ?)

Ok, merci pour vos propositions.
C'est en effet pour ça que je demandait, pour que ça mette à jour la recherche.
Je teste ça rapidos et je vous tiens au courant. Enfin je suppose que si vous le proposez, c'est que ça marche déjà. wink

Edit : J'ai trouvé, je crois.
Fichier : glpi/ajax/dropdownTrackingDeviceType.php, ligne 53, c'est bien ça, je présume ?J'arrive pas à lien un PC de test à un utilisateur, donc le temps de lire la doc pour me rappeler comment faire, vous étonnez pas si ça me prend du temps pour répondre. wink

Last edited by Yohm (2006-04-19 16:19:11)


Plateforme :
OS-Auth : Windows 2003 server / OS-GLPI : Knoppix 4.0.2 (debian 3.3.6-7) / logiciel de décompactage : ark, tar, gzip / Navigateurs : Mozilla Firefox 1.5.0.1
Installation : OCSNG_Linux_Server_1.0-RC2-final.tar.gz ; glpi-0.65-RC2, mis à jour 0.65 stable
Serveur  : Apache 1.3.34 (Debian) / Base : Mysql 5.0.18 / Langage : PHP 4.4.2-1 / PhpMyAdmin 2.7.0 pl2-Debian-1

Offline

#7 2006-04-19 16:17:22

esolarc
Member
From: Genève
Registered: 2006-04-18
Posts: 10
Website

Re: Pré-remplissage de champ de texte (AJAX ?)

MoYo wrote:

c'est que la mienne est bien meilleure smile
vu que c'est la mienne déjà tongue

et surtout que ca va déclenché une modif sur le champ de texte d'où au final la mise en branle du système ajax pour rechercher autoamtiquement les elements.

Mais c'est peu être alors une réponse à mon premier post ?

http://glpi.indepnet.org/forum/viewtopic.php?id=2934


(e)solarc - Portable IBM Thinkpad T42 - OS : SuSE OS 10.0 - Navigateur : Firefox - Suite bureautique : Open Office 2
Spécialiste CRM/CMS/Groupware/Worflow
Architect-Dev.Senior : Lotus Notes/Domino, PHP, SQL, HTML,CSS
http://www.esolarc.com  http://www.e-vw.net

Offline

#8 2006-04-19 16:21:59

esolarc
Member
From: Genève
Registered: 2006-04-18
Posts: 10
Website

Re: Pré-remplissage de champ de texte (AJAX ?)

Ehhh oui en mettant ton bout de code en fin de fichier dropdownTrackingDeviceType.php ca marche !...

Bon c'est pas très jolie visuellement car cela se fait en 2 temps mais ca marche...


(e)solarc - Portable IBM Thinkpad T42 - OS : SuSE OS 10.0 - Navigateur : Firefox - Suite bureautique : Open Office 2
Spécialiste CRM/CMS/Groupware/Worflow
Architect-Dev.Senior : Lotus Notes/Domino, PHP, SQL, HTML,CSS
http://www.esolarc.com  http://www.e-vw.net

Offline

#9 2006-04-19 16:35:38

MoYo
GLPI - Lead
From: Poitiers
Registered: 2004-09-13
Posts: 14,513
Website

Re: Pré-remplissage de champ de texte (AJAX ?)

le 2 temps y a pas le choix a moins de touiller ca completement.


MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI :    Support     Contribute     References     Freshmeat

Offline

#10 2006-04-19 16:45:04

Yohm
Member
From: USA
Registered: 2006-03-17
Posts: 21

Re: Pré-remplissage de champ de texte (AJAX ?)

C'est bon, ça marche du Feu de Dieu !
Au début, je l'avais mis juste après le champ input, et ça mettait le texte mais ça n'actualisait pas. A la fin de la fonction, après le span, ça actualise bien comme il faut.

Si jamais quelqu'un d'autre avait besoin de le faire :

Dans le fichier {DocumentRoot/}glpi/ajax/dropdownTrackingDeviceType.php :

(ligne 69)
echo "<span id='results_ID$rand'>";
echo "<select name='ID'><option value='0'>------</option></select>";
echo "</span>";

echo "<script type='text/javascript' >\n";
echo "document.getElementById('search_".$_POST['myname']."$rand').value='".$_SESSION["glpiname"]."';";
echo "</script>\n";

Voilà voilà,
Merci encore pour votre aide, rapide et efficace. wink
esolarc> Je vais jeter un oeil à tes modifs de plus près, ça peut aussi m'intéresser aussi. wink
Bon, je retourne apprendre à me servir de glpi, et on devrait plus tarder à passer en prod (petite boîte de 150 personnes au plus). Je penserai à inscrire la société dans la liste si c'est validé pour de bon. wink
Prochaines étapes : production et documentation (en anglais/US), et probablement mes fameux templates (pour des tickets non liés à un matériel) wink
Bien sûr je posterai toute modif qui puisse intéresser quelqu'un. wink

Bonne continuation ! wink


Edit : Ah oui, j'ai failli oublier ! Serait-il possible d'ouvrir un ticket quelque part pour parler des outils que vous utilisez pour développer/debugger ? Vous faites quand même pas tout au bloc note et au mode debug !?

Last edited by Yohm (2006-04-19 16:52:49)


Plateforme :
OS-Auth : Windows 2003 server / OS-GLPI : Knoppix 4.0.2 (debian 3.3.6-7) / logiciel de décompactage : ark, tar, gzip / Navigateurs : Mozilla Firefox 1.5.0.1
Installation : OCSNG_Linux_Server_1.0-RC2-final.tar.gz ; glpi-0.65-RC2, mis à jour 0.65 stable
Serveur  : Apache 1.3.34 (Debian) / Base : Mysql 5.0.18 / Langage : PHP 4.4.2-1 / PhpMyAdmin 2.7.0 pl2-Debian-1

Offline

#11 2006-04-19 17:18:13

JMD
GLPI - Lead
Registered: 2004-09-13
Posts: 9,180
Website

Re: Pré-remplissage de champ de texte (AJAX ?)

Merci pour vos encouagements et votre volonté de contribuer.

Pour les questions sur le dev, il y  a la page developpement du site et la mailing list dev pour tout ça wink


JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au  projet GLPI   : Soutenir

Offline

#12 2006-04-19 17:37:23

Yohm
Member
From: USA
Registered: 2006-03-17
Posts: 21

Re: Pré-remplissage de champ de texte (AJAX ?)

Ok, je prend note. J'étais allé voir, déjà, mais j'hésite toujours à poster sur les mailing lists de dev quand je ne suis pas dev. J'ai l'impression de pas être au bon endroit et de m'être égaré. wink
Pour ce qui est de ma volonté de contribuer, ce sera surtout en docs (en anglais pour commencer, car je suis en stage aux USA) pour l'instant, car mon niveau PHP est basique et ancestral, et mon niveau de javascript est ... "quasiment" (pour rester positif) inexistant. big_smile
Mais bon, qui sait quand je maîtriserai un peu mieux ces langages... wink

A toute !


Plateforme :
OS-Auth : Windows 2003 server / OS-GLPI : Knoppix 4.0.2 (debian 3.3.6-7) / logiciel de décompactage : ark, tar, gzip / Navigateurs : Mozilla Firefox 1.5.0.1
Installation : OCSNG_Linux_Server_1.0-RC2-final.tar.gz ; glpi-0.65-RC2, mis à jour 0.65 stable
Serveur  : Apache 1.3.34 (Debian) / Base : Mysql 5.0.18 / Langage : PHP 4.4.2-1 / PhpMyAdmin 2.7.0 pl2-Debian-1

Offline

#13 2006-05-04 14:30:09

tapadibal
Member
Registered: 2006-05-04
Posts: 123

Re: Pré-remplissage de champ de texte (AJAX ?)

ce code marche tres bien. mais j'ai une petite remarque, si on efface le nom rempli automatiquement on obtient toute la liste . Du coup on ne peut pas utiliser la fonction de recherche comme elle devrait fonctionner normalement.
est ce normal ?


OS WIN XP SP2
GLPI 0.68 - XAMPP 1.5.1 - OCS NG RC3-1
Longue vie à GLPI

Offline

Board footer

Powered by FluxBB