X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=acqui%2Flateorders.pl;h=e948d2fafa7e1be7bc7c48ced6bd6f97e4c342bb;hb=4747ea7462c04770484386538b1594c1760bc75b;hp=bee0f88c23d3142752b2acf3e6f948ca3800d3b2;hpb=3818a8dc384f1687d287e77fdb683b3eb518e036;p=koha_fer diff --git a/acqui/lateorders.pl b/acqui/lateorders.pl index bee0f88c23..e948d2fafa 100755 --- a/acqui/lateorders.pl +++ b/acqui/lateorders.pl @@ -15,7 +15,6 @@ # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, # Suite 330, Boston, MA 02111-1307 USA -# $Id$ =head1 NAME @@ -44,79 +43,73 @@ 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; use C4::Koha; use C4::Output; -use C4::Interface::CGI::Output; use C4::Context; use C4::Acquisition; - -my $query = new CGI; -my ($template, $loggedinuser, $cookie) -= get_template_and_user( - {template_name => "acqui/lateorders.tmpl", - query => $query, - type => "intranet", - authnotrequired => 0, - flagsrequired => {acquisition => 1}, - debug => 1, - }); - -my $supplierid = $query->param('supplierid'); -my $delay = $query->param('delay'); -my $branch = $query->param('branch'); - -#default value for delay -$delay = 30 unless $delay; +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 => '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, - -labels => \%supplierlist, - -size => 1, - -tabindex=>'', - -multiple => 0 ); - +$template->param(SUPPLIER_LOOP => \@sloopy); $template->param(Supplier=>$supplierlist{$supplierid}) if ($supplierid); -my $branches = GetBranches; +my @lateorders = GetLateOrders($delay,$supplierid,$branch); -my @branchloop; -foreach my $thisbranch (sort keys %$branches) { - my %row =(value => $thisbranch, - branchname => $branches->{$thisbranch}->{'branchname'}, - ); - push @branchloop, \%row; +my $total; +foreach (@lateorders){ + $total += $_->{subtotal}; } -my $CGIbranch=CGI::scrolling_list( -name => 'branch', - -values => \@branchloop, - -labels => $branches, - -size => 1, - -tabindex=>'', - -multiple => 0 ); -my @lateorders = GetLateOrders($delay,$supplierid,$branch); -my $count = scalar @lateorders; +my @letters; +my $letters=GetLetters("claimacquisition"); +foreach (keys %$letters){ + push @letters, {code=>$_,name=>$letters->{$_}}; +} +$template->param(letters=>\@letters) if (@letters); -my $total; -foreach my $lateorder (@lateorders){ - $total+=$lateorder->{subtotal}; +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( - branchloop => \@branchloop, - CGIsupplier => $CGIsupplier, lateorders => \@lateorders, - total=>$total, + delay => $delay, + total => $total, intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"), - ); -output_html_with_http_headers $query, $cookie, $template->output; +); +output_html_with_http_headers $input, $cookie, $template->output;