Commit c1629fb96c64621abb25a640e46f7968c866e0b7

Authored by Etienne Pallier
1 parent 44c40ec0
Exists in master and in 2 other branches dev, dev-IRAP

ajouté commentaires pour expliquer...

Showing 1 changed file with 18 additions and 1 deletions   Show diff stats
src/Controller/UsersController.php
@@ -177,11 +177,16 @@ class UsersController extends AppController @@ -177,11 +177,16 @@ class UsersController extends AppController
177 */ 177 */
178 public function add() 178 public function add()
179 { 179 {
  180 + // Création d'un objet User VIDE avec tous les champs
180 $user = $this->Users->newEntity(); 181 $user = $this->Users->newEntity();
  182 +
  183 + // (POST) Un user vient d'être créé, on le sauve en BD,
  184 + // puis on va sur la vue individuelle de ce nouveau user
181 if ($this->request->is('post')) { 185 if ($this->request->is('post')) {
182 $user = $this->Users->patchEntity($user, $this->request->getData()); 186 $user = $this->Users->patchEntity($user, $this->request->getData());
183 if ($this->Users->save($user)) { 187 if ($this->Users->save($user)) {
184 $this->Flash->success(__('L\'utilisateur a bien été ajouté.')); 188 $this->Flash->success(__('L\'utilisateur a bien été ajouté.'));
  189 + // On va maintenant à la vue individuelle de ce nouvel utilisateur
185 return $this->redirect([ 190 return $this->redirect([
186 'action' => 'view', 191 'action' => 'view',
187 $user->id 192 $user->id
@@ -190,6 +195,10 @@ class UsersController extends AppController @@ -190,6 +195,10 @@ class UsersController extends AppController
190 $this->Flash->error(__('L\'utilisateur n\'a pas pu être ajouté.')); 195 $this->Flash->error(__('L\'utilisateur n\'a pas pu être ajouté.'));
191 } 196 }
192 } 197 }
  198 +
  199 + // (pas POST) Ici, on vient sur la vue d'ajout (add.ctp) pour la première fois
  200 + // On prépare donc quelques listes qui seront nécessaires à cette vue
  201 +
193 $groupesMetiers = $this->Users->GroupesMetiers->find('list', [ 202 $groupesMetiers = $this->Users->GroupesMetiers->find('list', [
194 'keyField' => 'id', 203 'keyField' => 'id',
195 'valueField' => 'nom' 204 'valueField' => 'nom'
@@ -202,18 +211,26 @@ class UsersController extends AppController @@ -202,18 +211,26 @@ class UsersController extends AppController
202 'keyField' => 'id', 211 'keyField' => 'id',
203 'valueField' => 'nom' 212 'valueField' => 'nom'
204 ]); 213 ]);
  214 + // On recup tous les users du LDAP (ou fakeLDAP si on n'est pas en mode LDAP)
205 $users = TableRegistry::get('LdapConnections')->getListUsers(); 215 $users = TableRegistry::get('LdapConnections')->getListUsers();
206 - // tri des utilisateurs par nom 216 + // Tri des utilisateurs par nom
207 sort($users); 217 sort($users);
  218 + // Formatage en $utilisateurs["Etienne Pallier"] = "Etienne Pallier" ...
208 $utilisateurs = []; 219 $utilisateurs = [];
209 for ($i = 0; $i < sizeof($users); $i ++) { 220 for ($i = 0; $i < sizeof($users); $i ++) {
210 $utilisateurs[$users[$i]] = $users[$i]; 221 $utilisateurs[$users[$i]] = $users[$i];
211 } 222 }
  223 + //debug($users);
  224 + //debug($utilisateurs);
212 225
  226 + // On passe à la vue add.ctp toutes les variables créés ci-dessus
  227 + // "user" est l'utilisateur $user créé au début, et qui est vide
213 $this->set(compact('user', 'groupesMetiers', 'utilisateurs', 'groupesThematiques', 'sur_categorie')); 228 $this->set(compact('user', 'groupesMetiers', 'utilisateurs', 'groupesThematiques', 'sur_categorie'));
214 $this->set('_serialize', [ 229 $this->set('_serialize', [
215 'user' 230 'user'
216 ]); 231 ]);
  232 +
  233 + // Ici, la vue add.ctp (formulaire d'ajout d'un user) est maintenant automatiquement affichée
217 } 234 }
218 235
219 /** 236 /**