From 21ddfc6152a0fb8440ff4417492e94ed6acd6d3b Mon Sep 17 00:00:00 2001 From: Demian Katz <demian.katz@villanova.edu> Date: Wed, 9 Aug 2017 10:36:03 -0400 Subject: [PATCH] Do not open OPAC hold links in a lightbox. - Resolves VUFIND-1242. --- module/VuFind/src/VuFind/ILS/Logic/Holds.php | 5 +++++ themes/bootstrap3/templates/RecordTab/holdingsils.phtml | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/module/VuFind/src/VuFind/ILS/Logic/Holds.php b/module/VuFind/src/VuFind/ILS/Logic/Holds.php index 137fc244d99..85ee8f78752 100644 --- a/module/VuFind/src/VuFind/ILS/Logic/Holds.php +++ b/module/VuFind/src/VuFind/ILS/Logic/Holds.php @@ -283,6 +283,7 @@ class Holds $copy['link'] = $this->getRequestDetails( $copy, $holdConfig['HMACKeys'], 'Hold' ); + $copy['allowLightbox'] = true; // If we are unsure whether hold options are available, // set a flag so we can check later via AJAX: $copy['check'] = $copy['addLink'] === 'check'; @@ -369,12 +370,16 @@ class Holds = $this->catalog->getHoldLink( $copy['id'], $copy ); + $holdings[$location_key][$copy_key]['allowLightbox'] + = false; } else { /* Build non-opac link */ $holdings[$location_key][$copy_key]['link'] = $this->getRequestDetails( $copy, $holdConfig['HMACKeys'], 'Hold' ); + $holdings[$location_key][$copy_key]['allowLightbox'] + = true; } } } diff --git a/themes/bootstrap3/templates/RecordTab/holdingsils.phtml b/themes/bootstrap3/templates/RecordTab/holdingsils.phtml index 5d836e7015d..e0c2b956391 100644 --- a/themes/bootstrap3/templates/RecordTab/holdingsils.phtml +++ b/themes/bootstrap3/templates/RecordTab/holdingsils.phtml @@ -109,7 +109,7 @@ <? /* Begin Available Items (Holds) */ ?> <span class="text-success"><?=$this->transEsc("Available")?><link property="availability" href="http://schema.org/InStock" /></span> <? if (isset($row['link']) && $row['link']): ?> - <a class="<?=$check ? 'checkRequest ' : ''?>placehold" data-lightbox href="<?=$this->recordLink()->getRequestUrl($row['link'])?>"><i class="fa fa-flag" aria-hidden="true"></i> <?=$this->transEsc($check ? "Check Hold" : "Place a Hold")?></a> + <a class="<?=$check ? 'checkRequest ' : ''?>placehold" <? if (!empty($row['allowLightbox'])): ?>data-lightbox <? endif; ?>href="<?=$this->recordLink()->getRequestUrl($row['link'])?>"><i class="fa fa-flag" aria-hidden="true"></i> <?=$this->transEsc($check ? "Check Hold" : "Place a Hold")?></a> <? endif; ?> <? if (isset($row['storageRetrievalRequestLink']) && $row['storageRetrievalRequestLink']): ?> <a class="<?=$checkStorageRetrievalRequest ? 'checkStorageRetrievalRequest ' : ''?> placeStorageRetrievalRequest" data-lightbox href="<?=$this->recordLink()->getRequestUrl($row['storageRetrievalRequestLink'])?>"><i class="fa fa-flag" aria-hidden="true"></i> <?=$this->transEsc($checkStorageRetrievalRequest ? "storage_retrieval_request_check_text" : "storage_retrieval_request_place_text")?></a> @@ -128,7 +128,7 @@ <span><?=$this->transEsc("Requests")?>: <?=$this->escapeHtml($row['requests_placed'])?></span> <? endif; ?> <? if (isset($row['link']) && $row['link']): ?> - <a class="<?=$check ? 'checkRequest' : ''?> placehold" data-lightbox href="<?=$this->recordLink()->getRequestUrl($row['link'])?>"><i class="fa fa-flag" aria-hidden="true"></i> <?=$this->transEsc($check ? "Check Recall" : "Recall This")?></a> + <a class="<?=$check ? 'checkRequest' : ''?> placehold" <? if (!empty($row['allowLightbox'])): ?>data-lightbox <? endif; ?>href="<?=$this->recordLink()->getRequestUrl($row['link'])?>"><i class="fa fa-flag" aria-hidden="true"></i> <?=$this->transEsc($check ? "Check Recall" : "Recall This")?></a> <? endif; ?> <? endif; ?> <? if (isset($row['item_notes'])): ?> -- GitLab