summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2009-04-07 18:15:15 +0000
committerivan <ivan>2009-04-07 18:15:15 +0000
commit6ec8ff467b97a07dcf353631809d69485fb9958a (patch)
treee18eb2d5a0c3adf8331b06738b6fe30ba3155376
parent792155f15ac9c520dac7b72fdbddd894bd2b3133 (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 7bcd0e7d2..9d14b84af 100644
--- a/FS/FS/svc_acct.pm
+++ b/FS/FS/svc_acct.pm
@@ -459,9 +459,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 ... ]