next unless $form->{$_};
$filter .= qq| AND ($_ ILIKE ?)|;
- push @filter_values, '%' . $form->{$_} . '%';
+ push @filter_values, like($form->{$_});
}
if ($form->{no_assemblies}) {
return $parts;
}
-sub retrieve_projects {
- $main::lxdebug->enter_sub();
-
- my ($self, $myconfig, $form, $order_by, $order_dir) = @_;
-
- my $dbh = $form->dbconnect($myconfig);
-
- my (@filter_values, $filter);
- if ($form->{"projectnumber"}) {
- $filter .= qq| AND (projectnumber ILIKE ?)|;
- push(@filter_values, '%' . $form->{"projectnumber"} . '%');
- }
- if ($form->{"description"}) {
- $filter .= qq| AND (description ILIKE ?)|;
- push(@filter_values, '%' . $form->{"description"} . '%');
- }
- substr($filter, 1, 3) = "WHERE" if ($filter);
-
- $order_by =~ s/[^a-zA-Z_]//g;
- $order_dir = $order_dir ? "ASC" : "DESC";
-
- my $query =
- qq|SELECT id, projectnumber, description | .
- qq|FROM project $filter | .
- qq|ORDER BY $order_by $order_dir|;
- my $sth = $dbh->prepare($query);
- $sth->execute(@filter_values) || $form->dberror($query . " (" . join(", ", @filter_values) . ")");
- my $projects = [];
- while (my $ref = $sth->fetchrow_hashref()) {
- push(@{$projects}, $ref);
- }
- $sth->finish();
- $dbh->disconnect();
-
- $main::lxdebug->leave_sub();
-
- return $projects;
-}
-
-sub retrieve_employees {
- $main::lxdebug->enter_sub();
-
- my ($self, $myconfig, $form, $order_by, $order_dir) = @_;
-
- my $dbh = $form->dbconnect($myconfig);
-
- my (@filter_values, $filter);
- if ($form->{"name"}) {
- $filter .= qq| AND (name ILIKE ?)|;
- push(@filter_values, '%' . $form->{"name"} . '%');
- }
- substr($filter, 1, 3) = "WHERE" if ($filter);
-
- $order_by =~ s/[^a-zA-Z_]//g;
- $order_dir = $order_dir ? "ASC" : "DESC";
-
- my $query =
- qq|SELECT id, name | .
- qq|FROM employee $filter | .
- qq|ORDER BY $order_by $order_dir|;
- my $sth = $dbh->prepare($query);
- $sth->execute(@filter_values) || $form->dberror($query . " (" . join(", ", @filter_values) . ")");
- my $employees = [];
- while (my $ref = $sth->fetchrow_hashref()) {
- push(@{$employees}, $ref);
- }
- $sth->finish();
- $dbh->disconnect();
-
- $main::lxdebug->leave_sub();
-
- return $employees;
-}
-
sub retrieve_customers_or_vendors {
$main::lxdebug->enter_sub();
my (@filter_values, $filter);
if ($form->{"name"}) {
$filter .= " AND (TABLE.name ILIKE ?)";
- push(@filter_values, '%' . $form->{"name"} . '%');
+ push(@filter_values, like($form->{"name"}));
}
if (!$form->{"obsolete"}) {
$filter .= " AND NOT TABLE.obsolete";
my (@filter_values, $filter);
if ($form->{"name"}) {
$filter .= qq| (name ILIKE ?) AND|;
- push(@filter_values, '%' . $form->{"name"} . '%');
+ push(@filter_values, like($form->{"name"}));
}
$order_by =~ s/[^a-zA-Z_]//g;
my (@filter_values, $filter);
if ($form->{"name"}) {
$filter .= qq| (name ILIKE ?) AND|;
- push(@filter_values, '%' . $form->{"name"} . '%');
+ push(@filter_values, like($form->{"name"}));
}
$order_by =~ s/[^a-zA-Z_]//g;
$form->{CONTACTS} = selectall_hashref_query($form, $dbh, $query, $vc_id);
# Only show default pricegroup for customer, not vendor, which is why this is outside the main query
- ($form->{pricegroup}) = selectrow_query($form, $dbh, qq|SELECT pricegroup FROM pricegroup WHERE id = ?|, $form->{klass});
+ ($form->{pricegroup}) = selectrow_query($form, $dbh, qq|SELECT pricegroup FROM pricegroup WHERE id = ?|, $form->{pricegroup_id});
$dbh->disconnect();
map { $form->{"${prefix}${_}"} = $ref->{$_} } keys %{ $ref } if $ref;
+ my $cvars = CVar->get_custom_variables(
+ dbh => $dbh,
+ module => 'ShipTo',
+ trans_id => $shipto_id,
+ );
+ $form->{"${prefix}shiptocvar_$_->{name}"} = $_->{value} for @{ $cvars };
+
$dbh->disconnect();
$main::lxdebug->leave_sub();