Conditionnels

Conditionner vos listes de choix en fonction du contexte.

Les tags de type CONDITIONAL permettent de définir des conditions sur les différents choix (ou des ensembles de choix) proposés à l’utilisateur dans les formulaires d’indexation ou de recherche.

Les objets

ConditionalAllowedValue supportent plusieurs conditions peuvent être définies pour un choix donné. Dans ce cas, il suffit qu’une condition soit satisfaite pour que le choix soit proposé à l’utilisateur .


Exemple de deux choix conditionnés

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TagClass xmlns="http://flower.com/docs/domain/tagclass" xmlns:ns4="http://flower.com/docs/domain/i18n">

	<!-- ...  -->
	
	<allowedValues symbolicName="ADP2" 
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ConditionalAllowedValue">
		<conditions>ma condition</conditions>
		<displayNames language="FR">
			<ns4:value>ADP2</ns4:value>
		</displayNames>

		<allowedValues symbolicName="Generic">
			<displayNames language="FR">
				<ns4:value>Générique</ns4:value>
			</displayNames>
		</allowedValues>
		<allowedValues symbolicName="Manager">
			<displayNames language="FR">
				<ns4:value>Manager</ns4:value>
			</displayNames>
		</allowedValues>
		
	</allowedValues>

	<!-- ...  -->
	
</TagClass>

Conditions sur les champs

Les conditions peuvent porter sur les champs d’un composant ou d’un formulaire de recherche. Elles se composent d’un identifiant, d’un opérateur et d’une valeur.

Tags

Afin d’identifiant le tag sur lequel porte la condition, il est nécessaire d’utiliser une chaîne de caractères du type ${tags.<tag_id>}<tag_id> est l’identifiant du tag.

Pour les tags, les opérateurs == ou != peuvent être utilisés pour indiquer respectivement la précense ou la non-présence d’une valeur.

Typiquement les différents types de condition supportés pour les tags sont les suivants :

  • ${tags.<tag_id>}==X : Tag existant et contenant (au moins) la valeur X
  • ${tags.<tag_id>}!=X : Tag inexistant ou ne contenant pas la valeur indiquée par X
  • ${tags.<tag_id>}== : Tag inexistant ou tag sans valeur ou tag avec une valeur vide
  • ${tags.<tag_id>}!= : Tag existant avec au moins une valeur non vide


Ces conditions s’appliquent seulement sur des tags affichés dans le formulaire d’indexation ou de recherche.


Exemple : Condition sur un tag BAL avec la valeur Service1

${tags.BAL}==Service1

ou

${tags.BAL}!=Service1

Classe

Afin d’indiquer qu’une condition porte sur la classe de composant, il est nécessaire d’utiliser une chaîne de caractères du type ${data.classid}.

Pour ce type de condition, les opérateurs == ou != peuvent être utilisés pour indiquer respectivement la précense ou la non-présence d’une valeur.


Exemple : Condition sur la classe de composant Envelope

${data.classid}==Envelope

ou

${data.classid}!=Envelope

Conditions liées à l’utilisateur

Les conditions sur l’utilisateur permettent de restreindre l’utilisation de choix en fonction des autorités de l’utilisateur connecté. Les autorités d’un utilisateur correspondent à l’ensemble composé de:

  • l’identifiant de l’utilsateur
  • ses groupes LDAP
  • les équipes auxquelles il appartient


Exemple :

${user.authorities}.contains("Employees")