X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Foe.pl;h=20bb0fd28e5e86914f9e6b948bb06ec94ab7019d;hb=ce498a747292baeaf103118b5073061196d981e4;hp=cd7c1eeab20220aa2532e24cfda796d0cc220774;hpb=9ba051f59c5d02e82ca54ae19e3233f895058f9b;p=kivitendo-erp.git diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index cd7c1eeab..20bb0fd28 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; @@ -283,6 +282,7 @@ sub prepare_order { $form->{"reqdate_$i"} ||= $form->{"deliverydate_$i"}; $form->{"discount_$i"} = $form->format_amount(\%myconfig, $form->{"discount_$i"} * ($format_discounts ? 100 : 1)); $form->{"sellprice_$i"} = $form->format_amount(\%myconfig, $form->{"sellprice_$i"}); + $form->{"lastcost_$i"} = $form->format_amount(\%myconfig, $form->{"lastcost_$i"}); $form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"}); } @@ -300,8 +300,9 @@ sub form_header { check_oe_access(); - # Container for template variables. Unfortunately this has to be visible in form_footer too, so not my. - our %TMPL_VAR = (); + # Container for template variables. Unfortunately this has to be + # visible in form_footer too, so package local level and not my here. + %TMPL_VAR = (); $form->{defaultcurrency} = $form->get_default_currency(\%myconfig); @@ -518,12 +519,8 @@ sub update { map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) } qw(exchangerate) unless $recursive_call; $form->{update} = 1; - my $payment_id = $form->{payment_id} if $form->{payment_id}; - &check_name($form->{vc}); - $form->{payment_id} = $payment_id if $form->{payment_id} eq ""; - my $buysell = 'buy'; $buysell = 'sell' if ($form->{vc} eq 'vendor'); $form->{forex} = $form->check_exchangerate(\%myconfig, $form->{currency}, $form->{transdate}, $buysell); @@ -557,13 +554,15 @@ sub update { # select discount as customer_discount from customer $form->{"discount_$i"} = $form->format_amount(\%myconfig, $form->{"$form->{vc}_discount"} * 100); + $form->{"lastcost_$i"} = $form->parse_amount(\%myconfig, $form->{"lastcost_$i"}); + if ($rows) { $form->{"qty_$i"} = 1 unless ($form->parse_amount(\%myconfig, $form->{"qty_$i"})); if ($rows > 1) { &select_item; - exit; + ::end_of_request(); } else { @@ -602,6 +601,7 @@ sub update { $form->{creditremaining} -= $amount; $form->{"sellprice_$i"} = $form->format_amount(\%myconfig, $form->{"sellprice_$i"}, $decimalplaces); + $form->{"lastcost_$i"} = $form->format_amount(\%myconfig, $form->{"lastcost_$i"}, $decimalplaces); $form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"}, $dec_qty); # get pricegroups for parts @@ -689,7 +689,10 @@ sub search { $form->header(); - print $form->parse_html_template('oe/search', { %myconfig }); + print $form->parse_html_template('oe/search', { + %myconfig, + is_order => $form->{type} =~ /_order/, + }); $main::lxdebug->leave_sub(); } @@ -790,7 +793,7 @@ sub orders { my %column_defs = ( 'ids' => { 'text' => '', }, 'transdate' => { 'text' => $locale->text('Date'), }, - 'reqdate' => { 'text' => $locale->text('Required by'), }, + 'reqdate' => { 'text' => $form->{type} =~ /_order/ ? $locale->text('Required by') : $locale->text('Valid until') }, 'id' => { 'text' => $locale->text('ID'), }, 'ordnumber' => { 'text' => $locale->text('Order'), }, 'quonumber' => { 'text' => $form->{type} eq "request_quotation" ? $locale->text('RFQ') : $locale->text('Quotation'), }, @@ -1006,7 +1009,7 @@ sub save_and_close { $form->{payment_id} = $payment_id; } &update; - exit; + ::end_of_request(); } $form->{id} = 0 if $form->{saveasnew}; @@ -1060,7 +1063,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 @@ -1101,6 +1104,7 @@ sub save { $form->isblank("exchangerate", $locale->text('Exchangerate missing!')) if ($form->{currency} ne $form->{defaultcurrency}); + remove_emptied_rows(); &validate_items; my $payment_id; @@ -1114,7 +1118,7 @@ sub save { $form->{payment_id} = $payment_id; } &update; - exit; + ::end_of_request(); } $form->{id} = 0 if $form->{saveasnew}; @@ -1167,7 +1171,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 @@ -1175,7 +1179,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(); } @@ -1255,11 +1259,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); @@ -1305,7 +1309,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; @@ -1328,7 +1332,7 @@ sub invoice { if (!$exchangerate) { &backorder_exchangerate($orddate, $buysell); - exit; + ::end_of_request(); } } @@ -1676,7 +1680,7 @@ sub check_for_direct_delivery { $main::lxdebug->leave_sub(); - exit 0; + ::end_of_request(); } sub purchase_order { @@ -1760,7 +1764,7 @@ sub poso { # reset map { delete $form->{$_} } qw(id subject message cc bcc printed emailed queued customer vendor creditlimit creditremaining discount tradediscount oldinvtotal delivered ordnumber); - # if purchase_order was generated from sales_order, use lastcost_$i as sellprice_$i + # if purchase_order was generated from sales_order, use lastcost_$i as sellprice_$i if ( $form->{sales_order_to_purchase_order} ) { for my $i (1 .. $form->{rowcount}) { $form->{"sellprice_${i}"} = $form->format_amount(\%myconfig,$form->{"lastcost_${i}"}); @@ -1787,12 +1791,6 @@ sub poso { }; &prepare_order; - - # format amounts - for my $i (1 .. $form->{rowcount} - 1) { - map { $form->{"${_}_$i"} =~ s/\"/"/g } qw(partnumber description unit); - } - &update; $main::lxdebug->leave_sub(); @@ -1834,7 +1832,7 @@ sub delivery_order { delete @{$form}{qw(id subject message cc bcc printed emailed queued creditlimit creditremaining discount tradediscount oldinvtotal closed delivered)}; for my $i (1 .. $form->{rowcount}) { - map { $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if ($form->{"${_}_${i}"}) } qw(ship qty sellprice listprice basefactor discount); + 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); @@ -1859,8 +1857,6 @@ sub e_mail { $form->{print_and_save} = 1; - $print_post = 1; - my $saved_form = save_form(); save(); @@ -1900,9 +1896,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};