X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_dsl.cgi;h=e6a3c5381e69f276e52601265a5349c845909e52;hp=b460c010ed67d261ccb4d7e84b4bd7b8be7ff394;hb=c3da5cf1caa244937d280e0f406927103beef148;hpb=6f980ae5697a6e0cd5459bae448020b498c85bd2 diff --git a/httemplate/view/svc_dsl.cgi b/httemplate/view/svc_dsl.cgi index b460c010e..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,34 +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]; - my $export = @exports[0]; - $opt->{'disable_unprovision'} = 1; + @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($export->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, + }); + } - - $footer = "".$export->status_line($svc_x,$date_format,"
")."
"; - # 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" + 'DateByPriorityNote'; + + foreach my $note ( @notes ) { + $footer .= " + ".time2str("$date_format %H:%M",$note->date)." + ".$note->by." + ". ($note->priority eq 'N' ? 'Normal' : 'High') ." + ".$note->note.""; + } + + $footer .= ''; + + } };