]> wagnertech.de Git - mfinanz.git/blobdiff - SL/File.pm
Artikelstammdaten: kein Redirect auf »neuen Artikel anlegen«
[mfinanz.git] / SL / File.pm
index 28604249e37123f8b8bccf9e599eba70e0642d89..5efb403bd52619a24b0b36c9a5b0a7bbc9ef6cc3 100644 (file)
@@ -122,7 +122,7 @@ sub delete_all {
 
 sub delete {
   my ($self, %params) = @_;
-  die "no id or dbfile" unless $params{id} || $params{dbfile};
+  die "no id or dbfile in delete" unless $params{id} || $params{dbfile};
   my $rc = 0;
   eval {
     $rc = SL::DB->client->with_transaction(\&_delete, $self, %params);
@@ -307,7 +307,7 @@ sub sync_from_backend {
   return unless $params{file_type};
   my $file = SL::DB::File->new;
   $file->file_type($params{file_type});
-  my $backend = $self->_get_backend(dbfile => $file->backend);
+  my $backend = $self->_get_backend($self->_get_backend_by_file_type($file));
   return unless $backend;
   $backend->sync_from_backend(%params);
 }
@@ -319,13 +319,18 @@ sub _get_backend {
   my ($self, $backend_name) = @_;
   my $class = 'SL::File::Backend::' . $backend_name;
   my $obj   = undef;
+  die $::locale->text('no backend enabled') if $backend_name eq 'None';
   eval {
     eval "require $class";
     $obj = $class->new;
-    die 'backend not enabled' unless $obj->enabled;
+    die $::locale->text('backend "#1" not enabled',$backend_name) unless $obj->enabled;
     1;
   } or do {
-    die 'backend class not found';
+    if ( $obj ) {
+      die $@;
+    } else {
+      die $::locale->text('backend "#1" not found',$backend_name);
+    }
   };
   return $obj;
 }