Commit b9d33c3612eae26159a67faaa6d9105d51ae2eb6
1 parent
5ce09108
Exists in
master
and in
1 other branch
Ajout "gestionnaire" dans recherche matériels et dans export CSV
- Ajout du champ "Gestionnaire" dans le formulaire de recherche de matériels - Ajout du champ "Gestionnaire" dans l'export CSV de la liste des matériels v4.103.15-3.7.9
Showing
4 changed files
with
58 additions
and
15 deletions
Show diff stats
CHANGES.txt
... | ... | @@ -31,9 +31,13 @@ Remaniement complet du système de notification : |
31 | 31 | => (TODO) peut-être plus tard, aux responsables (scientifique et chef projet) du projet auquel le matériel est associé |
32 | 32 | Bien sûr, l'auteur de l'action n'est pas notifié (il est déjà au courant...) |
33 | 33 | |
34 | +Gestionnaire de référence : | |
34 | 35 | La sélection d'un "gestionnaire de référence" est désormais obligatoire lors de la validation d'une fiche matériel. |
35 | 36 | Par défaut, si c'est un gestionnaire qui valide (et c'est normalement le cas...), c'est lui qui est mis comme "gestionnaire de référence" |
36 | -(sauf s'il y en avait déjà un déclaré avant) | |
37 | +(sauf s'il y en avait déjà un déclaré avant). | |
38 | +L'exportation de la liste des matériels inclut désormais le champ "Gestionnaire" | |
39 | +On peut aussi faire une recherche de matériels par gestionnaire. | |
40 | + | |
37 | 41 | |
38 | 42 | |
39 | 43 | ------- |
... | ... | @@ -114,7 +118,9 @@ Outre ces changements, voici d'autres changements importants : |
114 | 118 | ======= CHANGES ======= |
115 | 119 | |
116 | 120 | ------- |
117 | -28/09/2020 v4.103.14-3.7.9 (EP) | |
121 | +28/09/2020 v4.103.15-3.7.9 (EP) | |
122 | + - (i) Ajout du champ "Gestionnaire" dans le formulaire de recherche de matériels | |
123 | + - (i) Ajout du champ "Gestionnaire" dans l'export CSV de la liste des matériels | |
118 | 124 | - (e) Ajout d'une page web "/pages/Notifications" qui donne l'état actuel des notifications (quelles notifs pour quelles actions) |
119 | 125 | (sur le modèle de /pages/acls) |
120 | 126 | => Ajout d'explications générales sur la page des notifications et de liens vers la page de log | ... | ... |
README.md
... | ... | @@ -43,7 +43,7 @@ Logiciel testé et validé sur les configurations suivantes : |
43 | 43 | -------------------------------------------------------------------------------------------- |
44 | 44 | |
45 | 45 | Date: 28/09/2020 |
46 | -Version: 4.103.14-3.7.9 | |
46 | +Version: 4.103.15-3.7.9 | |
47 | 47 | |
48 | 48 | |
49 | 49 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -2887,6 +2887,7 @@ class MaterielsController extends AppController { |
2887 | 2887 | $this->getConditionForFieldNumber('sur_categorie_id'), |
2888 | 2888 | $this->getConditionForFieldNumber('categorie_id'), |
2889 | 2889 | $this->getConditionForFieldNumber('sous_categorie_id'), |
2890 | + $this->getConditionForFieldNumber('gestionnaire_id'), | |
2890 | 2891 | $this->getConditionForField('nom_responsable'), |
2891 | 2892 | $this->getConditionForField('numero_inventaire_organisme'), |
2892 | 2893 | $this->getConditionForField('numero_inventaire_old'), |
... | ... | @@ -2959,6 +2960,22 @@ class MaterielsController extends AppController { |
2959 | 2960 | 'lieu_detail !=' => 'null' |
2960 | 2961 | ) |
2961 | 2962 | ]); |
2963 | + // (EP 202009) TOUS les Gestionnaires | |
2964 | + $s_nom_gest = $this->Materiels->Users->find('list', [ | |
2965 | + //'keyField' => 'nom', | |
2966 | + 'keyField' => 'id', | |
2967 | + 'valueField' => 'nom', | |
2968 | + 'order' => 'nom', | |
2969 | + /* | |
2970 | + 'conditions' => array( | |
2971 | + 'nom !=' => 'SUPERADMIN FAKE_LDAP', | |
2972 | + ) | |
2973 | + */ | |
2974 | + ]) | |
2975 | + ->where([ | |
2976 | + 'nom !=' => 'SUPERADMIN FAKE_LDAP', | |
2977 | + 'role =' => 'Administration' | |
2978 | + ]); | |
2962 | 2979 | // (EP 202007) TOUS les utilisateurs (même ceux qui n'ont aucun matériel) |
2963 | 2980 | $s_nomresp = $this->Materiels->Users->find('list', [ |
2964 | 2981 | 'keyField' => 'nom', |
... | ... | @@ -2996,8 +3013,14 @@ class MaterielsController extends AppController { |
2996 | 3013 | $categories = $this->Materiels->Categories; |
2997 | 3014 | |
2998 | 3015 | // Pass all these LISTS to the view : |
2999 | - $this->set(compact('s_numero_laboratoire', 's_nomresp', 's_sur_categories', 's_categories', 's_sous_categories', 's_groupes_thematiques', 's_groupes_metiers', | |
3000 | - 's_organismes', 's_fournisseurs', 's_salles', 'categories')); | |
3016 | + $this->set(compact( | |
3017 | + 's_numero_laboratoire', | |
3018 | + 's_nom_gest', 's_nomresp', | |
3019 | + 's_sur_categories', 's_categories', 's_sous_categories', | |
3020 | + 'categories', | |
3021 | + 's_groupes_thematiques', 's_groupes_metiers', | |
3022 | + 's_organismes', 's_fournisseurs', 's_salles' | |
3023 | + )); | |
3001 | 3024 | |
3002 | 3025 | } // set_elements_lists_for_view_find() |
3003 | 3026 | |
... | ... | @@ -3321,7 +3344,10 @@ class MaterielsController extends AppController { |
3321 | 3344 | $this->myDebug($this->request->getData()); |
3322 | 3345 | |
3323 | 3346 | // Critères pour requete sql sur materiels |
3324 | - $contain = ['Fournisseurs']; | |
3347 | + $contain = [ | |
3348 | + 'Fournisseurs', | |
3349 | + 'Users', // Pour les gestionnaires (gestionnaire_id) | |
3350 | + ]; | |
3325 | 3351 | $order = ['numero_laboratoire' => 'DESC']; |
3326 | 3352 | |
3327 | 3353 | $CAS = 0; |
... | ... | @@ -3523,7 +3549,7 @@ class MaterielsController extends AppController { |
3523 | 3549 | // supprime les autres caractères |
3524 | 3550 | $header_row = [ |
3525 | 3551 | //"id", |
3526 | - "Designation", | |
3552 | + "Désignation", | |
3527 | 3553 | "Sur-categorie", |
3528 | 3554 | "Categorie", |
3529 | 3555 | "Sous-categorie", |
... | ... | @@ -3546,6 +3572,7 @@ class MaterielsController extends AppController { |
3546 | 3572 | "Numero inventaire organisme", |
3547 | 3573 | "Ancien Numero inventaire", |
3548 | 3574 | "Site stockage", |
3575 | + "Gestionnaire", | |
3549 | 3576 | "Nom responsable", |
3550 | 3577 | "Email responsable" |
3551 | 3578 | ]; |
... | ... | @@ -3560,8 +3587,9 @@ class MaterielsController extends AppController { |
3560 | 3587 | //utf8_encode($result->id), |
3561 | 3588 | $result->designation |
3562 | 3589 | ]; |
3563 | - | |
3590 | + | |
3564 | 3591 | array_push($row, getElementFromList($surCategories, $result, 'sur_categorie_id')); |
3592 | + | |
3565 | 3593 | /* |
3566 | 3594 | $fkName = 'sur_categorie_id'; |
3567 | 3595 | $listName = $surCategories; |
... | ... | @@ -3669,6 +3697,8 @@ class MaterielsController extends AppController { |
3669 | 3697 | } |
3670 | 3698 | */ |
3671 | 3699 | |
3700 | + array_push($row, $result->gestionnaire_id ? $result->user->nom:''); | |
3701 | + | |
3672 | 3702 | array_push($row, $result->nom_responsable); |
3673 | 3703 | array_push($row, $result->email_responsable); |
3674 | 3704 | ... | ... |
src/Template/Materiels/find.ctp
... | ... | @@ -8,12 +8,13 @@ |
8 | 8 | </h2> |
9 | 9 | <?php |
10 | 10 | |
11 | -/* (EP) Variables exportées par MaterielsController pour cette vue (à compléter) | |
11 | +// (EP) Variables exportées par MaterielsController pour cette vue (à compléter) | |
12 | 12 | |
13 | -$s_numero_laboratoire => mais n'est plus utilisé car on préfère la recherche plein texte | |
14 | -... | |
13 | +$s_nom_gest = $s_nom_gest; | |
14 | +$s_nomresp = $s_nomresp; | |
15 | +// $s_numero_laboratoire => plus utilisé car on préfère la recherche plein texte | |
16 | +// ... | |
15 | 17 | |
16 | -*/ | |
17 | 18 | |
18 | 19 | use Cake\I18n\Date; |
19 | 20 | use Cake\I18n\Time; |
... | ... | @@ -181,7 +182,7 @@ echo $this->Form->control('s_numero_laboratoire', [ |
181 | 182 | $orgas = $s_organismes; |
182 | 183 | echo $this->Form->control('s_organisme_id', [ |
183 | 184 | 'label' => 'Organisme', |
184 | - 'empty' => 'Toutes', | |
185 | + 'empty' => 'Tous', | |
185 | 186 | 'style' => 'width: 200px', |
186 | 187 | 'options' => $orgas |
187 | 188 | ]); |
... | ... | @@ -197,15 +198,21 @@ echo $this->Form->control('s_fournisseur_id', [ |
197 | 198 | $salle = $s_salles; |
198 | 199 | echo $this->Form->control('s_salle', [ |
199 | 200 | 'label' => 'Détail lieu de stockage', |
200 | - 'empty' => 'Toutes', | |
201 | + 'empty' => 'Tous', | |
201 | 202 | 'style' => 'width: 200px', |
202 | 203 | 'options' => $salle |
203 | 204 | |
204 | 205 | ]); |
205 | 206 | |
207 | +echo $this->Form->control('s_gestionnaire_id', [ | |
208 | + 'label' => 'Nom du Gestionnaire de référence', | |
209 | + 'empty' => 'Tous', | |
210 | + 'options' => $s_nom_gest | |
211 | +]); | |
212 | + | |
206 | 213 | echo $this->Form->control('s_nom_responsable', [ |
207 | 214 | 'label' => 'Nom du propriétaire', |
208 | - 'empty' => 'Toutes', | |
215 | + 'empty' => 'Tous', | |
209 | 216 | 'options' => $s_nomresp |
210 | 217 | ]); |
211 | 218 | echo $this->Form->control('s_numero_inventaire_organisme', [ | ... | ... |