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-03-07 16:46:44

ALieN
Member
Registered: 2006-02-14
Posts: 83

Ajax KESAKO ?

Heu je  m'excuse à l'avance de mon ignorance ou peut etre du sujet qui a dejà était abordé mais j'ai cherché sans succès.

Je me demandais juste à quoi servait l'option AJAX (oui / non ) j'ai pas trop vu de différence en cochant ou "oui" ou "non" ...

Quelqu'un saurait il ? big_smile

Offline

#2 2006-03-07 16:59:09

tsmr
GLPI-DEV
From: Rennes
Registered: 2005-08-26
Posts: 11,632
Website

Re: Ajax KESAKO ?

tu as lu l'aide de la console centrale ?


Xavier Caillaud
Blog GLPI Infotel

Offline

#3 2006-03-07 17:18:35

ALieN
Member
Registered: 2006-02-14
Posts: 83

Re: Ajax KESAKO ?

tsmr wrote:

tu as lu l'aide de la console centrale ?

J'ai vu çà :
- Utiliser AJAX : permet d'activer ou non le nouveau système AJAX de GLPI (gestion des recherches, des champs textes).

Mais concrètement çà m'a rajouté quoi comme système de recherche j'ai un champ en plus ?

Offline

#4 2006-03-07 17:42:54

jm.cierniewski
Member
From: Nanterre 92
Registered: 2005-11-02
Posts: 1,655

Re: Ajax KESAKO ?

son ça permet d'avoir l'auto completion dans les boites de dialogues.
de plus , quand  une boite de dialogue propose plus de x ( par défaut 25) choix  possible, une nouvelle boite s'ouvre a cotés, permettant de mettre les  premiéres lettres de ce que vous recherchez. Du coup , le choix dans la boite de dialogue se restreint à ce qui commence par les lettres  que vous avez indiqué...
Pour info le caractére étoile *   est un joker qui permet de tout afficher.


Plateforme :
OS : Windows 2003 Sp1 / logiciel de décompactage : Winzip / Navigateurs : Internet Explorer 6sp1 / firefox 1.5
Installation : Package Ocs NG RC3  - XAMPP version 1.5.1
Serveur  : Apache 2.0.55 / Base : 5.0.18-nt / Langage : PHP 5.1.1 / PhpMyAdmin 2.7.0-pl1

Offline

#5 2006-04-27 01:16:34

Neobugs
Member
Registered: 2005-07-18
Posts: 28

Re: Ajax KESAKO ?

Bonjour,

Après avoir activé l'option "Autocompletion des champs textes avec AJAX", je n'ai constaté aucun changement par rapport à la seule activation de l'option "Utiliser Ajax".

Exemple, dans Assistance/Helpdesk en tant que super-utilisateur 'glpi', quand je commence à saisir les premières lettre d'un Auteur, le sablier apparait, la liste change de longueur (normal puisqu'elle est modifiée) mais l'entrée par défaut de la liste (qui est le login 'glpi') n'est pas modifiée dynamiquement. Après avoir saisit les première lettres, il me faut ensuite cliquer sur la liste déroulante pour séléctionner le résultat. Est-ce normale ?

Une autocompletion de ce type n'aurait pas été plus pratique ?

Merci ^^


OS: Linux Fedora Core 5
Serveur services: Apache 2.2.0 / MySQL 5.0.18 / PHP 5.1.2
Browser: Firefox 1.5 Décompression: tar
GLPI 0.65 & OCS Inventory NG RC2

Offline

#6 2006-04-27 01:46:41

tsmr
GLPI-DEV
From: Rennes
Registered: 2005-08-26
Posts: 11,632
Website

Re: Ajax KESAKO ?

pas mal ça dic donc !


Xavier Caillaud
Blog GLPI Infotel

Offline

#7 2006-04-27 02:19:48

Neobugs
Member
Registered: 2005-07-18
Posts: 28

Re: Ajax KESAKO ?

Le code est par ailleurs très bien détaillé ici.

Enfin, ça répond pas à ma question initiale =p
Je regarderais ça plus en détail demain ^^

Last edited by Neobugs (2006-04-27 02:20:28)


OS: Linux Fedora Core 5
Serveur services: Apache 2.2.0 / MySQL 5.0.18 / PHP 5.1.2
Browser: Firefox 1.5 Décompression: tar
GLPI 0.65 & OCS Inventory NG RC2

Offline

#8 2006-04-27 02:51:47

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

Re: Ajax KESAKO ?

ca fait de l'autocompletion vu que ca rempli le select.
L'autocompletion c'est sur les champs textes purs style numéro de série etc etc


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

Offline

#9 2006-04-27 09:16:24

Neobugs
Member
Registered: 2005-07-18
Posts: 28

Re: Ajax KESAKO ?

Eh ben je vais voir si j'ai le temps de bosser sur une autocomplétion comme citée, ça serait quand même plus sympa.

Sinon j'ai utilisé la fonction fillidfield en javascript dans une fenetre type popup me permettant de faire des recherches d'utilisateurs dans mon annuaire ldap et ça marche impec. Concrètement, c'est le même résultat que sous la version 6 lors de la recherche d'ordinateurs pour récupérer automatiquement dans la fenetre principale l'ID de l'ordinateur, sauf qu'il s'agit là de tous les champs d'information utilisateurs. J'avais déjà l'annuaire en php de créé, ce fut très rapide de l'intégrer. (J'ai donc dû modifier le fichier glpi/users/functions.php pour utiliser cette fonctionnalité dans l'ajout et la modification d'utilisateur et le fichier glpi/tracking/functions.php pour l'utiliser dans la fenetre d'helpdesk pour le mail). Si ça intéresse quelqu'un je peux détailler...


OS: Linux Fedora Core 5
Serveur services: Apache 2.2.0 / MySQL 5.0.18 / PHP 5.1.2
Browser: Firefox 1.5 Décompression: tar
GLPI 0.65 & OCS Inventory NG RC2

Offline

#10 2006-04-27 09:25:48

tsmr
GLPI-DEV
From: Rennes
Registered: 2005-08-26
Posts: 11,632
Website

Re: Ajax KESAKO ?

ui pourquoi pas vas y détailles smile


Xavier Caillaud
Blog GLPI Infotel

Offline

#11 2006-04-27 10:09:58

Neobugs
Member
Registered: 2005-07-18
Posts: 28

Re: Ajax KESAKO ?

Dans glpi/users/functions.php, j'ai ajouté dans la function showUserform() l'image d'aide avec le lien popup suivant, pointant vers la page de recherche ldap:

<img src=\"../pics/aide.png\" style='cursor:pointer;' alt=\"help\"onClick=\"window.open('../ldapannu/index.php?action=search2','Help','scrollbars=1,resizable=1,width=800,height=300')\">

Ca donne par exemple, ligne 134, le remplacement de :

echo "<tr><th colspan='2'>".$lang["setup"][57]." : " .$user->fields["name"]."</th></tr>";

par:

echo "<tr><th colspan='2'>".$lang["setup"][57]." : <img src=\"../pics/aide.png\" style='cursor:pointer;' alt=\"help\"onClick=\"window.open('../ldapannu/index.php?action=search2','Help','scrollbars=1,resizable=1,width=800,height=300')\">" .$user->fields["name"]."</th></tr>";

Dans le fichier de résultat de ma recherche ldap, il faut intégrer le javascript:

    <script language="javascript" type="text/javascript">
    function fillidfield(Login,Nom,Phone,Uemail){
    window.opener.document.forms["user_manager"].elements["name"].value = Login;
    window.opener.document.forms["user_manager"].elements["realname"].value = Nom;
    window.opener.document.forms["user_manager"].elements["phone"].value = Phone;
    window.opener.document.forms["user_manager"].elements["email_form"].value = Uemail;
    window.close();}
    </script>

Chaque champs elements[""] permet de désigner le champ correspondant de la page principale (page d'ajout/modification d'utilisateurs dans GLPI donc) qui sera complété. "name", "realname", "phone" et "email_form" sont les noms de ces champs dans la page en question.

Appel à la fonction fillidfield dans le code. Chaque information retournée sera séparée par une virgule. Attention l'ordre est important. On voit ici que la première information qui sera retournée sera l'uid. Dans la fonction en javascript, elle sera représenté par "Login".

  for ($i=0; $i<$info["count"]; $i++) {    
       echo "<tr onClick=\"fillidfield('".$info[$i]["uid"][0]."','".$info[$i]["cn"][0]."','".$info[$i]["telephonenumber"][0]."','".$info[$i]["mail"][0]."')\">";
       echo "<td>".$info[$i]["cn"][0]."</td>";
       if(strlen($info[$i]["mail"][0])){
       echo "<td><a href=\"mailto:".$info[$i]["cn"][0]." &lt;".$info[$i]["mail"][0]."&gt;\" title=\"".$info[$i]["mail"][0]."\">" .$info[$i]["mail"][0] . "</a></td>";
       }else{
       echo "<td></td>";
       }
       echo "<td>".$info[$i]["telephonenumber"][0]."</td>";
       //echo "<td>".$info[$i]["mail"][0]." ".$info[$i]["mail"][1]." ".$info[$i]["mail"][2]."</td>";
   }?>

Ce qui donnera :

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Annuaire LDAP</title>
    <link rel="stylesheet" href="core.css" type="text/css" />
    <link rel="stylesheet" href="template/default/style.css" type="text/css" />
    <script type="text/javascript" src='script.js'></script>
</head>
<body>
<div id="contentPad">
    <script language="javascript" type="text/javascript">
    function fillidfield(Login,Nom,Phone,Uemail){
    window.opener.document.forms["user_manager"].elements["name"].value = Login;
    window.opener.document.forms["user_manager"].elements["realname"].value = Nom;
    window.opener.document.forms["user_manager"].elements["phone"].value = Phone;
    window.opener.document.forms["user_manager"].elements["email_form"].value = Uemail;
    window.close();}
    </script>

<h2>Resultats de la recherche</h2>

<ul class="nav">
    <li><a href="?action=search">Recherche</a></li>
</ul>

</div>    
    <form method="get" action="/dev/cri/ldapannu/index.php?action=list">
    <table class="listview">
    <tr>
    <td>

    <select name="searchType">
        <option value="quick">Nom ou prénom commence par...</option>
        <option value="lastname">Nom commence par...</option>
        <option value="firstname">Prénom commence par...</option>
        <option value="email">Adresse email contient...</option>
        <option value="any">Peu importe...</option>

    </select>
    </td>
    <td><input type="text" name="search" value=""/></td>
    <td colspan="2"><input type="submit" value="Rechercher" /></td>
    <td colspan="2">1 contacts</td>
    </tr>
    <tr onClick="fillidfield('julien.bugaud','BUGAUD Julien','08 88 88 88 88','Julien.Bugaudatursustrasbgfr')"><td>BUGAUD Julien</td><td><a href="mailto:BUGAUD Julien &lt;Julien.Bugaudatursustrasbgfr&gt;" title="Julien.Bugaudatursustrasbgfr">Julien.Bugaudatursustrasbgfr</a></td><td>08 88 88 88 88</td>   
   </table>

    </form>

J'ai tronqué le code pour un peu plus de lisibilité
[Edit: Censure des réfs personnelles]

Last edited by Neobugs (2007-04-17 11:38:56)


OS: Linux Fedora Core 5
Serveur services: Apache 2.2.0 / MySQL 5.0.18 / PHP 5.1.2
Browser: Firefox 1.5 Décompression: tar
GLPI 0.65 & OCS Inventory NG RC2

Offline

Board footer

Powered by FluxBB