X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=suggestion%2Facceptorreject.pl;h=704f2c5754e3775fbf80bbc0c39083779e8986c1;hb=d6271788fb71662dd3ff0b43e75607d38abb5b79;hp=88918868d6f945d4b7fa885d656d69e4997b15f1;hpb=bb9518b9f1c6e0e27eff27a63bc943200683900c;p=koha.git diff --git a/suggestion/acceptorreject.pl b/suggestion/acceptorreject.pl index 88918868d6..704f2c5754 100755 --- a/suggestion/acceptorreject.pl +++ b/suggestion/acceptorreject.pl @@ -17,7 +17,6 @@ # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, # Suite 330, Boston, MA 02111-1307 USA -# $Id$ =head1 NAME @@ -54,73 +53,101 @@ this script modify the status of a subscription to ACCEPTED or to REJECTED =item suggestedbyme =item op + op can be : * aorr_confirm : to confirm accept or reject * delete_confirm : to confirm the deletion - + * accepted : to display only accepted. + =back =cut - use strict; require Exporter; use CGI; -use HTML::Template; -use C4::Auth; # get_template_and_user -use C4::Interface::CGI::Output; -use C4::Suggestions; -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'); +use C4::Auth; # get_template_and_user +use C4::Output; +use C4::Suggestions; +use C4::Koha; # GetAuthorisedValue + +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 = $input->param('suggestedbyme'); -my $op = $input->param('op'); -$op = 'else' unless $op; +my $place = $input->param('place'); +my $isbn = $input->param('isbn'); +my $status = $input->param('status'); +my $suggestedbyme = $input->param('suggestedbyme'); +my $op = $input->param('op') || "aorr_confirm"; my $dbh = C4::Context->dbh; -my ($template, $loggedinuser, $cookie) - = get_template_and_user({template_name => "suggestion/acceptorreject.tmpl", - type => "intranet", - query => $input, - authnotrequired => 1, - flagsrequired => {borrow => 1}, - }); -if ($op eq "aorr_confirm") { - my @suggestionlist = $input->param("aorr"); - foreach my $suggestion (@suggestionlist) { - if ($suggestion =~ /(A|R)(.*)/) { - my ($newstatus,$suggestionid) = ($1,$2); - $newstatus="REJECTED" if $newstatus eq "R"; - $newstatus="ACCEPTED" if $newstatus eq "A"; - ModStatus($suggestionid,$newstatus,$loggedinuser); - } - } - $op="else"; +my ( $template, $loggedinuser, $cookie ) = get_template_and_user( + { + template_name => "suggestion/acceptorreject.tmpl", + type => "intranet", + query => $input, + authnotrequired => 1, + flagsrequired => { catalogue => 1 }, + } +); + +my $suggestions; + +if ( $op eq "aorr_confirm" ) { + my @suggestionlist = $input->param("aorr"); + + foreach my $suggestion (@suggestionlist) { + if ( $suggestion =~ /(A|R)(.*)/ ) { + my ( $newstatus, $suggestionid ) = ( $1, $2 ); + $newstatus = "REJECTED" if $newstatus eq "R"; + $newstatus = "ACCEPTED" if $newstatus eq "A"; + my $reason = $input->param( "reason" . $suggestionid ); + if ( $reason eq "other" ) { + $reason = $input->param( "other-reason" . $suggestionid ); + } + ModStatus( $suggestionid, $newstatus, $loggedinuser, '', $reason ); + } + } + $op = "else"; + $suggestions = &SearchSuggestion( "", "", "", "", 'ASKED', "" ); } -if ($op eq "delete_confirm") { - my @delete_field = $input->param("delete_field"); - foreach my $delete_field (@delete_field) { - &DelSuggestion($loggedinuser,$delete_field); - } - $op='else'; +if ( $op eq "delete_confirm" ) { + my @delete_field = $input->param("delete_field"); + foreach my $delete_field (@delete_field) { + &DelSuggestion( $loggedinuser, $delete_field ); + } + $op = 'else'; + $suggestions = &SearchSuggestion( "", "", "", "", 'ASKED', "" ); } -my $suggestions_loop= &SearchSuggestion("","","","",'ASKED',""); -$template->param(suggestions_loop => $suggestions_loop, - "op_$op" => 1, - intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"), - intranetstylesheet => C4::Context->preference("intranetstylesheet"), - IntranetNav => C4::Context->preference("IntranetNav"), +if ( $op eq "accepted" ) { + $suggestions = &GetSuggestionByStatus('ACCEPTED'); + $template->param(done => 1); +} + +if ( $op eq "rejected" ) { + $suggestions = &GetSuggestionByStatus('REJECTED'); + $template->param(done => 1); +} + +my $reasonsloop = GetAuthorisedValues("SUGGEST"); +my @suggestions_loop; +foreach my $suggestion (@$suggestions) { + $suggestion->{'reasonsloop'} = $reasonsloop; + push @suggestions_loop, $suggestion; +} + +$template->param( + suggestions_loop => \@suggestions_loop, + "op_$op" => 1, ); + output_html_with_http_headers $input, $cookie, $template->output;