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

@@ -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><?=__('')?></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>