From: Ivan Kohler Date: Thu, 28 Feb 2019 11:44:21 +0000 (-0800) Subject: fix -C, RT#82943 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=8b2094d8837af641d3d28b7a76fa460c7d85456e fix -C, RT#82943 --- diff --git a/bin/part_pkg-bulk_change b/bin/part_pkg-bulk_change index 176965baf..5347da6be 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 ) {