Commit 2e1d0b2f456eca73ddd6484bb9e15554becfe6ae
1 parent
adae3474
Exists in
master
and in
1 other branch
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
Showing
10 changed files
with
151 additions
and
113 deletions
Show diff stats
CHANGELOG
@@ -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 |
README.md
@@ -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; |