removed some warn statments.
[koha.git] / request.pl
1 #!/usr/bin/perl
2
3 #script to place reserves/requests
4 #writen 2/1/00 by chris@katipo.oc.nz
5
6 use strict;
7 #use DBI;
8 use C4::Search;
9 use C4::Output;
10 use C4::Reserves2;
11 use C4::Acquisitions;
12 use C4::Koha;
13 use C4::Circulation::Circ2;
14
15 use CGI;
16 my $input = new CGI;
17
18 # get biblio information....
19 my $bib = $input->param('bib');
20 my $dat = bibdata($bib);
21
22 # get existing reserves .....
23 my ($count,$reserves) = FindReserves($bib);
24 foreach my $res (@$reserves) {
25     if ($res->{'found'} eq 'W') {
26         $count--;
27     }
28 }
29
30 # make priorities options
31 my $num = $count + 1;
32 my $priorityoptions = priorityoptions($num, $num);
33
34
35 # get branch information
36 my $branch = $input->cookie('branch');
37 my $branches = getbranches();
38
39
40 my $branchoptions = branchoptions($branch);
41
42
43 # todays date
44 my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =localtime(time);
45 $year=$year+1900;
46 $mon++;
47 my $date="$mday/$mon/$year";
48
49
50
51
52 # get biblioitem information and build rows for form
53 my ($count2,@data) = bibitems($bib);
54 my $bibitemrows = "";
55 for (my $i=0; $i<$count2; $i++){
56     my @barcodes = barcodes($data[$i]->{'biblioitemnumber'});
57     if ($data[$i]->{'dewey'} == 0){
58         $data[$i]->{'dewey'}="";
59     }
60     $data[$i]->{'dewey'}=~ s/\.0000$//;
61     $data[$i]->{'dewey'}=~ s/00$//;
62     my $class="$data[$i]->{'classification'}$data[$i]->{'dewey'}$data[$i]->{'subclass'}";
63     $bibitemrows .= <<"EOF";
64 <tr VALIGN=TOP>
65 <TD><input type=checkbox name=reqbib value=$data[$i]->{'biblioitemnumber'}>
66 <input type=hidden name=biblioitem value=$data[$i]->{'biblioitemnumber'}>
67 </td>
68 <TD>$data[$i]->{'description'}</td>
69 <TD>$class</td>
70 <td>$data[$i]->{'volumeddesc'}</td>
71 <td>$data[$i]->{'isbn'}</td>
72 <td>$dat->{'copyrightdate'}</td>
73 <td>$data[$i]->{'publicationyear'}</td>
74 <td>@barcodes</td>
75 </tr>
76 EOF
77 }
78
79
80
81 my $existingreserves = "";
82 foreach my $res (sort {$a->{'found'} cmp $b->{'found'}} @$reserves){
83     my $prioropt = priorityoptions($count, $res->{'priority'});
84     my $bropt = branchoptions($res->{'branchcode'});
85     my $bor=$res->{'borrowernumber'};
86     $date = slashifyDate($res->{'reservedate'});
87
88     my $type=$res->{'constrainttype'};
89     if ($type eq 'a'){
90         $type='Next Available';
91     } elsif ($type eq 'o'){
92         $type="This type only $res->{'volumeddesc'} $res->{'itemtype'}";
93     }
94
95     my $notes = $res->{'reservenotes'}." ";
96     my $rank;
97     my $pickup;
98     my $change;
99     if ($res->{'found'} eq 'W') {
100         my %env;
101         my $item = $res->{'itemnumber'};
102         $item = getiteminformation(\%env,$item);
103         $item = "<a href=/cgi-bin/koha/detail.pl?bib=$item->{'biblionumber'} &type=intra onClick=\"openWindow(this, 'Item', 480, 640)\">$item->{'barcode'}</a>";
104         my $wbra = $branches->{$res->{'branchcode'}}->{'branchname'};
105         $rank = "Item waiting";
106         $type = $item;
107         $pickup = "at <b>".$wbra."</b>";
108         $change = "<input type=checkbox name=rank-request value=del>delete";
109     } else {
110         $rank = "<select name=rank-request>$prioropt<option value=del>Del</select>";
111         $pickup = "<select name=pickup>$bropt</select>";
112         $change = "<select name=itemtype>
113                    <option value=next>Next Available
114                    <option value=change>Change Selection
115                    <option value=nc >No Change</select>";
116     }
117     $existingreserves .= <<"EOF";
118 <input type=hidden name=borrower value=$res->{'borrowernumber'}>
119 <input type=hidden name=biblio value=$res->{'biblionumber'}>
120 <tr VALIGN=TOP>
121 <TD>$rank</td>
122 <TD>
123 <a href=/cgi-bin/koha/moremember.pl?bornum=$bor>$res->{'firstname'} $res->{'surname'}</a>
124 </td>
125 <td>$notes</td>
126 <TD>$date</td>
127 <TD>$pickup</td>
128 <TD>$type</td>
129 <TD>$change</td>
130 </tr>
131 EOF
132 }
133
134
135
136 sub priorityoptions {
137     my ($count, $sel) = @_;
138     my $out = "";
139     for (my $i=1; $i<=$count; $i++){
140         $out .= "<option value=$i";
141         if ($sel == $i){
142             $out .= " selected";
143         }
144         $out .= ">$i\n";
145     }
146     return $out;
147 }
148
149 # make branch selection options...
150 sub branchoptions {
151     my ($selbr) = @_;
152     my $out = "";
153     foreach my $br (keys %$branches) {
154         (next) unless $branches->{$br}->{'CU'};
155         my $selected = "";
156         if ($br eq $selbr) {
157             $selected = "selected";
158         }
159         $out .= "<option value=$br $selected>$branches->{$br}->{'branchname'}\n";
160     }
161     return $out;
162 }
163
164
165
166 # printout the page
167
168
169 print $input->header;
170
171
172 #setup colours
173 print startpage();
174 print startmenu('catalogue');
175
176
177
178
179 print <<printend
180
181 <form action="placerequest.pl" method=post>
182 <INPUT TYPE="image" name="submit"  VALUE="request" height=42  WIDTH=187 BORDER=0 src="/images/place-request.gif" align=right >
183 <input type=hidden name=biblio value=$bib>
184 <input type=hidden name=type value=str8>
185 <input type=hidden name=title value="$dat->{'title'}">
186 <FONT SIZE=6><em>Requesting: <br>
187 <a href=/cgi-bin/koha/detail.pl?bib=$bib>$dat->{'title'}</a> 
188 ($dat->{'author'})</em></FONT><P>
189 <p>
190
191
192 <!----------------BIBLIO RESERVE TABLE-------------->
193
194
195 <TABLE  CELLSPACING=0  CELLPADDING=5 border=1 >
196 <TR VALIGN=TOP>
197 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Rank</b></TD>
198 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Member Number</b></TD>
199 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Notes</b></TD>
200 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Date</b></TD>
201 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Pickup</b></TD>
202 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Request</b></TD>
203 </TR>
204 <tr VALIGN=TOP  >
205 <td><select name=rank-request>
206 $priorityoptions
207 </select></td>
208 <td><input type=text size=10 name=member></td>
209 <td><input type=text size=20 name=notes></td>
210 <td>$date</td>
211 <td><select name=pickup>
212 $branchoptions
213 </select></td>
214 <td><input type=checkbox name=request value=any>Next Available, 
215 <br>(or choose from list below)</td>
216 </tr></table>
217 </p>
218
219
220 <TABLE  CELLSPACING=0  CELLPADDING=5 border=1 >
221 <TR VALIGN=TOP>
222
223 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Request</b></TD>
224 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Item Type</b></TD>
225 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Classification</b></TD>
226 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Volume</b></TD>
227 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>ISBN</b></TD>
228 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Copyright</b></TD>
229 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Pubdate</b></TD>
230 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Copies</b></TD>
231 </TR>
232 $bibitemrows
233 </table>
234 </p>
235 </form>
236 <p>&nbsp;</p>
237
238
239
240 <!-----------MODIFY EXISTING REQUESTS----------------->
241
242 <TABLE  CELLSPACING=0  CELLPADDING=5 border=1 >
243
244 <TR VALIGN=TOP>
245
246 <td  bgcolor="99cc33" background="/images/background-mem.gif" colspan=7><B>MODIFY EXISTING REQUESTS </b></TD>
247 </TR>
248 <form action=modrequest.pl method=post>
249 <TR VALIGN=TOP>
250
251 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Rank</b></TD>
252 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Member</b></TD>
253 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Notes</b></TD>
254 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Date</b></TD>
255 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Pickup</b></TD>
256 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Request</b></TD>
257 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Change To</b></TD>
258 </TR>
259 $existingreserves
260 <tr VALIGN=TOP>
261 <TD colspan=6 align=right>
262 Delete a request by selecting "del" from the rank list.
263 <INPUT TYPE="image" name="submit"  VALUE="request" height=42  WIDTH=64 BORDER=0 src="/images/ok.gif"></td>
264 </tr>
265 </table>
266 <P>
267 <br>
268 </form>
269
270 printend
271 ;
272
273 print endmenu();
274 print endpage();