Différences

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

Lien vers cette vue comparative

slam4:bugreport [2013/11/28 11:07]
jcheron
slam4:bugreport [2017/08/09 16:34]
Ligne 1: Ligne 1:
-====== BugReport : Application de remontée d'​incidents ====== 
  
-  * [[slam4:​bugreport:​equipes|Equipes de Développement]] 
- 
-===== Révisions ===== 
-  * {{:​slam4:​bugreport:​technics.zip|Classes techniques}} - [[slam4:​bugreport:​revisions|Documentation]] 
-====== Travail à fournir ====== 
-Pour le 2 décembre : 
- 
-  - Documents d'​analyse (diagramme de classes, diagramme de cas d'​utilisation,​ de séquence, descriptifs textuels) 
-  - Archive zip de l'​application Web + Script de la BDD 
-  - Mise en place de tests fonctionnels (pour les cas d'​utilisation cités) 
-  - Documentation utilisateur 
-  - Documentation technique (sur le modèle ci-dessous) 
- 
-===== Analyse fonctionnelle ===== 
- 
-==== Diagramme des cas d'​utilisation ==== 
-{{:​slam4:​bugreport:​diagusecases.png?​400}} 
- 
-===== Analyse des données ===== 
-  * [[slam4:​bugreport:​donnees|Règles de gestion]] 
-  * {{:​slam4:​bugreport:​bugreport.sql|Script de création de la Base de données bugReport (Version du Jeudi 7 novembre)}} 
- 
-===== Gestion des utilisateurs : Exemple d'​implémentation ===== 
-<​html><​div class="​info"><​b>​Documentation technique exemple</​b><​br>​Gestion des utilisateurs</​div></​html>​ 
-==== -- Téléchargement des sources ==== 
-  * {{:​slam4:​slam4:​bugreport:​bugreport.zip|Projet à intégrer dans Eclipse (File/​import/​existing project into workspace)}} 
- 
-==== -- Fonctionnalités ==== 
-**Gestion des utilisateurs** 
- 
-{{:​slam4:​bugreport:​bugreport-diag-uses-cases.png?​|}} 
-==== -- Classes métier ==== 
- 
-{{:​slam4:​bugreport:​bugreport-users.png?​|}} 
-==== -- 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 | 
-==== -- Vues ==== 
-=== -- 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>​Gestion des utilisateurs</​title>​ 
-</​head>​ 
-<​body>​ 
-</​sxh>​ 
- 
-=== -- vUsers === 
-Liste des utilisateurs (Affichage initial et rafraîchissement) 
- 
-{{:​slam4:​bugreport:​cutilisateurindex.png?​|}} 
- 
-<sxh php;​html-script:​ true;​title:​views/​vUsers.php>​ 
-<div id="​users">​ 
- <​fieldset class="​cadre">​ 
- <​legend><​input type="​checkbox"​ id="​ckAll"​ title="​(Dé)sélectionner les utilisateurs">&​nbsp;​Utilisateurs :</​legend>​ 
- <table id="​usersTable">​ 
- <?php Gui::​show($data["​users"​],"​addDelete"​)?>​ 
- </​table>​ 
- <div class="​buttons">​ 
- <div class="​btn"​ id="​btAdd"​ name="​btAdd"​ title="​Ajouter un nouvel utilisateur"><​span class="​add">​Ajouter un utilisateur...</​span></​div>​ 
- <div id="​multi"><​b>​Pour la sélection :</​b>&​nbsp;​ 
- <a href="#"​ class="​delete"​ id="​btMultiDelete"​ name="​btMultiDelete"​ title="​Supprimer les utilisateurs sélectionnés">​Supprimer</​a>&​nbsp;​ 
- Affecter au groupe :<select id="​multiGroupe"><?​php echo Gui::​show($data["​groupes"​],"​select"​);?></​select>​ 
- &​nbsp;<​a href="#"​ class=""​ id="​btMultiToGroup"​ name="​btMultiToGroup"​ title="​Affecter les utilisateurs sélectionnés au groupe">​Ok</​a>​ 
- </​div>​ 
- <div class="​btn"​ id="​btGroupes"​ name="​btGroupes"​ title="​Non implémenté"><​span class="">​Gérer les groupes...</​span></​div>​ 
- </​div>​ 
- </​fieldset>​ 
-</​div>​ 
-<?php echo $data["​js"​];?>​ 
-</​sxh>​ 
- 
-=== -- vFooter === 
-Page pied-de-page 
- 
-<sxh php;​html-script:​ true;​title:​views/​vFooter.php>​ 
-<div id="​operation"​ style="​display:​ none;"></​div>​ 
-<div id="​message">​Gestion des utilisateurs (Ajout, modification,​ suppression,​ affectation aux groupes)</​div>​ 
-</​body>​ 
-</​html>​ 
-</​sxh>​ 
- 
-=== -- vAddUser === 
-Ajout d'un nouvel utilisateur ou modification d'un utilisateur existant 
- 
-{{:​slam4:​slam4:​bugreport:​vadduser.png?​|}} 
- 
-<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* :</​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="<?​php echo $user->​getPassword();?>"​ maxlength="​10"​ required><​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>​ 
- 
-==== -- Contrôleurs ==== 
-=== -- cUtilisateur/​index === 
-|< 100% 30% 70% >| 
-^Fonctionnalité ^Descriptif ^ 
-| Gestion des utilisateurs | **Contrôleur de gestion des utilisateurs**| 
-|::: | <​html><​span class="​jsp">​Affichage de la vue <​u>​vHeader</​u></​span></​html>​ | 
-|::: | <​html><​span class="​method">​Appel du contrôleur <​u>​refresh</​u></​span></​html>​ | 
-|::: | <​html><​span class="​jsp">​Affichage de la vue <​u>​vFooter</​u></​span></​html>​ | 
- 
-<sxh php;​title:​cUtilisateur/​index>​ 
- public function index(){ ​ 
- $this->​loadView("​vHeader"​);​ 
- $this->​refresh();​ 
- $this->​loadView("​vFooter"​);​ 
- } 
-</​sxh>​ 
- 
- 
-=== -- 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>​ 
-<div class="​value">#​btGroupes -> non implémenté</​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("​.delete",​ "​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"​);​ 
- $js.=JsUtils::​setHtmlAndBindTo("#​btGroupes",​ "​click",​ "#​operation","​Fonctionnalité non implémentée",​JsUtils::​_doSomethingOn("#​operation",​ "​show",​400));​ 
-  
-  
- $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>​ 
- 
- 
-=== -- 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>​ 
- 
-=== -- 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>​ 
- 
-=== -- 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>​ 
- 
-=== -- 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>​ 
- 
-=== -- 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>​ 
- 
-=== -- 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>​ 
- 
-=== -- 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>​ 
- 
-=== -- 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>​ 
-==== -- 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 | 
slam4/bugreport.txt · Dernière modification: 2017/08/09 16:34 (modification externe)
GNU Free Documentation License 1.3
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0