Damit kann der CSV-Import via Task-Server auch von Benutzern verwendet
werden, die den Task-Server nicht in ihrer Sitzung gestartet haben.
Es bleibt das Problem, dass der Import nicht ausgeführt werden kann,
wenn sie sich abmelden.
Behebt #2198.
);
$c->add_progress_tracker($self);
);
$c->add_progress_tracker($self);
+ my $session_id = $job->data_as_hash->{session_id};
- $c->test_and_import(test => $test, session_id => $job->data_as_hash->{session_id});
+ $c->test_and_import(test => $test, session_id => $session_id);
if ($c->errors) {
$job->set_data(
if ($c->errors) {
$job->set_data(
- my $report_id = $c->save_report;
+ my $report_id = $c->save_report(session_id => $session_id);
$job->set_data(report_id => $report_id)->save;
$c->track_progress(finished => 1);
$job->set_data(report_id => $report_id)->save;
$c->track_progress(finished => 1);
- my ($self, $report_id) = @_;
+ my ($self, %params) = @_;
if ($self->worker->is_multiplexed) {
if ($self->worker->is_multiplexed) {
- return $self->save_report_multi($report_id);
+ return $self->save_report_multi(%params);
- return $self->save_report_single($report_id);
+ return $self->save_report_single(%params);
}
}
sub save_report_single {
}
}
sub save_report_single {
- my ($self, $report_id) = @_;
+ my ($self, %params) = @_;
$self->track_progress(phase => 'building report', progress => 0);
$self->track_progress(phase => 'building report', progress => 0);
$clone_profile->save; # weird bug. if this isn't saved before adding it to the report, it will default back to the last profile.
my $report = SL::DB::CsvImportReport->new(
$clone_profile->save; # weird bug. if this isn't saved before adding it to the report, it will default back to the last profile.
my $report = SL::DB::CsvImportReport->new(
- session_id => $::auth->create_or_refresh_session,
+ session_id => $params{session_id},
profile => $clone_profile,
type => $self->type,
file => '',
profile => $clone_profile,
type => $self->type,
file => '',
}
sub save_report_multi {
}
sub save_report_multi {
- my ($self, $report_id) = @_;
+ my ($self, %params) = @_;
$self->track_progress(phase => 'building report', progress => 0);
$self->track_progress(phase => 'building report', progress => 0);
$clone_profile->save; # weird bug. if this isn't saved before adding it to the report, it will default back to the last profile.
my $report = SL::DB::CsvImportReport->new(
$clone_profile->save; # weird bug. if this isn't saved before adding it to the report, it will default back to the last profile.
my $report = SL::DB::CsvImportReport->new(
- session_id => $::auth->create_or_refresh_session,
+ session_id => $params{session_id},
profile => $clone_profile,
type => $self->type,
file => '',
profile => $clone_profile,
type => $self->type,
file => '',
my $self = $class->SUPER::new;
my $self = $class->SUPER::new;
+ if ($params{session_id}) {
+ $self->session_id($params{session_id})
+ }
+
my $path = $self->prepare_path;
$file_name =~ s:.*/::g;
$file_name = "${path}/${file_name}";
my $path = $self->prepare_path;
$file_name =~ s:.*/::g;
$file_name = "${path}/${file_name}";