diff options
author | ivan <ivan> | 2009-10-23 01:41:28 +0000 |
---|---|---|
committer | ivan <ivan> | 2009-10-23 01:41:28 +0000 |
commit | 3517ebdcb1d425dc7aa8ddc9236ce14834a9924e (patch) | |
tree | beaa312f46177ca18771d9f55c505281a0154fcc /FS/FS/cust_pkg.pm | |
parent | e0cfc4fdd26c8bf42ba52763dc29e451792b2976 (diff) |
add cust_bill-consolidate_services config to collapse multiple phone numbers (or whatever) into as few lines as possible on invoices, RT#5223
Diffstat (limited to 'FS/FS/cust_pkg.pm')
-rw-r--r-- | FS/FS/cust_pkg.pm | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index e839eb9..fc44540 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -1881,7 +1881,18 @@ sub _labels_short { if ( $num > $max_same_services ) { push @labels, "$label ($num)"; } else { - push @labels, map { "$label: $_" } @values; + if ( $conf->exists('cust_bill-consolidate_services') ) { + # push @labels, "$label: ". join(', ', @values); + while ( @values ) { + my $detail = "$label: "; + $detail .= shift(@values). ', ' + while @values && length($detail.$values[0]) < 78; + $detail =~ s/, $//; + push @labels, $detail; + } + } else { + push @labels, map { "$label: $_" } @values; + } } } |