diff --git a/zanata-war/src/main/java/org/zanata/action/VersionGroupHome.java b/zanata-war/src/main/java/org/zanata/action/VersionGroupHome.java index d1dc4546ec..dd55718ca4 100644 --- a/zanata-war/src/main/java/org/zanata/action/VersionGroupHome.java +++ b/zanata-war/src/main/java/org/zanata/action/VersionGroupHome.java @@ -167,7 +167,8 @@ public void setStatus(char initial) { public List suggestLocales(final String query) { if (supportedLocales == null) { - supportedLocales = localeServiceImpl.getSupportedLocales(); + supportedLocales = + localeServiceImpl.getSupportedAndEnabledByDefaultLocales(); } Collection filtered = @@ -211,7 +212,7 @@ public void addLanguage() { /** * Use FlashScopeBean to store message in page. Multiple ajax requests for * re-rendering statistics after updating will clear FacesMessages. - * + * * @param severity * @param message */ @@ -370,7 +371,7 @@ public boolean validateLanguageName(String componentId) { } // check if locale enabled in server - if (!localeServiceImpl.localeSupported(localeId)) { + if (!localeServiceImpl.localeSupportedAndEnabledByDefault(localeId)) { FacesMessages.instance().addToControl( componentId, zanataMessages diff --git a/zanata-war/src/main/java/org/zanata/service/LocaleService.java b/zanata-war/src/main/java/org/zanata/service/LocaleService.java index 5278429e37..bce3368bfa 100644 --- a/zanata-war/src/main/java/org/zanata/service/LocaleService.java +++ b/zanata-war/src/main/java/org/zanata/service/LocaleService.java @@ -48,6 +48,8 @@ public interface LocaleService { List getSupportedLocales(); + List getSupportedAndEnabledByDefaultLocales(); + HLocale getByLocaleId(@Nonnull LocaleId locale); HLocale getByLocaleId(@Nonnull String localeId); @@ -92,4 +94,6 @@ Map getIterationCustomizedLocalesItems(String projectSlug, HTextFlowTarget getLastTranslated(String projectSlug, String iterationSlug, LocaleId localeId); + + boolean localeSupportedAndEnabledByDefault(@Nonnull LocaleId locale); } diff --git a/zanata-war/src/main/java/org/zanata/service/impl/LocaleServiceImpl.java b/zanata-war/src/main/java/org/zanata/service/impl/LocaleServiceImpl.java index 2193708215..a8939a960c 100644 --- a/zanata-war/src/main/java/org/zanata/service/impl/LocaleServiceImpl.java +++ b/zanata-war/src/main/java/org/zanata/service/impl/LocaleServiceImpl.java @@ -53,7 +53,7 @@ /** * This implementation provides all the business logic related to Locale. - * + * */ @Name("localeServiceImpl") @Scope(ScopeType.STATELESS) @@ -174,6 +174,18 @@ public List getSupportedLocales() { return localeDAO.findAllActive(); } + @Override + public List getSupportedAndEnabledByDefaultLocales() { + return localeDAO.findAllActiveAndEnabledByDefault(); + } + + @Override + public boolean localeSupportedAndEnabledByDefault(@Nonnull LocaleId locale) { + HLocale entity = localeDAO.findByLocaleId(locale); + return entity != null && entity.isActive() + && entity.isEnabledByDefault(); + } + @Override public boolean localeSupported(@Nonnull LocaleId locale) { HLocale entity = localeDAO.findByLocaleId(locale);