summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Burger <burgerc@freeside.biz>2018-11-15 11:37:27 -0500
committerChristopher Burger <burgerc@freeside.biz>2018-11-16 12:54:53 -0500
commitd34861c4d32675dac5f0405f078adddb35d4c863 (patch)
tree2e6a5a85203905c2d4d321b555c46281c91bc650
parent4b16a3f9fea9053a401d554af6ebb914407a833f (diff)
RT# 80138 - Added config option to display/edit customer option to send or not send payment receipts
Conflicts: FS/FS/Schema.pm httemplate/edit/cust_main/billing.html httemplate/view/cust_main/billing.html
-rw-r--r--FS/FS/Conf.pm9
-rw-r--r--FS/FS/Schema.pm1
-rw-r--r--FS/FS/cust_pay.pm4
-rw-r--r--httemplate/edit/cust_main/billing.html14
-rw-r--r--httemplate/view/cust_main/billing.html8
5 files changed, 36 insertions, 0 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 157fbb6be..597e2c945 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -1839,6 +1839,15 @@ and customer address. Include units.',
},
{
+ 'key' => 'allow_payment_receipt_noemail',
+ 'section' => 'notification',
+ 'description' => 'Add option on customer edit/view page to disable emailing of payment receipts. If this option is set to NO it will override customer specific option, so when set to NO system will not check for payment_receipt_noemail option at customer level.',
+ 'type' => 'checkbox',
+ 'per_agent' => 1,
+ 'agent_bool' => 1,
+ },
+
+ {
'key' => 'payment_receipt',
'section' => 'notification',
'description' => 'Send payment receipts.',
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 2168c4c39..a804b12a0 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -1219,6 +1219,7 @@ sub tables_hashref {
'bill_locationnum', 'int', 'NULL', '', '', '',
'ship_locationnum', 'int', 'NULL', '', '', '',
'invoice_ship_address', 'char', 'NULL', 1, '', '',
+ 'paymentreceipt_noemail', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'custnum',
'unique' => [ [ 'agentnum', 'agent_custid' ] ],
diff --git a/FS/FS/cust_pay.pm b/FS/FS/cust_pay.pm
index 67f4b297d..61e5ea387 100644
--- a/FS/FS/cust_pay.pm
+++ b/FS/FS/cust_pay.pm
@@ -227,6 +227,8 @@ sub insert {
local $FS::UID::AutoCommit = 0;
my $dbh = dbh;
+ my $conf = new FS::Conf;
+
my $cust_bill;
if ( $self->invnum ) {
$cust_bill = qsearchs('cust_bill', { 'invnum' => $self->invnum } )
@@ -652,6 +654,8 @@ sub send_receipt {
return '' unless $conf->config_bool('payment_receipt', $cust_main->agentnum);
+ return '' if ($conf->config_bool('allow_payment_receipt_noemail', $cust_main->agentnum) && $cust_main->paymentreceipt_noemail);
+
my @invoicing_list = $cust_main->invoicing_list_emailonly;
return '' unless @invoicing_list;
diff --git a/httemplate/edit/cust_main/billing.html b/httemplate/edit/cust_main/billing.html
index 135f636cd..858f906dd 100644
--- a/httemplate/edit/cust_main/billing.html
+++ b/httemplate/edit/cust_main/billing.html
@@ -516,6 +516,20 @@
</TD>
</TR>
+% if ( $conf->config_bool('allow_payment_receipt_noemail', $cust_main->agentnum) ) {
+ <TR>
+ <TD WIDTH="608" COLSPAN="2"><INPUT TYPE="checkbox" NAME="paymentreceipt_noemail" VALUE="Y" <%
+
+ ( $cust_main->paymentreceipt_noemail eq 'Y' )
+ ? 'CHECKED'
+ : ''
+
+ %>> <% mt('Do not send email payment receipts') |h %>
+
+ </TD>
+ </TR>
+% }
+
% unless ( $conf->exists('cust-email-high-visibility')) {
<TR>
<TD ALIGN="right" WIDTH="200">
diff --git a/httemplate/view/cust_main/billing.html b/httemplate/view/cust_main/billing.html
index aeebc5ab2..ddc971307 100644
--- a/httemplate/view/cust_main/billing.html
+++ b/httemplate/view/cust_main/billing.html
@@ -304,6 +304,14 @@ set_display_recurring(<% encode_json({'display_recurring' => [ $cust_main->displ
<% $cust_main->invoice_noemail ? $no : $yes %>
</TD>
</TR>
+% if ( $conf->config_bool('allow_payment_receipt_noemail', $cust_main->agentnum) ) {
+<TR>
+ <TD ALIGN="right"><% mt('Email payment receipts') |h %></TD>
+ <TD BGCOLOR="#ffffff">
+ <% $cust_main->paymentreceipt_noemail ? $no : $yes %>
+ </TD>
+</TR>
+% }
% unless ( $conf->exists('cust-email-high-visibility')) {
<TR>
<TD ALIGN="right"><% mt('Email address(es)') |h %></TD>