RT# 73422 Changes to report Customer Contacts
[freeside.git] / FS / FS / cust_pkg.pm
index b256dae..7d68323 100644 (file)
@@ -2372,7 +2372,8 @@ sub change {
     $same_pkgpart = 0;
   }
 
-  $self->set('waive_setup', $opt->{'waive_setup'}) if $opt->{'waive_setup'};
+  if ($opt->{'waive_setup'}) { $self->set('waive_setup', $opt->{'waive_setup'}) }
+  else { $self->set('waive_setup', ''); }
 
   # Before going any further here: if the package is still in the pre-setup
   # state, it's safe to modify it in place. No need to charge/credit for 
@@ -2622,9 +2623,9 @@ sub change {
     foreach my $old_discount ($self->cust_pkg_discount_active) {
       # don't remove the old discount, we may still need to bill that package.
       my $new_discount = new FS::cust_pkg_discount {
-        'pkgnum'      => $cust_pkg->pkgnum,
-        'discountnum' => $old_discount->discountnum,
-        'months_used' => $old_discount->months_used,
+        'pkgnum' => $cust_pkg->pkgnum,
+        map { $_ => $old_discount->$_() }
+          qw( discountnum months_used end_date usernum setuprecur ),
       };
       $error = $new_discount->insert;
       if ( $error ) {