summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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.html10
-rw-r--r--httemplate/view/cust_main/billing.html6
5 files changed, 30 insertions, 0 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index a2436aa..87e5838 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -1718,6 +1718,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 8d54326..b092063 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -1664,6 +1664,7 @@ sub tables_hashref {
'invoice_attn', 'varchar', 'NULL', $char_d, '', '',
'invoice_ship_address', 'char', 'NULL', 1, '', '',
'postal_invoice', '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 4c82d10..915cb33 100644
--- a/FS/FS/cust_pay.pm
+++ b/FS/FS/cust_pay.pm
@@ -241,6 +241,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 } )
@@ -650,6 +652,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 4dddb83..d989274 100644
--- a/httemplate/edit/cust_main/billing.html
+++ b/httemplate/edit/cust_main/billing.html
@@ -105,6 +105,16 @@
box_first => 1,
&>
+% if ( $conf->config_bool('allow_payment_receipt_noemail', $cust_main->agentnum) ) {
+ <& /elements/tr-checkbox.html,
+ field => 'paymentreceipt_noemail',
+ label => emt('Do not send email payment receipts'),
+ value => 'Y',
+ curr_value => $cust_main->paymentreceipt_noemail,
+ box_first => 1,
+ &>
+% }
+
<& /elements/tr-checkbox.html,
field => 'message_noemail',
label => emt('Do not send other email notices'),
diff --git a/httemplate/view/cust_main/billing.html b/httemplate/view/cust_main/billing.html
index e5e91fd..766b17e 100644
--- a/httemplate/view/cust_main/billing.html
+++ b/httemplate/view/cust_main/billing.html
@@ -167,6 +167,12 @@ set_display_recurring(<% encode_json({'display_recurring' => [ $cust_main->displ
<TD><% $cust_main->invoice_noemail ? $refused : $allowed %></TD>
% }
</TR>
+% if ( $conf->config_bool('allow_payment_receipt_noemail', $cust_main->agentnum) ) {
+<TR>
+ <TH ALIGN="right"><% mt('Email payment receipts') |h %></TH>
+ <TD><% $cust_main->paymentreceipt_noemail ? $refused : $allowed %></TD>
+</TR>
+% }
<TR>
<TH ALIGN="right"><% mt('Other email notices') |h %></TH>
<TD>