[freeside-commits] branch master updated. 5cfa294b20d7b7d96e9b8665ab51c3a897dab424

Ivan ivan at 420.am
Fri May 8 13:00:09 PDT 2015


The branch, master has been updated
       via  5cfa294b20d7b7d96e9b8665ab51c3a897dab424 (commit)
      from  00a60cd6783c5bf541a49ed41e945151773f130f (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 5cfa294b20d7b7d96e9b8665ab51c3a897dab424
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Fri May 8 13:00:07 2015 -0700

    fix svc_phone provisioning with new location, RT#34069

diff --git a/FS/FS/svc_Common.pm b/FS/FS/svc_Common.pm
index 9d9e50f..c87acb9 100644
--- a/FS/FS/svc_Common.pm
+++ b/FS/FS/svc_Common.pm
@@ -282,7 +282,7 @@ sub insert {
     $self->svcpart($cust_svc->svcpart);
   }
 
-  my $error =    $self->preinsert_hook_first
+  my $error =    $self->preinsert_hook_first(%options)
               || $self->set_auto_inventory
               || $self->check
               || $self->_check_duplicate
diff --git a/FS/FS/svc_phone.pm b/FS/FS/svc_phone.pm
index 525025f..326c0be 100644
--- a/FS/FS/svc_phone.pm
+++ b/FS/FS/svc_phone.pm
@@ -325,46 +325,20 @@ error, otherwise returns false.
 
 =cut
 
-sub insert {
-  my $self = shift;
-  my %options = @_;
+sub preinsert_hook_first {
+  my( $self, %options ) = @_;
 
-  if ( $DEBUG ) {
-    warn "[$me] insert called on $self: ". Dumper($self).
-         "\nwith options: ". Dumper(%options);
-  }
-
-  local $SIG{HUP} = 'IGNORE';
-  local $SIG{INT} = 'IGNORE';
-  local $SIG{QUIT} = 'IGNORE';
-  local $SIG{TERM} = 'IGNORE';
-  local $SIG{TSTP} = 'IGNORE';
-  local $SIG{PIPE} = 'IGNORE';
-
-  my $oldAutoCommit = $FS::UID::AutoCommit;
-  local $FS::UID::AutoCommit = 0;
-  my $dbh = dbh;
+  return '' unless $options{'cust_location'};
 
   #false laziness w/cust_pkg.pm... move this to location_Mixin?  that would
   #make it more of a base class than a mixin... :)
-  if ( $options{'cust_location'} ) {
-    $options{'cust_location'}->custnum( $self->cust_svc->cust_pkg->custnum );
-    my $error = $options{'cust_location'}->find_or_insert;
-    if ( $error ) {
-      $dbh->rollback if $oldAutoCommit;
-      return "inserting cust_location (transaction rolled back): $error";
-    }
-    $self->locationnum( $options{'cust_location'}->locationnum );
-  }
+  $options{'cust_location'}->custnum( $self->cust_svc->cust_pkg->custnum );
+  my $error = $options{'cust_location'}->find_or_insert;
+  return "inserting cust_location (transaction rolled back): $error"
+    if $error;
+  $self->locationnum( $options{'cust_location'}->locationnum );
   #what about on-the-fly edits?  if the ui supports it?
 
-  my $error = $self->SUPER::insert(%options);
-  if ( $error ) {
-    $dbh->rollback if $oldAutoCommit;
-    return $error;
-  }
-
-  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
   '';
 
 }

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

Summary of changes:
 FS/FS/svc_Common.pm |    2 +-
 FS/FS/svc_phone.pm  |   42 ++++++++----------------------------------
 2 files changed, 9 insertions(+), 35 deletions(-)




More information about the freeside-commits mailing list