X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Foe.pl;h=0e469d8d3f8dee1c56aff4eaef9bbf630516925d;hb=ef92528c3f875dee2b456418adb214ccebb97361;hp=bef23176a20e37e3e04743bd7a9bf48f43b1e06a;hpb=5c3437e5b742d646d573f3c52fb68de010e7cdd0;p=kivitendo-erp.git diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index bef23176a..0e469d8d3 100644 --- a/bin/mozilla/oe.pl +++ b/bin/mozilla/oe.pl @@ -50,8 +50,7 @@ require "bin/mozilla/reportgenerator.pl"; use strict; -my $print_post; -my %TMPL_VAR; +our %TMPL_VAR; 1; @@ -302,7 +301,7 @@ sub form_header { check_oe_access(); # Container for template variables. Unfortunately this has to be - # visible in form_footer too, so my at package level and not here. + # visible in form_footer too, so package local level and not my here. %TMPL_VAR = (); $form->{defaultcurrency} = $form->get_default_currency(\%myconfig); @@ -563,7 +562,7 @@ sub update { if ($rows > 1) { &select_item; - exit; + ::end_of_request(); } else { @@ -865,6 +864,7 @@ sub orders { 'attachment_basename' => $attachment_basename . strftime('_%Y%m%d', localtime time), ); $report->set_options_from_form(); + $locale->set_numberformat_wo_thousands_separator(\%myconfig) if lc($report->{options}->{output_format}) eq 'csv'; # add sort and escape callback, this one we use for the add sub $form->{callback} = $href .= "&sort=$form->{sort}"; @@ -1010,7 +1010,7 @@ sub save_and_close { $form->{payment_id} = $payment_id; } &update; - exit; + ::end_of_request(); } $form->{id} = 0 if $form->{saveasnew}; @@ -1064,7 +1064,7 @@ sub save_and_close { if(!exists $form->{addition}) { $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber}; $form->{addition} = "SAVED"; - $form->save_history($form->dbconnect(\%myconfig)); + $form->save_history; } # /saving the history @@ -1119,7 +1119,7 @@ sub save { $form->{payment_id} = $payment_id; } &update; - exit; + ::end_of_request(); } $form->{id} = 0 if $form->{saveasnew}; @@ -1172,7 +1172,7 @@ sub save { if(!exists $form->{addition}) { $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber}; $form->{addition} = "SAVED"; - $form->save_history($form->dbconnect(\%myconfig)); + $form->save_history; } # /saving the history @@ -1180,7 +1180,7 @@ sub save { if(!$form->{print_and_save}) { delete @{$form}{ary_diff([keys %{ $form }], [qw(login stylesheet id script type cursor_fokus)])}; edit(); - exit; + ::end_of_request(); } $main::lxdebug->leave_sub(); } @@ -1260,11 +1260,11 @@ sub delete_order_quotation { if(!exists $form->{addition}) { $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber}; $form->{addition} = "DELETED"; - $form->save_history($form->dbconnect(\%myconfig)); + $form->save_history; } # /saving the history $form->info($msg); - exit(); + ::end_of_request(); } $form->error($err); @@ -1310,7 +1310,7 @@ sub invoice { if (&check_name($form->{vc})) { $form->{payment_id} = $payment_id if $form->{payment_id} eq ""; &update; - exit; + ::end_of_request(); } $form->{cp_id} *= 1; @@ -1333,7 +1333,7 @@ sub invoice { if (!$exchangerate) { &backorder_exchangerate($orddate, $buysell); - exit; + ::end_of_request(); } } @@ -1419,6 +1419,10 @@ sub invoice { } + # show pricegroup in newly loaded invoice when creating invoice from quotation/order + IS->get_pricegroups_for_parts(\%myconfig, \%$form); + set_pricegroup($_) for 1 .. $form->{rowcount}; + &display_form; $main::lxdebug->leave_sub(); @@ -1681,7 +1685,7 @@ sub check_for_direct_delivery { $main::lxdebug->leave_sub(); - exit 0; + ::end_of_request(); } sub purchase_order { @@ -1836,7 +1840,7 @@ sub delivery_order { map { $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if ($form->{"${_}_${i}"}) } qw(ship qty sellprice listprice lastcost basefactor discount); } - my %old_values = map { $_ => $form->{$_} } qw(customer_id oldcustomer customer vendor_id oldvendor vendor); + my %old_values = map { $_ => $form->{$_} } qw(customer_id oldcustomer customer vendor_id oldvendor vendor shipto_id); order_links(); @@ -1858,8 +1862,6 @@ sub e_mail { $form->{print_and_save} = 1; - $print_post = 1; - my $saved_form = save_form(); save(); @@ -1899,9 +1901,7 @@ sub display_form { } $form->{"taxaccounts"} = ""; - for my $i (1 .. $form->{"rowcount"}) { - IC->retrieve_accounts(\%myconfig, $form, $form->{"id_$i"}, $i, 1) if $form->{"id_$i"}; - } + IC->retrieve_accounts(\%myconfig, $form, map { $_ => $form->{"id_$_"} } 1 .. $form->{rowcount}); $form->{rowcount}++; $form->{"project_id_$form->{rowcount}"} = $form->{globalproject_id}; @@ -1940,3 +1940,17 @@ sub report_for_todo_list { return $content; } +sub dispatcher { + my $form = $main::form; + my $locale = $main::locale; + + foreach my $action (qw(delete delivery_order e_mail invoice print purchase_order purchase_order quotation + request_for_quotation sales_order sales_order save save_and_close save_as_new ship_to update)) { + if ($form->{"action_${action}"}) { + call_sub($action); + return; + } + } + + $form->error($locale->text('No action defined.')); +}