diff options
Diffstat (limited to 'fs_selfservice')
4 files changed, 45 insertions, 11 deletions
| diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm index fc9a37a95..990ff2074 100644 --- a/fs_selfservice/FS-SelfService/SelfService.pm +++ b/fs_selfservice/FS-SelfService/SelfService.pm @@ -53,6 +53,7 @@ $socket .= '.'.$tag if defined $tag && length($tag);    'renew_info'                => 'MyAccount/renew_info',    'order_renew'               => 'MyAccount/order_renew',    'cancel_pkg'                => 'MyAccount/cancel_pkg',    #add to ss cgi! +  'suspend_pkg'               => 'MyAccount/suspend_pkg',   #add to ss cgi!    'charge'                    => 'MyAccount/charge',        #?    'part_svc_info'             => 'MyAccount/part_svc_info',    'provision_acct'            => 'MyAccount/provision_acct', diff --git a/fs_selfservice/FS-SelfService/cgi/process_suspend_pkg.html b/fs_selfservice/FS-SelfService/cgi/process_suspend_pkg.html new file mode 100644 index 000000000..d5c62f4f1 --- /dev/null +++ b/fs_selfservice/FS-SelfService/cgi/process_suspend_pkg.html @@ -0,0 +1,3 @@ +<%= $url = "$selfurl?session=$session_id;action="; ''; %> +<%= include('header', 'Package suspended') %> +<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/provision_list.html b/fs_selfservice/FS-SelfService/cgi/provision_list.html index 88d1c848b..818cd9f35 100644 --- a/fs_selfservice/FS-SelfService/cgi/provision_list.html +++ b/fs_selfservice/FS-SelfService/cgi/provision_list.html @@ -9,18 +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=2>'. -          $pkg->{'pkg'}. '</TH><TH BGCOLOR="#6666ff" >' . -          qq!(<A style="font-size: smaller;color: #000000" HREF="! . -          qq!${url}customer_change_pkg;pkgnum=$pkg->{'pkgnum'};pkg=$pkg->{'pkg'}">! . -          'change</A>)</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"; diff --git a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi index 711bd4e12..d23e6ba68 100644 --- a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi +++ b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi @@ -14,7 +14,7 @@ use FS::SelfService qw(    payment_info process_payment realtime_collect process_prepay    list_pkgs order_pkg signup_info order_recharge    part_svc_info provision_acct provision_external -  unprovision_svc change_pkg domainselector +  unprovision_svc change_pkg suspend_pkg domainselector    list_svcs list_svc_usage list_cdr_usage list_support_usage    myaccount_passwd    mason_comp @@ -73,7 +73,7 @@ $session_id = $cgi->param('session');  #order|pw_list XXX ???  $cgi->param('action') =~ -    /^(myaccount|view_invoice|make_payment|make_ach_payment|make_term_payment|make_thirdparty_payment|payment_results|ach_payment_results|recharge_prepay|recharge_results|logout|change_bill|change_ship|change_pay|process_change_bill|process_change_ship|process_change_pay|customer_order_pkg|process_order_pkg|customer_change_pkg|process_change_pkg|process_order_recharge|provision|provision_svc|process_svc_acct|process_svc_external|delete_svc|view_usage|view_usage_details|view_cdr_details|view_support_details|change_password|process_change_password)$/ +    /^(myaccount|view_invoice|make_payment|make_ach_payment|make_term_payment|make_thirdparty_payment|payment_results|ach_payment_results|recharge_prepay|recharge_results|logout|change_bill|change_ship|change_pay|process_change_bill|process_change_ship|process_change_pay|customer_order_pkg|process_order_pkg|customer_change_pkg|process_change_pkg|process_order_recharge|provision|provision_svc|process_svc_acct|process_svc_external|delete_svc|view_usage|view_usage_details|view_cdr_details|view_support_details|change_password|process_change_password|customer_suspend_pkg|process_suspend_pkg)$/    or die "unknown action ". $cgi->param('action');  my $action = $1; @@ -329,6 +329,24 @@ sub process_change_pkg {  } +sub process_suspend_pkg { +  my $results = ''; +  $results = suspend_pkg ( +    'session_id' => $session_id, +    map { $_ => $cgi->param($_) }  +      qw( pkgnum ) +    ); +  if ( $results->{'error'} ) { +    $action = 'provision'; +    return { +      'error' => '<FONT COLOR="#FF0000">'. $results->{'error'}. '</FONT>', +    } +  } +  else { +    return $results; +  } +} +  sub process_order_recharge {    my $results = ''; | 
