Merge pull request #79 from neeraj-lad/AIRAVATA-2509

[AIRAVATA-2509] Account confirmation, password reset emails not making it to user
diff --git a/app/libraries/IamAdminServicesUtilities.php b/app/libraries/IamAdminServicesUtilities.php
index 3ba50df..b5623c5 100644
--- a/app/libraries/IamAdminServicesUtilities.php
+++ b/app/libraries/IamAdminServicesUtilities.php
@@ -1,4 +1,5 @@
 <?php
+use Airavata\Model\User\Status;
 
 class IamAdminServicesUtilities {
 
@@ -33,7 +34,7 @@
         $user_profiles = IamAdminServices::getUsersWithRole($authz_token, $role_name);
         $users = [];
         foreach ($user_profiles as $user_profile) {
-            array_push($users, (object)["firstName"=>$user_profile->firstName,"lastName"=>$user_profile->lastName,"email"=>implode(",",$user_profile->emails),"userName"=>$user_profile->userId]);
+            array_push($users, (object)["firstName"=>$user_profile->firstName,"lastName"=>$user_profile->lastName,"email"=>implode(",",$user_profile->emails),"userName"=>$user_profile->userId, "userEnabled"=>$user_profile->State == Status::CONFIRMED]);
         }
         return $users;
     }
diff --git a/app/libraries/Keycloak/Keycloak.php b/app/libraries/Keycloak/Keycloak.php
index 7c4d90c..46b5c94 100644
--- a/app/libraries/Keycloak/Keycloak.php
+++ b/app/libraries/Keycloak/Keycloak.php
@@ -259,7 +259,8 @@
         $users = $this->users->getUsers($this->realm);
         $usernames = [];
         foreach ($users as $user) {
-            array_push($usernames, (object)["firstName"=>$user->firstName,"lastName"=>$user->lastName,"email"=>$user->email,"userName"=>$user->username]);
+            Log::debug("user", array($user));
+            array_push($usernames, (object)["firstName"=>$user->firstName,"lastName"=>$user->lastName,"email"=>$user->email,"userEnabled"=>$user->enabled,"userName"=>$user->username]);
         }
         return $usernames;
     }
@@ -275,7 +276,7 @@
         $users = $this->users->searchUsers($this->realm, $phrase);
         $usernames = [];
         foreach ($users as $user) {
-            array_push($usernames, (object)["firstName"=>$user->firstName,"lastName"=>$user->lastName,"email"=>$user->email,"userName"=>$user->username]);
+            array_push($usernames, (object)["firstName"=>$user->firstName,"lastName"=>$user->lastName,"email"=>$user->email,"userEnabled"=>$user->enabled,"userName"=>$user->username]);
         }
         return $usernames;
     }
@@ -374,6 +375,7 @@
             $result["email"] = $user->email;
             $result["firstname"] = $user->firstName;
             $result["lastname"] = $user->lastName;
+            $result["userEnabled"] = $user->enabled;
             return $result;
         }else{
             return [];
diff --git a/app/views/admin/manage-users.blade.php b/app/views/admin/manage-users.blade.php
index 1b038cb..e2affb8 100644
--- a/app/views/admin/manage-users.blade.php
+++ b/app/views/admin/manage-users.blade.php
@@ -58,6 +58,7 @@
                         <th>Last Name</th>
                         <th>Username</th>
                         <th>Email</th>
+                        <th>User Enabled</th>
 
                         <th>
                             Role :
@@ -85,9 +86,15 @@
                         <td>{{ $user->lastName }}</td>
                         <td>{{ $user->userName }}</td>
                         <td>{{ $user->email }}</td>
+                        @if($user->userEnabled)
+                            <td class="text-success"><span class="glyphicon glyphicon-ok"></span></td>
+                        @else
+                            <td class="text-danger"><span class="glyphicon glyphicon-remove"></span></td>
+                        @endif
                         <td>
                             <button class="button btn btn-default check-roles" type="button"
-                                    data-username="{{$user->userName}}">Check All Roles
+                                    data-username="{{$user->userName}}"
+                                    @if(!$user->userEnabled)disabled @endif>Check All Roles
                             </button>
                             <div class="user-roles"></div>
                         </td>