truncate long labels that are TOO long... RT#3519
authorivan <ivan>
Tue, 7 Apr 2009 18:15:15 +0000 (18:15 +0000)
committerivan <ivan>
Tue, 7 Apr 2009 18:15:15 +0000 (18:15 +0000)
FS/FS/svc_acct.pm

index 7bcd0e7..9d14b84 100644 (file)
@@ -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 ... ]