etudiants:2014:bertrand:bugreport3

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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] romainetudiants:2014:bertrand:bugreport3 [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 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 ====
Ligne 119: Ligne 129:
  $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>
  • etudiants/2014/bertrand/bugreport3.1385472088.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)