bug 2520: don't change item-level requests to bib-level
authorGalen Charlton <galen.charlton@liblime.com>
Thu, 14 Aug 2008 15:43:08 +0000 (10:43 -0500)
committerHenri-Damien LAURENT <henridamien.laurent@biblibre.com>
Tue, 28 Oct 2008 21:51:38 +0000 (22:51 +0100)
Prior to this fix, changing the priority of any hold requests
in the queue of requests for a bib would convert
all item-level requests to title-level requests.

As part of this fix, improved display of the holds queue
so that item-level and bib-level requests can be more
clearly distinguished.

Documentation note: new screenshot of list of requests for
a bib in the staff interface.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tmpl
reserve/modrequest.pl
reserve/request.pl

index 18b7997..771063c 100644 (file)
@@ -360,7 +360,21 @@ if (alreadyreserved > "0"){
           </a>
     <!-- TMPL_ELSE -->
       <!-- TMPL_IF Name="constrainttypea" -->
-          <i>Next available</i>
+            <!-- TMPL_IF Name="item_level_hold" -->
+                <i>Only item 
+                <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME='biblionumber' -->">
+                     <!-- TMPL_IF NAME="barcodenumber" -->
+                         <!-- TMPL_VAR NAME="barcodenumber" -->
+                        <input type="hidden" name="itemnumber" value="<!-- TMPL_VAR NAME="itemnumber" -->" />
+                    <!-- TMPL_ELSE -->
+                        No Barcode
+                    <!-- /TMPL_IF -->
+                </a>
+                </i>
+            <!-- TMPL_ELSE -->
+                <i>Next available</i>
+                 <input type="hidden" name="itemnumber" value="" />
+            <!-- /TMPL_IF -->
       <!-- TMPL_ELSE -->
         <!-- TMPL_IF Name="constrainttypeo" -->
           only this type :<b><!-- TMPL_VAR NAME="volumeddesc" --> <!-- TMPL_VAR NAME="itemtype" --></b>
index 79d95dc..7774ec5 100755 (executable)
@@ -62,6 +62,7 @@ if ($CancelBorrowerNumber) {
 # 2) Cancel or modify the queue list of reserves (without item linked)
 else {
     for (my $i=0;$i<$count;$i++){
+        undef $itemnumber[$i] unless $itemnumber[$i] ne '';
         ModReserve($rank[$i],$biblionumber[$i],$borrower[$i],$branch[$i],$itemnumber[$i]); #from C4::Reserves
     }
 }
index c6438b8..5786ac8 100755 (executable)
@@ -391,6 +391,13 @@ foreach my $res ( sort { $a->{found} cmp $b->{found} } @$reserves ) {
         }
         # set found to 1 if reserve is waiting for patron pickup
         $reserve{'found'} = 1 if $res->{'found'} eq 'W';
+    } elsif ($res->{priority} > 0) {
+        if (defined($res->{itemnumber})) {
+            my $item = GetItem($res->{itemnumber});
+            $reserve{'itemnumber'}  = $res->{'itemnumber'};
+            $reserve{'barcodenumber'}   = $item->{'barcode'};
+            $reserve{'item_level_hold'} = 1;
+        }
     }
     
 #     get borrowers reserve info