Commit ec6de980cb7bc461e0e36ca33c43f366eab28d11
1 parent
33b54375
Exists in
master
and in
1 other branch
Premiers bugfixes du nouveau site responsive (4) (v3.7.9.4)
- Fournisseur peut etre créé, modif, suppr par simple Utilisateur (improved)
Showing
5 changed files
with
60 additions
and
30 deletions
Show diff stats
README.md
@@ -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 |