X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fpart_export.cgi;h=8b697e14230ca24a7d0774f8202801f93ecf76d0;hp=cc60f1aeb4732811bdb5e4bbc9492b188a4a2302;hb=37591b61f8ad6fc5c5acb2fd8f520d2dbe4f1539;hpb=b0b6550717b6507a7cb27ea5a8c5cd5719d7d9c6 diff --git a/httemplate/edit/part_export.cgi b/httemplate/edit/part_export.cgi index cc60f1aeb..8b697e142 100644 --- a/httemplate/edit/part_export.cgi +++ b/httemplate/edit/part_export.cgi @@ -1,5 +1,26 @@ - -<% +<% include('/elements/header.html', "$action Export", '', ' onLoad="visualize()"') %> + +<% include('/elements/error.html') %> + +
+ + +<% ntable("#cccccc",2) %> + + Export host + + + + + + Export + <% $widget->html %> + +<% include('/elements/footer.html') %> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); #if ( $cgi->param('clone') && $cgi->param('clone') =~ /^(\d+)$/ ) { # $cgi->param('clone', $1); @@ -46,6 +67,8 @@ my $widget = new HTML::Widgets::SelectLayers( foreach my $option ( keys %{$exports->{$layer}{options}} ) { my $optinfo = $exports->{$layer}{options}{$option}; + die "Retreived non-ref export info option from $layer export: $optinfo" + unless ref($optinfo); my $label = $optinfo->{label}; my $type = defined($optinfo->{type}) ? $optinfo->{type} : 'text'; my $value = $cgi->param($option) @@ -56,21 +79,37 @@ my $widget = new HTML::Widgets::SelectLayers( ); $html .= qq!$label!; if ( $type eq 'select' ) { - $html .= qq!!; + my @values = split '\s+', $value if $multi; + my @options; + if (defined($optinfo->{option_values})) { + my $valsub = $optinfo->{option_values}; + @options = &$valsub(); + } elsif (defined($optinfo->{options})) { + @options = @{$optinfo->{options}}; + } + foreach my $select_option ( @options ) { #if ( ref($select_option) ) { #} else { - my $selected = $select_option eq $value ? ' SELECTED' : ''; + my $selected = ($multi ? grep {$_ eq $select_option} @values : $select_option eq $value ) ? ' SELECTED' : ''; + my $label = $select_option; + if (defined($optinfo->{option_label})) { + my $labelsub = $optinfo->{option_label}; + $label = &$labelsub($select_option); + } $html .= qq!!; + qq!$label!; #} } $html .= ''; } elsif ( $type eq 'textarea' ) { $html .= qq!!; + encode_entities($value). ''; } elsif ( $type eq 'text' ) { - $html .= qq!!; + $html .= qq!'; } elsif ( $type eq 'checkbox' ) { $html .= qq! -<%= header("$action Export", menubar( - 'Main Menu' => popurl(2), -), ' onLoad="visualize()"') -%> - -<% if ( $cgi->param('error') ) { %> - Error: <%= $cgi->param('error') %> -

-<% } %> - - - - -<%= ntable("#cccccc",2) %> - - Export host - - - - - - Export - <%= $widget->html %> - - - +