From 52fc9e34f39ef5e4e93d36bd781a13e63f7b2e5e Mon Sep 17 00:00:00 2001 From: Joshua Ferraro Date: Mon, 17 Mar 2008 00:45:36 -0400 Subject: [PATCH] fix for syntax error with experimental shelf browser Signed-off-by: Joshua Ferraro --- .../opac-tmpl/prog/en/modules/opac-detail.tmpl | 25 ++++++++----------- opac/opac-detail.pl | 28 +++++++++++++++------- 2 files changed, 30 insertions(+), 23 deletions(-) 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 2b9f323b77..6522488070 100755 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl @@ -40,18 +40,17 @@

By ">

-

+

[ - ] : + ] , , - /

@@ -129,20 +128,15 @@

Year :

- - -

classification:

- - -

Dewey:

- +" alt="" title="">

Item type : -

+

+

Online Resources:

@@ -257,7 +251,7 @@ " title="" alt="" /> - (&shelfbrowse_itemnumber=#shelfbrowser">Browse Shelf) + (&shelfbrowse_itemnumber=#shelfbrowser">Browse Shelf) Not for loan @@ -296,15 +290,16 @@

">Close Shelf Browser -Browsing +Library: +Shelving Location:

&shelfbrowse_itemnumber=#shelfbrowser">Previous
-
&shelfbrowse_itemnumber=#shelfbrowser">img.01._SS50_.jpg" />
+
&shelfbrowse_itemnumber=#shelfbrowser">img.01._SS50_.jpg" />
-
&shelfbrowse_itemnumber=#shelfbrowser">img.01._SS50_.jpg" />
+
&shelfbrowse_itemnumber=#shelfbrowser">img.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.11.0