WebshopApi: locales
[kivitendo-erp.git] / modules / override / PDF / Table.pm
index fd83d04..5934fcb 100644 (file)
@@ -129,8 +129,8 @@ sub text_block
     # Check if any text to display
     unless( defined( $text) and length($text) > 0 )
     {
-        carp "Warning: No input text found. Trying to add dummy '-' and not to break everything.\n";
-        $text = '-';
+        carp "Warning: No input text found. Trying to add dummy '-' and not to break everything.\n";
+        $text = ' ';
     }
 
     # Strip any <CR> and Split the text into paragraphs
@@ -456,7 +456,7 @@ sub table
 
     for( my $row_idx = 0; $row_idx < scalar(@$data) ; $row_idx++ )
     {
-        push @header_row_widths, [] if $row_idx < $header_props->{num_header_rows};
+        #push @header_row_widths, [] if $row_idx < $header_props->{num_header_rows};
 
         my $column_widths = []; #holds the width of each column
         # Init the height for this row
@@ -491,8 +491,12 @@ sub table
                 $rows_height->[$row_idx] = $cell_font_size;
             }
 
+            if (!defined $data->[$row_idx][$column_idx]) {
+              $data->[$row_idx][$column_idx] = ' ';
+            }
+
             # This should fix a bug with very long words like serial numbers etc.
-            if( $max_word_len > 0 )
+            if( $max_word_len > 0 && $data->[$row_idx][$column_idx])
             {
                 $data->[$row_idx][$column_idx] =~ s#(\S{$max_word_len})(?=\S)#$1 #g;
             }
@@ -584,11 +588,9 @@ sub table
 
             if( ref $header_props and $header_props->{'repeat'})
             {
-                for my $idx (0 .. $header_props->{num_header_rows} - 1) {
-                  unshift @$data,           [ @{ $header_rows[$idx]      } ];
-                  unshift @$row_col_widths, [ @{ $header_row_widths[$idx] } ];
-                  unshift @$rows_height,    $header_row_heights[$idx];
-                }
+                unshift @$data,           @header_rows;
+                unshift @$row_col_widths, @header_row_widths;
+                unshift @$rows_height,    @header_row_heights;
                 $remaining_header_rows = $header_props->{num_header_rows};
             }
         }
@@ -650,7 +652,7 @@ sub table
             # Added to resolve infite loop bug with returned undef values
             for(my $d = 0; $d < scalar(@{$record}) ; $d++)
             { 
-                $record->[$d] = '-' unless( defined $record->[$d]); 
+                $record->[$d] = ' ' unless( defined $record->[$d]);
             }
 
             # Choose colors for this row