Commit dc537e7b66723f44f79082f351ef7f9a6c1d18f4
1 parent
daace6c6
Exists in
master
and in
1 other branch
Bugfix : commentaires des sections (fieldsets) pas sauvegardés
(après une édition de la config champs obligatoires) v5.3.3-3.7.9
Showing
5 changed files
with
91 additions
and
27 deletions
Show diff stats
CHANGELOG
... | ... | @@ -593,15 +593,22 @@ TODO config fields : |
593 | 593 | (quand il manque un champ pour valider), et pourtant bien enregistré dans listes des fournisseurs |
594 | 594 | |
595 | 595 | |
596 | + | |
597 | +config + jolie : fieldset dépliable et joli (voir echoSectionStart() de MyHelperHelper) | |
598 | + | |
599 | +Utiliser les champs 'comment' de la config pour les labels des champs dans materiels/view et /add_edit | |
600 | + | |
601 | + | |
596 | 602 | ======= CHANGES ======= |
597 | 603 | |
598 | 604 | ------- |
599 | -22/11/2021 v5.3.2-3.7.9 | |
605 | +22/11/2021 v5.3.3-3.7.9 | |
606 | + - (b) Bugfix : commentaires des sections (fieldsets) pas sauvegardés après une modif de la config champs obligatoires | |
607 | + - (b) Bugfix : remise en place du fichier de config par défaut (oublié) | |
600 | 608 | - (e) BIG NEW FEATURE : Configuration des champs obligatoires et readonly se fait maintenant via page WEB !!! |
601 | 609 | => plus besoin de modifier manuellement le fichier de config texte yaml |
602 | 610 | - (e) ajout lien vers stats utilisateurs depuis page accueil superadmin |
603 | 611 | - (e) modif page Apropos |
604 | - - (b) Bugfix : remise en place le fichier de config par défaut (oublié) | |
605 | 612 | |
606 | 613 | |
607 | 614 | ------- | ... | ... |
README.md
... | ... | @@ -53,7 +53,7 @@ Logiciel testé et validé sur les configurations suivantes : |
53 | 53 | -------------------------------------------------------------------------------------------- |
54 | 54 | |
55 | 55 | Date: 22/11/2021 |
56 | -Version: v5.3.2-3.7.9 | |
56 | +Version: v5.3.3-3.7.9 | |
57 | 57 | |
58 | 58 | |
59 | 59 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | ... | ... |
config/app_labinvent_mandatory_fields.default.yml
... | ... | @@ -6,28 +6,33 @@ MANDATORY_AND_READONLY_FIELDS: |
6 | 6 | |
7 | 7 | UNEDITABLE_FIELDS: { |
8 | 8 | fieldset_comment: Champs non modifiables, |
9 | - designation: { selected: '0', comment: commentaire, except_roles: '' }, | |
10 | - description: { selected: '0', comment: autre, except_roles: '' }, | |
11 | - nom_responsable: { selected: '1', comment: 'nom du responsable', | |
12 | - except_roles: [Responsable, Administration] }, | |
9 | + designation: { selected: '0', comment: Désignation, 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] }, | |
13 | 12 | eotp: { selected: '1', comment: 'entité-s dépensière-s, budget-s', except_roles: [Administration] }, |
14 | - numero_commande: { selected: '1', comment: '', except_roles: [Administration] }, | |
13 | + numero_commande: { selected: '1', comment: 'N° BC', except_roles: [Administration] }, | |
15 | 14 | numero_inventaire_organisme: { selected: '1', comment: '', except_roles: [Administration] }, |
16 | - numero_inventaire_old: { selected: '1', comment: '', except_roles: [Administration] }, | |
15 | + numero_inventaire_old: { selected: '1', comment: 'Ancien numéro d''inventaire si existe', except_roles: [Administration] }, | |
17 | 16 | numero_laboratoire: { selected: '1', comment: '', except_roles: '' } } |
18 | 17 | |
18 | + | |
19 | 19 | # LOT 1 - Création de la fiche matériel |
20 | + | |
20 | 21 | MANDATORY_FIELDS_FOR_LOT0: { |
21 | 22 | fieldset_comment: Champs obligatoires pour créer une fiche matériel, |
22 | 23 | designation: { selected: '1', comment: Désignation, except_roles: '' }, description: { selected: '1', comment: Description, except_roles: '' }, sur_categorie_id: { selected: '1', comment: Domaine, except_roles: '' }, categorie_id: { selected: '1', comment: Catégorie, except_roles: '' }, nom_responsable: { selected: '1', comment: 'Nom de l''Acheteur', except_roles: '' }, email_responsable: { selected: '1', comment: 'Email de l''Acheteur', except_roles: '' }, nom_user: { selected: '1', comment: 'Nom de l''utilisateur', except_roles: '' } } |
24 | + | |
23 | 25 | UNEDITABLE_FIELDS_AFTER_LOT0: { |
24 | 26 | fieldset_comment: Champs non modifiables après la création de la fiche matériel, |
25 | - sur_categorie_id: { selected: '0', comment: '', except_roles: [Administration] }, categorie_id: { selected: '0', comment: '', except_roles: [Administration] }, resp_credit: { selected: '0', comment: '', except_roles: [Administration] }, gestionnaire_id: { selected: '0', comment: '', except_roles: [Administration] }, fournisseur_id: { selected: '0', comment: '', except_roles: [Administration] }, organisme_id: { selected: '0', comment: '', except_roles: [Administration] }, prix_ht: { selected: '0', comment: '', except_roles: [Administration] }, budgets: { selected: '0', comment: '', except_roles: [Administration] }, DOC_DEVIS: { selected: '0', comment: '', except_roles: '' }, DOC_BC: { selected: '0', comment: '', except_roles: [Administration] } } | |
27 | + sur_categorie_id: { selected: '0', comment: 'Domaine', except_roles: [Administration] }, categorie_id: { selected: '0', comment: '', except_roles: [Administration] }, resp_credit: { selected: '0', comment: '', except_roles: [Administration] }, gestionnaire_id: { selected: '0', comment: '', except_roles: [Administration] }, fournisseur_id: { selected: '0', comment: '', except_roles: [Administration] }, organisme_id: { selected: '0', comment: '', except_roles: [Administration] }, prix_ht: { selected: '0', comment: '', except_roles: [Administration] }, budgets: { selected: '0', comment: '', except_roles: [Administration] }, DOC_DEVIS: { selected: '0', comment: '', except_roles: '' }, DOC_BC: { selected: '0', comment: '', except_roles: [Administration] } } | |
28 | + | |
26 | 29 | RECOMMENDED_FIELDS_AFTER_LOT0: { |
27 | 30 | fieldset_comment: Champs non obligatoires mais recommandés après la création de la fiche matériel, |
28 | 31 | 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: '' } } |
29 | 32 | |
33 | + | |
30 | 34 | # LOT 1 - Demamnde d'Achat (Commande) |
35 | + | |
31 | 36 | MANDATORY_FIELDS_FOR_LOT1: { |
32 | 37 | fieldset_comment: Champs obligatoires pour passer la COMMANDE, |
33 | 38 | organisme_id: { selected: '1', comment: Organisme, except_roles: '' }, |
... | ... | @@ -37,28 +42,48 @@ MANDATORY_AND_READONLY_FIELDS: |
37 | 42 | fournisseur_id: { selected: '1', comment: Fournisseur, except_roles: '' }, |
38 | 43 | budgets: { selected: '1', comment: Budgets, except_roles: '' }, |
39 | 44 | DOC_DEVIS: { selected: '1', comment: Devis, except_roles: '' } } |
45 | + | |
40 | 46 | UNEDITABLE_FIELDS_AFTER_LOT1: { |
41 | 47 | fieldset_comment: Champs non modifiables après avoir passé la COMMANDE, |
42 | - sur_categorie_id: { selected: '1', comment: '', except_roles: [Administration] }, categorie_id: { selected: '1', comment: '', except_roles: [Administration] }, | |
43 | - resp_credit: { selected: '1', comment: '', except_roles: [Administration] }, | |
44 | - gestionnaire_id: { selected: '1', comment: '', except_roles: [Administration] }, | |
45 | - fournisseur_id: { selected: '1', comment: '', except_roles: [Administration] }, | |
46 | - organisme_id: { selected: '1', comment: '', except_roles: [Administration] }, | |
47 | - prix_ht: { selected: '1', comment: '', except_roles: [Administration] }, | |
48 | - budgets: { selected: '1', comment: '', except_roles: [Administration] }, | |
49 | - DOC_DEVIS: { selected: '1', comment: '', except_roles: '' }, | |
50 | - DOC_BC: { 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] }, | |
50 | + gestionnaire_id: { selected: '1', comment: 'Gestionnaire de référence', except_roles: [Administration] }, | |
51 | + fournisseur_id: { selected: '1', comment: 'Fournisseur', except_roles: [Administration] }, | |
52 | + organisme_id: { selected: '1', comment: 'Organisme', except_roles: [Administration] }, | |
53 | + prix_ht: { selected: '1', comment: 'Prix HT', except_roles: [Administration] }, | |
54 | + budgets: { selected: '1', comment: 'Budgets', except_roles: [Administration] }, | |
55 | + DOC_DEVIS: { selected: '1', comment: 'Devis joint', except_roles: '' }, | |
56 | + DOC_BC: { selected: '1', comment: 'BC joint', except_roles: [Administration] } } | |
57 | + | |
51 | 58 | RECOMMENDED_FIELDS_AFTER_LOT1: { |
52 | 59 | fieldset_comment: Champs non obligatoires mais recommandés après avoir passé la COMMANDE, |
53 | 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: '' } } |
54 | 61 | |
62 | + | |
55 | 63 | # LOT 2 - Validation, Livraison (matériel livré et payé) |
64 | + | |
56 | 65 | MANDATORY_FIELDS_FOR_LOT2: { |
57 | 66 | fieldset_comment: Champs obligatoires pour valider la livraison, |
58 | - date_acquisition: { selected: '1', comment: 'Date d''achat', except_roles: '' }, date_reception: { selected: '1', comment: 'Date de livraison', except_roles: '' }, site_id: { selected: '1', comment: Site, except_roles: '' }, lieu_detail: { selected: '1', comment: 'Lieu de stockage', except_roles: '' }, eotp: { selected: '1', comment: 'Entité(s) dépensière(s), budget(s)', except_roles: '' }, numero_commande: { selected: '1', comment: 'Num. BC', except_roles: '' }, DOC_DEVIS: { selected: '1', comment: Devis, except_roles: '' } } | |
67 | + date_acquisition: { selected: '1', comment: 'Date d''achat', except_roles: '' }, | |
68 | + date_reception: { selected: '1', comment: 'Date de livraison', except_roles: '' }, | |
69 | + site_id: { selected: '1', comment: Site, except_roles: '' }, | |
70 | + lieu_detail: { selected: '1', comment: 'Lieu de stockage', except_roles: '' }, | |
71 | + eotp: { selected: '1', comment: 'Entité(s) dépensière(s), budget(s)', except_roles: '' }, | |
72 | + numero_commande: { selected: '1', comment: 'Num. BC', except_roles: '' }, | |
73 | + DOC_DEVIS: { selected: '1', comment: 'Devis joint', except_roles: '' } } | |
74 | + | |
59 | 75 | UNEDITABLE_FIELDS_AFTER_LOT2: { |
60 | 76 | fieldset_comment: Champs non modifiables après validation de la livraison, |
61 | - sur_categorie_id: { selected: '1', comment: '', except_roles: '' }, categorie_id: { selected: '1', comment: '', except_roles: '' }, date_acquisition: { selected: '1', comment: '', except_roles: '' }, date_reception: { selected: '1', comment: '', except_roles: '' }, eotp: { selected: '1', comment: '', except_roles: '' }, numero_commande: { selected: '1', comment: '', except_roles: '' }, DOC_BC: { selected: '1', comment: '', except_roles: '' }, DOC_BL: { selected: '1', comment: '', except_roles: '' }, DOC_FACTURE: { selected: '1', comment: '', except_roles: '' } } | |
77 | + sur_categorie_id: { selected: '1', comment: 'Domaine', except_roles: '' }, | |
78 | + categorie_id: { selected: '1', comment: 'Catégorie', except_roles: '' }, | |
79 | + date_acquisition: { selected: '1', comment: 'Date de commande', except_roles: '' }, | |
80 | + date_reception: { selected: '1', comment: 'Date de livraison', except_roles: '' }, | |
81 | + eotp: { selected: '1', comment: 'Entité(s) dépensière(s)', except_roles: '' }, | |
82 | + numero_commande: { selected: '1', comment: 'N° BC', except_roles: '' }, | |
83 | + DOC_BC: { selected: '1', comment: 'BC joint', except_roles: '' }, | |
84 | + DOC_BL: { selected: '1', comment: 'BL joint', except_roles: '' }, | |
85 | + DOC_FACTURE: { selected: '1', comment: 'Facture jointe', except_roles: '' } } | |
86 | + | |
62 | 87 | RECOMMENDED_FIELDS_AFTER_LOT2: { |
63 | 88 | fieldset_comment: Champs non obligatoires mais recommandés après validation de la livraison, |
64 | 89 | etiquette: { selected: '1', comment: 'd''imprimer l''étiquette associée et de la coller sur le matériel', except_roles: '' }, |
... | ... | @@ -68,6 +93,7 @@ MANDATORY_AND_READONLY_FIELDS: |
68 | 93 | DOC_BL: { selected: '1', comment: 'd''ajouter le Bon de Livraison', except_roles: '' }, |
69 | 94 | DOC_FACTURE: { selected: '1', comment: 'd''ajouter la Facture', except_roles: '' } } |
70 | 95 | |
96 | + | |
71 | 97 | # LOT 3 - Archivage (pas encore implémenté) |
72 | 98 | #MANDATORY_FIELDS_FOR_LOT3: {} |
73 | 99 | #UNEDITABLE_FIELDS_AFTER_LOT3: {} | ... | ... |
src/Controller/ConfigurationFieldsController.php
... | ... | @@ -85,7 +85,7 @@ class ConfigurationFieldsController extends AppController |
85 | 85 | // - OK |
86 | 86 | if ($contact->execute($this->request->getData())) { |
87 | 87 | $fieldsets = $this->request->getData(); |
88 | - //debug($data); | |
88 | + //debug($fieldsets); | |
89 | 89 | $contact->setData($fieldsets); |
90 | 90 | |
91 | 91 | // On sauvegarde le contenu de $fieldsets dans le fichier de config (array => yaml) |
... | ... | @@ -163,6 +163,7 @@ class ConfigurationFieldsController extends AppController |
163 | 163 | |
164 | 164 | $fieldsets = Configure::readOrFail('MANDATORY_AND_READONLY_FIELDS'); |
165 | 165 | $this->set(compact('READONLY', 'fieldsets')); |
166 | + //debug($fieldsets); | |
166 | 167 | |
167 | 168 | } // edit() |
168 | 169 | ... | ... |
src/Template/ConfigurationFields/edit.ctp
... | ... | @@ -32,7 +32,7 @@ $icon = $READONLY ? '' : "<i class='icon-edit'></i>"; |
32 | 32 | //$end = $READONLY ? "(Visualisation)" : "(Modification)"; |
33 | 33 | //$title = "Configuration des champs obligatoires ou non modifiables de la fiche Matériel $end"; |
34 | 34 | $title = "Configuration des champs obligatoires ou non modifiables de la fiche Matériel"; |
35 | -echo "<br><h2>$icon $title</h2><br><br>"; | |
35 | +echo "<br><h2>$icon $title</h2><br>"; | |
36 | 36 | /* |
37 | 37 | Autres icones possibles : |
38 | 38 | echo "<br><h2><i class='icon-edit'></i> $title</h2><br><br>"; |
... | ... | @@ -42,8 +42,11 @@ echo "<br><h2><i class='icon-pencil'></i> $title</h2><br><br>"; |
42 | 42 | echo "<br><h2><i class='icon-trash'></i> $title</h2><br><br>"; |
43 | 43 | */ |
44 | 44 | |
45 | -if ($READONLY && $CAN_EDIT) $this->MyHelper->echoEditButton(); | |
46 | -if ($READONLY && $CAN_EDIT) $this->MyHelper->echoButtonForAction('icon-trash', 'reset-to-default', 'Remettre les valeurs par défaut', 'Remettre les valeurs par défaut', true); | |
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>'; | |
49 | +} | |
47 | 50 | |
48 | 51 | //echo $this->Html->icon('pencil'); |
49 | 52 | |
... | ... | @@ -65,7 +68,19 @@ echo $this->Form->create($contact); |
65 | 68 | //foreach ($fields as $field) { |
66 | 69 | foreach ($fields as $field_name => $attributes) { |
67 | 70 | |
68 | - if ($field_name=='fieldset_comment') continue; | |
71 | + if ($field_name=='fieldset_comment') { | |
72 | + $controls["$fieldset_name.fieldset_comment"] = [ | |
73 | + 'hidden' => true, | |
74 | + //'type' => 'text', | |
75 | + 'type' => 'hidden', | |
76 | + 'label' => false, | |
77 | + 'val' => $attributes, | |
78 | + //'size' => 20, | |
79 | + //'disabled' => $READONLY, | |
80 | + //'readonly' => $READONLY, | |
81 | + ]; | |
82 | + continue; | |
83 | + } | |
69 | 84 | |
70 | 85 | // champ activé ou désactivé |
71 | 86 | $checked = $attributes['selected']; |
... | ... | @@ -128,7 +143,22 @@ echo $this->Form->create($contact); |
128 | 143 | $DEBUG && debug($controls); |
129 | 144 | $fieldset_name_with_comment = $fieldset_name; |
130 | 145 | if ( isset($fields['fieldset_comment']) ) $fieldset_name_with_comment .= ' ('. $fields['fieldset_comment'] .')'; |
131 | - echo $this->Form->controls($controls, ['legend' => $fieldset_name_with_comment.' :']); | |
146 | + | |
147 | + echo $this->MyHelper->echoSectionStart($fieldset_name); | |
148 | + echo $this->Form->controls( | |
149 | + // fields | |
150 | + $controls, | |
151 | + // options | |
152 | + [ | |
153 | + 'legend' => $fieldset_name_with_comment.' :', | |
154 | + /* | |
155 | + // paramètres html | |
156 | + 'id' => "t_$fieldset_name", | |
157 | + 'class' => 'toggle', | |
158 | + */ | |
159 | + ] | |
160 | + ); | |
161 | + echo $this->MyHelper->echoSectionStop(); | |
132 | 162 | |
133 | 163 | } // foreach $fieldsets |
134 | 164 | ... | ... |