From a99149b83af36b94949b6a744df9a368537a2b1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9da=20Housni=20Alaoui?= Date: Sat, 2 Aug 2025 18:28:51 +0200 Subject: [PATCH] Login[v2]: "Update email" screen is not polished MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Réda Housni Alaoui --- .../auth/page/login/UpdateEmailPage.java | 9 ++---- .../testsuite/pages/EmailUpdatePage.java | 4 +-- .../theme/keycloak.v2/login/update-email.ftl | 29 +++++++++++++++++++ 3 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 themes/src/main/resources/theme/keycloak.v2/login/update-email.ftl diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdateEmailPage.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdateEmailPage.java index 7f2d4dd460f..b96a9a06be1 100644 --- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdateEmailPage.java +++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdateEmailPage.java @@ -33,13 +33,10 @@ public class UpdateEmailPage extends LogoutSessionsPage { @FindBy(id = "input-error-email") private WebElement inputErrorEmail; - @FindBy(css = "button[name='cancel-aia']") + @FindBy(id = "kc-cancel") private WebElement cancelActionButton; - @FindBy(css = "input[type='submit']") - private WebElement submitActionButton; - - @FindBy(css = "input[type='submit']") + @FindBy(id = "kc-submit") private WebElement submitButton; @Override @@ -80,7 +77,7 @@ public class UpdateEmailPage extends LogoutSessionsPage { } public void clickSubmitAction() { - clickLink(submitActionButton); + clickLink(submitButton); } } diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/EmailUpdatePage.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/EmailUpdatePage.java index 1b24be6cea5..b2764836dab 100644 --- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/EmailUpdatePage.java +++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/EmailUpdatePage.java @@ -28,10 +28,10 @@ public class EmailUpdatePage extends AbstractPage { @FindBy(id = "email") private WebElement emailInput; - @FindBy(css = "input[type=\"submit\"]") + @FindBy(id = "kc-submit") private WebElement submitButton; - @FindBy(name = "cancel-aia") + @FindBy(id = "kc-cancel") private WebElement cancelAIAButton; @FindBy(id = "input-error-email") diff --git a/themes/src/main/resources/theme/keycloak.v2/login/update-email.ftl b/themes/src/main/resources/theme/keycloak.v2/login/update-email.ftl new file mode 100644 index 00000000000..d82a303238e --- /dev/null +++ b/themes/src/main/resources/theme/keycloak.v2/login/update-email.ftl @@ -0,0 +1,29 @@ +<#import "template.ftl" as layout> +<#import "password-commons.ftl" as passwordCommons> +<#import "user-profile-commons.ftl" as userProfileCommons> +<#import "buttons.ftl" as buttons> +<@layout.registrationLayout displayMessage=messagesPerField.exists('global') displayRequiredFields=false; section> + <#if section = "header"> + ${msg("updateEmailTitle")} + <#elseif section = "form"> +
+ <@userProfileCommons.userProfileFormFields/> + +
+
+
+
+
+ + <@passwordCommons.logoutOtherSessions/> + + <@buttons.actionGroup horizontal=true> + <@buttons.button id="kc-submit" label="doSubmit" class=["kcButtonPrimaryClass","kcButtonBlockClass"]/> + <#if isAppInitiatedAction??> + <@buttons.button id="kc-cancel" label="doCancel" class=["kcButtonSecondaryClass","kcButtonBlockClass"] name="cancel-aia" value="true"/> + + +
+
+ +