Commit 85dcced48f2b38771636b25672146a328aa86f55
1 parent
02b7f0be
Exists in
master
and in
1 other branch
Diverses améliorations, simplifications, optimisations (3.7.9.22) :
- factorisation d'une partie de add_or_edit() dans AppController (appelée par les add_or_edit() de chaque controleur spécifique) - Utilisation de $this->action et $this->action_id (...) de AppController.beforeFilter() un peu partout - Utilisation de $this->entity de AppController.beforeFilter() un peu partout pour si
Showing
7 changed files
with
253 additions
and
56 deletions
Show diff stats
README.md
... | ... | @@ -53,19 +53,15 @@ Logiciel testé et validé sur les configurations suivantes : |
53 | 53 | |
54 | 54 | VERSION ACTUELLE |
55 | 55 | |
56 | - | |
57 | - | |
58 | -Date: 28/04/2020 | |
59 | -Version: 3.7.9.21 | |
56 | +Date: 29/04/2020 | |
57 | +Version: 3.7.9.22 | |
60 | 58 | Author: EP |
61 | 59 | Commentaire: |
62 | 60 | Diverses améliorations, simplifications, optimisations : |
63 | - - Ajout de $this->entity, $this->action et $this->action_id (...) dans beforeFilter() pour simplifier et optimiser la suite des traitements | |
64 | - - simplification du isAuthorizedAction() de Materiels | |
61 | + - factorisation d'une partie de add_or_edit() dans AppController (appelée par les add_or_edit() de chaque controleur spécifique) | |
62 | + - Utilisation de $this->action et $this->action_id (...) de AppController.beforeFilter() un peu partout | |
63 | + - Utilisation de $this->entity de AppController.beforeFilter() un peu partout pour simplifier et surtout éviter (bcp) les accès BD redondants | |
65 | 64 | - Optimisations pour éviter trop de requetes en BD et simplification des tests acl |
66 | - - Meilleure gestion des aspects authentification et authorization | |
67 | - - mon 1er View Helper dans src/View/Helper (MyButtonHelper) pour créer plus facilement des boutons !! : | |
68 | - - migration des fonctions getActionButton() et displayElement() dans MyButtonHelper et remplacement progressif dans les vues | |
69 | 65 | |
70 | 66 | IMPORTANT : |
71 | 67 | - Pour connaitre la version actuelle, taper "./VERSION" |
... | ... | @@ -100,6 +96,15 @@ La liste ci-dessous n'est plus à jour, elle est désormais en ligne ici : https |
100 | 96 | |
101 | 97 | ----------------------------------------------------------------------------------------------------------- |
102 | 98 | |
99 | +28/04/2020 Version 3.7.9.21 (EP) | |
100 | + Diverses améliorations, simplifications, optimisations : | |
101 | + - Ajout de $this->entity, $this->action et $this->action_id (...) dans beforeFilter() pour simplifier et optimiser la suite des traitements | |
102 | + - simplification du isAuthorizedAction() de Materiels | |
103 | + - Optimisations pour éviter trop de requetes en BD et simplification des tests acl | |
104 | + - Meilleure gestion des aspects authentification et authorization | |
105 | + - mon 1er View Helper dans src/View/Helper (MyButtonHelper) pour créer plus facilement des boutons !! : | |
106 | + - migration des fonctions getActionButton() et displayElement() dans MyButtonHelper et remplacement progressif dans les vues | |
107 | + | |
103 | 108 | 24/04/2020 Version 3.7.9.20 (EP) |
104 | 109 | Améliorations diverses : |
105 | 110 | - Meilleure gestion des aspects authentification et authorization (car je comprends mieux maintenant) | ... | ... |
src/Controller/AppController.php
... | ... | @@ -373,8 +373,8 @@ class AppController extends Controller |
373 | 373 | */ |
374 | 374 | protected function getEntity($id=null) { |
375 | 375 | // Si pas d'id => exception (stop) |
376 | - //assert($this->action_id>0); | |
377 | - if (!$this->action_id && !$id) throw new \Exception(__("cette methode doit etre appelée avec un id déjà positionné !!!")); | |
376 | + //assert($this->entity_id>0); | |
377 | + if (!$this->entity_id && !$id) throw new \Exception(__("cette methode doit etre appelée avec un id déjà positionné !!!")); | |
378 | 378 | |
379 | 379 | // Si l'entité actuellement en mémoire n'est pas la bonne, la mettre à null pour obliger à la recharger |
380 | 380 | if ($id && $this->entity && $this->entity->id != $id) $this->entity = null; |
... | ... | @@ -390,11 +390,11 @@ class AppController extends Controller |
390 | 390 | debug($model); |
391 | 391 | */ |
392 | 392 | |
393 | - //ex: if (! $this->entity) $this->entity = $this->Materiels->get($this->action_id); | |
394 | - if (! $this->entity) $this->entity = $this->$model->get($this->action_id); | |
393 | + //ex: if (! $this->entity) $this->entity = $this->Materiels->get($this->entity_id); | |
394 | + if (! $this->entity) $this->entity = $this->$model->get($this->entity_id); | |
395 | 395 | /* |
396 | 396 | * Avec les entités associées : |
397 | - if (! $this->entity) $this->entity = $this->$model->get($this->action_id, [ | |
397 | + if (! $this->entity) $this->entity = $this->$model->get($this->entity_id, [ | |
398 | 398 | 'contain' => ['Comments'] |
399 | 399 | ]); |
400 | 400 | */ |
... | ... | @@ -780,7 +780,7 @@ class AppController extends Controller |
780 | 780 | // - L'action demandée et son id le cas échéant (nul par défaut, égal 0) |
781 | 781 | $this->action = $this->getActionPassed(); |
782 | 782 | $this->myDebug("- action passed : ".$this->action); |
783 | - $this->action_id = $this->getIdPassed(); | |
783 | + $this->entity_id = $this->getIdPassed(); | |
784 | 784 | $this->myDebug("- id passed : ".$this->action); |
785 | 785 | |
786 | 786 | parent::beforeFilter($event); |
... | ... | @@ -903,6 +903,147 @@ class AppController extends Controller |
903 | 903 | } // beforeFilter() |
904 | 904 | |
905 | 905 | |
906 | + /** | |
907 | + * Add or Edit method (do either add() or edit()) | |
908 | + * => Factorisation de add() et edit() | |
909 | + * (voir aussi https://book.cakephp.org/3.0/en/orm.html) | |
910 | + * | |
911 | + * @param $IS_ADD: True = add ; False = edit | |
912 | + * @return \Cake\Network\Response|void Redirects on successful add/edit, renders view otherwise. | |
913 | + */ | |
914 | + protected function add_or_edit($IS_ADD, $id=null, $values=null, $errors=null, $entity_name=null, array $associated_entities=[], $with_parent=false) { | |
915 | + | |
916 | + $controller = $this->request->getParam('controller'); | |
917 | + | |
918 | + $this->myDebug("step 3: $controller .add_or_edit()"); | |
919 | + | |
920 | + $IS_EDIT = !$IS_ADD; | |
921 | + | |
922 | + /* | |
923 | + $this->entityBuilt = null; | |
924 | + $this->parent = null; | |
925 | + $this->parents = null; | |
926 | + */ | |
927 | + | |
928 | + /* (EP 20200326) | |
929 | + * Pour être plus générique, | |
930 | + * On utilise désormais $entity au lieu d'un terme plus spécifique comme $emprunt | |
931 | + * (ou $suivi ou $materiel pour les controleurs de Suivis et Materiels, ...) | |
932 | + * On utilisera aussi $this->$controller au lieu de $this->Emprunts (ou $this->Suivis ou $this->Materiels, ...) | |
933 | + */ | |
934 | + | |
935 | + $entity = ( | |
936 | + $IS_ADD ? | |
937 | + $this->$controller->newEntity() | |
938 | + : | |
939 | + // cf https://book.cakephp.org/3/fr/orm/retrieving-data-and-resultsets.html#eager-loading-associations | |
940 | + // Ceci permettra des accès du type $suivi->type_suivi->nom depuis la vue | |
941 | + //$this->Emprunts->get($id, ['contain' => ['TypeSuivis']]); | |
942 | + $this->$controller->get($id, ['contain' => $associated_entities ]) | |
943 | + ); | |
944 | + | |
945 | + //debug($suivi); | |
946 | + // POST (on arrive ici après un SUBMIT) | |
947 | + // add | |
948 | + //if ($this->request->is('post')) { | |
949 | + // edit | |
950 | + if ($this->request->is(['patch','post','put'])) { | |
951 | + //$entity = $this->Emprunts->patchEntity($suivi, $this->request->getData()); | |
952 | + $entity = $this->$controller->patchEntity($entity, $this->request->getData()); | |
953 | + // TODO : à virer, trouver comment faire ça autrement, c'est sale !!! | |
954 | + if ($controller == 'Suivis') { | |
955 | + if ($IS_ADD) { | |
956 | + if ($this->request->getData('typemesure') !== null && $this->request->getData('typemesure') == "1") | |
957 | + $entity->typemesure = "Indirect"; | |
958 | + $entity->panne_resolu = false; | |
959 | + } | |
960 | + } | |
961 | + $verb = $IS_ADD ? 'ajouté' : 'modifié'; | |
962 | + // SAVE KO | |
963 | + if (! $this->$controller->save($entity)) | |
964 | + $this->Flash->error(__("$entity_name n'a pas pu être $verb")); | |
965 | + // SAVED OK | |
966 | + else { | |
967 | + $this->Flash->success(__("$entity_name a bien été $verb")); | |
968 | + if ($with_parent) { | |
969 | + $parent_id = $IS_ADD ? $this->request->getParam('pass.0') : $entity->materiel_id; | |
970 | + // (EP) Redirection vers la vue parente (materiel emprunté) (depuis add ou edit) | |
971 | + return $this->redirect([ | |
972 | + 'controller' => 'Materiels', | |
973 | + 'action' => 'view', | |
974 | + $parent_id | |
975 | + ]); | |
976 | + } | |
977 | + else { | |
978 | + if ($IS_ADD) | |
979 | + return $this->redirect([ | |
980 | + 'action' => 'index', | |
981 | + ]); | |
982 | + else | |
983 | + return $this->redirect([ | |
984 | + 'action' => 'view', | |
985 | + $id | |
986 | + ]); | |
987 | + } | |
988 | + /* | |
989 | + // ADD | |
990 | + if ($IS_ADD) return $this->redirect([ | |
991 | + 'controller' => 'Materiels', | |
992 | + 'action' => 'view', | |
993 | + $this->request->getAttribute('params')['pass'][0] | |
994 | + ]); | |
995 | + // EDIT | |
996 | + else $this->setAction('view', $id); | |
997 | + /S equivalent à | |
998 | + else return $this->redirect([ | |
999 | + 'action' => 'view', | |
1000 | + $id | |
1001 | + ]); | |
1002 | + S/ | |
1003 | + */ | |
1004 | + } | |
1005 | + } // POST | |
1006 | + | |
1007 | + | |
1008 | + // START (on arrive ici la première fois qu'on ouvre la vue) | |
1009 | + if ($with_parent) { | |
1010 | + $parents = $this->$controller->Materiels->find('list'); | |
1011 | + //$materiel_id = $IS_EDIT ? $entity->materiel_id : $this->request->getAttribute('params')['pass'][0]; | |
1012 | + $parent_id = $IS_EDIT ? $entity->materiel_id : $this->request->getParam('pass.0'); | |
1013 | + // parent = materiel | |
1014 | + $parent = $this->$controller->Materiels->get($parent_id); | |
1015 | + //$matos_id = $IS_ADD ? $parent->id : $entity->materiel_id; | |
1016 | + } | |
1017 | + //$materiel = $this->$controller->Materiels->get($materiel_id); | |
1018 | + /* (EP) inutile | |
1019 | + $numMateriel = $this->$controller->Materiels->find() | |
1020 | + ->select('numero_laboratoire') | |
1021 | + ->where([ | |
1022 | + 'id =' => $materiel_id | |
1023 | + ]) | |
1024 | + ->first()['numero_laboratoire']; | |
1025 | + */ | |
1026 | + | |
1027 | + | |
1028 | + | |
1029 | + $this->set(compact('IS_ADD','entity')); | |
1030 | + $with_parent && $this->set(compact('parent','parents')); | |
1031 | + | |
1032 | + /* (EP) inutile | |
1033 | + $this->set('_serialize', [ | |
1034 | + 'entity' | |
1035 | + ]); | |
1036 | + */ | |
1037 | + | |
1038 | + // On délare ces variables pour la méthode add_or_edit() du controleur spécifique | |
1039 | + // (car on ne peut pas faire un return !!!) | |
1040 | + $this->entityBuilt = $entity; | |
1041 | + $this->parent = $with_parent ? $parent : null; | |
1042 | + $this->parents = $with_parent ? $parents : null; | |
1043 | + | |
1044 | + } //add_or_edit() | |
1045 | + | |
1046 | + | |
906 | 1047 | public function afterFilter(Event $event) |
907 | 1048 | { |
908 | 1049 | $this->myDebug("step ?? (general): AppController.afterFilter()"); | ... | ... |
src/Controller/EmpruntsController.php
... | ... | @@ -150,18 +150,36 @@ class EmpruntsController extends AppController |
150 | 150 | * @param $IS_ADD: True = add ; False = edit |
151 | 151 | * @return \Cake\Network\Response|void Redirects on successful add/edit, renders view otherwise. |
152 | 152 | */ |
153 | - private function add_or_edit($IS_ADD, $id=null, $valeurs=null, $erreurs=null) { | |
153 | + protected function add_or_edit($IS_ADD, $id=null, $valeurs=null, $erreurs=null, | |
154 | + // uniquement à cause de parent::add_or_edit() : | |
155 | + $entity_name=null, array $associated_entities=[], $with_parent=false) { | |
156 | + | |
157 | + // On appelle la partie commune de cette méthode, dans AppController | |
158 | + parent::add_or_edit($IS_ADD, $id, $valeurs, $erreurs, "L'emprunt", [], $with_parent=true); | |
159 | + if ($this->request->is(['patch','post','put'])) return; | |
160 | + | |
161 | + $entity = $this->entityBuilt; | |
162 | + $materiel = $this->parent; | |
163 | + $materiels = $this->parents; | |
164 | + /* | |
165 | + $entity = $vars['entity']; | |
166 | + $materiel = $vars['parent']; | |
167 | + $materiels = $vars['parents']; | |
168 | + */ | |
169 | + $controller = 'Emprunts'; | |
170 | + | |
154 | 171 | |
172 | + /* (EP) moved to parent | |
155 | 173 | $this->myDebug("step 3: EmpruntsController.add_or_edit()"); |
156 | 174 | |
157 | 175 | $IS_EDIT = !$IS_ADD; |
158 | 176 | |
159 | - /* (EP 20200326) | |
177 | + /S (EP 20200326) | |
160 | 178 | * Pour être plus générique, |
161 | 179 | * On utilise désormais $entity au lieu d'un terme plus spécifique comme $emprunt |
162 | 180 | * (ou $suivi ou $materiel pour les controleurs de Suivis et Materiels, ...) |
163 | 181 | * On utilisera aussi $this->$controller au lieu de $this->Emprunts (ou $this->Suivis ou $this->Materiels, ...) |
164 | - */ | |
182 | + S/ | |
165 | 183 | $controller = 'Emprunts'; |
166 | 184 | $entity = ($IS_ADD ? |
167 | 185 | $this->$controller->newEntity() |
... | ... | @@ -194,7 +212,7 @@ class EmpruntsController extends AppController |
194 | 212 | 'action' => 'view', |
195 | 213 | $parent_id |
196 | 214 | ]); |
197 | - /* | |
215 | + /SS | |
198 | 216 | // ADD |
199 | 217 | if ($IS_ADD) return $this->redirect([ |
200 | 218 | 'controller' => 'Materiels', |
... | ... | @@ -209,7 +227,7 @@ class EmpruntsController extends AppController |
209 | 227 | $id |
210 | 228 | ]); |
211 | 229 | S/ |
212 | - */ | |
230 | + SS/ | |
213 | 231 | } |
214 | 232 | // SAVED KO |
215 | 233 | else { |
... | ... | @@ -224,13 +242,14 @@ class EmpruntsController extends AppController |
224 | 242 | // parent = materiel |
225 | 243 | $parent = $this->$controller->Materiels->get($materiel_id); |
226 | 244 | //$materiel = $this->$controller->Materiels->get($materiel_id); |
227 | - /* (EP) inutile | |
245 | + /S (EP) inutile | |
228 | 246 | $numMateriel = $this->$controller->Materiels->find() |
229 | 247 | ->select('numero_laboratoire') |
230 | 248 | ->where([ |
231 | 249 | 'id =' => $materiel_id |
232 | 250 | ]) |
233 | 251 | ->first()['numero_laboratoire']; |
252 | + S/ | |
234 | 253 | */ |
235 | 254 | |
236 | 255 | |
... | ... | @@ -251,8 +270,8 @@ class EmpruntsController extends AppController |
251 | 270 | ->select('email') |
252 | 271 | ->where([ |
253 | 272 | 'username =' => $this->LdapAuth->user( |
254 | - $this->request->getSession()->read('authType') | |
255 | - )[0] | |
273 | + $this->request->getSession()->read('authType') | |
274 | + )[0] | |
256 | 275 | ]) |
257 | 276 | ->first()['email']; |
258 | 277 | $nom_emprunteur_ext = ''; |
... | ... | @@ -265,17 +284,20 @@ class EmpruntsController extends AppController |
265 | 284 | 'valueField' => 'nom' |
266 | 285 | ]); |
267 | 286 | |
287 | + /* déjà fait par AppController | |
288 | + $this->set(compact( | |
289 | + 'IS_ADD', | |
290 | + | |
291 | + //'suivi', // @deprecated | |
292 | + 'entity', // nouveau nom | |
293 | + | |
294 | + 'parent', // nouveau nom | |
295 | + 'parents' // nouveau nom | |
296 | + //'materiel', // @deprecated | |
297 | + //'materiels', // @deprecated | |
298 | + )); | |
299 | + */ | |
268 | 300 | $this->set(compact( |
269 | - 'IS_ADD', | |
270 | - | |
271 | - //'emprunt', // @deprecated | |
272 | - 'entity', // nouveau nom | |
273 | - | |
274 | - //'materiel', // @deprecated | |
275 | - 'parent', // nouveau nom | |
276 | - | |
277 | - 'materiels', | |
278 | - | |
279 | 301 | // (EP) inutile |
280 | 302 | //'numMateriel', |
281 | 303 | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -292,7 +292,7 @@ class MaterielsController extends AppController |
292 | 292 | |
293 | 293 | // $id = (int) $this->request->getParam('pass.0'); |
294 | 294 | //$id = $this->getIdPassed(); |
295 | - ///$this->action_id = $this->getIdPassed(); | |
295 | + ///$this->entity_id = $this->getIdPassed(); | |
296 | 296 | //debug($id); |
297 | 297 | |
298 | 298 | // ACTIONS QUI SONT TOUJOURS AUTORISÉES QUELQUE SOIT LE PROFIL |
... | ... | @@ -314,7 +314,7 @@ class MaterielsController extends AppController |
314 | 314 | return $article->user_id === $user['id']; |
315 | 315 | */ |
316 | 316 | |
317 | - $id = $this->action_id; | |
317 | + $id = $this->entity_id; | |
318 | 318 | |
319 | 319 | // On autorise ou pas l’action demandée : |
320 | 320 | // - SUPERADMIN : par défaut il a TOUS les droits |
... | ... | @@ -362,10 +362,10 @@ class MaterielsController extends AppController |
362 | 362 | private function isAuthorizedAction($action = null) { |
363 | 363 | if (!$action) $action = $this->action; |
364 | 364 | //$id = $this->getIdPassed(); |
365 | - //debug("action $action, id $this->action_id"); | |
365 | + //debug("action $action, id $this->entity_id"); | |
366 | 366 | //return $this->isAuthorizedActionFor($action, $this->getIdPassed(), $this->userRole, $this->userFromSession, $this->userCname); |
367 | 367 | return $this->isAuthorizedActionFor( |
368 | - $action?$action:$this->action, $this->action_id, | |
368 | + $action?$action:$this->action, $this->entity_id, | |
369 | 369 | $this->userRole, |
370 | 370 | $this->userFromSession, $this->userCname |
371 | 371 | ); |
... | ... | @@ -1011,8 +1011,10 @@ class MaterielsController extends AppController |
1011 | 1011 | * @param $IS_ADD: True = add ; False = edit |
1012 | 1012 | * @return \Cake\Network\Response|void Redirects on successful add/edit, renders view otherwise. |
1013 | 1013 | */ |
1014 | - private function add_or_edit($IS_ADD, $id=null, $valeurs=null, $erreurs=null) | |
1015 | - { | |
1014 | + protected function add_or_edit($IS_ADD, $id=null, $valeurs=null, $erreurs=null, | |
1015 | + // uniquement à cause de parent::add_or_edit() : | |
1016 | + $entity_name=null, array $associated_entities=[], $with_parent=false) { | |
1017 | + | |
1016 | 1018 | $this->myDebug("step 3: MaterielsController.add_or_edit()"); |
1017 | 1019 | |
1018 | 1020 | $IS_EDIT = !$IS_ADD; | ... | ... |
src/Controller/SuivisController.php
... | ... | @@ -232,8 +232,24 @@ class SuivisController extends AppController |
232 | 232 | * @param $IS_ADD: True = add ; False = edit |
233 | 233 | * @return \Cake\Network\Response|void Redirects on successful add/edit, renders view otherwise. |
234 | 234 | */ |
235 | - private function add_or_edit($IS_ADD, $id=null, $valeurs=null, $erreurs=null) { | |
235 | + protected function add_or_edit($IS_ADD, $id=null, $valeurs=null, $erreurs=null, | |
236 | + // uniquement à cause de parent::add_or_edit() : | |
237 | + $entity_name=null, array $associated_entities=[], $with_parent=false) { | |
238 | + | |
239 | + // On appelle la partie commune de cette méthode, dans AppController | |
240 | + parent::add_or_edit($IS_ADD, $id, $valeurs, $erreurs, "Le suivi", ['TypeSuivis'], $with_parent=true); | |
241 | + if ($this->request->is(['patch','post','put'])) return; | |
242 | + // Ces 3 variables ont été crées par l'appel ci-dessus | |
243 | + $suivi = $entity = $this->entityBuilt; | |
244 | + $materiel = $this->parent; | |
245 | + $materiels = $this->parents; | |
246 | + /* | |
247 | + $suivi = $entity = $vars['entity']; | |
248 | + $materiel = $vars['parent']; | |
249 | + $materiels = $vars['parents']; | |
250 | + */ | |
236 | 251 | |
252 | + /* EP moved to AppController | |
237 | 253 | $this->myDebug("step 3: SuivisController.add_or_edit()"); |
238 | 254 | |
239 | 255 | $IS_EDIT = !$IS_ADD; |
... | ... | @@ -273,7 +289,7 @@ class SuivisController extends AppController |
273 | 289 | //$this->request->getParam('pass')[0] |
274 | 290 | //$this->request->getAttribute('params')['pass'][0] |
275 | 291 | ]); |
276 | - /* EDIT | |
292 | + /SS EDIT | |
277 | 293 | //debug($this->request->getData()); |
278 | 294 | //else $this->setAction('view',$id); |
279 | 295 | // marche pas, pourquoi ??? |
... | ... | @@ -286,30 +302,35 @@ class SuivisController extends AppController |
286 | 302 | $id |
287 | 303 | ]); |
288 | 304 | S/ |
289 | - */ | |
305 | + SS/ | |
290 | 306 | } |
291 | 307 | // SAVED KO |
292 | 308 | else { |
293 | 309 | $this->Flash->error(__("Le suivi n'a pas pu être $verb")); |
294 | - /* | |
310 | + /S | |
295 | 311 | if ($IS_ADD) return $this->redirect([ |
296 | 312 | 'controller' => 'Materiels', |
297 | 313 | 'action' => 'view', |
298 | 314 | $this->request->getAttribute('params')['pass'][0] |
299 | 315 | ]); |
300 | - */ | |
316 | + S/ | |
301 | 317 | } |
302 | 318 | } // POST |
303 | 319 | |
304 | 320 | |
305 | 321 | // START (on arrive ici la première fois qu'on ouvre la vue) |
322 | + $materiels = $this->Suivis->Materiels->find('list'); | |
323 | + $materiel_id = $IS_EDIT ? $suivi->materiel_id : $this->request->getAttribute('params')['pass'][0]; | |
324 | + $materiel = $this->Suivis->Materiels->get($materiel_id); | |
325 | + */ | |
326 | + | |
327 | + | |
328 | + // Partie spécifique à ce controleur | |
329 | + | |
306 | 330 | $unite = TableRegistry::getTableLocator()->get('Unites')->find('list', [ |
307 | 331 | 'keyfield' => 'id', |
308 | 332 | 'valueField' => 'nom' |
309 | 333 | ]); |
310 | - $materiels = $this->Suivis->Materiels->find('list'); | |
311 | - $materiel_id = $IS_EDIT ? $suivi->materiel_id : $this->request->getAttribute('params')['pass'][0]; | |
312 | - $materiel = $this->Suivis->Materiels->get($materiel_id); | |
313 | 334 | /* |
314 | 335 | $materiel = $IS_EDIT ? |
315 | 336 | $this->Suivis->Materiels->get($suivi->materiel_id) |
... | ... | @@ -351,7 +372,8 @@ class SuivisController extends AppController |
351 | 372 | $metro = TableRegistry::getTableLocator()->get('Materiels')->find() |
352 | 373 | ->select('metrologie') |
353 | 374 | ->where([ |
354 | - 'id =' => $materiel_id | |
375 | + //'id =' => $materiel_id | |
376 | + 'id =' => $materiel->id | |
355 | 377 | ]) |
356 | 378 | ->first()['metrologie']; |
357 | 379 | |
... | ... | @@ -425,11 +447,12 @@ class SuivisController extends AppController |
425 | 447 | ])->toArray(); |
426 | 448 | |
427 | 449 | // $domaineresp= TableRegistry::getTableLocator()->get('Users')->find()->select('sur_categorie_id')->where(['username =' => $this->LdapAuth->user($this->request->getSession()->read('authType'))[0]])->first()['sur_categorie_id']; |
428 | - $matos_id = $IS_ADD ? $materiel->id : $suivi->materiel_id; | |
450 | + /////$matos_id = $IS_ADD ? $materiel->id : $suivi->materiel_id; | |
429 | 451 | $dom = TableRegistry::getTableLocator()->get('Materiels')->find() |
430 | 452 | ->select('sur_categorie_id') |
431 | 453 | ->where([ |
432 | - 'id =' => $matos_id | |
454 | + //'id =' => $matos_id | |
455 | + 'id =' => $materiel->id | |
433 | 456 | ]) |
434 | 457 | ->first()['sur_categorie_id']; |
435 | 458 | $domaines = TableRegistry::getTableLocator()->get('Users')->find() |
... | ... | @@ -456,19 +479,23 @@ class SuivisController extends AppController |
456 | 479 | // Utile ? |
457 | 480 | //$parent_id = $materiel_id; |
458 | 481 | $entity = $suivi; |
482 | + /* déjà fait par AppController | |
459 | 483 | $this->set(compact( |
460 | 484 | 'IS_ADD', |
461 | - 'unite', 'domaineresp', | |
462 | 485 | |
463 | 486 | //'suivi', // @deprecated |
464 | 487 | 'entity', // nouveau nom |
465 | 488 | |
466 | - //'materiel', // @deprecated | |
467 | 489 | 'parent', // nouveau nom |
468 | - | |
490 | + 'parents' // nouveau nom | |
491 | + //'materiel', // @deprecated | |
492 | + //'materiels', // @deprecated | |
493 | + )); | |
494 | + */ | |
495 | + $this->set(compact( | |
496 | + 'unite', 'domaineresp', | |
469 | 497 | //'materiel_id', 'parent_id', |
470 | 498 | 'groupesThematiques', 'groupesMetiers', |
471 | - 'materiels', | |
472 | 499 | 'typeSuivis', |
473 | 500 | 'typeSuivisAll' |
474 | 501 | )); | ... | ... |
src/Template/Emprunts/add_edit.ctp
... | ... | @@ -60,7 +60,7 @@ $emprunt = $entity; // @deprecated |
60 | 60 | |
61 | 61 | $parent = $parent; // nouveau nom |
62 | 62 | $materiel = $parent; // @deprecated |
63 | -$materiels = $materiels; | |
63 | +$materiels = $parents; | |
64 | 64 | //$numMateriel = $numMateriel; // (EP) inutile |
65 | 65 | |
66 | 66 | $disp_externe = $disp_externe; | ... | ... |
src/Template/Suivis/add_edit.ctp