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