summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorivan <ivan>2011-11-11 23:59:50 +0000
committerivan <ivan>2011-11-11 23:59:50 +0000
commit0ee87ce2f12ab1ba734f6d2b60c60469c07f9b8c (patch)
tree5f9a3319673abfb713a71b93cd9292165e753e25 /FS
parent898abe13b00b7dec565740cede15a92810335349 (diff)
DSL status pulling, RT#13656
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/ClientAPI/MyAccount.pm15
-rw-r--r--FS/FS/ClientAPI_XMLRPC.pm1
-rw-r--r--FS/FS/svc_Common.pm19
3 files changed, 35 insertions, 0 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm
index 0af2c3e19..53e67404c 100644
--- a/FS/FS/ClientAPI/MyAccount.pm
+++ b/FS/FS/ClientAPI/MyAccount.pm
@@ -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;
diff --git a/FS/FS/ClientAPI_XMLRPC.pm b/FS/FS/ClientAPI_XMLRPC.pm
index 1940ca50e..d7528df67 100644
--- a/FS/FS/ClientAPI_XMLRPC.pm
+++ b/FS/FS/ClientAPI_XMLRPC.pm
@@ -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',
+ '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',
diff --git a/FS/FS/svc_Common.pm b/FS/FS/svc_Common.pm
index 28f759ae2..7a93bc497 100644
--- a/FS/FS/svc_Common.pm
+++ b/FS/FS/svc_Common.pm
@@ -1148,8 +1148,27 @@ sub find_duplicates {
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