Commit 52fef20f23949aa993240fbd10c778a3012a9296
1 parent
07035c50
Exists in
master
and in
1 other branch
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
Showing
4 changed files
with
50 additions
and
22 deletions
Show diff stats
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
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 | ... | ... |