From 0df810cde18282c08271a87c50568dd75b61a578 Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 27 Sep 2001 21:32:36 +0000 Subject: [PATCH] popSELECTOR! --- fs_signup/FS-SignupClient/cgi/signup.cgi | 72 +++++++++++++++++++++++++------ fs_signup/FS-SignupClient/cgi/signup.html | 15 +------ 2 files changed, 60 insertions(+), 27 deletions(-) diff --git a/fs_signup/FS-SignupClient/cgi/signup.cgi b/fs_signup/FS-SignupClient/cgi/signup.cgi index f0d4620c5..573cf5d65 100755 --- a/fs_signup/FS-SignupClient/cgi/signup.cgi +++ b/fs_signup/FS-SignupClient/cgi/signup.cgi @@ -1,6 +1,6 @@ #!/usr/bin/perl -Tw # -# $Id: signup.cgi,v 1.13 2001-09-11 11:28:15 ivan Exp $ +# $Id: signup.cgi,v 1.14 2001-09-27 21:32:36 ivan Exp $ use strict; use vars qw( @payby $cgi $locales $packages $pops $error @@ -243,6 +243,61 @@ sub pop_info { ''; } +#horrible false laziness with FS/FS/svc_acct_pop.pm::popselector +sub popselector { + my( $popnum, $state ) = @_; + + my %pop = (); + push @{ $pop{$_->{state}} }, $_ foreach @$pops; + + my $text = < + function opt(what,href,text) { + var optionName = new Option(text, href, false, false) + var length = what.length; + what.options[length] = optionName; + } + + function popstate_changed(what) { + state = what.options[what.selectedIndex].text; + for (var i = what.form.popnum.length;i > 0;i--) + what.form.popnum.options[i] = null; + what.form.popnum.options[0] = new Option("", "", false, true); +END + + foreach my $popstate ( sort { $a cmp $b } keys %pop ) { + $text .= "\nif ( state == \"$popstate\" ) {\n"; + + foreach my $pop ( @{$pop{$popstate}}) { + my $o_popnum = $pop->{popnum}; + my $poptext = $pop->{city}. ', '. $pop->{state}. + ' ('. $pop->{ac}. ')/'. $pop->{exch}; + + $text .= "opt(what.form.popnum, \"$o_popnum\", \"$poptext\");\n" + } + $text .= "}\n"; + } + + $text .= "}\n\n"; + + $text .= + qq!'; #callback? return 3 html pieces? #''; + + $text .= qq!'; + + $text; +} + sub expselect { my $prefix = shift; my $date = shift || ''; @@ -412,19 +467,8 @@ Contact Information (blank to generate) - POP - + Access number + <%= popselector($popnum) %>

diff --git a/fs_signup/FS-SignupClient/cgi/signup.html b/fs_signup/FS-SignupClient/cgi/signup.html index fcedde3ab..0f4742d20 100755 --- a/fs_signup/FS-SignupClient/cgi/signup.html +++ b/fs_signup/FS-SignupClient/cgi/signup.html @@ -130,19 +130,8 @@ Contact Information (blank to generate) - POP - + Access number + <%= popselector($popnum) %>

-- 2.11.0