[freeside-commits] branch FREESIDE_4_BRANCH updated. 68e64cd688ba399ed4d86de5e8f710269a39c76d
Christopher Burger
burgerc at freeside.biz
Thu May 17 07:46:41 PDT 2018
The branch, FREESIDE_4_BRANCH has been updated
via 68e64cd688ba399ed4d86de5e8f710269a39c76d (commit)
via cd4651a02fb2f091ab60a99acbb9fe1324500389 (commit)
from 665b9fb38af2b1309efb91faf863643b1972dc29 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 68e64cd688ba399ed4d86de5e8f710269a39c76d
Author: Christopher Burger <burgerc at freeside.biz>
Date: Wed May 16 12:39:59 2018 -0400
RT# 78131 - added documentation for new method.
diff --git a/FS/FS/cust_pay.pm b/FS/FS/cust_pay.pm
index b0a1e4b12..4c82d106e 100644
--- a/FS/FS/cust_pay.pm
+++ b/FS/FS/cust_pay.pm
@@ -712,7 +712,11 @@ sub send_receipt {
=item send_message_receipt
sends out a message receipt.
-send_message_receipt($cust_main, $msgnum);
+$error = $self->send_message_receipt(
+ 'cust_main' => $cust_main,
+ 'cust_bill' => $opt->{cust_bill},
+ 'msgnum' => $conf->config('payment_receipt_msgnum', $cust_main->agentnum)
+ );
=cut
@@ -727,7 +731,6 @@ sub send_message_receipt {
my %substitutions = ();
$substitutions{invnum} = $cust_bill->invnum if $cust_bill;
-# $substitutions{invnum} = $opt->{cust_bill}->invnum if $opt->{cust_bill};
my $msg_template = qsearchs('msg_template',{ msgnum => $msgnum});
unless ($msg_template) {
commit cd4651a02fb2f091ab60a99acbb9fe1324500389
Author: Christopher Burger <burgerc at freeside.biz>
Date: Tue May 15 13:32:46 2018 -0400
RT78131 - Created new method to send message receipts so code does not have to be duplicated.
diff --git a/FS/FS/cust_pay.pm b/FS/FS/cust_pay.pm
index 5031793ff..b0a1e4b12 100644
--- a/FS/FS/cust_pay.pm
+++ b/FS/FS/cust_pay.pm
@@ -662,53 +662,72 @@ sub send_receipt {
|| ! $cust_bill
)
{
- my $msgnum = $conf->config('payment_receipt_msgnum', $cust_main->agentnum);
- if ( $msgnum ) {
-
- my %substitutions = ();
- $substitutions{invnum} = $opt->{cust_bill}->invnum if $opt->{cust_bill};
-
- 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',
+ $error = $self->send_message_receipt(
+ 'cust_main' => $cust_main,
+ 'cust_bill' => $opt->{cust_bill},
+ 'msgnum' => $conf->config('payment_receipt_msgnum', $cust_main->agentnum)
);
- $error = $cust_msg ? $cust_msg->insert : 'error preparing msg_template';
- if ($error) {
- warn "send_receipt: $error";
- return;
- }
+ #not manual and no noemail flag (here or on the customer)
+ } elsif ( ! $opt->{'noemail'} && ! $cust_main->invoice_noemail ) {
+ # check to see if they want to send specific message template as receipt for auto payments
+ if ( $conf->config('payment_receipt_msgnum_auto', $cust_main->agentnum) ) {
+ $error = $self->send_message_receipt(
+ 'cust_main' => $cust_main,
+ 'cust_bill' => $opt->{cust_bill},
+ 'msgnum' => $conf->config('payment_receipt_msgnum_auto', $cust_main->agentnum),
+ );
+ }
+ else {
my $queue = new FS::queue {
- 'job' => 'FS::cust_msg::process_send',
+ 'job' => 'FS::cust_bill::queueable_email',
'paynum' => $self->paynum,
'custnum' => $cust_main->custnum,
};
- $error = $queue->insert( $cust_msg->custmsgnum );
- } else {
+ my %opt = (
+ 'invnum' => $cust_bill->invnum,
+ 'no_coupon' => 1,
+ );
- warn "payment_receipt is on, but no payment_receipt_msgnum\n";
+ if ( my $mode = $conf->config('payment_receipt_statement_mode') ) {
+ $opt{'mode'} = $mode;
+ } else {
+ # backward compatibility, no good fix for this yet as some people may
+ # still have "invoice_latex_statement" and such options
+ $opt{'template'} = 'statement';
+ $opt{'notice_name'} = 'Statement';
+ }
+ $error = $queue->insert(%opt);
}
- #not manual and no noemail flag (here or on the customer)
- } elsif ( ! $opt->{'noemail'} && ! $cust_main->invoice_noemail ) {
- # check to see if they want to send specific message template as receipt for auto payments
- my $msgnum = $conf->config('payment_receipt_msgnum_auto', $cust_main->agentnum);
+
+ }
+
+ warn "send_receipt: $error\n" if $error;
+}
+
+=item send_message_receipt
+
+sends out a message receipt.
+send_message_receipt($cust_main, $msgnum);
+
+=cut
+
+sub send_message_receipt {
+ my ($self, %opt) = @_;
+ my $cust_main = $opt{'cust_main'};
+ my $cust_bill = $opt{'cust_bill'};
+ my $msgnum = $opt{'msgnum'};
+ my $error = '';
+
if ( $msgnum ) {
my %substitutions = ();
- $substitutions{invnum} = $opt->{cust_bill}->invnum if $opt->{cust_bill};
+ $substitutions{invnum} = $cust_bill->invnum if $cust_bill;
+# $substitutions{invnum} = $opt->{cust_bill}->invnum if $opt->{cust_bill};
my $msg_template = qsearchs('msg_template',{ msgnum => $msgnum});
unless ($msg_template) {
@@ -726,7 +745,7 @@ sub send_receipt {
$error = $cust_msg ? $cust_msg->insert : 'error preparing msg_template';
if ($error) {
warn "send_receipt: $error";
- return;
+ return $error;
}
my $queue = new FS::queue {
@@ -736,36 +755,12 @@ sub send_receipt {
};
$error = $queue->insert( $cust_msg->custmsgnum );
- }
- else {
- my $queue = new FS::queue {
- 'job' => 'FS::cust_bill::queueable_email',
- 'paynum' => $self->paynum,
- 'custnum' => $cust_main->custnum,
- };
-
- my %opt = (
- 'invnum' => $cust_bill->invnum,
- 'no_coupon' => 1,
- );
-
- if ( my $mode = $conf->config('payment_receipt_statement_mode') ) {
- $opt{'mode'} = $mode;
- } else {
- # backward compatibility, no good fix for this yet as some people may
- # still have "invoice_latex_statement" and such options
- $opt{'template'} = 'statement';
- $opt{'notice_name'} = 'Statement';
- }
-
- $error = $queue->insert(%opt);
+ } else {
+ warn "payment_receipt is on, but no payment_receipt_msgnum\n";
+ $error = "payment_receipt is on, but no payment_receipt_msgnum";
}
-
-
- }
-
- warn "send_receipt: $error\n" if $error;
+ return $error;
}
=item cust_bill_pay
-----------------------------------------------------------------------
Summary of changes:
FS/FS/cust_pay.pm | 120 +++++++++++++++++++++++++++---------------------------
1 file changed, 59 insertions(+), 61 deletions(-)
More information about the freeside-commits
mailing list