X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fpart_export.cgi;h=72a07134b74f0f73c7d822d7561ef0fae1b5d619;hb=2a6aa24137ddd389c1e644f5ece325c5b5dbaf3a;hp=3d867f50acac81d9203d7fb1089e1548e4d0c52d;hpb=b159f42fa3f48cc2ca3b43773e7661e17d2fb072;p=freeside.git diff --git a/httemplate/edit/part_export.cgi b/httemplate/edit/part_export.cgi index 3d867f50a..72a07134b 100644 --- a/httemplate/edit/part_export.cgi +++ b/httemplate/edit/part_export.cgi @@ -1,180 +1,126 @@ -<% - -#if ( $cgi->param('clone') && $cgi->param('clone') =~ /^(\d+)$/ ) { -# $cgi->param('clone', $1); -#} else { -# $cgi->param('clone', ''); -#} -#if ( $cgi->param('svcpart') && $cgi->param('svcpart') =~ /^(\d+)$/ ) { -# $cgi->param('svcpart', $1); -#} else { -# $cgi->param('svcpart', ''); -#} - -my($query) = $cgi->keywords; -my $action = ''; -my $part_export = ''; -my $options = {}; -if ( $cgi->param('error') ) { - $part_export = new FS::part_export ( { - map { $_, scalar($cgi->param($_)) } fields('part_export') - } ); -} - -#warn "***$query***"; -if ( $cgi->param('clone') && $cgi->param('clone') =~ /^(\d+)$/ ) { - $action = 'Add'; - my $old_part_export = qsearchs('part_export', { 'exportnum' => $1 } ); - unless ( $part_export ) { - ($part_export, $options) = $old_part_export->clone($cgi->param('svcpart')); - } -} elsif ( $cgi->param('new_with_svcpart') - && $cgi->param('new_with_svcpart') =~ /^(\d+)$/ ) { - $part_export ||= new FS::part_export ( { 'svcpart' => $1 } ); -} elsif ( $query =~ /^(\d+)$/ ) { - $part_export ||= qsearchs('part_export', { 'exportnum' => $1 } ); -} -$action ||= $part_export->exportnum ? 'Edit' : 'Add'; - -my %exports = ( - 'svc_acct' => { - 'sysvshell' => { - 'desc' => - 'Batch export of /etc/passwd and /etc/shadow files (Linux/SysV)', - 'options' => {}, - }, - 'bsdshell' => { - 'desc' => - 'Batch export of /etc/passwd and /etc/master.passwd files (BSD)', - 'options' => {}, - }, -# 'nis' => { -# 'desc' => -# 'Batch export of /etc/global/passwd and /etc/global/shadow for NIS ', -# 'options' => {}, -# }, - 'bsdshell' => { - 'desc' => - 'Batch export of /etc/passwd and /etc/master.passwd files (BSD)', - 'options' => {}, - }, - 'textradius' => { - 'desc' => 'Batch export of a text /etc/raddb/users file (Livingston, Cistron)', - }, - 'sqlradius' => { - 'desc' => 'Real-time export to SQL-backed RADIUS (ICRADIUS, FreeRADIUS)', - 'options' => { - 'datasrc' => { label=>'DBI data source' }, - 'username' => { label=>'Database username' }, - 'password' => { label=>'Database password' }, - }, - 'nodomain' => 'Y', - 'notes' => 'Not specifying datasrc will export to the freeside database? (no... notes on MySQL replication, DBI::Proxy, etc., from Conf.pm && export.html etc.', - }, - 'cyrus' => { - 'desc' => 'Real-time export to Cyrus IMAP server', - }, - 'cp' => { - 'desc' => 'Real-time export to Critical Path Account Provisioning Protocol', - }, - 'infostreet' => { - 'desc' => 'Real-time export to InfoStreet streetSmartAPI', - 'options' => { - 'url' => { label=>'XML-RPC Access URL', }, - 'login' => { label=>'InfoStreet login', }, - 'password' => { label=>'InfoStreet password', }, - 'groupID' => { label=>'InfoStreet groupID', }, - }, - 'nodomain' => 'Y', - 'notes' => 'http://www.infostreet.com/ .... install Frontier::Client', - } - }, - - 'svc_domain' => {}, - - 'svc_acct_sm' => {}, - - 'svc_forward' => {}, - - 'svc_www' => {}, - -); - -my $svcdb = $part_export->part_svc->svcdb; -my %layers = map { $_ => "$_ - ". $exports{$svcdb}{$_}{desc} } - keys %{$exports{$svcdb}}; -$layers{''}=''; - -my $widget = new HTML::Widgets::SelectLayers( - 'selected_layer' => $part_export->exporttype, - 'selected_layer' => $part_export->exporttype, - 'options' => \%layers, - 'form_name' => 'dummy', - 'form_action' => 'process/part_export.cgi', - 'form_text' => [qw( exportnum svcpart machine )], -# 'form_checkbox' => [qw()], - 'html_between' => "\n", - 'layer_callback' => sub { - my $layer = shift; - my $html = qq!!. - ntable("#cccccc",2); - foreach my $option ( keys %{$exports{$svcdb}->{$layer}{options}} ) { -# foreach my $option ( qw(url login password groupID ) ) { - my $optinfo = $exports{$svcdb}->{$layer}{options}{$option}; - my $label = $optinfo->{label}; - my $value = $part_export->option($option); - $html .= qq!$label!. - qq!!. - ''; - } - $html .= ''; - - $html .= ''; - - $html .= ''; - - $html .= ''; - - $html; - }, -); - -%> -<%= header("$action Export", menubar( +% +% +%#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()"') %> -<% if ( $cgi->param('error') ) { %> - Error: <%= $cgi->param('error') %> -

-<% } %> +<% include('/elements/error.html') %>
- + -<%= ntable("#cccccc",2) %> - - Service - - <%= $part_export->svcpart %> - <%= $part_export->part_svc->svc %> - - - +<% ntable("#cccccc",2) %> Export host - + Export - <%= $widget->html %> + <% $widget->html %>