suggestions improvements and fixes
[koha.git] / acqui / newordersuggestion.pl
1 #!/usr/bin/perl
2
3 # This file is part of Koha.
4 #
5 # Koha is free software; you can redistribute it and/or modify it under the
6 # terms of the GNU General Public License as published by the Free Software
7 # Foundation; either version 2 of the License, or (at your option) any later
8 # version.
9 #
10 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License along with
15 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
16 # Suite 330, Boston, MA  02111-1307 USA
17
18
19 =head1 NAME
20
21 newordersuggestion.pl
22
23 =head1 DESCRIPTION
24
25 this script allow to add an order from a existing suggestion.
26 The suggestion must have 'ACCEPTED' as status.
27
28 =head1 CGI PARAMETERS
29
30 =over 4
31
32 =item basketno
33
34     the number of this basket.
35
36 =item booksellerid
37
38     the bookseller who sells this record.
39
40 =item title
41
42     to filter on title when searching among ACCEPTED suggestion.
43
44 =item author
45
46     to filter on author when searching among ACCEPTED suggestion.
47
48 =item note
49
50     to filter on note when searching among ACCEPTED suggestion.
51
52 =item copyrightdate
53
54 =item publishercode
55
56 =item volumedesc
57
58 =item publicationyear
59
60 the publication year of this record.
61
62 =item place
63
64 =item isbn
65
66 the isbn of this suggestion.
67
68 =item duplicateNumber
69
70 is the biblionumber to put to the new suggestion.
71
72 =item suggestionid
73
74 the id of the suggestion to select.
75
76 =item op
77
78 can be equal to
79     * connectDuplicate :
80         then call to the function : ConnectSuggestionAndBiblio.
81         i.e set the biblionumber of this suggestion.
82     * else :
83         is the default value.
84
85 =back
86
87 =cut
88
89 use strict;
90
91 use CGI;
92 use C4::Auth;    # get_template_and_user
93 use C4::Output;
94 use C4::Suggestions;
95 use C4::Bookseller;
96 use C4::Biblio;
97
98 my $input = new CGI;
99
100 # getting the CGI params
101 my $basketno        = $input->param('basketno');
102 my $supplierid      = $input->param('booksellerid');
103 my $author          = $input->param('author');
104 my $title           = $input->param('title');
105 my $publishercode   = $input->param('publishercode');
106 my $op              = $input->param('op');
107 my $suggestionid    = $input->param('suggestionid');
108 my $duplicateNumber = $input->param('duplicateNumber');
109 my $uncertainprice = $input->param('uncertainprice');
110
111 $op = 'else' unless $op;
112
113 my $dbh = C4::Context->dbh;
114 my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
115     {
116         template_name   => "acqui/newordersuggestion.tmpl",
117         type            => "intranet",
118         query           => $input,
119         authnotrequired => 1,
120         flagsrequired   => { acquisition => 'order_manage' },
121     }
122 );
123
124 if ( $op eq 'connectDuplicate' ) {
125     ConnectSuggestionAndBiblio( $suggestionid, $duplicateNumber );
126 }
127
128 # getting all suggestions.
129 my $suggestions_loop =
130         &SearchSuggestion( 
131                 { managedby     => $borrowernumber, 
132                 author                  => $author, 
133                 title                   => $title, 
134                 publishercode   => $publishercode,
135                 status              => 'ACCEPTED'});
136 my $vendor = GetBookSellerFromId($supplierid);
137 $template->param(
138     suggestions_loop        => $suggestions_loop,
139     basketno                => $basketno,
140     supplierid              => $supplierid,
141     name                                        => $vendor->{'name'},
142     "op_$op"                => 1,
143 );
144
145 output_html_with_http_headers $input, $cookie, $template->output;