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
Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Version cible:
-
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 Cuissinatsupprimé
#6 Mis à jour par Joël Cuissinat il y a environ 7 ans
- Statut changé de En cours à Nouveau