Commit 3e57c50585982c3bf5e8337ea5146b2940a31f46
1 parent
52fef20f
Exists in
master
and in
1 other branch
Changement effet bouton "INVALIDER", désormais plus logique...
- Changement de l'effet du bouton "INVALIDER", désormais plus logique, repasse au statut "PRÉCÉDENT" et non pas systématiquement à CREATED : - ARCHIVED => TOBEARCHIVED - TOBEARCHIVED => VALIDATED - VALIDATED => CREATED (il faudra commander à nouveau si le matos était commandé...) - TOBEORDERED => CREATED - Un gestionnaire peut INVALIDER une commande (TOBEORDERED => CREATED) - Quand le statut d'un matos passe à TOBEORDERED, mettre son champ "tobeordered" à true (pour garder trace de la commande) => v5.2.4-3.7.9
Showing
5 changed files
with
63 additions
and
30 deletions
Show diff stats
CHANGELOG
... | ... | @@ -348,18 +348,6 @@ Commencer à implémenter le nouveau workflow v5 : |
348 | 348 | |
349 | 349 | *) |
350 | 350 | Lister les RG : |
351 | - - Champs obligatoires LOT 0 : | |
352 | - - ... | |
353 | - - Champs obligatoires LOT 1 (en commande, demande d'achat faite au SG) : | |
354 | - - fournisseur !!! | |
355 | - - si > 10K€ : | |
356 | - - S/N | |
357 | - - lieu stockage | |
358 | - - ... | |
359 | - - Champs obligatoires LOT 2 (livré) : | |
360 | - - ... | |
361 | - - Si "TBA" : règle du LOT2 | |
362 | - - Si "ARCHIVED" : on ne peut plus rien modifier (on peut "invalider") | |
363 | 351 | |
364 | 352 | - Pouvoir modifier le champ "n° inventaire Tutelle" sur un matos validé |
365 | 353 | (Service fait CNRS ----> je récupère le n° inventaire "Tutelle" sur GESLAB (SIFAC ?) et je complète la fiche INVENTIRAP |
... | ... | @@ -375,20 +363,19 @@ Commencer à implémenter le nouveau workflow v5 : |
375 | 363 | - champs qui ne sont plus modifiables : |
376 | 364 | ... |
377 | 365 | |
378 | - | |
379 | - | |
380 | - *) | |
381 | - Détail lieu stockage demandé seulement si > 10K€ | |
382 | - | |
383 | - | |
384 | - | |
366 | + | |
385 | 367 | *) |
386 | 368 | Rendre modifiable la config via page web "Gérer les champs obligatoires" |
387 | 369 | - OFF_nom_du_champ : 'libellé' |
388 | 370 | - Restaurer la config par défaut |
389 | 371 | - Réactiver une variable : OFF_nom_du_champ => nom_du_champ |
372 | + | |
373 | + | |
374 | + *) | |
375 | + Détail lieu stockage + S/N demandé ssi > 10K€ | |
376 | + | |
377 | + | |
390 | 378 | |
391 | - | |
392 | 379 | *) |
393 | 380 | Procédures pour les utilisateurs et les gestionnaires désormais configurable via le fichier de conf |
394 | 381 | |
... | ... | @@ -410,12 +397,23 @@ Commencer à implémenter le nouveau workflow v5 : |
410 | 397 | ======= CHANGES ======= |
411 | 398 | |
412 | 399 | ------- |
413 | -09/09/2021 v5.2.3-3.7.9 | |
400 | +10/09/2021 v5.2.4-3.7.9 | |
401 | + - (i) Quand le statut d'un matos passe à TOBEORDERED, mettre son champ "tobeordered" à true (pour garder trace de la commande) | |
402 | + - (e) Changement de l'effet du bouton "INVALIDER", désormais plus logique, repasse au statut "PRÉCÉDENT" et non pas systématiquement à CREATED : | |
403 | + - ARCHIVED => TOBEARCHIVED | |
404 | + - TOBEARCHIVED => VALIDATED | |
405 | + - VALIDATED => CREATED (il faudra commander à nouveau si le matos était commandé...) | |
406 | + - TOBEORDERED => CREATED | |
407 | + - (e) Un gestionnaire peut INVALIDER une commande (TOBEORDERED => CREATED) | |
408 | + | |
409 | + | |
410 | +------- | |
411 | +10/09/2021 v5.2.3-3.7.9 | |
414 | 412 | - (b) Bugfix : certains champs ne pouvaient pas être rendus NON MODIFIABLES |
415 | 413 | - (i) Changement config par défaut pour ajouter des champs non modifiables après commande et validation (LOT1 et donc aussi LOT2) |
416 | 414 | |
417 | 415 | ------- |
418 | -09/09/2021 v5.2.2-3.7.9 | |
416 | +10/09/2021 v5.2.2-3.7.9 | |
419 | 417 | - (e) Le devis attaché à un matériel commandé (TOBEORDERED) doit être NON MODIFIABLE |
420 | 418 | |
421 | 419 | ------- | ... | ... |
README.md
config/app_labinvent_mandatory_fields.default.yml
... | ... | @@ -186,6 +186,7 @@ MANDATORY_FIELDS_LOT2: |
186 | 186 | |
187 | 187 | #TODO: seulement si prix > 10K€ |
188 | 188 | lieu_detail: 'Lieu de stockage' |
189 | + #numero_serie: 'S/N' | |
189 | 190 | |
190 | 191 | #// INFOS ADMINISTRATIVES : |
191 | 192 | |
... | ... | @@ -215,7 +216,7 @@ UNEDITABLE_FIELDS_LOT2: |
215 | 216 | |
216 | 217 | - sous_categorie_id |
217 | 218 | |
218 | - - numero_serie | |
219 | + #- numero_serie | |
219 | 220 | |
220 | 221 | - materiel_administratif |
221 | 222 | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -518,7 +518,7 @@ class MaterielsController extends AppController { |
518 | 518 | // - Action 'devalidate' ou 'invalidate' (repasser le matériel au statut 'CREATED', c'est à dire le dé-valider ou l'invalider) |
519 | 519 | // (VALIDATED ou TBA ou ARCHIVED) => CREATED |
520 | 520 | //$this->setAuthorizationsForAction('devalidate', |
521 | - $this->setAuthorizationsForAction('statusCreated (dévalider)', ['NOT CREATED',0], [ | |
521 | + $this->setAuthorizationsForAction('statusCreated (invalider)', ['NOT CREATED',0], [ | |
522 | 522 | 'user' => -1, // PAS AUTORISÉ |
523 | 523 | 'resp' => ['NOT CREATED',1], |
524 | 524 | ]); |
... | ... | @@ -2925,12 +2925,33 @@ class MaterielsController extends AppController { |
2925 | 2925 | ] |
2926 | 2926 | ]); |
2927 | 2927 | |
2928 | - // Set new status | |
2929 | - $materiel->set('status', $newStatus); | |
2928 | + | |
2930 | 2929 | |
2931 | 2930 | //debug($materiel); exit; |
2932 | 2931 | $msgError2 = "Le statut du matériel " . $materiel->designation . " (" . $materiel->numero_laboratoire . ") n'a pas pu être modifié"; |
2933 | 2932 | |
2933 | + | |
2934 | + /* | |
2935 | + * - INVALIDER (CREATED) | |
2936 | + * Repasse le matos au statut "PRÉCÉDENT" (et non pas systématiquement à CREATED) : | |
2937 | + * - ARCHIVED => TOBEARCHIVED | |
2938 | + * - TOBEARCHIVED => VALIDATED | |
2939 | + * - VALIDATED => CREATED (il faudra commander à nouveau si le matos était commandé...) | |
2940 | + */ | |
2941 | + if ($newStatus == 'CREATED') { | |
2942 | + if ($materiel->status == 'ARCHIVED') | |
2943 | + $materiel->status = 'TOBEARCHIVED'; | |
2944 | + elseif ($materiel->status == 'TOBEARCHIVED') | |
2945 | + $materiel->status = 'VALIDATED'; | |
2946 | + // Par défaut => CREATED (VALIDATED ou TOBEORDERED => CREATED) | |
2947 | + else | |
2948 | + $materiel->status = 'CREATED'; | |
2949 | + } | |
2950 | + // Set new status | |
2951 | + else $materiel->status = $newStatus; | |
2952 | + //$materiel->set('status', $newStatus); | |
2953 | + | |
2954 | + | |
2934 | 2955 | // - TOBEORDERED |
2935 | 2956 | if ($newStatus == 'TOBEORDERED') { |
2936 | 2957 | |
... | ... | @@ -2965,6 +2986,7 @@ class MaterielsController extends AppController { |
2965 | 2986 | |
2966 | 2987 | //TODO |
2967 | 2988 | // Le matos est valide, on pourrait donc marquer la date de commande |
2989 | + $materiel->tobeordered = true; | |
2968 | 2990 | ////$materiel->set('date_ordered', date('Y-m-d')); |
2969 | 2991 | //$materiel->date_ordered = date('Y-m-d'); |
2970 | 2992 | ... | ... |
src/Template/Materiels/view.ctp
... | ... | @@ -472,12 +472,24 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN |
472 | 472 | // - VALIDATED or more : |
473 | 473 | |
474 | 474 | // Bouton Invalider (Dévalider) |
475 | - // (EP désactivé depuis 2021-09 car n'est plus utile | |
476 | - // => on peut toujours modifier un matériel tant que certains champs restent obligatoires | |
475 | + //$help = "dé-valider le matériel (le repasser au statut Créé, il faudra le re-valider ensuite)"; | |
476 | + $help = "dé-valider le matériel "; | |
477 | + if ($entity->status == 'ARCHIVED') | |
478 | + $new_status = "(le désarchiver, et repasser au statut 'A SORTIR')"; | |
479 | + elseif ($entity->status == 'TOBEARCHIVED') | |
480 | + $new_status = "(annuler la demande d'archivage, et repasser au statut 'VALIDÉ')"; | |
481 | + elseif ($entity->status == 'VALIDATED') | |
482 | + $new_status = "(annuler la validation de la livraison, et repasser au statut 'CRÉÉ')"; | |
483 | + elseif ($entity->status == 'TOBEORDERED') | |
484 | + $new_status = "(annuler la demande d'achat, et repasser au statut 'CRÉÉ')"; | |
485 | + // Par défaut => CREATED (VALIDATED ou TOBEORDERED => CREATED) | |
486 | + else | |
487 | + $new_status = "(repasser au statut 'CRÉÉ')"; | |
488 | + $help .= $new_status; | |
477 | 489 | if ($CAN_INVALIDATE) |
478 | 490 | $echoActionButton( |
479 | 491 | $this->Html, 'icon-remove-sign', $bStyle2Red, ' Invalider', '', 'statusCreated', $entity->id, ['view'], |
480 | - "dé-valider le matériel (le repasser au statut Créé, il faudra le re-valider ensuite)" | |
492 | + $help | |
481 | 493 | ); |
482 | 494 | |
483 | 495 | // Bouton TBA | ... | ... |