From d7eb8bc81b445bd8d0dcc986dda4cceaaa6259e9 Mon Sep 17 00:00:00 2001 From: efalcy <efalcy@afi-sa.fr> Date: Fri, 10 Aug 2018 11:21:03 +0200 Subject: [PATCH] dev #65688 : replace 'en transfert de .. a ..' by 'en transfert' and fix translations --- library/Class/Profil.php | 2 +- library/Class/WebService/SIGB/Exemplaire.php | 54 +++++++++++-------- .../SIGB/Koha/GetRecordsResponseReader.php | 27 ++++++---- .../View/Helper/Notice/ExemplairesTable.php | 6 +-- .../Class/WebService/SIGB/KohaTest.php | 14 ++--- 5 files changed, 59 insertions(+), 44 deletions(-) diff --git a/library/Class/Profil.php b/library/Class/Profil.php index 7e3e7dfcb4b..558241dc66c 100644 --- a/library/Class/Profil.php +++ b/library/Class/Profil.php @@ -365,7 +365,7 @@ class Class_Profil extends Storm_Model_Abstract { 'resa' => 1, 'dispo' => 1, 'date_retour' => 0, - 'en_pret' => Class_WebService_SIGB_Exemplaire::DISPO_EN_PRET]]), + 'en_pret' => Class_WebService_SIGB_Exemplaire::newInstance()->message('DISPO_EN_PRET')]]), 'hauteur_banniere' => 100, 'mail_site' => '', 'mail_suggestion_achat' => '', diff --git a/library/Class/WebService/SIGB/Exemplaire.php b/library/Class/WebService/SIGB/Exemplaire.php index 42cad2852d7..5b40e233f1d 100644 --- a/library/Class/WebService/SIGB/Exemplaire.php +++ b/library/Class/WebService/SIGB/Exemplaire.php @@ -20,16 +20,7 @@ */ class Class_WebService_SIGB_Exemplaire { - const DISPO_EN_PRET = 'En prêt'; - const DISPO_LIBRE = 'Disponible'; - const DISPO_INDISPONIBLE = 'Indisponible'; - const DISPO_PERDU = 'Perdu'; - const DISPO_PILONNE = 'Pilonné'; - const DISPO_ENDOMMAGE = 'Endommagé'; - const DISPO_TRANSIT = 'En transit'; - const DISPO_DEJA_RESERVE = 'Réservé'; - const DISPO_EN_COMMANDE = 'En commande'; - const DISPO_EN_TRANSFERT = 'En transfert de %s à %s depuis le %s'; + use Trait_Translator; protected $id; @@ -63,11 +54,27 @@ class Class_WebService_SIGB_Exemplaire { return new self(null); } + public function message($code) { + $messages = [ + 'DISPO_EN_PRET' => $this->_('En prêt'), + 'DISPO_LIBRE' => $this->_('Disponible'), + 'DISPO_INDISPONIBLE' => $this->_('Indisponible'), + 'DISPO_PERDU' => $this->_('Perdu'), + 'DISPO_PILONNE' => $this->_('Pilonné'), + 'DISPO_ENDOMMAGE' => $this->_('Endommagé'), + 'DISPO_TRANSIT' => $this->_('En transit'), + 'DISPO_DEJA_RESERVE' => $this->_('Réservé'), + 'DISPO_EN_COMMANDE' => $this->_('En commande'), + 'DISPO_EN_TRANSFERT' => $this->_('En transfert') + ]; + return isset($messages[$code]) ? $messages[$code]: ''; + } + public function __construct($id){ $this->id = $id; $this->titre = ""; - $this->disponibilite = self::DISPO_INDISPONIBLE; + $this->disponibilite = self::message('DISPO_INDISPONIBLE'); $this->bibliotheque = ''; $this->section = ''; $this->auteur = ''; @@ -86,6 +93,9 @@ class Class_WebService_SIGB_Exemplaire { } + + + public function setId($id) { $this->id = $id; return $this; @@ -297,7 +307,7 @@ class Class_WebService_SIGB_Exemplaire { public function setDisponibiliteEnTransit() { - return $this->setDisponibilite(self::DISPO_TRANSIT); + return $this->setDisponibilite($this->message('DISPO_TRANSIT')); } @@ -307,49 +317,49 @@ class Class_WebService_SIGB_Exemplaire { public function setDisponibiliteLibre() { - $this->setDisponibilite(self::DISPO_LIBRE); + $this->setDisponibilite($this->message('DISPO_LIBRE')); return $this; } public function setDisponibiliteIndisponible() { - $this->setDisponibilite(self::DISPO_INDISPONIBLE); + $this->setDisponibilite($this->message('DISPO_INDISPONIBLE')); return $this; } public function setDisponibilitePerdu() { - $this->setDisponibilite(self::DISPO_PERDU); + $this->setDisponibilite($this->message('DISPO_PERDU')); return $this; } public function setDisponibiliteTransfert($to, $from, $datesent) { - $this->setDisponibilite(sprintf(self::DISPO_EN_TRANSFERT, $to,$from,$datesent)); + $this->setDisponibilite($this->message('DISPO_EN_TRANSFERT')); return $this; } public function setDisponibilitePilonne() { - $this->setDisponibilite(self::DISPO_PILONNE); + $this->setDisponibilite($this->message('DISPO_PILONNE')); return $this; } public function setDisponibiliteEndommage() { - $this->setDisponibilite(self::DISPO_ENDOMMAGE); + $this->setDisponibilite($this->message('DISPO_ENDOMMAGE')); return $this; } public function setDisponibiliteDejaReserve() { - $this->setDisponibilite(self::DISPO_DEJA_RESERVE); + $this->setDisponibilite($this->message('DISPO_DEJA_RESERVE')); return $this; } public function setDisponibiliteEnCommande() { - $this->setDisponibilite(self::DISPO_EN_COMMANDE); + $this->setDisponibilite($this->message('DISPO_EN_COMMANDE')); return $this; } @@ -462,7 +472,7 @@ class Class_WebService_SIGB_Exemplaire { * @return bool */ public function isPilonne(){ - return $this->getDisponibilite() == self::DISPO_PILONNE; + return $this->getDisponibilite() == $this->message('DISPO_PILONNE'); } @@ -471,7 +481,7 @@ class Class_WebService_SIGB_Exemplaire { } public function isDisponible() { - return self::DISPO_LIBRE == $this->disponibilite; + return $this->message('DISPO_LIBRE') == $this->disponibilite; } diff --git a/library/Class/WebService/SIGB/Koha/GetRecordsResponseReader.php b/library/Class/WebService/SIGB/Koha/GetRecordsResponseReader.php index 2dd130d9abe..af5e6c8465f 100644 --- a/library/Class/WebService/SIGB/Koha/GetRecordsResponseReader.php +++ b/library/Class/WebService/SIGB/Koha/GetRecordsResponseReader.php @@ -21,25 +21,30 @@ class Class_WebService_SIGB_Koha_GetRecordsResponseReader { use Class_WebService_SIGB_Koha_TraitFormat; - + use Trait_Translator; static protected $_default_reader; - protected $_record, $_item, $_holds = []; + protected $_record, $_item, $_holds = [], + $_not_for_loan_status = []; protected $_cannot_hold_available = false; - protected $_not_for_loan_status = [0 => Class_WebService_SIGB_Exemplaire::DISPO_LIBRE, - 1 => 'Exclu du prêt', - 2 => 'En traitement', - 3 => 'Consultation sur place', - 4 => 'En réserve', - 5 => 'En réparation', - 6 => 'En reliure', - 7 => 'Exclu du prêt temporairement']; public static function newInstance() { - return new self(); + return (new self())->setNotForLoanStatus(); } + protected function setNotForLoanStatus() { + $this->_not_for_loan_status = [0 => Class_WebService_SIGB_Exemplaire::newInstance()->message('DISPO_LIBRE'), + 1 => $this->_('Exclu du prêt'), + 2 => $this->_('En traitement'), + 3 => $this->_('Consultation sur place'), + 4 => $this->_('En réserve'), + 5 => $this->_('En réparation'), + 6 => $this->_('En reliure'), + 7 => $this->_('Exclu du prêt temporairement')]; + return $this; + } + /** @category testing */ public static function setDefaultReader($reader) { static::$_default_reader = $reader; diff --git a/library/ZendAfi/View/Helper/Notice/ExemplairesTable.php b/library/ZendAfi/View/Helper/Notice/ExemplairesTable.php index 6c986fc0247..b7b6b9a05b9 100644 --- a/library/ZendAfi/View/Helper/Notice/ExemplairesTable.php +++ b/library/ZendAfi/View/Helper/Notice/ExemplairesTable.php @@ -246,7 +246,7 @@ class ZendAfi_View_Helper_Notice_Exemplaires_Dispo extends ZendAfi_View_Helper_N public function renderContent($exemplaire) { $class_dispo=''; $libelle = $exemplaire->getDisponibilite(); - $class_dispo = ($libelle == Class_WebService_SIGB_Exemplaire::DISPO_LIBRE) + $class_dispo = ($libelle == Class_WebService_SIGB_Exemplaire::newInstance()->message('DISPO_LIBRE')) ? 'disponible' : ''; @@ -267,8 +267,8 @@ class ZendAfi_View_Helper_Notice_Exemplaires_Dispo extends ZendAfi_View_Helper_N $libelle.= '<span>' .$this->view->_plural($exemplaire->getNbResas(), - '','Nb résa: %s ', - 'Nb résas: %s ', + '',$this->view->_('Nb résa: %s '), + $this->view->_('Nb résas: %s '), $exemplaire->getNbResas()) .'</span>'; diff --git a/tests/library/Class/WebService/SIGB/KohaTest.php b/tests/library/Class/WebService/SIGB/KohaTest.php index 4eba63d256c..3b79e497552 100644 --- a/tests/library/Class/WebService/SIGB/KohaTest.php +++ b/tests/library/Class/WebService/SIGB/KohaTest.php @@ -182,7 +182,7 @@ class KohaServiceGetNoticeJardinEnfantTest extends KohaTestCase { /** @test */ function firstExemplaireDisponibiliteShouldBeEmpruntable() { - $this->assertEquals(Class_WebService_SIGB_Exemplaire::DISPO_EN_PRET, $this->jardins_enfant->exemplaireAt(0)->getDisponibilite()); + $this->assertEquals(Class_WebService_SIGB_Exemplaire::newInstance()->message('DISPO_EN_PRET'), $this->jardins_enfant->exemplaireAt(0)->getDisponibilite()); } } @@ -246,7 +246,7 @@ class KohaServiceGetNoticeHarryPotterTest extends KohaServiceGetNoticeHarryPotte /** @test */ public function firstExemplaireDisponibiliteShouldBeEnPret() { - $this->assertEquals(Class_WebService_SIGB_Exemplaire::DISPO_EN_PRET, $this->potter->exemplaireAt(0)->getDisponibilite()); + $this->assertEquals(Class_WebService_SIGB_Exemplaire::newInstance()->message('DISPO_EN_PRET'), $this->potter->exemplaireAt(0)->getDisponibilite()); } /** @test */ @@ -272,7 +272,7 @@ class KohaServiceGetNoticeHarryPotterTest extends KohaServiceGetNoticeHarryPotte /** @test */ public function secondExemplaireDisponibiliteShouldBeEnPret() { - $this->assertEquals(Class_WebService_SIGB_Exemplaire::DISPO_EN_PRET, $this->potter->exemplaireAt(1)->getDisponibilite()); + $this->assertEquals(Class_WebService_SIGB_Exemplaire::newInstance()->message('DISPO_EN_PRET'), $this->potter->exemplaireAt(1)->getDisponibilite()); } /** @test */ @@ -282,7 +282,7 @@ class KohaServiceGetNoticeHarryPotterTest extends KohaServiceGetNoticeHarryPotte /** @test */ public function thirdExemplaireDisponibiliteShouldBeEmpruntable() { - $this->assertEquals(Class_WebService_SIGB_Exemplaire::DISPO_LIBRE, $this->potter->exemplaireAt(2)->getDisponibilite()); + $this->assertEquals(Class_WebService_SIGB_Exemplaire::newInstance()->message('DISPO_LIBRE'), $this->potter->exemplaireAt(2)->getDisponibilite()); } /** @test */ @@ -292,7 +292,7 @@ class KohaServiceGetNoticeHarryPotterTest extends KohaServiceGetNoticeHarryPotte /** @test */ public function fourthExemplaireDisponibiliteShouldBePilonne() { - $this->assertEquals(Class_WebService_SIGB_Exemplaire::DISPO_PILONNE, $this->potter->exemplaireAt(3)->getDisponibilite()); + $this->assertEquals(Class_WebService_SIGB_Exemplaire::newInstance()->message('DISPO_PILONNE'), $this->potter->exemplaireAt(3)->getDisponibilite()); } /** @test */ @@ -302,7 +302,7 @@ class KohaServiceGetNoticeHarryPotterTest extends KohaServiceGetNoticeHarryPotte /** @test */ public function fifthExemplaireDisponibiliteShouldBePerdu() { - $this->assertEquals(Class_WebService_SIGB_Exemplaire::DISPO_PERDU, $this->potter->exemplaireAt(4)->getDisponibilite()); + $this->assertEquals(Class_WebService_SIGB_Exemplaire::newInstance()->message('DISPO_PERDU'), $this->potter->exemplaireAt(4)->getDisponibilite()); } /** @test */ @@ -1151,7 +1151,7 @@ class KohaServiceGetNoticeJardinEnfantWithTransfertTest extends KohaTestCase { /** @test */ public function itemShouldNotBeAvailable() { - $this->assertContains('En transfert de BDP à MAURES depuis le 2018', + $this->assertContains('En transfert', $this->record->exemplaireAt(0)->getDisponibilite()); } -- GitLab