Made code a bit more Perl-ish.
[koha.git] / modbibitem.pl
1 #!/usr/bin/perl
2
3 #script to modify/delete groups
4
5 #written 8/11/99
6 # modified 11/11/99 by chris@katipo.co.nz
7 # modified 18/4/00 by chris@katipo.co.nz
8
9 # Copyright 2000-2002 Katipo Communications
10 #
11 # This file is part of Koha.
12 #
13 # Koha is free software; you can redistribute it and/or modify it under the
14 # terms of the GNU General Public License as published by the Free Software
15 # Foundation; either version 2 of the License, or (at your option) any later
16 # version.
17 #
18 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
19 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
20 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
21 #
22 # You should have received a copy of the GNU General Public License along with
23 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
24 # Suite 330, Boston, MA  02111-1307 USA
25
26 use strict;
27
28 use C4::Search;
29 use C4::Output;
30 use C4::Koha;
31 use CGI;
32
33
34 my $input = new CGI;
35 my $bibitemnum=$input->param('bibitem');
36 my $data=bibitemdata($bibitemnum);
37 my $biblio=$input->param('biblio');
38 my $submit=$input->param('submit.x');
39 if ($submit eq ''){                                                                                                      
40   print $input->redirect("deletebiblioitem.pl?biblioitemnumber=$bibitemnum&biblionumber=$biblio");
41 }
42 print $input->header;
43 #my ($count,$subject)=subject($data->{'biblionumber'});
44 #my ($count2,$subtitle)=subtitle($data->{'biblionumber'});
45 #my ($count3,$addauthor)=addauthor($data->{'biblionumber'});
46
47 #my ($analytictitle)=analytic($biblionumber,'t');
48 #my ($analyticauthor)=analytic($biblionumber,'a');
49 print startpage();
50 print startmenu('catalogue');
51 my %inputs;
52
53 #hash is set up with input name being the key then
54 #the value is a tab separated list, the first item being the input type
55 #$inputs{'Author'}="text\t$data->{'author'}\t0";
56 #$inputs{'Title'}="text\t$data->{'title'}\t1";
57 my $dewey = $data->{'dewey'};                                                      
58 $dewey =~ s/0+$//;                                                                 
59 if ($dewey eq "000.") { $dewey = "";};                                             
60 if ($dewey < 10){$dewey='00'.$dewey;}                                              
61 if ($dewey < 100 && $dewey > 10){$dewey='0'.$dewey;}                               
62 if ($dewey <= 0){                                                                  
63   $dewey='';                                                                       
64
65 $dewey=~ s/\.$//;
66 $inputs{'Class'}="text\t$data->{'classification'}$dewey$data->{'subclass'}\t2";
67 $inputs{'Item Type'}="text\t$data->{'itemtype'}\t3";
68 $inputs{'URL'}="text\t$data->{'url'}\t4";
69 $inputs{'Publisher'}="text\t$data->{'publishercode'}\t5";
70 #$inputs{'Copyright date'}="text\t$data->{'copyrightdate'}\t6";
71 $inputs{'ISBN'}="text\t$data->{'isbn'}\t7";
72 $inputs{'Publication Year'}="text\t$data->{'publicationyear'}\t8";
73 $inputs{'Pages'}="text\t$data->{'pages'}\t9";
74 $inputs{'Illustrations'}="text\t$data->{'illustration'}\t10";
75 #$inputs{'Series Title'}="text\t$data->{'seriestitle'}\t11";
76 #$inputs{'Additional Author'}="text\t$additional\t12";
77 #$inputs{'Subtitle'}="text\t$subtitle->[0]->{'subtitle'}\t13";
78 #$inputs{'Unititle'}="text\t$data->{'unititle'}\t14";
79 #$inputs{'Notes'}="textarea\t$data->{'notes'}\t15";
80 #$inputs{'Serial'}="text\t$data->{'serial'}\t16";
81 $inputs{'Volume'}="text\t$data->{'volumeddesc'}\t17";
82 #$inputs{'Analytic author'}="text\t\t18";
83 #$inputs{'Analytic title'}="text\t\t19";
84
85 $inputs{'bibnum'}="hidden\t$data->{'biblionumber'}\t20";
86 $inputs{'bibitemnum'}="hidden\t$data->{'biblioitemnumber'}\t21";
87
88 print <<printend
89
90 <BLOCKQUOTE><FONT SIZE=6>
91 <em><a href=/cgi-bin/koha/detail.pl?bib=$data->{'biblionumber'}&type=intra>$data->{'title'} ($data->{'author'})</a><br>
92 Modify Group - $data->{'description'}</em></FONT><br>             
93 <form action=updatebibitem.pl method=post>
94 <table border=0 cellspacing=0 cellpadding=5 align=left>
95
96 <TR VALIGN=TOP  bgcolor="99cc33">
97 <TD  bgcolor="99cc33" background="/images/background-mem.gif" colspan=2 ><b><input type=radio name=existing value=YES > RE-ASSIGN TO EXISTING GROUP</b></td></tr>
98
99 printend
100 ;
101 my ($count,@bibitems)=bibitems($data->{'biblionumber'});
102 print "<tr valign=top><td colspan=3><select name=existinggroup>\n";
103 for (my $i=0;$i<$count;$i++){
104   print "<option value=$bibitems[$i]->{'biblioitemnumber'}>$bibitems[$i]->{'description'} - $bibitems[$i]->{'isbn'}\n";
105 }
106 print "</select></td></tr>";
107 my $notesinput=$input->textfield(-name=>'Notes', -default=>$data->{'bnotes'}, -size=>20);
108
109 print <<printend
110 <TR VALIGN=TOP  bgcolor="99cc33">
111 <TD  bgcolor="99cc33" background="/images/background-mem.gif" colspan=2 ><b><input type=radio name=existing value=NO checked >OR MODIFY DETAILS</b></td></tr>
112
113
114
115 <tr valign=top bgcolor=white><td>Item Type</td><td><input type=text name=Item Type value="$data->{'itemtype'}" size=20></td></tr>
116
117 <tr valign="top" bgcolor="white">
118 <td>URL</td>
119 <td><input type="text" name="url" value="$data->{'url'}" size="20"></td>
120 </tr>
121
122 <tr valign=top bgcolor=white><td>Class</td><td><input type=text name=Class value="$data->{'classification'}$dewey$data->{'subclass'}" size=20></td></tr>
123
124
125
126 <tr valign=top bgcolor=white><td>Publisher</td><td><input type=text name=Publisher value="$data->{'publishercode'}" size=20></td></tr>
127 <tr valign=top bgcolor=white><td>Place</td><td><input type=text name=Place value="$data->{'place'}" size=20></td></tr>
128
129
130 <tr valign=top bgcolor=white><td>ISBN</td><td><input type=text name=ISBN value="$data->{'isbn'}" size=20></td></tr>
131
132 <tr valign=top bgcolor=white><td>Publication Year</td><td><input type=text name=Publication Year value="$data->{'publicationyear'}" size=20></td></tr>
133
134 <tr valign=top bgcolor=white><td>Pages</td><td><input type=text name=Pages value="$data->{'pages'}" size=20></td></tr>
135
136 <tr valign=top bgcolor=white><td>Illustrations</td><td><input type=text name=Illustrations value="$data->{'illustration'}" size=20></td></tr>
137
138 <tr valign=top bgcolor=white><td>Volume</td>
139 <td><input type=text name=Volume value="$data->{'volumeddesc'}" size=20></td></tr>
140 <tr valign=top bgcolor=white><td>Notes</td>
141 <td>$notesinput</td></tr>
142 <tr valign=top bgcolor=white><td>Size</td>
143 <td><input type=text name=Size value="$data->{'size'}" size=20></td></tr>
144
145 <input type=hidden name=bibnum value="$data->{'biblionumber'}">
146
147 <input type=hidden name=bibitemnum value="$data->{'biblioitemnumber'}">
148
149 </table>
150
151 <img src="/images/holder.gif" width=16 height=500 align=left>
152
153
154
155
156 <TABLE  cellspacing=0 cellpadding=5 border=0 >
157 printend
158 ;
159
160
161 print <<printend;
162 <TR VALIGN=TOP  bgcolor="99cc33">
163 <TD  bgcolor="99cc33" background="/images/background-mem.gif" colspan=5 ><b>CHANGES TO AFFECT THESE BARCODES<br>
164 Tick ALL barcodes that changes are to apply too. Those left un-ticked will keep the original group record.</td></tr>
165
166 <tr valign=top bgcolor=99cc33>
167 <td background="/images/background-mem.gif">&nbsp;</td>
168 <td background="/images/background-mem.gif">Barcode</td>
169 <td background="/images/background-mem.gif">Location</td>
170 <td background="/images/background-mem.gif">Date Due</td>
171 <td background="/images/background-mem.gif">Last Seen</td></tr>
172
173 printend
174 ;
175 my (@items)=itemissues($data->{'biblioitemnumber'});                                                                        
176 #print @items;                                                                                      
177 my $count=@items;           
178 for (my $i=0;$i<$count;$i++){
179   $items[$i]->{'datelastseen'} = slashifyDate($items[$i]->{'datelastseen'});                                                      
180   print <<printend
181 <tr valign=top gcolor=#ffffcc>
182 <td><input type=checkbox name="check_group_$items[$i]->{'barcode'}"></td>
183 <td><a href="/cgi-bin/koha/moredetail.pl?item=$items[$i]->{'itemnumber'}&bib=$data->{'biblionumber'}&bi=$data->{'biblioitemnumber'}">$items[$i]->{'barcode'}</a></td>
184 <td>$items[$i]->{'holdingbranch'}</td>
185 <td></td>
186 <td>$items[$i]->{'datelastseen'}</td>
187 </tr>
188 printend
189 ;
190 }
191 print <<printend
192
193 </table>
194 <p>
195
196 <input type=image  name=submit src=/images/save-changes.gif border=0 width=187 height=42>
197
198
199 </form>
200 <p>
201
202
203 <B>HELP:</B> You <b>must</b> click on the appropriate radio button (in the green boxes), and choose to either re-assign the item/s to a record already in the system, or modify this record.  IF your changes only apply to some
204  items, tick the appropriate ones and a new group record will be created automatically for them.
205  <br clear=all>
206  
207  <p> &nbsp; </p>
208  
209  
210 printend
211 ;
212
213
214 print endmenu();
215 print endpage();