Bug 6641 -- Specially crafted URL can allow unauthorized download of MARC files from...
[koha.git] / acqui / newordersuggestion.pl
blobb65e4ea62488fd9063f20a687417920bb74961ba
1 #!/usr/bin/perl
3 # This file is part of Koha.
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.
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.
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
19 =head1 NAME
21 newordersuggestion.pl
23 =head1 DESCRIPTION
25 this script allow to add an order from a existing suggestion.
26 The suggestion must have 'ACCEPTED' as status.
28 =head1 CGI PARAMETERS
30 =over 4
32 =item basketno
34 the number of this basket.
36 =item booksellerid
38 the bookseller who sells this record.
40 =item title
42 to filter on title when searching among ACCEPTED suggestion.
44 =item author
46 to filter on author when searching among ACCEPTED suggestion.
48 =item note
50 to filter on note when searching among ACCEPTED suggestion.
52 =item copyrightdate
54 =item publishercode
56 =item volumedesc
58 =item publicationyear
60 the publication year of this record.
62 =item place
64 =item isbn
66 the isbn of this suggestion.
68 =item duplicateNumber
70 is the biblionumber to put to the new suggestion.
72 =item suggestionid
74 the id of the suggestion to select.
76 =item op
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.
85 =back
87 =cut
89 use strict;
90 #use warnings; FIXME - Bug 2505
92 use CGI;
93 use C4::Auth; # get_template_and_user
94 use C4::Output;
95 use C4::Suggestions;
96 use C4::Bookseller qw/ GetBookSellerFromId /;
97 use C4::Biblio;
99 my $input = new CGI;
101 # getting the CGI params
102 my $basketno = $input->param('basketno');
103 my $supplierid = $input->param('booksellerid');
104 my $author = $input->param('author');
105 my $title = $input->param('title');
106 my $publishercode = $input->param('publishercode');
107 my $op = $input->param('op');
108 my $suggestionid = $input->param('suggestionid');
109 my $duplicateNumber = $input->param('duplicateNumber');
110 my $uncertainprice = $input->param('uncertainprice');
112 $op = 'else' unless $op;
114 my $dbh = C4::Context->dbh;
115 my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
117 template_name => "acqui/newordersuggestion.tmpl",
118 type => "intranet",
119 query => $input,
120 authnotrequired => 1,
121 flagsrequired => { acquisition => 'order_manage' },
125 if ( $op eq 'connectDuplicate' ) {
126 ConnectSuggestionAndBiblio( $suggestionid, $duplicateNumber );
129 # getting all suggestions.
130 my $suggestions_loop =
131 &SearchSuggestion(
132 { managedby => $borrowernumber,
133 author => $author,
134 title => $title,
135 publishercode => $publishercode,
136 STATUS => 'ACCEPTED'});
137 my $vendor = GetBookSellerFromId($supplierid);
138 $template->param(
139 suggestions_loop => $suggestions_loop,
140 basketno => $basketno,
141 supplierid => $supplierid,
142 name => $vendor->{'name'},
143 "op_$op" => 1,
146 output_html_with_http_headers $input, $cookie, $template->output;