X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_dsl.cgi;h=e6a3c5381e69f276e52601265a5349c845909e52;hb=636bd62e61bba10718df2f048d44fb475964eb66;hp=a4b2d43275b233caf01608a4a22e579637ed2543;hpb=46ef8524cf2e6db7b851967062ce92ffb0773d10;p=freeside.git
diff --git a/httemplate/view/svc_dsl.cgi b/httemplate/view/svc_dsl.cgi
index a4b2d4327..e6a3c5381 100644
--- a/httemplate/view/svc_dsl.cgi
+++ b/httemplate/view/svc_dsl.cgi
@@ -1,14 +1,14 @@
<% include('elements/svc_Common.html',
- 'table' => 'svc_dsl',
- 'labels' => \%labels,
- 'fields' => \@fields,
- 'svc_callback' => $svc_cb,
- 'html_foot' => $html_foot,
+ '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';
+
+# XXX: AJAX auto-pull
my $fields = FS::svc_dsl->table_info->{'fields'};
my %labels = map { $_ => ( ref($fields->{$_})
@@ -25,38 +25,87 @@ my $html_foot = sub {
};
my $svc_cb = sub {
- my( $cgi,$svc_x, $part_svc,$cust_pkg, $fields1,$opt) = @_;
+ my( $cgi,$svc_dsl, $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 ( scalar(@exports) > 1 );
# if no DSL-pulling exports, then just display everything, which is the
# default behaviour implemented above
- return if ( scalar(@exports) == 0 );
+ if ( scalar(@exports) ) {
+
+ my $export = @exports[0];
- $opt->{'disable_unprovision'} = 1;
- my $exporttype = @exports[0]->exporttype;
+ @fields = (
+ 'phonenum',
+ { field => 'loop_type',
+ value => 'FS::part_export::'.$export->exporttype.'::loop_type_long'
+ },
+ { field => 'desired_due_date', type => 'date', },
+ { field => 'due_date', type => 'date', },
+ { field => 'pushed', type => 'datetime', },
+ { field => 'monitored', type => 'checkbox', },
+ { field => 'last_pull', type => 'datetime', },
+ 'first',
+ 'last',
+ 'company',
+ );
- # XXX: AJAX auto-pull
-
- @fields = qw( svctn first last company username password );
+ my $status = '';
+ if($export->exporttype eq 'ikano') {
+ push @fields, qw ( username password isp_chg isp_prev staticips );
+ $status = "Ikano " . $svc_dsl->vendor_order_type . " order #"
+ . $svc_dsl->vendor_order_id . " Status: "
+ . $svc_dsl->vendor_order_status;
+ }
+ # else add any other export-specific stuff here
+
+ $footer = "$status";
- if($exporttype eq 'ikano') {
- push @fields, 'isp_chg';
- push @fields, 'isp_prev';
- push @fields, 'staticips';
}
- else {
- # XXX
+
+ if ( grep $_->can('export_getstatus'), $part_svc->part_export ) {
+
+ $footer .= '
'.
+ include('/elements/popup_link.html', {
+ 'action' => $p.'view/svc_Status.html'.
+ '?svcnum='. $svc_dsl->svcnum,
+ 'label' => 'View line status', #link
+ 'actionlabel' => 'View line status', #popup border
+ 'width' => 763,
+ 'height' => 300,
+ });
+
}
-
- # 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
+ $footer .= '
'.
+ include( '/view/elements/svc_devices.html',
+ 'svc_x' => $svc_dsl,
+ 'table' => 'dsl_device',
+ 'no_edit' => 1,
+ );
+
+ my @notes = $svc_dsl->notes;
+ if ( @notes ) {
+
+ my $conf = new FS::Conf;
+ my $date_format = $conf->config('date_format') || '%m/%d/%Y';
+
+ $footer .=
+ "Order Notes
". ntable('#cccccc', 2). #id="dsl_notes"
+ '