diff options
Diffstat (limited to 'fs_signup')
-rwxr-xr-x | fs_signup/fs_signup_server | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/fs_signup/fs_signup_server b/fs_signup/fs_signup_server index b5fc23c28..86455a477 100755 --- a/fs_signup/fs_signup_server +++ b/fs_signup/fs_signup_server @@ -5,6 +5,7 @@ use strict; use IO::Handle; +use Tie::RefHash; use FS::SSH qw(sshopen2); use FS::UID qw(adminsuidsetup); use FS::Record qw( qsearch qsearchs ); @@ -160,16 +161,19 @@ while (1) { $error ||= $svc_acct->check; - $error ||= $cust_main->insert; - if ( $cust_pkg && ! $error ) { #in this case, $cust_pkg should always - #be definied, but.... - $cust_pkg->custnum( $cust_main->custnum ); - $error ||= $cust_pkg->insert; - warn "WARNING: $error on pre-checked cust_pkg record!" if $error; - $svc_acct->pkgnum( $cust_pkg->pkgnum ); - $error ||= $svc_acct->insert; - warn "WARNING: $error on pre-checked svc_acct record!" if $error; - } + use Tie::RefHash; + tie my %hash, 'Tie::RefHash'; + %hash = { $cust_pkg => [ $svc_acct ] }; + $error ||= $cust_main->insert( \%hash ); + #if ( $cust_pkg && ! $error ) { #in this case, $cust_pkg should always + # #be definied, but.... + # $cust_pkg->custnum( $cust_main->custnum ); + # $error ||= $cust_pkg->insert; + # warn "WARNING: $error on pre-checked cust_pkg record!" if $error; + # $svc_acct->pkgnum( $cust_pkg->pkgnum ); + # $error ||= $svc_acct->insert; + # warn "WARNING: $error on pre-checked svc_acct record!" if $error; + #} warn "[fs_signup_server] Sending results...\n" if $Debug; print $writer $error, "\n"; |