From 19f051397b95490022d043001819963726055eb0 Mon Sep 17 00:00:00 2001 From: mark Date: Wed, 29 Sep 2010 05:40:12 +0000 Subject: svc_pbx in signup server, RT#9380 --- FS/FS/ClientAPI/Signup.pm | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'FS') diff --git a/FS/FS/ClientAPI/Signup.pm b/FS/FS/ClientAPI/Signup.pm index d6f5f1418..ec45e79a2 100644 --- a/FS/FS/ClientAPI/Signup.pm +++ b/FS/FS/ClientAPI/Signup.pm @@ -451,6 +451,9 @@ sub new_customer { unless $packet->{'popnum'} || !scalar(qsearch('svc_acct_pop',{} )); } + elsif ( $svc_x eq 'svc_pbx' ) { + #possibly some validation will be needed + } my $agentnum; if ( exists $packet->{'session_id'} ) { @@ -585,18 +588,23 @@ sub new_customer { } $svc->child_objects( \@acct_snarf ); - push @svc, $svc; } elsif ( $svc_x eq 'svc_phone' ) { - my $svc = new FS::svc_phone ( { + push @svc, new FS::svc_phone ( { 'svcpart' => $svcpart, map { $_ => $packet->{$_} } qw( countrycode phonenum sip_password pin ), } ); - push @svc, $svc; + } elsif ( $svc_x eq 'svc_pbx' ) { + push @svc, new FS::svc_pbx ( { + 'svcpart' => $svcpart, + map { $_ => $packet->{$_} } + qw( id title ), + } ); + } else { die "unknown signup service $svc_x"; } @@ -722,14 +730,20 @@ sub new_customer { my %return = ( 'error' => '', 'signup_service' => $svc_x, + 'svcnum' => $svc[0]->svcnum, + 'custnum' => $cust_main->custnum, ); if ( $svc_x eq 'svc_acct' ) { $return{$_} = $svc[0]->$_() for qw( username _password ); } elsif ( $svc_x eq 'svc_phone' ) { $return{$_} = $svc[0]->$_() for qw( countrycode phonenum sip_password pin ); + } elsif ( $svc_x eq 'svc_pbx' ) { + #$return{$_} = $svc[0]->$_() for qw( ) #nothing yet } else { - die "unknown signup service $svc_x"; + return { 'error' => "configuration error: unknown signup service $svc_x" }; + #die "unknown signup service $svc_x"; + # return an error that's visible to someone somewhere } return \%return; -- cgit v1.2.1