summaryrefslogtreecommitdiff
path: root/FS/FS/cust_pay.pm
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2015-09-25 17:06:44 -0500
committerMark Wells <mark@freeside.biz>2015-11-09 16:51:05 -0800
commitdc9b5a11c48ebdbcf907b6c009fb3f2a36847b05 (patch)
tree3799dac16fff113eb728624d6e5f375e9a30edeb /FS/FS/cust_pay.pm
parent7133b592b4bd28a9aa887f716cd7dc67a8bbdc7a (diff)
RT#37908: Convert existing email-sending code to use common interface [switched jobs to use cust_msg::process_send, bug fix to http]
Diffstat (limited to 'FS/FS/cust_pay.pm')
-rw-r--r--FS/FS/cust_pay.pm69
1 files changed, 14 insertions, 55 deletions
diff --git a/FS/FS/cust_pay.pm b/FS/FS/cust_pay.pm
index e34e3b2..4d06862 100644
--- a/FS/FS/cust_pay.pm
+++ b/FS/FS/cust_pay.pm
@@ -672,72 +672,31 @@ sub send_receipt {
my %substitutions = ();
$substitutions{invnum} = $opt->{cust_bill}->invnum if $opt->{cust_bill};
- my $queue = new FS::queue {
- 'job' => 'FS::Misc::process_send_email',
- 'paynum' => $self->paynum,
- 'custnum' => $cust_main->custnum,
- };
- $error = $queue->insert(
- FS::msg_template->by_key($msgnum)->prepare(
+ my $msg_template = qsearchs('msg_template',{ msgnum => $msgnum});
+ unless ($msg_template) {
+ warn "send_receipt could not load msg_template";
+ return;
+ }
+
+ my $cust_msg = $msg_template->prepare(
'cust_main' => $cust_main,
'object' => $self,
'from_config' => 'payment_receipt_from',
'substitutions' => \%substitutions,
- ),
- 'msgtype' => 'receipt', # override msg_template's default
- );
-
- } elsif ( $conf->exists('payment_receipt_email') ) {
-
- my $receipt_template = new Text::Template (
- TYPE => 'ARRAY',
- SOURCE => [ map "$_\n", $conf->config('payment_receipt_email') ],
- ) or do {
- warn "can't create payment receipt template: $Text::Template::ERROR";
- return '';
- };
-
- my $payby = $self->payby;
- my $payinfo = $self->payinfo;
- $payby =~ s/^BILL$/Check/ if $payinfo;
- if ( $payby eq 'CARD' || $payby eq 'CHEK' ) {
- $payinfo = $self->paymask
- } else {
- $payinfo = $self->decrypt($payinfo);
- }
- $payby =~ s/^CHEK$/Electronic check/;
-
- my %fill_in = (
- 'date' => time2str("%a %B %o, %Y", $self->_date),
- 'name' => $cust_main->name,
- 'paynum' => $self->paynum,
- 'paid' => sprintf("%.2f", $self->paid),
- 'payby' => ucfirst(lc($payby)),
- 'payinfo' => $payinfo,
- 'balance' => $cust_main->balance,
- 'company_name' => $conf->config('company_name', $cust_main->agentnum),
+ 'msgtype' => 'receipt',
);
-
- $fill_in{'invnum'} = $opt->{cust_bill}->invnum if $opt->{cust_bill};
-
- if ( $opt->{'cust_pkg'} ) {
- $fill_in{'pkg'} = $opt->{'cust_pkg'}->part_pkg->pkg;
- #setup date, other things?
+ $error = $cust_msg ? $cust_msg->insert : 'error preparing msg_template';
+ if ($error) {
+ warn "send_receipt: $error";
+ return;
}
my $queue = new FS::queue {
- 'job' => 'FS::Misc::process_send_generated_email',
+ 'job' => 'FS::cust_msg::process_send',
'paynum' => $self->paynum,
'custnum' => $cust_main->custnum,
- 'msgtype' => 'receipt',
};
- $error = $queue->insert(
- 'from' => $conf->invoice_from_full( $cust_main->agentnum ),
- #invoice_from??? well as good as any
- 'to' => \@invoicing_list,
- 'subject' => 'Payment receipt',
- 'body' => [ $receipt_template->fill_in( HASH => \%fill_in ) ],
- );
+ $error = $queue->insert( $cust_msg->custmsgnum );
} else {