From: Bernd Bleßmann Date: Fri, 11 Aug 2017 12:14:02 +0000 (+0200) Subject: CsvImport: worker kann Csv-Helper auch mit scalar-ref als Datei aufrufen. X-Git-Tag: release-3.5.4~898 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=daa74212fada8dc02b7373e89954e0b49903fe3c;p=kivitendo-erp.git CsvImport: worker kann Csv-Helper auch mit scalar-ref als Datei aufrufen. Der Csv-Helper kann für die Datendatei auch eine Referenz auf Daten erhalten. Die Basis-Klasse der Worker des CsvImports unterstützt das jetzt auch. Damit kann dann z.B. in den Tests $worker->run auch verwendet werden, wenn der Worker in file eben eine Referenz auf die Csv-Daten enthält. --- diff --git a/SL/Controller/CsvImport/Base.pm b/SL/Controller/CsvImport/Base.pm index 43906bf80..85eb6fa67 100644 --- a/SL/Controller/CsvImport/Base.pm +++ b/SL/Controller/CsvImport/Base.pm @@ -34,7 +34,7 @@ sub run { $self->controller->track_progress(phase => 'parsing csv', progress => 0); my $profile = $self->profile; - $self->csv(SL::Helper::Csv->new(file => $self->file->file_name, + $self->csv(SL::Helper::Csv->new(file => ('SCALAR' eq ref $self->file)? $self->file: $self->file->file_name, encoding => $self->controller->profile->get('charset'), profile => [{ profile => $profile, class => $self->class, mapping => $self->controller->mappings_for_profile }], ignore_unknown_columns => 1, diff --git a/SL/Controller/CsvImport/BaseMulti.pm b/SL/Controller/CsvImport/BaseMulti.pm index d4bb7455a..b97539489 100644 --- a/SL/Controller/CsvImport/BaseMulti.pm +++ b/SL/Controller/CsvImport/BaseMulti.pm @@ -22,7 +22,7 @@ sub run { my $profile = $self->profile; - $self->csv(SL::Helper::Csv->new(file => $self->file->file_name, + $self->csv(SL::Helper::Csv->new(file => ('SCALAR' eq ref $self->file)? $self->file: $self->file->file_name, encoding => $self->controller->profile->get('charset'), profile => $profile, ignore_unknown_columns => 1,