merge
authorIvan Kohler <ivan@freeside.biz>
Sun, 18 Aug 2013 05:41:28 +0000 (22:41 -0700)
committerIvan Kohler <ivan@freeside.biz>
Sun, 18 Aug 2013 05:41:28 +0000 (22:41 -0700)
1  2 
FS/FS/Schema.pm
FS/FS/cust_main/Billing_Realtime.pm
bin/part_pkg-bulk_change

diff --cc FS/FS/Schema.pm
Simple merge
Simple merge
@@@ -1,50 -1,40 +1,53 @@@
  #!/usr/bin/perl
  
  use strict;
- use vars qw( $opt_r $opt_o $opt_v $opt_t );
 -use vars qw( $opt_r $opt_p $opt_o $opt_v );
++use vars qw( $opt_r $opt_p $opt_o $opt_v $opt_t );
  use Getopt::Std;
  use FS::UID qw(adminsuidsetup);
  use FS::Record qw(qsearch qsearchs);
  use FS::part_pkg;
  use FS::part_pkg_option;
  
- getopts('ro:v:t:');
 -getopts('rp:o:v:');
++getopts('rp:o:v:t:');
  
  my $user = shift or &usage;
  adminsuidsetup $user;
  
- foreach my $part_pkg ( qsearch('part_pkg', {}) ) {
+ my %plan;
+ %plan = ( 'plan' => $opt_p ) if $opt_p;
+ foreach my $part_pkg ( qsearch('part_pkg',\%plan) ) {
    next if ! $part_pkg->freq && $opt_r;
  
 -  my %hash = (
 -    'pkgpart'    => $part_pkg->pkgpart,
 -    'optionname' => $opt_o,
 -  );
 -
 -  my $part_pkg_option = qsearchs('part_pkg_option', \%hash);
 -
 -  if ( $part_pkg_option ) {
 -    next if $part_pkg_option->optionvalue eq $opt_v;
 -    $part_pkg_option->optionvalue($opt_v);
 -    my $error = $part_pkg_option->replace;
 -    die $error if $error;
 -  } else {
 -    $part_pkg_option = new FS::part_pkg_option { %hash, 'optionvalue'=>$opt_v };
 -    my $error = $part_pkg_option->insert;
 -    die $error if $error;
 +  if ( $opt_o ) {
 +
 +    my %hash = (
 +      'pkgpart'    => $part_pkg->pkgpart,
 +      'optionname' => $opt_o,
 +    );
 +
 +    my $part_pkg_option = qsearchs('part_pkg_option', \%hash);
 +
 +    if ( $part_pkg_option ) {
 +      next if $part_pkg_option->optionvalue eq $opt_v;
 +      $part_pkg_option->optionvalue($opt_v);
 +      my $error = $part_pkg_option->replace;
 +      die $error if $error;
 +    } else {
 +      $part_pkg_option = new FS::part_pkg_option { %hash,
 +                                                   'optionvalue'=>$opt_v,
 +                                                 };
 +      my $error = $part_pkg_option->insert;
 +      die $error if $error;
 +    }
 +
 +  }
 +
 +  if ( $opt_t ) {
 +
 +    $part_pkg->taxclass($opt_t);
 +    my $error = $part_pkg->replace;
 +
    }
  
  }