Skip to content
Snippets Groups Projects
Commit fae4c46a authored by Laurent's avatar Laurent
Browse files

hotline #115393 Nanook : fix hold item when several annexs bound to same library

parent 24c3630c
Branches
Tags
1 merge request!3609hotline #115393 Nanook : fix hold item when several annexs bound to same library
Pipeline #10896 passed with stage
in 46 minutes and 56 seconds
- ticket #115393 : SIGB Nanook : correction des réservations lorsque plusieurs annexes sont rattachées à une même bibliothèque
\ No newline at end of file
......@@ -236,7 +236,10 @@ class Class_Webservice_SIGB_Nanook_Service extends Class_WebService_SIGB_Abstrac
*/
public function reserverExemplaire($user, $exemplaire, $code_bib_or_annexe) {
$code_annexe = $code_bib_or_annexe;
if ($annexe = Class_CodifAnnexe::findFirstBy(['id_bib' => $code_bib_or_annexe]))
if (
($annexe = Class_CodifAnnexe::findFirstBy(['id_origine' => $code_bib_or_annexe]))
||
($annexe = Class_CodifAnnexe::findFirstBy(['id_bib' => $code_bib_or_annexe])))
$code_annexe = $annexe->getIdOrigine();
return $this->ilsdiHoldTitle(['bibId' => $exemplaire->getIdOrigine(),
......
......@@ -31,7 +31,7 @@ class Class_WebService_SIGB_Nanook_XMLParser extends Class_WebService_FasterXMLP
$ret = "";
$length = strlen($xml);
for ($i=0; $i < $length; $i++) {
$current = ord($xml{$i});
$current = ord(substr($xml, $i, 1));
// http://www.w3.org/TR/2000/REC-xml-20001006#NT-Char
if (($current == 0x9) ||
($current == 0xA) ||
......
......@@ -1160,6 +1160,27 @@ class NanookOperationsTest extends NanookTestCase {
}
/** @test */
public function reserverExemplaireOnExistingAnnexeOfLibraryWithTwoAnnexesShouldReturnSuccess() {
$this->fixture('Class_CodifAnnexe' , ['id' => 5,
'libelle' => 'Archives',
'id_bib' => 3,
'id_origine' => 3]);
$this->_mock_web_client
->whenCalled('open_url')
->with('http://localhost:8080/afi_Nanook/ilsdi/service/HoldTitle/bibId/196895/patronId/1/pickupLocation/3')
->answers(NanookFixtures::xmlHoldTitleSuccess());
$this->assertEquals(array('statut' => true, 'erreur' => ''),
$this->_service->reserverExemplaire(
Class_Users::getLoader()->newInstance() ->setIdSigb('1'),
Class_Exemplaire::getLoader()->newInstance()->setIdOrigine('196895'),
3
));
}
/** @test */
public function reserverExemplaireShouldReturnFailureIfErrors() {
$this->_mock_web_client
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment