Les attributs énumérés

But

Les attributs énumérés peuvent être utilisés pour définir un ensemble fini de choix de valeurs pour un attribut. On distinguera les attributs énumérés simples (type “enum”) pour le choix d'une seule valeur parmi l'ensemble des choix, des attributs énumérés multiples (type “enumlist”) pour le choix de plusieurs valeurs possibles.

L'ensemble des valeurs est une suite de couples <clef>|<label> séparés par des virgules. Le label est le texte qui est présenté sur l'interface; la clef la valeur qui est stockée en base de données. On peut ainsi modifier les labels sans pour autant changer la clef. La suppression d'une clef implique que c'est directement la clef qui sera affichée (les valeurs en base de données ne sont pas supprimées).

Par défaut un menu de filtrage sur les valeurs de cet attribut est ajouté dans la barre du haut pour toutes applications dérivées de GENERIC.

Mise en place

Deux options sont disponibles pour les énumérés bmenu et system. Si bmenu égal no, le menu supplémentaire ne sera pas affiché. Si system égal yes, les valeurs définies seront écrasées par les nouvelles valeurs définies. Par défaut, les valeurs des énumérés une fois initialisées ne sont pas modifiables lors de la redéfinition d'une famille.

Par défaut les attributs énumérés sont présentés à l'édition par une liste déroulante pour les énumérés simples et une liste à sélection multiple pour les énumérés multiples.

Plusieurs formats de sélection sont possibles :

  • pour les énumérés simples :
    • vcheck : boutons radio (exclusifs) alignés verticalement
    • hcheck : boutons radio alignés horizontalement
    • auto : liste déroulante filtrante
    • bool : un seul bouton boîte à cocher (checkbox). Utilisable seulement pour les énumérés à 2 valeurs. Si la boîte n'est pas cochée, c'est la première valeur qui est affectée à l'attribut, et inversement.
  • pour les énumérés multiples :
    • vcheck : boîtes à cocher alignées verticalement
    • hcheck : boîtes à cocher alignées horizontalement
    • auto : liste déroulante filtrante

Le format sera décrit par l'option 'eformat'. Pour indiquer qu'un énuméré est multivalué on indiquera 'multiple=yes' dans les options.

Restriction: les énumérés multiples ne peuvent pas être utilisés dans les tableaux.

Pour les énumérés simples, si la valeur par défaut n'est pas spécifiée, c'est le premier choix qui est présenté. Si on veut donner la possibilité de ne rien choisir, il faut ajouter un élément qui a pour valeur espace (red|rouge, |sans avis). La sélection de 'sans avis' aura pour conséquence la suppression de la valeur de l'attribut.

idattr (ou ID) label (ou Nom) type phpfunc (ou ft) options
TST_COLOR1 ma couleur préférée enum red¦rouge,lightgreen¦vert,darkblue¦bleu foncé,yellow¦jaune bmenu=no
TST_COLOR2 la couleur du vase enum red¦rouge,lightgreen¦vert,darkblue¦bleu foncé,yellow¦jaune bmenu=no¦eformat=hcheck
TST_COLOR3 la couleur de la table enum red¦rouge,lightgreen¦vert,darkblue¦bleu foncé,yellow¦jaune bmenu=no¦eformat=vcheck
TST_COLOR4 aimez-vous le vert ? enum red¦rouge,green¦vert bmenu=no¦eformat=bool
TST_COLOR5 les couleurs de la fleur enumlist red¦rouge,lightgreen¦vert,darkblue¦bleu foncé,yellow¦jaune bmenu=no
TST_COLOR6 les couleurs de l'arbre enumlist red¦rouge,lightgreen¦vert,darkblue¦bleu foncé,yellow¦jaune bmenu=no¦eformat=hcheck
TST_COLOR7 les couleurs du ciel enumlist red¦rouge,lightgreen¦vert,darkblue¦bleu foncé,yellow¦jaune bmenu=no¦eformat=vcheck


La liste des choix peut aussi être fournie par une fonction PHP ce qui permet une réutilisabilité et une plus grande dynamique dans les choix proposés. Cette fonctionnalité est décrite dans le manuel de programmation.

Type ouvert

etype=open

Les énumérés de type 'ouvert' permettent aux utilisateurs de rajouter des entrées dana la liste des choix possibles. Si l'utilisateur a le droit d'éditer le document il a le droit de rajouter une entrée dans l'énuméré. Par contre, il ne pourra pas l'enlever directement. Seul l'administrateur pourra supprimer/corriger les entrées de cet énuméré.

Type libre

etype=free

Les énumérés de type 'libre' permettent aux utilisateurs de choisir un autre choix que ceux proposés. Ce choix libre n'est pas ajouté à la liste des entrées.

Créer ou modifier des énumérés avec l'interface Web

Pour créer ou modifier les énumérés avec une une interface Web, il faut :

  • Faire un clic droit sur la famille et sélectionner le menu “Éditer les énumérés”
  • Cliquer sur le bouton correspondant à l'énuméré à modifier
  • Utiliser l'interface, pour ajouter, modifier ou supprimer des énumérés

Il est aussi possible de créer des sous-listes dans l'énumération grâce à l'interface web. Il suffit pour cela:

  • De créer un nouvel énuméré
  • Le deplacer grâce au flèche en dessous de l'énuméré titre
  • Le deplacer vers la droite ou la gauche pour changer son niveau

Fichier de test

Ce fichier contient un exemple de famille utilisant des attributs énumérés.

Vous pouvez suivre les instructions de cette page pour importer cette famille dans Freedom.

Aide à la création de champs enum

Si votre champ enum comporte de nombreuses entrées, cette macro OOo vous aidera à créer votre champ.

Localisation

Le texte peut être traduit. S'il contient le caractère ”,” ou ”.”, alors il faut précéder ce caractère de ”/”.

freedom_2.14/admin/family/enumeres.txt · Dernière modification: 05/03/2010 15:24 (édition externe)