From: Sven Schöling Date: Thu, 17 Sep 2015 11:10:33 +0000 (+0200) Subject: Mahnungen löschen X-Git-Tag: release-3.4.1~731 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=9c8d0637fda107ec6d4a35ae52802ee2d1cb9eb3;p=kivitendo-erp.git Mahnungen löschen --- diff --git a/bin/mozilla/dn.pl b/bin/mozilla/dn.pl index 6b2cad0e6..e418fa28f 100644 --- a/bin/mozilla/dn.pl +++ b/bin/mozilla/dn.pl @@ -36,6 +36,9 @@ use POSIX qw(strftime); use SL::IS; use SL::PE; use SL::DN; +use SL::DB::Dunning; +use SL::Helper::Flash; +use SL::Locale::String qw(t8); use SL::ReportGenerator; require "bin/mozilla/common.pl"; @@ -473,6 +476,29 @@ sub print_dunning { $main::lxdebug->leave_sub(); } +sub delete { + $main::auth->assert('dunning_edit'); + + my @dunning_ids = map { $::form->{"dunning_id_$_"} } grep { $::form->{"selected_$_"} } (1..$::form->{rowcount}); + + if (!scalar @dunning_ids) { + $::form->error($::locale->text('No dunnings have been selected for printing.')); + } + + my $dunnings = SL::DB::Manager::Dunning->get_all(query => [ dunning_id => \@dunning_ids ]); + + SL::DB::Dunning->new->db->with_transaction(sub { + for my $dunning (@$dunnings) { + SL::DB::Manager::Invoice->find_by(id => $dunning->trans_id)->update_attributes(dunning_config_id => undef); + $dunning->delete; + } + }); + + flash('info', t8('#1 dunnings have been deleted', scalar @$dunnings)); + + search(); +} + sub print_multiple { $main::lxdebug->enter_sub(); @@ -526,4 +552,14 @@ sub continue { call_sub($main::form->{nextsub}); } +sub dispatcher { + foreach my $action (qw(delete print_multiple)) { + if ($::form->{"action_${action}"}) { + call_sub($action); + return; + } + } + + $::form->error($::locale->text('No action defined.')); +} # end of main diff --git a/locale/de/all b/locale/de/all index 512329a4f..74ca6749b 100755 --- a/locale/de/all +++ b/locale/de/all @@ -17,6 +17,7 @@ $self->{texts} = { '#1 (custom variable)' => '#1 (benutzerdefinierte Variable)', '#1 MD' => '#1 PT', '#1 additional part(s)' => '#1 zusätzliche(r) Artikel', + '#1 dunnings have been deleted' => '#1 Mahnung(en) wurden gelöscht', '#1 h' => '#1 h', '#1 of #2 importable objects were imported.' => '#1 von #2 importierbaren Objekten wurden importiert.', '#1 prices were updated.' => '#1 Preise wurden aktualisiert.', @@ -2931,6 +2932,7 @@ $self->{texts} = { 'This requirement spec is currently linked to the following project:' => 'Dieses Pflichtenheft ist mit dem folgenden Projekt verknüpft:', 'This requirement spec is currently not linked to a project.' => 'Dieses Pflichtenheft ist noch nicht mit einem Projekt verknüpft.', 'This requires you to manually correct entries for which an automatic conversion failed and to check those for which it succeeded.' => 'Dies erfordert, dass Sie diejenigen Einträge manuell korrigieren, für die die automatische Umstellung fehlschlug, sowie dass Sie diejenigen überprüfen, für die die Umstellung erfolgreich war.', + 'This resets the dunning process for the selected invoices. Posted dunning invoices will not be changed!' => 'Hiermit wird der Mahnprozess für die ausgewählten Rechnungen zurückgesetzt. Bereits gebuchte Rechnungen über Mahngebühren werden nicht geändert!', 'This sales order has an active configuration for periodic invoices. If you save then all subsequently created invoices will contain those changes as well, but not those that have already been created. Do you want to continue?' => 'Dieser Auftrag besitzt eine aktive Konfiguration für wiederkehrende Rechnungen. Wenn Sie jetzt speichern, so werden alle zukünftig hieraus erzeugten Rechnungen die Änderungen enthalten, nicht aber die bereits erzeugten Rechnungen. Wollen Sie speichern?', 'This status output will be refreshed every five seconds.' => 'Diese Statusausgabe wird alle fünf Sekunden aktualisiert.', 'This transaction has to be split into several transactions manually.' => 'Diese Buchung muss manuell in mehrere Buchungen aufgeteilt werden.', diff --git a/templates/webpages/dunning/search.html b/templates/webpages/dunning/search.html index 1c2475681..83b59c6b3 100644 --- a/templates/webpages/dunning/search.html +++ b/templates/webpages/dunning/search.html @@ -3,7 +3,7 @@ [%- USE L %]

[% title %]

- +[% PROCESS 'common/flash.html' %]
diff --git a/templates/webpages/dunning/show_dunning_bottom.html b/templates/webpages/dunning/show_dunning_bottom.html index f0b225e64..925568090 100644 --- a/templates/webpages/dunning/show_dunning_bottom.html +++ b/templates/webpages/dunning/show_dunning_bottom.html @@ -1,5 +1,8 @@ [%- USE T8 %] -[% USE HTML %] +[%- USE HTML %] +[%- USE LxERP %] +[%- USE L %] +

@@ -9,9 +12,9 @@

[% 'Dunnings' | $T8 %]
- - - + [% L.hidden_tag('action', 'dispatcher') %] + + [% L.submit_tag('action_delete', LxERP.t8('Delete'), confirm=LxERP.t8('This resets the dunning process for the selected invoices. Posted dunning invoices will not be changed!')) %]