$form->{partnumber} ||= $trans_number->create_unique;
($form->{id}) = selectrow_query($form, $dbh, qq|SELECT nextval('id')|);
- do_query($form, $dbh, qq|INSERT INTO parts (id, partnumber, unit) VALUES (?, ?, '')|, $form->{id}, $form->{partnumber});
+ do_query($form, $dbh, qq|INSERT INTO parts (id, partnumber, unit) VALUES (?, ?, ?)|, $form->{id}, $form->{partnumber}, $form->{unit});
$form->{orphaned} = 1;
}
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
my $select_clause = join ', ', map { $token_builder->($_, 1) } @select_tokens;
my $join_clause = join ' ', @joins{ grep $joins_needed{$_}, @join_order };
my $where_clause = join ' AND ', map { "($_)" } @where_tokens;
- my $group_clause = ' GROUP BY ' . join ', ', map { $token_builder->($_) } @group_tokens if scalar @group_tokens;
+ my $group_clause = @group_tokens ? ' GROUP BY ' . join ', ', map { $token_builder->($_) } @group_tokens : '';
my %oe_flag_to_cvar = (
bought => 'invoice',