Definitiv verhindern, dass Einkaufsrechnungen doppelt storniert werden können.
authorMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 5 Mar 2007 14:49:19 +0000 (14:49 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 5 Mar 2007 14:49:19 +0000 (14:49 +0000)
SL/IR.pm
bin/mozilla/ir.pl
locale/de/ir

index 3bad7ce..dc582ef 100644 (file)
--- a/SL/IR.pm
+++ b/SL/IR.pm
@@ -1423,4 +1423,23 @@ sub post_payment {
   return $rc;
 }
 
+sub has_storno {
+  $main::lxdebug->enter_sub();
+
+  my ($self, $myconfig, $form) = @_;
+
+  $main::lxdebug->leave_sub() and return 0 unless ($form->{id});
+
+  my $dbh = $form->dbconnect($myconfig);
+
+  my $query = qq|SELECT storno FROM ap WHERE id = ?|;
+  my ($result) = selectrow_query($form, $dbh, $query, $form->{id});
+
+  $dbh->disconnect();
+
+  $main::lxdebug->leave_sub();
+
+  return $result;
+}
+
 1;
index 63325ca..e088def 100644 (file)
@@ -972,6 +972,10 @@ sub storno {
     $form->error($locale->text('Cannot storno storno invoice!'));
   }
 
+  if (IR->has_storno(\%myconfig, $form)) {
+    $form->error($locale->text("Invoice has already been storno'd!"));
+  }
+
   $form->{storno_id} = $form->{id};
   $form->{storno} = 1;
   $form->{id} = "";
index 02181d1..e9e8ca8 100644 (file)
@@ -81,6 +81,7 @@ $self->{texts} = {
   'Invoice Number'              => 'Rechnungsnummer',
   'Invoice Number missing!'     => 'Rechnungsnummer fehlt!',
   'Invoice deleted!'            => 'Rechnung gelöscht!',
+  'Invoice has already been storno\'d!' => 'Diese Rechnung wurde bereits storniert.',
   'Item not on file!'           => 'Dieser Artikel ist nicht in der Datenbank!',
   'Jan'                         => 'Jan',
   'January'                     => 'Januar',