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