X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fpart_export.cgi;h=0407ee77bb5bac8866a9e2b483a6b8090c7c85b2;hb=0af38652da3b3be7da2d35b048285ef6f2194e1a;hp=a2fad56a3cf0fbf2bcc1554983a8581fee8fc0ee;hpb=03870c8fda3909d8aeb9d7120bc1debc3935f1c3;p=freeside.git diff --git a/httemplate/edit/part_export.cgi b/httemplate/edit/part_export.cgi index a2fad56a3..0407ee77b 100644 --- a/httemplate/edit/part_export.cgi +++ b/httemplate/edit/part_export.cgi @@ -7,9 +7,9 @@ <% ntable("#cccccc",2) %> - Export host + Export name - + @@ -45,15 +45,19 @@ $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, 'options' => \%layers, 'form_name' => 'dummy', 'form_action' => 'process/part_export.cgi', - 'form_text' => [qw( exportnum machine )], + 'form_text' => [qw( exportnum exportname )], # 'form_checkbox' => [qw()], 'html_between' => "\n", 'layer_callback' => sub { @@ -61,9 +65,69 @@ my $widget = new HTML::Widgets::SelectLayers( my $html = qq!!. ntable("#cccccc",2); - $html .= 'Description'. - $exports->{$layer}{notes}. '' - if $layer; + if ( $layer ) { + $html .= 'Description'. + $exports->{$layer}{notes}. ''; + + if ( $exports->{$layer}{no_machine} ) { + $html .= ''. + ''; + } else { + $html .= 'Hostname or IP'; + my $machine = $part_export->machine; + if ( $exports->{$layer}{svc_machine} ) { + my( $N_CHK, $Y_CHK) = ( 'CHECKED', '' ); + my( $machine_DISABLED, $pem_DISABLED) = ( '', 'DISABLED' ); + my $part_export_machine = ''; + if ( $cgi->param('svc_machine') eq 'Y' + || $machine eq '_SVC_MACHINE' + ) + { + $Y_CHK = 'CHECKED'; + $N_CHK = 'CHECKED'; + $machine_DISABLED = 'DISABLED'; + $pem_DISABLED = ''; + $machine = ''; + $part_export_machine = + $cgi->param('part_export_machine') + || join "\n", + map $_->machine, + grep ! $_->disabled, + $part_export->part_export_machine; + } + my $oc = qq(onChange="${layer}_svc_machine_changed(this)"); + $html .= qq[ + + +
+ + Selected in each customer service from these choices + + + + ]; + } else { + $html .= qq(). + ''; + } + $html .= ""; + } + + } foreach my $option ( keys %{$exports->{$layer}{options}} ) { my $optinfo = $exports->{$layer}{options}{$option}; @@ -77,6 +141,13 @@ my $widget = new HTML::Widgets::SelectLayers( ? $optinfo->{default} : '' ); + if ( $type eq 'title' ) { + $html .= qq!! . + $label . + ''; + next; + } + # 'freeform': disables table formatting of options. Instead, each # option can define "before" and "after" strings which are inserted # around the selector. @@ -89,7 +160,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!