">Close Shelf Browser
-Browsing
+Library:
+Shelving Location:
&shelfbrowse_itemnumber=#shelfbrowser">Previous
- - &shelfbrowse_itemnumber=#shelfbrowser">.01._SS50_.jpg" />
+ - &shelfbrowse_itemnumber=#shelfbrowser">.01._SS50_.jpg" />
- - &shelfbrowse_itemnumber=#shelfbrowser">.01._SS50_.jpg" />
+ - &shelfbrowse_itemnumber=#shelfbrowser">.01._SS50_.jpg" />
&shelfbrowse_itemnumber=#shelfbrowser">Next
diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl
index 01c5d88256..a30a6a000f 100755
--- a/opac/opac-detail.pl
+++ b/opac/opac-detail.pl
@@ -22,6 +22,7 @@ use strict;
require Exporter;
use CGI;
use C4::Auth;
+use C4::Branch;
use C4::Koha;
use C4::Serials; #uses getsubscriptionfrom biblionumber
use C4::Output;
@@ -94,6 +95,8 @@ foreach my $itm (@items) {
|| (not $itm->{'itemnotforloan'} )
|| ($itm->{'itemnumber'} ) );
$itm->{ $itm->{'publictype'} } = 1;
+ $itm->{datedue} = format_date($itm->{datedue});
+ $itm->{datelastseen} = format_date($itm->{datelastseen});
# imageurl:
my $itemtype = $itm->{'itemtype'};
@@ -104,6 +107,7 @@ foreach my $itm (@items) {
#get collection code description, too
$itm->{'ccode'} = GetAuthorisedValueDesc('','', $itm->{'ccode'} ,'','','CCODE');
+ $itm->{'location_description'} = GetAuthorisedValueDesc('','', $itm->{'location'} ,'','','LOC');
}
$template->param( norequests => $norequests, RequestOnOpac=>$RequestOnOpac );
@@ -209,17 +213,21 @@ $template->param( OpenOPACShelfBrowser => 1) if $starting_itemnumber;
my ($starting_cn_sort, $starting_homebranch, $starting_location);
my $sth_get_cn_sort = $dbh->prepare("SELECT cn_sort,homebranch,location from items where itemnumber=?");
$sth_get_cn_sort->execute($starting_itemnumber);
+my $branches = GetBranches();
while (my $result = $sth_get_cn_sort->fetchrow_hashref()) {
$starting_cn_sort = $result->{'cn_sort'};
- $starting_homebranch = $result->{'homebranch'};
- $starting_location = $result->{'location'};
+ $starting_homebranch->{code} = $result->{'homebranch'};
+ $starting_homebranch->{description} = $branches->{$result->{'homebranch'}}{branchname};
+ $starting_location->{code} = $result->{'location'};
+ $starting_location->{description} = GetAuthorisedValueDesc('','', $result->{'location'} ,'','','LOC');
+
}
## List of Previous Items
# order by cn_sort, which should include everything we need for ordering purposes (though not
# for limits, those need to be handled separately
my $sth_shelfbrowse_previous = $dbh->prepare("SELECT * FROM items WHERE CONCAT(cn_sort,itemnumber) <= ? AND homebranch=? AND location=? ORDER BY CONCAT(cn_sort,itemnumber) DESC LIMIT 3");
-$sth_shelfbrowse_previous->execute($starting_cn_sort.$starting_itemnumber, $starting_homebranch, $starting_location);
+$sth_shelfbrowse_previous->execute($starting_cn_sort.$starting_itemnumber, $starting_homebranch->{code}, $starting_location->{code});
my @previous_items;
while (my $this_item = $sth_shelfbrowse_previous->fetchrow_hashref()) {
my $sth_get_biblio = $dbh->prepare("SELECT biblio.*,biblioitems.isbn AS isbn FROM biblio LEFT JOIN biblioitems ON biblio.biblionumber=biblioitems.biblionumber WHERE biblio.biblionumber=?");
@@ -233,7 +241,7 @@ while (my $this_item = $sth_shelfbrowse_previous->fetchrow_hashref()) {
my $throwaway = pop @previous_items;
## List of Next Items
my $sth_shelfbrowse_next = $dbh->prepare("SELECT * FROM items WHERE CONCAT(cn_sort,itemnumber) >= ? AND homebranch=? AND location=? ORDER BY CONCAT(cn_sort,itemnumber) ASC LIMIT 3");
-$sth_shelfbrowse_next->execute($starting_cn_sort.$starting_itemnumber, $starting_homebranch, $starting_location);
+$sth_shelfbrowse_next->execute($starting_cn_sort.$starting_itemnumber, $starting_homebranch->{code}, $starting_location->{code});
my @next_items;
while (my $this_item = $sth_shelfbrowse_next->fetchrow_hashref()) {
my $sth_get_biblio = $dbh->prepare("SELECT biblio.*,biblioitems.isbn AS isbn FROM biblio LEFT JOIN biblioitems ON biblio.biblionumber=biblioitems.biblionumber WHERE biblio.biblionumber=?");
@@ -245,13 +253,17 @@ while (my $this_item = $sth_shelfbrowse_next->fetchrow_hashref()) {
push @next_items, $this_item;
}
+# alas, these won't auto-vivify, see http://www.perlmonks.org/?node_id=508481
+my $shelfbrowser_next_itemnumber = $next_items[-1]->{itemnumber} if @next_items;
+my $shelfbrowser_next_biblionumber = $next_items[-1]->{biblionumber} if @next_items;
+
$template->param(
- starting_homebranch => $starting_homebranch,
- starting_location => $starting_location,
+ starting_homebranch => $starting_homebranch->{description},
+ starting_location => $starting_location->{description},
shelfbrowser_prev_itemnumber => $previous_items[0]->{itemnumber},
- shelfbrowser_next_itemnumber => $next_items[-1]->{itemnumber},
+ shelfbrowser_next_itemnumber => $shelfbrowser_next_itemnumber,
shelfbrowser_prev_biblionumber => $previous_items[0]->{biblionumber},
- shelfbrowser_next_biblionumber => $next_items[-1]->{biblionumber},
+ shelfbrowser_next_biblionumber => $shelfbrowser_next_biblionumber,
PREVIOUS_SHELF_BROWSE => \@previous_items,
NEXT_SHELF_BROWSE => \@next_items,
);
--
2.39.5