X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FCsvImport.pm;h=50b5e4d050b63212e5253d60bac3c36cb376299e;hb=2da5d610ce0aeb43428de82e6b5e79acfb502628;hp=a9df5adfecf42c9988e5a1fcbf0b46339281b6a9;hpb=6f45549b6f3d1f4f178b8799c9997fdc6e1447d0;p=kivitendo-erp.git diff --git a/SL/Controller/CsvImport.pm b/SL/Controller/CsvImport.pm index a9df5adfe..50b5e4d05 100644 --- a/SL/Controller/CsvImport.pm +++ b/SL/Controller/CsvImport.pm @@ -127,12 +127,12 @@ sub action_download_sample { my $csv = Text::CSV_XS->new({ binary => 1, map { ( $_ => $self->profile->get($_) ) } qw(sep_char escape_char quote_char),}); if ($self->worker->is_multiplexed) { - foreach my $ri (keys %{ $self->displayable_columns }) { - $csv->print($file->fh, [ map { $_->{name} } @{ $self->displayable_columns->{$ri} } ]); + foreach my $p (@{ $self->worker->profile }) { + $csv->print($file->fh, [ map { $_->{name} } @{ $self->displayable_columns->{$p->{row_ident}} } ]); $file->fh->print("\r\n"); } - foreach my $ri (keys %{ $self->displayable_columns }) { - $csv->print($file->fh, [ map { $_->{description} } @{ $self->displayable_columns->{$ri} } ]); + foreach my $p (@{ $self->worker->profile }) { + $csv->print($file->fh, [ map { $_->{description} } @{ $self->displayable_columns->{$p->{row_ident}} } ]); $file->fh->print("\r\n"); } } else { @@ -165,16 +165,16 @@ sub action_report { my $pages = {}; $pages->{per_page} = $::form->{per_page} || 20; $pages->{max} = SL::DB::Helper::Paginated::ceil($num_rows, $pages->{per_page}) || 1; - $pages->{cur} = $page < 1 ? 1 + $pages->{page} = $page < 1 ? 1 : $page > $pages->{max} ? $pages->{max} : $page; - $pages->{common} = [ grep { $_->{visible} } @{ SL::DB::Helper::Paginated::make_common_pages($pages->{cur}, $pages->{max}) } ]; + $pages->{common} = [ grep { $_->{visible} } @{ SL::DB::Helper::Paginated::make_common_pages($pages->{page}, $pages->{max}) } ]; $self->{report_numheaders} = $self->{report}->numheaders; my $first_row_header = 0; my $last_row_header = $self->{report_numheaders} - 1; - my $first_row_data = $pages->{per_page} * ($pages->{cur}-1) + $self->{report_numheaders}; - my $last_row_data = min($pages->{per_page} * $pages->{cur}, $num_rows) + $self->{report_numheaders} - 1; + my $first_row_data = $pages->{per_page} * ($pages->{page}-1) + $self->{report_numheaders}; + my $last_row_data = min($pages->{per_page} * $pages->{page}, $num_rows) + $self->{report_numheaders} - 1; $self->{display_rows} = [ $first_row_header .. @@ -387,8 +387,7 @@ sub profile_from_form { } if ($self->type eq 'orders') { - $::form->{settings}->{order_column} = 'Order'; - $::form->{settings}->{item_column} = 'OrderItem'; + $::form->{settings}->{max_amount_diff} = $::form->parse_amount(\%::myconfig, $::form->{settings}->{max_amount_diff}); } delete $::form->{profile}->{id}; @@ -558,7 +557,7 @@ sub save_report_multi { my $row_ident = $self->worker->profile->[$i]->{row_ident}; my $n_info_methods = $info_methods->{$row_ident} ? scalar @{ $info_methods->{$row_ident} } : 0; my $n_methods = $methods->{$row_ident} ? scalar @{ $methods->{$row_ident} } : 0; - + $off1->{$row_ident} = $n_info_methods; $off2->{$row_ident} = $off1->{$row_ident} + $n_methods; } @@ -572,7 +571,7 @@ sub save_report_multi { my $o1 = $off1->{$row_ident}; my $o2 = $off2->{$row_ident}; - + $sth->execute($report->id, $_, $row + $n_header_rows, $data_row->{info_data}{ $info_methods->{$row_ident}->[$_] }) for 0 .. $#{ $info_methods->{$row_ident} }; $sth->execute($report->id, $o1 + $_, $row + $n_header_rows, $data_row->{object}->${ \ $methods->{$row_ident}->[$_] }) for 0 .. $#{ $methods->{$row_ident} }; $sth->execute($report->id, $o2 + $_, $row + $n_header_rows, $data_row->{raw_data}{ $raw_methods->{$row_ident}->[$_] }) for 0 .. $#{ $raw_methods->{$row_ident} };