Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
etudiants:2014:bertrand:bugreport2 [2013/11/28 10:09] – [4- Vues] romain | etudiants:2014:bertrand:bugreport2 [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 |
---|
<html><div class="todo">En construction...</div></html> | ====== BugReport : plateforme de remontée d'incidents ====== |
| |
====== BugReport : plateforme de remonté d'incidents ====== | |
<WRAP center round box 60%> | <WRAP center round box 60%> |
**__Documentation technique - Sommaire :__** | **__Documentations techniques - Sommaire :__** |
- [[etudiants:2014:bertrand:bugreport|Gestion des utilisateurs]] | - [[etudiants:2014:bertrand:bugreport|Sources de l'application]] |
| - [[etudiants:2014:bertrand:bugreport1|Gestion des utilisateurs]] |
- Gestion des applications | - Gestion des applications |
- [[etudiants:2014:bertrand:bugreport3|Gestion des groupes]] | - [[etudiants:2014:bertrand:bugreport3|Gestion des groupes]] |
</WRAP> | - [[etudiants:2014:bertrand:bugreport4|Soumettre un report]] |
| - [[etudiants:2014:bertrand:bugreport5|Gestion des Droits]] |
| - [[etudiants:2014:bertrand:bugreport6|Affectation d'utilisateurs]] |
| |
| **__Documentations de supports- Sommaire :__** |
| - [[etudiants:2014:bertrand:bugreportUtilisateur|Utilisateur]] |
| - [[etudiants:2014:bertrand:bugreportTechnicien|Technicien]] |
| - [[etudiants:2014:bertrand:bugreportAdministrateur|Administrateur]] |
| |
| **__Documentations de tests - Sommaire :__** |
| - [[etudiants:2014:bertrand:testsmanuels|Tests manuels]] |
| - [[etudiants:2014:bertrand:testsautomatises|Tests automatisés]] |
| </WRAP> |
===== Gestion des applications ===== | ===== Gestion des applications ===== |
==== 1- Fonctionnalités ==== | ==== 1- Fonctionnalités ==== |
</form> | </form> |
<?php echo $data["js"];?> | <?php echo $data["js"];?> |
| </sxh> |
| |
| ==== 5- Contrôleurs ==== |
| === 5.1 cApplication/index === |
| |< 100% 30% 70% >| |
| ^Fonctionnalité ^Descriptif ^ |
| | Gestion des applications | **Contrôleur de gestion des applications**| |
| |::: | <html><span class="method">Appel du contrôleur <u>refresh</u></span></html> | |
| |
| <sxh php;title:cApplication/index> |
| public function index(){ |
| $this->refresh(); |
| } |
| </sxh> |
| |
| === 5.2 cApplication/refresh === |
| |
| |< 100% 30% 70% >| |
| ^Fonctionnalité ^Descriptif ^ |
| | Liste des applications | **Utilisé pour l'affichage initial et le rafraîchissement après une modification**| |
| |::: | <html><span class="param">Chargement des applications <u>$apps</u></span></html> | |
| |::: | <html><span class="param">Application de la sélection d'applications</span></html> | |
| |::: | <html><div class="xml-cType">Mise en place logique client</div> |
| <div class="value">#btAdd -> add</div> |
| <div class="value">.delete -> confirmDelete</div> |
| <div class="value">.update -> update</div> |
| <div class="value">.ck -> select</div> |
| <div class="value">#ckAll -> selectAll</div> |
| <div class="value">#deleteMulti -> confirmDelete</div> |
| |
| </html> | |
| |::: | <html><span class="jsp">Passage de variables($data[]) et affichage de la vue <u>vApps</u></span></html> | |
| |
| <sxh php;title:cApplication/refresh> |
| 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); |
| } |
| </sxh> |
| |
| === 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). |
| |
| |< 100% 30% 70% >| |
| ^Fonctionnalité ^Descriptif ^ |
| | Ajout | **Ajout d'une application**| |
| |::: | <html><span class="">Si le formulaire est posté (POST)</span></html> | |
| |::: | <html><div class="value" style="margin-left:15px">Instanciation d'une nouvelle application</div> |
| <div class="value" style="margin-left:15px">Affectation des variables du POST aux membres de l'application</div> |
| <div class="value" style="margin-left:15px">Ajout dans la base de données</div> |
| <div class="method" style="margin-left:15px">Appel du contrôleur <u>refresh</u></div> |
| <span class="jsp" style="margin-left:15px">Affichage du message de mise à jour</div></html> | |
| |::: | <html><span class="">Sinon (GET)</span></html> | |
| |::: | <html> |
| <div class="xml-cType" style="margin-left:15px">Mise en place logique client</div> |
| <div class="value" style="margin-left:15px">#btValidAddApp -> add</div> |
| <div class="value" style="margin-left:15px">#btCancelAddApp -> annulation</div> |
| <div class="jsp" style="margin-left:15px">Passage des variables et chargement de la vue <u>vAddApp</u></div> |
| </html> | |
| |
| <sxh php;title:cApplication/add> |
| 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)); |
| } |
| } |
| </sxh> |
| |
| === 5.4 cApplication/update === |
| |
| Scénario pratiquement identique au contrôleur **cApplication/add** |
| |
| <sxh php;title:cApplication/update> |
| public function update($id){ |
| if($_SERVER['REQUEST_METHOD']=='POST'){ |
| $app=new Application(); |
| RequestUtils::setValuesToObject($app,RequestUtils::getPost()); |
| |
| if(DAO::update($app)){ |
| Gui::showOne($app); |
| echo " modifie"; |
| echo JsUtils::get("cApplication/refresh","{}","#apps"); |
| }else |
| echo "modification impossible"; |
| echo JsUtils::doSomethingOn("#operation", "hide",200); |
| }else{ |
| $id=str_replace("update", "", $id[0]); |
| if(is_numeric($id)){ |
| $app=DAO::getOne("Application", "id=".$id); |
| |
| $js=JsUtils::getAndBindTo("#btUseCase", "click", "cUseCase/refresh","{\"id\":".$id."}","#operation2"); |
| $js.=JsUtils::doSomeThingAndBindTo("#btUseCase", "click", "#operation2","show",200); |
| $js.=JsUtils::doSomeThingAndBindTo("#btCancelAddApp", "click", "#operation2","hide",200); |
| $js.=JsUtils::doSomeThingAndBindTo("#btCancelAddApp", "click", "#operation3","hide",200); |
| |
| $js.=JsUtils::postFormAndBindTo("#btValidAddApp", "click", "cApplication/update", "frmAddApp","#message",true); |
| $js.=JsUtils::doSomeThingAndBindTo("#btCancelAddApp", "click", "#operation","hide",200); |
| $js.=JsUtils::setHtmlAndBindTo("#btCancelAddApp", "click", "#message","Operation de mise a jour annulee"); |
| $js.=JsUtils::doSomethingOn("#operation", "show",400); |
| |
| $addUseCase="<div id='btUseCase' class='btn'>Cas d'utilisations</div>"; |
| |
| $this->loadView("vAddApp",array("app"=>$app,"js"=>$js,"title"=>"Modifier l'application :","addUseCase"=>$addUseCase)); |
| } |
| } |
| } |
| </sxh> |
| |
| === 5.5 cApplication/confirmDelete === |
| |
| |< 100% 30% 70% >| |
| ^Fonctionnalité ^Descriptif ^ |
| | Confirmation | **Confirmation pour suppression d'application(s)**| |
| |::: | <html><span class="">Test pour savoir si la sélection est unique ou multiple</span></html> | |
| |::: | <html><div class="jsp" style="margin-left:15px">Affichage du message de confirmation et des options possibles</div></html> | |
| |::: | <html><div class="xml-cType" style="margin-left:15px">Mise en place logique client</div> |
| <div class="value" style="margin-left:15px">#confirmDelete -> delete ou deleteMulti</div> |
| <div class="value" style="margin-left:15px">#cancelDelete -> annulation</div> |
| </html> | |
| |
| <sxh php;title:cApplication/confirmDelete> |
| public function confirmDelete($id){ |
| $id=str_replace("delete", "", $id[0]); |
| if(is_numeric($id)){ |
| echo "<div class='cadre'>Souhaitez vous supprimer l'application ? <a id='confirmDelete".$id."' href='#' class='accept'>Confirmer la suppression</a>"; |
| echo "<a id='cancelDelete' href='#' class='cancel'>Annuler</a>"; |
| echo JsUtils::getAndBindTo("#confirmDelete".$id, "click", "cApplication/delete/".$id,"{}","#message"); |
| }else{ |
| echo "<div class='cadre'>Souhaitez vous supprimer les applications sélectionnés ? <a id='confirmDelete".$id."' href='#' class='accept'>Confirmer la suppression</a>"; |
| echo "<a id='cancelDelete' href='#' class='cancel'>Annuler</a>"; |
| |
| echo JsUtils::getAndBindTo("#confirmDelete".$id, "click", "cApplication/deleteMulti/".$id,"{}","#message"); |
| } |
| echo JsUtils::doSomethingOn("#operation", "show",400); |
| echo JsUtils::doSomeThingAndBindTo("#cancelDelete", "click", "#operation", "hide",200,JsUtils::_setHtml("#message","Suppression annule")); |
| } |
| </sxh> |
| |
| === 5.6 cApplication/deleteMulti === |
| |
| |< 100% 30% 70% >| |
| ^Fonctionnalité ^Descriptif ^ |
| | Suppression | **Supprimer 1 sélection d'applications**| |
| |::: | <html><span class="value">Récupération (dans 1 tableau stocké en session) des ids de(s) application(s) à supprimer</span></html> | |
| |::: | <html><span class="param">Parcours des applications et suppression dans la BDD</html> | |
| |::: | <html><span class="value">Mise à jour de la sélection (en session)</html> | |
| |::: | <html><span class="jsp">Affichage du message post-suppression</html> | |
| |
| <sxh php;title:cApplication/deleteMulti> |
| public function deleteMulti(){ |
| $selectedAppId=SessionUtils::getArray("selectedApps"); |
| $nb=0; |
| foreach ($selectedAppId as $appId){ |
| $app=new Application(); |
| $app->setId($appId); |
| if(DAO::delete($app)){ |
| SessionUtils::removeValueFromArray("selectedApps", $appId); |
| $nb++; |
| } |
| } |
| echo JsUtils::get("cApplication/refresh","{}","#apps"); |
| echo Gui::pluriel("application supprime", "applications supprimes", $nb); |
| echo JsUtils::doSomethingOn("#operation", "hide",200); |
| } |
| </sxh> |
| |
| === 5.7 cApplication/delete === |
| |
| |< 100% 30% 70% >| |
| ^Fonctionnalité ^Descriptif ^ |
| | Suppression | **Supprimer 1 application** | |
| |::: | <html><span class="value">Récupération (GET) de l'$id de l'application à supprimer</span></html> | |
| |::: | <html><span class="param">Suppression dans la BDD</html> | |
| |::: | <html><span class="value">Mise à jour de la sélection (en session)</html> | |
| |::: | <html><span class="jsp">Affichage du message post-suppression</html> | |
| |
| <sxh php;title:cApplication/delete> |
| public function delete($id){ |
| $id=str_replace("delete", "", $id[0]); |
| if(is_numeric($id)){ |
| $app=new Application(); |
| $app->setId($id); |
| if(DAO::delete($app)){ |
| SessionUtils::removeValueFromArray("selectedApps", $id); |
| Gui::showOne($app); |
| echo " supprimé"; |
| echo JsUtils::get("cApplication/refresh","{}","#apps"); |
| }else { |
| echo "Suppression impossible"; |
| } |
| } |
| echo JsUtils::doSomethingOn("#operation", "hide",200); |
| } |
| </sxh> |
| |
| === 5.8 cApplication/select === |
| |
| |< 100% 30% 70% >| |
| ^Fonctionnalité ^Descriptif ^ |
| | Sélection | **(Dé)Sélectionner 1 application**| |
| |::: | <html><span class="value">Récupération (GET) de l'$id de l'application à (dé)sélectionner</span></html> | |
| |::: | <html><span class="value">Ajout ou suppression de l'id de l'application dans le tableau $_SESSION["selectedApps"]</html> | |
| |::: | <html><span class="jsp">Affichage du message post-(dé)sélection</html> | |
| |
| <sxh php;title:cApplication/select> |
| public function select($id){ |
| $id=str_replace("ck", "", $id[0]); |
| if(is_numeric($id)){ |
| SessionUtils::addOrRemoveValueFromArray("selectedApps", $id); |
| $nb=sizeof($_SESSION["selectedApps"]); |
| if($nb>0) |
| echo JsUtils::doSomethingOn("#multi", "show"); |
| else |
| echo JsUtils::doSomethingOn("#multi", "hide"); |
| echo Gui::pluriel("application selectionne", "applications selectionnes", $nb); |
| } |
| } |
| </sxh> |
| |
| === 5.9 cApplication/selectAll === |
| |
| |< 100% 30% 70% >| |
| ^Fonctionnalité ^Descriptif ^ |
| | Sélection | **(Dé)Sélectionner toutes les applications**| |
| |::: | <html><span class="value">Récupération de l'opération à effectuer : sélection ou désélection</span></html> | |
| |::: | <html><span class="value">Mise à jour dans le tableau $_SESSION["selectedApps"]</html> | |
| |::: | <html><span class="jsp">Affichage du message post-(dé)sélection</html> | |
| |
| <sxh php;title:cApplication/selectAll> |
| public function selectAll(){ |
| $nb=0; |
| $ckAll=SessionUtils::checkBoolean("ckAll"); |
| if(!$ckAll){ |
| $_SESSION["selectedApps"]=array(); |
| }else{ |
| $_SESSION["selectedApps"]=explode(",", $_POST["ids"]); |
| $nb=sizeof($_SESSION["selectedApps"]); |
| } |
| echo JsUtils::get("cApplication/refresh/","{}","#apps"); |
| echo Gui::pluriel("application selectionne", "applications selectionnes", $nb); |
| } |
</sxh> | </sxh> |