Option to ignore old CDRs, RT#81480
[freeside.git] / httemplate / view / svc_dsl.cgi
index 14c1eb2..e6a3c53 100644 (file)
@@ -1,9 +1,9 @@
 <% 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>
@@ -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 );
-
-    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'  );
-
-    if($export->exporttype eq 'ikano') {
-       push @fields, qw ( username password isp_chg isp_prev staticips );
-    }
-    # else add any other export-specific stuff here
+    if ( scalar(@exports) ) {
+
+      my $export = @exports[0];
+
+      @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',
+      );
+
+      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 . " &nbsp; Status: " 
+                  . $svc_dsl->vendor_order_status;
+      }
+      # else add any other export-specific stuff here
    
-    $footer = "<B>".$export->status_line($svc_x)."</B>";
-    $footer .= "<BR><BR><BR><B>Order Notes:</B><BR>".$export->notes_html($svc_x);
+      $footer = "<B>$status</B>";
+
+    }
+
+    if ( grep $_->can('export_getstatus'), $part_svc->part_export ) {
+
+      $footer .= '<BR><BR>'.
+                 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 .= '<BR><BR>'.
+               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<BR>". ntable('#cccccc', 2). #id="dsl_notes"
+        '<TR><TH>Date</TH><TH>By</TH><TH>Priority</TH><TH>Note</TH></TR>';
+
+      foreach my $note ( @notes ) {
+        $footer .= "<TR>
+            <TD>".time2str("$date_format %H:%M",$note->date)."</TD>
+            <TD>".$note->by."</TD>
+            <TD>". ($note->priority eq 'N' ? 'Normal' : 'High') ."</TD>
+            <TD>".$note->note."</TD></TR>";
+      }
+
+      $footer .= '</TABLE>';
+
+    }
 };
 </%init>