From dd9dbe09e816b1ffc50d03516f72e863525c2e71 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Tue, 1 Dec 2015 09:52:26 +0000 Subject: [PATCH] Fix failed login feedback git-svn-id: https://svn.argeo.org/commons/trunk@8658 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../org/argeo/cms/util/LoginEntryPoint.java | 29 ++++++++++--------- .../org/argeo/cms/widgets/auth/CmsLogin.java | 7 +++++ 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/org.argeo.cms/src/org/argeo/cms/util/LoginEntryPoint.java b/org.argeo.cms/src/org/argeo/cms/util/LoginEntryPoint.java index abe670406..a05165f5b 100644 --- a/org.argeo.cms/src/org/argeo/cms/util/LoginEntryPoint.java +++ b/org.argeo.cms/src/org/argeo/cms/util/LoginEntryPoint.java @@ -13,11 +13,11 @@ import org.argeo.cms.CmsException; import org.argeo.cms.CmsImageManager; import org.argeo.cms.CmsView; import org.argeo.cms.auth.AuthConstants; +import org.argeo.cms.auth.CurrentUser; import org.argeo.cms.auth.HttpRequestCallbackHandler; import org.argeo.cms.ui.UxContext; import org.argeo.cms.widgets.auth.CmsLogin; import org.argeo.cms.widgets.auth.CmsLoginShell; -import org.argeo.eclipse.ui.dialogs.ErrorFeedback; import org.argeo.eclipse.ui.specific.UiContext; import org.eclipse.rap.rwt.RWT; import org.eclipse.rap.rwt.application.EntryPoint; @@ -44,22 +44,25 @@ public class LoginEntryPoint implements EntryPoint, CmsView { CmsLoginShell loginShell = createCmsLoginShell(); loginShell.open(); while (!loginShell.getShell().isDisposed()) { - try { - if (!display.readAndDispatch()) - display.sleep(); - } catch (Exception e1) { - try { - Thread.sleep(3000); - } catch (InterruptedException e2) { - // silent - } - ErrorFeedback.show("Login failed", e1); - return -1; - } + // try { + if (!display.readAndDispatch()) + display.sleep(); + // } catch (Exception e1) { + // try { + // Thread.sleep(3000); + // } catch (InterruptedException e2) { + // // silent + // } + // ErrorFeedback.show("Login failed", e1); + // return -1; + // } } } catch (LoginException e) { throw new ArgeoException("Cannot log in", e); } + + if (CurrentUser.getUsername() == null) + return -1; uxContext = new SimpleUxContext(); return postLogin(); } diff --git a/org.argeo.cms/src/org/argeo/cms/widgets/auth/CmsLogin.java b/org.argeo.cms/src/org/argeo/cms/widgets/auth/CmsLogin.java index 1051bd723..578386321 100644 --- a/org.argeo.cms/src/org/argeo/cms/widgets/auth/CmsLogin.java +++ b/org.argeo.cms/src/org/argeo/cms/widgets/auth/CmsLogin.java @@ -30,6 +30,7 @@ import org.argeo.cms.auth.CurrentUser; import org.argeo.cms.auth.HttpRequestCallback; import org.argeo.cms.i18n.LocaleUtils; import org.argeo.cms.util.CmsUtils; +import org.argeo.eclipse.ui.dialogs.ErrorFeedback; import org.argeo.util.LocaleChoice; import org.eclipse.rap.rwt.RWT; import org.eclipse.swt.SWT; @@ -266,6 +267,12 @@ public class CmsLogin implements CmsStyles, CallbackHandler { loginContext.login(); } catch (FailedLoginException e) { log.warn(e.getMessage()); + try { + Thread.sleep(3000); + } catch (InterruptedException e2) { + // silent + } + ErrorFeedback.show("Login failed", e); return false; } catch (LoginException e) { log.error("Cannot login", e); -- 2.30.2