X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=acqui%2Flateorders.pl;h=e948d2fafa7e1be7bc7c48ced6bd6f97e4c342bb;hb=9abcfa44e6aa8a416b28a971bb79593328e121d2;hp=7c7a7664567f38761bdace144e2e8033e3c68cb5;hpb=886fdce62588cd2bb21cfb222d2be765bc95e133;p=koha.git diff --git a/acqui/lateorders.pl b/acqui/lateorders.pl index 7c7a766456..e948d2fafa 100755 --- a/acqui/lateorders.pl +++ b/acqui/lateorders.pl @@ -43,6 +43,7 @@ To know on which branch this script have to display late order. =cut use strict; +use warnings; use CGI; use C4::Bookseller; use C4::Auth; @@ -54,67 +55,61 @@ use C4::Letters; use C4::Branch; # GetBranches my $input = new CGI; -my ($template, $loggedinuser, $cookie) -= get_template_and_user( - {template_name => "acqui/lateorders.tmpl", - query => $input, - type => "intranet", - authnotrequired => 0, - flagsrequired => {acquisition => 1}, - debug => 1, - }); - -my $supplierid = $input->param('supplierid'); -my $delay = $input->param('delay'); -my $branch = $input->param('branch'); - -#default value for delay -$delay = 30 unless $delay; +my ($template, $loggedinuser, $cookie) = get_template_and_user({ + template_name => "acqui/lateorders.tmpl", + query => $input, + type => "intranet", + authnotrequired => 0, + flagsrequired => {acquisition => 'order_receive'}, + debug => 1, +}); + +my $supplierid = $input->param('supplierid') || undef; # we don't want "" or 0 +my $delay = $input->param('delay'); +my $branch = $input->param('branch'); +my $op = $input->param('op'); + +my @errors = (); +$delay = 30 unless defined $delay; +unless ($delay =~ /^\d{1,3}$/) { + push @errors, {delay_digits => 1, bad_delay => $delay}; + $delay = 30; #default value for delay +} my %supplierlist = GetBooksellersWithLateOrders($delay,$branch); -my @select_supplier; -push @select_supplier,""; -foreach my $supplierid (keys %supplierlist){ - push @select_supplier, $supplierid; +my (@sloopy); # supplier loop +foreach (keys %supplierlist){ + push @sloopy, (($supplierid and $supplierid eq $_ ) ? + {id=>$_, name=>$supplierlist{$_}, selected=>1} : + {id=>$_, name=>$supplierlist{$_}} ) ; } - -my $CGIsupplier=CGI::scrolling_list( -name => 'supplierid', - -values => \@select_supplier, - -default => $supplierid, - -id => 'supplierid', - -labels => \%supplierlist, - -size => 1, - -tabindex=>'', - -multiple => 0 ); - +$template->param(SUPPLIER_LOOP => \@sloopy); $template->param(Supplier=>$supplierlist{$supplierid}) if ($supplierid); my @lateorders = GetLateOrders($delay,$supplierid,$branch); -my $count = scalar @lateorders; my $total; -foreach my $lateorder (@lateorders){ - $total+=$lateorder->{subtotal}; +foreach (@lateorders){ + $total += $_->{subtotal}; } my @letters; my $letters=GetLetters("claimacquisition"); foreach (keys %$letters){ - push @letters ,{code=>$_,name=>$letters->{$_}}; + push @letters, {code=>$_,name=>$letters->{$_}}; } - $template->param(letters=>\@letters) if (@letters); -my $op=$input->param("op"); -if ($op eq "send_alert"){ - my @ordernums=$input->param("claim_for"); - SendAlerts('claimacquisition',\@ordernums,$input->param("letter_code")); + +if ($op and $op eq "send_alert"){ + my @ordernums = $input->param("claim_for"); # FIXME: Fallback values? + SendAlerts('claimacquisition',\@ordernums,$input->param("letter_code")); # FIXME: Fallback value? } -$template->param(delay=>$delay) if ($delay); +$template->param(ERROR_LOOP => \@errors) if (@errors); $template->param( - CGIsupplier => $CGIsupplier, lateorders => \@lateorders, - total=>$total, + delay => $delay, + total => $total, intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"), - ); +); output_html_with_http_headers $input, $cookie, $template->output;