Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
etudiants:2014:bertrand:bugreport3 [2013/11/26 14:21] – [5- Contrôleurs] romain | etudiants:2014:bertrand:bugreport3 [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]] |
- [[etudiants:2014:bertrand:bugreport2|Gestion des applications]] | - [[etudiants:2014:bertrand:bugreport2|Gestion des applications]] |
- Gestion des groupes | - 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 groupes ===== | ===== Gestion des groupes ===== |
==== 1- Fonctionnalités ==== | ==== 1- Fonctionnalités ==== |
$data=array("groups"=>$groups, "js"=>$js); | $data=array("groups"=>$groups, "js"=>$js); |
$this->loadView("vGroups", $data); | $this->loadView("vGroups", $data); |
| } |
| </sxh> |
| |
| === 5.3 cGroupe/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'un groupe**| |
| |::: | <html><span class="">Si le formulaire est posté (POST)</span></html> | |
| |::: | <html><div class="value" style="margin-left:15px">Instanciation d'un nouveau groupe</div> |
| <div class="value" style="margin-left:15px">Affectation des variables du POST aux membres du groupe</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">#btValidAddGroup -> add</div> |
| <div class="value" style="margin-left:15px">#btCancelAddGroup -> annulation</div> |
| <div class="jsp" style="margin-left:15px">Passage des variables et chargement de la vue <u>vAddGroup</u></div> |
| </html> | |
| |
| <sxh php;title:cGroupe/add> |
| public function add(){ |
| if($_SERVER['REQUEST_METHOD']=='POST'){ |
| $group=new Groupe(); |
| RequestUtils::setValuesToObject($group,RequestUtils::getPost()); |
| |
| |
| if(DAO::insert($group)){ |
| Gui::showOne($group); |
| echo " ajouté"; |
| echo JsUtils::get("cGroupe/refresh","{}","#groups"); |
| }else |
| echo "ajout impossible"; |
| echo JsUtils::doSomethingOn("#operation", "hide",200); |
| }else{ |
| $js=JsUtils::postFormAndBindTo("#btValidAddGroup", "click", "cGroupe/add", "frmAddGroup","#message",true); |
| $js.=JsUtils::doSomeThingAndBindTo("#btCancelAddGroup", "click", "#operation","hide",200); |
| $js.=JsUtils::setHtmlAndBindTo("#btCancelAddGroup", "click", "#message","Opération d\'ajout annulée"); |
| $js.=JsUtils::doSomethingOn("#operation", "show",400); |
| |
| $group=new Groupe(); |
| $this->loadView("vAddGroup",array("group"=>$group,"js"=>$js,"title"=>"Ajouter un groupe :")); |
| } |
| } |
| </sxh> |
| |
| === 5.4 cGroupe/update === |
| |
| Scénario pratiquement identique au contrôleur **cGroupe/add** |
| |
| <sxh php;title:cGroupe/update> |
| public function update($id){ |
| if($_SERVER['REQUEST_METHOD']=='POST'){ |
| $group=new Groupe(); |
| RequestUtils::setValuesToObject($group,RequestUtils::getPost()); |
| |
| if(DAO::update($group)){ |
| Gui::showOne($group); |
| echo " modifié"; |
| echo JsUtils::get("cGroupe/refresh","{}","#groups"); |
| }else |
| echo "modification impossible"; |
| echo JsUtils::doSomethingOn("#operation", "hide",200); |
| }else{ |
| $id=str_replace("update", "", $id[0]); |
| if(is_numeric($id)){ |
| $group=DAO::getOne("Groupe", "id=".$id); |
| $js=JsUtils::postFormAndBindTo("#btValidAddGroup", "click", "cGroupe/update", "frmAddGroup","#message",true); |
| $js.=JsUtils::doSomeThingAndBindTo("#btCancelAddGroup", "click", "#operation","hide",200); |
| $js.=JsUtils::setHtmlAndBindTo("#btCancelAddGroup", "click", "#message","Opération de mise à jour annulée"); |
| $js.=JsUtils::doSomethingOn("#operation", "show",400); |
| $this->loadView("vAddGroup",array("group"=>$group,"js"=>$js,"title"=>"Modifier le groupe :")); |
| } |
| } |
| } |
| </sxh> |
| |
| === 5.5 cGroupe/confirmDelete === |
| |
| |< 100% 30% 70% >| |
| ^Fonctionnalité ^Descriptif ^ |
| | Confirmation | **Confirmation pour suppression de groupe(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:cGroupe/confirmDelete> |
| public function confirmDelete($id){ |
| $id=str_replace("delete", "", $id[0]); |
| if(is_numeric($id)){ |
| echo "<div class='cadre'>Souhaitez vous supprimer le groupe ? <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", "cGroupe/delete/".$id,"{}","#message"); |
| }else{ |
| echo "<div class='cadre'>Souhaitez vous supprimer les groupes 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", "cGroupe/deleteMulti/".$id,"{}","#message"); |
| } |
| echo JsUtils::doSomethingOn("#operation", "show",400); |
| echo JsUtils::doSomeThingAndBindTo("#cancelDelete", "click", "#operation", "hide",200,JsUtils::_setHtml("#message","Suppression annulée")); |
| } |
| </sxh> |
| |
| === 5.6 cGroupe/deleteMulti === |
| |
| |< 100% 30% 70% >| |
| ^Fonctionnalité ^Descriptif ^ |
| | Suppression | **Supprimer 1 sélection de groupes**| |
| |::: | <html><span class="value">Récupération (dans 1 tableau stocké en session) des ids de(s) groupe(s) à supprimer</span></html> | |
| |::: | <html><span class="param">Parcours des groupes 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:cGroupe/deleteMulti> |
| public function deleteMulti(){ |
| $selectedGroupId=SessionUtils::getArray("selectedGroups"); |
| $nb=0; |
| foreach ($selectedGroupId as $groupId){ |
| $group=new Groupe(); |
| $group->setId($groupId); |
| if(DAO::delete($group)){ |
| SessionUtils::removeValueFromArray("selectedGroups", $groupId); |
| $nb++; |
| } |
| } |
| echo JsUtils::get("cGroupe/refresh","{}","#groups"); |
| echo Gui::pluriel("groupe supprimé", "groupes supprimés", $nb); |
| echo JsUtils::doSomethingOn("#operation", "hide",200); |
| } |
| </sxh> |
| |
| === 5.7 cGroupe/delete === |
| |
| |< 100% 30% 70% >| |
| ^Fonctionnalité ^Descriptif ^ |
| | Suppression | **Supprimer 1 groupe**| |
| |::: | <html><span class="value">Récupération (GET) de l'$id du groupe à 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:cGroupe/delete> |
| public function delete($id){ |
| $id=str_replace("delete", "", $id[0]); |
| if(is_numeric($id)){ |
| $group=new Groupe(); |
| $group->setId($id); |
| if(DAO::delete($group)){ |
| SessionUtils::removeValueFromArray("selectedGroups", $id); |
| Gui::showOne($group); |
| echo " supprimé"; |
| echo JsUtils::get("cGroupe/refresh","{}","#groups"); |
| }else { |
| echo "Suppression impossible"; |
| } |
| } |
| echo JsUtils::doSomethingOn("#operation", "hide",200); |
| } |
| </sxh> |
| |
| === 5.8 cGroupe/select === |
| |
| |< 100% 30% 70% >| |
| ^Fonctionnalité ^Descriptif ^ |
| | Sélection | **(Dé)Sélectionner 1 groupe**| |
| |::: | <html><span class="value">Récupération (GET) de l'$id du groupe à (dé)sélectionner</span></html> | |
| |::: | <html><span class="value">Ajout ou suppression de l'id du groupe dans le tableau $_SESSION["selectedGroups"]</html> | |
| |::: | <html><span class="jsp">Affichage du message post-(dé)sélection</html> | |
| |
| <sxh php;title:cGroupe/select> |
| public function select($id){ |
| $id=str_replace("ck", "", $id[0]); |
| if(is_numeric($id)){ |
| SessionUtils::addOrRemoveValueFromArray("selectedGroups", $id); |
| $nb=sizeof($_SESSION["selectedGroups"]); |
| if($nb>0) |
| echo JsUtils::doSomethingOn("#multi", "show"); |
| else |
| echo JsUtils::doSomethingOn("#multi", "hide"); |
| echo Gui::pluriel("groupe séléctionné", "groupes sélectionnés", $nb); |
| } |
| } |
| </sxh> |
| |
| === 5.9 cGroupe/selectAll === |
| |
| ^Fonctionnalité ^Descriptif ^ |
| | Sélection | **(Dé)Sélectionner tous les groupes**| |
| |::: | <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["selectedGroups"]</html> | |
| |::: | <html><span class="jsp">Affichage du message post-(dé)sélection</html> | |
| |
| <sxh php;title:cGroupe/selectAll> |
| public function selectAll(){ |
| $nb=0; |
| $ckAll=SessionUtils::checkBoolean("ckAll"); |
| if(!$ckAll){ |
| $_SESSION["selectedGroups"]=array(); |
| }else{ |
| $_SESSION["selectedGroups"]=explode(",", $_POST["ids"]); |
| $nb=sizeof($_SESSION["selectedGroups"]); |
| } |
| echo JsUtils::get("cGroupe/refresh/","{}","#groups"); |
| echo Gui::pluriel("groupe séléctionné", "groupes sélectionnés", $nb); |
} | } |
</sxh> | </sxh> |