show 60 chars on typeset invoices but only 32 on plaintext, RT#3905
authorivan <ivan>
Wed, 15 Apr 2009 02:29:36 +0000 (02:29 +0000)
committerivan <ivan>
Wed, 15 Apr 2009 02:29:36 +0000 (02:29 +0000)
FS/FS/cust_bill.pm

index 408da99..071b89c 100644 (file)
@@ -2280,7 +2280,7 @@ sub print_generic {
   
     # credits
     my $credittotal = 0;
-    foreach my $credit ( $self->_items_credits ) {
+    foreach my $credit ( $self->_items_credits('trim_len'=>60) ) {
 
       my $total;
       $total->{'total_item'} = &$escape_function($credit->{'description'});
@@ -2302,10 +2302,13 @@ sub print_generic {
         push @total_items, $total;
       }
 
-      push @buf, [ $credit->{'description'}, $money_char.$credit->{'amount'} ];
-
     }
     $invoice_data{'credittotal'} = sprintf('%.2f', $credittotal);
+
+    #credits (again)
+    foreach my $credit ( $self->_items_credits('trim_len'=>32) ) {
+      push @buf, [ $credit->{'description'}, $money_char.$credit->{'amount'} ];
+    }
   
     # payments
     my $paymenttotal = 0;
@@ -2918,7 +2921,8 @@ sub _items_cust_bill_pkg {
 }
 
 sub _items_credits {
-  my $self = shift;
+  my( $self, %opt ) = @_;
+  my $trim_len = $opt{'trim_len'} || 60;
 
   my @b;
   #credits
@@ -2926,7 +2930,7 @@ sub _items_credits {
 
     #something more elaborate if $_->amount ne $_->cust_credit->credited ?
 
-    my $reason = substr($_->cust_credit->reason,0,32);
+    my $reason = substr($_->cust_credit->reason, 0, $trim_len);
     $reason .= '...' if length($reason) < length($_->cust_credit->reason);
     $reason = " ($reason) " if $reason;