Commit ec6de980cb7bc461e0e36ca33c43f366eab28d11

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

Premiers bugfixes du nouveau site responsive (4) (v3.7.9.4)

- Fournisseur peut etre créé, modif, suppr par simple Utilisateur
(improved)
@@ -54,13 +54,10 @@ Logiciel testé et validé sur les configurations suivantes : @@ -54,13 +54,10 @@ Logiciel testé et validé sur les configurations suivantes :
54 VERSION ACTUELLE 54 VERSION ACTUELLE
55 55
56 Date: 13/03/2020 56 Date: 13/03/2020
57 -Version: 3.7.9.3 57 +Version: 3.7.9.4
58 Author: EP 58 Author: EP
59 -Commentaire: Premiers bugfixes du nouveau site responsive (3) (contexte: coronavirus passe stade 3)  
60 - - Invalider => renommé Dévalider  
61 - - bugfix autres listes pour profil Utilisateur  
62 - - Fournisseur peut etre créé, modif, suppr par simple Utilisateur  
63 - - Doc lié : simplifié 59 +Commentaire: Premiers bugfixes du nouveau site responsive (4)
  60 + - Fournisseur peut etre créé, modif, suppr par simple Utilisateur (improved)
64 61
65 62
66 IMPORTANT : 63 IMPORTANT :
@@ -96,6 +93,13 @@ La liste ci-dessous n'est plus à jour, elle est désormais en ligne ici : https @@ -96,6 +93,13 @@ La liste ci-dessous n'est plus à jour, elle est désormais en ligne ici : https
96 93
97 ----------------------------------------------------------------------------------------------------------- 94 -----------------------------------------------------------------------------------------------------------
98 95
  96 +13/03/2020 Version 3.7.9.3 (EP)
  97 + Premiers bugfixes du nouveau site responsive (3) (contexte: coronavirus passe stade 3)
  98 + - Invalider => renommé Dévalider
  99 + - bugfix autres listes pour profil Utilisateur
  100 + - Fournisseur peut etre créé, modif, suppr par simple Utilisateur
  101 + - Doc lié : simplifié
  102 +
99 12/03/2020 Version 3.7.9.2 (EP) 103 12/03/2020 Version 3.7.9.2 (EP)
100 Premiers bugfixes du nouveau site responsive (2) : 104 Premiers bugfixes du nouveau site responsive (2) :
101 - Bugfix bouton "Nouveau" pour chaque liste de contenu variable (accès donné à "Administration") 105 - Bugfix bouton "Nouveau" pour chaque liste de contenu variable (accès donné à "Administration")
src/Controller/AppController.php
@@ -199,6 +199,12 @@ class AppController extends Controller @@ -199,6 +199,12 @@ class AppController extends Controller
199 // public function isAuthorizedAction(AppController $controller, $roleLong, $action, $id=null, $user=null) { 199 // public function isAuthorizedAction(AppController $controller, $roleLong, $action, $id=null, $user=null) {
200 public function isAuthorizedAction2($controller, $roleLong, $action, $id = null, $user = null) 200 public function isAuthorizedAction2($controller, $roleLong, $action, $id = null, $user = null)
201 { 201 {
  202 + /* Cette fonction n'est pas encore appelée pour de vrai, juste pour test, donc inutile d'afficher ça :
  203 + $this->myDebug("step 2B (intermediaire general): AppController.isAuthorizedAction2(controller, $roleLong, $action, $id, user)");
  204 + $this->myDebug("- controller name is {$controller->name}");
  205 + */
  206 + //$this->myDebug("- user is ", $user);
  207 +
202 $doDEBUG = true; 208 $doDEBUG = true;
203 $doDEBUG = false; 209 $doDEBUG = false;
204 210
@@ -362,7 +368,7 @@ class AppController extends Controller @@ -362,7 +368,7 @@ class AppController extends Controller
362 */ 368 */
363 public function initialize() 369 public function initialize()
364 { 370 {
365 - $this->myDebug("step AVANT 0: AppController.initialize()"); 371 + $this->myDebug("step 0: AppController.initialize()");
366 372
367 parent::initialize(); 373 parent::initialize();
368 374
@@ -396,28 +402,36 @@ class AppController extends Controller @@ -396,28 +402,36 @@ class AppController extends Controller
396 } 402 }
397 403
398 /** 404 /**
399 - * Autorisations fréquentes utilisées par bcp de isAuthorized() de controlleurs  
400 - * Ca évite de répéter 10 fois la meme chose !!! 405 + * (EP)
  406 + * Autorisations PAR DÉFAUT
  407 + * Appelé à la fin de isAuthorized() de chaque controller si cette fonction n'a pas return true
401 */ 408 */
402 public function isAuthorizedCommons($user) 409 public function isAuthorizedCommons($user)
403 { 410 {
  411 + $this->myDebug("step 2B (intermediaire general): AppController.isAuthorizedCommons(user)");
  412 +
404 $action = $this->getActionPassed(); 413 $action = $this->getActionPassed();
  414 + //$this->myDebug("action iss: $action", null, true);
  415 + $this->myDebug("action is: $action");
  416 +
405 // $role = $this->getUserRole($user); 417 // $role = $this->getUserRole($user);
406 418
407 // Seul Administration (et +) peut ajouter, supprimer ou modifier 419 // Seul Administration (et +) peut ajouter, supprimer ou modifier
408 - if (in_array($action, [  
409 - 'add',  
410 - 'delete',  
411 - 'edit'  
412 - ])) {  
413 - if ($this->USER_IS_ADMIN_AT_LEAST())  
414 - return true; 420 + if (in_array($action, ['add', 'edit', 'delete'])) {
  421 + return ($this->USER_IS_ADMIN_AT_LEAST());
  422 + /*
  423 + if ($this->USER_IS_ADMIN_AT_LEAST()) return true;
415 // Les autres n'y ont pas accès 424 // Les autres n'y ont pas accès
416 return false; 425 return false;
  426 + */
417 } 427 }
418 428
419 // By default 429 // By default
420 // return parent::isAuthorized($user); 430 // return parent::isAuthorized($user);
  431 +
  432 + // Ne pas faire ça car $this sera interprété comme le controleur SPECIFIQUE et non AppController :
  433 + //return $this->isAuthorized($user);
  434 + // Donc, il faut être explicite :
421 return AppController::isAuthorized($user); 435 return AppController::isAuthorized($user);
422 } 436 }
423 437
@@ -433,7 +447,7 @@ class AppController extends Controller @@ -433,7 +447,7 @@ class AppController extends Controller
433 */ 447 */
434 public function isAuthorized($user) 448 public function isAuthorized($user)
435 { 449 {
436 - $this->myDebug("step 1: AppController.isAuthorized()"); 450 + $this->myDebug("step 2C (general): AppController.isAuthorized()");
437 451
438 /* 452 /*
439 * // ATTENTION, normalement, on devrait tester si role est défini..., mais c'est sans doute pas utile 453 * // ATTENTION, normalement, on devrait tester si role est défini..., mais c'est sans doute pas utile
@@ -605,7 +619,7 @@ class AppController extends Controller @@ -605,7 +619,7 @@ class AppController extends Controller
605 */ 619 */
606 public function beforeFilter(Event $event) 620 public function beforeFilter(Event $event)
607 { 621 {
608 - $this->myDebug("step 0: AppController.beforeFilter()"); 622 + $this->myDebug("step 1B (general): AppController.beforeFilter()");
609 623
610 // !!! Ne jamais autoriser l'action 'login', sinon cela va créer des problèmes sur le fonctionnement normal de AuthComponent (cf doc) !!! 624 // !!! Ne jamais autoriser l'action 'login', sinon cela va créer des problèmes sur le fonctionnement normal de AuthComponent (cf doc) !!!
611 // parent::beforeFilter($event); 625 // parent::beforeFilter($event);
@@ -639,8 +653,8 @@ class AppController extends Controller @@ -639,8 +653,8 @@ class AppController extends Controller
639 //$role = $this->getUserRole(); 653 //$role = $this->getUserRole();
640 $this->userRole = $this->getUserRole(); 654 $this->userRole = $this->getUserRole();
641 $profile = self::PROFILES["$this->userRole"]; 655 $profile = self::PROFILES["$this->userRole"];
  656 + $this->myDebug("userRole is {$this->getUserRole()}", "profile is: $profile");
642 657
643 -  
644 // Set General CONSTANTS for all CONTROLLERS 658 // Set General CONSTANTS for all CONTROLLERS
645 // (Before, they used to be in beforeFilter()) 659 // (Before, they used to be in beforeFilter())
646 // - Users constants 660 // - Users constants
@@ -737,7 +751,7 @@ class AppController extends Controller @@ -737,7 +751,7 @@ class AppController extends Controller
737 */ 751 */
738 public function beforeRender(Event $event) 752 public function beforeRender(Event $event)
739 { 753 {
740 - $this->myDebug("step 3: AppController.beforeRender()"); 754 + $this->myDebug("step 4B (general) : AppController.beforeRender() - [step 3 = action() si existe]");
741 755
742 // (EP 23/5/19) moved to beforeFilter() 756 // (EP 23/5/19) moved to beforeFilter()
743 /* 757 /*
@@ -987,7 +1001,7 @@ class AppController extends Controller @@ -987,7 +1001,7 @@ class AppController extends Controller
987 */ 1001 */
988 } 1002 }
989 1003
990 - function myDebug($arg, $stop=false) 1004 + function myDebug($arg1, $arg2=null, $stop=false)
991 { 1005 {
992 if ($this->isLabinventDebugMode()) { 1006 if ($this->isLabinventDebugMode()) {
993 1007
@@ -995,7 +1009,8 @@ class AppController extends Controller @@ -995,7 +1009,8 @@ class AppController extends Controller
995 // car sinon, aucun vardump() ou debug() ne s'affiche, why ???... 1009 // car sinon, aucun vardump() ou debug() ne s'affiche, why ???...
996 Configure::write('debug', true); 1010 Configure::write('debug', true);
997 1011
998 - debug($arg); 1012 + debug($arg1);
  1013 + if ($arg2) debug($arg2);
999 1014
1000 if ($stop) exit(); 1015 if ($stop) exit();
1001 } 1016 }
src/Controller/ConfigurationsController.php
@@ -28,6 +28,10 @@ class ConfigurationsController extends AppController @@ -28,6 +28,10 @@ class ConfigurationsController extends AppController
28 */ 28 */
29 public function isAuthorized($user) 29 public function isAuthorized($user)
30 { 30 {
  31 + $this->myDebug("step AVANT 1: ConfigurationsController.isAuthorized(user)");
  32 + $this->myDebug("user is:");
  33 + $this->myDebug($user);
  34 +
31 // $configuration = $this->confLabinvent; 35 // $configuration = $this->confLabinvent;
32 // $role = TableRegistry::get('Users')->find()->where(['username' => $user[$configuration->authentificationType_ldap][0]])->first()['role']; 36 // $role = TableRegistry::get('Users')->find()->where(['username' => $user[$configuration->authentificationType_ldap][0]])->first()['role'];
33 $action = $this->request->getAttribute('params')['action']; 37 $action = $this->request->getAttribute('params')['action'];
src/Controller/FournisseursController.php
@@ -21,6 +21,10 @@ class FournisseursController extends AppController @@ -21,6 +21,10 @@ class FournisseursController extends AppController
21 */ 21 */
22 public function isAuthorized($user) 22 public function isAuthorized($user)
23 { 23 {
  24 + $this->myDebug("step 2A (specific): FournisseursController.isAuthorized(user)");
  25 + $this->myDebug("user is:", $user);
  26 + //$this->myDebug($user);
  27 +
24 // $configuration = $this->confLabinvent; 28 // $configuration = $this->confLabinvent;
25 // $action = $this->request->getAttribute('params')['action']; 29 // $action = $this->request->getAttribute('params')['action'];
26 // $role = TableRegistry::get('Users')->find()->where(['username' => $user[$configuration->authentificationType_ldap][0]])->first()['role']; 30 // $role = TableRegistry::get('Users')->find()->where(['username' => $user[$configuration->authentificationType_ldap][0]])->first()['role'];
@@ -44,7 +48,7 @@ class FournisseursController extends AppController @@ -44,7 +48,7 @@ class FournisseursController extends AppController
44 * } 48 * }
45 */ 49 */
46 //Tout le monde y a accés en ajout 50 //Tout le monde y a accés en ajout
47 - if( in_array($action,['add'])) { 51 + if( in_array($action,['add', 'edit', 'delete'])) {
48 return true; 52 return true;
49 } 53 }
50 54
src/Controller/MaterielsController.php
@@ -152,7 +152,7 @@ class MaterielsController extends AppController @@ -152,7 +152,7 @@ class MaterielsController extends AppController
152 //use Cake\Event\Event; 152 //use Cake\Event\Event;
153 public function beforeFilter(\Cake\Event\Event $event) 153 public function beforeFilter(\Cake\Event\Event $event)
154 { 154 {
155 - $this->myDebug("step 0: MaterielsController.beforeFilter()"); 155 + $this->myDebug("step 1A (specific): MaterielsController.beforeFilter()");
156 156
157 // ICI CEST OK 157 // ICI CEST OK
158 /* 158 /*
@@ -177,7 +177,8 @@ class MaterielsController extends AppController @@ -177,7 +177,8 @@ class MaterielsController extends AppController
177 */ 177 */
178 public function beforeRender(\Cake\Event\Event $event) 178 public function beforeRender(\Cake\Event\Event $event)
179 { 179 {
180 - $this->myDebug("step 3: MaterielsController.beforeRender()"); 180 + $this->myDebug("step 4A (specific) : MaterielsController.beforeRender() - [step 3 = action() si existe]");
  181 +
181 182
182 parent::beforeRender($event); 183 parent::beforeRender($event);
183 184
@@ -238,8 +239,8 @@ class MaterielsController extends AppController @@ -238,8 +239,8 @@ class MaterielsController extends AppController
238 public function isAuthorized($userFromSession) 239 public function isAuthorized($userFromSession)
239 { 240 {
240 //if (parent::isAuthorized($userFromSession)) return TRUE; 241 //if (parent::isAuthorized($userFromSession)) return TRUE;
241 - $this->myDebug("step 1: MaterielsController.isAuthorized()");  
242 - 242 + $this->myDebug("step 2A (specific): MaterielsController.isAuthorized(user)");
  243 + $this->myDebug("user is:", $userFromSession);
243 /* ICI C'EST OK 244 /* ICI C'EST OK
244 $toto="tititoto"; 245 $toto="tititoto";
245 $this->set(compact('toto')); 246 $this->set(compact('toto'));
@@ -305,6 +306,8 @@ class MaterielsController extends AppController @@ -305,6 +306,8 @@ class MaterielsController extends AppController
305 //$toto="tititoto"; 306 //$toto="tititoto";
306 //$this->set(compact('toto')); 307 //$this->set(compact('toto'));
307 308
  309 + $this->myDebug("step 2B (intermediaire): MaterielsController.isAuthorizedAction($role, $action, $id, user, $userCname)");
  310 + //$this->myDebug("- user is ", $user);
308 311
309 switch ($action) { 312 switch ($action) {
310 313
@@ -662,7 +665,7 @@ class MaterielsController extends AppController @@ -662,7 +665,7 @@ class MaterielsController extends AppController
662 */ 665 */
663 public function index() 666 public function index()
664 { 667 {
665 - $this->myDebug("step 2: MaterielsController.index()"); 668 + $this->myDebug("step 3: MaterielsController.index()");
666 669
667 $condition = ''; 670 $condition = '';
668 if (isset($this->request->getAttribute('params')['pass'][0])) { 671 if (isset($this->request->getAttribute('params')['pass'][0])) {
@@ -802,7 +805,7 @@ class MaterielsController extends AppController @@ -802,7 +805,7 @@ class MaterielsController extends AppController
802 */ 805 */
803 public function view($id = null) 806 public function view($id = null)
804 { 807 {
805 - $this->myDebug("step 2: MaterielsController.view()"); 808 + $this->myDebug("step 3: MaterielsController.view()");
806 809
807 $materiel = $this->Materiels->get($id, [ 810 $materiel = $this->Materiels->get($id, [
808 'contain' => [ 811 'contain' => [
@@ -950,7 +953,7 @@ class MaterielsController extends AppController @@ -950,7 +953,7 @@ class MaterielsController extends AppController
950 */ 953 */
951 public function add_or_edit($is_add, $id=null, $valeurs=null, $erreurs=null) 954 public function add_or_edit($is_add, $id=null, $valeurs=null, $erreurs=null)
952 { 955 {
953 - $this->myDebug("step 2: MaterielsController.add_or_edit()"); 956 + $this->myDebug("step 3: MaterielsController.add_or_edit()");
954 957
955 $usersTable = TableRegistry::getTableLocator()->get('Users'); 958 $usersTable = TableRegistry::getTableLocator()->get('Users');
956 959