Skip to content
Snippets Groups Projects
Commit dadacbc7 authored by efalcy's avatar efalcy
Browse files

#7116 : Ajout des variables d'etat du document

parent 4f53e2e1
Branches
Tags
No related merge requests found
......@@ -24,7 +24,39 @@ class Class_WebService_SIGB_Dynix_TitleInfoResponseReader extends Class_WebServi
protected $_current_location_id;
protected $_current_exemplaire;
protected $_is_reservable = false;
protected $_code_disponibilite = [
'ATTENTE'=>'Momentanément indisponible',
'AVAIL_SOON'=>'Bientôt disponible',
'BINDERY'=>'Reliure',
'CATALOGING'=>'En catalogage',
'CHECKEDOUT'=>Class_WebService_SIGB_Exemplaire::DISPO_EN_PRET,
'DISCARD'=>'Retiré',
'HOLDS'=>'Réservé',
'ILL'=>'PEB',
'INPROCESS'=>'En traitement',
'INSHIPPING'=>'En cours de livraison vers la destination',
'INTRANSIT'=>'En transit',
'LONGOVRDUE'=>'Très en retard',
'LOST'=>'Perdu',
'LOST-ASSUM'=>'Perdu (retard prolongé)',
'LOST-CLAIM'=>'Perdu (par usager)',
'LOST-PAID'=>'Perdu et payé',
'MISSING'=>'Manquant',
'_ON-ORDER'=>'_Commandé',
'REFERENCE'=>'Référence',
'REPAIR'=>'En réparation',
'RESERVES'=>'Réserve académique',
'RESHELVING'=>'Prérangement',
'STACKS'=>'Sur les rayons',
'_UNKNOWN'=>'Inconnue',
'Z1ERREURS1'=>'ERREURS Alfortville',
'Z1ERREURS2'=>'ERREURS Absents',
'Z2ERREURS'=>'ERREURS Créteil'
];
protected $_unvisible_code_dispo = [
'DISCARD','ILL','LONGOVRDUE','LOST','LOST-ASSUM','LOST-CLAIM','LOST-PAID','MISSING'
];
public function endTitleId($content) {
$this->_notice = new Class_WebService_SIGB_Notice($content);
......@@ -51,12 +83,10 @@ class Class_WebService_SIGB_Dynix_TitleInfoResponseReader extends Class_WebServi
public function endCurrentLocationID($data) {
if ($data == 'CHECKEDOUT')
$this->_current_exemplaire->setDisponibiliteEnPret();
if ($data == 'INTRANSIT')
$this->_current_exemplaire->setDisponibiliteEnTransit();
if (isset($this->_code_disponibilite[$data]))
$this->_current_exemplaire->setDisponibilite($this->_code_disponibilite[$data]);
$this->_current_exemplaire->setVisibleOpac(!in_array($data,$this->_unvisible_code_dispo));
$this->_current_location_id = $data;
}
......
......@@ -78,6 +78,21 @@ class DynixFixtures {
<fixedTimeBooking>false</fixedTimeBooking>
</ItemInfo>
</CallInfo>
<CallInfo>
<libraryID>CRETMAC</libraryID>
<classificationID>ASIS</classificationID>
<callNumber>BD LAR</callNumber>
<numberOfCopies>1</numberOfCopies>
<ItemInfo>
<itemID>00580777</itemID>
<itemTypeID>1IMP</itemTypeID>
<currentLocationID>DISCARD</currentLocationID>
<homeLocationID>11ABD</homeLocationID>
<chargeable>true</chargeable>
<fixedTimeBooking>false</fixedTimeBooking>
</ItemInfo>
</CallInfo>
</TitleInfo>
</LookupTitleInfoResponse>';
}
......
......@@ -95,8 +95,8 @@ class DynixGetNoticeLeCombatOrdinaire extends DynixTestCase {
/** @test */
public function getExemplairesShouldReturnAnArrayWithSizeThree() {
$this->assertEquals(3, count($this->_notice->getExemplaires()));
public function getExemplairesShouldReturnAnArrayWithSizeFour() {
$this->assertEquals(4, count($this->_notice->getExemplaires()));
}
......@@ -155,6 +155,24 @@ class DynixGetNoticeLeCombatOrdinaire extends DynixTestCase {
$this->assertEquals(Class_WebService_SIGB_Exemplaire::DISPO_LIBRE,
$this->_notice->exemplaireAt(2)->getDisponibilite());
}
/** @test */
public function thirdExemplaireShouldBeVisibleOPAC() {
$this->assertTrue($this->_notice->exemplaireAt(2)->isVisibleOPAC());
}
/** @test */
public function fourthExemplaireDisponibiliteShouldBeDiscard() {
$this->assertEquals('Retiré',
$this->_notice->exemplaireAt(3)->getDisponibilite());
}
/** @test */
public function fourthExemplaireDisponibiliteShouldNotBeVisibleOPAC() {
$this->assertFalse($this->_notice->exemplaireAt(3)->isVisibleOPAC());
}
}
......
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