ffzg/recall_notices.pl: added --interval and --dedup
[koha.git] / acqui / lateorders.pl
index d43dbbe..9febcf6 100755 (executable)
@@ -4,18 +4,18 @@
 # Copyright 2005 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 <http://www.gnu.org/licenses>.
 
 =head1 NAME
 
@@ -44,7 +44,7 @@ To know on which branch this script have to display late order.
 =cut
 
 use Modern::Perl;
-use CGI;
+use CGI qw ( -utf8 );
 use C4::Bookseller qw( GetBooksellersWithLateOrders );
 use C4::Auth;
 use C4::Koha;
@@ -52,7 +52,6 @@ use C4::Output;
 use C4::Context;
 use C4::Acquisition;
 use C4::Letters;
-use C4::Branch; # GetBranches
 use Koha::DateUtils;
 
 my $input = new CGI;
@@ -103,10 +102,10 @@ if ( $delay and not $delay =~ /^\d{1,3}$/ ) {
 }
 
 if ($op and $op eq "send_alert"){
-    my @ordernums = $input->param("ordernumber");# FIXME: Fallback values?
+    my @ordernums = $input->multi_param("ordernumber");
     my $err;
     eval {
-        $err = SendAlerts( 'claimacquisition', \@ordernums, $input->param("letter_code") );    # FIXME: Fallback value?
+        $err = SendAlerts( 'claimacquisition', \@ordernums, $input->param("letter_code") );
         if ( not ref $err or not exists $err->{error} ) {
             AddClaim ( $_ ) for @ordernums;
         }
@@ -116,6 +115,8 @@ if ($op and $op eq "send_alert"){
         $template->param(error_claim => $@);
     } elsif ( ref $err and exists $err->{error} and $err->{error} eq "no_email" ) {
         $template->{VARS}->{'error_claim'} = "no_email";
+    } elsif ( ref $err and exists $err->{error} and $err->{error} eq "no_order_selected"){
+        $template->{VARS}->{'error_claim'} = "no_order_selected";
     } else {
         $template->{VARS}->{'info_claim'} = 1;
     }
@@ -133,7 +134,7 @@ push @parameters, $estimateddeliverydateto_dt
 my %supplierlist = GetBooksellersWithLateOrders(@parameters);
 
 my (@sloopy);  # supplier loop
-foreach (keys %supplierlist){
+foreach( sort { $supplierlist{$a} cmp $supplierlist{$b} } keys %supplierlist ) {
        push @sloopy, (($booksellerid and $booksellerid eq $_ )            ?
                                        {id=>$_, name=>$supplierlist{$_}, selected=>1} :
                                        {id=>$_, name=>$supplierlist{$_}} )            ;