Skip to content
Snippets Groups Projects
Commit 0e157dfd authored by Ghislain Loas's avatar Ghislain Loas
Browse files

Merge branch 'hotline#82155_probleme_de_reservation' into 'hotline'

hotline #82155 handle Can_Rsv WS Orphee

See merge request !2912
parents 8c08a35a 78d9f803
Branches
Tags
1 merge request!2912hotline #82155 handle Can_Rsv WS Orphee
Pipeline #5420 passed with stage
in 31 minutes and 45 seconds
- ticket #82155 : SIGB Orphée: prise en compte de la donnée Can_Rsv pour indiquer la réservabilité des exemplaires dans la nouvelle version des web services d'Orphée
\ No newline at end of file
......@@ -22,7 +22,9 @@ class Class_WebService_SIGB_Orphee_Exemplaire extends Class_WebService_SIGB_Exem
CONST DISPO_LIBRE = 'En rayon';
protected $_allow_hold_available_items;
protected
$_allow_hold_available_items,
$_flag_can_hold = null;
public function __construct($id, $allow_hold_available_items=null) {
parent::__construct($id);
......@@ -31,11 +33,20 @@ class Class_WebService_SIGB_Orphee_Exemplaire extends Class_WebService_SIGB_Exem
public function isReservable() {
if ($this->_flag_can_hold !== null)
return $this->_flag_can_hold;
return parent::isReservable()
|| ( $this->isDisponible() && $this->_allow_hold_available_items );
}
public function setFlagCanHold($flag) {
$this->_flag_can_hold = $flag;
return $this;
}
public function isDisponible() {
return strtolower(self::DISPO_LIBRE) == strtolower(trim($this->disponibilite));
}
......
......@@ -78,6 +78,13 @@ class Class_WebService_SIGB_Orphee_GetLstDmtResponseReader extends Class_WebServ
}
public function endCan_Rsv($data) {
$this
->_current_exemplaire
->setFlagCanHold('1' === $data);
}
public function endDate_Last_Retour($data) {
$this->_current_exemplaire->setDateRetour(trim($data));
}
......
......@@ -283,6 +283,89 @@ class OrpheeFixtures {
<titre><![CDATA[[Millenium (Larsson, Stieg (1954-2004))]]></titre>
<date_edi><![CDATA[2010]]></date_edi>
</document>
<document>
<no><![CDATA[148899]]></no>
<ntc><![CDATA[1301700727]]></ntc>
<carte><![CDATA[200014899]]></carte>
<can_rsv>1</can_rsv>
<sit><![CDATA[1]]></sit>
<lib_sit><![CDATA[ en rayon]]></lib_sit>
<loc><![CDATA[2]]></loc>
<lib_loc><![CDATA[ Salle bleue]]></lib_loc>
<loc_ori><![CDATA[2]]></loc_ori>
<lib_loc_ori><![CDATA[ Salle bleue]]></lib_loc_ori>
<cote><![CDATA[952.05 SCO]]></cote>
<anx_ori><![CDATA[1]]></anx_ori>
<lib_anx_ori><![CDATA[ Bibliothèque]]></lib_anx_ori>
<anx_cur><![CDATA[1]]></anx_cur>
<lib_anx_cur><![CDATA[ Bibliothèque]]></lib_anx_cur>
<anx_nxt><![CDATA[1]]></anx_nxt>
<lib_anx_nxt><![CDATA[ Bibliothèque]]></lib_anx_nxt>
<no_coll><![CDATA[0]]></no_coll>
<site><![CDATA[20]]></site>
<lib_site><![CDATA[ Saint Cloud]]></lib_site>
<sup><![CDATA[108]]></sup>
<lib_sup><![CDATA[ Livre]]></lib_sup>
<sec><![CDATA[2]]></sec>
<lib_sec><![CDATA[ Adultes]]></lib_sec>
<uti><![CDATA[2]]></uti>
<lib_uti><![CDATA[ Prêt normal]]></lib_uti>
<sta1><![CDATA[98]]></sta1>
<lib_sta1><![CDATA[ Docum Adulte]]></lib_sta1>
<sta2><![CDATA[57]]></sta2>
<lib_sta2><![CDATA[ Histoire]]></lib_sta2>
<sta3><![CDATA[0]]></sta3>
<lib_sta3 />
<date_last_pret><![CDATA[03/05/2018]]></date_last_pret>
<date_last_retour><![CDATA[31/08/2018]]></date_last_retour>
<droit_resa><![CDATA[0]]></droit_resa>
<lib_droit_resa />
<titre><![CDATA[[Millenium (Larsson, Stieg (1954-2004))]]></titre>
<date_edi><![CDATA[2010]]></date_edi>
</document>
<document>
<no><![CDATA[148900]]></no>
<ntc><![CDATA[1301700727]]></ntc>
<carte><![CDATA[200014900]]></carte>
<sit><![CDATA[2]]></sit>
<lib_sit><![CDATA[ en rayon]]></lib_sit>
<loc><![CDATA[2]]></loc>
<lib_loc><![CDATA[ Salle bleue]]></lib_loc>
<loc_ori><![CDATA[2]]></loc_ori>
<lib_loc_ori><![CDATA[ Salle bleue]]></lib_loc_ori>
<cote><![CDATA[952.05 SCO]]></cote>
<anx_ori><![CDATA[1]]></anx_ori>
<lib_anx_ori><![CDATA[ Bibliothèque]]></lib_anx_ori>
<anx_cur><![CDATA[1]]></anx_cur>
<lib_anx_cur><![CDATA[ Bibliothèque]]></lib_anx_cur>
<anx_nxt><![CDATA[1]]></anx_nxt>
<lib_anx_nxt><![CDATA[ Bibliothèque]]></lib_anx_nxt>
<no_coll><![CDATA[0]]></no_coll>
<site><![CDATA[20]]></site>
<lib_site><![CDATA[ Saint Cloud]]></lib_site>
<sup><![CDATA[108]]></sup>
<lib_sup><![CDATA[ Livre]]></lib_sup>
<sec><![CDATA[2]]></sec>
<lib_sec><![CDATA[ Adultes]]></lib_sec>
<uti><![CDATA[2]]></uti>
<lib_uti><![CDATA[ Prêt normal]]></lib_uti>
<sta1><![CDATA[98]]></sta1>
<lib_sta1><![CDATA[ Docum Adulte]]></lib_sta1>
<sta2><![CDATA[57]]></sta2>
<lib_sta2><![CDATA[ Histoire]]></lib_sta2>
<sta3><![CDATA[0]]></sta3>
<lib_sta3 />
<date_last_pret><![CDATA[03/05/2018]]></date_last_pret>
<date_last_retour><![CDATA[31/08/2018]]></date_last_retour>
<droit_resa><![CDATA[0]]></droit_resa>
<lib_droit_resa />
<titre><![CDATA[[Millenium (Larsson, Stieg (1954-2004))]]></titre>
<date_edi><![CDATA[2010]]></date_edi>
<can_rsv>0</can_rsv>
</documents>
</datas>';
}
......
......@@ -328,6 +328,16 @@ class OrpheeServiceTestGetLstDmntWithMillenium extends OrpheeServiceTestCase {
['id' => 3,
'code_barres' => '200019001649',
'id_origine' => 'frOr1301200059']),
$this->fixture('Class_Exemplaire',
['id' => 5,
'code_barres' => '200014899',
'id_origine' => 'frOr1301200059']),
$this->fixture('Class_Exemplaire',
['id' => 6,
'code_barres' => '200014900',
'id_origine' => 'frOr1301200059'])
]
]);
......@@ -466,6 +476,22 @@ class OrpheeServiceTestGetLstDmntWithMillenium extends OrpheeServiceTestCase {
$this->assertNotEmpty($exemplaire);
$this->assertTrue($exemplaire->isDisponible());
}
/** @test */
public function exemplaireByCodeBarre200014899WithCanRsvOneShouldBeHoldable() {
$exemplaire = $this->_orphee->getExemplaire('frOr1301700727', '200014899');
$this->assertNotEmpty($exemplaire);
$this->assertTrue($exemplaire->isReservable());
}
/** @test */
public function exemplaireByCodeBarre200014900WithCanRsvOneShouldNotBeHoldable() {
$exemplaire = $this->_orphee->getExemplaire('frOr1301700727', '200014900');
$this->assertNotEmpty($exemplaire);
$this->assertFalse($exemplaire->isReservable());
}
}
......
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