X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=opac%2Fopac-suggestions.pl;h=eddcd268100d04667df717df466f00f4e6905de3;hb=37f3807442ce1136a57e6fec76648994ada7a5cb;hp=400169424948fbd4b37f0765d2ebaa0ab434a746;hpb=4bf76c2d77cb32dd7147b11334eb17aa959955ba;p=koha.git diff --git a/opac/opac-suggestions.pl b/opac/opac-suggestions.pl index 4001694249..eddcd26810 100755 --- a/opac/opac-suggestions.pl +++ b/opac/opac-suggestions.pl @@ -11,35 +11,33 @@ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; +use warnings; use CGI; use C4::Auth; # get_template_and_user +use C4::Members; +use C4::Branch; +use C4::Koha; use C4::Output; use C4::Suggestions; +use C4::Koha; +use C4::Dates; my $input = new CGI; -my $title = $input->param('title'); -my $author = $input->param('author'); -my $note = $input->param('note'); -my $copyrightdate = $input->param('copyrightdate'); -my $publishercode = $input->param('publishercode'); -my $volumedesc = $input->param('volumedesc'); -my $publicationyear = $input->param('publicationyear'); -my $place = $input->param('place'); -my $isbn = $input->param('isbn'); -my $status = $input->param('status'); -my $suggestedbyme = (defined $input->param('suggestedbyme')? $input->param('suggestedbyme'):1); +my $allsuggestions = $input->param('showall'); my $op = $input->param('op'); +my $suggestion = $input->Vars; +delete $$suggestion{$_} foreach qw; $op = 'else' unless $op; my ( $template, $borrowernumber, $cookie ); - -my $dbh = C4::Context->dbh; +my $deleted = $input->param('deleted'); +my $submitted = $input->param('submitted'); if ( C4::Context->preference("AnonSuggestions") ) { ( $template, $borrowernumber, $cookie ) = get_template_and_user( @@ -47,11 +45,11 @@ if ( C4::Context->preference("AnonSuggestions") ) { template_name => "opac-suggestions.tmpl", query => $input, type => "opac", - authnotrequired => 1, + authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ), } ); - if ( !$borrowernumber ) { - $borrowernumber = C4::Context->preference("AnonSuggestions"); + if ( !$$suggestion{suggestedby} ) { + $$suggestion{suggestedby} = C4::Context->preference("AnonymousPatron"); } } else { @@ -64,24 +62,32 @@ else { } ); } +if ($allsuggestions){ + delete $$suggestion{suggestedby}; +} +else { + $$suggestion{suggestedby} ||= $borrowernumber unless ($allsuggestions); +} +# warn "bornum:",$borrowernumber; +my $suggestions_loop = + &SearchSuggestion( $suggestion); if ( $op eq "add_confirm" ) { - &NewSuggestion( - $borrowernumber, $title, $author, $publishercode, - $note, $copyrightdate, $volumedesc, $publicationyear, - $place, $isbn, '' - ); - - # empty fields, to avoid filter in "SearchSuggestion" - $title = ''; - $author = ''; - $publishercode = ''; - $copyrightdate = ''; - $volumedesc = ''; - $publicationyear = ''; - $place = ''; - $isbn = ''; - $op = 'else'; + if (@$suggestions_loop>=1){ + #some suggestion are answering the request Donot Add + } + else { + $$suggestion{'suggesteddate'}=C4::Dates->today; + $$suggestion{'branchcode'}= $input->param('branch') || C4::Context->userenv->{"branch"}; + &NewSuggestion($suggestion); + # empty fields, to avoid filter in "SearchSuggestion" + $$suggestion{$_}='' foreach qw; + $suggestions_loop = + &SearchSuggestion( $suggestion ); + } + $op = 'else'; + print $input->redirect("/cgi-bin/koha/opac-suggestions.pl?op=else&submitted=1"); + exit; } if ( $op eq "delete_confirm" ) { @@ -90,20 +96,54 @@ if ( $op eq "delete_confirm" ) { &DelSuggestion( $borrowernumber, $delete_field ); } $op = 'else'; + print $input->redirect("/cgi-bin/koha/opac-suggestions.pl?op=else&deleted=1"); + exit; +} +map{ $_->{'branchcodesuggestedby'}=GetBranchInfo($_->{'branchcodesuggestedby'})->[0]->{'branchname'}} @$suggestions_loop; +my $supportlist=GetSupportList(); +foreach my $support(@$supportlist){ + if ($$support{'imageurl'}){ + $$support{'imageurl'}= getitemtypeimagelocation( 'opac', $$support{'imageurl'} ); + } + else { + delete $$support{'imageurl'} + } +} + +foreach my $suggestion(@$suggestions_loop) { + if($suggestion->{'suggestedby'} == $borrowernumber) { + $suggestion->{'showcheckbox'} = $borrowernumber; + } else { + $suggestion->{'showcheckbox'} = 0; + } + if($suggestion->{'patronreason'}){ + $suggestion->{'patronreason'} = GetKohaAuthorisedValueLib("OPAC_SUG",$suggestion->{'patronreason'},1); + } +} + +my $patron_reason_loop = GetAuthorisedValues("OPAC_SUG"); + +# Is the person allowed to choose their branch +if ( C4::Context->preference("AllowPurchaseSuggestionBranchChoice") ) { + my ( $borr ) = GetMemberDetails( $borrowernumber ); + +# pass the pickup branch along.... + my $branch = $input->param('branch') || $borr->{'branchcode'} || C4::Context->userenv->{branch} || '' ; + +# make branch selection options... + my $CGIbranchloop = GetBranchesLoop($branch); + $template->param( branch_loop => $CGIbranchloop ); } -my $suggestions_loop = - &SearchSuggestion( $borrowernumber, $author, $title, $publishercode, $status, - $suggestedbyme ); $template->param( + %$suggestion, + itemtypeloop=> $supportlist, suggestions_loop => $suggestions_loop, - title => $title, - author => $author, - publishercode => $publishercode, - status => $status, - suggestedbyme => $suggestedbyme, + patron_reason_loop => $patron_reason_loop, + showall => $allsuggestions, "op_$op" => 1, - suggestionsview => 1 + suggestionsview => 1, ); output_html_with_http_headers $input, $cookie, $template->output; +