X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/be6eabfc4b62af1a8173e5cbcaff0b7f0d9b6db4..9d07c34f5b429bfc118629d74b376479c37a8383:/SL/WH.pm diff --git a/SL/WH.pm b/SL/WH.pm index 7e4d5194b..a8c1ae3bf 100644 --- a/SL/WH.pm +++ b/SL/WH.pm @@ -79,7 +79,7 @@ sub transfer { my @trans_ids; my $db = SL::DB::Inventory->new->db; - $db->do_transaction(sub{ + $db->with_transaction(sub{ while (my $transfer = shift @args) { my ($trans_id) = selectrow_query($::form, $::form->get_standard_dbh, qq|SELECT nextval('id')|); @@ -110,7 +110,7 @@ sub transfer { trans_id => $trans_id, shippingdate => !$transfer->{shippingdate} || $transfer->{shippingdate} eq 'current_date' ? $now : $transfer->{shippingdate}, - map { $_ => $transfer->{$_} } qw( chargenumber bestbefore oe_id orderitems_id comment), + map { $_ => $transfer->{$_} } qw(chargenumber bestbefore oe_id delivery_order_items_stock_id invoice_id comment), ); if ($unit) { @@ -141,10 +141,12 @@ sub transfer { $part->update_attributes(warehouse_id => conv_i($transfer->{dst_warehouse_id})); $part->update_attributes(bin_id => conv_i($transfer->{dst_bin_id})); } - } + } push @trans_ids, $trans_id; } + + 1; }) or do { $::form->error("Warehouse transfer error: " . join("\n", (split(/\n/, $db->error))[0..2])); }; @@ -162,7 +164,7 @@ sub transfer_assembly { Common::check_params(\%params, qw(assembly_id dst_warehouse_id login qty unit dst_bin_id chargenumber bestbefore comment)); - my $unit = SL::DB::Manager::Unit->find_by(name => $params{unit}); + my $unit = SL::DB::Manager::Unit->find_by(name => $params{unit}); if ($unit) { my $assembly = SL::DB::Manager::Assembly->get_all( query => [ id => $params{assembly_id} ],