$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;
$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);
$self->fix_field_lengths;
$self->controller->track_progress(progress => 100);
-
- $::myconfig{numberformat} = $old_numberformat;
}
sub init_manager_class {
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',
# 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 };