From 9bfa364bd40e88b7db83fac1417cbf476dbb434b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bernd=20Ble=C3=9Fmann?= Date: Wed, 26 Sep 2018 12:23:00 +0200 Subject: [PATCH] =?utf8?q?Auftrags-Controller:=20Wiederkehrende=20Rechnung?= =?utf8?q?en.=20Konfig=20nicht=20mit=20neuer=20id=20=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit … speichern, wenn diese schon vorhanden ist, sondern die vorhandene mit den neuen Attributen versehen. Wenn sich die id ändert, lässt sich nicht mehr feststellen, ob für diese Konfig bzw. diesen Auftrag schon wiederkehrende Rechnungen erzeugt wurden und es werden evtl. alle nochmal erzeugt. --- SL/Controller/Order.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/SL/Controller/Order.pm b/SL/Controller/Order.pm index d8d197a85..976f62f0c 100644 --- a/SL/Controller/Order.pm +++ b/SL/Controller/Order.pm @@ -1166,8 +1166,10 @@ sub make_order { $order->assign_attributes(%{$::form->{order}}); - my $periodic_invoices_config = make_periodic_invoices_config_from_yaml($form_periodic_invoices_config); - $order->periodic_invoices_config($periodic_invoices_config) if $periodic_invoices_config; + if (my $periodic_invoices_config_attrs = $form_periodic_invoices_config ? YAML::Load($form_periodic_invoices_config) : undef) { + my $periodic_invoices_config = $order->periodic_invoices_config || $order->periodic_invoices_config(SL::DB::PeriodicInvoicesConfig->new); + $periodic_invoices_config->assign_attributes(%$periodic_invoices_config_attrs); + } # remove deleted items $self->item_ids_to_delete([]); -- 2.20.1