bulk remove package def options, RT#86028
authorIvan Kohler <ivan@freeside.biz>
Tue, 24 May 2022 02:45:20 +0000 (19:45 -0700)
committerIvan Kohler <ivan@freeside.biz>
Tue, 24 May 2022 02:45:20 +0000 (19:45 -0700)
bin/part_pkg-bulk_change

index c882954..b8c1b8d 100755 (executable)
@@ -29,6 +29,12 @@ foreach my $part_pkg ( qsearch('part_pkg',\%search) ) {
 
     my $part_pkg_option = qsearchs('part_pkg_option', \%hash);
 
+    unless ( defined $opt_v ) {
+      my $error = $part_pkg_option && $part_pkg_option->delete;
+      die $error if $error;
+      next;
+    }
+
     if ( $part_pkg_option ) {
       next if $part_pkg_option->optionvalue eq $opt_v;
       $part_pkg_option->optionvalue($opt_v);
@@ -84,7 +90,7 @@ Search options:
 
 Change options:
 
--o: part_pkg_option optionname
+-o: part_pkg_option optionname (use without -v to unset)
 
 -v: part_pkg_option optionvalue