X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FBackgroundJob%2FCreatePeriodicInvoices.pm;h=1b57cbeaf0499f5ea3001bc7c1cf6046de7fb647;hb=a5e4f9ca835489c2250db39f2c3abe6ac4ba04e6;hp=22f9bf985eaa84cb018475bfa4d3b5351ec287f7;hpb=96670fe82a38116ac10592a6ccbd34800f8ad9f8;p=kivitendo-erp.git diff --git a/SL/BackgroundJob/CreatePeriodicInvoices.pm b/SL/BackgroundJob/CreatePeriodicInvoices.pm index 22f9bf985..1b57cbeaf 100644 --- a/SL/BackgroundJob/CreatePeriodicInvoices.pm +++ b/SL/BackgroundJob/CreatePeriodicInvoices.pm @@ -36,7 +36,7 @@ sub run { _log_msg("Periodic invoice configuration ID " . $config->id . " extended through " . $new_end_date->strftime('%d.%m.%Y') . "\n") if $new_end_date; } - my (@new_invoices, @invoices_to_print, @invoices_to_email); + my (@new_invoices, @invoices_to_print, @invoices_to_email, @disabled_orders); _log_msg("Number of configs: " . scalar(@{ $configs})); @@ -63,15 +63,19 @@ sub run { # last; } + # disable one time configs (periodicity is only one time). + my $inactive_ordnumber = $config->disable_one_time_config; + push @disabled_orders, $inactive_ordnumber if $inactive_ordnumber; } - $self->_print_invoice($_) for @invoices_to_print; - $self->_email_invoice($_) for @invoices_to_email; + foreach my $inv ( @invoices_to_print ) { $self->_print_invoice($inv); } + foreach my $inv ( @invoices_to_email ) { $self->_email_invoice($inv); } $self->_send_summary_email( [ map { $_->{invoice} } @new_invoices ], [ map { $_->{invoice} } @invoices_to_print ], [ map { $_->{invoice} } @invoices_to_email ], + \@disabled_orders , ); if (@{ $self->{job_errors} }) { @@ -275,8 +279,8 @@ sub _calculate_dates { } sub _send_summary_email { - my ($self, $posted_invoices, $printed_invoices, $emailed_invoices) = @_; - + my ($self, $posted_invoices, $printed_invoices, $emailed_invoices, + $disabled_orders) = @_; my %config = %::lx_office_conf; return if !$config{periodic_invoices} || !$config{periodic_invoices}->{send_email_to} || !scalar @{ $posted_invoices }; @@ -298,7 +302,8 @@ sub _send_summary_email { my $filename = $email_template || ( (SL::DB::Default->get->templates || "templates/webpages") . "/oe/periodic_invoices_email.txt" ); my %params = ( POSTED_INVOICES => $posted_invoices, PRINTED_INVOICES => $printed_invoices, - EMAILED_INVOICES => $emailed_invoices ); + EMAILED_INVOICES => $emailed_invoices, + DISABLED_ORDERS => $disabled_orders ); my $output; $template->process($filename, \%params, \$output);