Commit 8c9b696c799dd78b2ff4a5ed390c698efd06aeb6
1 parent
99517d9b
Exists in
master
and in
1 other branch
Message rappel sur vue matériel validé et protection des docs attachés
- NEWSLETTER #5 envoyée - Mise à jour du diagramme workflow (E-T) pour introduire la nouvelle étape TOBEORDERED ("En Commande") - Bugfix : infos sur etiquettes affichées SEULEMENT si une étiqueteuse est configurée... - Message affiché sur l'écran de G après validation et à chaque consultation (view) de la fiche : - (1) Veuillez imprimer l'étiquette du matériel (et la coller sur le matériel) \n\ - (2) Pensez à remplir le champ "Inventaire Tutelles' dès que service fait CNRS (GesLab) \n\ => (Ce message reste affiché sur la fiche du matériel validé \n\ jusqu'à ce que ces 2 champs soient complétés) - On ne peut pas modifier ou supprimer le DEVIS d'un matos commandé (TOBEORDERED) - On ne peut pas modifier ou supprimer les docs attachés d'un matos validé (VALIDATED) => v5.2.6-3.7.9
Showing
9 changed files
with
124 additions
and
53 deletions
Show diff stats
CHANGELOG
... | ... | @@ -13,18 +13,36 @@ CHANGEMENTS |
13 | 13 | |
14 | 14 | |
15 | 15 | ------- |
16 | -06/09/2021 NEWS#7 (v5.0.0) : | |
16 | +13/09/2021 NEWS#5 (v5) : | |
17 | 17 | |
18 | -- Nouveau workflow incluant la "commande d'un matériel" : | |
19 | - - nouveau bouton "Commander" | |
20 | - - nouveau statut "TOBEORDERED" (à commander) | |
21 | - - L'étape de commande est optionnelle | |
18 | +- Documentation en ligne (install et technique) grandement mise à jour, pour une progression plus logique | |
19 | + | |
20 | +- Nouveau workflow incluant une nouvelle étape (optionnelle) de "commande d'un matériel" (demande d'achat, nouveau bouton "Commander") | |
21 | + | |
22 | +- Champs obligatoires (et modifiables) désormais configurables (pour la saisie d'un matériel) | |
23 | + | |
24 | +- Installation du logiciel désormais disponible via DOCKER (en quelques petites minutes) | |
25 | + | |
26 | +- Liste des matériels beaucoup plus pratique (colonnes plus pertinentes) et filtrage plus efficace | |
27 | + | |
28 | +- Recherche des matériels plus fonctionnelle et résultats affichés exactement comme la liste des matériels (même colonnes pertinentes) | |
22 | 29 | |
23 | -- Champs obligatoires désormais configurables (pour la saisie d'un matériel) | |
30 | +- Correction de nombreux bugs... | |
31 | + | |
32 | +- Page "Gestion des fournisseurs" enrichie (/fournisseurs/index) avec : | |
33 | + => (superadmin) Bouton "Nettoyer la liste complète" (nettoyage "automagique" de la liste par suppression intelligente des doublons et espaces en trop) | |
34 | + => (administratif) Bouton "Remplacer" un fournisseur par un autre | |
35 | + | |
36 | +- Ajout de la notion d'"utilisateur" en plus de la notion d'"acheteur" : | |
37 | + => L'"acheteur" commande un matériel pour un "utilisateur" destinataire du bien (par défaut, lui-même), | |
38 | + => peut aussi être juste la précision d'une destination quelconque (local technique, manip...) | |
39 | + => le but est seulement de préciser QUI utilise ce bien, ou à QUOI il est destiné exactement | |
40 | + | |
41 | +- Et comme toujours : Correction de nombreux bugs pour une version plus stable | |
24 | 42 | |
25 | 43 | |
26 | 44 | ------- |
27 | -31/03/2021 NEWS#6 (v4.108.18) : | |
45 | +31/03/2021 (v4.108.18) : | |
28 | 46 | |
29 | 47 | - Installation du logiciel désormais disponible via DOCKER (en quelques petites minutes) |
30 | 48 | |
... | ... | @@ -41,14 +59,14 @@ FÉVRIER 2021 (v4.108.0) - GROSSE AMÉLIORATION DE LA PHASE INSTALLATION (FROM S |
41 | 59 | |
42 | 60 | |
43 | 61 | ------- |
44 | -30/11/2020 NEWS#5 (v4.107.21) : | |
62 | +30/11/2020 (v4.107.21) : | |
45 | 63 | |
46 | 64 | - Liste des matériels beaucoup plus pratique (colonnes plus pertinentes) et filtrage plus efficace |
47 | 65 | - Recherche des matériels plus fonctionnelle et résultats affichés exactement comme la liste des matériels (même colonnes pertinentes) |
48 | 66 | |
49 | 67 | |
50 | 68 | ------- |
51 | -20/10/2020 NEWS#4 (v4.105.29) : | |
69 | +20/10/2020 (v4.105.29) : | |
52 | 70 | |
53 | 71 | Page "Gestion des fournisseurs" enrichie (/fournisseurs/index) avec : |
54 | 72 | => (superadmin) Bouton "Nettoyer la liste complète" (nettoyage "automagique" de la liste par suppression intelligente des doublons et espaces en trop) |
... | ... | @@ -335,20 +353,14 @@ Commencer à implémenter le nouveau workflow v5 : |
335 | 353 | ======= TODO ======= |
336 | 354 | |
337 | 355 | *) |
356 | + validation (=livré ET payé) | |
357 | + Facture jointe (si > 10K) | |
358 | + | |
359 | + | |
360 | + *) | |
338 | 361 | TESTS !!!! |
339 | 362 | |
340 | 363 | |
341 | - *) | |
342 | - Mettre à jour le diagramme E-T | |
343 | - | |
344 | -"Pensez à coller l'étiquette" | |
345 | -On ne peut pas supprimer les docs attachés d'un matos VALIDATED | |
346 | -Imprimer étiquette : toujours possible ? | |
347 | - | |
348 | - | |
349 | - *) | |
350 | - NEWS#7 ? | |
351 | - | |
352 | 364 | |
353 | 365 | *) |
354 | 366 | Rendre modifiable la config via page web "Gérer les champs obligatoires" |
... | ... | @@ -378,11 +390,26 @@ Imprimer étiquette : toujours possible ? |
378 | 390 | *) |
379 | 391 | On doit pouvoir supprimer un devis sur un matériel commandé (TOBEORDERED) à condition qu'il en reste au moins 1 |
380 | 392 | => du coup, astuce, on peut REMPLACER un devis en ajoutant le nouveau puis en supprimant l'ancien |
381 | - | |
393 | + - (Imprimer étiquette : toujours possible ?) | |
394 | + | |
382 | 395 | |
383 | 396 | ======= CHANGES ======= |
384 | 397 | |
385 | 398 | ------- |
399 | +13/09/2021 v5.2.6-3.7.9 | |
400 | + - NEWSLETTER #5 envoyée | |
401 | + - Mise à jour du diagramme workflow (E-T) pour introduire la nouvelle étape TOBEORDERED ("En Commande") | |
402 | + - Bugfix : infos sur etiquettes affichées SEULEMENT si une étiqueteuse est configurée... | |
403 | + - Message affiché sur l'écran de G après validation et à chaque consultation (view) de la fiche : | |
404 | + - (1) Veuillez imprimer l'étiquette du matériel (et la coller sur le matériel) \n\ | |
405 | + - (2) Pensez à remplir le champ "Inventaire Tutelles' dès que service fait CNRS (GesLab) \n\ | |
406 | + => (Ce message reste affiché sur la fiche du matériel validé \n\ | |
407 | + jusqu'à ce que ces 2 champs soient complétés) | |
408 | + - On ne peut pas modifier ou supprimer le DEVIS d'un matos commandé (TOBEORDERED) | |
409 | + - On ne peut pas modifier ou supprimer les docs attachés d'un matos validé (VALIDATED) | |
410 | + | |
411 | + | |
412 | +------- | |
386 | 413 | 10/09/2021 v5.2.5-3.7.9 |
387 | 414 | - Meilleur choix de couleurs et de positions pour les boutons de validation et de dé-validation |
388 | 415 | - Meilleurs noms et tooltips pour les boutons de dé-validation | ... | ... |
README.md
... | ... | @@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes : |
52 | 52 | |
53 | 53 | -------------------------------------------------------------------------------------------- |
54 | 54 | |
55 | -Date: 10/09/2021 | |
56 | -Version: v5.2.5-3.7.9 | |
55 | +Date: 13/09/2021 | |
56 | +Version: v5.2.6-3.7.9 | |
57 | 57 | |
58 | 58 | |
59 | 59 | ... | ... |
src/Controller/DocumentsController.php
... | ... | @@ -90,10 +90,11 @@ class DocumentsController extends AppController |
90 | 90 | /* |
91 | 91 | * Action 'delete' (suppression d'une entité) |
92 | 92 | * (EP 2021 09) ATTENTION : Outre cette règle de base implémentée ici, |
93 | - * une autre règle (trop complexe pour être gérée par ce biais) est implémentée "EN DUR" dans le code... : | |
94 | - * => On ne doit pas pouvoir supprimer un DEVIS associé à un matériel de status TOBEORDERED (commandé) | |
95 | - * (pas simple comme règle hein ?) | |
96 | - * => implémentée dans le code de l'action delete() de ce controleur | |
93 | + * DEUX autres règles (trop complexes pour être gérées par ce biais) sont implémentées "EN DUR" dans le code... : | |
94 | + * (1) => On ne doit pas pouvoir modifier ou supprimer un DEVIS associé à un matériel de status TOBEORDERED (commandé) | |
95 | + * (2) => On ne doit pouvoir modifier ou supprimer AUCUN document associé à un matériel de status VALIDATED (validé) | |
96 | + * (pas simple comme règle hein ? car elles dépendent du statut d'une autre entité associée à celle-ci : Materiel) | |
97 | + * => implémentées dans le code de l'action delete() de ce controleur | |
97 | 98 | */ |
98 | 99 | $this->setAuthorizationsForAction('delete', [0,1], [ |
99 | 100 | // Mais admin (et superadmin) peut supprimer tous les docs attachés |
... | ... | @@ -569,10 +570,17 @@ class DocumentsController extends AppController |
569 | 570 | |
570 | 571 | $materiel = $this->Documents->Materiels->get($parent_id); |
571 | 572 | |
572 | - // ATTENTION, règle de gestion complexe : | |
573 | - // On ne doit pas pouvoir modifier (ni supprimer) un DEVIS associé à un matériel de status TOBEORDERED (commandé) | |
574 | - if ($document->is_devis && $materiel->is_tobeordered) { | |
575 | - $this->Flash->error(__("Ce matériel est en commande, vous ne pouvez donc pas modifier son devis")); | |
573 | + /* ATTENTION, règles de gestion complexes : | |
574 | + * (1) => On ne doit pas pouvoir (modifier ou) supprimer un DEVIS associé à un matériel de status TOBEORDERED (commandé) | |
575 | + * (2) => On ne doit pouvoir (modifier ou) supprimer AUCUN document associé à un matériel de status VALIDATED (validé) | |
576 | + */ | |
577 | + $CANNOT_EDIT_ERROR_MSG = ''; | |
578 | + // (Règle 1) | |
579 | + if ($materiel->is_tobeordered && $document->is_devis) $CANNOT_EDIT_ERROR_MSG = "Ce matériel est en Commande, vous ne pouvez donc pas modifier son devis"; | |
580 | + // (Règle 2) | |
581 | + elseif ($materiel->is_validated_or_more) $CANNOT_EDIT_ERROR_MSG = "Ce matériel est Validé, vous ne pouvez donc modifier aucun document associé"; | |
582 | + if ($CANNOT_EDIT_ERROR_MSG) { | |
583 | + $this->Flash->error(__($CANNOT_EDIT_ERROR_MSG)); | |
576 | 584 | $this->ACTION_CANCELLED = TRUE; |
577 | 585 | return $this->redirect([ |
578 | 586 | 'controller' => 'materiels', |
... | ... | @@ -580,6 +588,7 @@ class DocumentsController extends AppController |
580 | 588 | $parent_id |
581 | 589 | ]); |
582 | 590 | } |
591 | + | |
583 | 592 | } |
584 | 593 | } |
585 | 594 | |
... | ... | @@ -663,10 +672,17 @@ class DocumentsController extends AppController |
663 | 672 | |
664 | 673 | $materiel = $this->Documents->Materiels->get($parent_id); |
665 | 674 | |
666 | - // ATTENTION, règle de gestion complexe : | |
667 | - // On ne doit pas pouvoir supprimer un DEVIS associé à un matériel de status TOBEORDERED (commandé) | |
668 | - if ($document->is_devis && $materiel->is_tobeordered) { | |
669 | - $this->Flash->error(__("Ce matériel est en commande, vous ne pouvez donc pas supprimer son devis")); | |
675 | + /* ATTENTION, règles de gestion complexes : | |
676 | + * (1) => On ne doit pas pouvoir modifier ou supprimer un DEVIS associé à un matériel de status TOBEORDERED (commandé) | |
677 | + * (2) => On ne doit pouvoir modifier ou supprimer AUCUN document associé à un matériel de status VALIDATED (validé) | |
678 | + */ | |
679 | + $CANNOT_DELETE_ERROR_MSG = ''; | |
680 | + // (Règle 1) | |
681 | + if ($materiel->is_tobeordered && $document->is_devis) $CANNOT_DELETE_ERROR_MSG = "Ce matériel est en Commande, vous ne pouvez donc pas supprimer son devis"; | |
682 | + // (Règle 2) | |
683 | + elseif ($materiel->is_validated_or_more) $CANNOT_DELETE_ERROR_MSG = "Ce matériel est Validé, vous ne pouvez donc supprimer aucun document associé"; | |
684 | + if ($CANNOT_DELETE_ERROR_MSG) { | |
685 | + $this->Flash->error(__($CANNOT_DELETE_ERROR_MSG)); | |
670 | 686 | $this->ACTION_CANCELLED = TRUE; |
671 | 687 | return $this->redirect([ |
672 | 688 | 'controller' => 'materiels', | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -1890,6 +1890,21 @@ class MaterielsController extends AppController { |
1890 | 1890 | //$emails = $this->sendNotificationForEntityAction($materiel); |
1891 | 1891 | //debug($emails); |
1892 | 1892 | |
1893 | + /* | |
1894 | + * Si le materiel est VALIDATED : | |
1895 | + * - l'étiquette doit être imprimée (et collée) | |
1896 | + * - le n° inventaire tutelles doit être renseigné | |
1897 | + * Si ça n'est pas le cas, on affiche un message de rappel sur cette vue détaillée | |
1898 | + */ | |
1899 | + $LABEL_NOT_PRINTED = false; | |
1900 | + $NUM_INV_TUTELLES_NOT_FILLED = false; | |
1901 | + if ($entity->is_validated) { | |
1902 | + if ($CAN_PRINT_LABEL) $LABEL_NOT_PRINTED = ! $entity->etiquette; | |
1903 | + $NUM_INV_TUTELLES_NOT_FILLED = empty($entity->numero_inventaire_organisme); | |
1904 | + if ($LABEL_NOT_PRINTED) $this->Flash->set("Cette fiche est validée mais n'oubliez pas d'imprimer l'étiquette associée et de la coller sur le matériel"); | |
1905 | + if ($NUM_INV_TUTELLES_NOT_FILLED) $this->Flash->set("Cette fiche est validée mais vous n'avez pas encore rempli le champ 'N° inventaire comptable/tutelles'"); | |
1906 | + } | |
1907 | + | |
1893 | 1908 | } // view |
1894 | 1909 | |
1895 | 1910 | |
... | ... | @@ -2678,16 +2693,18 @@ class MaterielsController extends AppController { |
2678 | 2693 | // Gestionnaires (id=>name): |
2679 | 2694 | 'gestionnaires' |
2680 | 2695 | )); |
2696 | + | |
2697 | + | |
2681 | 2698 | //debug($this->Materiels->getUneditableFieldsForMaterielStatus($status)); exit; |
2682 | 2699 | $this->set('readonlyFields', $IS_ADD ? [] : $this->Materiels->getUneditableFieldsForMaterielStatus($materiel->status)); |
2683 | - | |
2700 | + $this->set('CAN_PRINT_LABEL', $this->isAuthorizedActionForCurrentUser('printLabelRuban', $id)); | |
2684 | 2701 | |
2685 | 2702 | /* (EP) INUTILE (sauf pour faire du json ou xml) !!! |
2686 | 2703 | $this->set('_serialize', [ |
2687 | 2704 | 'materiel', |
2688 | 2705 | ]); |
2689 | 2706 | */ |
2690 | - | |
2707 | + | |
2691 | 2708 | } //add_or_edit() |
2692 | 2709 | |
2693 | 2710 | ... | ... |
src/Model/Entity/Materiel.php
... | ... | @@ -153,6 +153,7 @@ class Materiel extends Entity { |
153 | 153 | //return $this->status == 'CREATED'; |
154 | 154 | protected function _getIsTobeordered() { return $this->status == 'TOBEORDERED'; } |
155 | 155 | protected function _getIsValidated() { return $this->status == 'VALIDATED'; } |
156 | + protected function _getIsValidatedOrMore() { return in_array($this->status, ['VALIDATED', 'TOBEARCHIVED', 'ARCHIVED']); } | |
156 | 157 | //protected function _getIsValidated() { return $this->_fields['status'] == 'VALIDATED'; } |
157 | 158 | //public function is_tobearchived() { return $this->status == 'TOBEARCHIVED'; } |
158 | 159 | protected function _getIsTobearchived() { return $this->status == 'TOBEARCHIVED'; } |
... | ... | @@ -162,7 +163,7 @@ class Materiel extends Entity { |
162 | 163 | //if ($this->is_created) return 'À VALIDER'; |
163 | 164 | if ($this->is_created) return 'CRÉÉ - à valider'; |
164 | 165 | if ($this->is_tobeordered) return 'EN COMMANDE - à valider'; |
165 | - if ($this->is_validated) return 'VALIDÉ - livré'; | |
166 | + if ($this->is_validated) return 'VALIDÉ - livré & payé'; | |
166 | 167 | if ($this->is_tobearchived) return 'À SORTIR'; |
167 | 168 | //if ($this->is_archived) |
168 | 169 | return 'ARCHIVÉ'; | ... | ... |
src/Template/Materiels/add_edit.ctp
... | ... | @@ -74,6 +74,7 @@ $dateProchainControleVerif = $dateProchainControleVerif; |
74 | 74 | // add or edit mode ? true=add ; false=edit |
75 | 75 | $IS_ADD = $IS_ADD; |
76 | 76 | $IS_EDIT = !$IS_ADD; |
77 | +$CAN_PRINT_LABEL = $CAN_PRINT_LABEL; | |
77 | 78 | |
78 | 79 | $entity = $entity; |
79 | 80 | // @deprecated |
... | ... | @@ -588,7 +589,7 @@ if (isset($cpMateriel)) { |
588 | 589 | } |
589 | 590 | |
590 | 591 | // - Etiquette posée ? |
591 | - if ($USER_IS_RESPONSABLE_OR_MORE) { | |
592 | + if ($CAN_PRINT_LABEL && $USER_IS_RESPONSABLE_OR_MORE) { | |
592 | 593 | /* |
593 | 594 | * } |
594 | 595 | * if (in_array($role, [ | ... | ... |
src/Template/Materiels/view.ctp
... | ... | @@ -555,7 +555,7 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN |
555 | 555 | |
556 | 556 | // - Bouton "Imprimer étiquette" |
557 | 557 | $echoActionButton($this->Html, 'icon-print', $bStyle, |
558 | - ' étiquette', '', 'printLabelRuban', h($entity->id), [], | |
558 | + ' Etiquette', '', 'printLabelRuban', h($entity->id), [], | |
559 | 559 | "Imprimer une étiquette"); |
560 | 560 | |
561 | 561 | // - Bouton "Etiquette [non] collée" |
... | ... | @@ -697,7 +697,7 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN |
697 | 697 | $displayElement(__('Organisme'), $entity->has('organisme') ? h($entity->organisme->nom) : ''); |
698 | 698 | |
699 | 699 | $etiq = (h($entity->etiquette) == 0) ? "Non" : "Oui"; |
700 | - $displayElement(__('Étiquette placée'), $etiq, $etiq=="Oui"?$style_green:$style_red); | |
700 | + if ($CAN_PRINT_LABEL) $displayElement(__('Étiquette placée'), $etiq, $etiq=="Oui"?$style_green:$style_red); | |
701 | 701 | |
702 | 702 | $displayElement(__('N° de série'), $entity->numero_serie); |
703 | 703 | ... | ... |
webroot/doc/diagrams/Materiel_status_state_diagram_v5_2021_09.png
webroot/doc/diagrams/Materiel_status_state_diagram_v5_2021_09.txt
... | ... | @@ -13,7 +13,7 @@ __CYCLE DE VIE D'UN MATÉRIEL (SES 5 ÉTATS)__ |
13 | 13 | end title |
14 | 14 | |
15 | 15 | |
16 | -state "**CREATED** (fiche créée, matériel à commander ou valider)" as CREATED | |
16 | +state "**CREATED** (fiche créée, matériel à valider)" as CREATED | |
17 | 17 | state "**TOBEORDERED** (en commande)" as TOBEORDERED |
18 | 18 | state "**VALIDATED** (fiche validée, matériel livré et payé)" as VALIDATED |
19 | 19 | state "**TOBEARCHIVED** (à sortir)" as TOBEARCHIVED |
... | ... | @@ -33,8 +33,7 @@ CREATED -u-> [*]: \l**Supprimer** (delete)\n(par C, un R, ou un G) \ |
33 | 33 | \n => <&envelope-open> (INFO "Fiche supprimée") : \ |
34 | 34 | \n GR (cc Gestion), C/U, R(s) |
35 | 35 | |
36 | -CREATED: Si c'est une commande, le matériel est en attente de commande (par un G) \n\ | |
37 | -(La section administrative ne peut être saisie que par un G) \n\n\ | |
36 | +CREATED: La section administrative ne peut être saisie que par un G | |
38 | 37 | |
39 | 38 | CREATED --> CREATED: \l**__Actions possibles__ :**\n\ |
40 | 39 | - **Supprimer** \n\ |
... | ... | @@ -55,7 +54,7 @@ Infos obligatoires (LOT1 = LOT 0 + ...) : \n\ |
55 | 54 | => <&envelope-open> (COMMANDE) : GR (cc Gestion) [avec __devis joint__] \ |
56 | 55 | \n => <&envelope-open> (INFO) : C/U, R(s) |
57 | 56 | |
58 | -TOBEORDERED: Une demande d'achat est faite \nà la Gestion pour ce matériel | |
57 | +TOBEORDERED: Une demande d'achat est faite \nà la Gestion pour ce matériel\n(étape optionnelle) | |
59 | 58 | |
60 | 59 | TOBEORDERED --> CREATED: \l**Annuler Commande** \n(par un G)\n => <&envelope-open> (INFO) : C/U, R(s) \n\ |
61 | 60 | |
... | ... | @@ -76,19 +75,25 @@ TOBEORDERED --> VALIDATED: \l**Valider livraison** \n\ |
76 | 75 | CREATED --> VALIDATED: \l**Valider livraison** \n\ |
77 | 76 | (par un G) \n\ |
78 | 77 | Infos obligatoires (LOT2 = LOT1 + ...) \n\ |
79 | - => <&envelope-open> (INFO facture payée) : C/U\n(+ "pensez à coller l'étiquette !") | |
78 | + => <&envelope-open> (INFO "matériel livré & facture payée") : C/U\n\ | |
79 | + (+ "pensez à imprimer & coller l'étiquette")\n\ | |
80 | + (+ "pensez à remplir le champ 'num. inventaire tutelle'") | |
80 | 81 | |
81 | 82 | VALIDATED --> CREATED : \l **Invalider** \n (par un G) \n => <&envelope-open> : C/U |
82 | 83 | |
83 | -VALIDATED: Le matériel a été livré et payé, \net son étiquette imprimée \n(et collée si posible) | |
84 | +VALIDATED: Le matériel a été livré et la facture payée. \n\n\ | |
85 | + Message affiché sur l'écran de G :\n\ | |
86 | + - (1) Veuillez imprimer & coller l'étiquette du matériel \n\ | |
87 | + - (2) Pensez à remplir le champ "Inventaire Tutelles' dès que service fait CNRS (GesLab) \n\ | |
88 | + => (reste affiché sur fiche du matériel jusqu'à ce que ces 2 actions soient faites) | |
84 | 89 | |
85 | 90 | VALIDATED --> VALIDATED: \l**__Actions posibles__ :**\n\ |
86 | -- **Modifier** (edit) \n (par C/U, un R, ou un G) \n (LOT2 reste obligatoire et certains champs NON MODIFIABLES)) \n (//NB: on ne doit pas pouvoir modifier la "nature" du bien)// \n => <&envelope-open> : C/U, GR \n\ | |
87 | 91 | - **Ajouter documents attachés** (par C/U, un R, ou un G) \n (mais on ne peut pas supprimer les documents déjà attachés) \n\ |
88 | 92 | - **Imprimer fiche ENTRÉE matériel** (par un G) \n\ |
89 | 93 | - **Prêter** (par C/U ou un R) \n\ |
90 | 94 | - **Faire un Suivi** (par C/U ou un R) \n\ |
91 | -- **Imprimer étiquette** (date cde + tutelle [+ n° inventaire tutelle]) (par C/U, un R, ou un G) | |
95 | +- **Imprimer étiquette** (date cde + tutelle [+ n° inventaire tutelle]) (par C/U, un R, ou un G) \n\ | |
96 | +- **Modifier** (edit) \n (par C/U, un R, ou un G) \n (LOT2 reste obligatoire et certains champs NON MODIFIABLES)) \n (//NB: on ne doit pas pouvoir modifier la "nature" du bien)// \n => <&envelope-open> : C/U, GR \n\ | |
92 | 97 | |
93 | 98 | |
94 | 99 | |
... | ... | @@ -106,6 +111,9 @@ TOBEARCHIVED --> VALIDATED : \l **Annuler demande sortie** \n\ |
106 | 111 | |
107 | 112 | TOBEARCHIVED: Le matériel est en instance de sortie d'inventaire |
108 | 113 | |
114 | +TOBEARCHIVED --> TOBEARCHIVED: \l**__Actions posibles__ :** idem VALIDATED \n\ | |
115 | + | |
116 | + | |
109 | 117 | |
110 | 118 | ' ========================== |
111 | 119 | ' 4) SORTIE |
... | ... | @@ -115,14 +123,15 @@ TOBEARCHIVED --> ARCHIVED : \l**Archiver (sortir de l'inventaire)** (archive) \n |
115 | 123 | (par un G) \ |
116 | 124 | \n => <&envelope-open> : C/U |
117 | 125 | |
118 | -ARCHIVED --> VALIDATED : \l **Désarchiver** \n\ | |
126 | +ARCHIVED --> TOBEARCHIVED : \l **Désarchiver** \n\ | |
119 | 127 | (par un G) \ |
120 | 128 | \n => <&envelope-open> : C/U |
121 | 129 | |
122 | 130 | ARCHIVED: Le matériel n'est plus visible (sauf par un G) |
123 | 131 | |
124 | -ARCHIVED --> ARCHIVED: \l**Imprimer fiche SORTIE matériel** \n\ | |
125 | -(par un G) | |
132 | +ARCHIVED --> ARCHIVED: \l**AUCUNE ACTION disponible sauf** :\n\ | |
133 | +- **Imprimer fiche SORTIE** matériel** (par un G) \n\ | |
134 | +- **Imprimer étiquette** (date cde + tutelle [+ n° inventaire tutelle]) (par C/U, un R, ou un G) | |
126 | 135 | |
127 | 136 | |
128 | 137 | |
... | ... | @@ -137,7 +146,7 @@ skinparam legendFontSize 11 |
137 | 146 | legend left |
138 | 147 | <u>Légende</u>: |
139 | 148 | |
140 | -Diagramme UML d'États-Transitions du 10/09/2021 - Logiciel LabInvent v5.x - E. Pallier - IRAP | |
149 | +Diagramme UML d'États-Transitions du 13/09/2021 - Logiciel LabInvent v5.x - E. Pallier - IRAP | |
141 | 150 | |
142 | 151 | Acteurs: |
143 | 152 | - C = Créateur : la personne qui crée la fiche (ou celle qui commande le matériel) | ... | ... |