Bonjour,

J'ai vu passé une solution (à moins que ce ne soit dans mon propre code) qui consiste à compter le nombre d'élément après avoir définit tous les onglets "addstandardtab". Si le nombre d'élément du tableau est vide, alors on ajoute l'onglet par défaut.
Cela donnerait quelque chose du genre :

 function defineTabs($options=array()) {
      global $LANG;

      $ong = array();
      $this->addStandardTab('Contact_Supplier', $ong, $options);
      $this->addStandardTab('Document', $ong, $options);
      $this->addStandardTab('Link', $ong, $options);
      $this->addStandardTab('Note', $ong, $options);
      $this->addStandardTab('Log', $ong, $options);
      if (count($ong) == 0)
         $ong['empty'] = $this->getTypeName();

      return $ong;
   }

Cela me parait la solution la plus logique : on n'ajoute l'onglet "par défaut" que s'il n'y en a aucun.

Damien
On 08/09/11 12:00, Remi Collet wrote:
Salut.

Comment gérer proprement le premier onglet des objets.

En 0.83, avec la gestion standardiser des onglets, ce n'est plus l'objet qui 
"maitrise" ses onglets,
mais les autres objets (qui en gèrent aussi le contenu)

Ex (contact.class.php) :

    function defineTabs($options=array()) {
       global $LANG;

       $ong = array();
       if ($this->isNewItem()) {
          $ong['empty'] = $this->getTypeName();
       } else {
          $this->addStandardTab('Contact_Supplier', $ong, $options);
          $this->addStandardTab('Document', $ong, $options);
          $this->addStandardTab('Link', $ong, $options);
          $this->addStandardTab('Note', $ong, $options);
          $this->addStandardTab('Log', $ong, $options);
       }

       return $ong;
    }


Problème, à l'issue des appels à addStandardTab(), on peut ne pas avoir 
d'onglet (droits insuffisant
par exemple)

Pour "Groupe", j'ai ajouté de manière systématique un premier onglet "Groupe" 
(vide) car il me
semblait qu'avoir au moins un élément "fixe" (les autres onglets sont tous 
optionnels en fonction
des attributs du groupe) était une bonne idée.

D'un autre côté, cet onglet prend de la place.

On pourrait prévoir un test

if (empty($ong)) {
    $ong['empty'] = $this->getTypeName();
}


Voila, à discuter.
Remi.



*****************************************************
"Le contenu de ce courriel et ses éventuelles pièces jointes sont 
confidentiels. Ils s'adressent exclusivement à la personne destinataire. Si cet 
envoi ne vous est pas destiné, ou si vous l'avez reçu par erreur, et afin de ne pas 
violer le secret des correspondances, vous ne devez pas le transmettre à d'autres 
personnes ni le reproduire. Merci de le renvoyer à l'émetteur et de le détruire.

Attention : L'organisme de l'émetteur du message ne pourra être tenu responsable de 
l'altération du présent courriel. Il appartient au destinataire de vérifier que les 
messages et pièces jointes reçus ne contiennent pas de virus. Les opinions contenues 
dans ce courriel et ses éventuelles pièces jointes sont celles de l'émetteur. Elles 
ne reflètent pas la position de l'organisme sauf s'il en est disposé autrement dans 
le présent courriel."
******************************************************

_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev


--
--------------------------------------------------------------------
Damien TOURAINE - Ingénieur de Recherche CNRS, LIMSI-CNRS
Groupe de RV&A "VENISE", (http://www.limsi.fr/venise/)
Bat. 508, Universite Paris-Sud 91403 Orsay cedex - +33 1 69 85 81 64
--------------------------------------------------------------------


_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev

Reply via email to