my ($self, $myconfig, $form) = @_;
my @values;
# connect to database, turn off AutoCommit
- my $dbh = $form->dbconnect_noauto($myconfig);
+ my $dbh = $form->get_standard_dbh;
# save the part
# make up a unique handle and store in partnumber field
# commit
my $rc = $dbh->commit;
- $dbh->disconnect;
$main::lxdebug->leave_sub();
my %columns = ( "assembly" => "id", "parts" => "id" );
- for my $table (qw(prices partstax makemodel inventory assembly license translation parts)) {
+ for my $table (qw(prices partstax makemodel inventory assembly translation parts)) {
my $column = defined($columns{$table}) ? $columns{$table} : "parts_id";
do_query($form, $dbh, qq|DELETE FROM $table WHERE $column = ?|, @values);
}
push(@values, '%' . $form->{"${column}_$i"} . '%');
}
- if ($form->{"id_${i}"}) {
- $where .= qq| AND p.id = ?|;
- push @values, $form->{"id_${i}"};
- }
-
if ($form->{id}) {
$where .= qq| AND NOT (p.id = ?)|;
push(@values, conv_i($form->{id}));
}
+ # Search for part ID overrides all other criteria.
+ if ($form->{"id_${i}"}) {
+ $where = qq|p.id = ?|;
+ @values = ($form->{"id_${i}"});
+ }
+
if ($form->{partnumber}) {
$where .= qq| ORDER BY p.partnumber|;
} else {
}
}
+ if ($form->{"partsgroup_id"}) {
+ $form->{"l_partsgroup"} = '1'; # show the column
+ push @where_tokens, "pg.id = ?";
+ push @bind_vars, $form->{"partsgroup_id"};
+ }
+
foreach (@like_filters) {
next unless $form->{$_};
$form->{"l_$_"} = '1'; # show the column