Commit dc537e7b66723f44f79082f351ef7f9a6c1d18f4

Authored by Etienne Pallier
1 parent daace6c6
Exists in master and in 1 other branch dev

Bugfix : commentaires des sections (fieldsets) pas sauvegardés

(après une édition de la config champs obligatoires)

v5.3.3-3.7.9
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 &quot;&lt;br&gt;&lt;h2&gt;&lt;i class=&#39;icon-pencil&#39;&gt;&lt;/i&gt; $title&lt;/h2&gt;&lt;br&gt;&lt;br&gt;&quot;;
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-&gt;Form-&gt;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-&gt;Form-&gt;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  
... ...