[freeside-commits] branch FREESIDE_3_BRANCH updated. adc8618023c553aaa81bdd7acd25dc86d8867eb4
Ivan
ivan at 420.am
Thu Apr 27 16:46:25 PDT 2017
The branch, FREESIDE_3_BRANCH has been updated
via adc8618023c553aaa81bdd7acd25dc86d8867eb4 (commit)
from d61184afa40f5b99b7b27816d7f372588b215bd8 (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 adc8618023c553aaa81bdd7acd25dc86d8867eb4
Author: Ivan Kohler <ivan at freeside.biz>
Date: Thu Apr 27 16:46:20 2017 -0700
email referring customers on cancellation, RT#75756
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index de4d1b8..07042e5 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -2606,6 +2606,21 @@ and customer address. Include units.',
},
{
+ 'key' => 'cancel_msgnum-referring_cust-pkg_class',
+ 'section' => 'notification',
+ 'description' => 'Enable cancellation messages to the referring customer for these package classes.',
+ 'type' => 'select-pkg_class',
+ 'multiple' => 1,
+ },
+
+ {
+ 'key' => 'cancel_msgnum-referring_cust',
+ 'section' => 'notification',
+ 'description' => 'Template to use for cancellation emails sent to the referring customer.',
+ %msg_template_options,
+ },
+
+ {
'key' => 'require_cardname',
'section' => 'billing',
'description' => 'Require an "Exact name on card" to be entered explicitly; don\'t default to using the first and last name.',
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index 98390c7..ef25c24 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -1048,18 +1048,22 @@ sub cancel {
$dbh->commit or die $dbh->errstr if $oldAutoCommit;
return '' if $date; #no errors
- my @invoicing_list = grep { $_ !~ /^(POST|FAX)$/ } $self->cust_main->invoicing_list;
- if ( !$options{'quiet'} &&
- $conf->exists('emailcancel', $self->cust_main->agentnum) &&
- @invoicing_list ) {
- my $msgnum = $conf->config('cancel_msgnum', $self->cust_main->agentnum);
- my $error = '';
+ my $cust_main = $self->cust_main;
+
+ my @invoicing_list = $cust_main->invoicing_list_emailonly;
+ if ( !$options{'quiet'}
+ && $conf->config_bool('emailcancel', $cust_main->agentnum)
+ && @invoicing_list
+ )
+ {
+ my $msgnum = $conf->config('cancel_msgnum', $cust_main->agentnum);
if ( $msgnum ) {
my $msg_template = qsearchs('msg_template', { msgnum => $msgnum });
- $error = $msg_template->send( 'cust_main' => $self->cust_main,
- 'object' => $self );
- }
- else {
+ my $error = $msg_template->send(
+ 'cust_main' => $cust_main,
+ 'object' => $self,
+ );
+ } else {
$error = send_email(
'from' => $conf->invoice_from_full( $self->cust_main->agentnum ),
'to' => \@invoicing_list,
@@ -1072,6 +1076,23 @@ sub cancel {
#should this do something on errors?
}
+ my %pkg_class = map { $_=>1 }
+ $conf->config('cancel_msgnum-referring_cust-pkg_class');
+ my $ref_msgnum = $conf->config('cancel_msgnum-referring_cust');
+ if ( !$options{'quiet'}
+ && $cust_main->referral_custnum
+ && $pkg_class{ $self->classnum }
+ && $ref_msgnum
+ )
+ {
+ my $msg_template = qsearchs('msg_template', { msgnum => $ref_msgnum });
+ my $error = $msg_template->send(
+ 'cust_main' => $cust_main->referring_cust_main,
+ 'object' => $self,
+ );
+ #should this do something on errors?
+ }
+
''; #no errors
}
-----------------------------------------------------------------------
Summary of changes:
FS/FS/Conf.pm | 15 +++++++++++++++
FS/FS/cust_pkg.pm | 41 +++++++++++++++++++++++++++++++----------
2 files changed, 46 insertions(+), 10 deletions(-)
More information about the freeside-commits
mailing list