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
CHANGELOG
... ... @@ -356,10 +356,17 @@ Commencer à implémenter le nouveau workflow v5 :
356 356  
357 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 362 *) Les tests doivent se faire avec la config par défaut (et non pas celle spécifique du labo)
360 363  
361 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 371 TBO ou ARCHIVED (= validated) : ne pas autoriser edit ou delete des docs attachés
365 372 Autoriser certaines choses pour TBO :
... ... @@ -410,10 +417,15 @@ Commencer à implémenter le nouveau workflow v5 :
410 417 => du coup, astuce, on peut REMPLACER un devis en ajoutant le nouveau puis en supprimant l'ancien
411 418 - (Imprimer étiquette : toujours possible ?)
412 419  
  420 +
413 421  
414 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 429 14/09/2021 v5.2.10-3.7.9
418 430 - Bugfix pas mal de tests...
419 431  
... ...
src/Controller/UsersController.php
... ... @@ -12,7 +12,8 @@ use Cake\ORM\Entity;
12 12 const SessionTimeoutON = false;
13 13 //const SessionTimeoutON = true;
14 14  
15   -
  15 +const DEBUG=true;
  16 +//const DEBUG=false;
16 17  
17 18 /**
18 19 * Users Controller
... ... @@ -199,8 +200,15 @@ class UsersController extends AppController {
199 200 //$this->Auth->setUser($user);
200 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 213 'sn' => [
206 214 (int) 0 => 'Pallier'
... ... @@ -283,9 +291,18 @@ class UsersController extends AppController {
283 291 return $user_infos ? $user_infos['sn'][0].' '.$user_infos['givenname'][0] : 'Name Firstname';
284 292 }
285 293 private function _getCurrentUserLoginFromSession($user_infos = null) {
286   - debug($user_infos);
  294 + DEBUG && debug($user_infos);
287 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 306 if (empty($user_infos)) throw new \ErrorException("Pas d'utilisateur défini dans la session (user_infos empty) !!!");
290 307 //if (!$user_infos) $user_infos = $this->_getCurrentUserInfosFromSession();
291 308 //if (!$user_infos) throw new \ErrorException("Pas d'utilisateur défini dans la session !!!");
... ... @@ -331,9 +348,19 @@ class UsersController extends AppController {
331 348 }
332 349 private function _getCurrentUserEntityFromSession($session_user = null) {
333 350 $user_login = $this->_getCurrentUserLoginFromSession($session_user);
334   - debug($user_login); // le login
  351 + DEBUG && debug($user_login); // le login
335 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 370 */
344 371 public function statsUpdateForCurrentUserWhen($session_user=null, $event_name) {
345 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 374 if (is_null($user_id)) throw new \ErrorException("Pas de user trouvé dans la session (user_id is null)");
348 375 $this->Users->Stats->updateForUserWhen($user_id, $event_name);
349 376 }
... ...