X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/9f4ef62c42dceef5a27ad3a0d8c8d260ffef9848..d8be5cc409de5b3bc34439599b1481201a5a1c2e:/SL/Controller/CsvImport/BaseMulti.pm diff --git a/SL/Controller/CsvImport/BaseMulti.pm b/SL/Controller/CsvImport/BaseMulti.pm index 5168ae28c..94cfa8431 100644 --- a/SL/Controller/CsvImport/BaseMulti.pm +++ b/SL/Controller/CsvImport/BaseMulti.pm @@ -33,8 +33,8 @@ sub run { $self->controller->track_progress(progress => 10); - my $old_numberformat = $::myconfig{numberformat}; - $::myconfig{numberformat} = $self->controller->profile->get('numberformat'); + local $::myconfig{numberformat} = $self->controller->profile->get('numberformat'); + local $::myconfig{dateformat} = $self->controller->profile->get('dateformat'); $self->csv->parse; @@ -71,6 +71,10 @@ sub run { $self->controller->info_headers($info_headers); my $objects = $self->csv->get_objects; + if ($self->csv->errors) { + $self->controller->errors([ $self->csv->errors ]) ; + return; + } $self->controller->track_progress(progress => 70); @@ -90,8 +94,6 @@ sub run { $self->fix_field_lengths; $self->controller->track_progress(progress => 100); - - $::myconfig{numberformat} = $old_numberformat; } sub init_manager_class { @@ -170,9 +172,11 @@ sub handle_cvars { my ($self, $entry, %params) = @_; return if @{ $entry->{errors} }; + return unless $entry->{object}->can('cvars_by_config'); my %type_to_column = ( text => 'text_value', textfield => 'text_value', + htmlfield => 'text_value', select => 'text_value', date => 'timestamp_value_as_date', timestamp => 'timestamp_value_as_date', @@ -183,7 +187,7 @@ sub handle_cvars { # autovivify all cvars (cvars_by_config will do that for us) my @cvars; - @cvars = @{ $entry->{object}->cvars_by_config } if $entry->{object}->can('cvars_by_config'); + @cvars = @{ $entry->{object}->cvars_by_config }; foreach my $config (@{ $self->cvar_configs_by->{row_ident}->{$entry->{raw_data}->{datatype}} }) { next unless exists $entry->{raw_data}->{ "cvar_" . $config->name };