X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fpart_export.cgi;h=32ed1fc94e7a758daa51a2cb94a317ad13f64b99;hb=8c5a1df1a46121c75a829eb1d57956c9731940ab;hp=72a07134b74f0f73c7d822d7561ef0fae1b5d619;hpb=2a6aa24137ddd389c1e644f5ece325c5b5dbaf3a;p=freeside.git diff --git a/httemplate/edit/part_export.cgi b/httemplate/edit/part_export.cgi index 72a07134b..32ed1fc94 100644 --- a/httemplate/edit/part_export.cgi +++ b/httemplate/edit/part_export.cgi @@ -1,110 +1,4 @@ - -% -% -%#if ( $cgi->param('clone') && $cgi->param('clone') =~ /^(\d+)$/ ) { -%# $cgi->param('clone', $1); -%#} else { -%# $cgi->param('clone', ''); -%#} -% -%my($query) = $cgi->keywords; -%my $action = ''; -%my $part_export = ''; -%if ( $cgi->param('error') ) { -% $part_export = new FS::part_export ( { -% map { $_, scalar($cgi->param($_)) } fields('part_export') -% } ); -%} elsif ( $query =~ /^(\d+)$/ ) { -% $part_export = qsearchs('part_export', { 'exportnum' => $1 } ); -%} else { -% $part_export = new FS::part_export; -%} -%$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{''}=''; -% -%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_checkbox' => [qw()], -% 'html_between' => "\n", -% 'layer_callback' => sub { -% my $layer = shift; -% my $html = qq!!. -% ntable("#cccccc",2); -% -% $html .= 'Description'. -% $exports->{$layer}{notes}. '' -% if $layer; -% -% 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) -% || ( $part_export->exportnum && $part_export->option($option) ) -% || ( (exists $optinfo->{default} && !$part_export->exportnum) -% ? $optinfo->{default} -% : '' -% ); -% $html .= qq!$label!; -% if ( $type eq 'select' ) { -% $html .= qq!'; -% } elsif ( $type eq 'textarea' ) { -% $html .= qq!'; -% } elsif ( $type eq 'text' ) { -% $html .= qq!'; -% } elsif ( $type eq 'checkbox' ) { -% $html .= qq!{$layer}{options}} ). '">'; -% -% $html .= ''; -% -% $html .= ''; -% -% $html; -% }, -%); -% -% - -<% include("/elements/header.html","$action Export", menubar( - 'Main Menu' => popurl(2), -), ' onLoad="visualize()"') -%> +<% include('/elements/header.html', "$action Export", '', ' onLoad="visualize()"') %> <% include('/elements/error.html') %> @@ -113,6 +7,12 @@ <% ntable("#cccccc",2) %> + Export name + + + + + Export host @@ -121,6 +21,138 @@ 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); +#} else { +# $cgi->param('clone', ''); +#} + +my($query) = $cgi->keywords; +my $action = ''; +my $part_export = ''; +if ( $cgi->param('error') ) { + $part_export = new FS::part_export ( { + map { $_, scalar($cgi->param($_)) } fields('part_export') + } ); +} elsif ( $query =~ /^(\d+)$/ ) { + $part_export = qsearchs('part_export', { 'exportnum' => $1 } ); +} else { + $part_export = new FS::part_export; +} +$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{''}=''; + +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 exportname machine )], +# 'form_checkbox' => [qw()], + 'html_between' => "\n", + 'layer_callback' => sub { + my $layer = shift; + my $html = qq!!. + ntable("#cccccc",2); + + $html .= 'Description'. + $exports->{$layer}{notes}. '' + if $layer; + + 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) + || ( $part_export->exportnum && $part_export->option($option) ) + || ( (exists $optinfo->{default} && !$part_export->exportnum) + ? $optinfo->{default} + : '' + ); + # 'freeform': disables table formatting of options. Instead, each + # option can define "before" and "after" strings which are inserted + # around the selector. + my $freeform = $optinfo->{freeform}; + if ( $freeform ) { + $html .= $optinfo->{before} || ''; + } + else { + $html .= qq!$label!; + } + if ( $type eq 'select' ) { + my $size = defined($optinfo->{size}) ? " SIZE=" . $optinfo->{size} : ''; + my $multi = defined($optinfo->{multi}) ? ' MULTIPLE' : ''; + $html .= qq!'; + } elsif ( $type eq 'textarea' ) { + $html .= qq!'; + } elsif ( $type eq 'text' ) { + $html .= qq!'; + } elsif ( $type eq 'checkbox' ) { + $html .= qq!{after} || ''; + } + else { + $html .= ''; + } + } + $html .= ''; + + $html .= ''; + + $html .= ''; + + $html .= ''; + + $html; + }, +); + +