X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FController%2FCsvImport.pm;h=b74b04be038926c822cbd8471030d2abec34a3d4;hb=3a7079558f44e4b80670327e70b565c8caf52a0e;hp=e58d025e91157dd3418fdf867abaeb12954997f2;hpb=cd8b56f2ec945264132d443ad8f412699d1a8a1b;p=kivitendo-erp.git diff --git a/SL/Controller/CsvImport.pm b/SL/Controller/CsvImport.pm index e58d025e9..b74b04be0 100644 --- a/SL/Controller/CsvImport.pm +++ b/SL/Controller/CsvImport.pm @@ -224,7 +224,7 @@ sub check_auth { sub check_type { my ($self) = @_; - die "Invalid CSV import type" if none { $_ eq $::form->{profile}->{type} } qw(parts inventories customers_vendors addresses contacts projects orders bank_transactions mt940); + die "Invalid CSV import type" if none { $_ eq $::form->{profile}->{type} } qw(parts inventories customers_vendors addresses contacts projects orders bank_transactions); $self->type($::form->{profile}->{type}); } @@ -270,7 +270,6 @@ sub render_inputs { : $self->type eq 'projects' ? $::locale->text('CSV import: projects') : $self->type eq 'orders' ? $::locale->text('CSV import: orders') : $self->type eq 'bank_transactions' ? $::locale->text('CSV import: bank transactions') - : $self->type eq 'mt940' ? $::locale->text('CSV import: MT940') : die; if ($self->{type} eq 'customers_vendors' or $self->{type} eq 'orders' ) { @@ -290,30 +289,16 @@ sub render_inputs { sub test_and_import_deferred { my ($self, %params) = @_; - $self->profile_from_form; + if ( $::form->{force_profile} && $::form->{profile}->{id} ) { + $self->load_default_profile; + } else { + $self->profile_from_form; + }; - if ( $::form->{file} && $::form->{FILENAME} =~ /\.940$/ ) { - my $mt940_file = SL::SessionFile->new($::form->{FILENAME}, mode => '>'); - $mt940_file->fh->print($::form->{file}); - $mt940_file->fh->close; - - my $aqbin = $::lx_office_conf{applications}->{aqbanking}; - die "Can't find aqbanking-cli, please check your configuration file.\n" unless -f $aqbin; - my $cmd = "$aqbin --cfgdir=\"users\" import --importer=\"swift\" --profile=\"SWIFT-MT940\" -f " . $mt940_file->file_name . " | $aqbin --cfgdir=\"users\" listtrans --exporter=\"csv\" --profile=\"AqMoney2\" "; - my $converted_mt940; - open(MT, "$cmd |"); - $converted_mt940 .= '"transaction_id";"local_bank_code";"local_account_number";"remote_bank_code";"remote_account_number";"transdate";"valutadate";"amount";"currency";"remote_name";"remote_name_1";"purpose";"purpose1";"purpose2";"purpose3";"purpose4";"purpose5";"purpose6";"purpose7";"purpose8";"purpose9";"purpose10";"purpose11"' . "\n"; - my $headerline = ; # discard original header line - while () { - $converted_mt940 .= $_; - }; + if ($::form->{file}) { my $file = SL::SessionFile->new($self->csv_file_name, mode => '>'); - $file->fh->print($converted_mt940); + $file->fh->print($::form->{file}); $file->fh->close; - } elsif ($::form->{file}) { - my $file = SL::SessionFile->new($self->csv_file_name, mode => '>'); - $file->fh->print($::form->{file}); - $file->fh->close; } my $file = SL::SessionFile->new($self->csv_file_name, mode => '<', encoding => $self->profile->get('charset')); @@ -641,7 +626,6 @@ sub init_worker { : $self->{type} eq 'projects' ? SL::Controller::CsvImport::Project->new(@args) : $self->{type} eq 'orders' ? SL::Controller::CsvImport::Order->new(@args) : $self->{type} eq 'bank_transactions' ? SL::Controller::CsvImport::BankTransaction->new(@args) - : $self->{type} eq 'mt940' ? SL::Controller::CsvImport::BankTransaction->new(@args) : die "Program logic error"; }