DSL status pulling, RT#13656
authorivan <ivan>
Fri, 11 Nov 2011 23:59:51 +0000 (23:59 +0000)
committerivan <ivan>
Fri, 11 Nov 2011 23:59:51 +0000 (23:59 +0000)
FS/FS/ClientAPI/MyAccount.pm
FS/FS/ClientAPI_XMLRPC.pm
FS/FS/svc_Common.pm
fs_selfservice/FS-SelfService/SelfService.pm
httemplate/elements/header-popup.html
httemplate/view/svc_Status.html

index 0af2c3e..53e6740 100644 (file)
@@ -1521,6 +1521,21 @@ sub _customer_svc_x {
 
 }
 
 
 }
 
+sub svc_status_html {
+  my $p = shift;
+
+  my($context, $session, $custnum) = _custoragent_session_custnum($p);
+  return { 'error' => $session } if $context eq 'error';
+
+  my $svc_x = _customer_svc_x( $custnum, $p->{'svcnum'})
+    or return { 'error' => "Service not found" };
+
+  my $html = $svc_x->getstatus_html;
+
+  return { 'html' => $html };
+
+}
+
 sub list_dsl_devices {
   my $p = shift;
 
 sub list_dsl_devices {
   my $p = shift;
 
index 1940ca5..d7528df 100644 (file)
@@ -120,6 +120,7 @@ sub ss2clientapi {
   'list_pkgs'                 => 'MyAccount/list_pkgs',     #add to ss (added?)
   'list_svcs'                 => 'MyAccount/list_svcs',     #add to ss (added?)
   'list_svc_usage'            => 'MyAccount/list_svc_usage',   
   'list_pkgs'                 => 'MyAccount/list_pkgs',     #add to ss (added?)
   'list_svcs'                 => 'MyAccount/list_svcs',     #add to ss (added?)
   'list_svc_usage'            => 'MyAccount/list_svc_usage',   
+  'svc_status_html'           => 'MyAccount/svc_status_html',
   'list_dsl_devices'          => 'MyAccount/list_dsl_devices',   
   'add_dsl_device'            => 'MyAccount/add_dsl_device',   
   'delete_dsl_device'         => 'MyAccount/delete_dsl_device',   
   'list_dsl_devices'          => 'MyAccount/list_dsl_devices',   
   'add_dsl_device'            => 'MyAccount/add_dsl_device',   
   'delete_dsl_device'         => 'MyAccount/delete_dsl_device',   
index 3ecff33..02e159b 100644 (file)
@@ -1138,8 +1138,27 @@ sub find_duplicates {
   return grep { $conflict_svcparts{$_->cust_svc->svcpart} } @dup;
 }
 
   return grep { $conflict_svcparts{$_->cust_svc->svcpart} } @dup;
 }
 
+=item getstatus_html
 
 
+=cut
+
+sub getstatus_html {
+  my $self = shift;
+
+  my $part_svc = $self->cust_svc->part_svc;
+
+  my $html = '';
+
+  foreach my $export ( grep $_->can('export_getstatus'), $part_svc->part_export ) {
+    my $export_html = '';
+    my %hash = ();
+    $export->export_getstatus( $self, \$export_html, \%hash );
+    $html .= $export_html;
+  }
 
 
+  $html;
+
+}
 
 =back
 
 
 =back
 
index 92f2017..02e068c 100644 (file)
@@ -52,6 +52,7 @@ $socket .= '.'.$tag if defined $tag && length($tag);
   'list_pkgs'                 => 'MyAccount/list_pkgs',     #add to ss (added?)
   'list_svcs'                 => 'MyAccount/list_svcs',     #add to ss (added?)
   'list_svc_usage'            => 'MyAccount/list_svc_usage',   
   'list_pkgs'                 => 'MyAccount/list_pkgs',     #add to ss (added?)
   'list_svcs'                 => 'MyAccount/list_svcs',     #add to ss (added?)
   'list_svc_usage'            => 'MyAccount/list_svc_usage',   
+  'svc_status_html'           => 'MyAccount/svc_status_html',
   'list_dsl_devices'          => 'MyAccount/list_dsl_devices',   
   'add_dsl_device'            => 'MyAccount/add_dsl_device',   
   'delete_dsl_device'         => 'MyAccount/delete_dsl_device',   
   'list_dsl_devices'          => 'MyAccount/list_dsl_devices',   
   'add_dsl_device'            => 'MyAccount/add_dsl_device',   
   'delete_dsl_device'         => 'MyAccount/delete_dsl_device',   
index d94f7eb..472a732 100644 (file)
@@ -2,15 +2,15 @@
 
 Example:
 
 
 Example:
 
-  include( '/elements/header-popup.html',
-           {
-             'title'   => 'Title',
-             'menubar' => \@menubar,
-             'etc'     => '', #included in <BODY> tag, for things like onLoad=
-             'head'    => '', #included before closing </HEAD> tag
-             'nobr'    => 0,  #1 for no <BR><BR> after the title
-           }
-         );
+  <& /elements/header-popup.html,
+       {
+         'title'   => 'Title',
+         'menubar' => \@menubar,
+         'etc'     => '', #included in <BODY> tag, for things like onLoad=
+         'head'    => '', #included before closing </HEAD> tag
+         'nobr'    => 0,  #1 for no <BR><BR> after the title
+       }
+  &>
 
   #old-style
   include( '/elements/header.html', 'Title', $menubar, $etc, $head);
 
   #old-style
   include( '/elements/header.html', 'Title', $menubar, $etc, $head);
@@ -29,14 +29,14 @@ Example:
   </HEAD>
   <BODY <% $etc %>>
     <link href="<%$fsurl%>elements/freeside.css" type="text/css" rel="stylesheet">
   </HEAD>
   <BODY <% $etc %>>
     <link href="<%$fsurl%>elements/freeside.css" type="text/css" rel="stylesheet">
+% if ( $title ) {
     <FONT SIZE=6>
       <CENTER><% $title |h %></CENTER>
     </FONT>
     <FONT SIZE=6>
       <CENTER><% $title |h %></CENTER>
     </FONT>
-
+% }
 % unless ( $nobr ) {
     <BR><!--<BR>-->
 % }
 % unless ( $nobr ) {
     <BR><!--<BR>-->
 % }
-
 <%init>
 
 my( $title, $menubar, $etc, $head ) = ( '', '', '', '' );
 <%init>
 
 my( $title, $menubar, $etc, $head ) = ( '', '', '', '' );
index 4a64d47..74fd6bd 100644 (file)
@@ -4,12 +4,7 @@
        'nobr'    => 0,  #1 for no <BR><BR> after the title
      }
 &>
        'nobr'    => 0,  #1 for no <BR><BR> after the title
      }
 &>
-% foreach my $export ( grep $_->can('export_getstatus'), $part_svc->part_export ) {
-%   my $html = '';
-%   my %hash = ();
-%   $export->export_getstatus( $svc_x, \$html, \%hash );
 <% $html %>
 <% $html %>
-% }
 <%init>
 
 $cgi->param('svcnum') =~ /^(\d+)$/ or die 'illegal svcnum';
 <%init>
 
 $cgi->param('svcnum') =~ /^(\d+)$/ or die 'illegal svcnum';
@@ -19,6 +14,6 @@ my $cust_svc = qsearchs( 'cust_svc', { 'svcnum' => $svcnum } );
 die "Unknown svcnum" unless $cust_svc;
 my $svc_x = $cust_svc->svc_x;
 
 die "Unknown svcnum" unless $cust_svc;
 my $svc_x = $cust_svc->svc_x;
 
-my $part_svc = $cust_svc->part_svc;
+my $html = $svc_x->getstatus_html;
 
 </%init>
 
 </%init>