X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDO.pm;h=90599a7de193e4b06685fc23d542c1badb856edd;hb=4d4ca4a599d0a4728c24278c7010005e17aacbbb;hp=6a9195332db9b08b8896837dde5908690da09211;hpb=0c227fb25b4f1547bf3b2be5e5711f0bffe591d1;p=kivitendo-erp.git diff --git a/SL/DO.pm b/SL/DO.pm index 6a9195332..90599a7de 100644 --- a/SL/DO.pm +++ b/SL/DO.pm @@ -37,7 +37,6 @@ package DO; use Carp; use List::Util qw(max); use Text::ParseWords; -use YAML; use SL::AM; use SL::Common; @@ -52,6 +51,7 @@ use SL::IC; use SL::TransNumber; use SL::DB; use SL::Util qw(trim); +use SL::YAML; use strict; @@ -129,7 +129,7 @@ sub transactions { push @where, "dord.$item = ?"; push @values, conv_i($form->{$item}); } - if (!$main::auth->assert('sales_all_edit', 1)) { + if ( !(($vc eq 'customer' && $main::auth->assert('sales_all_edit', 1)) || ($vc eq 'vendor' && $main::auth->assert('purchase_all_edit', 1))) ) { push @where, qq|dord.employee_id = (select id from employee where login= ?)|; push @values, $::myconfig{login}; } @@ -450,7 +450,7 @@ SQL conv_i($sinfo->{bin_id})); $h_item_stock_id->finish(); # write back the id to the form (important if only transfer was clicked (id fk for invoice) - $form->{"stock_${in_out}_$i"} = YAML::Dump($stock_info); + $form->{"stock_${in_out}_$i"} = SL::YAML::Dump($stock_info); } @values = ($form->{"delivery_order_items_id_$i"}, $sinfo->{qty}, $sinfo->{unit}, conv_i($sinfo->{warehouse_id}), conv_i($sinfo->{bin_id}), $sinfo->{chargenumber}, conv_date($sinfo->{bestbefore}), @@ -511,7 +511,7 @@ SQL $query = qq|UPDATE delivery_orders SET donumber = ?, ordnumber = ?, cusordnumber = ?, transdate = ?, vendor_id = ?, - customer_id = ?, reqdate = ?, + customer_id = ?, reqdate = ?, tax_point = ?, shippingpoint = ?, shipvia = ?, notes = ?, intnotes = ?, closed = ?, delivered = ?, department_id = ?, language_id = ?, shipto_id = ?, globalproject_id = ?, employee_id = ?, salesman_id = ?, cp_id = ?, transaction_description = ?, @@ -522,7 +522,7 @@ SQL @values = ($form->{donumber}, $form->{ordnumber}, $form->{cusordnumber}, conv_date($form->{transdate}), conv_i($form->{vendor_id}), conv_i($form->{customer_id}), - conv_date($form->{reqdate}), $form->{shippingpoint}, $form->{shipvia}, + conv_date($form->{reqdate}), conv_date($form->{tax_point}), $form->{shippingpoint}, $form->{shipvia}, $restricter->process($form->{notes}), $form->{intnotes}, $form->{closed} ? 't' : 'f', $form->{delivered} ? "t" : "f", conv_i($form->{department_id}), conv_i($form->{language_id}), conv_i($form->{shipto_id}), @@ -693,7 +693,7 @@ sub retrieve { # so if any of these infos is important (or even different) for any item, # it will be killed out and then has to be fetched from the item scope query further down $query = - qq|SELECT dord.cp_id, dord.donumber, dord.ordnumber, dord.transdate, dord.reqdate, + qq|SELECT dord.cp_id, dord.donumber, dord.ordnumber, dord.transdate, dord.reqdate, dord.tax_point, dord.shippingpoint, dord.shipvia, dord.notes, dord.intnotes, e.name AS employee, dord.employee_id, dord.salesman_id, dord.${vc}_id, cv.name AS ${vc}, @@ -833,7 +833,7 @@ sub retrieve { push @{ $requests }, $ref; } - $doi->{"stock_${in_out}"} = YAML::Dump($requests); + $doi->{"stock_${in_out}"} = SL::YAML::Dump($requests); } $sth->finish(); @@ -1030,9 +1030,9 @@ sub order_details { my $sortorder = ""; if ($form->{groupitems}) { $sortorder = - qq|ORDER BY pg.partsgroup, a.oid|; + qq|ORDER BY pg.partsgroup, a.position|; } else { - $sortorder = qq|ORDER BY a.oid|; + $sortorder = qq|ORDER BY a.position|; } do_statement($form, $h_pg, $q_pg, conv_i($form->{"id_$i"})); @@ -1095,7 +1095,7 @@ sub unpack_stock_information { my $unpacked; - eval { $unpacked = $params{packed} ? YAML::Load($params{packed}) : []; }; + eval { $unpacked = $params{packed} ? SL::YAML::Load($params{packed}) : []; }; $unpacked = [] if (!$unpacked || ('ARRAY' ne ref $unpacked));