A little more refactoring....
[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 use strict;
9
10 use C4::Search;
11 use C4::Output;
12 use C4::Koha;
13 use C4::Auth;
14 use CGI;
15
16
17 my $input = new CGI;
18
19 my $flagsrequired;
20 $flagsrequired->{editcatalogue}=1;
21 my ($loggedinuser, $cookie, $sessionID) = checkauth($input, 0, $flagsrequired);
22
23 #
24 my $bibitemnum=$input->param('bibitem');
25 my $data=bibitemdata($bibitemnum);
26 my $biblio=$input->param('biblio');
27 my $submit=$input->param('submit.x');
28 if ($submit eq ''){                                                                                                      
29   print $input->redirect("/cgi-bin/koha/delbibitem.pl?bibitemnum=$bibitemnum&biblio=$biblio");                            
30 }
31 print $input->header;
32 #my ($count,$subject)=subject($data->{'biblionumber'});
33 #my ($count2,$subtitle)=subtitle($data->{'biblionumber'});
34 #my ($count3,$addauthor)=addauthor($data->{'biblionumber'});
35
36 #my ($analytictitle)=analytic($biblionumber,'t');
37 #my ($analyticauthor)=analytic($biblionumber,'a');
38 print startpage();
39 print startmenu('catalogue');
40 my %inputs;
41
42 #hash is set up with input name being the key then
43 #the value is a tab separated list, the first item being the input type
44 #$inputs{'Author'}="text\t$data->{'author'}\t0";
45 #$inputs{'Title'}="text\t$data->{'title'}\t1";
46 my $dewey = $data->{'dewey'};                                                      
47 $dewey =~ s/0+$//;                                                                 
48 if ($dewey eq "000.") { $dewey = "";};                                             
49 if ($dewey < 10){$dewey='00'.$dewey;}                                              
50 if ($dewey < 100 && $dewey > 10){$dewey='0'.$dewey;}                               
51 if ($dewey <= 0){                                                                  
52   $dewey='';                                                                       
53
54 $dewey=~ s/\.$//;
55 $inputs{'Class'}="text\t$data->{'classification'}$dewey$data->{'subclass'}\t2";
56 $inputs{'Item Type'}="text\t$data->{'itemtype'}\t3";
57 #$inputs{'Subject'}="textarea\t$sub\t4";
58 $inputs{'Publisher'}="text\t$data->{'publishercode'}\t5";
59 #$inputs{'Copyright date'}="text\t$data->{'copyrightdate'}\t6";
60 $inputs{'ISBN'}="text\t$data->{'isbn'}\t7";
61 $inputs{'Publication Year'}="text\t$data->{'publicationyear'}\t8";
62 $inputs{'Pages'}="text\t$data->{'pages'}\t9";
63 $inputs{'Illustrations'}="text\t$data->{'illustration'}\t10";
64 #$inputs{'Series Title'}="text\t$data->{'seriestitle'}\t11";
65 #$inputs{'Additional Author'}="text\t$additional\t12";
66 #$inputs{'Subtitle'}="text\t$subtitle->[0]->{'subtitle'}\t13";
67 #$inputs{'Unititle'}="text\t$data->{'unititle'}\t14";
68 #$inputs{'Notes'}="textarea\t$data->{'notes'}\t15";
69 #$inputs{'Serial'}="text\t$data->{'serial'}\t16";
70 $inputs{'Volume'}="text\t$data->{'volumeddesc'}\t17";
71 #$inputs{'Analytic author'}="text\t\t18";
72 #$inputs{'Analytic title'}="text\t\t19";
73
74 $inputs{'bibnum'}="hidden\t$data->{'biblionumber'}\t20";
75 $inputs{'bibitemnum'}="hidden\t$data->{'biblioitemnumber'}\t21";
76
77 print <<printend
78
79 <BLOCKQUOTE><FONT SIZE=6>
80 <em><a href=/cgi-bin/koha/detail.pl?bib=$data->{'biblionumber'}&type=intra>$data->{'title'} ($data->{'author'})</a><br>
81 Modify Group - $data->{'description'}</em></FONT><br>             
82 <form action=updatebibitem.pl method=post>
83 <table border=0 cellspacing=0 cellpadding=5 align=left>
84
85 <TR VALIGN=TOP  bgcolor="99cc33">
86 <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>
87
88 printend
89 ;
90 my ($count,@bibitems)=bibitems($data->{'biblionumber'});
91 print "<tr valign=top><td colspan=3><select name=existinggroup>\n";
92 for (my $i=0;$i<$count;$i++){
93   print "<option value=$bibitems[$i]->{'biblioitemnumber'}>$bibitems[$i]->{'description'} - $bibitems[$i]->{'isbn'}\n";
94 }
95 print "</select></td></tr>";
96 my $notesinput=$input->textfield(-name=>'Notes', -default=>$data->{'bnotes'}, -size=>20);
97
98 print <<printend
99 <TR VALIGN=TOP  bgcolor="99cc33">
100 <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>
101
102
103
104 <tr valign=top bgcolor=white><td>Item Type</td><td><input type=text name=Item Type value="$data->{'itemtype'}" size=20></td></tr>
105
106 <tr valign=top bgcolor=white><td>Class</td><td><input type=text name=Class value="$data->{'classification'}$dewey$data->{'subclass'}" size=20></td></tr>
107
108
109
110 <tr valign=top bgcolor=white><td>Publisher</td><td><input type=text name=Publisher value="$data->{'publishercode'}" size=20></td></tr>
111 <tr valign=top bgcolor=white><td>Place</td><td><input type=text name=Place value="$data->{'place'}" size=20></td></tr>
112
113
114 <tr valign=top bgcolor=white><td>ISBN</td><td><input type=text name=ISBN value="$data->{'isbn'}" size=20></td></tr>
115
116 <tr valign=top bgcolor=white><td>Publication Year</td><td><input type=text name=Publication Year value="$data->{'publicationyear'}" size=20></td></tr>
117
118 <tr valign=top bgcolor=white><td>Pages</td><td><input type=text name=Pages value="$data->{'pages'}" size=20></td></tr>
119
120 <tr valign=top bgcolor=white><td>Illustrations</td><td><input type=text name=Illustrations value="$data->{'illustration'}" size=20></td></tr>
121
122 <tr valign=top bgcolor=white><td>Volume</td>
123 <td><input type=text name=Volume value="$data->{'volumeddesc'}" size=20></td></tr>
124 <tr valign=top bgcolor=white><td>Notes</td>
125 <td>$notesinput</td></tr>
126 <tr valign=top bgcolor=white><td>Size</td>
127 <td><input type=text name=Size value="$data->{'size'}" size=20></td></tr>
128
129 <input type=hidden name=bibnum value="$data->{'biblionumber'}">
130
131 <input type=hidden name=bibitemnum value="$data->{'biblioitemnumber'}">
132
133 </table>
134
135 <img src="/images/holder.gif" width=16 height=500 align=left>
136
137
138
139
140 <TABLE  cellspacing=0 cellpadding=5 border=0 >
141 printend
142 ;
143
144
145 print <<printend;
146 <TR VALIGN=TOP  bgcolor="99cc33">
147 <TD  bgcolor="99cc33" background="/images/background-mem.gif" colspan=5 ><b>CHANGES TO AFFECT THESE BARCODES<br>
148 Tick ALL barcodes that changes are to apply too. Those left un-ticked will keep the original group record.</td></tr>
149
150 <tr valign=top bgcolor=99cc33>
151 <td background="/images/background-mem.gif">&nbsp;</td>
152 <td background="/images/background-mem.gif">Barcode</td>
153 <td background="/images/background-mem.gif">Location</td>
154 <td background="/images/background-mem.gif">Date Due</td>
155 <td background="/images/background-mem.gif">Last Seen</td></tr>
156
157 printend
158 ;
159 my (@items)=itemissues($data->{'biblioitemnumber'});                                                                        
160 #print @items;                                                                                      
161 my $count=@items;           
162 for (my $i=0;$i<$count;$i++){
163   $items[$i]->{'datelastseen'} = slashifyDate($items[$i]->{'datelastseen'});                                                      
164   print <<printend
165 <tr valign=top gcolor=#ffffcc>
166 <td><input type=checkbox name="check_group_$items[$i]->{'barcode'}"></td>
167 <td><a href="/cgi-bin/koha/moredetail.pl?item=$items[$i]->{'itemnumber'}&bib=$data->{'biblionumber'}&bi=$data->{'biblioitemnumber'}">$items[$i]->{'barcode'}</a></td>
168 <td>$items[$i]->{'holdingbranch'}</td>
169 <td></td>
170 <td>$items[$i]->{'datelastseen'}</td>
171 </tr>
172 printend
173 ;
174 }
175 print <<printend
176
177 </table>
178 <p>
179
180 <input type=image  name=submit src=/images/save-changes.gif border=0 width=187 height=42>
181
182
183 </form>
184 <p>
185
186
187 <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
188  items, tick the appropriate ones and a new group record will be created automatically for them.
189  <br clear=all>
190  
191  <p> &nbsp; </p>
192  
193  
194 printend
195 ;
196
197
198 print endmenu();
199 print endpage();