From: Christopher Burger Date: Thu, 15 Nov 2018 16:37:27 +0000 (-0500) Subject: RT# 80138 - Added config option to display/edit customer option to send or not send... X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;ds=sidebyside;h=a8944edbf9043e38df231ad6495f375f8655b585;p=freeside.git RT# 80138 - Added config option to display/edit customer option to send or not send payment receipts --- diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index a2436aacd..87e5838c0 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 8d54326af..b092063e8 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 4c82d106e..915cb3303 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 4dddb831a..d98927488 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 e5e91fdbb..766b17ebb 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 <% $cust_main->invoice_noemail ? $refused : $allowed %> % } +% if ( $conf->config_bool('allow_payment_receipt_noemail', $cust_main->agentnum) ) { + + <% mt('Email payment receipts') |h %> + <% $cust_main->paymentreceipt_noemail ? $refused : $allowed %> + +% } <% mt('Other email notices') |h %>