[freeside-commits] branch master updated. 6a8d32d234af6e667ca58c2a625741c2385d6f0b

Mark Wells mark at 420.am
Sat Jan 25 14:49:49 PST 2014


The branch, master has been updated
       via  6a8d32d234af6e667ca58c2a625741c2385d6f0b (commit)
      from  761449917d3d1d7b3a2206785e702246b8b5625e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 6a8d32d234af6e667ca58c2a625741c2385d6f0b
Author: Mark Wells <mark at freeside.biz>
Date:   Sat Jan 25 14:49:41 2014 -0800

    more useful error messages when changing packages, related to #27194

diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index 6d90e52..088eee9 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -1755,7 +1755,7 @@ sub change {
     $error = $opt->{'cust_location'}->find_or_insert;
     if ( $error ) {
       $dbh->rollback if $oldAutoCommit;
-      return "inserting cust_location (transaction rolled back): $error";
+      return "creating location record: $error";
     }
     $opt->{'locationnum'} = $opt->{'cust_location'}->locationnum;
   }
@@ -1810,7 +1810,7 @@ sub change {
       my $error = $cust_main->insert( @{ $opt->{cust_main_insert_args}||[] } );
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
-        return "inserting cust_main (transaction rolled back): $error";
+        return "inserting customer record: $error";
       }
     }
     $custnum = $cust_main->custnum;
@@ -1845,7 +1845,7 @@ sub change {
   }
   if ($error) {
     $dbh->rollback if $oldAutoCommit;
-    return $error;
+    return "inserting new package: $error";
   }
 
   # Transfer services and cancel old package.
@@ -1854,7 +1854,7 @@ sub change {
   if ($error and $error == 0) {
     # $old_pkg->transfer failed.
     $dbh->rollback if $oldAutoCommit;
-    return $error;
+    return "transferring $error";
   }
 
   if ( $error > 0 && $conf->exists('cust_pkg-change_svcpart') ) {
@@ -1863,7 +1863,7 @@ sub change {
     if ($error and $error == 0) {
       # $old_pkg->transfer failed.
       $dbh->rollback if $oldAutoCommit;
-      return $error;
+      return "converting $error";
     }
   }
 
@@ -1875,7 +1875,7 @@ sub change {
     # Transfers were successful, but we still had services left on the old
     # package.  We can't change the package under this circumstances, so abort.
     $dbh->rollback if $oldAutoCommit;
-    return "Unable to transfer all services from package ". $self->pkgnum;
+    return "unable to transfer all services";
   }
 
   #reset usage if changing pkgpart
@@ -1890,7 +1890,7 @@ sub change {
 
     if ($error) {
       $dbh->rollback if $oldAutoCommit;
-      return "Error setting usage values: $error";
+      return "setting usage values: $error";
     }
   } else {
     # if NOT changing pkgpart, transfer any usage pools over
@@ -1899,7 +1899,7 @@ sub change {
       $error = $usage->replace;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
-        return "Error transferring usage pools: $error";
+        return "transferring usage pools: $error";
       }
     }
   }
@@ -1932,7 +1932,7 @@ sub change {
       $error = $new_discount->insert;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
-        return "Error transferring discounts: $error";
+        return "transferring discounts: $error";
       }
     }
   }
@@ -1945,7 +1945,7 @@ sub change {
     $error = $new_detail->insert;
     if ( $error ) {
       $dbh->rollback if $oldAutoCommit;
-      return "Error transferring package notes: $error";
+      return "transferring package notes: $error";
     }
   }
   
@@ -2024,7 +2024,7 @@ sub change {
   );
   if ($error) {
     $dbh->rollback if $oldAutoCommit;
-    return $error;
+    return "canceling old package: $error";
   }
 
   if ( $conf->exists('cust_pkg-change_pkgpart-bill_now') ) {
@@ -2034,7 +2034,7 @@ sub change {
     );
     if ( $error ) {
       $dbh->rollback if $oldAutoCommit;
-      return $error;
+      return "billing new package: $error";
     }
   }
 
@@ -3542,13 +3542,14 @@ sub transfer {
   }
 
   foreach my $cust_svc ($self->cust_svc) {
+    my $svcnum = $cust_svc->svcnum;
     if($target{$cust_svc->svcpart} > 0
        or $FS::cust_svc::ignore_quantity) { # maybe should be a 'force' option
       $target{$cust_svc->svcpart}--;
       my $new = new FS::cust_svc { $cust_svc->hash };
       $new->pkgnum($dest_pkgnum);
       my $error = $new->replace($cust_svc);
-      return $error if $error;
+      return "svcnum $svcnum: $error" if $error;
     } elsif ( exists $opt{'change_svcpart'} && $opt{'change_svcpart'} ) {
       if ( $DEBUG ) {
         warn "looking for alternates for svcpart ". $cust_svc->svcpart. "\n";
@@ -3569,7 +3570,7 @@ sub transfer {
         $new->svcpart($change_svcpart);
         $new->pkgnum($dest_pkgnum);
         my $error = $new->replace($cust_svc);
-        return $error if $error;
+        return "svcnum $svcnum: $error" if $error;
       } else {
         $remaining++;
       }

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/cust_pkg.pm |   29 +++++++++++++++--------------
 1 files changed, 15 insertions(+), 14 deletions(-)




More information about the freeside-commits mailing list