additional info available for self-service success (ticket 1420)
[freeside.git] / FS / FS / ClientAPI / Signup.pm
index 963a73a..bd8e1a4 100644 (file)
@@ -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',