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 | 54 | VERSION ACTUELLE |
55 | 55 | |
56 | 56 | Date: 13/03/2020 |
57 | -Version: 3.7.9.3 | |
57 | +Version: 3.7.9.4 | |
58 | 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 | 63 | IMPORTANT : |
... | ... | @@ -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 | 103 | 12/03/2020 Version 3.7.9.2 (EP) |
100 | 104 | Premiers bugfixes du nouveau site responsive (2) : |
101 | 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 | 199 | // public function isAuthorizedAction(AppController $controller, $roleLong, $action, $id=null, $user=null) { |
200 | 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 | 208 | $doDEBUG = true; |
203 | 209 | $doDEBUG = false; |
204 | 210 | |
... | ... | @@ -362,7 +368,7 @@ class AppController extends Controller |
362 | 368 | */ |
363 | 369 | public function initialize() |
364 | 370 | { |
365 | - $this->myDebug("step AVANT 0: AppController.initialize()"); | |
371 | + $this->myDebug("step 0: AppController.initialize()"); | |
366 | 372 | |
367 | 373 | parent::initialize(); |
368 | 374 | |
... | ... | @@ -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 | 409 | public function isAuthorizedCommons($user) |
403 | 410 | { |
411 | + $this->myDebug("step 2B (intermediaire general): AppController.isAuthorizedCommons(user)"); | |
412 | + | |
404 | 413 | $action = $this->getActionPassed(); |
414 | + //$this->myDebug("action iss: $action", null, true); | |
415 | + $this->myDebug("action is: $action"); | |
416 | + | |
405 | 417 | // $role = $this->getUserRole($user); |
406 | 418 | |
407 | 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 | 424 | // Les autres n'y ont pas accès |
416 | 425 | return false; |
426 | + */ | |
417 | 427 | } |
418 | 428 | |
419 | 429 | // By default |
420 | 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 | 435 | return AppController::isAuthorized($user); |
422 | 436 | } |
423 | 437 | |
... | ... | @@ -433,7 +447,7 @@ class AppController extends Controller |
433 | 447 | */ |
434 | 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 | 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 | 619 | */ |
606 | 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 | 624 | // !!! Ne jamais autoriser l'action 'login', sinon cela va créer des problèmes sur le fonctionnement normal de AuthComponent (cf doc) !!! |
611 | 625 | // parent::beforeFilter($event); |
... | ... | @@ -639,8 +653,8 @@ class AppController extends Controller |
639 | 653 | //$role = $this->getUserRole(); |
640 | 654 | $this->userRole = $this->getUserRole(); |
641 | 655 | $profile = self::PROFILES["$this->userRole"]; |
656 | + $this->myDebug("userRole is {$this->getUserRole()}", "profile is: $profile"); | |
642 | 657 | |
643 | - | |
644 | 658 | // Set General CONSTANTS for all CONTROLLERS |
645 | 659 | // (Before, they used to be in beforeFilter()) |
646 | 660 | // - Users constants |
... | ... | @@ -737,7 +751,7 @@ class AppController extends Controller |
737 | 751 | */ |
738 | 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 | 756 | // (EP 23/5/19) moved to beforeFilter() |
743 | 757 | /* |
... | ... | @@ -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 | 1006 | if ($this->isLabinventDebugMode()) { |
993 | 1007 | |
... | ... | @@ -995,7 +1009,8 @@ class AppController extends Controller |
995 | 1009 | // car sinon, aucun vardump() ou debug() ne s'affiche, why ???... |
996 | 1010 | Configure::write('debug', true); |
997 | 1011 | |
998 | - debug($arg); | |
1012 | + debug($arg1); | |
1013 | + if ($arg2) debug($arg2); | |
999 | 1014 | |
1000 | 1015 | if ($stop) exit(); |
1001 | 1016 | } | ... | ... |
src/Controller/ConfigurationsController.php
... | ... | @@ -28,6 +28,10 @@ class ConfigurationsController extends AppController |
28 | 28 | */ |
29 | 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 | 35 | // $configuration = $this->confLabinvent; |
32 | 36 | // $role = TableRegistry::get('Users')->find()->where(['username' => $user[$configuration->authentificationType_ldap][0]])->first()['role']; |
33 | 37 | $action = $this->request->getAttribute('params')['action']; | ... | ... |
src/Controller/FournisseursController.php
... | ... | @@ -21,6 +21,10 @@ class FournisseursController extends AppController |
21 | 21 | */ |
22 | 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 | 28 | // $configuration = $this->confLabinvent; |
25 | 29 | // $action = $this->request->getAttribute('params')['action']; |
26 | 30 | // $role = TableRegistry::get('Users')->find()->where(['username' => $user[$configuration->authentificationType_ldap][0]])->first()['role']; |
... | ... | @@ -44,7 +48,7 @@ class FournisseursController extends AppController |
44 | 48 | * } |
45 | 49 | */ |
46 | 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 | 52 | return true; |
49 | 53 | } |
50 | 54 | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -152,7 +152,7 @@ class MaterielsController extends AppController |
152 | 152 | //use Cake\Event\Event; |
153 | 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 | 157 | // ICI CEST OK |
158 | 158 | /* |
... | ... | @@ -177,7 +177,8 @@ class MaterielsController extends AppController |
177 | 177 | */ |
178 | 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 | 183 | parent::beforeRender($event); |
183 | 184 | |
... | ... | @@ -238,8 +239,8 @@ class MaterielsController extends AppController |
238 | 239 | public function isAuthorized($userFromSession) |
239 | 240 | { |
240 | 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 | 244 | /* ICI C'EST OK |
244 | 245 | $toto="tititoto"; |
245 | 246 | $this->set(compact('toto')); |
... | ... | @@ -305,6 +306,8 @@ class MaterielsController extends AppController |
305 | 306 | //$toto="tititoto"; |
306 | 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 | 312 | switch ($action) { |
310 | 313 | |
... | ... | @@ -662,7 +665,7 @@ class MaterielsController extends AppController |
662 | 665 | */ |
663 | 666 | public function index() |
664 | 667 | { |
665 | - $this->myDebug("step 2: MaterielsController.index()"); | |
668 | + $this->myDebug("step 3: MaterielsController.index()"); | |
666 | 669 | |
667 | 670 | $condition = ''; |
668 | 671 | if (isset($this->request->getAttribute('params')['pass'][0])) { |
... | ... | @@ -802,7 +805,7 @@ class MaterielsController extends AppController |
802 | 805 | */ |
803 | 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 | 810 | $materiel = $this->Materiels->get($id, [ |
808 | 811 | 'contain' => [ |
... | ... | @@ -950,7 +953,7 @@ class MaterielsController extends AppController |
950 | 953 | */ |
951 | 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 | 958 | $usersTable = TableRegistry::getTableLocator()->get('Users'); |
956 | 959 | ... | ... |