Skip to content
Snippets Groups Projects

[RTFixed] Test ariege

Merged efalcy requested to merge test_ariege into ariege_prod
All threads resolved!
Viewing commit 348d281a
Show latest version
3 files
+ 33
18
Preferences
Compare changes
Files
3
@@ -20,7 +20,7 @@
*/
class Class_Systeme_PergameService {
use Trait_TimeSource, Trait_Translator;
use Trait_TimeSource, Trait_Translator, Trait_Errors;
private $user;
@@ -185,13 +185,13 @@ class Class_Systeme_PergameService {
public function reserverExemplairePergame($id_bib, $exemplaire, $code_annexe) {
if (!$this->user || !$this->user->ID_USER)
return ['erreur' => $this->_('Vous devez être connecté pour réserver un document')];
return $this->_error($this->_('Vous devez être connecté pour réserver un document'));
if(!$this->user->IDABON)
return ['erreur' => $this->_('Vous devez être connecté en tant qu\'abonné pour réserver un document')];
return $this->_error($this->_('Vous devez être connecté en tant qu\'abonné pour réserver un document'));
if (!$exemplaire)
return ['erreur' => $this->_('Une erreur s\'est produite lors de la lecture de la notice.')];
return $this->_error($this->_('Une erreur s\'est produite lors de la lecture de la notice.'));
if(!$id_bib)
$id_bib = 1;
@@ -214,19 +214,19 @@ class Class_Systeme_PergameService {
'ordreabon'=> $ordre_abon]);
if ($resa)
return ['erreur' => 'Vous avez déjà réservé ce document le ' . formatDate($resa->getDateResa(), 1)];
return $this->_error( $this->_('Vous avez déjà réservé ce document le %s',formatDate($resa->getDateResa(), 1)));
$regles = $this->getReglesReservation($exemplaire->getIdBib());
// controle quota par carte
$nb = Class_Reservation::countBy(['idabon' => $id_abon]);
if ($nb >= $regles['Max_par_carte'])
return ['erreur' => 'La réservation est impossible car vous avez atteint le nombre maximum de réservations sur votre carte.'];
return $this->_error($this->_('La réservation est impossible car vous avez atteint le nombre maximum de réservations sur votre carte.'));
// controle quota par document
$nb = Class_Reservation::countBy(['id_notice_origine' => $id_origine]);
if ($nb >= $regles['Max_par_document'])
return ['erreur' => 'La réservation est impossible car le nombre maximum de réservations pour ce document a été atteint (' . $regles["Max_par_document"] . ').'];
return $this->_error($this->_('La réservation est impossible car le nombre maximum de réservations pour ce document a été atteint (%s).', $regles["Max_par_document"] ));
Class_Reservation::newInstance(['id_site' => $code_annexe,
'id_pergame' => 0,
@@ -241,7 +241,7 @@ class Class_Systeme_PergameService {
$heure = $time_source->dateFormat('H');
$this->ecrireTransaction(6, [$id_abon, $ordre_abon, $support, $id_origine, $date, $id_bib, $heure]);
return ['erreur' => '', 'statut' => true];
return $this->_success();
}
@@ -259,24 +259,21 @@ class Class_Systeme_PergameService {
$nbProlong += 1;
$dateRetour = $pret["DATE_RETOUR"];
if($nbProlong > $regles["Nombre_max_par_document"])
return ['statut' => 0,
'erreur' => 'Le prêt n\'a pas pu être prolongé car il a atteint le nombre de prolongations autorisé.' . $complement_msg];
return $this->_error( $this->_('Le prêt n\'a pas pu être prolongé car il a atteint le nombre de prolongations autorisé %s' , $complement_msg));
// Controle anterioritemax
$anteriorite_max = (int)$regles['Anteriorite_max_en_jours'];
if ($anteriorite_max) {
$ecart = ecartDates($dateJour, $dateRetour);
if ($ecart && ($ecart > $anteriorite_max))
return ['statut' => 0,
'erreur' => 'Le prêt n\'a pas pu être prolongé car il a un retard trop important.' . $complement_msg];
return $this->_error($this->_('Le prêt n\'a pas pu être prolongé car il a un retard trop important.%s', $complement_msg));
}
// Controle si le doc est réservé
if ($regles['Interdire_si_reservation'] == 1) {
$controle = fetchOne("Select Count(*) From reservations Where ID_NOTICE_ORIGINE=".$pret["ID_NOTICE_ORIGINE"]);
if($controle > 0)
return ['statut' => 0,
'erreur' => 'Le prêt n\'a pas pu être prolongé car il est réservé.' . $complement_msg];
return $this->_error($this->_('Le prêt n\'a pas pu être prolongé car il est réservé.%s', $complement_msg));
}
// On prolonge
@@ -295,7 +292,7 @@ class Class_Systeme_PergameService {
$enreg["TEMPS_PROLONG"]=$tempsProlong;
$this->ecrireTransaction(5,$enreg);
return ['statut' => 1];
return $this->_success();
}