]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Controller/CsvImport/Base.pm
check_objects: Schleifen zusammengefasst.
[mfinanz.git] / SL / Controller / CsvImport / Base.pm
index 92ee5565c325268999370ee3ad997d3263da6f91..de12c15522fcff2d2a640e1655b7ed220222fab1 100644 (file)
@@ -47,10 +47,6 @@ sub run {
 
   $self->controller->track_progress(progress => 50);
 
-  if ($self->csv->is_multiplexed) {
-    die "controller for multiplex data is not implemented yet";
-  }
-
   $self->controller->errors([ $self->csv->errors ]) if $self->csv->errors;
 
   return if ( !$self->csv->header || $self->csv->errors );
@@ -311,6 +307,8 @@ sub init_manager_class {
   $self->manager_class("SL::DB::Manager::" . $1);
 }
 
+sub is_multiplexed { 0 }
+
 sub check_objects {
 }
 
@@ -416,7 +414,10 @@ sub save_objects {
 
     my $object = $entry->{object_to_save} || $entry->{object};
 
-    if ( !$object->save(cascade => !!$self->save_with_cascade()) ) {
+    my $ret;
+    if (!eval { $ret = $object->save(cascade => !!$self->save_with_cascade()); 1 }) {
+      push @{ $entry->{errors} }, $::locale->text('Error when saving: #1', $@);
+    } elsif ( !$ret ) {
       push @{ $entry->{errors} }, $::locale->text('Error when saving: #1', $entry->{object}->db->error);
     } else {
       $self->_save_history($object);