X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FBackgroundJob%2FCsvImport.pm;h=1736721b9351edde8bcfb728f0ad51685f103a1c;hb=1a3b9961184e9321c4e6e034643fdfc6a640603e;hp=1798d67ba390b6ed8e61300a4ab5ceb793f5f4ec;hpb=1cc7b9e645662ff053e31dd9d46b0acf6955b509;p=kivitendo-erp.git diff --git a/SL/BackgroundJob/CsvImport.pm b/SL/BackgroundJob/CsvImport.pm index 1798d67ba..1736721b9 100644 --- a/SL/BackgroundJob/CsvImport.pm +++ b/SL/BackgroundJob/CsvImport.pm @@ -5,8 +5,8 @@ use strict; use parent qw(SL::BackgroundJob::Base); use YAML (); +use SL::JSON; use SL::DB::CsvImportProfile; -use SL::SessionFile::Random; sub create_job { my ($self_or_class, %params) = @_; @@ -14,13 +14,8 @@ sub create_job { my $package = ref($self_or_class) || $self_or_class; $package =~ s/SL::BackgroundJob:://; - my $profile = delete $params{profile} || SL::DB::CsvImportProfile->new; - my $new_profile = $profile->clone_and_reset_deep; - $new_profile->save; - my %data = ( %params, - profile_id => $new_profile->id, session_id => $::auth->get_session_id, ); @@ -60,6 +55,7 @@ sub do_import { my $job = $self->{db_obj}; $c->profile($self->profile); + $c->mappings(SL::JSON::from_json($self->profile->get('json_mappings'))) if $self->profile->get('json_mappings'); $c->type($job->data_as_hash->{type}); $c->{employee_id} = $job->data_as_hash->{employee_id}; @@ -93,7 +89,7 @@ sub do_import { $result = $::locale->text('Import finished with errors.'); } else { - my $report_id = $c->save_report(session_id => $session_id); + my $report_id = $c->save_report(session_id => $session_id, test => $test); $job->set_data(report_id => $report_id)->save; $c->track_progress(finished => 1);