From 57ec50c8efda1d8b3c9b09d18d952676700b3abe Mon Sep 17 00:00:00 2001 From: Aleksandr Muravja Date: Mon, 16 Jan 2023 00:05:05 +0200 Subject: [PATCH] LoginPage. Easy login for Dev and ProfilePage (#998) Signed-off-by: Aleksandr Muravja --- .../java/pm/axe/ui/pages/user/ProfilePage.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/pm/axe/ui/pages/user/ProfilePage.java b/src/main/java/pm/axe/ui/pages/user/ProfilePage.java index d0633a222..dfd92f62c 100644 --- a/src/main/java/pm/axe/ui/pages/user/ProfilePage.java +++ b/src/main/java/pm/axe/ui/pages/user/ProfilePage.java @@ -35,6 +35,7 @@ import pm.axe.users.AccountType; import java.util.List; +import java.util.Objects; import java.util.Optional; @SpringComponent @@ -52,7 +53,11 @@ public class ProfilePage extends AxeCompactLayout implements BeforeEnterObserver @Override public void beforeEnter(BeforeEnterEvent event) { if (event.isRefreshEvent()) return; - boundUserOrGoToLogin(event); + boundUserIfAny(); + if (Objects.isNull(user)) { + event.forwardTo(LoginPage.class); + return; + } confirmedAccounts = getConfirmedAccountsFor(user); if (!pageAlreadyInitialized) { @@ -73,7 +78,7 @@ private void initPage() { Button editUsernameButton = new Button("Edit"); Button saveUsernameButton = new Button("Save"); FlexLayout usernameLayout = new FlexLayout(username, editUsernameButton); - usernameLayout.setAlignItems(FlexComponent.Alignment.CENTER); + usernameLayout.setAlignItems(FlexComponent.Alignment.BASELINE); usernameLayout.setJustifyContentMode(FlexComponent.JustifyContentMode.AROUND); //TODO replace with methods and fix button replace login - see MyLinksPage editUsernameButton.addClickListener(e -> { @@ -91,7 +96,7 @@ private void initPage() { Button saveEmailButton = new Button("Save"); FlexLayout emailLayout = new FlexLayout(emailField, saveEmailButton); - emailLayout.setAlignItems(FlexComponent.Alignment.CENTER); + emailLayout.setAlignItems(Alignment.BASELINE); emailLayout.setJustifyContentMode(FlexComponent.JustifyContentMode.AROUND); //how Axe use email details @@ -143,16 +148,12 @@ private void initPage() { secondSeparator, tfaDetails); } - private void boundUserOrGoToLogin(BeforeEnterEvent event) { + private void boundUserIfAny() { Optional axeSession = AxeSession.getCurrent(); if (axeSession.isPresent()) { if (axeSession.get().hasUser()) { user = axeSession.get().getUser(); - } else { - event.forwardTo(Endpoint.UI.LOGIN_PAGE); } - } else { - event.forwardTo(LoginPage.class); } }