'countrydefault' => $conf->config('countrydefault') || 'US',
'refnum' => $conf->config('signup_server-default_refnum'),
-
};
+
+
+ if ($conf->exists('signup_server-classnum2') || $conf->exists('signup_server-classnum3')) {
+ $signup_info->{optional_packages} = [];
+
+ if (my $classnum = $conf->config('signup_server-classnum2')) {
+ my @pkgs = map { $_->hashref } FS::Record::qsearch( 'part_pkg', { classnum => $classnum } );
+ push @{$signup_info->{optional_packages}}, \@pkgs;
+ }
+
+ if (my $classnum = $conf->config('signup_server-classnum3')) {
+ my @pkgs = map { $_->hashref } FS::Record::qsearch( 'part_pkg', { classnum => $classnum } );
+ push @{$signup_info->{optional_packages}}, \@pkgs;
+ }
+
+ }
+
my $agentnum = $conf->config('signup_server-default_agentnum');
my $session = '';
'description' => 'Run billing for signup server signups immediately, and do not provision accounts which subsequently have a balance.',
'type' => 'checkbox',
},
+ {
+ key => 'signup_server-classnum2',
+ section => '',
+ description => 'Package Class for first optional purchase',
+ type => 'select-sub',
+ options_sub => sub { my @o = map { $_->{classnum} => $_->{classname} } map { $_->hashref } FS::Record::qsearch('pkg_class',{});
+ } ,
+ option_sub => sub { return map { $_->hashref->{classname}} FS::Record::qsearchs('pkg_class', { classnum => shift } ); },
+
+ },
+
+ {
+ key => 'signup_server-classnum3',
+ section => '',
+ description => 'Package Class for second optional purchase',
+ type => 'select-sub',
+ options_sub => sub { my @o = map { $_->{classnum} => $_->{classname} } map { $_->hashref } FS::Record::qsearch('pkg_class',{});
+ } ,
+ option_sub => sub { return map { $_->hashref->{classname}} FS::Record::qsearchs('pkg_class', { classnum => shift } ); },
+ },
{
'key' => 'backend-realtime',
'type' => 'text',
},
+
);
1;
}
%>
</TABLE>
+
+<%=
+if ( @optional_packages ) {
+ my @html;
+ foreach my $ii ( 0 .. $#optional_packages) {
+ my $friendly_index = $ii + 1;
+ if ($optional_packages[$ii]) {
+ push @html, qq|Optional Package # $friendly_index <br />|,'<table bgcolor="#c0c0c0"><tr><td>';
+
+ push @html, qq|<select name="optional_package${ii}">|;
+ push @html, qq|<option value="none"></option>|;
+ push @html, map { qq|<option value="$_->{pkgpart}">$_->{pkg}</option>| } @{$optional_packages[$ii]};
+ push @html, q|</select>|;
+
+ push @html, '</td></tr></table>';
+ }
+ $OUT = join("\n", @html);
+ }
+} else {
+$OUT = ''
+}
+%>
+
<BR><BR><INPUT TYPE="submit" NAME="signup" VALUE="Signup">
<script language="JavaScript">