X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=acqui%2Flateorders.pl;h=35ebec1d863c2dc200f6396e93c69f0376b7edbb;hb=HEAD;hp=810f665b87959aaf07ac4bbfc8e93d9f7ef47471;hpb=aef1dd15fbe37a8a9c30ba4b38f7ecd6c1fea54d;p=koha_gimpoz diff --git a/acqui/lateorders.pl b/acqui/lateorders.pl index 810f665b87..35ebec1d86 100755 --- a/acqui/lateorders.pl +++ b/acqui/lateorders.pl @@ -29,7 +29,7 @@ given on input arg. =over 4 -=item supplierid +=item booksellerid To know on which supplier this script have to display late order. =item delay @@ -64,29 +64,61 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user({ debug => 1, }); -my $supplierid = $input->param('supplierid') || undef; # we don't want "" or 0 +my $booksellerid = $input->param('booksellerid') || undef; # we don't want "" or 0 my $delay = $input->param('delay'); +my $estimateddeliverydatefrom = $input->param('estimateddeliverydatefrom'); +my $estimateddeliverydateto = $input->param('estimateddeliverydateto'); 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 +if ( $delay and not $delay =~ /^\d{1,3}$/ ) { + push @errors, {delay_digits => 1, bad_delay => $delay}; } -my %supplierlist = GetBooksellersWithLateOrders($delay); +if ($op and $op eq "send_alert"){ + my @ordernums = $input->param("claim_for");# FIXME: Fallback values? + my $err; + eval { + $err = SendAlerts( 'claimacquisition', \@ordernums, $input->param("letter_code") ); # FIXME: Fallback value? + if ( not ref $err or not exists $err->{error} ) { + AddClaim ( $_ ) for @ordernums; + } + }; + if ( $@ ) { + $template->param(error_claim => $@); + } elsif ( ref $err and exists $err->{error} and $err->{error} eq "no_email" ) { + $template->{VARS}->{'error_claim'} = "no_email"; + } else { + $template->{VARS}->{'info_claim'} = 1; + } +} + +my %supplierlist = GetBooksellersWithLateOrders( + $delay, + $branch, + C4::Dates->new($estimateddeliverydatefrom)->output("iso"), + C4::Dates->new($estimateddeliverydateto)->output("iso") +); + my (@sloopy); # supplier loop foreach (keys %supplierlist){ - push @sloopy, (($supplierid and $supplierid eq $_ ) ? + push @sloopy, (($booksellerid and $booksellerid eq $_ ) ? {id=>$_, name=>$supplierlist{$_}, selected=>1} : {id=>$_, name=>$supplierlist{$_}} ) ; } $template->param(SUPPLIER_LOOP => \@sloopy); -$template->param(Supplier=>$supplierlist{$supplierid}) if ($supplierid); -my @lateorders = GetLateOrders($delay,$supplierid,$branch); +$template->param(Supplier=>$supplierlist{$booksellerid}) if ($booksellerid); +$template->param(booksellerid=>$booksellerid) if ($booksellerid); + +my @lateorders = GetLateOrders( + $delay, + $booksellerid, + $branch, + C4::Dates->new($estimateddeliverydatefrom)->output("iso"), + C4::Dates->new($estimateddeliverydateto)->output("iso") +); my $total; foreach (@lateorders){ @@ -100,16 +132,14 @@ foreach (keys %$letters){ } $template->param(letters=>\@letters) if (@letters); -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(ERROR_LOOP => \@errors) if (@errors); $template->param( lateorders => \@lateorders, delay => $delay, + estimateddeliverydatefrom => $estimateddeliverydatefrom, + estimateddeliverydateto => $estimateddeliverydateto, total => $total, intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"), + DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), ); output_html_with_http_headers $input, $cookie, $template->output;