Projet

Général

Profil

Tâche #18967

Scénario #15780: Creole pourrait accepter des fonctions pour un valid_enum dynamique

Réflechir à la façon d'implémenter cette fonctionnalité au niveau des dictionnaires XML

Ajouté par Joël Cuissinat il y a environ 7 ans. Mis à jour il y a environ 7 ans.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
28/11/2016
Echéance:
% réalisé:

30%

Temps estimé:
2.00 h
Temps passé:
Restant à faire (heures):
1.5

Historique

#1 Mis à jour par Joël Cuissinat il y a environ 7 ans

  • Statut changé de Nouveau à En cours

#2 Mis à jour par Joël Cuissinat il y a environ 7 ans

L'implémentation minimale est d'accepter une variable multi-valuée en tant que paramètre :

        <check name="valid_enum" target="my_var">
            <param type='eole'>var_multi</param>
        </check>

Le contenu de cette variable pouvant lui-même être calculé de façon externe (genre par avec des calc_multi_condition !)

#3 Mis à jour par Joël Cuissinat il y a environ 7 ans

Cas pratique : la liste des interfaces

Liste cible : 0,1,2,3,Toutes (nombre_interfaces=4)

Si la fonction accepte des non multi (et donc plusieurs), sans toucher à l'existant, on pourrait définir :

        <check name="valid_enum" target="choix_interface">
            <param type='eole'>nom_zone_eth0</param>
            <param type='eole' optionnal='True'>nom_zone_eth1</param>
            <param type='eole' optionnal='True'>nom_zone_eth2</param>
            <param type='eole' optionnal='True'>nom_zone_eth3</param>
            <param type='eole' optionnal='True'>nom_zone_eth4</param>
            <param>['Toutes']</param> <!-- ou possibilité de passer une seule valeur -->
        </check>

Ce qui donnerait : "ens4,ens5,ens6,ens7,Toutes". L'ajout et l'utilisation d'une variable "id_etX" pour chaque interface (à la place des nom_zone_ethX) permettrait d'obtenir le résultat souhaité sans complexifier la fonction ni utiliser de calcul.

#4 Mis à jour par Joël Cuissinat il y a environ 7 ans

  • % réalisé changé de 0 à 30
  • Restant à faire (heures) changé de 2.0 à 1.5

#5 Mis à jour par Joël Cuissinat il y a environ 7 ans

  • Assigné à Joël Cuissinat supprimé

#6 Mis à jour par Joël Cuissinat il y a environ 7 ans

  • Statut changé de En cours à Nouveau

Formats disponibles : Atom PDF