summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2009-04-07 18:15:17 +0000
committerivan <ivan>2009-04-07 18:15:17 +0000
commit0343b90e15a5ad438ee572127d338f3d518f4185 (patch)
tree26c1655904097b1fd2b32c6a67b0b344c4a84fe2
parenta7d43c49b39236710aca367c6eb2d53defd62686 (diff)
truncate long labels that are TOO long... RT#3519
-rw-r--r--FS/FS/svc_acct.pm9
1 files changed, 6 insertions, 3 deletions
diff --git a/FS/FS/svc_acct.pm b/FS/FS/svc_acct.pm
index 6b7236f53..c92c32437 100644
--- a/FS/FS/svc_acct.pm
+++ b/FS/FS/svc_acct.pm
@@ -470,9 +470,12 @@ history records.
sub label_long {
my $self = shift;
- ( $self->finger =~ /\S/ )
- ? $self->finger. ' <'.$self->label(@_).'>'
- : $self->label(@_);
+ my $label = $self->label(@_);
+ my $finger = $self->finger;
+ return $label unless $finger =~ /\S/;
+ my $maxlen = 40 - length($label) - length($self->cust_svc->part_svc->svc);
+ $finger = substr($finger, 0, $maxlen-3).'...' if length($finger) > $maxlen;
+ "$finger <$label>";
}
=item insert [ , OPTION => VALUE ... ]