keycloak-uncached

Details

diff --git a/forms/src/main/java/org/keycloak/forms/UserBean.java b/forms/src/main/java/org/keycloak/forms/UserBean.java
index 019adb2..1662623 100755
--- a/forms/src/main/java/org/keycloak/forms/UserBean.java
+++ b/forms/src/main/java/org/keycloak/forms/UserBean.java
@@ -30,24 +30,35 @@ public class UserBean {
 
     private UserModel user;
 
+    private String firstName;
+    private String lastName;
+    private String email;
+    private String username;
+
     public UserBean(UserModel user){
         this.user = user;
+        if (user != null){
+            this.firstName = user.getFirstName();
+            this.lastName = user.getLastName();
+            this.username = user.getLoginName();
+            this.email = user.getEmail();
+        }
     }
 
     public String getFirstName() {
-        return user.getFirstName();
+        return firstName;
     }
 
     public String getLastName() {
-        return user.getLastName();
+        return lastName;
     }
 
     public String getUsername() {
-        return user.getLoginName();
+        return username;
     }
 
     public String getEmail() {
-        return user.getEmail();
+        return email;
     }
 
     UserModel getUser() {
diff --git a/forms/src/main/resources/META-INF/resources/forms/theme/default/css/forms.css b/forms/src/main/resources/META-INF/resources/forms/theme/default/css/forms.css
index 78a16e4..082dbdd 100644
--- a/forms/src/main/resources/META-INF/resources/forms/theme/default/css/forms.css
+++ b/forms/src/main/resources/META-INF/resources/forms/theme/default/css/forms.css
@@ -267,7 +267,7 @@ button.primary:enabled:active {
 }
 .feedback.warning p {
   border-color: #f17528;
-  background-image: url(img/feedback-warning-sign.svg);
+  background-image: url(img/feedback-warning-sign.png);
   background-color: #fef1e9;
 }
 button,
diff --git a/forms/src/main/resources/META-INF/resources/forms/theme/default/css/img/feedback-warning-sign.png b/forms/src/main/resources/META-INF/resources/forms/theme/default/css/img/feedback-warning-sign.png
new file mode 100644
index 0000000..f9392a3
Binary files /dev/null and b/forms/src/main/resources/META-INF/resources/forms/theme/default/css/img/feedback-warning-sign.png differ
diff --git a/forms/src/main/resources/META-INF/resources/forms/theme/default/login-update-profile.ftl b/forms/src/main/resources/META-INF/resources/forms/theme/default/login-update-profile.ftl
index 06a06af..fb9a8e4 100755
--- a/forms/src/main/resources/META-INF/resources/forms/theme/default/login-update-profile.ftl
+++ b/forms/src/main/resources/META-INF/resources/forms/theme/default/login-update-profile.ftl
@@ -2,28 +2,36 @@
 <@layout.registrationLayout bodyClass=""; section>
     <#if section = "title">
 
-    Update profile
+    Update Account Information
 
     <#elseif section = "header">
 
-    Update profile
+    <h2>Update Account Information</h2>
 
+    <#elseif section = "feedback">
+    <div class="feedback warning show">
+        <p><strong>Your account is not enabled because you need to update your account information.</strong><br>Please follow the steps below.</p>
+    </div>
     <#elseif section = "form">
 
     <div id="form">
         <form action="${url.accountUrl}" method="post">
-        	<div>
-            	<label for="firstName">${rb.getString('firstName')}</label>
-	            <input type="text" id="firstName" name="firstName" value="${user.firstName!''}" />
-    	    </div>
-	        <div>
-    	        <label for="lastName">${rb.getString('lastName')}</label>
-            	<input type="text" id="lastName" name="lastName" value="${user.lastName!''}" />
-        	</div>
+            <div class="feedback error bottom-left">
+                <p><strong>Some required fields are empty or incorrect.</strong><br>Please correct the fields in red.</p>
+            </div>
+            <p class="subtitle">All fields required</p>
 	        <div>
     	        <label for="email">${rb.getString('email')}</label>
             	<input type="text" id="email" name="email" value="${user.email!''}" />
 	        </div>
+            <div>
+                <label for="firstName">${rb.getString('firstName')}</label>
+                <input type="text" id="firstName" name="firstName" value="${user.firstName!''}" />
+            </div>
+            <div>
+                <label for="lastName">${rb.getString('lastName')}</label>
+                <input type="text" id="lastName" name="lastName" value="${user.lastName!''}" />
+            </div>
 
             <div class="aside-btn">
             </div>
@@ -31,11 +39,5 @@
             <input class="btn-primary" type="submit" value="Submit" />
         </form>
     </div>
-
-    <#elseif section = "info" >
-
-    <div id="info">
-    </div>
-
     </#if>
 </@layout.registrationLayout>
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/theme/default/template-login-action.ftl b/forms/src/main/resources/META-INF/resources/forms/theme/default/template-login-action.ftl
index 4f20710..70794b1 100644
--- a/forms/src/main/resources/META-INF/resources/forms/theme/default/template-login-action.ftl
+++ b/forms/src/main/resources/META-INF/resources/forms/theme/default/template-login-action.ftl
@@ -16,6 +16,9 @@
 </head>
 
 <body class="rcue-login-register ${bodyClass}">
+    <div class="feedback-aligner">
+        <#nested "feedback">
+    </div>
     <#if (template.themeConfig.logo)?has_content>
         <h1>
             <a href="#" title="Go to the home page"><img src="${template.themeConfig.logo}" alt="Logo" /></a>
diff --git a/testsuite/src/test/java/org/keycloak/testsuite/pages/LoginUpdateProfilePage.java b/testsuite/src/test/java/org/keycloak/testsuite/pages/LoginUpdateProfilePage.java
index 88d41ef..9a4b454 100644
--- a/testsuite/src/test/java/org/keycloak/testsuite/pages/LoginUpdateProfilePage.java
+++ b/testsuite/src/test/java/org/keycloak/testsuite/pages/LoginUpdateProfilePage.java
@@ -60,7 +60,7 @@ public class LoginUpdateProfilePage extends Page {
     }
 
     public boolean isCurrent() {
-        return driver.getTitle().equals("Update profile");
+        return driver.getTitle().equals("Update Account Information");
     }
 
     @Override