Commit 2e1d0b2f456eca73ddd6484bb9e15554becfe6ae

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

Ajout "Voir matériels à commander" (configurable) sur accueil Gestion

et bugfixes :
- Bugfix : cocher les boutons "A valider", et "En commande" quand
activés
- Bugfix : sur la page accueil des gestionnaires, correction des liens
vers les matos

=> v5.1.1-3.7.9
@@ -334,15 +334,26 @@ Commencer à implémenter le nouveau workflow v5 : @@ -334,15 +334,26 @@ Commencer à implémenter le nouveau workflow v5 :
334 334
335 ======= TODO ======= 335 ======= TODO =======
336 336
  337 + bugfix droits edit/delete dans Element/buttons_edit_del.ctp
337 338
338 - Relance auto lors de suivis périodiques 339 + bugfix droits edit/delete dans liste des documents attachés
339 340
  341 + Pouvoir modifier le champ "n° inventaire Tutelle" sur un matos validé
  342 + (Service fait CNRS ----> je récupère le n° inventaire "Tutelle" sur GESLAB (SIFAC ?) et je complète la fiche INVENTIRAP
  343 +
340 Envoi mail à l'utilisateur du matériel lors de livraison 344 Envoi mail à l'utilisateur du matériel lors de livraison
  345 +
  346 + Définir (dans le fichier de conf) la liste des infos qui ne doivent pas pouvoir être modifiées une fois le matériel :
  347 + - en commande (lot1)
  348 + - validé (lot2)
  349 +
  350 + Détail lieu stockage demandé seulement si > 10K€
341 351
342 Procédures pour les utilisateurs et les gestionnaires désormais configurable via le fichier de conf 352 Procédures pour les utilisateurs et les gestionnaires désormais configurable via le fichier de conf
343 353
344 TESTS !!!! 354 TESTS !!!!
345 355
  356 + Relance auto lors de suivis périodiques
346 357
347 358
348 359
@@ -350,6 +361,11 @@ Commencer à implémenter le nouveau workflow v5 : @@ -350,6 +361,11 @@ Commencer à implémenter le nouveau workflow v5 :
350 361
351 ======= CHANGES ======= 362 ======= CHANGES =======
352 363
  364 +-------
  365 +08/09/2021 v5.1.1-3.7.9
  366 + - (e) Ajouter lien "Voir les matériels à commander" (configurable) sur page accueil Gestionnaires (le mettre avant "voir les matos à valider")
  367 + - (b) Bugfix : cocher les boutons "A valider", et "En commande" quand activés
  368 + - (b) Bugfix : sur la page accueil des gestionnaires, correction des liens vers les matos
353 369
354 ------- 370 -------
355 08/09/2021 v5.1.0-3.7.9 371 08/09/2021 v5.1.0-3.7.9
@@ -358,7 +374,7 @@ Commencer à implémenter le nouveau workflow v5 : @@ -358,7 +374,7 @@ Commencer à implémenter le nouveau workflow v5 :
358 374
359 ------- 375 -------
360 08/09/2021 v5.0.2-3.7.9 376 08/09/2021 v5.0.2-3.7.9
361 - - (b) Bugfix lien vers doc utilisateurs 377 + - (b) Bugfix : lien vers doc utilisateurs
362 378
363 ------- 379 -------
364 07/09/2021 v5.0.1-3.7.9 380 07/09/2021 v5.0.1-3.7.9
@@ -53,7 +53,7 @@ Logiciel testé et validé sur les configurations suivantes : @@ -53,7 +53,7 @@ Logiciel testé et validé sur les configurations suivantes :
53 -------------------------------------------------------------------------------------------- 53 --------------------------------------------------------------------------------------------
54 54
55 Date: 08/09/2021 55 Date: 08/09/2021
56 -Version: v5.1.0-3.7.9 56 +Version: v5.1.1-3.7.9
57 57
58 58
59 59
config/app_labinvent_mandatory_fields.default.yml
@@ -100,19 +100,28 @@ MANDATORY_FIELDS_LOT1: @@ -100,19 +100,28 @@ MANDATORY_FIELDS_LOT1:
100 100
101 #'fournisseur' 101 #'fournisseur'
102 102
103 - # Devis joint : c'est un champ virtuel, il n'existe pas physiquement (sauf dans la table Documents)  
104 - DEVIS: 'Devis'  
105 -  
106 # Utilisé par la Gestion pour remplir le champ eotp 103 # Utilisé par la Gestion pour remplir le champ eotp
107 budgets: 'Budgets' 104 budgets: 'Budgets'
108 105
109 # INFOS ADMINISTRATIVES 106 # INFOS ADMINISTRATIVES
110 # - EOTP : obligatoire seulement dans LOT2 107 # - EOTP : obligatoire seulement dans LOT2
111 #'eotp' => 'Entité(s) dépensière(s) (budget(s))', // ligne budgétaire (sur quel(s) budget(s)) ou entité(s) dépensière(s) 108 #'eotp' => 'Entité(s) dépensière(s) (budget(s))', // ligne budgétaire (sur quel(s) budget(s)) ou entité(s) dépensière(s)
112 - 109 +
  110 +
  111 + # CHAMPS VIRTUELS
  112 + # - Devis joint : c'est un champ virtuel, il n'existe pas physiquement (sauf dans la table Documents)
  113 + DEVIS: 'Devis'
  114 +
113 # ******* END OF MANDATORY_FIELDS_LOT1 ******** 115 # ******* END OF MANDATORY_FIELDS_LOT1 ********
114 116
115 117
  118 +# Liste des champs qui ne peuvent plus être modifiés après la demande d'achat (commande)
  119 +UNEDITABLE_FIELDS_LOT1: []
  120 +
  121 +
  122 +
  123 +
  124 +
116 125
117 126
118 # ************************************* 127 # *************************************
@@ -148,11 +157,53 @@ MANDATORY_FIELDS_LOT2: @@ -148,11 +157,53 @@ MANDATORY_FIELDS_LOT2:
148 eotp: 'Entité(s) dépensière(s) (budget(s))' 157 eotp: 'Entité(s) dépensière(s) (budget(s))'
149 158
150 numero_commande: 'Num. BC' 159 numero_commande: 'Num. BC'
151 - numero_inventaire_organisme: "N° inventaire de l'organisme" 160 +
  161 + # PROBLEME :
  162 + # On ne peut pas exiger ce numéro au moment de la livraison
  163 + # car le gestionnaire n'a cette info que lorsque "Service fait CNRS" (il récupère alors le n° inventaire "Tutelle" sur GESLAB)
  164 + #numero_inventaire_organisme: "N° inventaire de l'organisme"
152 165
153 # ******* END OF $MANDATORY_FIELDS_LOT2 ******** 166 # ******* END OF $MANDATORY_FIELDS_LOT2 ********
154 167
155 168
  169 +# Liste des champs qui ne peuvent plus être modifiés après la validation (livraison)
  170 +#UNEDITABLE_FIELDS_LOT2: []
  171 +UNEDITABLE_FIELDS_LOT2:
  172 +
  173 + # Champs généraux :
  174 +
  175 + sur_categorie_id:
  176 +
  177 + categorie_id:
  178 +
  179 + materiel_administratif:
  180 +
  181 + materiel_technique:
  182 +
  183 + site_id:
  184 +
  185 + date_acquisition:
  186 +
  187 + date_reception:
  188 +
  189 + organisme_id:
  190 +
  191 + prix_ht:
  192 +
  193 + gestionnaire_id:
  194 +
  195 + # Champs administratifs :
  196 +
  197 + eotp:
  198 +
  199 + numero_commande:
  200 +
  201 + numero_inventaire_organisme:
  202 +
  203 + numero_inventaire_old:
  204 +
  205 +
  206 +
156 207
157 208
158 # Astuce utilisable : 209 # Astuce utilisable :
src/Controller/AppController.php
@@ -46,6 +46,9 @@ use Cake\Utility\Inflector; @@ -46,6 +46,9 @@ use Cake\Utility\Inflector;
46 class AppController extends Controller 46 class AppController extends Controller
47 { 47 {
48 48
  49 + // Bouton "Commander" disponible ?
  50 + private static $HAS_ORDER_BUTTON = null;
  51 +
49 // Si DEBUG, affiche plus d'infos 52 // Si DEBUG, affiche plus d'infos
50 protected $DEBUG=false; 53 protected $DEBUG=false;
51 //protected $DEBUG=true; 54 //protected $DEBUG=true;
@@ -356,6 +359,19 @@ class AppController extends Controller @@ -356,6 +359,19 @@ class AppController extends Controller
356 'delete' => ['Suppression','supprimé'], 359 'delete' => ['Suppression','supprimé'],
357 ]; 360 ];
358 361
  362 +
  363 + // Les matos peuvent-ils être commandés (bouton commander) ?
  364 + // vrai par défaut (sauf si explicité dans la config)
  365 + public static function hasOrderButton() {
  366 + // OPTIM : si déjà lu, on relit pas
  367 + if (! is_null(self::$HAS_ORDER_BUTTON)) return self::$HAS_ORDER_BUTTON;
  368 + // Pas encore lu, on lit
  369 + $has_order_button = Configure::read('HAS_ORDER_BUTTON');
  370 + if (is_null($has_order_button)) $has_order_button = true;
  371 + self::$HAS_ORDER_BUTTON = $has_order_button;
  372 + return $has_order_button;
  373 + }
  374 +
359 protected function setActionsNounAndPastVerb(array $actionsNounAndPastVerb) { 375 protected function setActionsNounAndPastVerb(array $actionsNounAndPastVerb) {
360 /* Non, finalement on fait ça dans le get() 376 /* Non, finalement on fait ça dans le get()
361 // Si genre féminin, on féminise tous les verbes en ajoutant 'e' à la fin (ajouté-e, modifié-e, ...) 377 // Si genre féminin, on féminise tous les verbes en ajoutant 'e' à la fin (ajouté-e, modifié-e, ...)
src/Controller/DocumentsController.php
@@ -83,6 +83,7 @@ class DocumentsController extends AppController @@ -83,6 +83,7 @@ class DocumentsController extends AppController
83 83
84 // Action 'edit' (modif d'une entité) => comme pour 'add' 84 // Action 'edit' (modif d'une entité) => comme pour 'add'
85 $this->setAuthorizationsForAction('edit', 'add', [ 85 $this->setAuthorizationsForAction('edit', 'add', [
  86 + 'admin' => 0,
86 'super' => ['default',0] 87 'super' => ['default',0]
87 ]); 88 ]);
88 89
src/Controller/MaterielsController.php
@@ -28,10 +28,6 @@ use Cake\Core\Configure; @@ -28,10 +28,6 @@ use Cake\Core\Configure;
28 */ 28 */
29 class MaterielsController extends AppController { 29 class MaterielsController extends AppController {
30 30
31 - // Bouton "Commander" disponible ?  
32 - private static $HAS_ORDER_BUTTON = null;  
33 -  
34 -  
35 // - ATTRIBUTS CONSTANTES 31 // - ATTRIBUTS CONSTANTES
36 32
37 /* 33 /*
@@ -375,7 +371,8 @@ class MaterielsController extends AppController { @@ -375,7 +371,8 @@ class MaterielsController extends AppController {
375 public function getNameFieldLabel() { 371 public function getNameFieldLabel() {
376 return 'designation'; 372 return 'designation';
377 } 373 }
378 - 374 +
  375 + /* moved to AppController
379 // Les matos peuvent-ils être commandés (bouton commander) ? 376 // Les matos peuvent-ils être commandés (bouton commander) ?
380 // vrai par défaut (sauf si explicité dans la config) 377 // vrai par défaut (sauf si explicité dans la config)
381 public static function hasOrderButton() { 378 public static function hasOrderButton() {
@@ -387,6 +384,7 @@ class MaterielsController extends AppController { @@ -387,6 +384,7 @@ class MaterielsController extends AppController {
387 self::$HAS_ORDER_BUTTON = $has_order_button; 384 self::$HAS_ORDER_BUTTON = $has_order_button;
388 return $has_order_button; 385 return $has_order_button;
389 } 386 }
  387 + */
390 388
391 389
392 /* 390 /*
@@ -3220,7 +3218,7 @@ class MaterielsController extends AppController { @@ -3220,7 +3218,7 @@ class MaterielsController extends AppController {
3220 */ 3218 */
3221 public function statusValidated($id = null, $from = 'index') 3219 public function statusValidated($id = null, $from = 'index')
3222 { 3220 {
3223 - $this->_statusSetTo('VALIDATED', 'Le matériel a bien été validé', $id, $from); 3221 + $this->_statusSetTo('VALIDATED', "Le matériel a bien été validé (n'oubliez pas de saisir le n° inventaire 'tutelle' une fois le 'service fait')", $id, $from);
3224 /* 3222 /*
3225 * (EP) moved to statusSetTo() 3223 * (EP) moved to statusSetTo()
3226 * if (in_array($_SESSION['Auth']['User']['sn'][0], TableRegistry::get('Users') 3224 * if (in_array($_SESSION['Auth']['User']['sn'][0], TableRegistry::get('Users')
src/Controller/PagesController.php
@@ -275,6 +275,11 @@ class PagesController extends AppController @@ -275,6 +275,11 @@ class PagesController extends AppController
275 // Finalement, on affiche la $page demandée (avec render()) 275 // Finalement, on affiche la $page demandée (avec render())
276 $this->set('page', $this->page); 276 $this->set('page', $this->page);
277 $this->set(compact('subpage')); 277 $this->set(compact('subpage'));
  278 +
  279 + // - Page d'ACCUEIL
  280 + if ($this->page=='home') {
  281 + $this->set('HAS_ORDER_BUTTON',self::hasOrderButton());
  282 + }
278 283
279 // - Page des LOGS 284 // - Page des LOGS
280 // /pages/logs?level=info 285 // /pages/logs?level=info
src/Template/Materiels/add_edit.ctp
@@ -190,19 +190,20 @@ $administrationData = array( @@ -190,19 +190,20 @@ $administrationData = array(
190 $myReadonlyFields = array(); 190 $myReadonlyFields = array();
191 if ($IS_VALIDATED) 191 if ($IS_VALIDATED)
192 // can only modify some fields 192 // can only modify some fields
193 - $myReadonlyFields = array_merge(array(  
194 - 'sur_categorie_id',  
195 - 'categorie_id',  
196 - 'materiel_administratif',  
197 - 'materiel_technique',  
198 - 'site_id',  
199 - 'date_acquisition',  
200 - 'date_reception',  
201 - 'organisme_id',  
202 - 'prix_ht',  
203 - 'gestionnaire_id'  
204 - ),  
205 - $administrationData 193 + $myReadonlyFields = array_merge(
  194 + array(
  195 + 'sur_categorie_id',
  196 + 'categorie_id',
  197 + 'materiel_administratif',
  198 + 'materiel_technique',
  199 + 'site_id',
  200 + 'date_acquisition',
  201 + 'date_reception',
  202 + 'organisme_id',
  203 + 'prix_ht',
  204 + 'gestionnaire_id'
  205 + ),
  206 + $administrationData
206 ); 207 );
207 else if ($IS_ARCHIVED_OR_TOBE) $myReadonlyFields = array('*','status'); 208 else if ($IS_ARCHIVED_OR_TOBE) $myReadonlyFields = array('*','status');
208 if ($IS_VALIDATED && $materiel->sous_categorie_id) 209 if ($IS_VALIDATED && $materiel->sous_categorie_id)
@@ -216,6 +217,7 @@ if ($IS_VALIDATED && $materiel->numero_serie) @@ -216,6 +217,7 @@ if ($IS_VALIDATED && $materiel->numero_serie)
216 $myReadonlyFields 217 $myReadonlyFields
217 ); 218 );
218 } // EDIT only 219 } // EDIT only
  220 +debug($myReadonlyFields);
219 221
220 222
221 // Création des 2 boutons submit du formulaire (Enregistrer et Cancel) 223 // Création des 2 boutons submit du formulaire (Enregistrer et Cancel)
@@ -432,7 +434,7 @@ if (isset($cpMateriel)) { @@ -432,7 +434,7 @@ if (isset($cpMateriel)) {
432 // ADD only 434 // ADD only
433 //////'default' => $materiel->sur_categorie_id, 435 //////'default' => $materiel->sur_categorie_id,
434 // EDIT only 436 // EDIT only
435 - 'readonly' => $IS_ADD ? false : $isReadonlyField('sur_categorie_id', $myReadonlyFields), 437 + //'readonly' => $IS_ADD ? false : $isReadonlyField('sur_categorie_id', $myReadonlyFields),
436 'disabled' => $IS_ADD ? false : $isReadonlyField('sur_categorie_id', $myReadonlyFields) 438 'disabled' => $IS_ADD ? false : $isReadonlyField('sur_categorie_id', $myReadonlyFields)
437 ]); 439 ]);
438 // - CATEGORIE 440 // - CATEGORIE
@@ -983,7 +985,7 @@ if (isset($cpMateriel)) { @@ -983,7 +985,7 @@ if (isset($cpMateriel)) {
983 */ 985 */
984 986
985 if ($IS_EDIT || ($IS_ADD && $USER_IS_ADMIN_OR_MORE)) { 987 if ($IS_EDIT || ($IS_ADD && $USER_IS_ADMIN_OR_MORE)) {
986 - $DISABLED = $IS_ADD ? false : !$USER_IS_ADMIN_OR_MORE; 988 + //$DISABLED = $IS_ADD ? false : !$USER_IS_ADMIN_OR_MORE;
987 echo '<div style="border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; margin-bottom: 0; background: #EEE;"><span style="font-size: 9px; color: red;">Partie administrative</span>'; 989 echo '<div style="border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; margin-bottom: 0; background: #EEE;"><span style="font-size: 9px; color: red;">Partie administrative</span>';
988 990
989 //(EDIT only) 991 //(EDIT only)
@@ -1004,20 +1006,24 @@ if (isset($cpMateriel)) { @@ -1004,20 +1006,24 @@ if (isset($cpMateriel)) {
1004 * 'Super Administrateur' 1006 * 'Super Administrateur'
1005 * ])) { 1007 * ])) {
1006 */ 1008 */
1007 - echo $this->Form->control('eotp', [ 1009 + $fname = 'eotp';
  1010 + echo $this->Form->control($fname, [
1008 'label' => 'Entité(s) dépensière(s) (voir champ Budgets juste au-dessus)', 1011 'label' => 'Entité(s) dépensière(s) (voir champ Budgets juste au-dessus)',
1009 //'label' => 'Entité(s) dépensière(s) (i.e. sur quel(s) budget(s) ?)', 1012 //'label' => 'Entité(s) dépensière(s) (i.e. sur quel(s) budget(s) ?)',
1010 //'label' => 'Centre(s) financier(s) / EOTP', 1013 //'label' => 'Centre(s) financier(s) / EOTP',
1011 // EDIT only 1014 // EDIT only
1012 - 'disabled' => $DISABLED, 1015 + //'disabled' => $DISABLED,
  1016 + 'disabled' => $IS_ADD ? false : $isReadonlyField($fname, $myReadonlyFields),
1013 'placeholder' => 'Si plusieurs, séparer avec virgule' 1017 'placeholder' => 'Si plusieurs, séparer avec virgule'
1014 ]); 1018 ]);
1015 1019
1016 // - Numéro BC 1020 // - Numéro BC
1017 // On peut entrer le numero bon commande si le materiel est technique et qu'on est responsable du groupe 1021 // On peut entrer le numero bon commande si le materiel est technique et qu'on est responsable du groupe
1018 - $BC_DISABLED = $DISABLED; 1022 + $fname = 'numero_commande';
  1023 + //$BC_DISABLED = $DISABLED;
  1024 + $BC_DISABLED = $IS_ADD ? false : $isReadonlyField($fname, $myReadonlyFields);
1019 if ($IS_EDIT && $USER_IS_RESPONSABLE_AND_SAME_GROUP_AS_MATERIEL && $materiel->materiel_administratif==0) $BC_DISABLED = False; 1025 if ($IS_EDIT && $USER_IS_RESPONSABLE_AND_SAME_GROUP_AS_MATERIEL && $materiel->materiel_administratif==0) $BC_DISABLED = False;
1020 - echo $this->Form->control('numero_commande', [ 1026 + echo $this->Form->control($fname, [
1021 'label' => 'Numéro BC', 1027 'label' => 'Numéro BC',
1022 // EDIT only 1028 // EDIT only
1023 'disabled' => $BC_DISABLED 1029 'disabled' => $BC_DISABLED
@@ -1045,14 +1051,14 @@ if (isset($cpMateriel)) { @@ -1045,14 +1051,14 @@ if (isset($cpMateriel)) {
1045 echo $this->Form->control('numero_inventaire_organisme', [ 1051 echo $this->Form->control('numero_inventaire_organisme', [
1046 'label' => 'N° inventaire comptable/tutelles', 1052 'label' => 'N° inventaire comptable/tutelles',
1047 // EDIT only 1053 // EDIT only
1048 - 'disabled' => $DISABLED 1054 + //'disabled' => $DISABLED
1049 ]); 1055 ]);
1050 1056
1051 // Num inventaire (ancien) 1057 // Num inventaire (ancien)
1052 echo $this->Form->control('numero_inventaire_old', [ 1058 echo $this->Form->control('numero_inventaire_old', [
1053 'label' => 'Ancien N° inventaire', 1059 'label' => 'Ancien N° inventaire',
1054 // EDIT only 1060 // EDIT only
1055 - 'disabled' => $DISABLED 1061 + //'disabled' => $DISABLED
1056 ]); 1062 ]);
1057 1063
1058 echo '</div>'; 1064 echo '</div>';
src/Template/Materiels/index.ctp
@@ -199,22 +199,23 @@ $displayStatusButtons = function($HAS_ORDER_BUTTON, $SELECTED_STATUS, $params, $ @@ -199,22 +199,23 @@ $displayStatusButtons = function($HAS_ORDER_BUTTON, $SELECTED_STATUS, $params, $
199 ?> 199 ?>
200 <div class="actions" style="width: 100%; float: none; padding: 0 0;"> 200 <div class="actions" style="width: 100%; float: none; padding: 0 0;">
201 <?php 201 <?php
202 -  
203 echo '<p>'; 202 echo '<p>';
204 echo "Afficher les matériels : "; 203 echo "Afficher les matériels : ";
205 echo '</br>'; 204 echo '</br>';
206 echo '</br>'; 205 echo '</br>';
207 - $b_all = $b_cre = $b_val = $b_toarc = $b_arc = ''; 206 + $b_all = $b_cre = $b_tbo = $b_val = $b_tba = $b_arc = '';
208 $SELECTED = '<i class="icon-ok"></i>'; 207 $SELECTED = '<i class="icon-ok"></i>';
209 //if (isset($SELECTED_STATUS)) { 208 //if (isset($SELECTED_STATUS)) {
210 if ($SELECTED_STATUS) { 209 if ($SELECTED_STATUS) {
211 if ($SELECTED_STATUS == 'CREATED') 210 if ($SELECTED_STATUS == 'CREATED')
212 $b_cre = $SELECTED; 211 $b_cre = $SELECTED;
213 - else if ($SELECTED_STATUS == 'VALIDATED') 212 + elseif ($SELECTED_STATUS == 'TOBEORDERED')
  213 + $b_tbo = $SELECTED;
  214 + elseif ($SELECTED_STATUS == 'VALIDATED')
214 $b_val = $SELECTED; 215 $b_val = $SELECTED;
215 - else if ($SELECTED_STATUS == 'TOBEARCHIVED')  
216 - $b_toarc = $SELECTED;  
217 - else if ($SELECTED_STATUS == 'ARCHIVED') 216 + elseif ($SELECTED_STATUS == 'TOBEARCHIVED')
  217 + $b_tba = $SELECTED;
  218 + elseif ($SELECTED_STATUS == 'ARCHIVED')
218 $b_arc = $SELECTED; 219 $b_arc = $SELECTED;
219 } else $b_all = $SELECTED; 220 } else $b_all = $SELECTED;
220 221
@@ -228,9 +229,9 @@ $displayStatusButtons = function($HAS_ORDER_BUTTON, $SELECTED_STATUS, $params, $ @@ -228,9 +229,9 @@ $displayStatusButtons = function($HAS_ORDER_BUTTON, $SELECTED_STATUS, $params, $
228 'TOUS' => [$b_all, 'TOUS', 'Tous les matériels', 5], 229 'TOUS' => [$b_all, 'TOUS', 'Tous les matériels', 5],
229 'CREATED' => [$b_cre, 'À VALIDER', 'Seulement les matériels créés (à valider)', 5] 230 'CREATED' => [$b_cre, 'À VALIDER', 'Seulement les matériels créés (à valider)', 5]
230 ]; 231 ];
231 - if ($HAS_ORDER_BUTTON) $statuses['TOBEORDERED'] = [$b_cre, 'EN COMMANDE', 'Seulement les matériels commandés (à valider)', 5]; 232 + if ($HAS_ORDER_BUTTON) $statuses['TOBEORDERED'] = [$b_tbo, 'EN COMMANDE', 'Seulement les matériels commandés (à valider)', 5];
232 $statuses['VALIDATED'] = [$b_val, 'VALIDÉS', "Seulement les matériels validés", 5]; 233 $statuses['VALIDATED'] = [$b_val, 'VALIDÉS', "Seulement les matériels validés", 5];
233 - $statuses['TOBEARCHIVED'] = [$b_toarc, 'À SORTIR', "Seulement les matériels à archiver", 5]; 234 + $statuses['TOBEARCHIVED'] = [$b_tba, 'À SORTIR', "Seulement les matériels à archiver", 5];
234 $statuses['ARCHIVED'] = [$b_arc, 'ARCHIVÉS', "Seulement les matériels sortis de l'inventaire", 0]; 235 $statuses['ARCHIVED'] = [$b_arc, 'ARCHIVÉS', "Seulement les matériels sortis de l'inventaire", 0];
235 236
236 // https://book.cakephp.org/3/en/views/helpers/html.html#creating-links 237 // https://book.cakephp.org/3/en/views/helpers/html.html#creating-links
@@ -259,72 +260,6 @@ $displayStatusButtons = function($HAS_ORDER_BUTTON, $SELECTED_STATUS, $params, $ @@ -259,72 +260,6 @@ $displayStatusButtons = function($HAS_ORDER_BUTTON, $SELECTED_STATUS, $params, $
259 ]); 260 ]);
260 } 261 }
261 262
262 - /*  
263 - //echo $this->Html->link($b_all . ' Tous', [  
264 - echo $html->link($b_all . ' TOUS', [  
265 - //'action' => 'index',  
266 - //'?' => $params  
267 - '?' => array_merge($params, ['status'=>null])  
268 - ], [  
269 - 'title' => 'Tous',  
270 - 'style' => 'margin-right: 5px',  
271 - 'escape' => false  
272 - ]);  
273 -  
274 - $status = 'CREATED';  
275 - echo $html->link($b_cre . ' A valider', [  
276 - //'action' => 'index',  
277 - //'CREATED',  
278 - // https://book.cakephp.org/3/en/views/helpers/html.html#creating-links  
279 - //'?' => ['height' => 400, 'width' => 500]  
280 - //'?' => $params + ['status'=>'CREATED']  
281 - '?' => array_merge($params, ['status'=>$status])  
282 - //'?' => null  
283 - //[$args],  
284 - //"http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']  
285 - ], [  
286 - 'title' => 'Liste des matériels créés',  
287 - 'style' => 'margin-right: 5px',  
288 - 'escape' => false  
289 - ]);  
290 -  
291 - $status = 'VALIDATED';  
292 - echo $html->link($b_val . ' Validés', [  
293 - //'action' => 'index',  
294 - //'VALIDATED',  
295 - //'?' => $params  
296 - '?' => array_merge($params, ['status'=>$status])  
297 - ], [  
298 - 'title' => "Liste des materiels qu'on peut archiver",  
299 - 'style' => 'margin-right: 5px',  
300 - 'escape' => false  
301 - ]);  
302 -  
303 - $status = 'TOBEARCHIVED';  
304 - echo $html->link($b_toarc . ' A sortir', [  
305 - //'action' => 'index',  
306 - //'TOBEARCHIVED',  
307 - //'?' => $params  
308 - '?' => array_merge($params, ['status'=>$status])  
309 - ], [  
310 - 'title' => "A sortir de l'inventaire",  
311 - 'style' => 'margin-right: 5px',  
312 - 'escape' => false  
313 - ]);  
314 -  
315 - $status = 'ARCHIVED';  
316 - echo $html->link($b_arc . ' Archivés', [  
317 - //'action' => 'index',  
318 - //'ARCHIVED',  
319 - //'?' => $params  
320 - '?' => array_merge($params, ['status'=>$status])  
321 - ], [  
322 - 'title' => "Sortis de l'inventaire",  
323 - 'style' => 'margin-right: 0px',  
324 - 'escape' => false  
325 - ]);  
326 - */  
327 -  
328 echo '</p>'; 263 echo '</p>';
329 264
330 // ACTIONS : buttons "Tout selectionner", "Tout decocher" 265 // ACTIONS : buttons "Tout selectionner", "Tout decocher"
src/Template/Pages/home_app.ctp
@@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
4 //debug($this->viewVars); 4 //debug($this->viewVars);
5 $configuration = $configuration; 5 $configuration = $configuration;
6 $USER_IS_RESPONSABLE = $USER_IS_RESPONSABLE; 6 $USER_IS_RESPONSABLE = $USER_IS_RESPONSABLE;
  7 +$HAS_ORDER_BUTTON = $HAS_ORDER_BUTTON;
7 8
8 9
9 $lab_name = $configuration->labPresent; 10 $lab_name = $configuration->labPresent;
@@ -162,16 +163,25 @@ if (in_array($role, [ @@ -162,16 +163,25 @@ if (in_array($role, [
162 echo $TABLE_START; 163 echo $TABLE_START;
163 echo $SEP; 164 echo $SEP;
164 165
165 - echo '<tr><td> ' . $this->Html->link('Voir les matériels à valider', [ 166 + //http://labinvent21.devv/materiels?status=TOBEORDERED
  167 +
  168 +if ($HAS_ORDER_BUTTON) echo '<tr><td> ' . $this->Html->link('Voir les matériels à Commander', [
  169 + 'controller' => 'materiels',
  170 + 'action' => 'index',
  171 + 'status' => 'TOBEORDERED'
  172 + ]) . ' </td></tr>';
  173 +
  174 +
  175 + echo '<tr><td> ' . $this->Html->link('Voir les matériels à Valider', [
166 'controller' => 'materiels', 176 'controller' => 'materiels',
167 'action' => 'index', 177 'action' => 'index',
168 - 'CREATED' 178 + 'status' => 'CREATED'
169 ]) . ' </td></tr>'; 179 ]) . ' </td></tr>';
170 180
171 - echo '<tr><td> ' . $this->Html->link('Voir les matériels à sortir de l\'inventaire', [ 181 + echo '<tr><td> ' . $this->Html->link("Voir les matériels à Sortir de l'inventaire", [
172 'controller' => 'materiels', 182 'controller' => 'materiels',
173 'action' => 'index', 183 'action' => 'index',
174 - 'TOBEARCHIVED' 184 + 'status' => 'TOBEARCHIVED'
175 ]) . ' </td></tr>'; 185 ]) . ' </td></tr>';
176 186
177 echo $TABLE_END; 187 echo $TABLE_END;