<%doc> Example: include('/elements/select-did.html', #can't actuall change from phonenum yet# 'field' => 'phonenum', 'svcpart' => 5, #OR 'object' => $svc_phone, ); % if ( $use_selector ) { % if ( $export->option('restrict_selection') eq 'non-tollfree' % || !$export->option('restrict_selection') ) { % my( $phonenum_checked, $manual_checked ) = ( '', '' ); % if ( $export->get_dids_can_manual ) { % #not 100% perfect UI on error handling, but it'll do % if ( $opt{'curr_value'} ) { % $phonenum_checked = ''; % $manual_checked = 'CHECKED'; % } else { % $phonenum_checked = 'CHECKED'; % $manual_checked = ''; % } % } % if ( $export->get_dids_npa_select ) { % } else { % % #this code path currently only being used by fibernetics % # should change "Province" label to "State" or make it configurable % # if/when other folks need an areacode-less DID selector that goes % # directly from state to region % } % if ( $export->get_dids_can_manual ) { % }
> Inventory <% include('/elements/select-state.html', 'prefix' => 'phonenum_', #$field.'_', 'country' => $country, 'svcpart' => $svcpart, 'disable_empty' => 0, 'empty_label' => 'Select state', 'disabled' => ( $manual_checked ? 1 : 0 ), ) %>
>State
<% include('/elements/select-areacode.html', 'state_prefix' => 'phonenum_', #$field.'_', 'svcpart' => $svcpart, 'empty' => 'Select area code', ) %>
>Area code
<% include('/elements/select-exchange.html', 'svcpart' => $svcpart, 'empty' => 'Select exchange', ) %>
>City / Exchange
<% include('/elements/select.html', 'field' => 'phonenum_state', 'id' => 'phonenum_state', 'options' => [ '', @{ $export->get_dids } ], 'labels' => { '' => 'Select province' }, 'onchange' => 'phonenum_state_changed(this);', 'disabled' => ( $manual_checked ? 1 : 0 ), ) %>
>Province
<% include('/elements/select-region.html', 'state_prefix' => 'phonenum_', #$field.'_', 'svcpart' => $svcpart, 'empty' => 'Select region', ) %>
>Region
<% include('/elements/select-phonenum.html', 'svcpart' => $svcpart, 'empty' => 'Select phone number', 'bulknum' => $bulknum, 'multiple' => $multiple, 'region' => ! $export->get_dids_npa_select, ) %>
>Phone number
> Manual entry <& /elements/input-text.html, %opt, field => 'phonenum_manual', id => 'phonenum_manual', type => 'text', disabled => ( $phonenum_checked ? 1 : 0 ), &>
% } % if ( ( $export->option('restrict_selection') eq 'tollfree' % || !$export->option('restrict_selection') % ) % and $export->get_dids_can_tollfree % ) { Toll-free <% include('/elements/select-phonenum.html', 'svcpart' => $svcpart, 'empty' => 'Select phone number', 'tollfree' => 1, 'prefix' => 'tollfree', 'bulknum' => 0, ) %> % } % if ( $bulknum ) {
% my $i; % for($i=0; $i < $bulknum; $i++) { % }
% } % } else { <% include( '/elements/input-text.html', %opt, 'type'=>'text' ) %> % } <%init> my %opt = @_; my $conf = new FS::Conf; #false laziness w/tr-select-did.html #XXX make sure this comes through on errors too my $svcpart = $opt{'svcpart'} || $opt{'object'}->svcpart || $opt{'object'}->cust_svc->svcpart; my $part_svc = qsearchs('part_svc', { 'svcpart'=>$svcpart } ); die "unknown svcpart $svcpart" unless $part_svc; my @exports = $part_svc->part_export_did; if ( scalar(@exports) > 1 ) { die "more than one DID-providing export attached to svcpart $svcpart"; } my $export = ''; $export = $exports[0] if scalar(@exports); my $use_selector = scalar(@exports) ? 1 : 0; my $bulknum = $opt{'bulknum'} || 0; #Bulk DID orders via ordering system, vs. my $multiple = $opt{'multiple'} || 0; #just selecting a bunch at a time my $country = ( $export && $export->option('country') ) || $conf->config('countrydefault') || 'US'; #my $field = $opt{'field'} || 'phonenum';