]> wagnertech.de Git - mfinanz.git/blobdiff - SL/File.pm
Fehlerbehandlung in SL/File.pm vereinfacht
[mfinanz.git] / SL / File.pm
index 231e0622f8d184aff6c773c885921eeee795a86a..28604249e37123f8b8bccf9e599eba70e0642d89 100644 (file)
@@ -123,11 +123,11 @@ sub delete_all {
 sub delete {
   my ($self, %params) = @_;
   die "no id or dbfile" unless $params{id} || $params{dbfile};
-  my $rc = SL::DB->client->with_transaction(\&_delete, $self, %params);
-  if (!$rc) {
-    my $err = SL::DB->client->error;
-    die (ref $err?$$err:$err);
-  }
+  my $rc = 0;
+  eval {
+    $rc = SL::DB->client->with_transaction(\&_delete, $self, %params);
+    1;
+  } or do { die $@ };
   return $rc;
 }
 
@@ -149,7 +149,7 @@ sub _delete {
 
     if ($hist) {
       if (!$main::auth->assert('import_ar | import_ap', 1)) {
-        die \'no permission to unimport';
+        die 'no permission to unimport';
       }
       my $file = $backend->get_filepath(dbfile => $params{dbfile});
       $main::lxdebug->message(LXDebug->DEBUG2(), "del file=" . $file . " to=" . $hist->snumbers);
@@ -179,11 +179,11 @@ sub _delete {
 sub save {
   my ($self, %params) = @_;
 
-  my $obj = SL::DB->client->with_transaction(\&_save, $self, %params);
-  if (!$obj) {
-    my $err = SL::DB->client->error;
-    die (ref $err?$$err:$err);
-  }
+  my $obj;
+  eval {
+    $obj = SL::DB->client->with_transaction(\&_save, $self, %params);
+    1;
+  } or do { die $@ };
   return $obj;
 }
 
@@ -194,11 +194,11 @@ sub _save {
 
   if ($params{id}) {
     $file = SL::DB::File->new(id => $params{id})->load;
-    die \'dbfile not exists'     unless $file;
+    die 'dbfile not exists'     unless $file;
   } elsif (!$file) {
   $main::lxdebug->message(LXDebug->DEBUG2(), "obj_id=" .$params{object_id});
-    die \'no object type set'    unless $params{object_type};
-    die \'no object id set'      unless defined($params{object_id});
+    die 'no object type set'    unless $params{object_type};
+    die 'no object id set'      unless defined($params{object_id});
 
     $exists = $self->get_all_count(%params);
     die 'filename still exist' if $exists && $params{fail_if_exists};
@@ -322,10 +322,10 @@ sub _get_backend {
   eval {
     eval "require $class";
     $obj = $class->new;
-    die \'backend not enabled' unless $obj->enabled;
+    die 'backend not enabled' unless $obj->enabled;
     1;
   } or do {
-    die \'backend class not found';
+    die 'backend class not found';
   };
   return $obj;
 }
@@ -356,7 +356,7 @@ SL::File - The intermediate Layer for handling files
 =head1 SYNOPSIS
 
   # In a controller or helper ( see SL::Controller::File or SL::Helper::File )
-  # you can create, remove, delete etc. a file in a backend independant way
+  # you can create, remove, delete etc. a file in a backend independent way
 
   my $file  = SL::File->save(
                      object_id     => $self->object_id,
@@ -384,7 +384,7 @@ SL::File - The intermediate Layer for handling files
 
 =head1 OVERVIEW
 
-The Filemanagemt can handle files in a storage independant way. Internal the File
+The Filemanagemt can handle files in a storage independent way. Internal the File
 use the configured storage backend for the type of file.
 These backends must be configured in L<SL::Controller::ClientConfig> or an extra database table.
 
@@ -704,4 +704,3 @@ The synchronization is done file_type by file_type.
 Martin Helmling E<lt>martin.helmling@opendynamic.deE<gt>
 
 =cut
-