X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fio.pl;h=793099ff0394268056e77d055354333db6bd966c;hb=5a07eafc9d215ad427e1d0e1f1682294703f45ce;hp=46bad906b80e62d2bc6c93a894f89159febfe1f1;hpb=cae81a9301ce3bc3cfd5ac47b0c6f0537ca23ff0;p=kivitendo-erp.git diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index 46bad906b..793099ff0 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -60,6 +60,7 @@ use SL::DB::AuthUser; use SL::DB::Contact; use SL::DB::Currency; use SL::DB::Customer; +use SL::DB::DeliveryOrder::TypeData qw(); use SL::DB::Default; use SL::DB::Language; use SL::DB::Printer; @@ -1205,6 +1206,15 @@ sub print_form { if ($form->{formname} eq "invoice") { $form->{label} = $locale->text('Invoice'); } + + if ($form->{formname} eq "invoice_for_advance_payment") { + $form->{label} = $locale->text('Invoice for Advance Payment'); + } + + if ($form->{formname} eq "final_invoice") { + $form->{label} = $locale->text('Final Invoice'); + } + if ($form->{formname} eq 'sales_order') { $inv = "ord"; $due = "req"; @@ -1302,7 +1312,7 @@ sub print_form { } $form->{TEMPLATE_DRIVER_OPTIONS} = { }; - if (any { $form->{type} eq $_ } qw(sales_quotation sales_order sales_delivery_order invoice request_quotation purchase_order purchase_delivery_order credit_note)) { + if (any { $form->{type} eq $_ } qw(sales_quotation sales_order sales_delivery_order invoice invoice_for_advance_payment final_invoice request_quotation purchase_order purchase_delivery_order credit_note)) { $form->{TEMPLATE_DRIVER_OPTIONS}->{variable_content_types} = $form->get_variable_content_types(); } @@ -1886,6 +1896,7 @@ sub _make_record_item { request_quotation => 'OrderItem', invoice => 'InvoiceItem', invoice_for_advance_payment => 'InvoiceItem', + final_invoice => 'InvoiceItem', credit_note => 'InvoiceItem', purchase_invoice => 'InvoiceItem', purchase_delivery_order => 'DeliveryOrderItem', @@ -1966,7 +1977,7 @@ sub _make_record { sales_delivery_order => 'DeliveryOrder', }->{$::form->{type}}; - if ($::form->{type} =~ /invoice|invoice_for_advance_payment|credit_note/) { + if ($::form->{type} =~ /invoice|credit_note/) { $class = $::form->{vc} eq 'customer' ? 'Invoice' : $::form->{vc} eq 'vendor' ? 'PurchaseInvoice' : do { die 'unknown invoice type' }; @@ -2008,7 +2019,10 @@ sub _make_record { } $obj->items(@items) if @items; - $obj->is_sales(!!$obj->customer_id) if $class eq 'SL::DB::DeliveryOrder'; + + if ($class eq 'SL::DB::DeliveryOrder' && !$obj->order_type) { + $obj->order_type(SL::DB::DeliveryOrder::TypeData::validate_type($::form->{type})); + } if ($class eq 'SL::DB::Invoice') { my $paid = $factor * @@ -2131,6 +2145,11 @@ sub show_sales_purchase_email_dialog { }; my %files = _get_files_for_email_dialog(); + + my $all_partner_email_addresses; + $all_partner_email_addresses = SL::DB::Customer->load_cached($::form->{vc_id})->get_all_email_addresses() if 'customer' eq $::form->{vc}; + $all_partner_email_addresses = SL::DB::Vendor ->load_cached($::form->{vc_id})->get_all_email_addresses() if 'vendor' eq $::form->{vc}; + my $html = $::form->parse_html_template("common/_send_email_dialog", { email_form => $email_form, show_bcc => $::auth->assert('email_bcc', 'may fail'), @@ -2138,6 +2157,7 @@ sub show_sales_purchase_email_dialog { is_customer => $::form->{vc} eq 'customer', is_invoice_mail => ($record_email && $::form->{type} eq 'invoice'), ALL_EMPLOYEES => \@employees_with_email, + ALL_PARTNER_EMAIL_ADDRESSES => $all_partner_email_addresses, }); print $::form->ajax_response_header, $html; @@ -2151,6 +2171,12 @@ sub send_sales_purchase_email { : 'is.pl'; my $email_form = delete $::form->{email_form}; + + if ($email_form->{additional_to}) { + $email_form->{to} = join ', ', grep { $_ } $email_form->{to}, @{$email_form->{additional_to}}; + delete $email_form->{additional_to}; + } + my %field_names = (to => 'email'); $::form->{ $field_names{$_} // $_ } = $email_form->{$_} for keys %{ $email_form };