diff options
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/ClientAPI/Signup.pm | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/FS/FS/ClientAPI/Signup.pm b/FS/FS/ClientAPI/Signup.pm index 963a73a36..bd8e1a4be 100644 --- a/FS/FS/ClientAPI/Signup.pm +++ b/FS/FS/ClientAPI/Signup.pm @@ -53,7 +53,11 @@ sub signup_info { my $href = $_->pkgpart_hashref; $_->agentnum => [ - map { { 'payby' => [ $_->payby ], %{$_->hashref} } } + map { { 'payby' => [ $_->payby ], + 'freq_pretty' => $_->freq_pretty, + 'options' => { $_->options }, + %{$_->hashref} + } } grep { $_->svcpart('svc_acct') && $href->{ $_->pkgpart } } qsearch( 'part_pkg', { 'disabled' => '' } ) ]; @@ -96,12 +100,17 @@ sub signup_info { if ( grep { $conf->exists($_) } @addl ) { $signup_info->{optional_packages} = []; + $signup_info->{optional_packages_options} = []; foreach my $addl ( @addl ) { my $classnum = $conf->config($addl) or next; my @pkgs = map { $_->hashref } qsearch( 'part_pkg', { classnum => $classnum } ); push @{$signup_info->{optional_packages}}, \@pkgs; + my @options = map { { $_->options, + 'freq_pretty' => $_->freq_pretty + } } @pkgs; + push @{$signup_info->{options_packages_options}}, \@options } } @@ -139,7 +148,11 @@ sub signup_info { if ( $packet->{'reg_code'} ) { $signup_info->{'part_pkg'} = - [ map { { 'payby' => [ $_->payby ], %{$_->hashref} } } + [ map { { 'payby' => [ $_->payby ], + 'freq_pretty' => $_->freq_pretty, + 'options' => { $_->options }, + %{$_->hashref} + } } grep { $_->svcpart('svc_acct') } map { $_->part_pkg } qsearchs( 'reg_code', { 'code' => $packet->{'reg_code'}, @@ -153,7 +166,11 @@ sub signup_info { } elsif ( $packet->{'promo_code'} ) { $signup_info->{'part_pkg'} = - [ map { { 'payby' => [ $_->payby ], %{$_->hashref} } } + [ map { { 'payby' => [ $_->payby ], + 'freq_pretty' => $_->freq_pretty, + 'options' => { $_->options }, + %{$_->hashref} + } } grep { $_->svcpart('svc_acct') } qsearch( 'part_pkg', { 'promo_code' => { op=>'ILIKE', |