Bugfix 1979 - display hold numbers. Note that hold priorities are still buggy.
authorJoe Atzberger <joe.atzberger@liblime.com>
Sat, 31 May 2008 15:33:24 +0000 (10:33 -0500)
committerJoshua Ferraro <jmf@liblime.com>
Sun, 1 Jun 2008 02:59:50 +0000 (21:59 -0500)
But that is a separate bug from whether they display or not.
Also added basic error handling if biblionumber is not received, or
if biblionumber is bad, since that otherwise crashes the page.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
koha-tmpl/opac-tmpl/prog/en/modules/opac-reserve.tmpl
opac/opac-reserve.pl

index 04898c0..cfbaf80 100644 (file)
@@ -1,4 +1,4 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" --><!-- TMPL_IF NAME="LibraryNameTitle" --><!-- TMPL_VAR NAME="LibraryNameTitle" --><!-- TMPL_ELSE -->Koha Online<!-- /TMPL_IF --> Catalog &rsaquo;  Reserving <!-- TMPL_VAR NAME="title" --> for <!-- TMPL_LOOP NAME="USER_INFO" --><!-- TMPL_VAR NAME="firstname" --> <!-- TMPL_VAR NAME="surname" --><!-- /TMPL_LOOP -->
+<!-- TMPL_INCLUDE NAME="doc-head-open.inc" --><!-- TMPL_VAR NAME="LibraryNameTitle" DEFAULT="Koha Online" --> Catalog &rsaquo;  Reserving <!-- TMPL_VAR NAME="title" --> for <!-- TMPL_LOOP NAME="USER_INFO" --><!-- TMPL_VAR NAME="firstname" --> <!-- TMPL_VAR NAME="surname" --><!-- /TMPL_LOOP -->
 <!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
 </head>
 <body>
         You must select a library for pickup.
     </div>
     <!-- /TMPL_IF -->
+    <!-- TMPL_IF NAME="no_biblionumber" -->
+    <div class="dialog alert">ERROR: No biblionumber received.</div>
+    <!-- /TMPL_IF -->
+    <!-- TMPL_IF NAME="bad_biblionumber" -->
+    <div class="dialog alert">ERROR: No biblio record found for biblionumber <!-- TMPL_VAR NAME="bad_biblionumber" -->.</div>
+    <!-- /TMPL_IF -->
 </div>
 <!-- /TMPL_IF -->
 
@@ -79,7 +85,8 @@
              <input type="hidden" name="branch" value="<!-- TMPL_VAR NAME="branchcode" -->"/>
             <!-- /TMPL_IF -->
             <!-- /TMPL_LOOP --></li>
-            <li><span class="label">Priority:</span><!-- TMPL_VAR Name="fixedRank" --> out of ?</li> 
+            <li><span class="label">Priority:</span><!-- TMPL_VAR Name="rank" DEFAULT="?" --> out of <!-- TMPL_VAR Name="reservecount" DEFAULT="?" -->
+                       </li> 
             <!-- TMPL_UNLESS NAME="singleBranchMode" -->
             <li><label for="branch">Pick up from:</label> <select name="branch" id="branch">
                     <!-- TMPL_LOOP NAME="CGIbranch" -->
                                <th>&nbsp;</th>
                    <!-- TMPL_IF NAME="item-level_itypes" -->
                 <th>Hold</th>
-                <!-- TMPL_IF NAME="item-level_itypes" --><th>Item Type</th><!-- /TMPL_IF -->
+                <th>Item Type</th>
                 <!-- /TMPL_IF -->
                 <th>Barcode</th>
                 <!-- TMPL_UNLESS NAME="singleBranchMode" -->
             <img src="<!-- TMPL_VAR NAME="imageurl" -->" alt="<!-- TMPL_VAR NAME="description" -->" title="<!-- TMPL_VAR NAME="description" -->">
             </td>
             <!-- /TMPL_IF -->
-
-            <td>
-                    <!-- TMPL_VAR NAME="barcode" -->
-            </td>
+            <td><!-- TMPL_VAR NAME="barcode"           --></td>
             <!-- TMPL_UNLESS NAME="singleBranchMode" -->
-            <td>
-            <!-- TMPL_VAR NAME="homebranchname" -->
-            </td>
-            <td>
-            <!-- TMPL_VAR NAME="holdingbranchname" -->
-            </td>
+            <td><!-- TMPL_VAR NAME="homebranchname"    --></td>
+            <td><!-- TMPL_VAR NAME="holdingbranchname" --></td>
             <!-- /TMPL_UNLESS -->
-            <td>
-            <!-- TMPL_VAR NAME="itemcallnumber" -->
-            </td>
+            <td><!-- TMPL_VAR NAME="itemcallnumber"    --></td>
             <td>
         <!-- TMPL_IF Name="date_due" -->
             <span class="checkedout">Due <!-- TMPL_VAR NAME="date_due" --></span>
-                       <!-- TMPL_ELSE -->
-        <!-- TMPL_IF Name="transfertwhen" -->
+        <!-- TMPL_ELSIF Name="transfertwhen" -->
             <span class="intransit">In transit from <!-- TMPL_VAR NAME="transfertfrom" -->,
             to <!-- TMPL_VAR NAME="transfertto" -->, since <!-- TMPL_VAR NAME="transfertwhen" --></span>
         <!-- /TMPL_IF -->
-        <!-- /TMPL_IF -->
 
         <!-- TMPL_IF Name="message" -->
             <span class="lost">Unavailable (lost or missing)</span>
index d89e60a..9653a58 100755 (executable)
@@ -16,7 +16,6 @@
 # Suite 330, Boston, MA  02111-1307 USA
 
 use strict;
-require Exporter;
 use CGI;
 use C4::Biblio;
 use C4::Items;
@@ -29,7 +28,7 @@ use C4::Dates qw/format_date/;
 use C4::Context;
 use C4::Members;
 use C4::Branch; # GetBranches
-use Data::Dumper;
+use Data::Dumper;
 
 my $MAXIMUM_NUMBER_OF_RESERVES = C4::Context->preference("maxreserves");
 
@@ -45,6 +44,11 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
     }
 );
 
+sub get_out ($$$) {
+       output_html_with_http_headers(shift,shift,shift); # $query, $cookie, $template->output;
+       exit;
+}
+
 # get borrower information ....
 my ( $borr, $flags ) = GetMemberDetails( $borrowernumber );
 
@@ -54,10 +58,19 @@ my $itemtypes = GetItemTypes();
 
 # get biblionumber.....
 my $biblionumber = $query->param('biblionumber');
+my $bibdata;
+if (! $biblionumber) {
+       $template->param(message=>1,no_biblionumber=>1);
+       &get_out($query, $cookie, $template->output);
+}
+$template->param( biblionumber => $biblionumber );
 
 my $bibdata = GetBiblioData($biblionumber);
-$template->param($bibdata);
-$template->param( biblionumber => $biblionumber );
+if (! $bibdata) {
+       $template->param(message=>1,bad_biblionumber=>$biblionumber);
+       &get_out($query, $cookie, $template->output);
+}
+$template->param($bibdata);            # FIXME: bad form.
 
 # get the rank number....
 my ( $rank, $reserves ) = GetReservesFromBiblionumber( $biblionumber);