X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=acqui%2Fcancelorder.pl;h=48e5b41423240de2bf077db351533d0bb6e04ddb;hb=9d6d641d1f8b77271800f43bc027b651f9aea52b;hp=0c2489394d13729b317dec2c8de1073d3d0dbf03;hpb=c4aaca949638c8a9da0e0a8d4c320f49badb10a9;p=srvgit diff --git a/acqui/cancelorder.pl b/acqui/cancelorder.pl index 0c2489394d..48e5b41423 100755 --- a/acqui/cancelorder.pl +++ b/acqui/cancelorder.pl @@ -1,20 +1,21 @@ #!/usr/bin/perl -# Copyright 2011 BibLibre SARL +# Copyright 2014 BibLibre +# # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY 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., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . =head1 NAME @@ -31,38 +32,37 @@ and add possibility to indicate a reason for cancellation use Modern::Perl; use CGI; -use C4::Auth; -use C4::Output; -# FIXME: C4::Search is needed by C4::Items::GetAnalyticsCount, which is called -# by C4::Acquisition::DelOrder. But C4::Search is not imported by C4::Items. -# Once this problem is resolved, the following line can be removed. -# See Bug 7847. -use C4::Search; -use C4::Acquisition; +use C4::Auth qw( get_template_and_user ); +use C4::Output qw( output_html_with_http_headers ); +use Koha::Acquisition::Baskets; -my $input = new CGI; +my $input = CGI->new; my ($template, $loggedinuser, $cookie, $flags) = get_template_and_user( { template_name => 'acqui/cancelorder.tt', query => $input, type => 'intranet', - authnotrequired => 0, flagsrequired => { 'acquisition' => 'order_manage' }, - debug => 1, } ); my $action = $input->param('action'); my $ordernumber = $input->param('ordernumber'); my $biblionumber = $input->param('biblionumber'); +my $basketno = $input->param('basketno'); +my $basket = Koha::Acquisition::Baskets->find({ basketno => $basketno }, { prefetch => 'booksellerid' }); my $referrer = $input->param('referrer') || $input->referer; -my $del_biblio = $input->param('del_biblio') ? 1 : 0; +my $delete_biblio = $input->param('del_biblio') ? 1 : 0; -if($action and $action eq "confirmcancel") { +if( $action and $action eq "confirmcancel" ) { my $reason = $input->param('reason'); - my $error = DelOrder($biblionumber, $ordernumber, $del_biblio, $reason); + my $order = Koha::Acquisition::Orders->find($ordernumber); + $order->cancel({ reason => $reason, delete_biblio => $delete_biblio }); + my @messages = @{ $order->messages }; - if($error) { - $template->param(error_delitem => 1) if $error->{'delitem'}; - $template->param(error_delbiblio => 1) if $error->{'delbiblio'}; + if ( scalar @messages > 0 ) { + $template->param( error_delitem => 1 ) + if $messages[0]->message eq 'error_delitem'; + $template->param( error_delbiblio => 1 ) + if $messages[0]->message eq 'error_delbiblio'; } else { $template->param(success_cancelorder => 1); } @@ -72,8 +72,9 @@ if($action and $action eq "confirmcancel") { $template->param( ordernumber => $ordernumber, biblionumber => $biblionumber, + basket => $basket, referrer => $referrer, - del_biblio => $del_biblio, + del_biblio => $delete_biblio, ); output_html_with_http_headers $input, $cookie, $template->output;