summaryrefslogtreecommitdiff
path: root/fs_selfservice
diff options
context:
space:
mode:
authorlevinse <levinse>2010-12-15 15:09:45 +0000
committerlevinse <levinse>2010-12-15 15:09:45 +0000
commitaaace663fe7ff34479a707f3976c32010e4a1845 (patch)
tree7e6ec684c9f1e776e6bc88520c22fd08cf4c81be /fs_selfservice
parent123bc067cc9fd8b247fb0b4e9a86066f32e83991 (diff)
self-service improvements, RT10883
Diffstat (limited to 'fs_selfservice')
-rw-r--r--fs_selfservice/FS-SelfService/cgi/provision.html11
-rw-r--r--fs_selfservice/FS-SelfService/cgi/selfservice.cgi2
-rw-r--r--fs_selfservice/FS-SelfService/cgi/ws_list.html72
3 files changed, 82 insertions, 3 deletions
diff --git a/fs_selfservice/FS-SelfService/cgi/provision.html b/fs_selfservice/FS-SelfService/cgi/provision.html
index 7c0f861e4..10d17f537 100644
--- a/fs_selfservice/FS-SelfService/cgi/provision.html
+++ b/fs_selfservice/FS-SelfService/cgi/provision.html
@@ -1,6 +1,11 @@
-<%= $url = "$selfurl?session=$session_id;action="; ''; %>
-<%= include('header', 'Setup my services') %>
+<%= $url = "$selfurl?session=$session_id;action=";
+ $heading1 = "Setup my services";
+ $heading1 = "Package list" if $wholesale_view;
+ $provision_list = "provision_list";
+ $provision_list = "ws_list" if $wholesale_view;
+ ''; %>
+<%= include('header', $heading1) %>
-<%= include('provision_list') %>
+<%= include($provision_list) %>
<%= include('footer') %>
diff --git a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi
index 25d61aca6..0ef4e9aad 100644
--- a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi
+++ b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi
@@ -615,6 +615,8 @@ sub logout {
sub provision {
my $result = list_pkgs( 'session_id' => $session_id );
die $result->{'error'} if exists $result->{'error'} && $result->{'error'};
+ $result->{'pkgpart'} = $cgi->param('pkgpart') if $cgi->param('pkgpart');
+ $result->{'filter'} = $cgi->param('filter') if $cgi->param('filter');
$result;
}
diff --git a/fs_selfservice/FS-SelfService/cgi/ws_list.html b/fs_selfservice/FS-SelfService/cgi/ws_list.html
new file mode 100644
index 000000000..7b62db452
--- /dev/null
+++ b/fs_selfservice/FS-SelfService/cgi/ws_list.html
@@ -0,0 +1,72 @@
+<%=
+
+sub ws_pkglink {
+ my($cat,$count,$link) = (shift,shift,shift);
+ return "0 $cat <BR>" unless $count->{$cat};
+ return qq! <A HREF="${link};filter=$cat">$count->{$cat}</A> $cat <BR> !;
+}
+
+sub ws_pkgstatus {
+ my $pkg = shift;
+ $status = "unbilled";
+ $status = "active" if ( $pkg->{setup} && !$pkg->{cancel}
+ && !$pkg->{susp} );
+ $status = "suspended" if ( $pkg->{susp} && !$pkg->{cancel} );
+ $status = "cancelled" if $pkg->{cancel};
+ $status;
+}
+
+sub pdate {
+ my($field,$date_format) = (shift,shift);
+ return "<TD>".Date::Format::time2str($date_format,$field)."</TD>"
+ if $field > 0;
+ '<TD></TD>';
+}
+
+if ( $pkgpart ) {
+ $OUT .= qq! <TABLE BORDER="1"><TR><TH>Package</TH><TH>Status</TH> !;
+ $OUT .= "<TH>Setup</TH><TH>Last Bill</TH><TH>Next Bill</TH><TH>Adjourn</TH>";
+ $OUT .= "<TH>Suspend</TH><TH>Expire</TH><TH>Contract End</TH>";
+ $OUT .= "<TH>Cancel</TH></TR>";
+ foreach my $pkg ( @cust_pkg ) {
+ my $part_pkg = $pkg->{part_pkg}[0];
+ $status = ws_pkgstatus($pkg);
+ if($pkg->{pkgpart} == $pkgpart && ($filter eq $status || !$filter) ) {
+ $OUT .= "<TR><TD>$part_pkg->{pkg}</TD><TD>$status</TD>";
+ $OUT .= pdate($pkg->{setup},$date_format);
+ $OUT .= pdate($pkg->{last_bill},$date_format);
+ $OUT .= pdate($pkg->{bill},$date_format);
+ $OUT .= pdate($pkg->{adjourn},$date_format);
+ $OUT .= pdate($pkg->{susp},$date_format);
+ $OUT .= pdate($pkg->{expire},$date_format);
+ $OUT .= pdate($pkg->{contract_end},$date_format);
+ $OUT .= pdate($pkg->{cancel},$date_format);
+ $OUT .= "</TR>";
+ }
+ }
+ $OUT .= "</TABLE>";
+}
+else {
+ my %pkgparts;
+ foreach my $pkg ( @cust_pkg ) {
+ my $status = ws_pkgstatus($pkg);
+ $pkgparts{$pkg->{pkgpart}}{$status}++;
+ my $part_pkg = $pkg->{part_pkg}[0];
+ $pkgparts{$pkg->{pkgpart}}{pkg} = $part_pkg->{pkg};
+ }
+
+ $OUT .= qq! <TABLE BORDER="1"><TR><TH>Package</TH><TH>Status</TH></TR> !;
+ my($pkgpart,$counts);
+ while(($pkgpart,$count) = each %pkgparts){
+ my $link = "${url}provision;pkgpart=$pkgpart";
+ $OUT .= qq! <TR><TD><A HREF="$link">$count->{pkg}</A></TD><TD> !;
+ $OUT .= ws_pkglink("unbilled",$count,$link);
+ $OUT .= ws_pkglink("active",$count,$link);
+ $OUT .= ws_pkglink("suspended",$count,$link);
+ $OUT .= ws_pkglink("cancelled",$count,$link);
+ $OUT .= "</TD></TR>";
+ }
+ $OUT .= "</TABLE>";
+}
+
+%>