read only access to message templates, RT#1`7477
[freeside.git] / httemplate / edit / part_export.cgi
index 32ed1fc..d7219b7 100644 (file)
@@ -51,8 +51,12 @@ $action ||= $part_export->exportnum ? 'Edit' : 'Add';
 #my $exports = FS::part_export::export_info($svcdb);
 my $exports = FS::part_export::export_info();
 
-my %layers = map { $_ => "$_ - ". $exports->{$_}{desc} } keys %$exports;
-$layers{''}='';
+tie my %layers, 'Tie::IxHash',
+  '' => '',
+  map { $_ => "$_ - ". $exports->{$_}{desc} } 
+  sort { $a cmp $b }
+  keys %$exports;
+;
 
 my $widget = new HTML::Widgets::SelectLayers(
   'selected_layer' => $part_export->exporttype,
@@ -83,6 +87,13 @@ my $widget = new HTML::Widgets::SelectLayers(
                       ? $optinfo->{default}
                       : ''
                     );
+      if ( $type eq 'title' ) {
+        $html .= qq!<TR><TH COLSPAN=1 ALIGN="right"><FONT SIZE="+1">! .
+                 $label .
+                 '</FONT></TH></TR>';
+        next;
+      }
+
       # 'freeform': disables table formatting of options.  Instead, each 
       # option can define "before" and "after" strings which are inserted 
       # around the selector.
@@ -95,7 +106,8 @@ my $widget = new HTML::Widgets::SelectLayers(
       }
       if ( $type eq 'select' ) {
         my $size = defined($optinfo->{size}) ? " SIZE=" . $optinfo->{size} : '';
-        my $multi = defined($optinfo->{multi}) ? ' MULTIPLE' : '';
+        my $multi = ($optinfo->{multi} || $optinfo->{multiple})
+                      ? ' MULTIPLE' : '';
         $html .= qq!<SELECT NAME="$option"$multi$size>!;
         my @values = split '\s+', $value if $multi;
         my @options;
@@ -139,6 +151,26 @@ my $widget = new HTML::Widgets::SelectLayers(
         $html .= '</TD></TR>';
       }
     }
+
+    if ( $exports->{$layer}{nas} and qsearch('nas',{}) ) {
+      # show NAS checkboxes
+      $html .= '<TR><TD ALIGN="right">Export RADIUS clients</TD><TD>';
+
+      $html .= include('/elements/checkboxes-table.html',
+                        'source_obj'    => $part_export,
+                        'link_table'    => 'export_nas',
+                        'target_table'  => 'nas',
+                        #hashref => {},
+                        'name_callback' => sub { 
+                          $_[0]->shortname . ' (' . $_[0]->nasname . ')',
+                        },
+                        'default'       => 'yes',
+                        'target_link'   => $p.'edit/nas.html?',
+                      );
+
+      $html .= '</TD></TR>';
+    }
+
     $html .= '</TABLE>';
 
     $html .= '<INPUT TYPE="hidden" NAME="options" VALUE="'.