X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/5202b3e71b817c6a78845cd4c27773760ff408b6..3c3073bf0643afc162c3d17b4a93b47b3a11044d:/SL/Controller/Order.pm diff --git a/SL/Controller/Order.pm b/SL/Controller/Order.pm index 5a7d58eb8..fe27d55c3 100644 --- a/SL/Controller/Order.pm +++ b/SL/Controller/Order.pm @@ -423,11 +423,13 @@ sub action_save_and_show_email_dialog { $email_form->{js_send_function} = 'kivi.Order.send_email()'; my %files = $self->get_files_for_email_dialog(); + $self->{all_employees} = SL::DB::Manager::Employee->get_all(query => [ deleted => 0 ]); my $dialog_html = $self->render('common/_send_email_dialog', { output => 0 }, email_form => $email_form, show_bcc => $::auth->assert('email_bcc', 'may fail'), FILES => \%files, is_customer => $self->cv eq 'customer', + ALL_EMPLOYEES => $self->{all_employees}, ); $self->js @@ -550,7 +552,10 @@ sub action_show_periodic_invoices_config_dialog { if ($::form->{customer_id}) { $::form->{ALL_CONTACTS} = SL::DB::Manager::Contact->get_all_sorted(where => [ cp_cv_id => $::form->{customer_id} ]); - $::form->{email_recipient_invoice_address} = SL::DB::Manager::Customer->find_by(id => $::form->{customer_id})->invoice_mail; + my $customer_object = SL::DB::Manager::Customer->find_by(id => $::form->{customer_id}); + $::form->{postal_invoice} = $customer_object->postal_invoice; + $::form->{email_recipient_invoice_address} = $::form->{postal_invoice} ? '' : $customer_object->invoice_mail; + $config->send_email(0) if $::form->{postal_invoice}; } $self->render('oe/edit_periodic_invoices_config', { layout => 0 }, @@ -1793,8 +1798,10 @@ sub pre_render { } if (any { $self->type eq $_ } (sales_order_type(), purchase_order_type())) { - # calculate shipped qtys here to prevent calling calculate for every item via the items method - SL::Helper::ShippedQty->new->calculate($self->order)->write_to_objects; + # Calculate shipped qtys here to prevent calling calculate for every item via the items method. + # Do not use write_to_objects to prevent order->delivered to be set, because this should be + # the value from db, which can be set manually or is set when linked delivery orders are saved. + SL::Helper::ShippedQty->new->calculate($self->order)->write_to(\@{$self->order->items}); } if ($self->order->number && $::instance_conf->get_webdav) {