Merge branch 'patch-1' of https://github.com/gjones2/Freeside
[freeside.git] / httemplate / elements / select-did.html
index b62d6a0..6e205d8 100644 (file)
@@ -13,51 +13,116 @@ Example:
 </%doc>
 % if ( $use_selector ) {
 
+%   if ( $export->option('restrict_selection') eq 'non-tollfree'
+%                  || !$export->option('restrict_selection') ) {
     <TABLE>
-
       <TR>
-        <TD>
+
+%       if ( $export->get_dids_npa_select ) {
+
+        <TD VALIGN="top">
           <% include('/elements/select-state.html',
                        'prefix'        => 'phonenum_', #$field.'_',
                        'country'       => $country,
+                       'svcpart'       => $svcpart,
                        'disable_empty' => 0,
                        'empty_label'   => 'Select state',
                     )
           %>
+          <BR><FONT SIZE="-1">State</FONT>
         </TD>
-        <TD>
-          <% include('/elements/select-areacode.html',
-                       'state_prefix' => 'phonenum_', #$field.'_',
-                       'svcpart'      => $svcpart,
-                       'empty'        => 'Select area code',
-                    )
-          %>
-        </TD>
-        <TD>
-          <% include('/elements/select-exchange.html',
-                       'svcpart' => $svcpart,
-                       'empty'   => 'Select exchange',
+
+          <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.html',
+                       'field'    => 'phonenum_state',
+                       'id'       => 'phonenum_state',
+                       'options'  => [ '', @{ $export->get_dids } ],
+                       'labels'   => { '' => 'Select province' },
+                       'onchange' => 'phonenum_state_changed(this);',
                     )
           %>
+          <BR><FONT SIZE="-1">Province</FONT>
         </TD>
-        <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',
+                       '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>
-        <TD><FONT SIZE="-1">State</FONT></TD>
-        <TD><FONT SIZE="-1">Area code</FONT></TD>
-        <TD><FONT SIZE="-1">City / Exchange</FONT></TD>
-        <TD><FONT SIZE="-1">Phone number</FONT></TD>
       </TR>
-
     </TABLE>
 
+% } 
+%   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,
+                       'empty'   => 'Select phone number',
+                      'tollfree' => 1,
+                      'prefix' => 'tollfree',
+                      'bulknum' => 0,
+                    )
+           %>
+%      }
+
+%      if ( $bulknum ) {
+           <div id="bulkdid" style="padding-top: 11px">
+%              my $i;
+%              for($i=0; $i < $bulknum; $i++) {
+                   <div id="bulkdid_<%$i%>" style="display: none">
+                       <input type="checkbox" id="checkbox_bulkdid_<%$i%>"
+                           name="bulkdid" value="">
+                       <label for="checkbox_bulkdid_<%$i%>" 
+                           id="label_bulkdid_<%$i%>"></label>
+                   </div>
+%              }
+           </div>
+%      }
+
 % } else {
 
     <% include( '/elements/input-text.html', %opt, 'type'=>'text' ) %>
@@ -68,7 +133,6 @@ Example:
 my %opt = @_;
 
 my $conf = new FS::Conf;
-my $country = $conf->config('countrydefault') || 'US';
 
 #false laziness w/tr-select-did.html
 #XXX make sure this comes through on errors too
@@ -83,9 +147,18 @@ 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';
 
 </%init>