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 2005-05-22 19:13:25

Angelset
Member
Registered: 2005-04-25
Posts: 37

Ajouter un champs dans états

Salut à tous

Je suis en train de faire une mdification sur une des rubriques de Inventaire :
Pour la partie "Etat"
J'aimerais pouvoir afficher le champs Lieu enplus des autres.

mais avant toute chose grâce à vous je sais déjà comment rajouter un champs "no problemo"
le soucis que je rencontre est de savoir comment faire en sorte de prendre en compte toutle lieu....
le mieux c'est de vous afficher le code:

Donc pour ca je m'attaque au fichier functions.php de state, je vais et showStateList:

donc j'ai rajouter une ligne mais je ne sais pas trop ou faire pointer le a href afin de pouvoir afficher le lieu de chaques matériels ????
je ne sais pas si c'est assez clair pour vous.....????

Offline

#2 2005-05-22 19:38:02

Angelset
Member
Registered: 2005-04-25
Posts: 37

Re: Ajouter un champs dans états

euh encore quelquechose lorsque j'éffectue mes modifs j'ai ce message qui s'inscris:
Notice: Undefined index: location in c:\program files\easyphp1-8\www\glpi\glpi\state\functions.php on line 222

Je le comprend mais ou puis je aller pour remédier à cette erreur

Offline

#3 2005-05-22 20:01:14

Angelset
Member
Registered: 2005-04-25
Posts: 37

Re: Ajouter un champs dans états

Voici la ligne que j'ai rajouté........echo "<td>". getDropdownName("glpi_dropdown_locations",$ri->fields["location"]) ."</td>"; qui me donne l'rreur en question mais je sais donc qu'il faut que je fasse une modification mais où????

Offline

#4 2005-05-23 10:36:35

fouayeman
Member
Registered: 2005-04-19
Posts: 94

Re: Ajouter un champs dans états

ça ne peut pas marcher car d'après ce que j'ai compri la fonction getDropDownName prend en parmètre le nom de la table et l'id de la ligne que tu cherche dedans. Ton 2ème param que tu donne c'est $ri->fields["location"] et jcrosi pas que ça donne l'id du lieu que tu cherche dans la table glpi_dropdown_locations. $ri est un objet qui contient le nom de l'état, le type et le nom du matèriel qui est dans un état. je crosi que c'est totu. mais tu pezux faire une print_r($ri) pour voir ce qui a dans chaque $ri qui correspond à chaque objet qui s'affiche dans la page etat. En tout ca il n'y a pas de champ location, d'où le  "Notice: Undefined index: location in c:\program files\easyphp1-8\www\glpi\glpi\state\functions.php on line 222". Si tu veux avoir le nom, le nom du lieu, le plus simple, l*je crosi que c'est de rajouter une colone dans 'affichage des états où tu inscrit le résultat de la requete select location from "la table de ton matèriel) where id = $ri->fields[id_device]; voilà pour la table du matériel tu as le device type ds  $ri ou tu peux avec $ri->getDeviceType tas le nom français de type de matèriel et tu peux faire la correspondance avec la table. voilà.

Offline

#5 2005-05-23 11:06:51

Angelset
Member
Registered: 2005-04-25
Posts: 37

Re: Ajouter un champs dans états

Merci fouayeman mais je n'ai pas trop bien saisie la fin de ta réponse....

J'essaie de récapituler

Créer une nouvelle colonne (c'est ce que j'ai fait) et inscrire le résultat de la requête SelectLocationFrom mais après je ne comprends pas trop ce que tu me dis moi je le comprends ainsi:

A la place de : echo "<td>". getDropdownName("glpi_dropdown_locations", $ri->fields["location"]) ."</td>";

D'après ta correction ca donne : echo "<td>". SelectLocationFrom("glpi_dropdown_locations", $ri->fields["getDeviceType"]) ."</td>"; 

jpense que je me trompe dans mon interprètation donc si t'as un moment pour me répondre....????

En tout cas créer la colonne je sais faire, mettre l'intitulé que je veux aussi mais après y placer le Lieu de chacun des matériels c'est un peu plus chaud pour moi....

Offline

#6 2005-05-23 11:19:40

Angelset
Member
Registered: 2005-04-25
Posts: 37

Re: Ajouter un champs dans états

résultat
erreur call undefined function normal...quoi

Bon je t'explique ce que j'ai tenté d'autre, j'avais tenter de faire à la place ceci:

echo "<td>". $ri->getLocation() ."</td>";

en copiant sur la rquête pour avoir le nom du matériel : echo "<td><b>". $ri->getLink() ."</b></td>";

et pour voir cette fonction il faut aller dans classe.php de state et ca donne:

function getLink(){
   
        global $cfg_install;
   
        switch ($this->fields["device_type"]){
            case COMPUTER_TYPE :
                return "<a href=\"".$cfg_install["root"]."/computers/computers-info-form.php?ID=".$this->fields["id_device"]."\">".$this->getName()." (".$this->fields["id_device"].")</a>";
                break;
            case NETWORKING_TYPE :
                return "<a href=\"".$cfg_install["root"]."/networking/networking-info-form.php?ID=".$this->fields["id_device"]."\">".$this->getName()." (".$this->fields["id_device"].")</a>";
                break;
            case PRINTER_TYPE :
                return "<a href=\"".$cfg_install["root"]."/printers/printers-info-form.php?ID=".$this->fields["id_device"]."\">".$this->getName()." (".$this->fields["id_device"].")</a>";
                break;
            case MONITOR_TYPE :
                return "<a href=\"".$cfg_install["root"]."/monitors/monitors-info-form.php?ID=".$this->fields["id_device"]."\">".$this->getName()." (".$this->fields["id_device"].")</a>";
                break;
            case PERIPHERAL_TYPE :
                return "<a href=\"".$cfg_install["root"]."/peripherals/peripherals-info-form.php?ID=".$this->fields["id_device"]."\">".$this->getName()." (".$this->fields["id_device"].")</a>";
                break;               
            }

   
    }

Alors je me demandais s'il ne serais pas possible de modifier cette fonction et l'adapter pour avoir le lieu qui s'inscrit.....????

Offline

#7 2005-05-23 11:30:51

Angelset
Member
Registered: 2005-04-25
Posts: 37

Re: Ajouter un champs dans états

Bizarre que ca n'intérese pas beaucoup de monde cette idée parce qu'en fait j'essaie par mes manipulations de contourner mon problème qui est de pouvoir afficher tout les matériels
de mon entreprise sur une seule page afin d epouvoire imprimer le tout en une fois et ce en fonction  du Lieu

Au final vous avez une check liste avec et vous pouvez contrôler selon les Lieux tout le matos qu'il doit y avoir.
mais pour ce faire il faut que pour tout les matériels on remplisse la case état...; car c'est elle qui fait le lien.....(enfin je crois)

Voilà j'espère que ma démarche sera comprise et sucitera un plus grand intêret.....

Offline

#8 2005-05-23 12:05:05

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

Re: Ajouter un champs dans états

Je regarde ca pour l'intégrer... Ce n''est pas grand chose à faire.


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

Offline

#9 2005-05-23 12:07:23

fouayeman
Member
Registered: 2005-04-19
Posts: 94

Re: Ajouter un champs dans états

non non, cette fonction te permet juste d'avoir le lien sur le nom du matèriel dans la page Etat , tu peux cliquer sur le nom tu vois, cette fonction est faites pour ça. et je pense que moins on modifie les fonctiuon, et mieux on se porte.
en faite, t'as compris ce que je disais à part 1 point, c'est que la requête, faut la faire, elle existe pas, j'tai juste donnée les éléments nécessaire. il faut aler chercher dans la bd le lieu à partir de l'id du matèriel, ça tui l'as c'est le $ri->fields["id_device"], et du nom de la table du mtèriel, que tu dois récupérer comme tu veux à partir du devie_type ou du non du type. je pense qu'il doit y avoir une fonction pour ça, pour faire la correspondance entre l'id du device_type et le nom de la table(au pire la corresponcance se trouve dans /config/config.php voilà. car le champ location se trouve dans la table des matèriel. et voilà! faut juste faire la requête sql pour choper la location dans la table correspondant au matèreil en question!

Offline

#10 2005-05-23 12:12:37

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

Re: Ajouter un champs dans états

Voilà c'est intégré dans le CVS


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

Offline

#11 2005-05-23 13:43:39

fouayeman
Member
Registered: 2005-04-19
Posts: 94

Re: Ajouter un champs dans états

et est-ce que ça te permet aussi d'avoir les périphériques internes ce que tu veux ?

Offline

#12 2005-05-24 00:08:43

Angelset
Member
Registered: 2005-04-25
Posts: 37

Re: Ajouter un champs dans états

euuh désolé Moyo mais où l'as tu intégré???? si je comprend bien je télécharge le glpi snapshot et dans état je devrais pouvoir classé le matériel par état ou par lieu????

Offline

#13 2005-05-24 00:24:01

Angelset
Member
Registered: 2005-04-25
Posts: 37

Re: Ajouter un champs dans états

Bon j'ai installé le CVS mais j'ai ce message d'erreur qui apparait:

Notice: Undefined variable: plugins in c:\program files\easyphp1-8\www\glpi-snapshot\glpi\glpi\glpi\common\functions.php on line 547

Dans la colonne de "Outils" est ce là que devait fonctionner la fonction que je cherche ???

Offline

#14 2005-05-24 09:29:09

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

Re: Ajouter un champs dans états

J'ai juste ajouté le champ lieu dans les états je suis pas allé plus loin.


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

Offline

#15 2005-05-24 10:01:19

Angelset
Member
Registered: 2005-04-25
Posts: 37

Re: Ajouter un champs dans états

Ok j'ai vu merçi jvais tenter de me dépatouiller pour pouvoir trier le tout en m'aidant des structures des autres functions.php

Toi tu avais mis ça:

// Location           
    echo "<th>";
    echo $lang["computers"][10]."</th>";

Pour le trie je vois qu'avec mon changement ca bloque pourquoi je ne peux pas mettre:


// Location           
    echo "<th>";
    if ($sort=="glpi_dropdown_locations.name") {
    if ($order=="DESC") echo "<img src=\"".$HTMLRel."pics/puce-down.png\" alt='' title=''>";
    else echo "<img src=\"".$HTMLRel."pics/puce-up.png\" alt='' title=''>";
        }
echo "<a href=\"$targetfield=$field&phrasetype=$phrasetype&contains=$contains&sort=glpi_dropdown_locations.name&order=".($order=="ASC"?"DESC":"ASC")."&start=$start\">";
echo $lang["computers"][10]."</th>";

Offline

#16 2005-05-24 10:15:48

Angelset
Member
Registered: 2005-04-25
Posts: 37

Re: Ajouter un champs dans états

Et en plus j'ai oublier de te souligner qu'il y avait toujours ceci qui apparaissait/

Notice: Undefined index: location in c:\program files\easyphp1-8\www\glpi-0.51\glpi\state\functions.php on line 212

Mais encore merçi beaucoup pour ce que tu m'as filé.............

Last edited by Angelset (2005-05-24 10:16:26)

Offline

#17 2005-05-24 10:58:43

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

Re: Ajouter un champs dans états

Sincerement le tri sur cette partie est pus que problématique et ne peux pas etre fait facilement.

En effet, il y a des liens vers 5 ou 6 tables de l'inventaire... La jointure est faisable mais pas forcement evidente.


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

Offline

#18 2005-05-24 12:29:05

Angelset
Member
Registered: 2005-04-25
Posts: 37

Re: Ajouter un champs dans états

mais est-ce que je peux faire la m^me pour N° de série par exemple....??? en m'inspirant de ce que t'as fait avec Lieu pas de Trie mais juste afficher le N° de série.....????

Offline

#19 2005-05-24 12:39:26

Angelset
Member
Registered: 2005-04-25
Posts: 37

Re: Ajouter un champs dans états

trop fort grâce à toi Moyo jcommence à me dépatouiller
ca a fonctionner....

Offline

#20 2005-05-24 14:10:26

fouayeman
Member
Registered: 2005-04-19
Posts: 94

Re: Ajouter un champs dans états

Angelset wrote:

Voici la ligne que j'ai rajouté........echo "<td>". getDropdownName("glpi_dropdown_locations",$ri->fields["location"]) ."</td>"; qui me donne l'rreur en question mais je sais donc qu'il faut que je fasse une modification mais où????

Est-ce que tu as laissé cette ligne ou quelque chose qi y ressemble?
Carcette ligne te provoquerait cette erreur je pense.

Offline

#21 2005-05-24 14:12:35

fouayeman
Member
Registered: 2005-04-19
Posts: 94

Re: Ajouter un champs dans états

désolé, apparament t'as plus ton erreur de undefined index 'location'.
mais c'est tant mieux!

Offline

#22 2005-05-24 15:14:25

Angelset
Member
Registered: 2005-04-25
Posts: 37

Re: Ajouter un champs dans états

Moyo avec ce que tu m'as donné j'ai :

Notice: Undefined index: location in c:\program files\easyphp1-8\www\glpi-0.51\glpi\state\functions.php on line 226

mais ce que je voulais il le fait càd afficher le lieu dans état.....j'ai fait de même avec serial num et j'ai en dessous de cette erreur celle-ci:

Notice: Undefined index: serial in c:\program files\easyphp1-8\www\glpi-0.51\glpi\state\functions.php on line 227

mais au niveau objectif escompter c'est bon c'ets juste cette phrase qui m'embête.....

Offline

#23 2005-05-24 15:25:29

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

Re: Ajouter un champs dans états

je ne t'ai rien donné. Si tu as un problème c'est surement que tu essaye d'acceder à $this->fileds au lieu de $this->obj->fields


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

Offline

#24 2005-05-24 18:01:27

Angelset
Member
Registered: 2005-04-25
Posts: 37

Re: Ajouter un champs dans états

Non je parlais de ce que tu avais ajouté dans le cvs pour me permettre d'afficher le lieu mais même avec ca ya l'erreur qui apparaît mais ca fonctionnement.....

Offline

#25 2005-05-25 10:29:52

fouayeman
Member
Registered: 2005-04-19
Posts: 94

Re: Ajouter un champs dans états

heu je ne sais pas si tu as pris mon message en compte, je n'ai pas vu de réponse, mais tu avais l'erreur de undefine index 'location' bien plus tot.
Regarde si tu as laissé la ligne qui te donné l'erreur (message un peu plus haut). si tu essaye d'accéde  à $ri->fields['location'], ç apeut faire l'erreur, ça la faisait avant, mais ça dépend de ce qu'a rajouté M.  MOYO.

Offline

Board footer

Powered by FluxBB