X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_dsl.cgi;fp=httemplate%2Fview%2Fsvc_dsl.cgi;h=a4b2d43275b233caf01608a4a22e579637ed2543;hb=46ef8524cf2e6db7b851967062ce92ffb0773d10;hp=0000000000000000000000000000000000000000;hpb=39289cd1e5a06044aa9a8dc3d2e4d8c9ffb02b11;p=freeside.git
diff --git a/httemplate/view/svc_dsl.cgi b/httemplate/view/svc_dsl.cgi
new file mode 100644
index 000000000..a4b2d4327
--- /dev/null
+++ b/httemplate/view/svc_dsl.cgi
@@ -0,0 +1,62 @@
+<% include('elements/svc_Common.html',
+ 'table' => 'svc_dsl',
+ 'labels' => \%labels,
+ 'fields' => \@fields,
+ 'svc_callback' => $svc_cb,
+ 'html_foot' => $html_foot,
+ )
+%>
+<%init>
+my $conf = new FS::Conf;
+my $date_format = $conf->config('date_format') || '%m/%d/%Y';
+
+my $fields = FS::svc_dsl->table_info->{'fields'};
+my %labels = map { $_ => ( ref($fields->{$_})
+ ? $fields->{$_}{'label'}
+ : $fields->{$_}
+ );
+ } keys %$fields;
+my @fields = keys %$fields;
+
+my $footer;
+
+my $html_foot = sub {
+ return $footer;
+};
+
+my $svc_cb = sub {
+ my( $cgi,$svc_x, $part_svc,$cust_pkg, $fields1,$opt) = @_;
+
+ my @exports = $part_svc->part_export_dsl_pull;
+ die "more than one DSL-pulling export attached to svcpart ".$part_svc->svcpart
+ if ( scalar(@exports) > 1 );
+
+ # if no DSL-pulling exports, then just display everything, which is the
+ # default behaviour implemented above
+ return if ( scalar(@exports) == 0 );
+
+ $opt->{'disable_unprovision'} = 1;
+ my $exporttype = @exports[0]->exporttype;
+
+ # XXX: AJAX auto-pull
+
+ @fields = qw( svctn first last company username password );
+
+ if($exporttype eq 'ikano') {
+ push @fields, 'isp_chg';
+ push @fields, 'isp_prev';
+ push @fields, 'staticips';
+ }
+ else {
+ # XXX
+ }
+
+ # hack against "can't use string ... as a subroutine ref while 'strict refs' in use"
+ my $statusSub = \&{'FS::part_export::'.$exporttype.'::status_line'};
+ my $statusLine = &$statusSub($svc_x,$date_format,"
");
+
+ $footer = "$statusLine";
+
+ # XXX: notes
+};
+%init>