Commit ae6d179e6b48a2d33d4008ee4640020e62c87eea

Authored by Etienne Pallier
1 parent f6d16beb
Exists in master and in 1 other branch dev

bugfixing...

Showing 2 changed files with 47 additions and 8 deletions   Show diff stats
@@ -356,10 +356,17 @@ Commencer à implémenter le nouveau workflow v5 : @@ -356,10 +356,17 @@ Commencer à implémenter le nouveau workflow v5 :
356 356
357 *) Validation multiple ne marche plus 357 *) Validation multiple ne marche plus
358 358
  359 + *) Mail "[LabInvent] Ajout de matériel(s)" => c'est quoi ?
  360 + (quelle diff avec "[LabInvent] Ajout d'un matériel" ??)
  361 +
359 *) Les tests doivent se faire avec la config par défaut (et non pas celle spécifique du labo) 362 *) Les tests doivent se faire avec la config par défaut (et non pas celle spécifique du labo)
360 363
361 *) Ajouter test Commande (avec devis joint !) 364 *) Ajouter test Commande (avec devis joint !)
362 365
  366 + *) Stats de connexion
  367 + - à trier anti-chrono
  368 + - supprimer menu haut gauche (new stats, list users, new user...) ???
  369 +
363 *) 370 *)
364 TBO ou ARCHIVED (= validated) : ne pas autoriser edit ou delete des docs attachés 371 TBO ou ARCHIVED (= validated) : ne pas autoriser edit ou delete des docs attachés
365 Autoriser certaines choses pour TBO : 372 Autoriser certaines choses pour TBO :
@@ -410,10 +417,15 @@ Commencer à implémenter le nouveau workflow v5 : @@ -410,10 +417,15 @@ Commencer à implémenter le nouveau workflow v5 :
410 => du coup, astuce, on peut REMPLACER un devis en ajoutant le nouveau puis en supprimant l'ancien 417 => du coup, astuce, on peut REMPLACER un devis en ajoutant le nouveau puis en supprimant l'ancien
411 - (Imprimer étiquette : toujours possible ?) 418 - (Imprimer étiquette : toujours possible ?)
412 419
  420 +
413 421
414 ======= CHANGES ======= 422 ======= CHANGES =======
415 423
416 ------- 424 -------
  425 +15/09/2021 v5.2.11-3.7.9
  426 + - Bugfix bug sur 1ère connexion d'un nouvel utilisateur
  427 +
  428 +-------
417 14/09/2021 v5.2.10-3.7.9 429 14/09/2021 v5.2.10-3.7.9
418 - Bugfix pas mal de tests... 430 - Bugfix pas mal de tests...
419 431
src/Controller/UsersController.php
@@ -12,7 +12,8 @@ use Cake\ORM\Entity; @@ -12,7 +12,8 @@ use Cake\ORM\Entity;
12 const SessionTimeoutON = false; 12 const SessionTimeoutON = false;
13 //const SessionTimeoutON = true; 13 //const SessionTimeoutON = true;
14 14
15 - 15 +const DEBUG=true;
  16 +//const DEBUG=false;
16 17
17 /** 18 /**
18 * Users Controller 19 * Users Controller
@@ -199,8 +200,15 @@ class UsersController extends AppController { @@ -199,8 +200,15 @@ class UsersController extends AppController {
199 //$this->Auth->setUser($user); 200 //$this->Auth->setUser($user);
200 $this->LdapAuth->setUser($user); 201 $this->LdapAuth->setUser($user);
201 202
202 - debug($user);  
203 - /* Voici ce que contient $user : 203 + //DEBUG && debug($user);
  204 + if (DEBUG) {
  205 + $pass = $user['userpassword'];
  206 + unset($user['userpassword']);
  207 + //debug($user);
  208 + $user['userpassword'] = $pass;
  209 + //debug($user);
  210 + }
  211 + /* Voici ce que contient $user en mode fakeldap :
204 [ 212 [
205 'sn' => [ 213 'sn' => [
206 (int) 0 => 'Pallier' 214 (int) 0 => 'Pallier'
@@ -283,9 +291,18 @@ class UsersController extends AppController { @@ -283,9 +291,18 @@ class UsersController extends AppController {
283 return $user_infos ? $user_infos['sn'][0].' '.$user_infos['givenname'][0] : 'Name Firstname'; 291 return $user_infos ? $user_infos['sn'][0].' '.$user_infos['givenname'][0] : 'Name Firstname';
284 } 292 }
285 private function _getCurrentUserLoginFromSession($user_infos = null) { 293 private function _getCurrentUserLoginFromSession($user_infos = null) {
286 - debug($user_infos); 294 + DEBUG && debug($user_infos);
287 if (empty($user_infos)) $user_infos = $this->_getCurrentUserInfosFromSession(); 295 if (empty($user_infos)) $user_infos = $this->_getCurrentUserInfosFromSession();
288 - debug($user_infos); 296 + //DEBUG && debug($user_infos);
  297 + if (DEBUG) {
  298 + $pass = $user_infos['userpassword'];
  299 + unset($user_infos['userpassword']);
  300 + debug($user_infos);
  301 + debug($user_infos['uid']);
  302 + $user_infos['userpassword'] = $pass;
  303 + //debug($user_infos);
  304 + }
  305 +
289 if (empty($user_infos)) throw new \ErrorException("Pas d'utilisateur défini dans la session (user_infos empty) !!!"); 306 if (empty($user_infos)) throw new \ErrorException("Pas d'utilisateur défini dans la session (user_infos empty) !!!");
290 //if (!$user_infos) $user_infos = $this->_getCurrentUserInfosFromSession(); 307 //if (!$user_infos) $user_infos = $this->_getCurrentUserInfosFromSession();
291 //if (!$user_infos) throw new \ErrorException("Pas d'utilisateur défini dans la session !!!"); 308 //if (!$user_infos) throw new \ErrorException("Pas d'utilisateur défini dans la session !!!");
@@ -331,9 +348,19 @@ class UsersController extends AppController { @@ -331,9 +348,19 @@ class UsersController extends AppController {
331 } 348 }
332 private function _getCurrentUserEntityFromSession($session_user = null) { 349 private function _getCurrentUserEntityFromSession($session_user = null) {
333 $user_login = $this->_getCurrentUserLoginFromSession($session_user); 350 $user_login = $this->_getCurrentUserLoginFromSession($session_user);
334 - debug($user_login); // le login 351 + DEBUG && debug($user_login); // le login
335 if (is_null($user_login)) throw new \ErrorException("Pas de user login trouvé dans la session (user_login is null)"); 352 if (is_null($user_login)) throw new \ErrorException("Pas de user login trouvé dans la session (user_login is null)");
336 - return $this->Users->find()->where(['username'=>$user_login])->first(); 353 + $user = $this->Users->find()->where(['username'=>$user_login])->first();
  354 + //$user = null;
  355 + if (is_null($user)) {
  356 + debug("Liste des users de la table users :");
  357 + $all_users = $this->Users->find()->toArray();
  358 + //$all_users = $this->Users->find()->toList();
  359 + //debug($all_users);
  360 + for ($i = 0; $i < 2; $i++) debug($all_users[$i]);
  361 + //throw new \ErrorException("Pas de user trouvé dans la table users pour 'username'=$user_login");
  362 + }
  363 + return $user;
337 } 364 }
338 365
339 366
@@ -343,7 +370,7 @@ class UsersController extends AppController { @@ -343,7 +370,7 @@ class UsersController extends AppController {
343 */ 370 */
344 public function statsUpdateForCurrentUserWhen($session_user=null, $event_name) { 371 public function statsUpdateForCurrentUserWhen($session_user=null, $event_name) {
345 $user_id = ($event_name=='sur logout') ? $this->u->id : $this->_getCurrentUserEntityFromSession($session_user)->id; 372 $user_id = ($event_name=='sur logout') ? $this->u->id : $this->_getCurrentUserEntityFromSession($session_user)->id;
346 - debug($user_id); // l'id du user dans table users 373 + DEBUG && debug($user_id); // l'id du user dans table users
347 if (is_null($user_id)) throw new \ErrorException("Pas de user trouvé dans la session (user_id is null)"); 374 if (is_null($user_id)) throw new \ErrorException("Pas de user trouvé dans la session (user_id is null)");
348 $this->Users->Stats->updateForUserWhen($user_id, $event_name); 375 $this->Users->Stats->updateForUserWhen($user_id, $event_name);
349 } 376 }