| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| etudiants:2014:bertrand:bugreport [2013/12/08 23:50] – [BugReport : plateforme de remontée d'incidents] romain | etudiants:2014:bertrand:bugreport [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 |
|---|
| ====== BugReport : plateforme de remontée d'incidents ====== | ====== BugReport : plateforme de remontée d'incidents ====== |
| | |
| <WRAP center round box 60%> | <WRAP center round box 60%> |
| **__Documentation technique - Sommaire :__** | **__Documentations techniques - Sommaire :__** |
| - Gestion des utilisateurs | - 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]] |
| - [[etudiants:2014:bertrand:bugreport3|Gestion des groupes]] | - [[etudiants:2014:bertrand:bugreport3|Gestion des groupes]] |
| - [[etudiants:2014:bertrand:bugreport4|Soumettre un report]] | - [[etudiants:2014:bertrand:bugreport4|Soumettre un report]] |
| - [[etudiants:2014:bertrand:bugreport5|Gestion des Droits]] | - [[etudiants:2014:bertrand:bugreport5|Gestion des Droits]] |
| </WRAP> | - [[etudiants:2014:bertrand:bugreport6|Affectation d'utilisateurs]] |
| |
| ===== 1. Gestion des utilisateurs ===== | **__Documentations de supports- Sommaire :__** |
| ==== 1.1 Fonctionnalitées ==== | - [[etudiants:2014:bertrand:bugreportUtilisateur|Utilisateur]] |
| {{:slam4:bugreport:bugreport-diag-uses-cases.png|}} | - [[etudiants:2014:bertrand:bugreportTechnicien|Technicien]] |
| ==== 1.2 Classes métiers ==== | - [[etudiants:2014:bertrand:bugreportAdministrateur|Administrateur]] |
| {{:slam4:bugreport:bugreport-users.png|}} | |
| ==== 1.3 Variables de session ($_SESSION) ==== | |
| |< 100% 30% 20% ->| | |
| ^Nom ^Type ^Descriptif ^ | |
| |<html><span class="variable">$_SESSION["ckAll"]</span></html> |Booléen |Etat de la case à cocher permettant de sélectionner ou de désélectionner tous les utilisateurs | | |
| |<html><span class="variable">$_SESSION["selectedUsers"]</span></html> |Tableau d'entiers |Ids des utilisateurs sélectionnés | | |
| ==== 1.4 Vues ==== | |
| === 1.4.1 vHeader === | |
| Page en-tête | |
| <sxh php;html-script: true;title:views/vHeader.php> | |
| <?php | |
| require_once 'technics/Gui.php'; | |
| ?> | |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <script type="text/javascript" src="<?php echo $GLOBALS["siteUrl"]?>js/jquery-2.0.3.js"></script> | |
| <script type="text/javascript" src="<?php echo $GLOBALS["siteUrl"]?>js/jquery.validate.js"></script> | |
| <link rel="stylesheet" type="text/css" href="<?php echo $GLOBALS["siteUrl"]?>css/main.css"> | |
| <title>Pi - Gestion des utilisateurs</title> | |
| </head> | |
| <body> | |
| <div class="title">Pi <small>v0.9</small> - [ Plateforme d'Incident ]</div> | |
| <div class="content"> | |
| |
| <div id="hierarchie"><ul><?php echo $data["lien"];?></ul></div> | **__Documentations de tests - Sommaire :__** |
| </sxh> | - [[etudiants:2014:bertrand:testsmanuels|Tests manuels]] |
| === 1.4.2 vUsers === | - [[etudiants:2014:bertrand:testsautomatises|Tests automatisés]] |
| Liste des utilisateurs (Affichage initial et rafraîchissement) | </WRAP> |
| |
| {{:etudiants:2014:bertrand:capture_-_vusers.jpg|}} | |
| |
| <sxh php;html-script: true;title:views/vUsers.php> | ===== Sources de l'application ===== |
| <div id="users"> | |
| <fieldset class="cadre"> | |
| <legend><input type="checkbox" id="ckAll" title="(Dé)sélectionner les utilisateurs"> Utilisateurs :</legend> | |
| <table id="usersTable"> | |
| <?php Gui::show($data["users"],"addDeleteUser")?> | |
| </table> | |
| <div class="buttons"> | |
| <div class="btn" id="btAdd" name="btAdd" title="Ajouter un nouvel utilisateur"><span class="addUser">Ajouter un utilisateur...</span></div> | |
| <div id="multi"><b>Pour la sélection :</b> | |
| <a href="#" class="deleteUser" id="btMultiDelete" name="btMultiDelete" title="Supprimer les utilisateurs sélectionnés">Supprimer</a> | |
| Affecter au groupe :<select id="multiGroupe"><?php echo Gui::show($data["groupes"],"select");?></select> | |
| <a href="#" class="" id="btMultiToGroup" name="btMultiToGroup" title="Affecter les utilisateurs sélectionnés au groupe">Ok</a> | |
| </div> | |
| | |
| </div> | |
| </fieldset> | |
| </div> | |
| <?php echo $data["js"];?> | |
| </sxh> | |
| |
| === 1.4.3 vFooter === | |< 70% >| |
| | ^ Descriptif^Document^ |
| Page pied-de-page | |Codes sources de l'application| {{:etudiants:2014:bertrand:bugreport.7z|}} | |
| | |Script de la base de données| {{:etudiants:2014:bertrand:bdd_bugreport.sql|}} | |
| <sxh php;html-script: true;title:views/vFooter.php> | |
| <div id="operation" style="display: none;"></div> | |
| <div id="message"><?php echo $data['message']; ?></div> | |
| </div> | |
| </body> | |
| </html> | |
| </sxh> | |
| | |
| === 1.4.4 vAddUser === | |
| Ajout d'un nouvel utilisateur ou modification d'un utilisateur existant | |
| | |
| {{:etudiants:2014:bertrand:capture_-_ajout-utilisateur.jpg|}} | |
| | |
| <sxh php;html-script: true;title:views/vAddUser.php> | |
| <?php $user=$data["user"];?> | |
| <form id="frmAddUser" name="frmAddUser" onsubmit="return false;"> | |
| <fieldset> | |
| <legend><?php echo $data["title"];?></legend> | |
| <input type="hidden" id="id" name="id" value="<?php echo $user->getId();?>"> | |
| <label class="label" for="login">Login <font color="red">*</font> :</label><input title="Login obligatoire" placeholder="Votre login" type="text" id="login" name="login" value="<?php echo $user->getLogin();?>" maxlength="30" required><br> | |
| <label class="label" for="password">Password* :</label><input title="Password obligatoire" type="password" id="password" name="password" value="" maxlength="10"><br> | |
| <label class="label" for="mail">Email :</label><input title="Entrer un mail valide" type="email" id="mail" name="mail" value="<?php echo $user->getMail();?>"><br> | |
| <label class="label" for="groupe">Groupe :</label><select title="Sélectionner un groupe" size="1" id="idGroupe" name="idGroupe"><?php echo Gui::show($data["groupes"],"select");?>"></select><br> | |
| <div class="buttons"> | |
| <div id="btValidAddUser" class="btn">Valider</div> | |
| <div id="btCancelAddUser" class="btn">Annuler</div> | |
| </div> | |
| </fieldset> | |
| </form> | |
| <?php echo $data["js"];?> | |
| </sxh> | |
| | |
| ==== 1.5 Contrôleurs ==== | |
| === 1.5.1 cUtilisateur/index === | |
| |< 100% 30% 70% >| | |
| ^Fonctionnalité ^Descriptif ^ | |
| | Gestion des utilisateurs | **Contrôleur de gestion des utilisateurs**| | |
| |::: | <html><span class="method">Appel du contrôleur <u>refresh</u></span></html> | | |
| | |
| <sxh php;title:cUtilisateur/index> | |
| public function index(){ | |
| $this->refresh(); | |
| </sxh> | |
| | |
| === 1.5.2 cUtilisateur/refresh === | |
| |< 100% 30% 70% >| | |
| ^Fonctionnalité ^Descriptif ^ | |
| | Liste des utilisateurs | **Utilisé pour l'affichage initial et le rafraîchissement après une modification**| | |
| |::: | <html><span class="param">Chargement des utilisateurs <u>$users</u></span></html> | | |
| |::: | <html><span class="param">Application de la sélection d'utilisateurs</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> | |
| <div class="value">#btMultiToGroup -> addUsersToGroup</div> | |
| </html> | | |
| |::: | <html><span class="jsp">Passage de variables($data[]) et affichage de la vue <u>vUsers</u></span></html> | | |
| | |
| <sxh php;title:cUtilisateur/refresh> | |
| public function refresh(){ | |
| $users=DAO::getAll("Utilisateur"); | |
| $selectedUsers=SessionUtils::getArray("selectedUsers"); | |
| $js=JsUtils::getAndBindTo("#btAdd", "click", "cUtilisateur/add","{}","#operation"); | |
| $js.=JsUtils::getAndBindTo(".deleteUser", "click", "cUtilisateur/confirmDelete","{}","#operation"); | |
| $js.=JsUtils::getAndBindTo(".update", "click", "cUtilisateur/update","{}","#operation"); | |
| $js.=JsUtils::getAndBindTo(".ck", "click", "cUtilisateur/select","{}","#message"); | |
| $js.=JsUtils::setChecked("ck", $selectedUsers); | |
| $js.=JsUtils::setChecked("ckAll", SessionUtils::getBoolean("ckAll")); | |
| $js.=JsUtils::getAndBindTo("#deleteMulti", "click", "cUtilisateur/confirmDelete/multi","{}","#operation"); | |
| $js.=JsUtils::postAndBindTo("#btMultiToGroup", "click", "cUtilisateur/addUsersToGroup",'{idGroupe: $("#multiGroupe").val()}',"#message"); | |
| $js.=JsUtils::postAndBindTo("#ckAll", "click", "cUtilisateur/selectAll/",'{ids: $("input:checkbox[class=ck]").map(function(){return this.value;}).get().join(",")}',"#message"); | |
| | |
| | |
| | |
| $nb=sizeof($selectedUsers); | |
| if($nb>0) | |
| $js.=JsUtils::doSomethingOn("#multi", "show"); | |
| else | |
| $js.=JsUtils::doSomethingOn("#multi", "hide"); | |
| | |
| $data=array("users"=>$users,"js"=>$js,"groupes"=>DAO::getAll("Groupe")); | |
| $this->loadView("vUsers",$data); | |
| } | |
| </sxh> | |
| | |
| === 1.5.3 cUtilisateur/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 utilisateur**| | |
| |::: | <html><span class="">Si le formulaire est posté (POST)</span></html> | | |
| |::: | <html><div class="value" style="margin-left:15px">Instanciation d'un nouvel utilisateur</div> | |
| <div class="value" style="margin-left:15px">Affectation des variables du POST aux membres de l'utilisateur</div> | |
| <div class="value" style="margin-left:15px">Encryptage sha1 du password</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">#btValidAddUser -> add</div> | |
| <div class="value" style="margin-left:15px">#btCancelAddUser -> annulation</div> | |
| <div class="jsp" style="margin-left:15px">Passage des variables et chargement de la vue <u>vAddUser</u></div> | |
| </html> | | |
| | |
| | |
| | |
| <sxh php;title:cUtilisateur/add> | |
| public function add(){ | |
| if($_SERVER['REQUEST_METHOD']=='POST'){ | |
| $user=new Utilisateur(); | |
| RequestUtils::setValuesToObject($user,RequestUtils::getPost()); | |
| $password=$_POST["password"]; | |
| if(isset($password) && $password!="") | |
| $user->setPassword(sha1($password)); | |
| $user->setGroupe(new Groupe($_POST["idGroupe"])); | |
| if(DAO::insert($user)){ | |
| Gui::showOne($user); | |
| echo " ajouté"; | |
| echo JsUtils::get("cUtilisateur/refresh","{}","#users"); | |
| }else | |
| echo "ajout impossible"; | |
| echo JsUtils::doSomethingOn("#operation", "hide",200); | |
| }else{ | |
| $js=JsUtils::postFormAndBindTo("#btValidAddUser", "click", "cUtilisateur/add", "frmAddUser","#message",true); | |
| $js.=JsUtils::doSomeThingAndBindTo("#btCancelAddUser", "click", "#operation","hide",200); | |
| $js.=JsUtils::setHtmlAndBindTo("#btCancelAddUser", "click", "#message","Opération d\'ajout annulée"); | |
| $js.=JsUtils::setAttr("#password", "required",true); | |
| $js.=JsUtils::doSomethingOn("#operation", "show",400); | |
| | |
| $user=new Utilisateur(); | |
| $groupes=DAO::getAll("Groupe"); | |
| $this->loadView("vAddUser", array("user"=>$user,"js"=>$js,"title"=>"Ajouter un utilisateur :","groupes"=>$groupes)); | |
| } | |
| } | |
| </sxh> | |
| | |
| === 1.5.4 cUtilisateur/update === | |
| | |
| Scénario pratiquement identique au contrôleur **cUtilisateur/add** | |
| | |
| <sxh php;title:cUtilisateur/update> | |
| public function update($id){ | |
| if($_SERVER['REQUEST_METHOD']=='POST'){ | |
| $user=new Utilisateur(); | |
| RequestUtils::setValuesToObject($user,RequestUtils::getPost()); | |
| $password=$_POST["password"]; | |
| if(isset($password) && $password!="") | |
| $user->setPassword(sha1($password)); | |
| $user->setGroupe(new Groupe($_POST["idGroupe"])); | |
| if(DAO::update($user)){ | |
| Gui::showOne($user); | |
| echo " modifié"; | |
| echo JsUtils::get("cUtilisateur/refresh","{}","#users"); | |
| }else | |
| echo "modification impossible"; | |
| echo JsUtils::doSomethingOn("#operation", "hide",200); | |
| }else{ | |
| $id=str_replace("update", "", $id[0]); | |
| if(is_numeric($id)){ | |
| $user=DAO::getOne("Utilisateur", "id=".$id); | |
| $groupes=DAO::getAll("Groupe"); | |
| $js=JsUtils::setVal("#idGroupe", $user->getGroupe()->getId()); | |
| $js.=JsUtils::postFormAndBindTo("#btValidAddUser", "click", "cUtilisateur/update", "frmAddUser","#message",true); | |
| $js.=JsUtils::doSomeThingAndBindTo("#btCancelAddUser", "click", "#operation","hide",200); | |
| $js.=JsUtils::setHtmlAndBindTo("#btCancelAddUser", "click", "#message","Opération de mise à jour annulée"); | |
| $js.=JsUtils::bindToElement("#password", "keypress", "function(){".JsUtils::_setAttr("#password", "required",true)."}"); | |
| $js.=JsUtils::doSomethingOn("#operation", "show",400); | |
| $this->loadView("vAddUser", array("user"=>$user,"js"=>$js,"title"=>"Modifier l'utilisateur :","groupes"=>$groupes)); | |
| } | |
| } | |
| } | |
| </sxh> | |
| | |
| === 1.5.5 cUtilisateur/confirmDelete === | |
| | |
| |< 100% 30% 70% >| | |
| ^Fonctionnalité ^Descriptif ^ | |
| | Confirmation | **Confirmation pour suppression d'utilisateur(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:cUtilisateur/confirmDelete> | |
| public function confirmDelete($id){ | |
| $id=str_replace("delete", "", $id[0]); | |
| if(is_numeric($id)){ | |
| echo "<div class='cadre'>Souhaitez vous supprimer l'utilisateur ? <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", "cUtilisateur/delete/".$id,"{}","#message"); | |
| }else{ | |
| echo "<div class='cadre'>Souhaitez vous supprimer les utilisateurs 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", "cUtilisateur/deleteMulti/".$id,"{}","#message"); | |
| } | |
| echo JsUtils::doSomethingOn("#operation", "show",400); | |
| echo JsUtils::doSomeThingAndBindTo("#cancelDelete", "click", "#operation", "hide",200,JsUtils::_setHtml("#message","Supression annulée")); | |
| } | |
| </sxh> | |
| | |
| === 1.5.6 cUtilisateur/delete === | |
| | |
| |< 100% 30% 70% >| | |
| ^Fonctionnalité ^Descriptif ^ | |
| | Suppression | **Supprimer 1 utilisateur**| | |
| |::: | <html><span class="value">Récupération (GET) de l'$id de l'utilisateur à 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:cUtilisateur/delete> | |
| public function delete($id){ | |
| $id=str_replace("delete", "", $id[0]); | |
| if(is_numeric($id)){ | |
| $user=new Utilisateur(); | |
| $user->setId($id); | |
| if(DAO::delete($user)){ | |
| SessionUtils::removeValueFromArray("selectedUsers", $id); | |
| Gui::showOne($user); | |
| echo " supprimé"; | |
| echo JsUtils::get("cUtilisateur/refresh","{}","#users"); | |
| }else { | |
| echo "Suppression impossible"; | |
| } | |
| } | |
| echo JsUtils::doSomethingOn("#operation", "hide",200); | |
| } | |
| </sxh> | |
| | |
| === 1.5.7 cUtilisateur/deleteMulti === | |
| | |
| |< 100% 30% 70% >| | |
| | Suppression | **Supprimer 1 sélection d'utilisateurs**| | |
| |::: | <html><span class="value">Récupération (dans 1 tableau stocké en session) des ids de(s) utilisateur(s) à supprimer</span></html> | | |
| |::: | <html><span class="param">Parcours des utilisateurs 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:cUtilisateur/deleteMulti> | |
| public function deleteMulti(){ | |
| $selectedUsersId=SessionUtils::getArray("selectedUsers"); | |
| $nb=0; | |
| foreach ($selectedUsersId as $userId){ | |
| $user=new Utilisateur(); | |
| $user->setId($userId); | |
| if(DAO::delete($user)){ | |
| SessionUtils::removeValueFromArray("selectedUsers", $userId); | |
| $nb++; | |
| } | |
| } | |
| echo JsUtils::get("cUtilisateur/refresh","{}","#users"); | |
| echo Gui::pluriel("utilisateur supprimé", "utilisateurs supprimés", $nb); | |
| echo JsUtils::doSomethingOn("#operation", "hide",200); | |
| } | |
| </sxh> | |
| | |
| === 1.5.8 cUtilisateur/select === | |
| |< 100% 30% 70% >| | |
| ^Fonctionnalité ^Descriptif ^ | |
| | Sélection | **(Dé)Sélectionner 1 utilisateur**| | |
| |::: | <html><span class="value">Récupération (GET) de l'$id de l'utilisateur à (dé)sélectionner</span></html> | | |
| |::: | <html><span class="value">Ajout ou suppression de l'id de l'utilisateur dans le tableau $_SESSION["selectedUsers"]</html> | | |
| |::: | <html><span class="jsp">Affichage du message post-(dé)sélection</html> | | |
| <sxh php;title:cUtilisateur/select> | |
| public function select($id){ | |
| $id=str_replace("ck", "", $id[0]); | |
| if(is_numeric($id)){ | |
| SessionUtils::addOrRemoveValueFromArray("selectedUsers", $id); | |
| $nb=sizeof($_SESSION["selectedUsers"]); | |
| if($nb>0) | |
| echo JsUtils::doSomethingOn("#multi", "show"); | |
| else | |
| echo JsUtils::doSomethingOn("#multi", "hide"); | |
| Gui::pluriel("utilisateur sélectionné", "utilisateurs sélectionnés", $nb); | |
| } | |
| } | |
| </sxh> | |
| | |
| === 1.5.9 cUtilisateur/selectAll === | |
| | |
| ^Fonctionnalité ^Descriptif ^ | |
| | Sélection | **(Dé)Sélectionner tous les utilisateurs**| | |
| |::: | <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["selectedUsers"]</html> | | |
| |::: | <html><span class="jsp">Affichage du message post-(dé)sélection</html> | | |
| | |
| <sxh php;title:cUtilisateur/selectAll> | |
| public function selectAll(){ | |
| $nb=0; | |
| $ckAll=SessionUtils::checkBoolean("ckAll"); | |
| if(!$ckAll){ | |
| $_SESSION["selectedUsers"]=array(); | |
| }else{ | |
| $_SESSION["selectedUsers"]=explode(",", $_POST["ids"]); | |
| $nb=sizeof($_SESSION["selectedUsers"]); | |
| } | |
| echo JsUtils::get("cUtilisateur/refresh/","{}","#users"); | |
| echo Gui::pluriel("utilisateur sélectionné", "utilisateurs sélectionnés", $nb); | |
| } | |
| </sxh> | |
| | |
| === 1.5.10 cUtilisateur/addUsersToGroup=== | |
| | |
| ^Fonctionnalité ^Descriptif ^ | |
| | Affecter à un groupe| **Affecter la sélection d'utilisateurs à un groupe**| | |
| |::: | <html><span class="value">Récupération (POST) de l'$id du groupe sélectionné</span></html> | | |
| |::: | <html><span class="value">Récupération (SESSION) des utilisateurs sélectionnés</span></html> | | |
| |::: | <html><span class="value">Mise à jour de la sélection dans la base de données</html> | | |
| |::: | <html><span class="jsp">Affichage du message post-affectation</html> | | |
| | |
| <sxh php;title:cUtilisateur/addUsersToGroup> | |
| public function addUsersToGroup(){ | |
| $idGroupe=$_POST["idGroupe"]; | |
| $selectedUsersId=SessionUtils::getArray("selectedUsers"); | |
| $nb=sizeof($selectedUsersId); | |
| $where=SqlUtils::getMultiWhere($selectedUsersId, "id"); | |
| $statement=DAO::$db->prepareStatement("update Utilisateur set idGroupe= :idGroupe where ".$where); | |
| DAO::$db->bindValueFromStatement($statement,"idGroupe",$idGroupe); | |
| $statement->execute(); | |
| echo JsUtils::get("cUtilisateur/refresh/","{}","#users"); | |
| echo Gui::pluriel("utilisateur a changé de groupe", "utilisateurs ont changé de groupe", $nb); | |
| echo JsUtils::doSomethingOn("#operation", "hide",200); | |
| } | |
| </sxh> | |
| | |
| ==== 1.6 Classes techniques ==== | |
| | |
| |<100%>| | |
| ^Nom ^Descriptif ^ | |
| |<html><span class="class">DAO</span></html> | Classe passerelle entre Base de données et objets | | |
| |<html><span class="class">Database</span></html> | Classe d'accès à une base de données, encapsule un objet PDO | | |
| |<html><span class="class">GUI</span></html> | Gestion de l'affichage (évite les excès de code dans les vues)| | |
| |<html><span class="class">JsUtils</span></html> | Génération de scripts côté client | | |
| |<html><span class="class">OrmUtils</span></html> | Récupération des annotations de mappage relationnel/objet | | |
| |<html><span class="class">RequestUtils</span></html> | Récupération des variables POST ou GET | | |
| |<html><span class="class">SessionUtils</span></html> | Méthodes utilitaires liées à la session | | |
| |<html><span class="class">SqlUtils</span></html> | Méthodes utilitaires liées à SQL | | |
| | |
| | |
| <WRAP center round box 60%> | |
| **__Documentation technique - Sommaire :__** | |
| - Gestion des utilisateurs | |
| - [[etudiants:2014:bertrand:bugreport2|Gestion des applications]] | |
| - [[etudiants:2014:bertrand:bugreport3|Gestion des groupes]] | |
| </WRAP> | |