Projet

Général

Profil

RequiredEtDisabled » Historique » Version 3

Version 2 (Emmanuel GARETTE, 30/11/2012 10:18) → Version 3/6 (Gwenael Remond, 28/12/2012 15:53)

h1. RequiredEtDisabled

h2. Terminologie

Les termes employés ici sont les termes Tiramisu pour plus de clareté.

Le **hidden_if_(not_)in** de Créole s'appellera ici **disabled_if_(not_in)in**.

Un **disabled_if_in** place un **requires** sur la **variable** de type : nom de la **variable à tester**, la **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** : si **activer_proxy** est à **non** la variable est **disabled**.

* Cas 2 :

Requires sur **activer_phpmyadmin** : si **activer_mysql** est à **non** la variable est **disabled**.
Requires sur **adresse_ip_phpmyadmin** : si **activer_phpmyadmin** est à **non** la variable est **disabled**.

h2. Problématique

Dans Créole on utilise deux types de **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** est **disabled**, si la **variable à tester** est à disabled, la **variable** est **disabled** aussi.

Par contre, si la variable à une autre propriété, elle peut faire un raise.