RT#35197: Apply changes button in Edit rate plan screen clears the global default
[freeside.git] / FS / FS / rate.pm
index 9a5b905..03dde04 100644 (file)
@@ -347,7 +347,7 @@ sub dest_detail {
       });
     }
 
-    return '' unless $rate_prefix;
+    return $self->default_detail unless $rate_prefix;
 
     $regionnum = $rate_prefix->regionnum;
 
@@ -422,13 +422,10 @@ Job-queue processor for web interface adds/edits
 
 =cut
 
-use Storable qw(thaw);
 use Data::Dumper;
-use MIME::Base64;
 sub process {
   my $job = shift;
-
-  my $param = thaw(decode_base64(shift));
+  my $param = shift;
   warn Dumper($param) if $DEBUG;
 
   my $old = qsearchs('rate', { 'ratenum' => $param->{'ratenum'} } )
@@ -472,8 +469,11 @@ sub process {
     warn "$rate replacing $old (". $param->{'ratenum'}. ")\n" if $DEBUG;
 
     my @param = ( 'job'=>$job );
-    push @param, 'rate_detail'=>\@rate_detail
-      unless $param->{'preserve_rate_detail'};
+    if ($param->{'preserve_rate_detail'}) {
+      $rate->default_detailnum($old->default_detailnum);
+    } else {
+      push @param, 'rate_detail'=>\@rate_detail;
+    }
 
     $error = $rate->replace( $old, @param );