projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e0cfc4f
)
add cust_bill-consolidate_services config to collapse multiple phone numbers (or...
author
ivan
<ivan>
Fri, 23 Oct 2009 01:41:28 +0000
(
01:41
+0000)
committer
ivan
<ivan>
Fri, 23 Oct 2009 01:41:28 +0000
(
01:41
+0000)
FS/FS/Conf.pm
patch
|
blob
|
history
FS/FS/cust_pkg.pm
patch
|
blob
|
history
diff --git
a/FS/FS/Conf.pm
b/FS/FS/Conf.pm
index
f0e2f45
..
4a79131
100644
(file)
--- a/
FS/FS/Conf.pm
+++ b/
FS/FS/Conf.pm
@@
-2902,6
+2902,13
@@
worry that config_items is freeside-specific and icky.
},
{
},
{
+ 'key' => 'cust_bill-consolidate_services',
+ 'section' => 'billing',
+ 'description' => 'Consolidate service display into fewer lines on invoices rather than one per service.',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'suspend_email_admin',
'section' => '',
'description' => 'Destination admin email address to enable suspension notices',
'key' => 'suspend_email_admin',
'section' => '',
'description' => 'Destination admin email address to enable suspension notices',
diff --git
a/FS/FS/cust_pkg.pm
b/FS/FS/cust_pkg.pm
index
e839eb9
..
fc44540
100644
(file)
--- 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 {
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;
+ }
}
}
}
}