Commit 6fdd277f6778a6da3daf944091c571bccc0b7bff
1 parent
a6df1a78
Exists in
master
and in
1 other branch
Bugfix actions sur plusieurs matos
=> exporter liste courante => ne doit pas exporter tout => validation groupée, bouton "valider les materiels cochés" => doit valider v5.3.13-3.7.9
Showing
4 changed files
with
29 additions
and
23 deletions
Show diff stats
CHANGELOG
... | ... | @@ -619,18 +619,23 @@ Ne pas autoriser la commande via url si le bouton order est désactivé dans la |
619 | 619 | ... |
620 | 620 | |
621 | 621 | |
622 | -- ajouter site_id sur user, plus "is_site_only" dans matos (par défaut "false") : "réservé au site" | |
623 | -=> check que quand on va sur site, on voit la liste des users associés (et les matos) | |
624 | -=> associer les users irap à un site | |
625 | -=> ajouter filtre matos/index sur "site" : "tous", "mon site", "belin", "roche", ... | |
626 | -=> fiche users/view : voir son site | |
627 | -=> users/index : voir site | |
628 | 622 | |
623 | +Gestion multi-sites : | |
624 | +- matos.index : doit enlever les matos "sensibles" et qui ont un site différent du user | |
625 | +- matos.view : interdit si matos "sensible" a un site différent du user | |
626 | +- find() : par défaut, enlever les matos "sensibles" et qui ont un site différent du user | |
627 | +- gestionnaires (admin) (et superadmin) continuent d'avoir accès à tout | |
629 | 628 | |
630 | 629 | |
631 | 630 | ======= CHANGES ======= |
632 | 631 | |
633 | 632 | ------- |
633 | +29/11/2021 v5.3.13-3.7.9 | |
634 | + - (b) Bugfix action sur plusieurs matos : | |
635 | + => exporter liste courante => ne doit pas exporter tout | |
636 | + => validation groupée, bouton "valider les materiels cochés" => doit valider | |
637 | + | |
638 | +------- | |
634 | 639 | 26/11/2021 v5.3.12-3.7.9 |
635 | 640 | - (e) Préparation du partitionnement optionnel des materiels par site (phase 2/3) |
636 | 641 | => Ajout liste users associés dans vue site (view) | ... | ... |
README.md
... | ... | @@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes : |
52 | 52 | |
53 | 53 | -------------------------------------------------------------------------------------------- |
54 | 54 | |
55 | -Date: 26/11/2021 | |
56 | -Version: v5.3.11-3.7.9 | |
55 | +Date: 29/11/2021 | |
56 | +Version: v5.3.13-3.7.9 | |
57 | 57 | |
58 | 58 | |
59 | 59 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -1337,6 +1337,7 @@ class MaterielsController extends AppController { |
1337 | 1337 | 'conditions' => $condition |
1338 | 1338 | ])->count()); |
1339 | 1339 | */ |
1340 | + //debug($conditions); debug($contain); exit; | |
1340 | 1341 | $materiels = $this->Materiels |
1341 | 1342 | /* |
1342 | 1343 | ->find() |
... | ... | @@ -1348,7 +1349,6 @@ class MaterielsController extends AppController { |
1348 | 1349 | 'contain' => $contain |
1349 | 1350 | ]); |
1350 | 1351 | //->limit(1000); |
1351 | - | |
1352 | 1352 | if ($age==-1) $materiels = $materiels |
1353 | 1353 | ->where(function (QueryExpression $exp, Query $q) { |
1354 | 1354 | return $exp->isNull('date_acquisition'); |
... | ... | @@ -4120,13 +4120,15 @@ class MaterielsController extends AppController { |
4120 | 4120 | * var_dump($this->request->getData()); |
4121 | 4121 | */ |
4122 | 4122 | //if (isset($this->request->getData()) && sizeof($this->request->getData()) > 0) { |
4123 | - if (sizeof($this->request->getData()) > 0) { | |
4123 | + $data = $this->request->getData(); | |
4124 | + if (sizeof($data) > 0) { | |
4125 | + //debug($data); exit; | |
4124 | 4126 | $this->myDebug("IN UPDATE"); |
4125 | 4127 | $this->myDebug($this->request->getData()); |
4126 | 4128 | $what = $this->request->getData('what'); |
4127 | 4129 | $nb = 0; |
4128 | 4130 | if (in_array($what, $this->NOTARCHIVED)) { |
4129 | - foreach ($this->request->getData() as $id => $value) { | |
4131 | + foreach ($data as $id => $value) { | |
4130 | 4132 | // seulement les post data integers (id des materiels checked ou non) |
4131 | 4133 | if (! is_int($id)) |
4132 | 4134 | continue; |
... | ... | @@ -4137,15 +4139,9 @@ class MaterielsController extends AppController { |
4137 | 4139 | $materielIdentification = $materiel->designation . '-' . $materiel->numero_laboratoire; |
4138 | 4140 | switch ($what) { |
4139 | 4141 | case 'CREATED': |
4140 | - /* | |
4141 | - $new = 'VALIDATED'; | |
4142 | - $msgError = "le materiel " . $materielIdentification . " n'a pas pu être validé car au moins un des champs nécessaire n'est pas rempli."; | |
4143 | - */ | |
4144 | - $new = 'TOBEORDERED'; | |
4145 | - $msgError = "le materiel " . $materielIdentification . " n'a pas pu être commandé (un champ obligatoire est manquant)"; | |
4146 | - break; | |
4147 | 4142 | case 'TOBEORDERED': |
4148 | 4143 | $new = 'VALIDATED'; |
4144 | + //$msgError = "le materiel " . $materielIdentification . " n'a pas pu être commandé (un champ obligatoire est manquant)"; | |
4149 | 4145 | $msgError = "le materiel " . $materielIdentification . " n'a pas pu être validé (un champ obligatoire est manquant)"; |
4150 | 4146 | break; |
4151 | 4147 | case 'VALIDATED': |
... | ... | @@ -4252,6 +4248,8 @@ class MaterielsController extends AppController { |
4252 | 4248 | |
4253 | 4249 | $CAS = 0; |
4254 | 4250 | |
4251 | + //debug($this->request->getData()); exit; | |
4252 | + | |
4255 | 4253 | // CAS 1 - EXPORT uniquement les materiels selectionnés (cochés) |
4256 | 4254 | if ($this->request->getData('export') !== null) { |
4257 | 4255 | $CAS = 1; |
... | ... | @@ -4271,6 +4269,7 @@ class MaterielsController extends AppController { |
4271 | 4269 | } |
4272 | 4270 | |
4273 | 4271 | $this->myDebug($selectedMateriels); |
4272 | + //debug($selectedMateriels); exit; | |
4274 | 4273 | /* |
4275 | 4274 | // Si la liste de materiels cochés est vide, ne rien faire |
4276 | 4275 | if (empty($selectedMateriels)) { |
... | ... | @@ -4309,6 +4308,7 @@ class MaterielsController extends AppController { |
4309 | 4308 | ]); |
4310 | 4309 | */ |
4311 | 4310 | } |
4311 | + //else debug("vide"); exit; | |
4312 | 4312 | //$this->myDebug($materiels); |
4313 | 4313 | //} |
4314 | 4314 | |
... | ... | @@ -4316,8 +4316,9 @@ class MaterielsController extends AppController { |
4316 | 4316 | |
4317 | 4317 | // CAS 2 - EXPORT liste courante |
4318 | 4318 | // (cette fonction export() a été appelée par index()) |
4319 | - //else if ($this->request->getData('exportcurrent') !== null) { | |
4320 | - else if (is_array($param) && len($param)>0) { | |
4319 | + //else if (is_array($param) && len($param)>0) { | |
4320 | + else if ($this->request->getQuery('exportcurrent') !== null && ($param->count())>0) { | |
4321 | + //foreach ($param as $m) debug($m->designation); exit; | |
4321 | 4322 | $CAS = 2; |
4322 | 4323 | $this->myDebug("IN exportCurrent"); |
4323 | 4324 | $materiels = $param; |
... | ... | @@ -4406,10 +4407,10 @@ class MaterielsController extends AppController { |
4406 | 4407 | |
4407 | 4408 | // (EP) Si aucun materiel retourné par la sélection => terminé, ne rien faire, basta |
4408 | 4409 | if (empty($materiels)) { |
4410 | + //debug($what); exit; | |
4409 | 4411 | if ($what != '' && $what != 'search') return $this->redirect(['action' => 'index', $what]); |
4410 | 4412 | else if ($what == 'search') return $this->redirect('javascript:window.history.go(-3)'); |
4411 | 4413 | //else return $this->redirect(['action' => 'index']); |
4412 | - return $this->redirect(['action' => 'index']); | |
4413 | 4414 | } |
4414 | 4415 | |
4415 | 4416 | /* | ... | ... |
src/Template/Materiels/index.ctp
... | ... | @@ -183,9 +183,9 @@ $displayExportCurrentButton = function($params, $html) { |
183 | 183 | ], |
184 | 184 | // Style et tooltip |
185 | 185 | [ |
186 | - //'class' => 'button', | |
187 | - 'class' => "btn btn-outline-success btn-default", | |
188 | 186 | 'title' => 'Exporter la liste courante (avec les paramètres sélectionnés en cours)', |
187 | + 'class' => "btn btn-outline-success btn-default", | |
188 | + //'class' => 'button', | |
189 | 189 | //'style' => 'margin-right: 0px', |
190 | 190 | //'escape' => false |
191 | 191 | ] | ... | ... |