Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / fs_selfservice / FS-SelfService / cgi / selfservice.cgi
index 5c0190f..b008fbf 100755 (executable)
@@ -124,14 +124,16 @@ unless ( $nologin_actions{$action} ) {
           'email'    => $email,
           'password' => $password
         );
+
        if ( $login_rv->{'error'} ) {
          my $ip = $cgi->remote_addr();
-         warn("login failure [email $email] [ip $ip]");
+         warn("login failure [email $email] [ip $ip] [error $login_rv->{error}]");
        } else {
          #successful login
-         $session_id = $login_rv->{'session_id'};
        }
 
+       $session_id = $login_rv->{'session_id'};
+
       } else {
 
         $cgi->param('username') =~ /^\s*([a-z0-9_\-\.\&]{0,$form_max})\s*$/i;
@@ -312,6 +314,7 @@ sub process_change_pay {
             'error' => '<FONT COLOR="#FF0000">Postal or email required.</FONT>',
           };
         }
+
         _process_change_info( 'change_pay', @list );
 }
 
@@ -933,11 +936,17 @@ sub delete_svc {
 }
 
 sub view_usage {
-  list_svcs(
+  my $res = list_svcs(
     'session_id'  => $session_id,
     'svcdb'       => [ 'svc_acct', 'svc_phone', 'svc_port', ],
     'ncancelled'  => 1,
   );
+  if ($res->{hide_usage}) {
+    $action = 'myaccount';
+    return myaccount();
+  } else {
+    return $res;
+  }
 }
 
 sub real_port_graph {