Champs additionnels

Le plugin champs additionnels vous permet d’ajouter de nouveaux champs à différents objets de GLPI : tickets, ordinateurs, utilisateurs, …

Pré-requis

Ce plugin requiert:

  • GLPi 0.85 ou supérieur
  • PHP 5.4 ou supérieur lorsqu’il est utilisé avec GLPI 9.1, et PHP 5.5 ou supérieur lorsqu’il est utilisé avec une version antérieure de GLPI.

Fonctionnalités

  • Ajout de blocs conteneurs sur différents objets,
  • Ajout de champs dans les blocs,
  • Affichage des blocs dans un onglet existant ou dans leur propre onglet,
  • Plusieurs types de champs disponibles,
  • Les champs peuvent être marqués comme étant requis,
  • Gestion des accès des profils par conteneur,

Installer le plugin

  • Décompresser l’archive.
  • Déplacer le répertoire fields dans le répertoire <GLPI_ROOT>/plugins`.
  • Aller à la page Configuration > Plugins,
  • Installer et activer le plugin.

Utilisation

Le plugin va créer les tables requises dans la base de données ainsi que certains fichiers sur le disque (dans <GLPI_ROOT>/files/_plugins/fields) automatiquement. Ces fichiers et tables seront mis à jour avec le plugin.

L’utilisation du plugin est relativement simple :

  • créer un bloc lié avec des objets,
  • créer des champs dans ce bloc.

Vous accéderez à la configuration du plugin via le menu Configuration > Champs supplémentaires

Ajouter un nouveau bloc

../_images/new_block.png
  • Libellé : le libellé du bloc qui sera affichée sur les formulaires des objets,
  • Type : le type d’affichage, parmi :
    • Ajout d’un onglet : ajoutera un nouvel onglet sur le formulaire de l’objet qui contient le bloc,
    • Insertion dans le formulaire : ajoutera le bloc en bas du formulaire principal de l’objet,
    • Insertion dans le formulaire d’un onglet spécifique : ajoutera le bloc en bas d’un onglet spécifique de l’objet.
  • Type d’élément associé : une liste de types sur lesquels le bloc sera ajouté,
  • Actif : si le bloc est actif ou non.

Note

Vous ne pouvez ajouter qu’un seul bloc de type Insertion dans le formulaire pour un type d’objet associé.

L’ajout d’un bloc dans un onglet spécifique n’est possible que pour un seul objet :

../_images/new_block_tab.png

Une fois le bloc créé, il est possible de changer son libellé ou son étét actif, mais pas son type ni la liste des éléments associés.

Profils

Pour pouvez affiner les accès des profils en utilisant l’onglet Profils du bloc. Vous aurez la possibilité de choisir entre Pas d’accès, Lecture ou Écriture pour chaque profil existant.

../_images/block_profiles.png

Ajout d’un nouveau champ

../_images/block_new_field.png
  • Libellé : le libellé du bloc qui sera affichée sur les formulaires des objets,
  • Type type du champ, parmi :
    • Entête : un intitulé d’en-tête, pour une distinction visuelle,
    • Texte (ligne simple) : une ligne de texte simple (input/@type=text)
    • Texte (lignes multiples) : un champ de texte multilignes (textarea)
    • Nombre : un nombre (pas de texte autorisé)
    • Liste déroulante : une liste déroulante configurable, les valeurs sont paramétrées depuis la configuration des intitulés de GLPI que vous trouverez dans le menu Configuration > Intitulés.
    • Oui/Non : une liste déroulante avec uniquement les valeurs Oui et Non,
    • Date : une date seule avec un sélecteur,
    • Date et heure : un champ de date avec un sélecteur et une liste déroulante pour l’heure (le pas étant configuré depuis le cœur de GLPI),
    • Utilisateurs : une liste d’utilisateurs,
  • Actif : si le champ est actif ou non,
  • Lecture seule : si le champ est en lecture seule,
  • Valeurs par défaut : valeurs par défaut du champ,
  • Champ obligatoire : détermine si le champ est obligatoire.

Avertissement

Bien entendu, il vous faudra prêter attention en modifiant les différentes options… Si par exemple, vous définissez un champ obligatoire et en lecture seule, et que vous ne définissez pas de valeur par défaut, la validation du formulaire échouera.

Un autre exemple : si vous définissez une valeur texte par défaut pour un champ nombre… Ce genre de choses ;)

Une fois les champs créés, vous pouvez les réorganiser ou les modifier depuis l’onglet champs du bloc :

../_images/block_list_fields.png

Et voyez ce à quoi cela ressemble sur un objet Utilisateur par exemple :

../_images/block_user_display.png

Interface simplifiée

Les seuls blocs attachés à des tickets et de type Insertion dans le formulaire seront affichés dans l’interface simplifiée. Bien sûr, les droits du profil courant seront également pris en compte !

Traductions

Nouveau dans la version 1.4.0.

Le plugin lui même est traduit par l’intermédiaire des services de transifex ; mais vous pourrez également traduire les libellés des blocs et des champs ; le processus est identique pour les deux :

Sur le formulaire du bloc, choisissez l’onglet Traductions :

../_images/translate_block_label.png

Lors de la création d’un bloc, une nouvelle traduction dans la langue courante sera ajoutée avec le libellé renseigné sera créée ; vous pouvez ajouter autant de traductions que vous le souhaitez.

../_images/add_block_label_translation.png

Les valeurs des listes déroulantes peuvent être traduites en utilisant la configuration des intitulés du cœur.

Avertissement

Dans GLPI 9.1.1 ; certains problèmes empêchent la traduction des valeurs des listes déroulantes ; la possibilité a donc été désactivée dans le plugin. Elle sera réactivée lorsque le cœur aura été corrigé.

Entités

Si vous utilisez des entités dans votre instance de GLPI, un bloc ne sera affiché que si l’entité à laquelle il est attaché correspond est compatible avec celle de l’objet auquel il s’applique.

Lorsque vous créez ou modifiez un bloc en mode multi-entités, vous devrez choisir s’il sera accessible depuis les entités enfants.

../_images/block_entities.png

Par exemple, disons que vos entités respectent la structure suivante :

  • racine
    • A
      • C
    • B

La table ci-dessous vous dira dans quels cas votre bloc sera affiché ou non :

Entité du bloc Bloc récursif Entité de l’objet Blo affiché
A Oui ou Non A Oui
A Oui ou Non B Non
A Oui C Oui
A Non C Non

Creative Commons License