X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/50c2cd313a015bbb249b74fa1dd3690c7e195104..41ec1a254c67a6bbd3ce97b91fb9521876a2e91b:/SL/Controller/CsvImport/Order.pm?ds=inline diff --git a/SL/Controller/CsvImport/Order.pm b/SL/Controller/CsvImport/Order.pm index 8c3665e8b..c3c5c5c87 100644 --- a/SL/Controller/CsvImport/Order.pm +++ b/SL/Controller/CsvImport/Order.pm @@ -255,6 +255,8 @@ sub check_objects { foreach my $entry (@{ $self->controller->data }) { $self->controller->track_progress(progress => $i/$num_data * 100) if $i % 100 == 0; + $entry->{info_data}->{datatype} = $entry->{raw_data}->{datatype}; + if ($entry->{raw_data}->{datatype} eq $self->_order_column) { $self->handle_order($entry); } elsif ($entry->{raw_data}->{datatype} eq $self->_item_column && $entry->{object}->can('part')) { @@ -266,6 +268,11 @@ sub check_objects { $i++; } + $self->add_info_columns($self->_order_column, + { header => $::locale->text('Data type'), method => 'datatype' }); + $self->add_info_columns($self->_item_column, + { header => $::locale->text('Data type'), method => 'datatype' }); + $self->add_info_columns($self->_order_column, { header => $::locale->text('Customer/Vendor'), method => 'vc_name' }); # Todo: access via ->[0] ok? Better: search first order column and use this @@ -285,21 +292,6 @@ sub check_objects { $self->add_items_to_order(); $self->handle_prices_and_taxes(); - - - # If order has errors set error for orderitems as well - my $order_entry; - foreach my $entry (@{ $self->controller->data }) { - # Search first order - if ($entry->{raw_data}->{datatype} eq $self->_order_column) { - $order_entry = $entry; - } elsif ( defined $order_entry - && $entry->{raw_data}->{datatype} eq $self->_item_column - && scalar @{ $order_entry->{errors} } > 0 ) { - push @{ $entry->{errors} }, $::locale->text('Error: Invalid order for this order item'); - } - } - } sub handle_order { @@ -671,16 +663,16 @@ sub handle_prices_and_taxes() { sub save_objects { my ($self, %params) = @_; - # set order number and collect to save - my $objects_to_save = []; + # Collect orders without errors to save. + my $entries_to_save = []; foreach my $entry (@{ $self->controller->data }) { next if $entry->{raw_data}->{datatype} ne $self->_order_column; next if @{ $entry->{errors} }; - push @{ $objects_to_save }, $entry; + push @{ $entries_to_save }, $entry; } - $self->SUPER::save_objects(data => $objects_to_save); + $self->SUPER::save_objects(data => $entries_to_save); } sub _order_column {