summaryrefslogtreecommitdiff
path: root/FS/FS/Template_Mixin.pm
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2014-05-09 12:32:05 -0700
committerMark Wells <mark@freeside.biz>2014-05-09 12:32:05 -0700
commit711a25573ac5eace7e26f757b7157c558c873eb8 (patch)
treea68371c30504d82bd0ded44cc8fd211658d48006 /FS/FS/Template_Mixin.pm
parent1155faa2bb6e4b4b9fe4f37ff43b7d7fc5bb1fa1 (diff)
improve late fee descriptions, #25899
Diffstat (limited to 'FS/FS/Template_Mixin.pm')
-rw-r--r--FS/FS/Template_Mixin.pm18
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;