Ceci est une ancienne révision du document !
En construction...
BugReport : plateforme de remonté d'incidents
Documentation technique - Sommaire :
- Gestion des applications
Gestion des applications
1- Fonctionnalités
2- Classes métiers
3- Variables de session ($_SESSION)
Nom | Type | Descriptif |
---|---|---|
$_SESSION["ckAll"] | Booléen | Etat de la case à cocher permettant de sélectionner ou de désélectionner toute les applications |
$_SESSION["selectedApps"] | Tableau d'entiers | Ids des applications sélectionnés |
$_SESSION["selectedUsesCases"] | Tableau d'entiers | Ids des cas d'utilisations sélectionnés |
4- Vues
4.1 VApps
Liste des applications
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
< div id = "apps" > < fieldset class = "cadre" > < legend >< input type = "checkbox" id = "ckAll" title = "(Dé)sélectionner les applications" > Applications :</ legend > < table id = "appsTable" > <?php Gui::show( $data [ "apps" ], "addDelete" ) ?> </ table > < div class = "buttons" > < div class = "btn" id = "btAdd" name = "btAdd" title = "Ajouter une nouvelle application" >< span class = "add" >Ajouter une application...</ span ></ div > < div id = "multi" >< b >Pour la sélection :</ b > < a href = "#" class = "delete" id = "btMultiDelete" name = "btMultiDelete" title = "Supprimer les applications sélectionnées" >Supprimer</ a > </ div > </ div > </ fieldset > </ div > <?php echo $data [ "js" ]; ?> |
4.2 vAddApp
Ajouter une application
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $app = $data [ "app" ]; ?> < form id = "frmAddApp" name = "frmAddApp" onsubmit = "return false;" > < fieldset > < legend > <?php echo $data [ "title" ]; ?> </ legend > < input type = "hidden" id = "id" name = "id" value=" <?php echo $app ->getId(); ?> "> < label class = "label" for = "libelle" >Libellé < font color = "red" >*</ font > :</ label >< input title = "Libellé obligatoire" placeholder = "libellé" type = "text" id = "libelle" name = "libelle" value=" <?php echo $app ->getLibelle(); ?> " maxlength="30" required>< br > < label class = "label" for = "mail" >Descriptif :</ label >< input title = "Descriptif de l'application" type = "text" id = "descriptif" name = "descriptif" value=" <?php echo $app ->getDescriptif(); ?> ">< br > < label class = "label" for = "version" >Version :</ label >< input title = "Version de l'application" placeholder = "1.0.0.0" type = "text" id = "version" name = "version" value=" <?php echo $app ->getVersion(); ?> ">< br > < div class = "buttons" > <?php echo $data [ 'addUseCase' ]; ?> < div id = "btValidAddApp" class = "btn" >Valider</ div > < div id = "btCancelAddApp" class = "btn" >Annuler</ div > </ div > </ fieldset > </ form > <?php echo $data [ "js" ]; ?> |
4.3 vUseCase
Liste des cas d'utilisations de l'application sélectionnée
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
< div id = "useCases" > <?php //$useCase=$data["useCase"]; ?> < form id = "frmUseCase" name = "frmUseCase" onsubmit = "return false;" > < fieldset > < legend > <?php echo $data [ "title" ]; ?> </ legend > < input type = "hidden" id = "idApp" name = "idApp" value = "<?php echo $data[" idApp"]; ?> "> <?php echo $data [ 'useCases' ]; ?> < div class = "buttons" > < div class = "btn" id = "btAddUseCase" name = "btAdd" title = "Ajouter un cas d'utilisation" >< span class = "add" >Ajouter un cas d'utilisation...</ span ></ div > < div id = "btValidUseCase" class = "btn" >Valider</ div > < div id = "btCancelUseCase" class = "btn" >Annuler</ div > < div id = "multiUseCase" >< b >Pour la sélection :</ b > < a href = "#" class = "deleteUseCase" id = "btMultiDeleteUseCase" name = "btMultiDeleteUseCase" title = "Supprimer les cas d'utilisations sélectionnées" >Supprimer</ a > </ div > </ div > </ fieldset > </ form > </ div > <?php echo $data [ "js" ]; ?> |
4.4 vAddUseCase
Ajouter un cas d'utilisation a l'application sélectionnée.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
< form id = "frmAddUseCase" name = "frmAddUseCase" onsubmit = "return false;" > < fieldset > < legend > <?php echo $data [ "title" ]; ?> </ legend > < input type = "hidden" id = "application" name = "application" value=" <?php echo $data [ 'idApp' ]; ?> ">< br > < label class = "label" for = "code" >Code < font color = "red" >*</ font > :</ label >< input title = "Code obligatoire" placeholder = "Votre code" type = "text" id = "code" name = "code" value = "" maxlength = "30" required>< br > < label class = "label" for = "libelle" >libelle < font color = "red" >*</ font > :</ label >< input title = "Libelle obligatoire" placeholder = "Votre libelle" type = "text" id = "libelle" name = "libelle" value = "" maxlength = "30" required>< br > < div class = "buttons" > < div id = "btValidAddUseCase" class = "btn" >Valider</ div > < div id = "btCancelAddUseCase" class = "btn" >Annuler</ div > </ div > </ fieldset > </ form > <?php echo $data [ "js" ]; ?> |
5- Contrôleurs
5.1 cApplication/index
Fonctionnalité | Descriptif |
---|---|
Gestion des applications | Contrôleur de gestion des applications |
Appel du contrôleur refresh |
1 2 3 |
public function index(){ $this ->refresh(); } |
5.2 cApplication/refresh
Fonctionnalité | Descriptif |
---|---|
Liste des applications | Utilisé pour l'affichage initial et le rafraîchissement après une modification |
Chargement des applications $apps | |
Application de la sélection d'applications | |
Mise en place logique client
#btAdd -> add
.delete -> confirmDelete
.update -> update
.ck -> select
#ckAll -> selectAll
#deleteMulti -> confirmDelete
|
|
Passage de variables($data[]) et affichage de la vue vApps |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
public function refresh(){ //Chargement des groupes $groups $apps =DAO::getAll( "Application" ); //Application de la sélection des groupes $selectedApps =SessionUtils::getArray( "selectedApps" ); $js =JsUtils::getAndBindTo( "#btAdd" , "click" , "cApplication/add" , "{}" , "#operation" ); $js .=JsUtils::getAndBindTo( ".delete" , "click" , "cApplication/confirmDelete" , "{}" , "#operation" ); $js .=JsUtils::getAndBindTo( ".update" , "click" , "cApplication/update" , "{}" , "#operation" ); $js .=JsUtils::doSomeThingAndBindTo( ".update" , "click" , "#operation2" , "hide" ,200); $js .=JsUtils::getAndBindTo( ".ck" , "click" , "cApplication/select" , "{}" , "#message" ); $js .=JsUtils::setChecked( "ck" , $selectedApps ); $js .=JsUtils::setChecked( "ckAll" , SessionUtils::getBoolean( "ckAll" )); $js .=JsUtils::getAndBindTo( "#deleteMulti" , "click" , "cApplication/confirmDelete/multi" , "{}" , "#operation" ); $js .=JsUtils::postAndBindTo( "#ckAll" , "click" , "cApplication/selectAll/" , '{ids: $("input:checkbox[class=ck]").map(function(){return this.value;}).get().join(",")}' , "#message" ); $nb =sizeof( $selectedApps ); if ( $nb >0) $js .=JsUtils::doSomethingOn( "#multi" , "show" ); else $js .=JsUtils::doSomethingOn( "#multi" , "hide" ); $data = array ( "apps" => $apps , "js" => $js ); $this ->loadView( "vApps" , $data ); } |
5.3 cApplication/add
Remarque :
Le contrôleur add gère l'appel de l'affichage du formulaire d'ajout (GET) et la soumission de ce même formulaire (POST).
Fonctionnalité | Descriptif |
---|---|
Ajout | Ajout d'une application |
Si le formulaire est posté (POST) | |
Instanciation d'une nouvelle application
Affectation des variables du POST aux membres de l'application
Ajout dans la base de données
Appel du contrôleur refresh
Affichage du message de mise à jour |
|
Sinon (GET) | |
Mise en place logique client
#btValidAddApp -> add
#btCancelAddApp -> annulation
Passage des variables et chargement de la vue vAddApp
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
public function add(){ if ( $_SERVER [ 'REQUEST_METHOD' ]== 'POST' ){ $app = new Application(); RequestUtils::setValuesToObject( $app ,RequestUtils::getPost()); if (DAO::insert( $app )){ Gui::showOne( $app ); echo " ajoute" ; echo JsUtils::get( "cApplication/refresh" , "{}" , "#apps" ); } else echo "ajout impossible" ; echo JsUtils::doSomethingOn( "#operation" , "hide" ,200); } else { $js =JsUtils::postFormAndBindTo( "#btValidAddApp" , "click" , "cApplication/add" , "frmAddApp" , "#message" ,true); $js .=JsUtils::doSomeThingAndBindTo( "#btCancelAddApp" , "click" , "#operation" , "hide" ,200); $js .=JsUtils::setHtmlAndBindTo( "#btCancelAddApp" , "click" , "#message" , "Operation d\'ajout annulee" ); $js .=JsUtils::doSomethingOn( "#operation" , "show" ,400); $addUseCase = "" ; $app = new Application(); $this ->loadView( "vAddApp" , array ( "app" => $app , "js" => $js , "title" => "Ajouter une application :" , "addUseCase" => $addUseCase )); } } |