Commit bbc46c5117b99175d31d6e6ce18b5f1e54cd4d77
1 parent
14c43aae
Exists in
master
and in
1 other branch
Nouveau filtre dans la liste des matériels (index) => par "projet"
Mais aussi : Enorme refactorisation de tous les filtres (nb lignes, age, domaine, projet) de la page index (liste des matériels) => une fonction unique v3.7.9.100
Showing
4 changed files
with
244 additions
and
51 deletions
Show diff stats
CHANGES.txt
@@ -13,11 +13,13 @@ CHANGEMENTS | @@ -13,11 +13,13 @@ CHANGEMENTS | ||
13 | 13 | ||
14 | 14 | ||
15 | ------- | 15 | ------- |
16 | -10/09/2020 NEWS#3 : | 16 | +11/09/2020 NEWS#3 : |
17 | 17 | ||
18 | - Nouvelle entité "Projet", à laquelle un matériel peut (ou pas) être associé | 18 | - Nouvelle entité "Projet", à laquelle un matériel peut (ou pas) être associé |
19 | 19 | ||
20 | -- Nouveau format étiquette 19mm avec QrCode pour la nouvelle étiqueteuse (Dymo MobileLabeler) | 20 | +- Nouveau filtre de la liste des matériels (index) => par "Projet" |
21 | + | ||
22 | +- Nouveau format étiquette 19mm "avec le QrCode" pour la nouvelle étiqueteuse (Dymo MobileLabeler) | ||
21 | 23 | ||
22 | 24 | ||
23 | ------- | 25 | ------- |
@@ -85,6 +87,11 @@ Outre ces changements, voici d'autres changements importants : | @@ -85,6 +87,11 @@ Outre ces changements, voici d'autres changements importants : | ||
85 | ======= CHANGES ======= | 87 | ======= CHANGES ======= |
86 | 88 | ||
87 | ------- | 89 | ------- |
90 | +11/09/2020 v3.7.9.100 (EP) | ||
91 | + - (e) Nouveau filtre de la liste des matériels (index) => par "projet" | ||
92 | + - (i) Enorme refactorisation de tous les filtres (nb lignes, age, domaine, projet) de la page index (liste des matériels) | ||
93 | + | ||
94 | +------- | ||
88 | 10-11/09/2020 v3.7.9.97-99 (EP) | 95 | 10-11/09/2020 v3.7.9.97-99 (EP) |
89 | - (e) Ajout de l'entité (table) "Projet", à laquelle un matériel peut (ou pas) être associé | 96 | - (e) Ajout de l'entité (table) "Projet", à laquelle un matériel peut (ou pas) être associé |
90 | - (b) Enorme bugfix sur le numéro d'inventaire qui se régénérait à chaque modif du matériel !!! | 97 | - (b) Enorme bugfix sur le numéro d'inventaire qui se régénérait à chaque modif du matériel !!! |
README.md
@@ -43,7 +43,7 @@ Logiciel testé et validé sur les configurations suivantes : | @@ -43,7 +43,7 @@ Logiciel testé et validé sur les configurations suivantes : | ||
43 | -------------------------------------------------------------------------------------------- | 43 | -------------------------------------------------------------------------------------------- |
44 | 44 | ||
45 | Date: 11/09/2020 | 45 | Date: 11/09/2020 |
46 | -Version: 3.7.9.99 | 46 | +Version: 3.7.9.100 |
47 | 47 | ||
48 | 48 | ||
49 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | 49 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) |
src/Controller/MaterielsController.php
@@ -913,22 +913,28 @@ class MaterielsController extends AppController { | @@ -913,22 +913,28 @@ class MaterielsController extends AppController { | ||
913 | } | 913 | } |
914 | */ | 914 | */ |
915 | 915 | ||
916 | - | ||
917 | // - FILTRE Domaine ? | 916 | // - FILTRE Domaine ? |
918 | - $domain_id = $this->request->getQuery('domain'); | 917 | + $domaine_id = $this->request->getQuery('domaine'); |
919 | // Par défaut, TOUS les domaines (id=0) | 918 | // Par défaut, TOUS les domaines (id=0) |
920 | - if (is_null($domain_id)) $domain_id = 0; | 919 | + if (is_null($domaine_id)) $domaine_id = 0; |
921 | // Si $domain_id==0 on ne fait rien (car on prend TOUS les domaines) | 920 | // Si $domain_id==0 on ne fait rien (car on prend TOUS les domaines) |
922 | - if ($domain_id > 0) | 921 | + if ($domaine_id > 0) |
923 | // OK | 922 | // OK |
924 | - $conditions['Materiels.sur_categorie_id'] = $domain_id; | 923 | + $conditions['Materiels.sur_categorie_id'] = $domaine_id; |
925 | // KO => Exception PDO ! | 924 | // KO => Exception PDO ! |
926 | //$conditions['sur_categorie_id'] = $domain_id; | 925 | //$conditions['sur_categorie_id'] = $domain_id; |
927 | //debug($conditions); | 926 | //debug($conditions); |
928 | - | ||
929 | - | 927 | + |
928 | + // - FILTRE Projet ? | ||
929 | + $projet_id = $this->request->getQuery('projet'); | ||
930 | + // Par défaut, TOUS les domaines (id=0) | ||
931 | + if (is_null($projet_id)) $projet_id = 0; | ||
932 | + // Si $domain_id==0 on ne fait rien (car on prend TOUS les domaines) | ||
933 | + if ($projet_id > 0) $conditions['Materiels.projet_id'] = $projet_id; | ||
934 | + | ||
930 | // - FILTRE Nb lignes par page ? | 935 | // - FILTRE Nb lignes par page ? |
931 | - $limit = $this->request->getQuery('aff'); | 936 | + //$limit = $this->request->getQuery('aff'); |
937 | + $limit = $this->request->getQuery('nblines'); | ||
932 | // Par défaut, nb lignes demandées dans config | 938 | // Par défaut, nb lignes demandées dans config |
933 | if ($limit===null) $limit = $config['aff_par_defaut']; | 939 | if ($limit===null) $limit = $config['aff_par_defaut']; |
934 | 940 | ||
@@ -1093,15 +1099,63 @@ class MaterielsController extends AppController { | @@ -1093,15 +1099,63 @@ class MaterielsController extends AppController { | ||
1093 | 1099 | ||
1094 | $this->set(compact('materiels')); | 1100 | $this->set(compact('materiels')); |
1095 | 1101 | ||
1102 | + // Liste des DOMAINES | ||
1096 | //$domain_options = $this->Materiels->SurCategories->find()->toArray(); | 1103 | //$domain_options = $this->Materiels->SurCategories->find()->toArray(); |
1097 | - $domain_options = $this->Materiels->SurCategories->find('list', [ | 1104 | + $domaine_options = $this->Materiels->SurCategories->find('list', [ |
1098 | 'keyField' => 'id', | 1105 | 'keyField' => 'id', |
1099 | 'valueField' => 'nom', | 1106 | 'valueField' => 'nom', |
1100 | ])->toArray(); | 1107 | ])->toArray(); |
1101 | // Ajoute l'élément 0 => 'TOUS' en tête de tableau | 1108 | // Ajoute l'élément 0 => 'TOUS' en tête de tableau |
1102 | //$domain_options[0] = 'TOUS'; | 1109 | //$domain_options[0] = 'TOUS'; |
1103 | - array_unshift($domain_options, "Tous"); | ||
1104 | - $this->set(compact('domain_options', 'searchfor')); | 1110 | + //debug($domain_options); |
1111 | + array_unshift($domaine_options, "Tous"); | ||
1112 | + //debug($domain_options); | ||
1113 | + | ||
1114 | + // Liste des PROJETS | ||
1115 | + $projet_options = $this->Materiels->Projets->find('list', [ | ||
1116 | + 'keyField' => 'id', | ||
1117 | + 'valueField' => 'nom', | ||
1118 | + // implicite, pourquoi ??? | ||
1119 | + //'order' => 'Projets.nom' | ||
1120 | + ])->toArray(); | ||
1121 | + //debug($projet_options); | ||
1122 | + /* Ajoute l'élément 0 => 'TOUS' en tête de tableau | ||
1123 | + * SANS changer les clés !!! | ||
1124 | + */ | ||
1125 | + // 1) on ajoute un élément vide à la clé "0", | ||
1126 | + // et on trie le tableau sur les values (nom du projet) (en conservant les clés) | ||
1127 | + // => l'élément vide se retrouve donc en tête | ||
1128 | + $projet_options[0] = ''; | ||
1129 | + asort($projet_options); | ||
1130 | + // 2) on remplace l'élément vide (en tête) par 'Tous', qui est donc toujours en tête ! | ||
1131 | + $projet_options[0] = 'Tous'; | ||
1132 | + //debug($projet_options); | ||
1133 | + | ||
1134 | + // Liste des AGES (intervalles d'années) | ||
1135 | + $age_options = [ | ||
1136 | + '0' => 'Tous', | ||
1137 | + '5' => 'Récents (5 ans max)', | ||
1138 | + '10' => '5-10 ans', | ||
1139 | + '15' => '10-15 ans', | ||
1140 | + '20' => '15-20 ans', | ||
1141 | + //'20plus' => '+ 20 ans', | ||
1142 | + '21' => '+ 20 ans', | ||
1143 | + //'unknown' => 'inconnu', | ||
1144 | + '-1' => 'inconnu', | ||
1145 | + ]; | ||
1146 | + | ||
1147 | + // Liste des NBLINES (Nb de matériels affichés par page) | ||
1148 | + $nblines_options = [ | ||
1149 | + '20' => 20, | ||
1150 | + '30' => 30, | ||
1151 | + '50' => 50, | ||
1152 | + '100' => 100, | ||
1153 | + '150' => 150, | ||
1154 | + '200' => 200 | ||
1155 | + ]; | ||
1156 | + | ||
1157 | + | ||
1158 | + $this->set(compact('age_options', 'nblines_options', 'domaine_options', 'projet_options', 'searchfor')); | ||
1105 | 1159 | ||
1106 | // Pas bien..., mais pratique : | 1160 | // Pas bien..., mais pratique : |
1107 | // on passe le controleur de materiels à la vue index pour qu'elle | 1161 | // on passe le controleur de materiels à la vue index pour qu'elle |
src/Template/Materiels/index.ctp
@@ -8,15 +8,23 @@ use App\Controller\MaterielsController; | @@ -8,15 +8,23 @@ use App\Controller\MaterielsController; | ||
8 | // (EP 21/5/19) | 8 | // (EP 21/5/19) |
9 | // --- Elements set by Controller for this view --- | 9 | // --- Elements set by Controller for this view --- |
10 | 10 | ||
11 | -/*TODO: $materiels doit etre enrichi avec des nouveaux attributs tels que (pour chaque materiel de la liste) : | 11 | +/* |
12 | + TODO: $materiels doit etre enrichi avec des nouveaux attributs tels que (pour chaque materiel de la liste) : | ||
12 | - CAN_EDIT | 13 | - CAN_EDIT |
13 | - CAN_DELETE | 14 | - CAN_DELETE |
14 | - CAN_VALIDATE | 15 | - CAN_VALIDATE |
15 | - CAN_TBA | 16 | - CAN_TBA |
16 | - CAN_ARCHIVE | 17 | - CAN_ARCHIVE |
17 | */ | 18 | */ |
18 | -$domain_options = $domain_options; | 19 | + |
20 | +// Options des filtres | ||
21 | +$nblines_options = $nblines_options; | ||
22 | +$age_options = $age_options; | ||
23 | +$domaine_options = $domaine_options; | ||
24 | +$projet_options = $projet_options; | ||
25 | + | ||
19 | //debug($domain_options); | 26 | //debug($domain_options); |
27 | +//debug($projet_options); | ||
20 | 28 | ||
21 | $nbMateriels = $nbMateriels; | 29 | $nbMateriels = $nbMateriels; |
22 | $controller=$controller; | 30 | $controller=$controller; |
@@ -119,7 +127,8 @@ $displaySearchField = function($params, $searchfor, $html, $form) { | @@ -119,7 +127,8 @@ $displaySearchField = function($params, $searchfor, $html, $form) { | ||
119 | ]); | 127 | ]); |
120 | // (EP 202007) Ajouter un champ caché pour chaque paramètre passé dans l'url | 128 | // (EP 202007) Ajouter un champ caché pour chaque paramètre passé dans l'url |
121 | // afin de ne pas les perdre... | 129 | // afin de ne pas les perdre... |
122 | - $parameters = ['aff', 'age', 'domain', 'status']; | 130 | + //$parameters = ['aff', 'age', 'domaine', 'status', 'projet']; |
131 | + $parameters = ['nblines', 'age', 'domaine', 'status', 'projet']; | ||
123 | foreach ($parameters as $param) | 132 | foreach ($parameters as $param) |
124 | if (isset($params[$param])) | 133 | if (isset($params[$param])) |
125 | echo $this->Form->hidden($param, [ | 134 | echo $this->Form->hidden($param, [ |
@@ -295,28 +304,62 @@ $displayStatusButtons = function($SELECTED_STATUS, $params, $nbMateriels, $html) | @@ -295,28 +304,62 @@ $displayStatusButtons = function($SELECTED_STATUS, $params, $nbMateriels, $html) | ||
295 | 304 | ||
296 | }; // displayStatusButtons() | 305 | }; // displayStatusButtons() |
297 | 306 | ||
298 | -$displaySelectors = function($form, $request, $displayNbLinesSelector, $displayAgeSelector, $displayDomaineSelector, $domain_options) { | 307 | + |
308 | +//$displaySelectors = function($form, $request, | ||
309 | +$displayFilters = function($form, $request, | ||
310 | + $df, | ||
311 | + /* | ||
312 | + $displayNbLinesSelector, | ||
313 | + $displayAgeSelector, | ||
314 | + */ | ||
315 | + //$f1_func, | ||
316 | + //$f1_func, | ||
317 | + $f1_name, $f1_options, | ||
318 | + //$f2_func, $f2_options, | ||
319 | + $f2_name, $f2_options, | ||
320 | + //$displayDomaineSelector, $domain_options, | ||
321 | + //$displayProjetSelector, $projet_options | ||
322 | + $f3_name, $f3_options, | ||
323 | + $f4_name, $f4_options | ||
324 | +) { | ||
299 | //echo '<div>'; | 325 | //echo '<div>'; |
300 | echo '<div class="col-lg-2 col-md-3 col-sm-4">'; | 326 | echo '<div class="col-lg-2 col-md-3 col-sm-4">'; |
301 | echo '<table><tr>'; | 327 | echo '<table><tr>'; |
302 | 328 | ||
329 | + // Filtre 1 | ||
303 | echo '<td>'; | 330 | echo '<td>'; |
304 | - $displayNbLinesSelector($form, $request); | 331 | + //$displayNbLinesSelector($form, $request); |
332 | + //$f1_func($form, $request); | ||
333 | + $df($f1_name, $form, $request, $f1_options); | ||
305 | echo '</td>'; | 334 | echo '</td>'; |
306 | 335 | ||
336 | + // Filtre 2 | ||
307 | echo '<td>'; | 337 | echo '<td>'; |
308 | - $displayAgeSelector($form, $request); | 338 | + //$displayAgeSelector($form, $request); |
339 | + //$f2_func($form, $request, $f2_options); | ||
340 | + $df($f2_name, $form, $request, $f2_options); | ||
309 | echo '</td>'; | 341 | echo '</td>'; |
310 | 342 | ||
343 | + // Filtre 3 | ||
311 | echo '<td>'; | 344 | echo '<td>'; |
312 | - $displayDomaineSelector($form, $request, $domain_options); | 345 | + //$displayDomaineSelector($form, $request, $domain_options); |
346 | + //$df('domain', $form, $request, $domain_options); | ||
347 | + $df($f3_name, $form, $request, $f3_options); | ||
348 | + echo '</td>'; | ||
349 | + | ||
350 | + // Filtre 4 | ||
351 | + echo '<td>'; | ||
352 | + //$displayProjetSelector('projet', $form, $request, $projet_options); | ||
353 | + //$df('projet', $form, $request, $projet_options); | ||
354 | + $df($f4_name, $form, $request, $f4_options); | ||
313 | echo '</td>'; | 355 | echo '</td>'; |
314 | 356 | ||
315 | echo '</tr></table>'; | 357 | echo '</tr></table>'; |
316 | echo '</div>'; | 358 | echo '</div>'; |
317 | }; | 359 | }; |
318 | 360 | ||
319 | -$displayNbLinesSelector = function($form, $request) { | 361 | +/* |
362 | +$displayNbLinesSelector = function($form, $request, $options) { | ||
320 | //echo '<div class="col-lg-2 col-md-3 col-sm-4">'; | 363 | //echo '<div class="col-lg-2 col-md-3 col-sm-4">'; |
321 | //echo $this->Form->create('materiels', [ | 364 | //echo $this->Form->create('materiels', [ |
322 | // echo $this->Form->create('materiels', ['url' => '/materiels/execActions?page=index']); | 365 | // echo $this->Form->create('materiels', ['url' => '/materiels/execActions?page=index']); |
@@ -324,51 +367,101 @@ $displayNbLinesSelector = function($form, $request) { | @@ -324,51 +367,101 @@ $displayNbLinesSelector = function($form, $request) { | ||
324 | echo $form->control('aff_par_defaut', [ | 367 | echo $form->control('aff_par_defaut', [ |
325 | 'label' => 'Nombre lignes', | 368 | 'label' => 'Nombre lignes', |
326 | 'onchange' => "updateUrlWithSelectedValue('aff-par-defaut', 'aff')", | 369 | 'onchange' => "updateUrlWithSelectedValue('aff-par-defaut', 'aff')", |
327 | - 'options' => [ | ||
328 | - '20' => 20, | ||
329 | - '30' => 30, | ||
330 | - '50' => 50, | ||
331 | - '100' => 100, | ||
332 | - '150' => 150, | ||
333 | - '200' => 200 | ||
334 | - ] | 370 | + 'options' => $options, |
335 | ]); | 371 | ]); |
336 | //echo '</div>'; | 372 | //echo '</div>'; |
337 | }; // displayNbLinesSelector() | 373 | }; // displayNbLinesSelector() |
338 | 374 | ||
339 | -$displayAgeSelector = function($form, $request) { | 375 | +$age_options = [ |
376 | + '0' => 'Tous', | ||
377 | + '5' => 'Récents (5 ans max)', | ||
378 | + '10' => '5-10 ans', | ||
379 | + '15' => '10-15 ans', | ||
380 | + '20' => '15-20 ans', | ||
381 | + //'20plus' => '+ 20 ans', | ||
382 | + '21' => '+ 20 ans', | ||
383 | + //'unknown' => 'inconnu', | ||
384 | + '-1' => 'inconnu', | ||
385 | +]; | ||
386 | + | ||
387 | +$displayAgeSelector = function($form, $request, $options) { | ||
340 | //echo '<div class="col-lg-2 col-md-3 col-sm-4">'; | 388 | //echo '<div class="col-lg-2 col-md-3 col-sm-4">'; |
341 | echo $form->control('age_selector', [ | 389 | echo $form->control('age_selector', [ |
342 | 'label' => 'Age', | 390 | 'label' => 'Age', |
343 | 'onchange' => "updateUrlWithSelectedValue('age-selector', 'age')", | 391 | 'onchange' => "updateUrlWithSelectedValue('age-selector', 'age')", |
344 | - 'options' => [ | ||
345 | - '0' => 'Tous', | ||
346 | - '5' => 'Récents (5 ans max)', | ||
347 | - '10' => '5-10 ans', | ||
348 | - '15' => '10-15 ans', | ||
349 | - '20' => '15-20 ans', | ||
350 | - //'20plus' => '+ 20 ans', | ||
351 | - '21' => '+ 20 ans', | ||
352 | - //'unknown' => 'inconnu', | ||
353 | - '-1' => 'inconnu', | ||
354 | - ], | 392 | + 'options' => $options, |
393 | + 'default' => '0', | ||
355 | // Inutile car géré via javascript | 394 | // Inutile car géré via javascript |
356 | //'default' => '5', | 395 | //'default' => '5', |
357 | ]); | 396 | ]); |
358 | //echo '</div>'; | 397 | //echo '</div>'; |
359 | -}; // displayNbLinesSelector() | 398 | +}; // $displayAgeSelector() |
360 | 399 | ||
361 | -$displayDomaineSelector = function($form, $request, $domain_options) { | 400 | +$displayDomaineSelector = function($form, $request, $options) { |
362 | //echo '<div class="col-lg-2 col-md-3 col-sm-4">'; | 401 | //echo '<div class="col-lg-2 col-md-3 col-sm-4">'; |
363 | echo $form->control('domain_selector', [ | 402 | echo $form->control('domain_selector', [ |
364 | 'label' => 'Domaine', | 403 | 'label' => 'Domaine', |
365 | 'onchange' => "updateUrlWithSelectedValue('domain-selector', 'domain')", | 404 | 'onchange' => "updateUrlWithSelectedValue('domain-selector', 'domain')", |
366 | - 'options' => $domain_options, | 405 | + 'options' => $options, |
367 | // Inutile car géré via javascript | 406 | // Inutile car géré via javascript |
368 | 'default' => 0, | 407 | 'default' => 0, |
369 | ]); | 408 | ]); |
370 | //echo '</div>'; | 409 | //echo '</div>'; |
371 | -}; // displayNbLinesSelector() | 410 | +}; |
411 | + | ||
412 | +$displayProjetSelector = function($form, $request, $options) { | ||
413 | + //echo '<div class="col-lg-2 col-md-3 col-sm-4">'; | ||
414 | + echo $form->control('projet_selector', [ | ||
415 | + 'label' => 'Projet', | ||
416 | + 'onchange' => "updateUrlWithSelectedValue('projet-selector', 'projet')", | ||
417 | + 'options' => $options, | ||
418 | + // Inutile car géré via javascript | ||
419 | + 'default' => 0, | ||
420 | + ]); | ||
421 | + //echo '</div>'; | ||
422 | +}; | ||
423 | + | ||
424 | +$displayProjetSelector = function($filter_name, // 'projet' | ||
425 | + $form, $request, $options | ||
426 | + ) { | ||
427 | + //echo '<div class="col-lg-2 col-md-3 col-sm-4">'; | ||
428 | + $html_filter_name = $filter_name.'-selector'; | ||
429 | + //echo $form->control('projet_selector', [ | ||
430 | + echo $form->control($filter_name.'_selector', [ // 'projet_selector' | ||
431 | + //'label' => 'Projet', | ||
432 | + 'label' => ucfirst($filter_name), // 'Projet' | ||
433 | + //'onchange' => "updateUrlWithSelectedValue('projet-selector', 'projet')", | ||
434 | + //'onchange' => "updateUrlWithSelectedValue($filter_name.'-selector', $filter_name)", // ('projet-selector', 'projet') | ||
435 | + 'onchange' => "updateUrlWithSelectedValue('$html_filter_name', '$filter_name')", // ('projet-selector', 'projet') | ||
436 | + 'options' => $options, | ||
437 | + // Inutile car géré via javascript | ||
438 | + 'default' => 0, | ||
439 | + ]); | ||
440 | + //echo '</div>'; | ||
441 | +}; | ||
442 | +*/ | ||
443 | + | ||
444 | +$displayFilter = function($filter_name, // 'projet' | ||
445 | + $form, $request, $options | ||
446 | + ) { | ||
447 | + //echo '<div class="col-lg-2 col-md-3 col-sm-4">'; | ||
448 | + $html_filter_name = $filter_name.'-selector'; | ||
449 | + //echo $form->control('projet_selector', [ | ||
450 | + echo $form->control($filter_name.'_selector', [ // 'projet_selector' | ||
451 | + //'label' => 'Projet', | ||
452 | + 'label' => ucfirst($filter_name), // 'Projet' | ||
453 | + //'onchange' => "updateUrlWithSelectedValue('projet-selector', 'projet')", | ||
454 | + //'onchange' => "updateUrlWithSelectedValue($filter_name.'-selector', $filter_name)", // ('projet-selector', 'projet') | ||
455 | + 'onchange' => "updateUrlWithSelectedValue('$html_filter_name', '$filter_name')", // ('projet-selector', 'projet') | ||
456 | + 'options' => $options, | ||
457 | + // Inutile car géré via javascript | ||
458 | + 'default' => 0, | ||
459 | + ]); | ||
460 | + //echo '</div>'; | ||
461 | +}; | ||
462 | + | ||
463 | + | ||
464 | + | ||
372 | 465 | ||
373 | 466 | ||
374 | $displayActionButtonsForSelectedOrAllElements = function($form, $SELECTED_STATUS, $USER_IS_RESPONSABLE, $USER_IS_ADMIN_OR_MORE, $USER_IS_SUPERADMIN) { | 467 | $displayActionButtonsForSelectedOrAllElements = function($form, $SELECTED_STATUS, $USER_IS_RESPONSABLE, $USER_IS_ADMIN_OR_MORE, $USER_IS_SUPERADMIN) { |
@@ -639,7 +732,19 @@ if ($USER_IS_ADMIN_OR_MORE) $displayStatusButtons($SELECTED_STATUS, $params, $nb | @@ -639,7 +732,19 @@ if ($USER_IS_ADMIN_OR_MORE) $displayStatusButtons($SELECTED_STATUS, $params, $nb | ||
639 | 732 | ||
640 | 733 | ||
641 | // <!-- SELECTEURS : NOMBRE LIGNES PAR PAGE et AGE --> | 734 | // <!-- SELECTEURS : NOMBRE LIGNES PAR PAGE et AGE --> |
642 | -$displaySelectors($this->Form, $this->request, $displayNbLinesSelector, $displayAgeSelector, $displayDomaineSelector, $domain_options); | 735 | +//$displaySelectors( |
736 | +$displayFilters( | ||
737 | + $this->Form, $this->request, | ||
738 | + $displayFilter, | ||
739 | + //$displayNbLinesSelector, | ||
740 | + 'nblines', $nblines_options, | ||
741 | + //$displayAgeSelector, $age_options, | ||
742 | + 'age', $age_options, | ||
743 | + //$displayDomaineSelector, $domain_options, | ||
744 | + //$displayProjetSelector, $projet_options | ||
745 | + 'domaine', $domaine_options, | ||
746 | + 'projet', $projet_options | ||
747 | +); | ||
643 | //$displayNbLinesSelector($this->Form, $this->request); | 748 | //$displayNbLinesSelector($this->Form, $this->request); |
644 | 749 | ||
645 | 750 | ||
@@ -989,7 +1094,12 @@ $(document).ready(function(){ | @@ -989,7 +1094,12 @@ $(document).ready(function(){ | ||
989 | selectNbLines(); | 1094 | selectNbLines(); |
990 | // Actualiser le domaine sélectionné si passé en paramètre de l'url | 1095 | // Actualiser le domaine sélectionné si passé en paramètre de l'url |
991 | //$(document).ready(selectDomain); | 1096 | //$(document).ready(selectDomain); |
992 | - selectDomain(); | 1097 | + //selectDomain(); |
1098 | + selectFilterItem('domaine'); | ||
1099 | + //selectProjet('projet'); | ||
1100 | + selectFilterItem('projet'); | ||
1101 | + | ||
1102 | + | ||
993 | // Remplir le champ recherche général avec le texte de la dernière recherche effectuée | 1103 | // Remplir le champ recherche général avec le texte de la dernière recherche effectuée |
994 | //$(document).ready(setSearchField); | 1104 | //$(document).ready(setSearchField); |
995 | //setSearchField(); | 1105 | //setSearchField(); |
@@ -1006,6 +1116,7 @@ function setSearchField() { | @@ -1006,6 +1116,7 @@ function setSearchField() { | ||
1006 | } | 1116 | } |
1007 | */ | 1117 | */ |
1008 | 1118 | ||
1119 | +/* | ||
1009 | function selectDomain() { | 1120 | function selectDomain() { |
1010 | var domain_id = parseInt($_GET('domain')); | 1121 | var domain_id = parseInt($_GET('domain')); |
1011 | //console.log(domain_id); | 1122 | //console.log(domain_id); |
@@ -1016,15 +1127,36 @@ function selectDomain() { | @@ -1016,15 +1127,36 @@ function selectDomain() { | ||
1016 | //$("#domain-selector").val(domain_id); | 1127 | //$("#domain-selector").val(domain_id); |
1017 | //document.getElementById('domain-selector').value = domain; | 1128 | //document.getElementById('domain-selector').value = domain; |
1018 | } | 1129 | } |
1130 | +*/ | ||
1131 | + | ||
1132 | +//function selectProjet(filter_name) { | ||
1133 | +function selectFilterItem(filter_name) { | ||
1134 | + //var id = parseInt($_GET('projet')); | ||
1135 | + var id = parseInt($_GET(filter_name)); | ||
1136 | + var filter_selector_name = filter_name+'-selector'; | ||
1137 | + //console.log(domain_id); | ||
1138 | + // NotANumber | ||
1139 | + if (!isNaN(id)) | ||
1140 | + // PAS BON : sélectionne par l'INDEX | ||
1141 | + //$("#projet-selector")[0].selectedIndex = id; | ||
1142 | + // OK : sélectionne par la CLÉ | ||
1143 | + $('#'+filter_selector_name).val(id); | ||
1144 | + //$("#projet-selector").val(id); | ||
1145 | + //document.getElementById('domain-selector').selectedIndex = domain_id; | ||
1146 | + //$("#domain-selector").val(domain_id); | ||
1147 | + //document.getElementById('domain-selector').value = domain; | ||
1148 | +} | ||
1019 | 1149 | ||
1020 | //$(document).ready(function () { | 1150 | //$(document).ready(function () { |
1021 | function selectNbLines() { | 1151 | function selectNbLines() { |
1022 | - var nblines = parseInt($_GET('aff')); | 1152 | + //var nblines = parseInt($_GET('aff')); |
1153 | + var nblines = parseInt($_GET('nblines')); | ||
1023 | //document.getElementById('aff-par-defaut').value = affichage; | 1154 | //document.getElementById('aff-par-defaut').value = affichage; |
1024 | if ( [20,30,50,100,200].includes(nblines) ) | 1155 | if ( [20,30,50,100,200].includes(nblines) ) |
1025 | - $("#aff-par-defaut").val(nblines); | 1156 | + //$("#aff-par-defaut").val(nblines); |
1157 | + $("#nblines-selector").val(nblines); | ||
1026 | else | 1158 | else |
1027 | - $("#aff-par-defaut").val(<?=$configuration->aff_par_defaut?>); | 1159 | + $("#nblines-selector").val(<?=$configuration->aff_par_defaut?>); |
1028 | /* | 1160 | /* |
1029 | switch(affichage) { | 1161 | switch(affichage) { |
1030 | case 20 : | 1162 | case 20 : |