Added a FIXME comment.
[koha.git] / request.pl
index b96ff9c..8ed764e 100755 (executable)
@@ -3,6 +3,24 @@
 #script to place reserves/requests
 #writen 2/1/00 by chris@katipo.oc.nz
 
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
 use strict;
 #use DBI;
 use C4::Search;
@@ -21,6 +39,7 @@ my $dat = bibdata($bib);
 
 # get existing reserves .....
 my ($count,$reserves) = FindReserves($bib);
+my $totalcount = $count;
 foreach my $res (@$reserves) {
     if ($res->{'found'} eq 'W') {
        $count--;
@@ -34,10 +53,8 @@ my $priorityoptions = priorityoptions($num, $num);
 
 # get branch information
 my $branch = $input->cookie('branch');
+($branch) || ($branch = 'L');
 my $branches = getbranches();
-
-warn $branch;
-
 my $branchoptions = branchoptions($branch);
 
 
@@ -53,37 +70,50 @@ my $date="$mday/$mon/$year";
 # get biblioitem information and build rows for form
 my ($count2,@data) = bibitems($bib);
 my $bibitemrows = "";
-for (my $i=0; $i<$count2; $i++){
-    my @barcodes = barcodes($data[$i]->{'biblioitemnumber'});
-    if ($data[$i]->{'dewey'} == 0){
-       $data[$i]->{'dewey'}="";
+
+
+foreach my $dat (sort {$b->{'dateaccessioned'} cmp $a->{'dateaccessioned'}} @data) {
+    my @barcodes = barcodes($dat->{'biblioitemnumber'});
+    my $barcodestext = "";
+    foreach my $num (@barcodes) {
+       my $message = $num->{'itemlost'} == 1 ? "(lost)" :
+           $num->{'itemlost'} == 2 ? "(long overdue)" : "";
+       $barcodestext .= "$num->{'barcode'} $message <br>";
+    }
+    $barcodestext = substr($barcodestext, 0, -4);
+
+    $dat->{'dewey'}="" if ($dat->{'dewey'} == 0);
+
+    $dat->{'volumeddesc'} = "&nbsp;" unless $dat->{'volumeddesc'};
+    $dat->{'dewey'}=~ s/\.0000$//;
+    $dat->{'dewey'}=~ s/00$//;
+    my $class="$dat->{'classification'}$dat->{'dewey'}$dat->{'subclass'}";
+    my $select;
+    if (($dat->{'notforloan'}) 
+       || ($dat->{'itemlost'} == 1))  {
+       $select = "Cannot be reserved.";
+    } else {
+       $select = " <input type=checkbox name=reqbib value=$dat->{'biblioitemnumber'}><input type=hidden name=biblioitem value=$dat->{'biblioitemnumber'}>";
     }
-    $data[$i]->{'dewey'}=~ s/\.0000$//;
-    $data[$i]->{'dewey'}=~ s/00$//;
-    my $class="$data[$i]->{'classification'}$data[$i]->{'dewey'}$data[$i]->{'subclass'}";
     $bibitemrows .= <<"EOF";
 <tr VALIGN=TOP>
-<TD><input type=checkbox name=reqbib value=$data[$i]->{'biblioitemnumber'}>
-<input type=hidden name=biblioitem value=$data[$i]->{'biblioitemnumber'}>
-</td>
-<TD>$data[$i]->{'description'}</td>
+<TD>$select</td>
+<TD>$dat->{'description'}</td>
 <TD>$class</td>
-<td>$data[$i]->{'volumeddesc'}</td>
-<td>$data[$i]->{'isbn'}</td>
-<td>$dat->{'copyrightdate'}</td>
-<td>$data[$i]->{'publicationyear'}</td>
-<td>@barcodes</td>
+<td>$dat->{'volumeddesc'}</td>
+<td>$dat->{'publicationyear'}</td>
+<td>$barcodestext</td>
 </tr>
 EOF
 }
 
 
 
+
 my $existingreserves = "";
 foreach my $res (sort {$a->{'found'} cmp $b->{'found'}} @$reserves){
-    my $prioropt = priorityoptions($count, $res->{'priority'});
+    my $prioropt = priorityoptions($totalcount, $res->{'priority'});
     my $bropt = branchoptions($res->{'branchcode'});
-    warn $res->{'branchcode'};
     my $bor=$res->{'borrowernumber'};
     $date = slashifyDate($res->{'reservedate'});
 
@@ -97,30 +127,26 @@ foreach my $res (sort {$a->{'found'} cmp $b->{'found'}} @$reserves){
     my $notes = $res->{'reservenotes'}." ";
     my $rank;
     my $pickup;
-    my $change;
     if ($res->{'found'} eq 'W') {
        my %env;
        my $item = $res->{'itemnumber'};
        $item = getiteminformation(\%env,$item);
        $item = "<a href=/cgi-bin/koha/detail.pl?bib=$item->{'biblionumber'} &type=intra onClick=\"openWindow(this, 'Item', 480, 640)\">$item->{'barcode'}</a>";
-       my $wbra = $branches->{$res->{'branchcode'}}->{'branchname'};
-       $rank = "Item waiting";
+       my $wbrcd = $res->{'branchcode'};
+       my $wbra = $branches->{$wbrcd}->{'branchname'};
        $type = $item;
-       $pickup = "at <b>".$wbra."</b>";
-       $change = "<input type=checkbox name=rank-request value=del>delete";
+       $rank = "<select name=rank-request><option value=W selected>Waiting</option>$prioropt<option value=del>Del</option></select>";
+       $pickup = "Item waiting at <b>".$wbra."</b> <input type=hidden name=pickup value=$wbrcd>";
     } else {
-       $rank = "<select name=rank-request>$prioropt<option value=del>Del</select>";
+       $rank = "<select name=rank-request>$prioropt<option value=del>Del</option></select>";
        $pickup = "<select name=pickup>$bropt</select>";
-        $change = "<select name=itemtype>
-                   <option value=next>Next Available
-                   <option value=change>Change Selection
-                   <option value=nc >No Change</select>";
     }
     $existingreserves .= <<"EOF";
+<tr VALIGN=TOP>
+<TD>
 <input type=hidden name=borrower value=$res->{'borrowernumber'}>
 <input type=hidden name=biblio value=$res->{'biblionumber'}>
-<tr VALIGN=TOP>
-<TD>$rank</td>
+$rank</td>
 <TD>
 <a href=/cgi-bin/koha/moremember.pl?bornum=$bor>$res->{'firstname'} $res->{'surname'}</a>
 </td>
@@ -128,7 +154,6 @@ foreach my $res (sort {$a->{'found'} cmp $b->{'found'}} @$reserves){
 <TD>$date</td>
 <TD>$pickup</td>
 <TD>$type</td>
-<TD>$change</td>
 </tr>
 EOF
 }
@@ -143,7 +168,7 @@ sub priorityoptions {
        if ($sel == $i){
            $out .= " selected";
        }
-       $out .= ">$i\n";
+       $out .= ">$i</option>\n";
     }
     return $out;
 }
@@ -153,26 +178,30 @@ sub branchoptions {
     my ($selbr) = @_;
     my $out = "";
     foreach my $br (keys %$branches) {
-       (next) unless $branches->{$br}->{'CU'};
+       (next) unless $branches->{$br}->{'IS'};
        my $selected = "";
        if ($br eq $selbr) {
            $selected = "selected";
        }
-       $out .= "<option value=$br $selected>$branches->{$br}->{'branchname'}\n";
+       $out .= "<option value=$br $selected>$branches->{$br}->{'branchname'}</option>\n";
     }
     return $out;
 }
 
 
+#get the time for the form name...
+my $time = time();
+
 
 # printout the page
 
 
-print $input->header;
+
+
+print $input->header(-expires=>'now');
 
 
 #setup colours
-print startpage();
 print startmenu('catalogue');
 
 
@@ -191,7 +220,7 @@ print <<printend
 <p>
 
 
-<!----------------BIBLIO RESERVE TABLE-------------->
+
 
 
 <TABLE  CELLSPACING=0  CELLPADDING=5 border=1 >
@@ -216,7 +245,7 @@ $branchoptions
 <td><input type=checkbox name=request value=any>Next Available, 
 <br>(or choose from list below)</td>
 </tr></table>
-</p>
+
 
 
 <TABLE  CELLSPACING=0  CELLPADDING=5 border=1 >
@@ -226,20 +255,20 @@ $branchoptions
 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Item Type</b></TD>
 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Classification</b></TD>
 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Volume</b></TD>
-<td  bgcolor="99cc33" background="/images/background-mem.gif"><B>ISBN</b></TD>
-<td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Copyright</b></TD>
 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Pubdate</b></TD>
 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Copies</b></TD>
 </TR>
 $bibitemrows
 </table>
-</p>
+
 </form>
 <p>&nbsp;</p>
 
 
 
-<!-----------MODIFY EXISTING REQUESTS----------------->
+
+
+<form name=T$time action=modrequest.pl method=post>
 
 <TABLE  CELLSPACING=0  CELLPADDING=5 border=1 >
 
@@ -247,7 +276,6 @@ $bibitemrows
 
 <td  bgcolor="99cc33" background="/images/background-mem.gif" colspan=7><B>MODIFY EXISTING REQUESTS </b></TD>
 </TR>
-<form action=modrequest.pl method=post>
 <TR VALIGN=TOP>
 
 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Rank</b></TD>
@@ -256,7 +284,6 @@ $bibitemrows
 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Date</b></TD>
 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Pickup</b></TD>
 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Request</b></TD>
-<td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Change To</b></TD>
 </TR>
 $existingreserves
 <tr VALIGN=TOP>