[Koha-patches] [PATCH] Bugfix 2339 - Place hold button display with AllowOnShelfHolds OFF
Kyle M Hall
kyle.m.hall at gmail.com
Wed Jul 29 15:05:52 CEST 2009
---
C4/Biblio.pm | 13 ++++++++++++-
.../opac-tmpl/prog/en/modules/opac-ISBDdetail.tmpl | 17 ++++++++++++-----
.../opac-tmpl/prog/en/modules/opac-MARCdetail.tmpl | 14 +++++++++++++-
.../opac-tmpl/prog/en/modules/opac-detail.tmpl | 16 +++++++++++-----
.../prog/en/modules/opac-results-grouped.tmpl | 16 +++++++++++++++-
.../opac-tmpl/prog/en/modules/opac-results.tmpl | 14 +++++++++++++-
opac/opac-MARCdetail.pl | 3 +++
opac/opac-detail.pl | 4 ++++
opac/opac-search.pl | 2 ++
9 files changed, 85 insertions(+), 14 deletions(-)
diff --git a/C4/Biblio.pm b/C4/Biblio.pm
index d20d747..40ff797 100644
--- a/C4/Biblio.pm
+++ b/C4/Biblio.pm
@@ -67,7 +67,7 @@ BEGIN {
GetMarcUrls
&GetUsedMarcStructure
&GetXmlBiblio
- &GetCOinSBiblio
+ &GetCOinSBiblio
&GetAuthorisedValueDesc
&GetMarcStructure
@@ -75,6 +75,8 @@ BEGIN {
&GetFrameworkCode
&GetPublisherNameFromIsbn
&TransformKohaToMarc
+
+ &CountItemsIssued
);
# To modify something
@@ -2024,6 +2026,15 @@ more.
=cut
+sub CountItemsIssued {
+ my ( $biblionumber ) = @_;
+ my $dbh = C4::Context->dbh;
+ my $sth = $dbh->prepare('SELECT COUNT(*) as issuedCount FROM items, issues WHERE items.itemnumber = issues.itemnumber AND items.biblionumber = ?');
+ $sth->execute( $biblionumber );
+ my $row = $sth->fetchrow_hashref();
+ return $row->{'issuedCount'};
+}
+
sub _disambiguate {
my ($table, $column) = @_;
if ($column eq "cn_sort" or $column eq "cn_source") {
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-ISBDdetail.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-ISBDdetail.tmpl
index 3366198..17acd38 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-ISBDdetail.tmpl
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-ISBDdetail.tmpl
@@ -161,11 +161,18 @@
<!-- TMPL_UNLESS NAME="norequests" -->
<!-- TMPL_UNLESS name="bi_notforloan" -->
- <!-- TMPL_IF NAME="opacuserlogin" --><!-- TMPL_IF NAME="RequestOnOpac" -->
- <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">
- Place Hold
- </a></li>
- <!-- /TMPL_IF --><!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="opacuserlogin" -->
+ <!-- TMPL_IF NAME="RequestOnOpac" -->
+ <!-- TMPL_IF NAME="AllowOnShelfHolds" -->
+ <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a></li>
+ <!-- TMPL_ELSE -->
+ <!-- TMPL_IF NAME="itemsissued" -->
+ <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a></li>
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
+
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
<!-- /TMPL_UNLESS -->
<!-- /TMPL_UNLESS -->
<li><a class="print" href="/cgi-bin/koha/opac-detailprint.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" onclick="Dopop('opac-detailprint.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->'); return false;">
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-MARCdetail.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-MARCdetail.tmpl
index e210545..63501ae 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-MARCdetail.tmpl
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-MARCdetail.tmpl
@@ -19,7 +19,19 @@
<div class="container"><div class="yui-g">
<div id="toolbar">
<ul>
- <!-- TMPL_UNLESS NAME="norequests" --><!-- TMPL_IF NAME="opacuserlogin" --><!-- TMPL_IF NAME="RequestOnOpac" --><li><a class="link reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a></li><!-- /TMPL_IF --><!-- /TMPL_IF --><!-- /TMPL_UNLESS -->
+ <!-- TMPL_UNLESS NAME="norequests" -->
+ <!-- TMPL_IF NAME="opacuserlogin" -->
+ <!-- TMPL_IF NAME="RequestOnOpac" -->
+ <!-- TMPL_IF NAME="AllowOnShelfHolds" -->
+ <li><a class="link reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a></li>
+ <!-- TMPL_ELSE -->
+ <!-- TMPL_IF NAME="ItemsIssued" -->
+ <li><a class="link reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a></li>
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_UNLESS -->
<li><a class="link print" href="/cgi-bin/koha/opac-detailprint.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" onclick="Dopop('opac-detailprint.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->'); return false;">Print</a></li>
<!-- TMPL_IF name="virtualshelves" --><!-- TMPL_IF NAME="opacuserlogin" --><!-- TMPL_IF NAME="loggedinusername" --><li><a class="link addtoshelf" href="/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" onclick="Dopop('opac-addbybiblionumber.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->'); return false;">Save to Your Lists</a></li><!-- /TMPL_IF --><!-- /TMPL_IF --><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="opacbookbag" --><li><a class="link addtocart" href="#" onclick="addRecord('<!-- TMPL_VAR NAME="biblionumber" -->'); return false;">Add to Your Cart</a></li><!-- /TMPL_IF -->
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl
index 6bf2de1..db65f25 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl
@@ -736,11 +736,17 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
<!-- TMPL_UNLESS NAME="norequests" -->
<!-- TMPL_UNLESS name="bi_notforloan" -->
- <!-- TMPL_IF NAME="opacuserlogin" --><!-- TMPL_IF NAME="RequestOnOpac" -->
- <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">
- Place Hold
- </a></li>
- <!-- /TMPL_IF --><!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="opacuserlogin" -->
+ <!-- TMPL_IF NAME="RequestOnOpac" -->
+ <!-- TMPL_IF NAME="AllowOnShelfHolds" -->
+ <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a></li>
+ <!-- TMPL_ELSE -->
+ <!-- TMPL_IF NAME="ItemsIssued" -->
+ <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a></li>
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
<!-- /TMPL_UNLESS -->
<!-- /TMPL_UNLESS -->
<li><a class="print" href="/cgi-bin/koha/opac-detailprint.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" onclick="Dopop('opac-detailprint.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->'); return false;">
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results-grouped.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results-grouped.tmpl
index 2113eef..3c3c780 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results-grouped.tmpl
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results-grouped.tmpl
@@ -224,7 +224,21 @@ $(document).ready(function(){
</span>
</p>
- <p><!-- TMPL_IF name="RequestOnOpac" --><!-- TMPL_UNLESS NAME="norequests" --><!-- TMPL_IF NAME="opacuserlogin" --><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a><!-- /TMPL_IF --><!-- /TMPL_UNLESS --> <!-- /TMPL_IF -->
+ <p>
+ <!-- TMPL_IF name="RequestOnOpac" -->
+ <!-- TMPL_UNLESS NAME="norequests" -->
+ <!-- TMPL_IF NAME="opacuserlogin" -->
+ <!-- TMPL_IF NAME="AllowOnShelfHolds" -->
+ <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a><!-- add back when available 0 holds in queue-->
+ <!-- TMPL_ELSE -->
+ <!-- TMPL_IF NAME="itemsissued" -->
+ <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a><!-- add back when available 0 holds in queue-->
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_UNLESS -->
+ <!-- /TMPL_IF -->
+
<!--TMPL_IF EXPR="opacbookbag || virtualshelves" --><input type="checkbox" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" title="Click to add to cart" /> <label for="bib<!-- TMPL_VAR NAME="biblionumber" -->"><!-- /TMPL_IF --><img src="<!-- TMPL_VAR NAME="themelang" -->/images/<!-- TMPL_VAR NAME="itemtype" -->.gif" alt="<!-- TMPL_VAR NAME="ccode" -->" title="<!-- TMPL_VAR NAME="ccode" -->" /><!--TMPL_IF EXPR="opacbookbag || virtualshelves" --></label><!-- /TMPL_IF --> <!-- TMPL_IF name="classification" -->
<a href="/cgi-bin/koha/opac-search.pl?q=callnum:<!-- TMPL_VAR NAME="classification" ESCAPE="URL" -->">
<!-- TMPL_VAR NAME="classification" -->
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tmpl
index f2d7e10..aba7c15 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tmpl
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tmpl
@@ -427,7 +427,19 @@ $(document).ready(function(){
<!-- TMPL_IF Name="searchhighlightblob" --><span class="results_summary"><span class="label">Match:</span> <!-- TMPL_VAR NAME="searchhighlightblob" --></span><!-- /TMPL_IF -->
<span class="results_summary actions"><span class="label">Actions:</span>
- <!-- TMPL_IF name="RequestOnOpac" --><!-- TMPL_UNLESS NAME="norequests" --><!-- TMPL_IF NAME="opacuserlogin" --><a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a><!-- add back when available 0 holds in queue--> <!-- /TMPL_IF --><!-- /TMPL_UNLESS --><!-- /TMPL_IF -->
+ <!-- TMPL_IF name="RequestOnOpac" -->
+ <!-- TMPL_UNLESS NAME="norequests" -->
+ <!-- TMPL_IF NAME="opacuserlogin" -->
+ <!-- TMPL_IF NAME="AllowOnShelfHolds" -->
+ <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a><!-- add back when available 0 holds in queue-->
+ <!-- TMPL_ELSE -->
+ <!-- TMPL_IF NAME="itemsissued" -->
+ <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Place Hold</a><!-- add back when available 0 holds in queue-->
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_UNLESS -->
+ <!-- /TMPL_IF -->
<!-- TMPL_IF NAME="opacuserlogin" --><!-- TMPL_IF NAME="loggedinusername" --><!-- TMPL_IF NAME="virtualshelves" --><a class="addtolist" href="/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" onclick="Dopop('opac-addbybiblionumber.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->'); return false;">Save to Lists</a>
diff --git a/opac/opac-MARCdetail.pl b/opac/opac-MARCdetail.pl
index a372826..51d1579 100755
--- a/opac/opac-MARCdetail.pl
+++ b/opac/opac-MARCdetail.pl
@@ -74,6 +74,9 @@ $template->param(
bibliotitle => $biblio->{title},
);
+$template->param( 'AllowOnShelfHolds' => C4::Context->preference('AllowOnShelfHolds') );
+$template->param( 'ItemsIssued' => CountItemsIssued( $biblionumber ) );
+
# adding the $RequestOnOpac param
my $RequestOnOpac;
if (C4::Context->preference("RequestOnOpac")) {
diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl
index c928ddb..f0ba0c5 100755
--- a/opac/opac-detail.pl
+++ b/opac/opac-detail.pl
@@ -59,6 +59,10 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
);
my $biblionumber = $query->param('biblionumber') || $query->param('bib');
+
+$template->param( 'AllowOnShelfHolds' => C4::Context->preference('AllowOnShelfHolds') );
+$template->param( 'ItemsIssued' => CountItemsIssued( $biblionumber ) );
+
my $record = GetMarcBiblio($biblionumber);
$template->param( biblionumber => $biblionumber );
# XSLT processing of some stuff
diff --git a/opac/opac-search.pl b/opac/opac-search.pl
index 20d06f5..9b8b00c 100755
--- a/opac/opac-search.pl
+++ b/opac/opac-search.pl
@@ -73,6 +73,7 @@ if (C4::Context->preference("marcflavour") eq "UNIMARC" ) {
elsif (C4::Context->preference("marcflavour") eq "MARC21" ) {
$template->param('usmarc' => 1);
}
+$template->param( 'AllowOnShelfHolds' => C4::Context->preference('AllowOnShelfHolds') );
if (C4::Context->preference('BakerTaylorEnabled')) {
$template->param(
@@ -423,6 +424,7 @@ for (my $i=0;$i<=@servers;$i++) {
$tag_quantity = C4::Context->preference('TagsShowOnList')) {
foreach (@newresults) {
my $bibnum = $_->{biblionumber} or next;
+ $_->{itemsissued} = CountItemsIssued( $bibnum );
$_ ->{'TagLoop'} = get_tags({biblionumber=>$bibnum, approved=>1, 'sort'=>'-weight',
limit=>$tag_quantity });
}
--
1.5.6.5
More information about the Koha-patches
mailing list