diff options
author | Mark Wells <mark@freeside.biz> | 2014-05-09 12:32:05 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2014-05-09 12:32:05 -0700 |
commit | 711a25573ac5eace7e26f757b7157c558c873eb8 (patch) | |
tree | a68371c30504d82bd0ded44cc8fd211658d48006 /FS/FS/Template_Mixin.pm | |
parent | 1155faa2bb6e4b4b9fe4f37ff43b7d7fc5bb1fa1 (diff) |
improve late fee descriptions, #25899
Diffstat (limited to 'FS/FS/Template_Mixin.pm')
-rw-r--r-- | FS/FS/Template_Mixin.pm | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/FS/FS/Template_Mixin.pm b/FS/FS/Template_Mixin.pm index 27817486c..e0ea6ab2f 100644 --- a/FS/FS/Template_Mixin.pm +++ b/FS/FS/Template_Mixin.pm @@ -2291,12 +2291,28 @@ sub _items_fee { } } # otherwise include them all in the main section # XXX what to do when sectioning by location? + + my @ext_desc; + my %base_invnums; # invnum => invoice date + foreach ($cust_bill_pkg->cust_bill_pkg_fee) { + if ($_->base_invnum) { + my $base_bill = FS::cust_bill->by_key($_->base_invnum); + my $base_date = $self->time2str_local('short', $base_bill->_date) + if $base_bill; + $base_invnums{$_->base_invnum} = $base_date || ''; + } + } + foreach (sort keys(%base_invnums)) { + next if $_ == $self->invnum; + push @ext_desc, + $self->mt('from invoice \\#[_1] on [_2]', $_, $base_invnums{$_}); + } push @items, { feepart => $cust_bill_pkg->feepart, amount => sprintf('%.2f', $cust_bill_pkg->setup + $cust_bill_pkg->recur), description => $part_fee->itemdesc_locale($self->cust_main->locale), + ext_description => \@ext_desc # sdate/edate? - # ext_description referencing the base_invnum? }; } @items; |