RequiredEtDisabled » Historique » Version 2
Version 1 (Emmanuel GARETTE, 30/11/2012 10:15) → Version 2/6 (Emmanuel GARETTE, 30/11/2012 10:18)
h1. RequiredEtDisabled
h2. Terminologie
Les termes employés ici sont les termes Tiramisu pour plus de clareté.
Le **hidden_if_(not_)in** @hidden_if_(not_)in@ de Créole s'appellera ici **disabled_if_(not_in)in**. @disabled_if_(not_in)in@.
Un **disabled_if_in** @disabled_if_in@ place un **requires** @requires@ sur la **variable** @variable@ de type : nom de la **variable @variable à tester**, tester@, la **valeur attendue** @valeur attendue@ sur la variable à tester, et l'**action** l'@action@ correspondante.
h2. Description des cas d'utilisation
* Cas 1 :
Requires sur **adresse_ip_proxy** @adresse_ip_proxy@ : si **activer_proxy** @activer_proxy@ est à **non** @non@ la variable est **disabled**. @disabled@.
* Cas 2 :
Requires sur **activer_phpmyadmin** @activer_phpmyadmin@ : si **activer_mysql** @activer_mysql@ est à **non** @non@ la variable est **disabled**. @disabled@.
Requires sur **adresse_ip_phpmyadmin** @adresse_ip_phpmyadmin@ : si **activer_phpmyadmin** @activer_phpmyadmin@ est à **non** @non@ la variable est **disabled**. @disabled@.
h2. Problématique
Dans Créole on utilise deux types de **requires** @requires@ :
* @disabled_if_in@ : pour désactiver une variable ;
* @freeze_if_in@ : sert à la variable calculée pour passer une variable en mode automatique sans possibilité de changer la valeur.
Le problème se pose sur le cas 2. Si activer_phpmyadmin est désactivé parce que activer_mysql est à non, on ne peut pas faire le requires pour adresse_ip_phpmyadmin.
h2. Solutions
h3. Proposition 1 :
Faire une liste de propriété "transitive" lors des requires. Cela veut dire que si on veut déterminé si une **variable** @variable@ est **disabled**, @disabled@, si la **variable @variable à tester** tester@ est à disabled, la **variable** @variable@ est **disabled** @disabled@ aussi.
Par contre, si la variable à une autre propriété, elle peut faire un raise.
h2. Terminologie
Les termes employés ici sont les termes Tiramisu pour plus de clareté.
Le **hidden_if_(not_)in** @hidden_if_(not_)in@ de Créole s'appellera ici **disabled_if_(not_in)in**. @disabled_if_(not_in)in@.
Un **disabled_if_in** @disabled_if_in@ place un **requires** @requires@ sur la **variable** @variable@ de type : nom de la **variable @variable à tester**, tester@, la **valeur attendue** @valeur attendue@ sur la variable à tester, et l'**action** l'@action@ correspondante.
h2. Description des cas d'utilisation
* Cas 1 :
Requires sur **adresse_ip_proxy** @adresse_ip_proxy@ : si **activer_proxy** @activer_proxy@ est à **non** @non@ la variable est **disabled**. @disabled@.
* Cas 2 :
Requires sur **activer_phpmyadmin** @activer_phpmyadmin@ : si **activer_mysql** @activer_mysql@ est à **non** @non@ la variable est **disabled**. @disabled@.
Requires sur **adresse_ip_phpmyadmin** @adresse_ip_phpmyadmin@ : si **activer_phpmyadmin** @activer_phpmyadmin@ est à **non** @non@ la variable est **disabled**. @disabled@.
h2. Problématique
Dans Créole on utilise deux types de **requires** @requires@ :
* @disabled_if_in@ : pour désactiver une variable ;
* @freeze_if_in@ : sert à la variable calculée pour passer une variable en mode automatique sans possibilité de changer la valeur.
Le problème se pose sur le cas 2. Si activer_phpmyadmin est désactivé parce que activer_mysql est à non, on ne peut pas faire le requires pour adresse_ip_phpmyadmin.
h2. Solutions
h3. Proposition 1 :
Faire une liste de propriété "transitive" lors des requires. Cela veut dire que si on veut déterminé si une **variable** @variable@ est **disabled**, @disabled@, si la **variable @variable à tester** tester@ est à disabled, la **variable** @variable@ est **disabled** @disabled@ aussi.
Par contre, si la variable à une autre propriété, elle peut faire un raise.