refactored slashifyDate function out of inline code, created C4/Koha.pm
[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
14 use CGI;
15 my $input = new CGI;
16 print $input->header;
17
18
19 #setup colours
20 print startpage();
21 print startmenu();
22 my $blah;
23 my $bib=$input->param('bib');
24 my $dat=bibdata($bib);
25 my ($count,$reserves)=FindReserves($bib);
26 #print $count;
27 #print $input->dump;
28
29
30 print <<printend
31 <form action="placerequest.pl" method=post>
32 <INPUT TYPE="image" name="submit"  VALUE="request" height=42  WIDTH=187 BORDER=0 src="/images/place-request.gif" align=right >
33 <input type=hidden name=biblio value=$bib>
34 <input type=hidden name=type value=str8>
35 <input type=hidden name=title value="$dat->{'title'}">
36 <FONT SIZE=6><em>Requesting: <a href=/cgi-bin/koha/detail.pl?bib=$bib>$dat->{'title'}</a> ($dat->{'author'})</em></FONT><P>
37 <p>
38
39 <TABLE  CELLSPACING=0  CELLPADDING=5 border=1 align=left >
40
41 <!----------------BIBLIO RESERVE TABLE-------------->
42
43
44
45 <TABLE  CELLSPACING=0  CELLPADDING=5 border=1 >
46 <TR VALIGN=TOP>
47 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Rank</b></TD>
48 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Member Number</b></TD>
49 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Notes</b></TD>
50 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Date</b></TD>
51 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Pickup</b></TD>
52 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Request</b></TD>
53 </TR>
54 <tr VALIGN=TOP  >
55 <TD><select name=rank-request>
56 printend
57 ;
58 $count++;
59 my $i;
60 for ($i=1;$i<$count;$i++){
61   print "<option value=$i>$i\n";
62 }
63 print "<option value=$i selected>$i\n";
64 my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =localtime(time);
65 $year=$year+1900;
66 $mon++;
67 my $date="$mday/$mon/$year";
68 print <<printend
69 </select>
70 </td>
71 <TD><input type=text size=10 name=member></td>
72 <TD><input type=text size=20 name=notes></td>
73 <TD>$date</td>
74 <TD><select name=pickup>
75 printend
76 ;
77 my ($count2,@branches)=branches;                                                                         
78 for (my $i=0;$i<$count2;$i++){                                                                           
79   print "<option value=$branches[$i]->{'branchcode'}";                                                   
80   print ">$branches[$i]->{'branchname'}";                                                                
81 }   
82 print <<printend
83 </select>
84 </td>
85 <td><input type=checkbox name=request value=any>Next Available, <br>(or choose from list below)</td>
86 </tr>
87
88
89 </table>
90 </p>
91
92
93 <TABLE  CELLSPACING=0  CELLPADDING=5 border=1 >
94 <TR VALIGN=TOP>
95
96 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Request</b></TD>
97 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Item Type</b></TD>
98 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Classification</b></TD>
99 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Volume</b></TD>
100 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>ISBN</b></TD>
101 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Copyright</b></TD>
102 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Pubdate</b></TD>
103 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Copies</b></TD>
104 </TR>
105 printend
106 ;
107 my $blah;
108 my ($count2,@data)=bibitems($bib);
109 for ($i=0;$i<$count2;$i++){
110   my @barcodes=barcodes($data[$i]->{'biblioitemnumber'});
111   if ($data[$i]->{'dewey'} == 0){
112     $data[$i]->{'dewey'}="";
113   }
114   $data[$i]->{'dewey'}=~ s/\.0000$//;
115   $data[$i]->{'dewey'}=~ s/00$//;
116   my $class="$data[$i]->{'classification'}$data[$i]->{'dewey'}$data[$i]->{'subclass'}";
117   print "<tr VALIGN=TOP  >
118   <TD><input type=checkbox name=reqbib value=$data[$i]->{'biblioitemnumber'}>
119   <input type=hidden name=biblioitem value=$data[$i]->{'biblioitemnumber'}>
120   </td>
121   <TD>$data[$i]->{'description'}</td>
122   <TD>$class</td>                                                                                                                                                                                               
123   <td>$data[$i]->{'volumeddesc'}</td>
124   <td>$data[$i]->{'isbn'}</td>
125   <td>$dat->{'copyrightdate'}</td>
126   <td>$data[$i]->{'publicationyear'}</td>
127   <td>@barcodes</td>
128   </tr>";
129 }
130 print <<printend
131 </table>
132 </p>
133 </form>
134 <p>&nbsp; </p>
135 <!-----------MODIFY EXISTING REQUESTS----------------->
136
137 <TABLE  CELLSPACING=0  CELLPADDING=5 border=1 >
138
139 <TR VALIGN=TOP>
140
141 <td  bgcolor="99cc33" background="/images/background-mem.gif" colspan=7><B>MODIFY EXISTING REQUESTS </b></TD>
142 </TR>
143 <form action=modrequest.pl method=post>
144 <TR VALIGN=TOP>
145
146 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Rank</b></TD>
147 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Member</b></TD>
148 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Notes</b></TD>
149 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Date</b></TD>
150 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Pickup</b></TD>
151 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Request</b></TD>
152 <td  bgcolor="99cc33" background="/images/background-mem.gif"><B>Change To</b></TD>
153 </TR>
154 printend
155 ;
156 $count--;
157
158 for ($i=0;$i<$count;$i++){
159 print "<input type=hidden name=borrower value=$reserves->[$i]{'borrowernumber'}>";
160 print "<input type=hidden name=biblio value=$reserves->[$i]{'biblionumber'}>";
161 #my $bor=$reserves->[$i]{'firstname'}."%20".$reserves->[$i]{'surname'};
162 #$bor=~ s/ /%20/g;
163 my $bor=$reserves->[$i]{'borrowernumber'};
164 $date = slashifyDate($reserves->[$i]{'reservedate'});
165
166 my $type=$reserves->[$i]{'constrainttype'};
167 #print "test";
168 if ($type eq 'a'){
169   $type='Next Available';
170 } elsif ($type eq 'o'){
171 # print "test";
172   my $res=getreservetitle($reserves->[$i]{'biblionumber'},$reserves->[$i]{'borrowernumber'},$reserves->[$i]{'reservedate'},$reserves->[$i]{'timestamp'});
173   $type="This type only $res->{'volumeddesc'} $res->{'itemtype'}";
174 #  my @data=ItemInfo(\$blah,$reserves->[$i]{'borrowernumber'});
175   
176 }
177 print "<tr VALIGN=TOP  >
178 <TD><select name=rank-request>
179 ";
180 for (my $i2=1;$i2<=$count;$i2++){
181   print "<option value=$i2";
182   if ($reserves->[$i]{'priority'} eq $i2){
183     print " selected";
184   }
185   print">$i2";
186 }
187 print "<option value=del>Del";
188 print "</select>
189 </td>
190 <TD><a href=/cgi-bin/koha/moremember.pl?bornum=$bor>$reserves->[$i]{'firstname'} $reserves->[$i]{'surname'}</a></td>
191 <td>$reserves->[$i]{'reservenotes'}</td>
192 <TD>$date</td>
193 <TD><select name=pickup>
194 ";
195 my ($count2,@branches)=branches;                                                                         
196 for (my $i2=0;$i2<$count2;$i2++){                                                                           
197   print "<option value=$branches[$i2]->{'branchcode'}";                                                   
198   if ($reserves->[$i]{'branchcode'} eq $branches[$i2]->{'branchcode'}){                                           
199     print " Selected";                                                                                   
200   }
201   print ">$branches[$i2]->{'branchname'}\n";                                                                
202 }   
203 print "
204 </select>
205 </td>
206 <TD>$type</td>
207 <TD><select name=itemtype>
208 <option value=next>Next Available
209 <option value=change>Change Selection
210 <option value=nc >No Change
211 </select>
212 </td>
213 </tr>
214 ";
215 }
216 print <<printend
217
218
219 <tr VALIGN=TOP  >
220
221 <TD colspan=6 align=right>
222 Delete a request by selecting "del" from the rank list.
223
224 <INPUT TYPE="image" name="submit"  VALUE="request" height=42  WIDTH=64 BORDER=0 src="/images/ok.gif"></td>
225
226
227 </tr>
228
229
230 </table>
231 <P>
232
233 <br>
234
235
236
237
238 </form>
239 printend
240 ;
241
242 print endmenu();
243 print endpage();