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

hotline #89824 fix RT

parent fc7f856c
Branches
Tags
4 merge requests!3297WIP: Master,!3106Master,!3094Hotline,!3087hotline#89824 Webservice Carthame : Gestion document sur place et disponibilité
Pipeline #6796 passed with stage
in 37 minutes and 42 seconds
- ticket #89824 :Carthame web service document en consultation sur place
\ No newline at end of file
- ticket #89824 : SIGB Carthame : amélioration des indications de disponibilité et de réservabilité
\ No newline at end of file
......@@ -36,11 +36,10 @@ class Class_WebService_SIGB_Carthame_RecordResponseReader {
/** @var Class_WebService_SIGB_Exemplaire */
protected $_current_exemplaire;
protected $_current_exemplaire_status;
protected $_current_exemplaire_sfn;
protected $_current_exemplaire_sfp;
protected
$_current_exemplaire_status,
$_current_exemplaire_sfn,
$_current_exemplaire_sfp;
/**
* @return Class_WebService_SIGB_Carthame_RecordResponseReader
......@@ -86,53 +85,45 @@ class Class_WebService_SIGB_Carthame_RecordResponseReader {
public function endSFo($data) {
$data = (int)$data;
$this->_current_exemplaire_status = $data;
$this->_current_exemplaire->setReservable(in_array($data, [self::STATUT_DISPO,
self::STATUT_RESERVE,
self::STATUT_PRETE_FONC,
self::STATUT_PRETE]));
}
public function endSFp($data) {
$data = (string)$data;
$this->_current_exemplaire_sfp = $data;
$this->_current_exemplaire_sfp = (string)$data;
}
public function endSFn($data) {
$data = (string)$data;
$this->_current_exemplaire_sfn = $data;
$this->_current_exemplaire_sfn = (string)$data;
}
private function _setDisponibilite(){
protected function _updateItemAvailability(){
if (self::STATUT_PRETE == $this->_current_exemplaire_status)
$this->_current_exemplaire->setDisponibiliteEnPret();
return $this->_current_exemplaire->setDisponibiliteEnPret();
if (self::STATUT_RESERVE == $this->_current_exemplaire_status)
$this->_current_exemplaire->setDisponibiliteDejaReserve();
return $this->_current_exemplaire->setDisponibiliteDejaReserve();
if (self::STATUT_PRETE_FONC == $this->_current_exemplaire_status)
(strlen($this->_current_exemplaire_sfp) >0)?
$this->_current_exemplaire->setDisponibilite($this->_current_exemplaire_sfp)
:$this->_current_exemplaire->setDisponibiliteIndisponible();
return (strlen($this->_current_exemplaire_sfp) > 0)
? $this->_current_exemplaire->setDisponibilite($this->_current_exemplaire_sfp)
: $this->_current_exemplaire->setDisponibiliteIndisponible();
if (self::STATUT_EXCLU == $this->_current_exemplaire_status)
(strlen($this->_current_exemplaire_sfn) >0)?
$this->_current_exemplaire->setDisponibilite($this->_current_exemplaire_sfn)
:$this->_current_exemplaire->setDisponibiliteExcluDuPret();
return (strlen($this->_current_exemplaire_sfn) > 0)
? $this->_current_exemplaire->setDisponibilite($this->_current_exemplaire_sfn)
: $this->_current_exemplaire->setDisponibiliteExcluDuPret();
if (self::STATUT_DISPO == $this->_current_exemplaire_status)
$this->_current_exemplaire->setDisponibiliteLibre();
return $this->_current_exemplaire->setDisponibiliteLibre();
$this->_current_exemplaire->setDisponibiliteIndisponible();
}
......@@ -144,28 +135,25 @@ class Class_WebService_SIGB_Carthame_RecordResponseReader {
public function endF941($data) {
$this->_setDisponibilite();
$this->_updateItemAvailability();
$this->_notice->addExemplaire($this->_current_exemplaire);
$this->_wipeExemplaire();
}
private function _wipeExemplaire(){
protected function _wipeExemplaire(){
$this->_current_exemplaire = null;
$this->_current_exemplaire_status = "";
$this->_current_exemplaire_sfp = "";
$this->_current_exemplaire_sfn = "";
$this->_current_exemplaire_status = '';
$this->_current_exemplaire_sfp = '';
$this->_current_exemplaire_sfn = '';
}
public function endReservation($data){
$data = (string)$data;
$isReservable = ($data == "T");
$is_reservable = ( (string)$data == 'T' );
foreach ($this->_notice->getExemplaires() as $exemplaire){
$exemplaire->setReservable($isReservable && $exemplaire->isReservable());
}
foreach ($this->_notice->getExemplaires() as $exemplaire)
$exemplaire->setReservable($is_reservable && $exemplaire->isReservable());
}
}
?>
\ No newline at end of file
This diff is collapsed.
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