X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/c5db99b7266c59922db2dcc519c3cfd2349b86cc..f49ad7f1f479daf79dd78d3ff0e0894c1e6c311c:/SL/OE.pm diff --git a/SL/OE.pm b/SL/OE.pm index 996262005..7f0c8e363 100644 --- a/SL/OE.pm +++ b/SL/OE.pm @@ -589,6 +589,23 @@ sub save_periodic_invoices_config { $obj->update_attributes(%{ $config }); } +sub load_periodic_invoice_config { + my $self = shift; + my $form = shift; + + delete $form->{periodic_invoices_config}; + + if ($form->{id}) { + my $config_obj = SL::DB::Manager::PeriodicInvoicesConfig->find_by(oe_id => $form->{id}); + + if ($config_obj) { + my $config = { map { $_ => $config_obj->$_ } qw(active terminated periodicity start_date_as_date end_date_as_date extend_automatically_by ar_chart_id + print printer_id copies) }; + $form->{periodic_invoices_config} = YAML::Dump($config); + } + } +} + sub _close_quotations_rfqs { $main::lxdebug->enter_sub(); @@ -965,14 +982,6 @@ sub retrieve { } $sth->finish; - delete $form->{periodic_invoices_config}; - if ($form->{id} && ($form->{type} eq 'sales_order')) { - $query = qq|SELECT periodicity, start_date, print, printer_id, copies, active, ar_chart_id FROM periodic_invoices_configs WHERE oe_id = ? LIMIT 1|; - $ref = selectfirst_hashref_query($form, $dbh, $query, conv_i($form->{id})); - - $form->{periodic_invoices_config} = YAML::Dump($ref) if ($ref); - } - } else { # get last name used @@ -985,6 +994,8 @@ sub retrieve { Common::webdav_folder($form) if ($main::webdav); + $self->load_periodic_invoice_config($form); + my $rc = $dbh->commit; $main::lxdebug->leave_sub();