Do not offer locale choice if there is only one.
[lgpl/argeo-commons.git] / swt / org.argeo.cms.swt / src / org / argeo / cms / swt / auth / CmsLogin.java
index 6cc410ced0d07aff11369121d3687b880365bc8c..a769ec1a742c605abbb109c962b3ec32106502a1 100644 (file)
@@ -4,6 +4,7 @@ import static org.argeo.cms.CmsMsg.password;
 import static org.argeo.cms.CmsMsg.username;
 
 import java.io.IOException;
+import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
 
@@ -70,7 +71,7 @@ public class CmsLogin implements CmsStyles, CallbackHandler {
                if (this.cmsContext != null) {
                        defaultLocale = this.cmsContext.getDefaultLocale();
                        List<Locale> locales = this.cmsContext.getLocales();
-                       if (locales != null)
+                       if (locales != null && locales.size() > 1)
                                localeChoice = new LocaleChoice(locales, defaultLocale);
                } else {
                        defaultLocale = Locale.getDefault();
@@ -278,6 +279,7 @@ public class CmsLogin implements CmsStyles, CallbackHandler {
                                loginContext = new LoginContext(CmsAuth.LOGIN_CONTEXT_USER, subject, this);
                        loginContext.login();
                        cmsView.authChange(loginContext);
+                       cmsContext.getCmsEventBus().sendEvent("cms", Collections.singletonMap("msg", "New login"));
                        return true;
                } catch (LoginException e) {
                        if (log.isTraceEnabled())
@@ -299,7 +301,6 @@ public class CmsLogin implements CmsStyles, CallbackHandler {
                // }
        }
 
-
        protected void logout() {
                cmsView.logout();
                cmsView.navigateTo("~");