Rose-Fehler beim Speichern eines Objekts anzeigen lassen.
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Wed, 13 Mar 2013 08:55:28 +0000 (09:55 +0100)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Mon, 25 Nov 2013 13:03:08 +0000 (14:03 +0100)
  Siehe Bug #2203.
  Siehe auch commit d16fc161b610f2ba59025fee1db94511a0c6c5cd

Rose-Fehler beim Speichern eines Objekts anzeigen lassen.

  Return-Werte im eval-Aufruf richtig behandeln.
  Betrifft #2203.

SL/Controller/CsvImport/Base.pm

index 92ee556..6390e7d 100644 (file)
@@ -416,7 +416,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);