X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_pay.pm;h=6dad3d702d0ba0e304bfaf9f7eb1556b81889356;hb=055fa6decdbd89e00f2b6e3faf77b068eea38c93;hp=5e5cec78dbbecf68b1e427d2c7d5509b1d1cb420;hpb=5f38c4055b82da17afabf6f65b0afc951de641fa;p=freeside.git diff --git a/FS/FS/cust_pay.pm b/FS/FS/cust_pay.pm index 5e5cec78d..6dad3d702 100644 --- a/FS/FS/cust_pay.pm +++ b/FS/FS/cust_pay.pm @@ -446,24 +446,31 @@ sub send_receipt { my $conf = new FS::Conf; + return '' unless $conf->exists('payment_receipt'); + my @invoicing_list = $cust_main->invoicing_list_emailonly; return '' unless @invoicing_list; $cust_bill ||= ($cust_main->cust_bill)[-1]; #rather inefficient though? + my $error = ''; + if ( ( exists($opt->{'manual'}) && $opt->{'manual'} ) - || ! $conf->exists('invoice_html_statement') # XXX msg_template + || ! $conf->exists('invoice_html_statement') || ! $cust_bill - ) { + ) + { - my $error = ''; - - if( $conf->exists('payment_receipt_msgnum') ) { + if ( $conf->exists('payment_receipt_msgnum') + && $conf->config('payment_receipt_msgnum') + ) + { my $msg_template = FS::msg_template->by_key($conf->config('payment_receipt_msgnum')); $error = $msg_template->send('cust_main'=> $cust_main, 'object'=> $self); - } - elsif ( $conf->exists('payment_receipt_email') ) { + + } elsif ( $conf->exists('payment_receipt_email') ) { + my $receipt_template = new Text::Template ( TYPE => 'ARRAY', SOURCE => [ map "$_\n", $conf->config('payment_receipt_email') ], @@ -506,22 +513,27 @@ sub send_receipt { 'body' => [ $receipt_template->fill_in( HASH => \%fill_in ) ], ); - } - else { # no payment_receipt_msgnum or payment_receipt_email + } else { - my $queue = new FS::queue { - 'paynum' => $self->paynum, - 'job' => 'FS::cust_bill::queueable_email', - }; + warn "payment_receipt is on, but no payment_receipt_msgnum or invoice_html_statement is configured\n"; - $queue->insert( - 'invnum' => $cust_bill->invnum, - 'template' => 'statement', - ); } + + } else { #not manual + + my $queue = new FS::queue { + 'paynum' => $self->paynum, + 'job' => 'FS::cust_bill::queueable_email', + }; + + $error = $queue->insert( + 'invnum' => $cust_bill->invnum, + 'template' => 'statement', + ); + + } warn "send_receipt: $error\n" if $error; - } #$opt{manual} || no invoice_html_statement || customer has no invoices } =item cust_bill_pay