update quickpay for current search capabilities
[freeside.git] / FS / FS / svc_acct.pm
index 86132ff..bb9fe67 100644 (file)
@@ -273,6 +273,16 @@ sub insert {
                                'domsvc'   => $self->domsvc,
                              } );
 
+  if ( $self->svcnum ) {
+    my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$self->svcnum});
+    unless ( $cust_svc ) {
+      $dbh->rollback if $oldAutoCommit;
+      return "no cust_svc record found for svcnum ". $self->svcnum;
+    }
+    $self->pkgnum($cust_svc->pkgnum);
+    $self->svcpart($cust_svc->svcpart);
+  }
+
   my $part_svc = qsearchs( 'part_svc', { 'svcpart' => $self->svcpart } );
   return "Unknown svcpart" unless $part_svc;
   return "uid in use"
@@ -529,7 +539,7 @@ sub vpopmail_sync {
   my ($machine, $dir, $uid, $gid) = split (/\s+/, $vpopmailmachines[0]);
   
   chdir $exportdir;
-  my @args = ("$rsync", "-rlpt", "-e", "$ssh", "domains/", "vpopmail\@$machine:$vpoppdir/domains/");
+  my @args = ("$rsync", "-rlpt", "-e", "$ssh", "domains/", "vpopmail\@$machine:$vpopdir/domains/");
   system {$args[0]} @args;
 
 }
@@ -1030,7 +1040,8 @@ sub vpopmail_replace_password {
   close(VPASSWD);
 
   my $queue = new FS::queue { 'job' => 'FS::svc_acct::vpopmail_sync' };
-  $error = $queue->insert;
+  my $error = $queue->insert;
+  die $error if $error;
 
   1;
 }