fix for syntax error with experimental shelf browser
authorJoshua Ferraro <jmf@liblime.com>
Mon, 17 Mar 2008 04:45:36 +0000 (00:45 -0400)
committerJoshua Ferraro <jmf@liblime.com>
Mon, 17 Mar 2008 04:46:28 +0000 (23:46 -0500)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl
opac/opac-detail.pl

index 2b9f323..6522488 100755 (executable)
 <!-- /TMPL_IF -->
    <div id="views"> <h1><!-- TMPL_VAR NAME="title" --> <!-- TMPL_IF NAME="subtitle" --> <span class="subtitle"><!-- TMPL_VAR NAME="subtitle" --></span><!-- /TMPL_IF --></h1> <span class="views"><span id="Normalview">Normal View</span> <a id="MARCview" href="/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=<!-- TMPL_VAR name="biblionumber" -->">MARC View</a> <!-- TMPL_IF NAME="ISBD" --><a id="ISBDview" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber=<!-- TMPL_VAR name="biblionumber" -->">ISBD View</a><!-- /TMPL_IF --></span></div>
     <!-- TMPL_IF NAME="author" --><h2 class="author">By <a href="/cgi-bin/koha/opac-search.pl?q=au:<!-- TMPL_VAR NAME="author" -->"><!-- TMPL_VAR NAME="author" ESCAPE="HTML" --></a></h2><!-- /TMPL_IF -->
-    <p>
+    <p><!-- TMPL_UNLESS NAME="item-level_itypes" -->
         [
         <!-- TMPL_IF name="description" -->
             <!-- TMPL_VAR name="description" -->
         <!-- TMPL_ELSE -->
             <!-- TMPL_VAR NAME="itemtype" -->
         <!-- /TMPL_IF -->
-        ] :
+        ] <!-- /TMPL_UNLESS -->
         <!-- TMPL_IF name="volume" --> <!-- TMPL_VAR name="volume" --><!-- /TMPL_IF -->
         <!-- TMPL_IF name="volumedesc" -->, <!-- TMPL_VAR name="volumedesc" --><!-- /TMPL_IF --> <!-- TMPL_IF NAME="number" --> <!-- TMPL_VAR NAME="number" --> <!-- /TMPL_IF -->
         <!-- TMPL_IF name="unititle" -->, <!-- TMPL_VAR name="unititle" --><!-- /TMPL_IF -->
-        / <!-- TMPL_VAR NAME="author" --> <!-- TMPL_VAR NAME="class" -->
     </p>
 
     <!-- TMPL_IF name="MARCAUTHORS" -->
     <!-- TMPL_IF name="copyrightdate" -->
     <p><span class="label">Year : </span><!-- TMPL_VAR NAME="copyrightdate" --></p>
     <!-- /TMPL_IF -->
-   
-    <!-- TMPL_IF name="classification" -->
-    <p><span class="label">classification:</span><!-- TMPL_VAR name="subclass" --><!-- TMPL_VAR name="classification" --></p>
-    <!-- /TMPL_IF -->
-    <!-- TMPL_IF name="dewey" -->
-    <p><span class="label">Dewey:</span><!-- TMPL_VAR name="dewey" --></p>
-    <!-- /TMPL_IF -->
+<!-- TMPL_UNLESS NAME="item-level_itypes" --><img src="<!-- TMPL_VAR NAME="imageurl" -->" alt="<!-- TMPL_VAR NAME="description" -->" title="<!-- TMPL_VAR NAME="description" -->">
     <p><span class="label">Item type : </span>
         <!-- TMPL_IF name="description" -->
         <!-- TMPL_VAR name="description" -->
         <!-- TMPL_ELSE -->
         <!-- TMPL_VAR NAME="itemtype" -->
         <!-- /TMPL_IF -->
-    </p>
+    </p><!-- /TMPL_UNLESS -->
+
     <!-- TMPL_IF name="MARCURLS" -->
        <p><span class="label">Online Resources:</span>
     </p>
         <tr>
             <td><!-- TMPL_IF NAME="imageurl" --><img src="<!-- TMPL_VAR NAME="imageurl" -->" title="<!-- TMPL_VAR name="description" -->" alt="<!-- TMPL_VAR NAME="description" -->" /><!-- /TMPL_IF --> <!-- TMPL_VAR name="description" -->
                     </td>
-            <td><!-- TMPL_VAR NAME="branchname" --> <!-- TMPL_VAR name="location" --> <!-- TMPL_IF NAME="itemcallnumber" --> <!-- TMPL_VAR NAME="itemcallnumber" --><!-- /TMPL_IF --><!-- TMPL_IF NAME="OPACShelfBrowser" -->(<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser">Browse Shelf</a>)<!-- /TMPL_IF --></td>
+            <td><!-- TMPL_VAR NAME="branchname" --> <!-- TMPL_VAR name="location_description" --> <!-- TMPL_IF NAME="itemcallnumber" --> <!-- TMPL_VAR NAME="itemcallnumber" --><!-- /TMPL_IF --><!-- TMPL_IF NAME="OPACShelfBrowser" -->(<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser">Browse Shelf</a>)<!-- /TMPL_IF --></td>
             <td><!-- TMPL_IF name="bi_notforloan" -->
                     Not for loan
                 <!-- TMPL_ELSE -->
 <div id="shelfbrowser">
 <p>
 <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Close Shelf Browser</a>
-Browsing <!-- TMPL_VAR NAME="starting_homebranch" --> <!-- TMPL_VAR NAME="starting_location" -->
+<!-- TMPL_IF NAME="starting_homebranch" --><span class="label">Library:</span> <!-- TMPL_VAR NAME="starting_homebranch" --><!-- /TMPL_IF -->
+<!-- TMPL_IF NAME="starting_location" --><span class="label">Shelving Location:</span><!-- TMPL_VAR NAME="starting_location" --> <!-- /TMPL_IF -->
 </p>
         <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="shelfbrowser_prev_biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="shelfbrowser_prev_itemnumber" -->#shelfbrowser">Previous</a>
         <dl>
 <!-- TMPL_LOOP NAME="PREVIOUS_SHELF_BROWSE" -->
-        <dt> <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser"><img alt="img" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="isbn"-->.01._SS50_.jpg" /></a></dt><dd><!-- TMPL_VAR NAME="title" --></dd>
+        <dt> <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser"><img alt="img" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="isbn"-->.01._SS50_.jpg" /></a></dt><dd><em><!-- TMPL_VAR NAME="itemcallnumber" --></em><!-- TMPL_VAR NAME="title" --></dd>
 <!-- /TMPL_LOOP -->
 <!-- TMPL_LOOP NAME="NEXT_SHELF_BROWSE" -->
-        <dt> <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser"><img alt="img" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="isbn"-->.01._SS50_.jpg" /></a></dt><dd><!-- TMPL_VAR NAME="title" --></dd>
+        <dt> <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser"><img alt="img" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="isbn"-->.01._SS50_.jpg" /></a></dt><dd><em><!-- TMPL_VAR NAME="itemcallnumber" --></em><!-- TMPL_VAR NAME="title" --></dd>
 <!-- /TMPL_LOOP -->
         </dl>
         <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="shelfbrowser_next_biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="shelfbrowser_next_itemnumber" -->#shelfbrowser">Next</a>
index 01c5d88..a30a6a0 100755 (executable)
@@ -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,
 );