From b401f6d9ec5b5cd5f19ecd46a678ad8fea0ede6d Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Thu, 21 Dec 2017 12:31:40 -0500 Subject: [PATCH] RT# 29974 - Added ability to show invoice_pay_by_message on total new charges line rather than balance due line --- FS/FS/Template_Mixin.pm | 23 ++++++++++++++++++----- FS/FS/cust_bill.pm | 9 ++------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/FS/FS/Template_Mixin.pm b/FS/FS/Template_Mixin.pm index 7d92d21af..b9f3e9274 100644 --- a/FS/FS/Template_Mixin.pm +++ b/FS/FS/Template_Mixin.pm @@ -1955,6 +1955,23 @@ sub due_date2str { $self->due_date ? $self->time2str_local(shift, $self->due_date) : ''; } +=item invoice_pay_by_msg + + displays the invoice_pay_by_msg or default Please pay by [_1] if empty. + +=cut + +sub invoice_pay_by_msg { + my $self = shift; + my $msg = ''; + my $please_pay_by = + $self->conf->config('invoice_pay_by_msg', $self->agentnum) + || 'Please pay by [_1]'; + $msg .= ' - ' . $self->mt($please_pay_by, $self->due_date2str('short')) . ' '; + + $msg; +} + =item balance_due_msg =cut @@ -1969,11 +1986,7 @@ sub balance_due_msg { # _items_total) and not here # (yes, or if invoice_sections is enabled; this is just for compatibility) if ( $self->due_date ) { - my $please_pay_by = - $self->conf->config('invoice_pay_by_msg', $self->agentnum) - || 'Please pay by [_1]'; - $msg .= ' - ' . $self->mt($please_pay_by, $self->due_date2str('short')). - ' ' + $msg .= $self->invoice_pay_by_msg unless $self->conf->config_bool('invoice_omit_due_date',$self->agentnum); } elsif ( $self->terms ) { $msg .= ' - '. $self->mt($self->terms); diff --git a/FS/FS/cust_bill.pm b/FS/FS/cust_bill.pm index 5ae4f3686..8b94dcc87 100644 --- a/FS/FS/cust_bill.pm +++ b/FS/FS/cust_bill.pm @@ -3450,17 +3450,12 @@ sub _items_total { $total_descr = $self->mt('Total Charges'); } - if ( $conf->exists('invoice_show_prior_due_date') ) { + if ( $conf->exists('invoice_show_prior_due_date') && !$conf->exists('invoice_omit_due_date') ) { # then the due date should be shown with Total New Charges, # and should NOT be shown with the Balance Due message. if ( $self->due_date ) { - $total_descr = join(' ', - $total_descr, - '-', - $self->mt('Please pay by'), - $self->due_date2str('short') - ); + $total_descr .= $self->invoice_pay_by_msg; } elsif ( $self->terms ) { $total_descr = join(' ', $total_descr, -- 2.11.0