Règles de saisie : Différence entre versions

Aller à : navigation, rechercher
(Exemple)
(Présentation)
Ligne 1 : Ligne 1 :
 
=Présentation=
 
=Présentation=
Cette page décrit la structure des règles de saisie.
+
Cette page décrit la structure des règles de saisie qui sont éditables dans '''Structure > Paramétrage''', formulaire '''Gestion du planning''', champ '''[[Configuration#Règles-de-saisies-XML|Règles de saisies XML]]'''.
  
 
Les règles de saisie sont utilisées, pour le moment, uniquement par le moteur de réservation pour construire l'affichage des champs du formulaire de réservation et pour vérifier, après la saisie d'une réservation, que les données saisies respectent bien les règles de saisie.
 
Les règles de saisie sont utilisées, pour le moment, uniquement par le moteur de réservation pour construire l'affichage des champs du formulaire de réservation et pour vérifier, après la saisie d'une réservation, que les données saisies respectent bien les règles de saisie.

Version du 10 septembre 2018 à 11:35

Présentation

Cette page décrit la structure des règles de saisie qui sont éditables dans Structure > Paramétrage, formulaire Gestion du planning, champ Règles de saisies XML.

Les règles de saisie sont utilisées, pour le moment, uniquement par le moteur de réservation pour construire l'affichage des champs du formulaire de réservation et pour vérifier, après la saisie d'une réservation, que les données saisies respectent bien les règles de saisie.

Elles sont écrites en XML. cf. l'exemple de règles de saisie.

Éléments (par ordre dans l'arborescence)

ruleList

Élément racine de la structure XML ne peut contenir comme élément enfant que des éléments "rule" qui correspondent, chacun, à une règle.

Attribut "restrictedVersion"

rule

activityTypeList

attribut needs

activityType

resourceList

attribut maxQty
attribut minQty

placeList

place

attribut index
attribut maxQty
attribut minQty
attribut needs
attribut status

Exemple

<?xml version="1.0" encoding="UTF-8"?>
<ruleList restrictedVersion="false">
    <rule>
        <!-- Liste des activités autorisées et requises -->
        <activityTypeList needs="bookAlone">
            <activityType>1</activityType> <!-- Local -->
        </activityTypeList>
        <!-- Liste des ressources autorisées -->
        <resourceList minQty="1" maxQty="1">
            <resourceType>1</resourceType> <!-- F-001 -->
            <resourceType>2</resourceType> <!-- F-002 -->
        </resourceList>
        <!-- Définition des places -->
        <placeList>
            <place index="0"  minQty="1" maxQty="1" status="1" needs="bookAnyone"> <!-- Pilote -->
                <!-- Liste des profils autorisés -->
                <profile>2</profile> <!-- Pilote -->
            </place>
        </placeList>
    </rule>
    <rule>
        <!-- Liste des activités autorisées et requises -->
        <activityTypeList needs="*(bookAlone)(bookWithInstr)">
            <activityType>1</activityType> <!-- Local -->
            <activityType>2</activityType> <!-- Instruction -->
        </activityTypeList>
        <!-- Liste des ressources autorisées -->
        <resourceList minQty="1" maxQty="1">
            <resourceType>*</resourceType> <!-- F-001, F-002, F-00X -->
        </resourceList>
        <!-- Définition des places -->
        <placeList>
            <place index="0"  minQty="1" maxQty="1" status="1"> <!-- Pilote-->
                <!-- Liste des profils autorisés -->
                <profile>1</profile> <!-- Elève -->
                <profile>2</profile> <!-- Pilote -->
            </place>
            <place index="1" minQty="1" maxQty="1" status="2"> <!-- Instructeur -->
                <!-- Liste des profils autorisés -->
                <profile>4</profile> <!-- Instructeur -->
            </place>
        </placeList>
    </rule>
    <rule>...</rule>
</ruleList>

Signes de comparaison

Une ou plusieurs formules peuvent être écrite afin d'avoir un comportement particulier (par exemple, des réservations ne dépassant pas les 30mins). Il faut donc écrire une condition : pour certains symboles il faut taper leur equivalent HTML :

  • Pour >, remplacer par &gt;
  • Pour <, remplacer par &lt;
  • Pour >=, remplacer par &gt;=
  • Pour <=, remplacer par &lt;=

Wildcard

Le caractère * peut être utilisé dans les éléments resourceType. Il indique que la règle s'applique à tous les types de ressources existants de la plateforme.

Exemple avec wildcard :

<resourceTypeList minQty="1" maxQty="1">
    <resourceType>*</resourceType>
</resourceTypeList>

Exemple sans wildcard :

<resourceTypeList minQty="1" maxQty="1">
    <resourceType>1</resourceType>
    <resourceType>2</resourceType>
    <resourceType>3</resourceType>
</resourceTypeList>