Lines 43-54
use Koha::DateUtils qw( dt_from_string output_pref );
Link Here
|
43 |
my $input = CGI->new; |
43 |
my $input = CGI->new; |
44 |
my $op = $input->param('op') || 'else'; |
44 |
my $op = $input->param('op') || 'else'; |
45 |
my $biblionumber = $input->param('biblionumber'); |
45 |
my $biblionumber = $input->param('biblionumber'); |
46 |
my $suggestion = $input->Vars; |
|
|
47 |
my $negcaptcha = $input->param('negcap'); |
46 |
my $negcaptcha = $input->param('negcap'); |
48 |
my $suggested_by_anyone = $input->param('suggested_by_anyone') || 0; |
47 |
my $suggested_by_anyone = $input->param('suggested_by_anyone') || 0; |
49 |
my $title_filter = $input->param('title_filter'); |
48 |
my $title_filter = $input->param('title_filter'); |
50 |
my $need_confirm = 0; |
49 |
my $need_confirm = 0; |
51 |
|
50 |
|
|
|
51 |
my $suggestion = { |
52 |
title => scalar $input->param('title'), |
53 |
author => scalar $input->param('author'), |
54 |
copyrightdate => scalar $input->param('copyrightdate'), |
55 |
isbn => scalar $input->param('isbn'), |
56 |
publishercode => scalar $input->param('publishercode'), |
57 |
collectiontitle => scalar $input->param('collectiontitle'), |
58 |
place => scalar $input->param('place'), |
59 |
quantity => scalar $input->param('quantity'), |
60 |
itemtype => scalar $input->param('itemtype'), |
61 |
branchcode => scalar $input->param('branchcode'), |
62 |
patronreason => scalar $input->param('patronreason'), |
63 |
note => scalar $input->param('note'), |
64 |
}; |
65 |
|
52 |
# If a spambot accidentally populates the 'negcap' field in the sugesstions form, then silently skip and return. |
66 |
# If a spambot accidentally populates the 'negcap' field in the sugesstions form, then silently skip and return. |
53 |
if ($negcaptcha ) { |
67 |
if ($negcaptcha ) { |
54 |
print $input->redirect("/cgi-bin/koha/opac-suggestions.pl"); |
68 |
print $input->redirect("/cgi-bin/koha/opac-suggestions.pl"); |
Lines 85-95
else {
Link Here
|
85 |
); |
99 |
); |
86 |
} |
100 |
} |
87 |
|
101 |
|
88 |
# don't pass 'negcap' column to DB, else DBI::Class will error |
|
|
89 |
# DBIx::Class::Row::store_column(): No such column 'negcap' on Koha::Schema::Result::Suggestion at Koha/C4/Suggestions.pm |
90 |
delete $suggestion->{negcap}; |
91 |
delete $suggestion->{$_} foreach qw<op suggested_by_anyone confirm>; |
92 |
|
93 |
if ( $op eq 'else' ) { |
102 |
if ( $op eq 'else' ) { |
94 |
if ( C4::Context->preference("OPACViewOthersSuggestions") ) { |
103 |
if ( C4::Context->preference("OPACViewOthersSuggestions") ) { |
95 |
if ( $borrowernumber ) { |
104 |
if ( $borrowernumber ) { |
Lines 157-168
if ( $op eq "add_confirm" ) {
Link Here
|
157 |
elsif ( @$suggestions_loop >= 1 ) { |
166 |
elsif ( @$suggestions_loop >= 1 ) { |
158 |
|
167 |
|
159 |
#some suggestion are answering the request Donot Add |
168 |
#some suggestion are answering the request Donot Add |
160 |
for my $suggestion (@$suggestions_loop) { |
169 |
for my $s (@$suggestions_loop) { |
161 |
push @messages, |
170 |
push @messages, |
162 |
{ |
171 |
{ |
163 |
type => 'error', |
172 |
type => 'error', |
164 |
code => 'already_exists', |
173 |
code => 'already_exists', |
165 |
id => $suggestion->{suggestionid} |
174 |
id => $s->{suggestionid} |
166 |
}; |
175 |
}; |
167 |
last; |
176 |
last; |
168 |
} |
177 |
} |
Lines 177-182
if ( $op eq "add_confirm" ) {
Link Here
|
177 |
} |
186 |
} |
178 |
$suggestion->{suggesteddate} = dt_from_string; |
187 |
$suggestion->{suggesteddate} = dt_from_string; |
179 |
$suggestion->{branchcode} = $input->param('branchcode') || C4::Context->userenv->{"branch"}; |
188 |
$suggestion->{branchcode} = $input->param('branchcode') || C4::Context->userenv->{"branch"}; |
|
|
189 |
$suggestion->{STATUS} = 'ASKED'; |
180 |
|
190 |
|
181 |
&NewSuggestion($suggestion); |
191 |
&NewSuggestion($suggestion); |
182 |
$patrons_pending_suggestions_count++; |
192 |
$patrons_pending_suggestions_count++; |
183 |
- |
|
|