diff options
author | Ivan Kohler <ivan@freeside.biz> | 2019-02-28 03:44:21 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2019-02-28 03:44:21 -0800 |
commit | 8b2094d8837af641d3d28b7a76fa460c7d85456e (patch) | |
tree | cd4579d7999198770a6cf019639b88c1b9b5ce8a | |
parent | d285949574cc657ff52a49c028478361442b9e22 (diff) |
fix -C, RT#82943
-rwxr-xr-x | bin/part_pkg-bulk_change | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/bin/part_pkg-bulk_change b/bin/part_pkg-bulk_change index 176965b..5347da6 100755 --- a/bin/part_pkg-bulk_change +++ b/bin/part_pkg-bulk_change @@ -16,9 +16,18 @@ adminsuidsetup $user; my %search = (); $search{'plan'} = $opt_p if $opt_p; $search{'comment'} = $opt_m if $opt_m; -$search{'classnum'} = { op=>'NOT IN', value=>"($opt_C)" } if $opt_C; -foreach my $part_pkg ( qsearch('part_pkg',\%search) ) { +my $extra_sql = ''; +$extra_sql = ( keys(%search) ? 'AND' : 'WHERE' ). + " classnum NOT IN ($opt_C)" + if $opt_C; + +foreach my $part_pkg ( qsearch({ 'table' => 'part_pkg', + 'hashref' => \%search, + 'extra_sql' => $extra_sql, + }) + ) +{ next if ! $part_pkg->freq && $opt_r; if ( $opt_o ) { |