use Carp;
use List::Util qw(max);
-use YAML;
+use Text::ParseWords;
use SL::AM;
use SL::Common;
use SL::TransNumber;
use SL::DB;
use SL::Util qw(trim);
+use SL::YAML;
use strict;
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};
}
push @values, like($form->{parts_description});
}
+ if ($form->{all}) {
+ my @tokens = parse_line('\s+', 0, $form->{all});
+ # ordnumber quonumber customer.name vendor.name transaction_description
+ push @where, <<SQL for @tokens;
+ ( (dord.donumber ILIKE ?)
+ OR (ct.name ILIKE ?)
+ OR (dord.transaction_description ILIKE ?))
+SQL
+ push @values, (like($_))x3 for @tokens;
+ }
+
if (@where) {
$query .= " WHERE " . join(" AND ", map { "($_)" } @where);
}
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}),
push @{ $requests }, $ref;
}
- $doi->{"stock_${in_out}"} = YAML::Dump($requests);
+ $doi->{"stock_${in_out}"} = SL::YAML::Dump($requests);
}
$sth->finish();
push @{ $form->{TEMPLATE_ARRAYS}{si_unit}[$si_position-1] }, $si->{unit};
}
- if ($form->{"assembly_$i"}) {
+ if ($form->{"part_type_$i"} eq 'assembly') {
$sameitem = "";
# get parts and push them onto the stack
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"}));
$main::lxdebug->leave_sub();
}
-sub project_description {
- $main::lxdebug->enter_sub();
-
- my ($self, $dbh, $id) = @_;
-
- my $form = $main::form;
-
- my $query = qq|SELECT description FROM project WHERE id = ?|;
- my ($value) = selectrow_query($form, $dbh, $query, $id);
-
- $main::lxdebug->leave_sub();
-
- return $value;
-}
-
sub unpack_stock_information {
$main::lxdebug->enter_sub();
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));