summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/ClientAPI/Signup.pm23
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',