Commit 51fb59d9bcecb5638b99357bf42b979db164bb4c

Authored by Etienne Pallier
1 parent c95206aa
Exists in master and in 2 other branches dev, dev-IRAP

Bugfix et Améliorations Emprunt

README.md
... ... @@ -53,11 +53,11 @@ Logiciel testé et validé sur les configurations suivantes :
53 53  
54 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 58 Author: EP
59 59 Commentaire:
60   - LDAP CACHED v3
  60 + Bugfix et Améliorations Emprunt
61 61  
62 62 IMPORTANT :
63 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 93  
94 94 -----------------------------------------------------------------------------------------------------------
95 95  
  96 +03/06/2019 Version: 2.12.24-25 (EP)
  97 + LDAP CACHED v3
  98 +
96 99 24/05/2019 Version: 2.12.22-23 (EP)
97 100 Bugfix QrCode : http et https bien gérés
98 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 56  
57 57 $validator->boolean('emprunt_interne')->allowEmpty('emprunt_interne');
58 58  
59   - //$validator->notEmpty('nom_emprunteur_int', 'Le champ doit être rempli');
  59 + /*
60 60 $validator->notEmpty('nom_emprunteur_int', 'Le champ doit être rempli', function ($context) {
61 61 //dump($context);
  62 + debug($context);
62 63 //if ($context['providers']['entity']['emprunt_interne'] !== null) {
63 64 if ( !empty($context['data']) && !is_null($context['data']['emprunt_interne']) ) {
64 65 return $context['data']['emprunt_interne'];
... ... @@ -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 70 $validator->notEmpty('email_emprunteur_int', "Cet Email n'est pas valide", function ($context) {
71 71 //if ($context['providers']['entity']['emprunt_interne'] !== null) {
72 72 if ( !empty($context['data']) && !is_null($context['data']['emprunt_interne']) ) {
... ... @@ -74,9 +74,9 @@ class EmpruntsTable extends AppTable
74 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 80 $validator->notEmpty('e_lieu_detail', 'Le champ doit être rempli pour un emprunt interne.',
81 81 function ($context) {
82 82 //if ($context['providers']['entity']['emprunt_interne'] !== null) {
... ... @@ -93,9 +93,11 @@ class EmpruntsTable extends AppTable
93 93 'provider' => 'table'
94 94 ]);
95 95  
  96 + // Ce champ s'appelle "Lieu" (emprunt externe)
96 97 $validator->notEmpty('laboratoire', 'Le champ doit être rempli pour un emprunt externe.',
97 98 function ($context) {
98 99 if ( !empty($context['data']) && !is_null($context['data']['emprunt_interne']) ) {
  100 + //debug($context['data']['emprunt_interne']);
99 101 return ! $context['data']['emprunt_interne'];
100 102 }
101 103 }
... ... @@ -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 144 $validator->allowEmpty('commentaire')->add('commentaire', 'valid', [
137 145 'rule' => [
... ... @@ -141,6 +149,24 @@ class EmpruntsTable extends AppTable
141 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 170 return $validator;
145 171 }
146 172  
... ... @@ -166,6 +192,7 @@ class EmpruntsTable extends AppTable
166 192 }
167 193 return true;
168 194 };
  195 +
169 196  
170 197 $rules->add($checkReturnDateIsAfterLoanDate, [
171 198 'errorField' => 'date_retour_emprunt',
... ... @@ -176,9 +203,22 @@ class EmpruntsTable extends AppTable
176 203 'materiel_id'
177 204 ], 'Materiels'));
178 205  
  206 + /* (EP) ne sert à rien, c'est toujours le cas
179 207 $rules->add($rules->existsIn([
180 208 'site_id'
181 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 223 return $rules;
184 224 }
... ...
src/Template/Materiels/view.ctp
... ... @@ -622,7 +622,7 @@ $bStyle = 'margin:0';
622 622 <th><?=__('N°')?></th>
623 623 <th><?=__('Emprunteur')?></th>
624 624 <th><?=__('Type d\'Emprunt')?></th>
625   - <th><?=__('')?></th>
  625 + <th><?=__('Lieu')?></th>
626 626 <th><?=__('Date de l\'emprunt')?></th>
627 627 <th><?=__('Date de retour')?></th>
628 628 </tr>
... ...