Update to acqui.simple system. Hopefully this is a lot more user friendly.
[koha.git] / acqui.simple / saveitem.pl
1 #!/usr/bin/perl
2
3 use CGI;
4 use strict;
5 use C4::Acquisitions;
6
7 my $input            = new CGI;
8 my $barcode          = $input->param('barcode');
9 my $biblionumber     = $input->param('biblionumber');
10 my $biblioitemnumber = $input->param('biblioitemnumber');
11 my $item             = {
12     biblionumber     => $biblionumber,
13     biblioitemnumber => $biblioitemnumber?$biblioitemnumber:"",
14     homebranch       => $input->param('homebranch'),
15     replacementprice => $input->param('replacementprice')?$input->param('replacementprice'):"",
16     itemnotes        => $input->param('notes')?$input->param('notes'):""
17 }; # my $item
18 my $biblioitem       = {
19     biblionumber      => $biblionumber,
20     itemtype          => $input->param('itemtype'),
21     isbn              => $input->param('isbn')?$input->param('isbn'):"",
22     publishercode     => $input->param('publishercode')?$input->param('publishercode'):"",
23     publicationyear   => $input->param('publicationyear')?$input->param('publicationyear'):"",
24     place             => $input->param('place')?$input->param('place'):"",
25     illus             => $input->param('illus')?$input->param('illus'):"",
26     additionalauthors => $input->param('additionalauthors')?$input->param('additionalauthors'):"",
27     subjectheadings   => $input->param('subjectheadings')?$input->param('subjectheadings'):"",
28     url               => $input->param('url')?$input->param('url'):"",
29     dewey             => $input->param('dewey')?$input->param('dewey'):"",
30     subclass          => $input->param('subclass')?$input->param('subclass'):"",
31     issn              => $input->param('issn')?$input->param('issn'):"",
32     lccn              => $input->param('lccn')?$input->param('lccn'):"",
33     volume            => $input->param('volume')?$input->param('volume'):"",
34     number            => $input->param('number')?$input->param('number'):"",
35     volumeddesc       => $input->param('volumeddesc')?$input->param('volumeddesc'):"",
36     pages             => $input->param('pages')?$input->param('pages'):"",
37     size              => $input->param('size')?$input->param('size'):"",
38     notes             => $input->param('notes')?$input->param('notes'):""
39 }; # my biblioitem
40 my $newgroup = 0;
41 my $website  = 0;
42 my $count;
43 my @results;
44
45 if ($input->param('newgroup')) {
46     $newgroup = 1;
47     if ($biblioitem->{'itemtype'} eq "WEB") {
48         $website = 1;
49     } # if
50 } # if
51
52 if (! $biblionumber) {
53     print $input->redirect('addbooks.pl');
54 } elsif ((! $barcode) && (! $website)) {
55     print $input->redirect("additem.pl?biblionumber=$biblionumber&error=nobarcode");
56 } elsif ((! $newgroup) && (! $biblioitemnumber)) {
57     print $input->redirect("additem.pl?biblionumber=$biblionumber&error=nobiblioitem");
58 } else {
59     
60     if ($website) {
61         &newbiblioitem($biblioitem);
62     } elsif (&checkitems(1,$barcode)) {
63         print $input->redirect("additem.pl?biblionumber=$biblionumber&error=barcodeinuse");
64     } else {
65
66         if ($newgroup) {
67             $biblioitemnumber = &newbiblioitem($biblioitem);
68             $item->{'biblioitemnumber'} = $biblioitemnumber;
69         } # if
70
71         &newitems($item, ($barcode));
72
73         print $input->redirect("additem.pl?biblionumber=$biblionumber");
74     } # else
75 } # else