Commit 0e046fd3452cf2c2e2a2274b9d05623f8c974016
1 parent
59d86a3b
Exists in
master
and in
1 other branch
Amélioration présentation page de configuration des champs obligatoires
v5.3.5-3.7.9
Showing
7 changed files
with
86 additions
and
16 deletions
Show diff stats
CHANGELOG
@@ -13,11 +13,12 @@ CHANGEMENTS | @@ -13,11 +13,12 @@ CHANGEMENTS | ||
13 | 13 | ||
14 | 14 | ||
15 | ------- | 15 | ------- |
16 | -03/11/2021 NEWS#6 (v5.2.22) : | 16 | +22/11/2021 NEWS#6 (v5.3.4) : |
17 | + | ||
18 | +- Champs obligatoires, modifiables, et readonly, désormais configurables via page web | ||
17 | 19 | ||
18 | - Domaines, Catégories, et Sous-Catégories enfin gérables plus facilement | 20 | - Domaines, Catégories, et Sous-Catégories enfin gérables plus facilement |
19 | 21 | ||
20 | -(TODO) - Champs obligatoires, modifiables, et readonly, désormais configurables via page web | ||
21 | 22 | ||
22 | 23 | ||
23 | ------- | 24 | ------- |
@@ -501,6 +502,18 @@ Warning (2): Cannot modify header information - headers already sent by (output | @@ -501,6 +502,18 @@ Warning (2): Cannot modify header information - headers already sent by (output | ||
501 | 502 | ||
502 | TODO : | 503 | TODO : |
503 | 504 | ||
505 | +- besoin IP2I/LMA : | ||
506 | +=> restreindre l’accès de certains équipements du LMA aux utilisateurs du LMA seulement et qu'ils ne soient pas visibles ou consultables par tous les utilisateurs IP2I | ||
507 | +=> Implémentation possible : | ||
508 | +2 possibilités : | ||
509 | + - Définir LMA dans la liste des "Sites" => mais ça correspond pas vraiment à la notion de site = lieu géographique | ||
510 | + - Ajouter une nouvelle notion de "Département" | ||
511 | +- Associer les matériels sensibles à ce Site (ou Dépt), et cocher la case "materiel sensible" | ||
512 | +- Associer les utilisateurs du LMA à ce Site (ou Dépt) | ||
513 | +=> Régle : les matériels sensibles ne sont vus que par les utilisateurs du même Site (ou Dépt) (ici LMA) : | ||
514 | + - pour materiels/view(/edit/delete) => le user courant ne peut pas voir un materiel "sensible" qui n'est pas du même Site (Dépt) que lui | ||
515 | + - pour materiels/index et /find et /export => il faut exclure les matos "sensibles" qui ne sont pas du même site que le user courant | ||
516 | + - materiels/index : on peut ajouter un filtre "Site" (et Dépt), et un filtre "tous/matos sensible/matos non sensible" | ||
504 | 517 | ||
505 | - add_or_edit() générique | 518 | - add_or_edit() générique |
506 | 519 | ||
@@ -604,6 +617,10 @@ Ne pas autoriser la commande via url si le bouton order est désactivé dans la | @@ -604,6 +617,10 @@ Ne pas autoriser la commande via url si le bouton order est désactivé dans la | ||
604 | ======= CHANGES ======= | 617 | ======= CHANGES ======= |
605 | 618 | ||
606 | ------- | 619 | ------- |
620 | +23/11/2021 v5.3.5-3.7.9 | ||
621 | + - (e) Amélioration de la présentation de la page de configuration des champs obligatoires | ||
622 | + | ||
623 | +------- | ||
607 | 22/11/2021 v5.3.4-3.7.9 | 624 | 22/11/2021 v5.3.4-3.7.9 |
608 | - (b) Bugfix : Bouton "Commander" ne doit pas être affiché si désactivé dans la config | 625 | - (b) Bugfix : Bouton "Commander" ne doit pas être affiché si désactivé dans la config |
609 | - (b) Bugfix : commentaires des sections (fieldsets) pas sauvegardés après une modif de la config champs obligatoires | 626 | - (b) Bugfix : commentaires des sections (fieldsets) pas sauvegardés après une modif de la config champs obligatoires |
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: 22/11/2021 | 55 | Date: 22/11/2021 |
56 | -Version: v5.3.4-3.7.9 | 56 | +Version: v5.3.5-3.7.9 |
57 | 57 | ||
58 | 58 | ||
59 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | 59 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) |
config/app_labinvent_mandatory_fields.default.yml
@@ -5,7 +5,7 @@ MANDATORY_AND_READONLY_FIELDS: | @@ -5,7 +5,7 @@ MANDATORY_AND_READONLY_FIELDS: | ||
5 | HAS_ORDER_BUTTON: { selected: '1', comment: 'Ajouter un bouton COMMANDE sur la fiche matériel ?' } } | 5 | HAS_ORDER_BUTTON: { selected: '1', comment: 'Ajouter un bouton COMMANDE sur la fiche matériel ?' } } |
6 | 6 | ||
7 | UNEDITABLE_FIELDS: { | 7 | UNEDITABLE_FIELDS: { |
8 | - fieldset_comment: Champs non modifiables, | 8 | + fieldset_comment: Champs non modifiables dès le début, |
9 | designation: { selected: '0', comment: Désignation, except_roles: '' }, | 9 | designation: { selected: '0', comment: Désignation, except_roles: '' }, |
10 | description: { selected: '0', comment: 'Description, commentaire explicatif', except_roles: '' }, | 10 | description: { selected: '0', comment: 'Description, commentaire explicatif', except_roles: '' }, |
11 | nom_responsable: { selected: '1', comment: 'nom du responsable', except_roles: [Responsable, Administration] }, | 11 | nom_responsable: { selected: '1', comment: 'nom du responsable', except_roles: [Responsable, Administration] }, |
@@ -34,7 +34,7 @@ MANDATORY_AND_READONLY_FIELDS: | @@ -34,7 +34,7 @@ MANDATORY_AND_READONLY_FIELDS: | ||
34 | # LOT 1 - Demamnde d'Achat (Commande) | 34 | # LOT 1 - Demamnde d'Achat (Commande) |
35 | 35 | ||
36 | MANDATORY_FIELDS_FOR_LOT1: { | 36 | MANDATORY_FIELDS_FOR_LOT1: { |
37 | - fieldset_comment: Champs obligatoires pour passer la COMMANDE, | 37 | + fieldset_comment: 'Champs obligatoires pour passer la COMMANDE, en plus du LOT 0', |
38 | organisme_id: { selected: '1', comment: Organisme, except_roles: '' }, | 38 | organisme_id: { selected: '1', comment: Organisme, except_roles: '' }, |
39 | prix_ht: { selected: '1', comment: 'Prix HT', except_roles: '' }, | 39 | prix_ht: { selected: '1', comment: 'Prix HT', except_roles: '' }, |
40 | resp_credit: { selected: '1', comment: 'Responsable du crédit', except_roles: '' }, | 40 | resp_credit: { selected: '1', comment: 'Responsable du crédit', except_roles: '' }, |
@@ -44,7 +44,7 @@ MANDATORY_AND_READONLY_FIELDS: | @@ -44,7 +44,7 @@ MANDATORY_AND_READONLY_FIELDS: | ||
44 | DOC_DEVIS: { selected: '1', comment: Devis, except_roles: '' } } | 44 | DOC_DEVIS: { selected: '1', comment: Devis, except_roles: '' } } |
45 | 45 | ||
46 | UNEDITABLE_FIELDS_AFTER_LOT1: { | 46 | UNEDITABLE_FIELDS_AFTER_LOT1: { |
47 | - fieldset_comment: Champs non modifiables après avoir passé la COMMANDE, | 47 | + fieldset_comment: 'Champs non modifiables après avoir passé la COMMANDE, en plus du LOT 0', |
48 | sur_categorie_id: { selected: '1', comment: 'Domaine', except_roles: [Administration] }, categorie_id: { selected: '1', comment: '', except_roles: [Administration] }, | 48 | sur_categorie_id: { selected: '1', comment: 'Domaine', except_roles: [Administration] }, categorie_id: { selected: '1', comment: '', except_roles: [Administration] }, |
49 | resp_credit: { selected: '1', comment: 'Responsable du crédit', except_roles: [Administration] }, | 49 | resp_credit: { selected: '1', comment: 'Responsable du crédit', except_roles: [Administration] }, |
50 | gestionnaire_id: { selected: '1', comment: 'Gestionnaire de référence', except_roles: [Administration] }, | 50 | gestionnaire_id: { selected: '1', comment: 'Gestionnaire de référence', except_roles: [Administration] }, |
@@ -56,14 +56,14 @@ MANDATORY_AND_READONLY_FIELDS: | @@ -56,14 +56,14 @@ MANDATORY_AND_READONLY_FIELDS: | ||
56 | DOC_BC: { selected: '1', comment: 'BC joint', except_roles: [Administration] } } | 56 | DOC_BC: { selected: '1', comment: 'BC joint', except_roles: [Administration] } } |
57 | 57 | ||
58 | RECOMMENDED_FIELDS_AFTER_LOT1: { | 58 | RECOMMENDED_FIELDS_AFTER_LOT1: { |
59 | - fieldset_comment: Champs non obligatoires mais recommandés après avoir passé la COMMANDE, | 59 | + fieldset_comment: 'Champs non obligatoires mais recommandés après avoir passé la COMMANDE, en plus du LOT 0', |
60 | etiquette: { selected: '0', comment: 'd''imprimer l''étiquette associée et de la coller sur le matériel', except_roles: '' }, numero_inventaire_organisme: { selected: '0', comment: 'de renseigner le champ ''N° inventaire comptable/tutelles _Organisme_''', except_roles: '' }, DOC_BC: { selected: '0', comment: 'd''ajouter le Bon de Commande', except_roles: '' }, DOC_BL: { selected: '0', comment: 'd''ajouter le Bon de Livraison', except_roles: '' }, DOC_FACTURE: { selected: '0', comment: 'd''ajouter la Facture', except_roles: '' } } | 60 | etiquette: { selected: '0', comment: 'd''imprimer l''étiquette associée et de la coller sur le matériel', except_roles: '' }, numero_inventaire_organisme: { selected: '0', comment: 'de renseigner le champ ''N° inventaire comptable/tutelles _Organisme_''', except_roles: '' }, DOC_BC: { selected: '0', comment: 'd''ajouter le Bon de Commande', except_roles: '' }, DOC_BL: { selected: '0', comment: 'd''ajouter le Bon de Livraison', except_roles: '' }, DOC_FACTURE: { selected: '0', comment: 'd''ajouter la Facture', except_roles: '' } } |
61 | 61 | ||
62 | 62 | ||
63 | # LOT 2 - Validation, Livraison (matériel livré et payé) | 63 | # LOT 2 - Validation, Livraison (matériel livré et payé) |
64 | 64 | ||
65 | MANDATORY_FIELDS_FOR_LOT2: { | 65 | MANDATORY_FIELDS_FOR_LOT2: { |
66 | - fieldset_comment: Champs obligatoires pour valider la livraison, | 66 | + fieldset_comment: 'Champs obligatoires pour valider la livraison, en plus du LOT 1', |
67 | date_acquisition: { selected: '1', comment: 'Date d''achat', except_roles: '' }, | 67 | date_acquisition: { selected: '1', comment: 'Date d''achat', except_roles: '' }, |
68 | date_reception: { selected: '1', comment: 'Date de livraison', except_roles: '' }, | 68 | date_reception: { selected: '1', comment: 'Date de livraison', except_roles: '' }, |
69 | site_id: { selected: '1', comment: Site, except_roles: '' }, | 69 | site_id: { selected: '1', comment: Site, except_roles: '' }, |
@@ -73,7 +73,7 @@ MANDATORY_AND_READONLY_FIELDS: | @@ -73,7 +73,7 @@ MANDATORY_AND_READONLY_FIELDS: | ||
73 | DOC_DEVIS: { selected: '1', comment: 'Devis joint', except_roles: '' } } | 73 | DOC_DEVIS: { selected: '1', comment: 'Devis joint', except_roles: '' } } |
74 | 74 | ||
75 | UNEDITABLE_FIELDS_AFTER_LOT2: { | 75 | UNEDITABLE_FIELDS_AFTER_LOT2: { |
76 | - fieldset_comment: Champs non modifiables après validation de la livraison, | 76 | + fieldset_comment: 'Champs non modifiables après validation de la livraison, en plus du LOT 1', |
77 | sur_categorie_id: { selected: '1', comment: 'Domaine', except_roles: '' }, | 77 | sur_categorie_id: { selected: '1', comment: 'Domaine', except_roles: '' }, |
78 | categorie_id: { selected: '1', comment: 'Catégorie', except_roles: '' }, | 78 | categorie_id: { selected: '1', comment: 'Catégorie', except_roles: '' }, |
79 | date_acquisition: { selected: '1', comment: 'Date de commande', except_roles: '' }, | 79 | date_acquisition: { selected: '1', comment: 'Date de commande', except_roles: '' }, |
@@ -85,7 +85,7 @@ MANDATORY_AND_READONLY_FIELDS: | @@ -85,7 +85,7 @@ MANDATORY_AND_READONLY_FIELDS: | ||
85 | DOC_FACTURE: { selected: '1', comment: 'Facture jointe', except_roles: '' } } | 85 | DOC_FACTURE: { selected: '1', comment: 'Facture jointe', except_roles: '' } } |
86 | 86 | ||
87 | RECOMMENDED_FIELDS_AFTER_LOT2: { | 87 | RECOMMENDED_FIELDS_AFTER_LOT2: { |
88 | - fieldset_comment: Champs non obligatoires mais recommandés après validation de la livraison, | 88 | + fieldset_comment: 'Champs non obligatoires mais recommandés après validation de la livraison, en plus du LOT 1', |
89 | etiquette: { selected: '1', comment: 'd''imprimer l''étiquette associée et de la coller sur le matériel', except_roles: '' }, | 89 | etiquette: { selected: '1', comment: 'd''imprimer l''étiquette associée et de la coller sur le matériel', except_roles: '' }, |
90 | numero_inventaire_organisme: { selected: '1', comment: 'de renseigner le champ ''N° inventaire comptable/tutelles _Organisme_''', except_roles: '' }, | 90 | numero_inventaire_organisme: { selected: '1', comment: 'de renseigner le champ ''N° inventaire comptable/tutelles _Organisme_''', except_roles: '' }, |
91 | numero_serie: { selected: '0', comment: 'de renseigner le numéro de série du matériel', except_roles: '' }, | 91 | numero_serie: { selected: '0', comment: 'de renseigner le numéro de série du matériel', except_roles: '' }, |
doc/LabInvent_Config.pdf
No preview for this file type
No preview for this file type
src/Template/ConfigurationFields/edit.ctp
@@ -33,6 +33,7 @@ $icon = $READONLY ? '' : "<i class='icon-edit'></i>"; | @@ -33,6 +33,7 @@ $icon = $READONLY ? '' : "<i class='icon-edit'></i>"; | ||
33 | //$title = "Configuration des champs obligatoires ou non modifiables de la fiche Matériel $end"; | 33 | //$title = "Configuration des champs obligatoires ou non modifiables de la fiche Matériel $end"; |
34 | $title = "Configuration des champs obligatoires ou non modifiables de la fiche Matériel"; | 34 | $title = "Configuration des champs obligatoires ou non modifiables de la fiche Matériel"; |
35 | echo "<br><h2>$icon $title</h2><br>"; | 35 | echo "<br><h2>$icon $title</h2><br>"; |
36 | + | ||
36 | /* | 37 | /* |
37 | Autres icones possibles : | 38 | Autres icones possibles : |
38 | echo "<br><h2><i class='icon-edit'></i> $title</h2><br><br>"; | 39 | echo "<br><h2><i class='icon-edit'></i> $title</h2><br><br>"; |
@@ -41,13 +42,61 @@ echo "<br><h2><i class='icon-plus'></i> $title</h2><br><br>"; | @@ -41,13 +42,61 @@ echo "<br><h2><i class='icon-plus'></i> $title</h2><br><br>"; | ||
41 | echo "<br><h2><i class='icon-pencil'></i> $title</h2><br><br>"; | 42 | echo "<br><h2><i class='icon-pencil'></i> $title</h2><br><br>"; |
42 | echo "<br><h2><i class='icon-trash'></i> $title</h2><br><br>"; | 43 | echo "<br><h2><i class='icon-trash'></i> $title</h2><br><br>"; |
43 | */ | 44 | */ |
44 | - | ||
45 | -if ($READONLY && $CAN_EDIT) { | ||
46 | - $this->MyHelper->echoEditButton(); | ||
47 | - $this->MyHelper->echoButtonForAction('icon-trash', 'reset-to-default', 'Remettre les valeurs par défaut', 'Remettre les valeurs par défaut', true); | ||
48 | - echo '<br><br>'; | 45 | +function echo_buttons($READONLY, $CAN_EDIT, $helper) { |
46 | + if ($READONLY && $CAN_EDIT) { | ||
47 | + echo "<table><tr>"; | ||
48 | + echo "<td>"; | ||
49 | + $helper->echoEditButton(); | ||
50 | + echo "</td>"; | ||
51 | + echo "<td>"; | ||
52 | + $helper->echoButtonForAction('icon-trash', 'reset-to-default', 'Remettre les valeurs par défaut', 'Remettre les valeurs par défaut', true); | ||
53 | + echo "</td>"; | ||
54 | + echo "</tr></table>"; | ||
55 | + } | ||
49 | } | 56 | } |
50 | 57 | ||
58 | +echo_buttons($READONLY, $CAN_EDIT, $this->MyHelper); | ||
59 | + | ||
60 | +?> | ||
61 | + | ||
62 | +<div id="Présentation"> | ||
63 | + | ||
64 | +<p> | ||
65 | +Cette page vous permet de configurer les <b>champs obligatoires, recommandés, et/ou readonly de la fiche matériel</b>, ce qui vous permet de customiser le comportement de ce logiciel selon vos besoins. | ||
66 | +</p> | ||
67 | + | ||
68 | +<p> | ||
69 | +Il vous suffit de cocher/décocher les champs qui sont obligatoires (ou recommandés, ou readonly) à chaque étape (aussi appelée LOT) : | ||
70 | +<ul> | ||
71 | + <li>(LOT-0) pour <b>créer</b> la fiche</li> | ||
72 | + | ||
73 | + <li>(LOT-1) pour <b>commander</b> un matériel (demande d'achat) : cette étape est optionnelle et désactivable (via cette même page web)</li> | ||
74 | + | ||
75 | + <li>(LOT-2) pour <b>valider</b> un matériel (le déclarer payé et livré)</li> | ||
76 | +</ul> | ||
77 | +</p> | ||
78 | + | ||
79 | +</p> | ||
80 | +En plus de définir les champs obligatoires, vous pouvez aussi définir : | ||
81 | +<ul> | ||
82 | + <li>les champs <b>readonly</b>, qui ne sont plus modifiables APRÈS chaque étape</li> | ||
83 | + <li>les champs qui ne sont pas obligatoires mais <b>recommandés</b> APRÈS chaque étape : si un de ces champs n'est pas rempli après l'étape, un message de rappel est affiché sur la fiche détaillée du matériel pour inciter à remplir ce champ (mais sans obligation, juste un rappel systématique)</li> | ||
84 | +</ul> | ||
85 | +<br> | ||
86 | + | ||
87 | +<p> | ||
88 | +Enfin, si vous avez fait une erreur et voulez <b>revenir à la configuration par défaut</b>, pas de panique, il suffit de cliquer sur le bouton 'Remettre les valeurs par défaut'. | ||
89 | +</p> | ||
90 | +<br> | ||
91 | +<hr> | ||
92 | +<br> | ||
93 | + | ||
94 | +</div> | ||
95 | + | ||
96 | + | ||
97 | +<?php | ||
98 | + | ||
99 | + | ||
51 | //echo $this->Html->icon('pencil'); | 100 | //echo $this->Html->icon('pencil'); |
52 | 101 | ||
53 | echo $this->Form->create($contact); | 102 | echo $this->Form->create($contact); |
@@ -175,5 +224,6 @@ echo $this->Form->create($contact); | @@ -175,5 +224,6 @@ echo $this->Form->create($contact); | ||
175 | 224 | ||
176 | echo $this->Form->end(); | 225 | echo $this->Form->end(); |
177 | 226 | ||
178 | -if ($READONLY && $CAN_EDIT) $this->MyHelper->echoEditButton(); | ||
179 | 227 | ||
228 | +echo_buttons($READONLY, $CAN_EDIT, $this->MyHelper); | ||
229 | +//if ($READONLY && $CAN_EDIT) $this->MyHelper->echoEditButton(); |
src/Template/Pages/changes.ctp
@@ -78,9 +78,12 @@ $line = ''; while ($line != SECTION_NEWS) $line = fgets($f); | @@ -78,9 +78,12 @@ $line = ''; while ($line != SECTION_NEWS) $line = fgets($f); | ||
78 | 78 | ||
79 | 79 | ||
80 | // 2) Lecture et affichage section NEWS (les grandes nouveautés) | 80 | // 2) Lecture et affichage section NEWS (les grandes nouveautés) |
81 | +echo '<br>'; | ||
81 | echo '<a id="news">'; | 82 | echo '<a id="news">'; |
82 | echo "<h3>LES GRANDS CHANGEMENTS (NEWS)</h3>"; | 83 | echo "<h3>LES GRANDS CHANGEMENTS (NEWS)</h3>"; |
83 | echo '</a>'; | 84 | echo '</a>'; |
85 | +echo '<br>'; | ||
86 | + | ||
84 | // On zappe jqa la première section | 87 | // On zappe jqa la première section |
85 | $line = ''; while ($line != NEW_BLOCK) $line = fgets($f); | 88 | $line = ''; while ($line != NEW_BLOCK) $line = fgets($f); |
86 | while(!feof($f)) { | 89 | while(!feof($f)) { |