]> wagnertech.de Git - kivitendo-erp.git/commitdiff
Auftrags-Controller: Wiederkehrende Rechnungen. Konfig nicht mit neuer id …
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Wed, 26 Sep 2018 10:23:00 +0000 (12:23 +0200)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Wed, 26 Sep 2018 10:23:00 +0000 (12:23 +0200)
… 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

index d8d197a853471d81c0331e6a40025e0531862b77..976f62f0cb273736c625ea030dfec5ff1a7cb316 100644 (file)
@@ -1166,8 +1166,10 @@ sub make_order {
 
   $order->assign_attributes(%{$::form->{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([]);
 
   # remove deleted items
   $self->item_ids_to_delete([]);