From: Moritz Bunkus Date: Mon, 5 Mar 2007 09:41:52 +0000 (+0000) Subject: Das mehrmalige Stornieren von Kundenrechnungen definitiv verhindern. X-Git-Tag: release-2.4.3^2~635 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=213317d3ebd9073e68ac4d0cc789b94c377f575e;p=kivitendo-erp.git Das mehrmalige Stornieren von Kundenrechnungen definitiv verhindern. --- diff --git a/SL/IC.pm b/SL/IC.pm index 5e5cf52a6..d692b6a75 100644 --- a/SL/IC.pm +++ b/SL/IC.pm @@ -1887,4 +1887,24 @@ sub retrieve_accounts { $main::lxdebug->leave_sub(); } + +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 ar WHERE id = ?|; + my ($result) = selectrow_query($form, $dbh, $query, $form->{id}); + + $dbh->disconnect(); + + $main::lxdebug->leave_sub(); + + return $result; +} + 1; diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index 33a049f17..9c11c3400 100644 --- a/bin/mozilla/is.pl +++ b/bin/mozilla/is.pl @@ -1518,6 +1518,10 @@ sub storno { $form->error($locale->text('Cannot storno storno invoice!')); } + if (IC->has_storno(\%myconfig, $form)) { + $form->error($locale->text("Invoice has already been storno'd!")); + } + $form->{storno_id} = $form->{id}; $form->{storno} = 1; $form->{id} = ""; diff --git a/locale/de/all b/locale/de/all index 5c5c5b7d4..43b9edce5 100644 --- a/locale/de/all +++ b/locale/de/all @@ -567,6 +567,7 @@ gestartet', 'Invoice Number' => 'Rechnungsnummer', 'Invoice Number missing!' => 'Rechnungsnummer fehlt!', 'Invoice deleted!' => 'Rechnung gelöscht!', + 'Invoice has already been storno\'d!' => 'Diese Rechnung wurde bereits storniert.', 'Invoices' => 'Rechnungen', 'Is this a summary account to record' => 'Buchungskonto in', 'It is possible to do this automatically for some Buchungsgruppen, but not for all.' => 'Es ist möglich, dies für einige, aber nicht für alle Buchungsgruppen automatisch zu erledigen.', diff --git a/locale/de/is b/locale/de/is index 29f52b386..9ac1a9aea 100644 --- a/locale/de/is +++ b/locale/de/is @@ -97,6 +97,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',