Commit 52fef20f23949aa993240fbd10c778a3012a9296

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

Bugfix : certains champs ne pouvaient pas être rendus NON MODIFIABLES

Aussi : changement config par défaut pour ajouter des champs non
modifiables après commande et validation (LOT1 et donc aussi LOT2)

=> v5.2.3-3.7.9
CHANGELOG
... ... @@ -410,12 +410,17 @@ Commencer à implémenter le nouveau workflow v5 :
410 410 ======= CHANGES =======
411 411  
412 412 -------
  413 +09/09/2021 v5.2.3-3.7.9
  414 + - (b) Bugfix : certains champs ne pouvaient pas être rendus NON MODIFIABLES
  415 + - (i) Changement config par défaut pour ajouter des champs non modifiables après commande et validation (LOT1 et donc aussi LOT2)
  416 +
  417 +-------
413 418 09/09/2021 v5.2.2-3.7.9
414 419 - (e) Le devis attaché à un matériel commandé (TOBEORDERED) doit être NON MODIFIABLE
415 420  
416 421 -------
417 422 09/09/2021 v5.2.1-3.7.9
418   - - (i) Changement config par défaut pour ajouter des champs non modifiables après commande (LOT1)
  423 + - (i) Changement config par défaut pour ajouter des champs non modifiables après commande et validation (LOT1 et donc aussi LOT2)
419 424 - (b) Bugfix : suppression message debug
420 425  
421 426 -------
... ...
README.md
... ... @@ -53,7 +53,7 @@ Logiciel testé et validé sur les configurations suivantes :
53 53 --------------------------------------------------------------------------------------------
54 54  
55 55 Date: 10/09/2021
56   -Version: v5.2.2-3.7.9
  56 +Version: v5.2.3-3.7.9
57 57  
58 58  
59 59  
... ...
config/app_labinvent_mandatory_fields.default.yml
... ... @@ -34,9 +34,9 @@ MANDATORY_FIELDS_LOT0:
34 34 nom_user: "Nom de l'utilisateur"
35 35  
36 36 # - Acheteur (le Créateur de la fiche)
37   - nom_responsable: 'Nom du responsable'
38   - # (rempli automatiquement)
39   - email_responsable: 'Email du responsable'
  37 + nom_responsable: "Nom de l'Acheteur"
  38 + #// (rempli automatiquement)
  39 + email_responsable: "Email de l'Acheteur"
40 40  
41 41 # Calculé auto au moment du save()
42 42 #'numero_laboratoire',
... ... @@ -138,6 +138,9 @@ UNEDITABLE_FIELDS_LOT1:
138 138 # (rempli automatiquement)
139 139 - email_responsable
140 140  
  141 + # (par défaut = acheteur)
  142 + - resp_credit
  143 +
141 144 #- organisme_id
142 145  
143 146 #- prix_ht
... ... @@ -145,7 +148,7 @@ UNEDITABLE_FIELDS_LOT1:
145 148 #- gestionnaire_id
146 149  
147 150 # Fournisseur
148   - #- fournisseur_id
  151 + - fournisseur_id
149 152  
150 153 # Utilisé par la Gestion pour remplir le champ eotp
151 154 #- budgets
... ... @@ -230,9 +233,11 @@ UNEDITABLE_FIELDS_LOT2:
230 233  
231 234 - gestionnaire_id
232 235  
  236 + - budgets
  237 +
233 238 # Champs administratifs :
234 239  
235   - - eotp
  240 + #- eotp
236 241  
237 242 - numero_commande
238 243  
... ...
src/Template/Materiels/add_edit.ctp
... ... @@ -759,10 +759,12 @@ if (isset($cpMateriel)) {
759 759 }
760 760  
761 761 // - Num série
762   - echo $this->Form->control('numero_serie', [
  762 + $f = 'numero_serie';
  763 + echo $this->Form->control($f, [
763 764 'label' => 'Numéro de série',
764 765 // EDIT only
765   - 'disabled' => $IS_ADD ? false : $isReadonlyField('numero_serie', $readonlyFields)
  766 + //'disabled' => $IS_ADD ? false : $isReadonlyField($f, $readonlyFields)
  767 + 'disabled' => $IS_ADD ? false : $isReadonlyField($f, $readonlyFields)
766 768 ]);
767 769  
768 770  
... ... @@ -783,8 +785,9 @@ if (isset($cpMateriel)) {
783 785 $fieldType = $USER_IS_UTILISATEUR ? 'hidden' : 'input';
784 786 echo $this->Form->$fieldType('nom_responsable', [
785 787 */
  788 + $f = 'nom_responsable';
786 789 $readonly = $USER_IS_UTILISATEUR ? TRUE : FALSE;
787   - echo $this->Form->control('nom_responsable', [
  790 + echo $this->Form->control($f, [
788 791 'label' => "Nom de l'Acheteur",
789 792 //'empty' => 'Choisir une personne',
790 793 //'empty' => $entity->nom_responsable,
... ... @@ -794,7 +797,7 @@ if (isset($cpMateriel)) {
794 797 //'options' => $utilisateurs
795 798 //'readonly' => $IS_EDIT ? false : $readonly,
796 799 //'readonly' => $readonly,
797   - 'disabled' => $readonly,
  800 + 'disabled' => $readonly || $isReadonlyField($f, $readonlyFields)
798 801 ]);
799 802  
800 803 // EDIT only
... ... @@ -819,9 +822,11 @@ if (isset($cpMateriel)) {
819 822  
820 823  
821 824 // - Nom Responsable du crédit
822   - echo $this->Form->control('resp_credit', [
  825 + $f = 'resp_credit';
  826 + echo $this->Form->control($f, [
823 827 //'label' => "Responsable du crédit (si différent de l'acheteur)",
824 828 'label' => "Responsable du crédit (par défaut l'acheteur)",
  829 + 'disabled' => $IS_ADD ? false : $isReadonlyField($f, $readonlyFields)
825 830 ]);
826 831  
827 832  
... ... @@ -848,7 +853,8 @@ if (isset($cpMateriel)) {
848 853 */
849 854  
850 855 // - Nom du gestionnaire de ref
851   - echo $this->Form->control('gestionnaire_id', [
  856 + $f = 'gestionnaire_id';
  857 + echo $this->Form->control($f, [
852 858 // inutile car automatique si le nom de la variable passée par le controleur respecte la norme
853 859 //'options' => $gestionnaires,
854 860 //'options' => $administrateurs,
... ... @@ -858,6 +864,7 @@ if (isset($cpMateriel)) {
858 864 // TODO: pas joli !
859 865 // ADD only
860 866 'default' => $_SESSION['Auth']['User']['sn'][0],
  867 + 'disabled' => $IS_ADD ? false : $isReadonlyField($f, $readonlyFields)
861 868 ]);
862 869  
863 870  
... ... @@ -865,6 +872,7 @@ if (isset($cpMateriel)) {
865 872 /*
866 873 * - Fournisseur (+ ajout possible)
867 874 */
  875 + $f = 'fournisseur_id';
868 876 //nouveau champ de saisie de Fournisseur, il ne se saisissait pas à l'ajout
869 877 //echo '<DIV>';
870 878 //echo $this->Form->control('fournisseur_id', [
... ... @@ -884,7 +892,7 @@ if (isset($cpMateriel)) {
884 892 //debug($entity);
885 893 //debug($value);
886 894 */
887   - $value_old = $entity->fournisseur_id ? $fournisseurs[$entity->fournisseur_id] : '';
  895 + $value_old = $entity->$f ? $fournisseurs[$entity->$f] : '';
888 896 if (isset($entity->fournisseur->name) && $entity->fournisseur->name!='')
889 897 // nouveau fournisseur
890 898 $value = $entity->fournisseur->name;
... ... @@ -897,11 +905,18 @@ if (isset($cpMateriel)) {
897 905 //echo $this->Form->hidden('fournisseur_orig', ['value' => $value]);
898 906 echo $this->Form->hidden('fournisseur_orig', ['value' => $value_old]);
899 907 //debug($values);
  908 + /* field is disabled ?
  909 + - $disabled = 'disabled'; // disabled
  910 + - $disabled = ''; // enabled
  911 + */
  912 + $disabled = ''; // enabled
  913 + if ($isReadonlyField($f, $readonlyFields)) $disabled = 'disabled';
  914 +
900 915 ?>
901 916 <div class="form-group text">
902 917 <label class="control-label" for="fournisseur-name">Fournisseur</label>
903 918 <!-- autocomplete="on" => ajoute les éléments saisis auparavant (depuis l'historique du navigateur) => pas bon -->
904   - <input type="text" id="fournisseur-name" name="fournisseur[name]" value="<?=$value?>" list="fournisseurs" placeholder="choisir/ajouter un fournisseur" autocomplete="off">
  919 + <input type="text" id="fournisseur-name" name="fournisseur[name]" <?=$disabled?> value="<?=$value?>" list="fournisseurs" placeholder="choisir/ajouter un fournisseur" autocomplete="off">
905 920 <datalist id="fournisseurs">
906 921 <?php foreach ($values as $v) echo "<option value='$v'>"; ?>
907 922 </datalist>
... ... @@ -971,19 +986,22 @@ if (isset($cpMateriel)) {
971 986 ]);
972 987  
973 988 // - Prix HT
974   - echo $this->Form->control('prix_ht', [
  989 + $f = 'prix_ht';
  990 + echo $this->Form->control($f, [
975 991 'label' => 'Prix HT (€)',
976 992 // ADD only
977 993 //'default' => $Prix_ht
978 994 ///////'default' => $materiel->prix_ht,
979 995 // EDIT only
980   - 'disabled' => $IS_ADD ? false : $isReadonlyField('prix_ht', $readonlyFields)
  996 + 'disabled' => $IS_ADD ? false : $isReadonlyField($f, $readonlyFields),
981 997 ]);
982 998  
983   - echo $this->Form->control('budgets', [
  999 + $f = 'budgets';
  1000 + echo $this->Form->control($f, [
984 1001 'label' => 'Sur quel(s) budget(s) ?',
985 1002 // EDIT only
986   - 'placeholder' => 'Si plusieurs, séparer avec virgule'
  1003 + 'placeholder' => 'Si plusieurs, séparer avec virgule',
  1004 + 'disabled' => $IS_ADD ? false : $isReadonlyField($f, $readonlyFields),
987 1005 ]);
988 1006  
989 1007  
... ... @@ -1015,14 +1033,14 @@ if (isset($cpMateriel)) {
1015 1033 * 'Super Administrateur'
1016 1034 * ])) {
1017 1035 */
1018   - $fname = 'eotp';
1019   - echo $this->Form->control($fname, [
  1036 + $f = 'eotp';
  1037 + echo $this->Form->control($f, [
1020 1038 'label' => 'Entité(s) dépensière(s) (voir champ Budgets juste au-dessus)',
1021 1039 //'label' => 'Entité(s) dépensière(s) (i.e. sur quel(s) budget(s) ?)',
1022 1040 //'label' => 'Centre(s) financier(s) / EOTP',
1023 1041 // EDIT only
1024 1042 //'disabled' => $DISABLED,
1025   - 'disabled' => $IS_ADD ? false : $isReadonlyField($fname, $readonlyFields),
  1043 + 'disabled' => $IS_ADD ? false : $isReadonlyField($f, $readonlyFields),
1026 1044 'placeholder' => 'Si plusieurs, séparer avec virgule'
1027 1045 ]);
1028 1046  
... ...