diff options
author | Ivan Kohler <ivan@freeside.biz> | 2012-12-14 19:32:44 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2012-12-14 19:32:44 -0800 |
commit | 7c3806cdbb65e125227fc78a3acbf188097a7e33 (patch) | |
tree | a1d23ffa7b9423c20b2df818945bd610114bf9b3 /httemplate/elements | |
parent | 3bed798b18bf3a01343cd53fd3cfdf3463041bea (diff) |
DID selection for fibernetics, RT#19883
Diffstat (limited to 'httemplate/elements')
-rw-r--r-- | httemplate/elements/select-did.html | 69 | ||||
-rw-r--r-- | httemplate/elements/select-phonenum.html | 10 | ||||
-rw-r--r-- | httemplate/elements/select-region.html | 88 |
3 files changed, 146 insertions, 21 deletions
diff --git a/httemplate/elements/select-did.html b/httemplate/elements/select-did.html index a69450c2a..6e205d8ff 100644 --- a/httemplate/elements/select-did.html +++ b/httemplate/elements/select-did.html @@ -16,8 +16,10 @@ Example: % if ( $export->option('restrict_selection') eq 'non-tollfree' % || !$export->option('restrict_selection') ) { <TABLE> - <TR> + +% if ( $export->get_dids_npa_select ) { + <TD VALIGN="top"> <% include('/elements/select-state.html', 'prefix' => 'phonenum_', #$field.'_', @@ -29,40 +31,73 @@ Example: %> <BR><FONT SIZE="-1">State</FONT> </TD> + + <TD VALIGN="top"> + <% include('/elements/select-areacode.html', + 'state_prefix' => 'phonenum_', #$field.'_', + 'svcpart' => $svcpart, + 'empty' => 'Select area code', + ) + %> + <BR><FONT SIZE="-1">Area code</FONT> + </TD> + + <TD VALIGN="top"> + <% include('/elements/select-exchange.html', + 'svcpart' => $svcpart, + 'empty' => 'Select exchange', + ) + %> + <BR><FONT SIZE="-1">City / Exchange</FONT> + </TD> + +% } else { + <TD VALIGN="top"> - <% include('/elements/select-areacode.html', - 'state_prefix' => 'phonenum_', #$field.'_', - 'svcpart' => $svcpart, - 'empty' => 'Select area code', - ) - %> - <BR><FONT SIZE="-1">Area code</FONT> - </TD> - <TD VALIGN="top"> - <% include('/elements/select-exchange.html', - 'svcpart' => $svcpart, - 'empty' => 'Select exchange', + <% include('/elements/select.html', + 'field' => 'phonenum_state', + 'id' => 'phonenum_state', + 'options' => [ '', @{ $export->get_dids } ], + 'labels' => { '' => 'Select province' }, + 'onchange' => 'phonenum_state_changed(this);', ) %> - <BR><FONT SIZE="-1">City / Exchange</FONT> + <BR><FONT SIZE="-1">Province</FONT> </TD> + + <TD VALIGN="top"> + <% include('/elements/select-region.html', + 'state_prefix' => 'phonenum_', #$field.'_', + 'svcpart' => $svcpart, + 'empty' => 'Select region', + ) + %> + <BR><FONT SIZE="-1">Region</FONT> + </TD> + +% } + <TD VALIGN="top"> <% include('/elements/select-phonenum.html', 'svcpart' => $svcpart, 'empty' => 'Select phone number', 'bulknum' => $bulknum, 'multiple' => $multiple, + 'region' => ! $export->get_dids_npa_select, ) %> <BR><FONT SIZE="-1">Phone number</FONT> </TD> - </TR> + </TR> </TABLE> % } -% if ( $export->option('restrict_selection') eq 'tollfree' -% || !$export->option('restrict_selection') ) { +% if ( ( $export->option('restrict_selection') eq 'tollfree' +% || !$export->option('restrict_selection') +% ) +% and $export->get_dids_can_tollfree +% ) { <font size="-1">Toll-free</font> <% include('/elements/select-phonenum.html', 'svcpart' => $svcpart, diff --git a/httemplate/elements/select-phonenum.html b/httemplate/elements/select-phonenum.html index d555bf4b6..18abe3dea 100644 --- a/httemplate/elements/select-phonenum.html +++ b/httemplate/elements/select-phonenum.html @@ -12,7 +12,7 @@ what.options[length] = optionName; } - function <% $opt{'prefix'} %>exchange_changed(what, callback) { + function <% $opt{'prefix'} %><% $previous %>_changed(what, callback) { what.form.<% $opt{'prefix'} %>phonenum.disabled = 'disabled'; what.form.<% $opt{'prefix'} %>phonenum.style.display = 'none'; @@ -21,7 +21,7 @@ var phonenumerror = document.getElementById('<% $opt{'prefix'} %>phonenumerror'); phonenumerror.style.display = 'none'; - exchange = what.options[what.selectedIndex].value; + var thing = "<% $previous eq 'region' ? '_REGION ' : '' %>" + what.options[what.selectedIndex].value; function <% $opt{'prefix'} %>update_phonenums(phonenums) { @@ -84,7 +84,7 @@ } // go get the new phonenums - <% $opt{'prefix'} %>get_phonenums( exchange, <% $opt{'svcpart'} %>, <% $opt{'prefix'} %>update_phonenums ); + <% $opt{'prefix'} %>get_phonenums( thing, <% $opt{'svcpart'} %>, <% $opt{'prefix'} %>update_phonenums ); } @@ -126,7 +126,7 @@ % unless ( $opt{'tollfree'} ) { <DIV ID="phonenumwait" STYLE="display:none"><IMG SRC="<%$fsurl%>images/wait-orange.gif"> <B>Finding phone numbers</B></DIV> -<DIV ID="phonenumerror" STYLE="display:none"><IMG SRC="<%$fsurl%>images/cross.png"> <B>Select a different city/exchange</B></DIV> +<DIV ID="phonenumerror" STYLE="display:none"><IMG SRC="<%$fsurl%>images/cross.png"> <B>Select a different <% $opt{'region'} ? 'region' : 'city/exchange' %></B></DIV> % } <SELECT <% $opt{multiple} ? 'MULTIPLE SIZE=25' : '' %> @@ -146,4 +146,6 @@ my %opt = @_; $opt{disabled} = 'disabled' unless exists $opt{disabled}; +my $previous = $opt{'region'} ? 'region' : 'exchange'; + </%init> diff --git a/httemplate/elements/select-region.html b/httemplate/elements/select-region.html new file mode 100644 index 000000000..9823290db --- /dev/null +++ b/httemplate/elements/select-region.html @@ -0,0 +1,88 @@ +<% include('/elements/xmlhttp.html', + 'url' => $p.'misc/regions.cgi', + 'subs' => [ $opt{'prefix'}. 'get_regions' ], + ) +%> + +<SCRIPT TYPE="text/javascript"> + + function opt(what,value,text) { + var optionName = new Option(text, value, false, false); + var length = what.length; + what.options[length] = optionName; + } + + function <% $opt{'state_prefix'} %>state_changed(what, callback) { + + what.form.<% $opt{'prefix'} %>region.disabled = 'disabled'; + what.form.<% $opt{'prefix'} %>region.style.display = 'none'; + var regionwait = document.getElementById('<% $opt{'prefix'} %>regionwait'); + regionwait.style.display = ''; + var regionerror = document.getElementById('<% $opt{'prefix'} %>regionerror'); + regionerror.style.display = 'none'; + + what.form.<% $opt{'prefix'} %>phonenum.disabled = 'disabled'; + + state = what.options[what.selectedIndex].value; + + function <% $opt{'prefix'} %>update_regions(regions) { + + // blank the current region + for ( var i = what.form.<% $opt{'prefix'} %>region.length; i >= 0; i-- ) + what.form.<% $opt{'prefix'} %>region.options[i] = null; + // blank the current phonenum too + for ( var i = what.form.<% $opt{'prefix'} %>phonenum.length; i >= 0; i-- ) + what.form.<% $opt{'prefix'} %>phonenum.options[i] = null; + if ( what.form.<% $opt{'prefix'} %>phonenum.type != 'select-multiple' ) { + opt(what.form.<% $opt{'prefix'} %>phonenum, '', 'Select phone number'); + } + +% if ($opt{empty}) { + opt(what.form.<% $opt{'prefix'} %>region, '', '<% $opt{empty} %>'); +% } + + // add the new regions + var regionArray = eval('(' + regions + ')' ); + for ( var s = 0; s < regionArray.length; s++ ) { + var regionLabel = regionArray[s]; + if ( regionLabel == "" ) + regionLabel = '(n/a)'; + opt(what.form.<% $opt{'prefix'} %>region, regionArray[s], regionLabel); + } + + regionwait.style.display = 'none'; + if ( regionArray.length >= 1 ) { + what.form.<% $opt{'prefix'} %>region.disabled = ''; + what.form.<% $opt{'prefix'} %>region.style.display = ''; + } else { + var regionerror = document.getElementById('<% $opt{'prefix'} %>regionerror'); + regionerror.style.display = ''; + } + + //run the callback + if ( callback != null ) + callback(); + } + + // go get the new regions + <% $opt{'prefix'} %>get_regions( state, <% $opt{'svcpart'} %>, <% $opt{'prefix'} %>update_regions ); + + } + +</SCRIPT> + +<DIV ID="<% $opt{'prefix'} %>regionwait" STYLE="display:none"><IMG SRC="<%$fsurl%>images/wait-orange.gif"> <B>Finding regions</B></DIV> + +<DIV ID="<% $opt{'prefix'} %>regionerror" STYLE="display:none"><IMG SRC="<%$fsurl%>images/cross.png"> <B>Select a different state</B></DIV> + +<SELECT NAME="<% $opt{'prefix'} %>region" onChange="<% $opt{'prefix'} %>region_changed(this); <% $opt{'onchange'} %>" <% $opt{'disabled'} %>> + <OPTION VALUE="">Select region</OPTION> +</SELECT> + +<%init> + +my %opt = @_; + +$opt{disabled} = 'disabled' unless exists $opt{disabled}; + +</%init> |