4 #if ( $cgi->param('clone') && $cgi->param('clone') =~ /^(\d+)$/ ) {
5 # $cgi->param('clone', $1);
7 # $cgi->param('clone', '');
10 my($query) = $cgi->keywords;
13 if ( $cgi->param('error') ) {
14 $part_export = new FS::part_export ( {
15 map { $_, scalar($cgi->param($_)) } fields('part_export')
17 } elsif ( $query =~ /^(\d+)$/ ) {
18 $part_export = qsearchs('part_export', { 'exportnum' => $1 } );
20 $part_export = new FS::part_export;
22 $action ||= $part_export->exportnum ? 'Edit' : 'Add';
24 #my $exports = FS::part_export::export_info($svcdb);
25 my $exports = FS::part_export::export_info();
27 my %layers = map { $_ => "$_ - ". $exports->{$_}{desc} } keys %$exports;
30 my $widget = new HTML::Widgets::SelectLayers(
31 'selected_layer' => $part_export->exporttype,
32 'options' => \%layers,
33 'form_name' => 'dummy',
34 'form_action' => 'process/part_export.cgi',
35 'form_text' => [qw( exportnum machine )],
36 # 'form_checkbox' => [qw()],
37 'html_between' => "</TD></TR></TABLE>\n",
38 'layer_callback' => sub {
40 my $html = qq!<INPUT TYPE="hidden" NAME="exporttype" VALUE="$layer">!.
43 $html .= '<TR><TD ALIGN="right">Description</TD><TD BGCOLOR=#ffffff>'.
44 $exports->{$layer}{notes}. '</TD></TR>'
47 foreach my $option ( keys %{$exports->{$layer}{options}} ) {
48 my $optinfo = $exports->{$layer}{options}{$option};
49 my $label = $optinfo->{label};
50 my $type = defined($optinfo->{type}) ? $optinfo->{type} : 'text';
51 my $value = $cgi->param($option)
52 || $part_export->option($option)
53 || (exists $optinfo->{default} ? $optinfo->{default} : '');
54 $html .= qq!<TR><TD ALIGN="right">$label</TD><TD>!;
55 if ( $type eq 'select' ) {
56 $html .= qq!<SELECT NAME="$option">!;
57 foreach my $select_option ( @{$optinfo->{options}} ) {
58 #if ( ref($select_option) ) {
60 $selected = $select_option eq $value ? ' SELECTED' : '';
61 $html .= qq!<OPTION VALUE="$select_option"$selected>!.
62 qq!$select_option</OPTION>!;
66 } elsif ( $type eq 'textarea' ) {
67 $html .= qq!<TEXTAREA NAME="$option">$value</TEXTAREA>!;
68 } elsif ( $type eq 'text' ) {
69 $html .= qq!<INPUT TYPE="text" NAME="$option" VALUE="$value" SIZE=64>!;
71 $html .= "unknown type $type";
73 $html .= '</TD></TR>';
77 $html .= '<INPUT TYPE="hidden" NAME="options" VALUE="'.
78 join(',', keys %{$exports->{$layer}{options}} ). '">';
80 $html .= '<INPUT TYPE="hidden" NAME="nodomain" VALUE="'.
81 $exports->{$layer}{nodomain}. '">';
83 $html .= '<INPUT TYPE="submit" VALUE="'.
84 ( $part_export->exportnum ? "Apply changes" : "Add export" ).
92 <%= header("$action Export", menubar(
93 'Main Menu' => popurl(2),
94 ), ' onLoad="visualize()"')
97 <% if ( $cgi->param('error') ) { %>
98 <FONT SIZE="+1" COLOR="#ff0000">Error: <%= $cgi->param('error') %></FONT>
103 <INPUT TYPE="hidden" NAME="exportnum" VALUE="<%= $part_export->exportnum %>">
105 <%= ntable("#cccccc",2) %>
107 <TD ALIGN="right">Export host</TD>
109 <INPUT TYPE="text" NAME="machine" VALUE="<%= $part_export->machine %>">
113 <TD ALIGN="right">Export</TD>
114 <TD><%= $widget->html %>