keycloak-aplcache

Details

diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-detail.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-detail.html
index 55898e6..fec6872 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-detail.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-detail.html
@@ -65,6 +65,20 @@
                                        data-ng-model="user.lastName">
                             </div>
                         </div>
+
+                        <div class="form-group clearfix block">
+                            <label for="userEnabled" class="control-label">User Enabled</label>
+                            <input ng-model="user.enabled" name="userEnabled" id="userEnabled" onoffswitch />
+                        </div>
+                        <div class="form-group clearfix block">
+                            <label for="userTotp" class="control-label">TOTP Enabled</label>
+                            <input ng-model="user.totp" name="userTotp" id="userTotp" onoffswitch />
+                        </div>
+                        <div class="form-group clearfix block">
+                            <label for="emailVerified" class="control-label">Email verified</label>
+                            <input ng-model="user.emailVerified" name="emailVerified" id="emailVerified" onoffswitch />
+                        </div>
+
                     </fieldset>
                     <div class="form-actions" data-ng-show="create">
                         <button type="submit" data-ng-click="save()" class="primary" data-ng-show="changed">Save
diff --git a/core/src/main/java/org/keycloak/representations/idm/UserRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/UserRepresentation.java
index a15d053..c762ec0 100755
--- a/core/src/main/java/org/keycloak/representations/idm/UserRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/UserRepresentation.java
@@ -14,6 +14,8 @@ public class UserRepresentation {
     protected String self; // link
     protected String username;
     protected boolean enabled;
+    protected boolean totp;
+    protected boolean emailVerified;
     protected String firstName;
     protected String lastName;
     protected String email;
@@ -69,6 +71,22 @@ public class UserRepresentation {
         this.enabled = enabled;
     }
 
+    public boolean isTotp() {
+        return totp;
+    }
+
+    public void setTotp(boolean totp) {
+        this.totp = totp;
+    }
+
+    public boolean isEmailVerified() {
+        return emailVerified;
+    }
+
+    public void setEmailVerified(boolean emailVerified) {
+        this.emailVerified = emailVerified;
+    }
+
     public Map<String, String> getAttributes() {
         return attributes;
     }
diff --git a/services/src/main/java/org/keycloak/services/managers/RealmManager.java b/services/src/main/java/org/keycloak/services/managers/RealmManager.java
index 7db2cf5..7c49e9d 100755
--- a/services/src/main/java/org/keycloak/services/managers/RealmManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/RealmManager.java
@@ -387,6 +387,9 @@ public class RealmManager {
         rep.setLastName(user.getLastName());
         rep.setFirstName(user.getFirstName());
         rep.setEmail(user.getEmail());
+        rep.setEnabled(user.isEnabled());
+        rep.setEmailVerified(user.isEmailVerified());
+        rep.setTotp(user.isTotp());
         if (user.getAttributes() != null && !user.getAttributes().isEmpty()) {
             Map<String, String> attrs = new HashMap<String, String>();
             attrs.putAll(user.getAttributes());
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java b/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java
index 3f72e38..b81480d 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java
@@ -67,6 +67,11 @@ public class UsersResource {
         user.setEmail(rep.getEmail());
         user.setFirstName(rep.getFirstName());
         user.setLastName(rep.getLastName());
+
+        user.setEnabled(rep.isEnabled());
+        user.setTotp(rep.isTotp());
+        user.setEmailVerified(rep.isEmailVerified());
+
         if (rep.getAttributes() != null) {
             for (Map.Entry<String, String> attr : rep.getAttributes().entrySet()) {
                 user.setAttribute(attr.getKey(), attr.getValue());
@@ -87,6 +92,11 @@ public class UsersResource {
         user.setEmail(rep.getEmail());
         user.setFirstName(rep.getFirstName());
         user.setLastName(rep.getLastName());
+
+        user.setEnabled(rep.isEnabled());
+        user.setTotp(rep.isTotp());
+        user.setEmailVerified(rep.isEmailVerified());
+
         if (rep.getAttributes() != null) {
             for (Map.Entry<String, String> attr : rep.getAttributes().entrySet()) {
                 user.setAttribute(attr.getKey(), attr.getValue());