Commit 51fb59d9bcecb5638b99357bf42b979db164bb4c
1 parent
c95206aa
Exists in
master
and in
2 other branches
Bugfix et Améliorations Emprunt
Showing
3 changed files
with
53 additions
and
10 deletions
Show diff stats
README.md
@@ -53,11 +53,11 @@ Logiciel testé et validé sur les configurations suivantes : | @@ -53,11 +53,11 @@ Logiciel testé et validé sur les configurations suivantes : | ||
53 | 53 | ||
54 | VERSION ACTUELLE | 54 | VERSION ACTUELLE |
55 | 55 | ||
56 | -Date: 03/06/2019 | ||
57 | -Version: 2.12.25 | 56 | +Date: 04/06/2019 |
57 | +Version: 2.12.26 | ||
58 | Author: EP | 58 | Author: EP |
59 | Commentaire: | 59 | Commentaire: |
60 | - LDAP CACHED v3 | 60 | + Bugfix et Améliorations Emprunt |
61 | 61 | ||
62 | IMPORTANT : | 62 | IMPORTANT : |
63 | - Pour connaitre la version actuelle, taper "./VERSION" | 63 | - Pour connaitre la version actuelle, taper "./VERSION" |
@@ -93,6 +93,9 @@ La liste ci-dessous n'est plus à jour, elle est désormais en ligne ici : https | @@ -93,6 +93,9 @@ La liste ci-dessous n'est plus à jour, elle est désormais en ligne ici : https | ||
93 | 93 | ||
94 | ----------------------------------------------------------------------------------------------------------- | 94 | ----------------------------------------------------------------------------------------------------------- |
95 | 95 | ||
96 | +03/06/2019 Version: 2.12.24-25 (EP) | ||
97 | + LDAP CACHED v3 | ||
98 | + | ||
96 | 24/05/2019 Version: 2.12.22-23 (EP) | 99 | 24/05/2019 Version: 2.12.22-23 (EP) |
97 | Bugfix QrCode : http et https bien gérés | 100 | Bugfix QrCode : http et https bien gérés |
98 | Update du script install/installation.sh pour etre plus logique | 101 | Update du script install/installation.sh pour etre plus logique |
src/Model/Table/EmpruntsTable.php
@@ -56,9 +56,10 @@ class EmpruntsTable extends AppTable | @@ -56,9 +56,10 @@ class EmpruntsTable extends AppTable | ||
56 | 56 | ||
57 | $validator->boolean('emprunt_interne')->allowEmpty('emprunt_interne'); | 57 | $validator->boolean('emprunt_interne')->allowEmpty('emprunt_interne'); |
58 | 58 | ||
59 | - //$validator->notEmpty('nom_emprunteur_int', 'Le champ doit être rempli'); | 59 | + /* |
60 | $validator->notEmpty('nom_emprunteur_int', 'Le champ doit être rempli', function ($context) { | 60 | $validator->notEmpty('nom_emprunteur_int', 'Le champ doit être rempli', function ($context) { |
61 | //dump($context); | 61 | //dump($context); |
62 | + debug($context); | ||
62 | //if ($context['providers']['entity']['emprunt_interne'] !== null) { | 63 | //if ($context['providers']['entity']['emprunt_interne'] !== null) { |
63 | if ( !empty($context['data']) && !is_null($context['data']['emprunt_interne']) ) { | 64 | if ( !empty($context['data']) && !is_null($context['data']['emprunt_interne']) ) { |
64 | return $context['data']['emprunt_interne']; | 65 | return $context['data']['emprunt_interne']; |
@@ -66,7 +67,6 @@ class EmpruntsTable extends AppTable | @@ -66,7 +67,6 @@ class EmpruntsTable extends AppTable | ||
66 | } | 67 | } |
67 | }); | 68 | }); |
68 | 69 | ||
69 | - //$validator->notEmpty('email_emprunteur_int', "Cet Email n'est pas valide"); | ||
70 | $validator->notEmpty('email_emprunteur_int', "Cet Email n'est pas valide", function ($context) { | 70 | $validator->notEmpty('email_emprunteur_int', "Cet Email n'est pas valide", function ($context) { |
71 | //if ($context['providers']['entity']['emprunt_interne'] !== null) { | 71 | //if ($context['providers']['entity']['emprunt_interne'] !== null) { |
72 | if ( !empty($context['data']) && !is_null($context['data']['emprunt_interne']) ) { | 72 | if ( !empty($context['data']) && !is_null($context['data']['emprunt_interne']) ) { |
@@ -74,9 +74,9 @@ class EmpruntsTable extends AppTable | @@ -74,9 +74,9 @@ class EmpruntsTable extends AppTable | ||
74 | //return $context['providers']['entity']['emprunt_interne']; | 74 | //return $context['providers']['entity']['emprunt_interne']; |
75 | } | 75 | } |
76 | }); | 76 | }); |
77 | - | ||
78 | - | ||
79 | - | 77 | + */ |
78 | + | ||
79 | + // Ce champ s'appelle "Pièce" (emprunt interne) | ||
80 | $validator->notEmpty('e_lieu_detail', 'Le champ doit être rempli pour un emprunt interne.', | 80 | $validator->notEmpty('e_lieu_detail', 'Le champ doit être rempli pour un emprunt interne.', |
81 | function ($context) { | 81 | function ($context) { |
82 | //if ($context['providers']['entity']['emprunt_interne'] !== null) { | 82 | //if ($context['providers']['entity']['emprunt_interne'] !== null) { |
@@ -93,9 +93,11 @@ class EmpruntsTable extends AppTable | @@ -93,9 +93,11 @@ class EmpruntsTable extends AppTable | ||
93 | 'provider' => 'table' | 93 | 'provider' => 'table' |
94 | ]); | 94 | ]); |
95 | 95 | ||
96 | + // Ce champ s'appelle "Lieu" (emprunt externe) | ||
96 | $validator->notEmpty('laboratoire', 'Le champ doit être rempli pour un emprunt externe.', | 97 | $validator->notEmpty('laboratoire', 'Le champ doit être rempli pour un emprunt externe.', |
97 | function ($context) { | 98 | function ($context) { |
98 | if ( !empty($context['data']) && !is_null($context['data']['emprunt_interne']) ) { | 99 | if ( !empty($context['data']) && !is_null($context['data']['emprunt_interne']) ) { |
100 | + //debug($context['data']['emprunt_interne']); | ||
99 | return ! $context['data']['emprunt_interne']; | 101 | return ! $context['data']['emprunt_interne']; |
100 | } | 102 | } |
101 | } | 103 | } |
@@ -131,7 +133,13 @@ class EmpruntsTable extends AppTable | @@ -131,7 +133,13 @@ class EmpruntsTable extends AppTable | ||
131 | */ | 133 | */ |
132 | } | 134 | } |
133 | } | 135 | } |
134 | - ); | 136 | + )->add('email_emprunteur_ext', 'valid', [ |
137 | + 'rule' => [ | ||
138 | + 'check_mail' | ||
139 | + ], | ||
140 | + 'message' => "Cet email n'est pas valide", | ||
141 | + 'provider' => 'table' | ||
142 | + ]); | ||
135 | 143 | ||
136 | $validator->allowEmpty('commentaire')->add('commentaire', 'valid', [ | 144 | $validator->allowEmpty('commentaire')->add('commentaire', 'valid', [ |
137 | 'rule' => [ | 145 | 'rule' => [ |
@@ -141,6 +149,24 @@ class EmpruntsTable extends AppTable | @@ -141,6 +149,24 @@ class EmpruntsTable extends AppTable | ||
141 | 'provider' => 'table' | 149 | 'provider' => 'table' |
142 | ]); | 150 | ]); |
143 | 151 | ||
152 | + | ||
153 | + | ||
154 | + /* | ||
155 | + $validator->notEmpty('site_id', 'Il faut préciser le site', | ||
156 | + function ($context) { | ||
157 | + if ( !empty($context['data']) && !is_null($context['data']['emprunt_interne']) ) { | ||
158 | + return $context['data']['emprunt_interne']; | ||
159 | + } | ||
160 | + } | ||
161 | + )->add('site_id', 'valid', [ | ||
162 | + 'rule' => function ($data, $provider) { | ||
163 | + return ($data != 9); | ||
164 | + }, | ||
165 | + 'message' => "Il faut préciser le site (pour un emprunt interne)", | ||
166 | + 'provider' => 'table' | ||
167 | + ]); | ||
168 | + */ | ||
169 | + | ||
144 | return $validator; | 170 | return $validator; |
145 | } | 171 | } |
146 | 172 | ||
@@ -166,6 +192,7 @@ class EmpruntsTable extends AppTable | @@ -166,6 +192,7 @@ class EmpruntsTable extends AppTable | ||
166 | } | 192 | } |
167 | return true; | 193 | return true; |
168 | }; | 194 | }; |
195 | + | ||
169 | 196 | ||
170 | $rules->add($checkReturnDateIsAfterLoanDate, [ | 197 | $rules->add($checkReturnDateIsAfterLoanDate, [ |
171 | 'errorField' => 'date_retour_emprunt', | 198 | 'errorField' => 'date_retour_emprunt', |
@@ -176,9 +203,22 @@ class EmpruntsTable extends AppTable | @@ -176,9 +203,22 @@ class EmpruntsTable extends AppTable | ||
176 | 'materiel_id' | 203 | 'materiel_id' |
177 | ], 'Materiels')); | 204 | ], 'Materiels')); |
178 | 205 | ||
206 | + /* (EP) ne sert à rien, c'est toujours le cas | ||
179 | $rules->add($rules->existsIn([ | 207 | $rules->add($rules->existsIn([ |
180 | 'site_id' | 208 | 'site_id' |
181 | ], 'Sites')); | 209 | ], 'Sites')); |
210 | + */ | ||
211 | + // (EP 4/6/19) Le site doit etre précisé, on ne laisse pas N/A (id=9) | ||
212 | + $checkSiteIsGiven = function ($entity) { | ||
213 | + // Si emprunt externe, ne pas appliquer cette règle | ||
214 | + if (! $entity->emprunt_interne) return TRUE; | ||
215 | + return ($entity->site_id != 9); | ||
216 | + }; | ||
217 | + $rules->add($checkSiteIsGiven, [ | ||
218 | + 'errorField' => 'site_id', | ||
219 | + 'message' => 'Il faut préciser le site' | ||
220 | + ]); | ||
221 | + | ||
182 | 222 | ||
183 | return $rules; | 223 | return $rules; |
184 | } | 224 | } |
src/Template/Materiels/view.ctp
@@ -622,7 +622,7 @@ $bStyle = 'margin:0'; | @@ -622,7 +622,7 @@ $bStyle = 'margin:0'; | ||
622 | <th><?=__('N°')?></th> | 622 | <th><?=__('N°')?></th> |
623 | <th><?=__('Emprunteur')?></th> | 623 | <th><?=__('Emprunteur')?></th> |
624 | <th><?=__('Type d\'Emprunt')?></th> | 624 | <th><?=__('Type d\'Emprunt')?></th> |
625 | - <th><?=__('Où')?></th> | 625 | + <th><?=__('Lieu')?></th> |
626 | <th><?=__('Date de l\'emprunt')?></th> | 626 | <th><?=__('Date de l\'emprunt')?></th> |
627 | <th><?=__('Date de retour')?></th> | 627 | <th><?=__('Date de retour')?></th> |
628 | </tr> | 628 | </tr> |