]> wagnertech.de Git - kivitendo-erp.git/blobdiff - SL/ReportGenerator.pm
Fehler beim Laden von Buchungen, wenn Konto nicht mit einer Steuer verknüpft ist
[kivitendo-erp.git] / SL / ReportGenerator.pm
index 2810006027a0f10c848e4abc2b28640909828cc7..b02ab35ef7d093abb0ae5f16f3540419be9a5739 100644 (file)
@@ -48,9 +48,11 @@ sub new {
 
   $self->{data_present} = 0;
 
 
   $self->{data_present} = 0;
 
+  bless $self, $type;
+
   $self->set_options(@_) if (@_);
 
   $self->set_options(@_) if (@_);
 
-  return bless $self, $type;
+  return $self;
 }
 
 sub set_columns {
 }
 
 sub set_columns {
@@ -107,7 +109,14 @@ sub add_data {
       $self->{form}->error('Incorrect usage -- expecting hash or array ref');
     }
 
       $self->{form}->error('Incorrect usage -- expecting hash or array ref');
     }
 
+    my @columns_with_default_alignment = grep { defined $self->{columns}->{$_}->{align} } keys %{ $self->{columns} };
+
     foreach my $row (@{ $row_set }) {
     foreach my $row (@{ $row_set }) {
+      foreach my $column (@columns_with_default_alignment) {
+        $row->{$column}          ||= { };
+        $row->{$column}->{align}   = $self->{columns}->{$column}->{align} unless (defined $row->{$column}->{align});
+      }
+
       foreach my $field (qw(data link)) {
         map { $row->{$_}->{$field} = [ $row->{$_}->{$field} ] if (ref $row->{$_}->{$field} ne 'ARRAY') } keys %{ $row };
       }
       foreach my $field (qw(data link)) {
         map { $row->{$_}->{$field} = [ $row->{$_}->{$field} ] if (ref $row->{$_}->{$field} ne 'ARRAY') } keys %{ $row };
       }
@@ -222,7 +231,7 @@ sub get_visible_columns {
   my $self   = shift;
   my $format = shift;
 
   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 {
 }
 
 sub html_format {