selfservice command to suspend packages, RT#9989
[freeside.git] / fs_selfservice / FS-SelfService / cgi / provision_list.html
index 7e70593..818cd9f 100644 (file)
@@ -9,16 +9,30 @@ function areyousure(href, message) {
 
 <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#ffffff">
 
-<%= foreach my $pkg (
-      grep {    scalar(@{$_->{part_svc}})
-             || scalar(@{$_->{cust_svc}})
-           } @cust_pkg
+<%=
+
+foreach my $pkg (
+    grep {    scalar(@{$_->{part_svc}})
+           || scalar(@{$_->{cust_svc}})
+         } @cust_pkg
     ) {
+  my $susp = $pkg->{'susp'} || '';
+  warn $pkg->{'pkg'}. ' '.$susp."\n";
+  my @pkg_actions = ( [ 'customer_change_pkg' => 'change' ] );
+  push @pkg_actions, [ 'process_suspend_pkg' => 'suspend' ] 
+    if $self_suspend_reason and !$susp;
 
+  my $bgcolor = $susp ? '"#ff9900"' : '"#8888ff"';
   $OUT .= #'<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#ffffff">'.
-          '<TR><TH BGCOLOR="#6666ff" COLSPAN=3>'.
-          $pkg->{'pkg'}.
-          '</TH></TR>';
+          '<TR><TH BGCOLOR='.$bgcolor.' COLSPAN=2>'.
+          $pkg->{'pkg'}. ($susp && ' (suspended)').
+          '</TH><TH ALIGN="left" BGCOLOR='.$bgcolor.'>';
+  foreach my $action (@pkg_actions) {
+    $OUT .= '(<A style="font-size: smaller;color: #000000" HREF="' .
+            $url . $action->[0] . ';pkgnum=' . $pkg->{'pkgnum'} . ';pkg=' .
+            $pkg->{'pkg'} . '">' . $action->[1] . '</A>) ';
+  }
+  $OUT .= '</TH></TR>';
 
   my $col1 = "ffffff";
   my $col2 = "dddddd";
@@ -41,7 +55,7 @@ function areyousure(href, message) {
     #}
 
     unless ( $cust_svc->{'svcnum'} == $svcnum ) {
-      $OUT .= qq!(<A HREF="javascript:areyousure('${url}delete_svc;svcnum=$cust_svc->{svcnum}', 'This will perminantly delete the $cust_svc->{label}[1] $cust_svc->{label}[0].  Are you sure?')">!.
+      $OUT .= qq!(<A HREF="javascript:areyousure('${url}delete_svc;svcnum=$cust_svc->{svcnum}', 'This will permanently delete the $cust_svc->{label}[1] $cust_svc->{label}[0].  Are you sure?')">!.
               'delete</A>)';
 
     }
@@ -58,11 +72,27 @@ function areyousure(href, message) {
 
     my $td = qq!<TD BGCOLOR="#$col"!;
 
+    my $link;
+
+    if ( $part_svc->{'svcdb'} eq 'svc_external'
+         #&& $conf->exists('svc_external-skip_manual')
+    ) {
+      $link = "${url}process_svc_external;".
+              "pkgnum=$pkg->{'pkgnum'};".
+              "svcpart=$part_svc->{'svcpart'}";
+    } else {
+      $link = "${url}provision_svc;".
+              "pkgnum=$pkg->{'pkgnum'};".
+              "svcpart=$part_svc->{'svcpart'}";
+    }
+
     $OUT .= "<TR>$td COLSPAN=3 ALIGN=center>".
-            qq!<A HREF="${url}provision_svc;pkgnum=$pkg->{'pkgnum'};svcpart=$part_svc->{'svcpart'}">!.
-            'Setup '. $part_svc->{'svc'}. '</A> '.
+            qq!<A HREF="$link">!. 'Setup '. $part_svc->{'svc'}. '</A> '.
             '('. $part_svc->{'num_avail'}. ' available)'.
-            '</TD></TR>';
+            '</TD></TR>'
+      #self-service only supports these services so far
+      if grep { $part_svc->{'svcdb'} eq $_ } qw( svc_acct svc_external );
+
     $col = $col eq $col1 ? $col2 : $col1;
   }