From: Bernd Bleßmann Date: Wed, 26 Sep 2018 10:23:00 +0000 (+0200) Subject: Auftrags-Controller: Wiederkehrende Rechnungen. Konfig nicht mit neuer id … X-Git-Tag: release-3.5.4~261 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/commitdiff_plain/9bfa364bd40e88b7db83fac1417cbf476dbb434b Auftrags-Controller: Wiederkehrende Rechnungen. Konfig nicht mit neuer id … … 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. --- 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([]);