diff options
author | ivan <ivan> | 2010-05-14 02:16:30 +0000 |
---|---|---|
committer | ivan <ivan> | 2010-05-14 02:16:30 +0000 |
commit | b4f0a47a6893de5f6b11f32307a0195f43a359fb (patch) | |
tree | 749102ae050bed9f9da83a7f4949e661b6c6efac /FS | |
parent | 0bdb687a64bc8340f9835bc0659be93166cbeb09 (diff) |
fix losing rates when renaming a rate plan, RT#8173
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/rate.pm | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/FS/FS/rate.pm b/FS/FS/rate.pm index 347bb2743..793846a7f 100644 --- a/FS/FS/rate.pm +++ b/FS/FS/rate.pm @@ -364,6 +364,7 @@ sub process { 'dest_regionnum' => $regionnum, map { $_ => $param->{"$_$regionnum"} } qw( min_included min_charge sec_granularity ) + #qw( min_included conn_charge conn_sec min_charge sec_granularity ) }; } else { @@ -371,6 +372,9 @@ sub process { new FS::rate_detail { 'dest_regionnum' => $regionnum, 'min_included' => 0, + 'conn_charge' => 0, + 'conn_sec' => 0, + 'conn_charge' => 0, 'min_charge' => 0, 'sec_granularity' => '60' }; @@ -387,10 +391,13 @@ sub process { my $error = ''; if ( $param->{'ratenum'} ) { warn "$rate replacing $old (". $param->{'ratenum'}. ")\n" if $DEBUG; - $error = $rate->replace( $old, - 'rate_detail' => \@rate_detail, - 'job' => $job, - ); + + my @param = ( 'job'=>$job ); + push @param, 'rate_detail'=>\@rate_detail + unless $param->{'preserve_rate_detail'}; + + $error = $rate->replace( $old, @param ); + } else { warn "inserting $rate\n" if $DEBUG; $error = $rate->insert( 'rate_detail' => \@rate_detail, |