From 46defb4b3796787d73a78a57bd32d229671903db Mon Sep 17 00:00:00 2001 From: Etienne Pallier Date: Fri, 31 Jul 2020 08:31:43 +0200 Subject: [PATCH] (materiels/index) bugfix champ recherche (v3.7.9.84) --- CHANGES.txt | 7 +++++++ README.md | 4 ++-- src/Template/Materiels/index.ctp | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------ 3 files changed, 97 insertions(+), 32 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 73af7d5..9c1158b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -70,12 +70,19 @@ Outre ces changements, voici d'autres changements importants : - Une VM linux (Ubuntu) est désormais disponible pour faciliter le déploiement +======= TODO ======= + - (materiels/index) bugfix champ recherche sur liste materiels qui perdait le contexte du statut (CREATED, VALIDATED, ...) + - (materiels/add_edit) bugfix champ fournisseur qui perdait son contenu en cas d'erreur de validation sur un autre champ ======= CHANGES ======= ------- +31/07/2020 v3.7.9.84 (EP) + - (materiels/index) bugfix champ recherche sur liste materiels qui perdait le contexte des autres paramètres (nb page, age, ...) + +------- 30/07/2020 v3.7.9.78-82 (EP) - (i) Meilleure résilience (reprise après crash) du script UPDATE avec fichier ftpf (install/files_to_process.txt file) => permet de s'assurer que les script sql non exécutés (à cause crash ou stop script) le seront à l'itération suivante diff --git a/README.md b/README.md index dd56441..d160002 100644 --- a/README.md +++ b/README.md @@ -42,8 +42,8 @@ Logiciel testé et validé sur les configurations suivantes : -------------------------------------------------------------------------------------------- -Date: 30/07/2020 -Version: 3.7.9.83 +Date: 31/07/2020 +Version: 3.7.9.84 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) diff --git a/src/Template/Materiels/index.ctp b/src/Template/Materiels/index.ctp index 8120bd8..11a269d 100644 --- a/src/Template/Materiels/index.ctp +++ b/src/Template/Materiels/index.ctp @@ -75,7 +75,67 @@ $METRO=false; --> */ -$displayStatusButtons = function($SELECTED_STATUS, $nbMateriels, $html) { +$displaySearchField = function($params, $searchfor, $html, $form) { + /* +
+ echo $html->link('Chercher', [ + 'action' => 'index', + '?' => $params + ], [ + 'title' => 'Tous', + 'style' => 'margin-right: 5px', + 'escape' => false + ]); + echo "
"; + */ + //echo $this->Form->create('Materiel', ['url' => '/materiels/find']); + /* + echo $this->Form->create('Materiel', ['action' => 'index', '?'=>$params]); + echo ''; + echo $this->Form->button('Chercher', [ 'class'=>'btn btn-outline-success', 'type'=>'submit', 'name' => 'MaterielSAll', 'id' => 'MaterielSAll', 'style' => 'margin: 0px;' ]); + echo $this->Form->end(); + */ + // Bien mais insuffisant car les autres paramètres (page, age, domain, sont perdus) + echo $this->Form->create('Materiel', [ + // OK mais renvoie sur la vue materiesl/find/ alors qu'on veut rester sur la liste des materiels + //'url' => '/materiels/find' + //'url' => '/materiels/index?searchfor='.$this->request->getQuery('searchfor'), + 'type' => 'get', + //'valueSources' => 'query' + 'url' => [ + 'action' => "index", + //'?' => $params + ] + ]); + //echo ''; + //echo $this->Form->control('s_all_2', [ + echo $this->Form->control('searchfor', [ + 'id' => 'MaterielSAll', + 'class' => 'search-input', + 'label' => 'Chercher', + //'type' => 'text', + 'placeholder' => "Entrez un ou plusieurs mots séparés par un espace", + 'default' => $searchfor, + ]); + $param = 'age'; + echo $this->Form->hidden($param, [ + 'value' => isset($params[$param]) ? $params[$param] : null + ]); + $param = 'domain'; + echo $this->Form->hidden($param, [ + 'value' => isset($params[$param]) ? $params[$param] : null + ]); + /* + echo $this->Form->submit('Chercher', [ + 'name' => 'MaterielSAll', + 'id' => 'MaterielSAll', + 'style' => 'margin: 0px;' + ]); + */ + echo $this->Form->end(); +}; + +$displayStatusButtons = function($SELECTED_STATUS, $params, $nbMateriels, $html) { ?>
request->getParam('?'); // S'il y a des paramètres, supprimer le paramètre 'page' car inapproprié if ($params) unset($params['page']); + */ //echo $this->Html->link($b_all . ' Tous', [ echo $html->link($b_all . ' Tous', [ @@ -480,6 +546,18 @@ $displayActionButtonsForMateriel = function($materiel, $username, $USER_IS_RESPO }; // displayActionButtonsForMateriel + +/* + * On récupère les paramètres passés actuellement à l'URL (age, domain, searchfor...) + * afin de les rappeler quand on clique sur les boutons de filtrage + */ + //$args = explode('?',$_SERVER['REQUEST_URI']); + //$args = count($args)==2 ? '?'.$args[1] : null; + $params = $this->request->getParam('?'); + // S'il y a des paramètres, supprimer le paramètre 'page' car inapproprié + if ($params) unset($params['page']); + + ?> @@ -511,7 +589,7 @@ echo $this->Html->link(' Nouveau Matériel', [ 'escape' => false ]); echo '

';*/ -if ($USER_IS_ADMIN_OR_MORE) $displayStatusButtons($SELECTED_STATUS, $nbMateriels, $this->Html); +if ($USER_IS_ADMIN_OR_MORE) $displayStatusButtons($SELECTED_STATUS, $params, $nbMateriels, $this->Html); //
@@ -522,32 +600,12 @@ $displaySelectors($this->Form, $this->request, $displayNbLinesSelector, $display // Formulaire de RECHERCHE de materiels -// Search function -echo $this->Form->create('Materiel', [ - // OK mais renvoie sur la vue materiesl/find/ alors qu'on veut rester sur la liste des materiels - //'url' => '/materiels/find' - //'url' => '/materiels/index?searchfor='.$this->request->getQuery('searchfor'), - 'type' => 'get', - //'valueSources' => 'query' -]); - //echo ''; - //echo $this->Form->control('s_all_2', [ - echo $this->Form->control('searchfor', [ - 'id' => 'MaterielSAll', - 'class' => 'search-input', - 'label' => 'Chercher', - //'type' => 'text', - 'placeholder' => "Entrez un ou plusieurs mots séparés par un espace", - 'default' => $searchfor - ]); - /* - echo $this->Form->submit('Chercher', [ - 'name' => 'MaterielSAll', - 'id' => 'MaterielSAll', - 'style' => 'margin: 0px;' - ]); - */ -echo $this->Form->end(); +// Search field +echo "\n"; +echo "\n"; +$displaySearchField($params, $searchfor, $this->Html, $this->Form); +echo "\n"; +echo "\n"; // DEBUT FORMULAIRE -- libgit2 0.21.2