X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FCsvImport%2FOrder.pm;h=21273347b95064e3279b7c99e94fa69a2bdc34b4;hb=aa63ebae1c0a758ec438c594acb328b1f0e5e001;hp=6ee6ca18d3a54185659ed2cd4b65ad7e173ffee6;hpb=f7c018334a07ee00579f923422ab03bd0a277750;p=kivitendo-erp.git diff --git a/SL/Controller/CsvImport/Order.pm b/SL/Controller/CsvImport/Order.pm index 6ee6ca18d..21273347b 100644 --- a/SL/Controller/CsvImport/Order.pm +++ b/SL/Controller/CsvImport/Order.pm @@ -285,21 +285,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 { @@ -477,6 +462,11 @@ sub check_part { return 0; } + if ($self->parts_by->{id}->{ $object->parts_id }->obsolete) { + push @{ $entry->{errors} }, $::locale->text('Error: Part is obsolete'); + return 0; + } + return 1; } @@ -666,22 +656,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} }; - if (!$entry->{object}->ordnumber) { - my $number = SL::TransNumber->new(type => 'sales_order', - save => 1); - $entry->{object}->ordnumber($number->create_unique()); - } - - 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 {