CsvImport Aufträge: Keine Aufträge speichern, wenn alle fehlerhaft sind.
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Tue, 10 Jan 2017 16:14:12 +0000 (17:14 +0100)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Tue, 10 Jan 2017 16:56:21 +0000 (17:56 +0100)
Dazu die zu speichernden Einträge mit einem leerem Array initialisieren, denn
sonst nimmt die save_objects-Routine aus der Basis-Klasse alle Einträge.
Das war bisher zwar kein Problem, weil auch alle Positionszeilen vorher bei
fehlerhaften Auftragszeilen als fehlerhaft markiert und somit nicht gespeichert
wurden. Diese Markierung ist jetzt überflüssig (extra commit).

SL/Controller/CsvImport/Order.pm

index e6a1fc0..8c3665e 100644 (file)
@@ -672,7 +672,7 @@ sub save_objects {
   my ($self, %params) = @_;
 
   # set order number and collect to save
-  my $objects_to_save;
+  my $objects_to_save = [];
   foreach my $entry (@{ $self->controller->data }) {
     next if $entry->{raw_data}->{datatype} ne $self->_order_column;
     next if @{ $entry->{errors} };