]> wagnertech.de Git - mfinanz.git/blobdiff - SL/ReportGenerator.pm
Beim Umwandeln von Auftrag in Rechnung wurden die Zahlungsbedingungen des Kunden...
[mfinanz.git] / SL / ReportGenerator.pm
index cdcf18fabf782b1ed376790e7db7b2b4653acf1c..617a27474aa192432bf661e9477cf0ffc40083a6 100644 (file)
@@ -48,9 +48,11 @@ sub new {
 
   $self->{data_present} = 0;
 
+  bless $self, $type;
+
   $self->set_options(@_) if (@_);
 
-  return bless $self, $type;
+  return $self;
 }
 
 sub set_columns {
@@ -229,7 +231,7 @@ sub get_visible_columns {
   my $self   = shift;
   my $format = shift;
 
-  return grep { my $c = $self->{columns}->{$_}; $c && $c->{visible} && (($c->{visible} == 1) || ($c->{visible} =~ /${format}/i)) } @{ $self->{column_order} };
+  return grep { my $c = $self->{columns}->{$_}; $c && $c->{visible} && (($c->{visible} == 1) || ($c->{visible} =~ /\Q${format}\E/i)) } @{ $self->{column_order} };
 }
 
 sub html_format {
@@ -266,20 +268,33 @@ sub prepare_html_content {
   }
 
   my ($outer_idx, $inner_idx) = (0, 0);
+  my $next_border_top;
   my @rows;
 
   foreach my $row_set (@{ $self->{data} }) {
     if ('HASH' eq ref $row_set) {
+      if ($row_set->{type} eq 'separator') {
+        if (! scalar @rows) {
+          $next_border_top = 1;
+        } else {
+          $rows[-1]->{BORDER_BOTTOM} = 1;
+        }
+
+        next;
+      }
+
       my $row_data = {
         'IS_CONTROL'      => 1,
-        'IS_SEPARATOR'    => $row_set->{type} eq 'separator',
         'IS_COLSPAN_DATA' => $row_set->{type} eq 'colspan_data',
         'NUM_COLUMNS'     => scalar @visible_columns,
+        'BORDER_TOP'      => $next_border_top,
         'data'            => $row_set->{data},
       };
 
       push @rows, $row_data;
 
+      $next_border_top = 0;
+
       next;
     }
 
@@ -304,9 +319,12 @@ sub prepare_html_content {
         'outer_idx'     => $outer_idx,
         'outer_idx_odd' => $outer_idx % 2,
         'inner_idx'     => $inner_idx,
+        'BORDER_TOP'    => $next_border_top,
       };
 
       push @rows, $row_data;
+
+      $next_border_top = 0;
     }
   }
 
@@ -342,7 +360,7 @@ sub generate_html_content {
   my $self      = shift;
   my $variables = $self->prepare_html_content();
 
-  return $self->{form}->parse_html_template2('report_generator/html_report', $variables);
+  return $self->{form}->parse_html_template('report_generator/html_report', $variables);
 }
 
 sub verify_paper_size {