From: Sven Schöling Date: Wed, 8 Jan 2014 10:42:41 +0000 (+0100) Subject: Merge branch 'master' of github.com:kivitendo/kivitendo-erp X-Git-Tag: release-3.1.0beta1~22^2~22^2~19 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/commitdiff_plain/15cfd696637c6734459068dc5ff8f97b8ebe9d25?hp=c4a38e5bc67a92f4a680a0a31f80037f93ac720d Merge branch 'master' of github.com:kivitendo/kivitendo-erp --- diff --git a/bin/mozilla/do.pl b/bin/mozilla/do.pl index 0258966f0..776a99274 100644 --- a/bin/mozilla/do.pl +++ b/bin/mozilla/do.pl @@ -38,6 +38,7 @@ use SL::DB::DeliveryOrder; use SL::DO; use SL::IR; use SL::IS; +use SL::MoreCommon qw(ary_diff); use SL::ReportGenerator; use SL::WH; require "bin/mozilla/arap.pl"; @@ -415,6 +416,12 @@ sub update_delivery_order { $form->{"sellprice_$i"} = $form->format_amount(\%myconfig, $form->{"sellprice_$i"} * (1 - $form->{tradediscount})); $form->{"lastcost_$i"} = $form->format_amount(\%myconfig, $form->{"lastcost_$i"}); $form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"}); + + # get pricegroups for parts + IS->get_pricegroups_for_parts(\%myconfig, \%$form); + + # build up html code for prices_$i + &set_pricegroup($i); } display_form(); @@ -687,8 +694,8 @@ sub save { $form->{simple_save} = 1; if (!$params{no_redirect} && !$form->{print_and_save}) { - set_headings("edit"); - update(); + delete @{$form}{ary_diff([keys %{ $form }], [qw(login id script type cursor_fokus)])}; + edit(); ::end_of_request(); } $main::lxdebug->leave_sub(); @@ -829,7 +836,7 @@ sub invoice { $form->{"sellprice_pg_$i"} = join '--', $form->{"sellprice_$i"}, $form->{"pricegroup_id_$i"}; } IS->get_pricegroups_for_parts(\%myconfig, \%$form); - set_pricegroup($_) for 1 .. $form->{rowcount}; + set_pricegroup($form->{rowcount}); display_form(); diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index 0ba19916f..480de9766 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -421,7 +421,9 @@ sub display_row { if ($is_delivery_order) { map { $form->{"${_}_${i}"} = $form->format_amount(\%myconfig, $form->{"${_}_${i}"}) } qw(sellprice discount lastcost); - push @hidden_vars, qw(sellprice discount not_discountable price_factor_id lastcost pricegroup_id); + $form->{"pricegroup_id_$i"} = $form->{"pricegroup_old_$i"} if $form->{"pricegroup_old_$i"}; + $form->{"sellprice_pg_$i"} = $form->{"hidden_prices_$i"} if $form->{"hidden_prices_$i"}; + push @hidden_vars, grep { defined $form->{"${_}_${i}"} } qw(sellprice discount not_discountable price_factor_id lastcost pricegroup_id sellprice_pg); push @hidden_vars, "stock_${stock_in_out}_sum_qty", "stock_${stock_in_out}"; } @@ -483,6 +485,10 @@ sub set_pricegroup { $form->{"sellprice_$j"} = $item->{price} if $item->{selected} && $item->{pricegroup_id}; $form->{"price_new_$j"} = $form->{"sellprice_$j"} if $item->{selected} || !$item->{pricegroup_id}; } + + # save hidden pricegroups for delivery_orders + next unless my @selected_prices = grep { $_->{selected} } @{ $form->{PRICES}{$j} }; + $form->{"hidden_prices_$j"} = $selected_prices[-1]{price} . "--" . $selected_prices[-1]{pricegroup_id}; } $main::lxdebug->leave_sub(); }