Changes to allow modifications to the website biblioitems
[koha_gimpoz] / acqui / finishreceive.pl
1 #!/usr/bin/perl
2
3 #script to add a new item and to mark orders as received
4 #written 1/3/00 by chris@katipo.co.nz
5
6 use C4::Output;
7 use C4::Acquisitions;
8 use CGI;
9 use C4::Search;
10
11 my $input=new CGI;
12 #print $input->header;
13
14 my $user=$input->remote_user;
15 #print $input->dump;
16 my $biblionumber = $input->param('biblio');
17 my $ordnum=$input->param('ordnum');
18 my $quantrec=$input->param('quantityrec');
19 my $quantity=$input->param('quantity');
20 my $notes=$input->param('notes');
21 my $cost=$input->param('cost');
22 my $invoiceno=$input->param('invoice');
23 my $bibitemno=$input->param('biblioitemnum');
24 my $data=bibitemdata($bibitemno);
25 my $publisher=$data->{'publishercode'};
26 my $pubdate=$data->{'publicationdate'};
27 my $class=$data->{'classification'};
28 my $dewey=$data->{'dewey'};
29 my $subclass=$data->{'subclass'};
30
31 my $size=$data->{'size'};
32 my $illus=$data->{'illus'};
33 my $pages=$data->{'pages'};
34 my $replacement=$input->param('rrp');
35 my $branch=$input->param('branch');
36 my $bookfund=$input->param('bookfund');
37 my $itemtype=$input->param('format');
38 my $isbn=$input->param('ISBN');
39 my $bookseller = $input->param('bookseller');
40 my $id         = $bookseller;
41 my $biblio = {
42     biblionumber  => $biblionumber,
43     title         => $input->param('title')?$input->param('title'):"",
44     author        => $input->param('author')?$input->param('author'):"",
45     copyrightdate => $input->param('copyright')?$input->param('copyright'):"",
46     series        => $input->param('Series')?$input->param('Series'):""
47 }; # my $biblio
48
49 if ($quantrec != 0){
50   $cost=$cost / $quantrec;
51 }
52
53 my $gst=$input->param('gst');
54 my $freight=$input->param('freight');
55 my $volinf=$input->param('volinf');
56 my $loan=0;
57 if ($itemtype =~ /REF/){
58   $loan=1;
59 }
60
61 if ($itemtype =~ /PER/){
62 #  print "$bibitemno";
63   $class="Periodical";
64   $bibitemno=newbiblioitem($biblionumber,$itemtype,$isbn,$volinf,$class);
65 #  print "here $bibitemno";
66 }
67 if ($quantity != 0){
68   receiveorder($biblionumber,$ordnum,$quantrec,$user,$cost,$invoiceno,$bibitemno,$freight,$bookfund);
69   modbiblio($biblio);
70   &modbibitem({
71       biblioitemnumber => $bibitemno,
72       itemtype         => $itemtype?$itemtype:"",
73       isbn             => $isbn?$isbn:"",
74       publisher        => $publisher?$publisher:"",
75       publicationyear  => $pubdate?$pubdate:"",
76       class            => $class?$class:"",
77       dewey            => $dewey?$dewey:"",
78       subclass         => $subclass?$subclass:"",
79       illus            => $illus?$illus:"",
80       pages            => $pages?$pages:"",
81       volumeddesc      => $volinf?$volinf:"",
82       notes            => $notes?$notes:"",
83       size             => $size?$size:"" });
84
85   my $barcode=$input->param('barcode');
86   my @barcodes;
87   if ($barcode =~ /\,/){
88     @barcodes=split(/\,/,$barcode);
89   }elsif ($barcode =~ /\|/){
90     @barcodes=split(/\|/,$barcode);
91   } else {
92     $barcodes[0]=$barcode;
93   #  print $input->header;
94   #  print @barcodes;
95   #  print $barcode;
96   }
97   my ($error) = newitems({ biblioitemnumber => $bibitemno,
98                            biblionumber     => $biblionumber,
99                            replacementprice => $replacement,
100                            price            => $cost,
101                            booksellerid     => $bookseller,
102                            homebranch       => $branch,
103                            loan             => $loan },
104                          @barcodes);
105   if ($error eq ''){
106     if ($itemtype ne 'PER'){
107       print $input->redirect("/cgi-bin/koha/acqui/receive.pl?invoice=$invoiceno&id=$id&freight=$freight&gst=$gst");
108     } else {
109       print $input->redirect("/acquisitions/");
110     }
111   } else {
112     print $input->header;
113     print $error;
114   }
115 } else {
116   print $input->header;
117   delorder($biblionumber,$ordnum);
118        print $input->redirect("/acquisitions/");
119 }