Commit e7197bf92601a26e6771c8f58e27db9b3ec0d18f

Authored by Etienne Pallier
1 parent 2bee0159
Exists in master and in 1 other branch dev

Ajout recherche organisme...

@@ -78,7 +78,7 @@ Outre ces changements, voici d'autres changements importants : @@ -78,7 +78,7 @@ Outre ces changements, voici d'autres changements importants :
78 ======= CHANGES ======= 78 ======= CHANGES =======
79 79
80 ------- 80 -------
81 -31/07/2020 v3.7.9.84-86 (EP) 81 +31/07/2020 v3.7.9.84-87 (EP)
82 - (materiels/index) bugfix champ recherche sur liste materiels qui perdait le contexte des autres paramètres (nb page, age, ...) 82 - (materiels/index) bugfix champ recherche sur liste materiels qui perdait le contexte des autres paramètres (nb page, age, ...)
83 - (materiels/index) bugfix champ recherche sur liste materiels qui perdait le contexte du statut (CREATED, VALIDATED, ...) 83 - (materiels/index) bugfix champ recherche sur liste materiels qui perdait le contexte du statut (CREATED, VALIDATED, ...)
84 - (i) (materiels/index) Grosse refactorisation (et simplification) du code des boutons filtrage par statut et champ recherche 84 - (i) (materiels/index) Grosse refactorisation (et simplification) du code des boutons filtrage par statut et champ recherche
@@ -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: 31/07/2020 45 Date: 31/07/2020
46 -Version: 3.7.9.86 46 +Version: 3.7.9.87
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
@@ -768,8 +768,9 @@ class MaterielsController extends AppController { @@ -768,8 +768,9 @@ class MaterielsController extends AppController {
768 $conditions = [ 768 $conditions = [
769 'Materiels.status =' => $SELECTED_STATUS 769 'Materiels.status =' => $SELECTED_STATUS
770 ]; 770 ];
771 - $this->set('SELECTED_STATUS', $SELECTED_STATUS);  
772 } 771 }
  772 + else $SELECTED_STATUS = null;
  773 + $this->set(compact('SELECTED_STATUS'));
773 774
774 // /materiels/index?GT=2 775 // /materiels/index?GT=2
775 // /materiels/index?GM=1 776 // /materiels/index?GM=1
@@ -960,6 +961,9 @@ class MaterielsController extends AppController { @@ -960,6 +961,9 @@ class MaterielsController extends AppController {
960 $searchfor = $this->request->getQuery('searchfor'); 961 $searchfor = $this->request->getQuery('searchfor');
961 // Par défaut, TOUS les domaines (id=0) 962 // Par défaut, TOUS les domaines (id=0)
962 if (!is_null($searchfor) && $searchfor!='') { 963 if (!is_null($searchfor) && $searchfor!='') {
  964 + // Enlever les espaces en trop
  965 + $searchfor=trim($searchfor);
  966 + //debug($searchfor);
963 /* 967 /*
964 $conditions['OR'] = [ 968 $conditions['OR'] = [
965 'Materiels.designation LIKE' => "%$searchfor%", 969 'Materiels.designation LIKE' => "%$searchfor%",
@@ -970,12 +974,12 @@ class MaterielsController extends AppController { @@ -970,12 +974,12 @@ class MaterielsController extends AppController {
970 //array_push($conditions, $this->getFieldsConditionsForGeneralSearchOfWords($searchfor) ); 974 //array_push($conditions, $this->getFieldsConditionsForGeneralSearchOfWords($searchfor) );
971 //$conditions = ['AND' => $conditions]; 975 //$conditions = ['AND' => $conditions];
972 /* 976 /*
973 -[  
974 - 'AND' => [  
975 - 'year(date_acquisition) <=' => (int) 2020,  
976 - 'year(date_acquisition) >' => (int) 2015  
977 - ]  
978 -] 977 + [
  978 + 'AND' => [
  979 + 'year(date_acquisition) <=' => (int) 2020,
  980 + 'year(date_acquisition) >' => (int) 2015
  981 + ]
  982 + ]
979 */ 983 */
980 //$conditions = []; 984 //$conditions = [];
981 //$conditions = [$conditions]; 985 //$conditions = [$conditions];
@@ -1003,7 +1007,7 @@ class MaterielsController extends AppController { @@ -1003,7 +1007,7 @@ class MaterielsController extends AppController {
1003 ] 1007 ]
1004 ]; 1008 ];
1005 */ 1009 */
1006 - $contain = ['Fournisseurs', 'Categories']; 1010 + $contain = ['Fournisseurs', 'Categories', 'Organismes'];
1007 //debug($conditions); 1011 //debug($conditions);
1008 } 1012 }
1009 1013
@@ -2399,6 +2403,7 @@ class MaterielsController extends AppController { @@ -2399,6 +2403,7 @@ class MaterielsController extends AppController {
2399 // 2) Materiels table foreign keys 2403 // 2) Materiels table foreign keys
2400 'Fournisseurs.nom LIKE' => $search_str, 2404 'Fournisseurs.nom LIKE' => $search_str,
2401 'Categories.nom LIKE' => $search_str, 2405 'Categories.nom LIKE' => $search_str,
  2406 + 'Organismes.nom LIKE' => $search_str,
2402 2407
2403 ]; 2408 ];
2404 } 2409 }
src/Template/Materiels/index.ctp
@@ -117,6 +117,8 @@ $displaySearchField = function($params, $searchfor, $html, $form) { @@ -117,6 +117,8 @@ $displaySearchField = function($params, $searchfor, $html, $form) {
117 'placeholder' => "Entrez un ou plusieurs mots séparés par un espace", 117 'placeholder' => "Entrez un ou plusieurs mots séparés par un espace",
118 'default' => $searchfor, 118 'default' => $searchfor,
119 ]); 119 ]);
  120 + // (EP 202007) Ajouter un champ caché pour chaque paramètre passé dans l'url
  121 + // afin de ne pas les perdre...
120 $parameters = ['age', 'domain', 'status']; 122 $parameters = ['age', 'domain', 'status'];
121 foreach ($parameters as $param) 123 foreach ($parameters as $param)
122 if (isset($params[$param])) 124 if (isset($params[$param]))
@@ -415,7 +417,7 @@ $displayActionButtonsForSelectedOrAllElements = function($form, $SELECTED_STATUS @@ -415,7 +417,7 @@ $displayActionButtonsForSelectedOrAllElements = function($form, $SELECTED_STATUS
415 //]); 417 //]);
416 echo $form->button('Exporter la liste complete', ['class'=>'btn btn-outline-success', 'type'=>'submit', 'name' => 'exportAll', 'id' => 'exportAll', 'style' => 'margin: 0px;']); 418 echo $form->button('Exporter la liste complete', ['class'=>'btn btn-outline-success', 'type'=>'submit', 'name' => 'exportAll', 'id' => 'exportAll', 'style' => 'margin: 0px;']);
417 419
418 -}; 420 +}; // $displayActionButtonsForSelectedOrAllElements()
419 421
420 422
421 423