From 99790f2bddc964d31a265005f0fa8849ffe0206c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20B=C3=BCren?= Date: Fri, 1 Dec 2017 12:27:17 +0100 Subject: [PATCH] =?utf8?q?Fix=20f=C3=BCr=20#325=20und=20#326?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Strikteres Behandeln von Löschen und Storno-Funktion bei Verkaufs-Rechnungen --- bin/mozilla/is.pl | 7 ++++++- locale/de/all | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index 3849ad2ef..26fb0ea8e 100644 --- a/bin/mozilla/is.pl +++ b/bin/mozilla/is.pl @@ -256,6 +256,8 @@ sub setup_is_action_bar { my $form = $::form; my $change_never = $::instance_conf->get_is_changeable == 0; my $change_on_same_day_only = $::instance_conf->get_is_changeable == 2 && ($form->current_date(\%::myconfig) ne $form->{gldate}); + my $payments_balanced = ($::form->{oldtotalpaid} == 0); + my $has_storno = ($::form->{storno} && !$::form->{storno_id}); for my $bar ($::request->layout->get('actionbar')) { $bar->add( @@ -298,7 +300,9 @@ sub setup_is_action_bar { submit => [ '#form', { action => "storno" } ], confirm => t8('Do you really want to cancel this invoice?'), checks => [ 'kivi.validate_form' ], - disabled => !$form->{id} ? t8('This invoice has not been posted yet.') : undef, + disabled => !$form->{id} ? t8('This invoice has not been posted yet.') + : !$payments_balanced ? t8('Cancelling is disallowed. Either undo or balance the current payments until the open amount matches the invoice amount') + : undef, ], action => [ t8('Delete'), submit => [ '#form', { action => "delete" } ], @@ -308,6 +312,7 @@ sub setup_is_action_bar { : $form->{locked} ? t8('The billing period has already been locked.') : $change_never ? t8('Changing invoices has been disabled in the configuration.') : $change_on_same_day_only ? t8('Invoices can only be changed on the day they are posted.') + : $has_storno ? t8('Can only delete the "Storno zu" part of the cancellation pair.') : undef, ], ], # end of combobox "Storno" diff --git a/locale/de/all b/locale/de/all index 734726ca2..8d6e365cb 100755 --- a/locale/de/all +++ b/locale/de/all @@ -508,11 +508,13 @@ $self->{texts} = { 'Calculate due date automatically' => 'Fälligkeitsdatum automatisch berechnen', 'Calling #1 now' => 'Wähle jetzt #1', 'Can not create that quantity with current stock' => 'Diese Anzahl kann mit dem gegenwärtigen Lagerbestand nicht hergestellt werden.', + 'Can only delete the "Storno zu" part of the cancellation pair.' => 'Löschen von R(S) Rechnung nicht erlaubt. Löschen der entsprechenden "Storno zu" Gutschrift reaktiviert diese Rechnung wieder.', 'Can\'t connect to shop. #1' => 'Kann keine Verbindung zu Shop #1 herstellen.', 'Can\'t load item without a valid part.id' => 'Kann Artikel ohne gültige part.id nicht laden', 'Cancel' => 'Abbrechen', 'Cancel Accounts Payables Transaction' => 'Kreditorenbuchung stornieren', 'Cancel Accounts Receivables Transaction' => 'Debitorenbuchung stornieren', + 'Cancelling is disallowed. Either undo or balance the current payments until the open amount matches the invoice amount' => 'Storno verboten, da Zahlungen zum Beleg vorhanden sind. Entweder die Zahlungen löschen oder mit umgekehrten Vorzeichen ausbuchen, sodass der offene Betrag dem Rechnungsbetrag entspricht.', 'Cannot check correct WebDAV folder' => 'Kann nicht den richtigen WebDAV Pfad überprüfen', 'Cannot delete account!' => 'Konto kann nicht gelöscht werden!', 'Cannot delete customer!' => 'Kunde kann nicht gelöscht werden!', -- 2.20.1