X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/fdf5b8ae58b69b3a96a2255128e0524323d18cd7..49707e3c:/bin/mozilla/oe.pl diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index 4870287e7..639f2bad1 100644 --- a/bin/mozilla/oe.pl +++ b/bin/mozilla/oe.pl @@ -434,7 +434,7 @@ sub form_header { $TMPL_VAR{follow_up_trans_info} = ($form->{type} =~ /_quotation$/ ? $form->{quonumber} : $form->{ordnumber}) . " ($follow_up_vc)"; if ($form->{id}) { - my $follow_ups = FU->follow_ups('trans_id' => $form->{id}); + my $follow_ups = FU->follow_ups('trans_id' => $form->{id}, 'not_done' => 1); if (scalar @{ $follow_ups }) { $TMPL_VAR{num_follow_ups} = scalar @{ $follow_ups }; @@ -560,10 +560,12 @@ sub form_footer { } } + my $grossamount = $form->{invtotal}; + $form->{invtotal} = $form->round_amount( $form->{invtotal}, 2, 1); $form->{rounding} = $form->round_amount( - $form->round_amount($form->{invtotal}, 2, 1) - $form->round_amount($form->{invtotal}, 2) + $form->{invtotal} - $form->round_amount($grossamount, 2), + 2 ); - $form->{invtotal} = $form->round_amount( $form->{invtotal}, 2, 1); $form->{oldinvtotal} = $form->{invtotal}; $TMPL_VAR{ALL_DELIVERY_TERMS} = SL::DB::Manager::DeliveryTerm->get_all_sorted(); @@ -651,7 +653,7 @@ sub update { if ($rows > 1) { select_item(mode => $mode, pre_entered_qty => $form->{"qty_$i"}); - ::end_of_request(); + $::dispatcher->end_request; } else { @@ -1195,7 +1197,7 @@ sub save_and_close { $form->{payment_id} = $payment_id; } &update; - ::end_of_request(); + $::dispatcher->end_request; } $form->{id} = 0 if $form->{saveasnew}; @@ -1303,7 +1305,7 @@ sub save { $form->{payment_id} = $payment_id; } &update; - ::end_of_request(); + $::dispatcher->end_request; } $form->{id} = 0 if $form->{saveasnew}; @@ -1366,7 +1368,7 @@ sub save { if(!$form->{print_and_save}) { delete @{$form}{ary_diff([keys %{ $form }], [qw(login id script type cursor_fokus)])}; edit(); - ::end_of_request(); + $::dispatcher->end_request; } $main::lxdebug->leave_sub(); } @@ -1402,7 +1404,7 @@ sub delete { } # /saving the history $form->info($msg); - ::end_of_request(); + $::dispatcher->end_request; } $form->error($err); @@ -1454,7 +1456,7 @@ sub invoice { if (&check_name($form->{vc})) { $form->{payment_id} = $payment_id if $form->{payment_id} eq ""; &update; - ::end_of_request(); + $::dispatcher->end_request; } _oe_remove_delivered_or_billed_rows(id => $form->{id}, type => 'billed'); @@ -1491,11 +1493,6 @@ sub invoice { delete @{$form}{qw(id closed)}; $form->{rowcount}--; - if ($form->{type} =~ /_order$/) { - $form->{exchangerate} = $exchangerate; - &create_backorder; - } - my ($script); if ( $form->{type} eq 'purchase_order' || $form->{type} eq 'request_quotation') { @@ -1584,76 +1581,6 @@ sub save_exchangerate { $main::lxdebug->leave_sub(); } -sub create_backorder { - $main::lxdebug->enter_sub(); - - my $form = $main::form; - my %myconfig = %main::myconfig; - - $form->{shipped} = 1; - - # figure out if we need to create a backorder - # items aren't saved if qty != 0 - - my ($totalqty, $totalship); - for my $i (1 .. $form->{rowcount}) { - my $qty = $form->{"qty_$i"}; - my $ship = $form->{"ship_$i"}; - $totalqty += $qty; - $totalship += $ship; - - $form->{"qty_$i"} = $qty - $ship; - } - - if ($totalship == 0) { - map { $form->{"ship_$_"} = $form->{"qty_$_"} } (1 .. $form->{rowcount}); - $form->{ordtotal} = 0; - $form->{shipped} = 0; - return; - } - - if ($totalqty == $totalship) { - map { $form->{"qty_$_"} = $form->{"ship_$_"} } (1 .. $form->{rowcount}); - $form->{ordtotal} = 0; - return; - } - - my @flds = ( - qw(partnumber description qty ship unit sellprice discount id inventory_accno bin income_accno expense_accno listprice assembly taxaccounts partsgroup) - ); - - for my $i (1 .. $form->{rowcount}) { - map { - $form->{"${_}_$i"} = - $form->format_amount(\%myconfig, $form->{"${_}_$i"}) - } qw(sellprice discount); - } - - relink_accounts(); - - OE->save(\%myconfig, \%$form); - - # rebuild rows for invoice - my @a = (); - my $count = 0; - - for my $i (1 .. $form->{rowcount}) { - $form->{"qty_$i"} = $form->{"ship_$i"}; - - if ($form->{"qty_$i"}) { - push @a, {}; - my $j = $#a; - map { $a[$j]->{$_} = $form->{"${_}_$i"} } @flds; - $count++; - } - } - - $form->redo_rows(\@flds, \@a, $count, $form->{rowcount}); - $form->{rowcount} = $count; - - $main::lxdebug->leave_sub(); -} - sub save_as_new { $main::lxdebug->enter_sub(); @@ -1756,7 +1683,7 @@ sub check_for_direct_delivery { $main::lxdebug->leave_sub(); - ::end_of_request(); + $::dispatcher->end_request; } sub purchase_order {