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