diff --git a/zanata-war/src/main/java/org/zanata/webtrans/client/Application.java b/zanata-war/src/main/java/org/zanata/webtrans/client/Application.java index 829cea379f..cc6e610721 100644 --- a/zanata-war/src/main/java/org/zanata/webtrans/client/Application.java +++ b/zanata-war/src/main/java/org/zanata/webtrans/client/Application.java @@ -2,6 +2,8 @@ import java.util.ArrayList; +import net.customware.gwt.presenter.client.EventBus; + import org.zanata.common.LocaleId; import org.zanata.common.TranslationStats; import org.zanata.webtrans.client.EventProcessor.StartCallback; @@ -27,23 +29,19 @@ import org.zanata.webtrans.shared.rpc.GetDocumentList; import org.zanata.webtrans.shared.rpc.GetDocumentListResult; import org.zanata.webtrans.shared.rpc.NoOpResult; + import com.allen_sauer.gwt.log.client.Log; -import com.google.common.base.Strings; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; import com.google.gwt.http.client.URL; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.Window.ClosingEvent; import com.google.gwt.user.client.rpc.AsyncCallback; -import com.google.gwt.user.client.ui.Anchor; import com.google.gwt.user.client.ui.DisclosurePanel; import com.google.gwt.user.client.ui.FlowPanel; -import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.RootPanel; -import net.customware.gwt.presenter.client.EventBus; - /** * Entry point classes define onModuleLoad(). */ @@ -77,16 +75,14 @@ public void onFailure(Throwable caught) else if (caught instanceof NoSuchWorkspaceException) { Log.error("Invalid workspace", caught); - String errorMessage, linkText, projectListUrl; - errorMessage = "Invalid Workspace. Try opening the workspace from the link on the project page."; - linkText = "Projects"; - projectListUrl = getModuleParentBaseUrl() + "project/list"; - showErrorWithLink(errorMessage, null, linkText, projectListUrl); + String errorMessage; + errorMessage = "Invalid Workspace. " + caught.getLocalizedMessage() + ". Try opening the workspace from the link on the project page."; + showErrorWithLink(errorMessage, caught); } else { Log.error("An unexpected Error occurred", caught); - showErrorWithLink("An unexpected Error occurred: " + caught.getMessage(), caught, null, null); + showErrorWithLink("An unexpected Error occurred: " + caught.getMessage(), caught); } } @@ -134,7 +130,7 @@ public void onSuccess(String connectionId) @Override public void onFailure(Throwable e) { - showErrorWithLink("Server communication failed...", e, null, null); + showErrorWithLink("Server communication failed...", e); } @Override public void onSuccess(NoOpResult result) @@ -147,7 +143,7 @@ public void onSuccess(NoOpResult result) @Override public void onFailure(Throwable e) { - showErrorWithLink("Failed to start Event Service...", e, null, null); + showErrorWithLink("Failed to start Event Service...", e); } }); @@ -281,20 +277,13 @@ public static String getModuleParentBaseUrl() * @param linkText text to display for link * @param linkUrl href for link */ - private static void showErrorWithLink(String message, Throwable e, String linkText, String linkUrl) + private static void showErrorWithLink(String message, Throwable e) { Label messageLabel = new Label(message); messageLabel.getElement().addClassName(APP_LOAD_ERROR_CSS_CLASS); FlowPanel layoutPanel = new FlowPanel(); layoutPanel.add(messageLabel); - if (!Strings.isNullOrEmpty(linkText) && !Strings.isNullOrEmpty(linkUrl)) - { - Anchor a = new Anchor(linkText, linkUrl); - a.getElement().addClassName(APP_LOAD_ERROR_CSS_CLASS); - layoutPanel.add(a); - } - if (IS_DEBUG && e != null) { String stackTrace = "Stack trace for the error:
\n"; diff --git a/zanata-war/src/main/java/org/zanata/webtrans/server/TranslationWorkspaceManagerImpl.java b/zanata-war/src/main/java/org/zanata/webtrans/server/TranslationWorkspaceManagerImpl.java index 18a38848ab..8a4d994759 100644 --- a/zanata-war/src/main/java/org/zanata/webtrans/server/TranslationWorkspaceManagerImpl.java +++ b/zanata-war/src/main/java/org/zanata/webtrans/server/TranslationWorkspaceManagerImpl.java @@ -6,24 +6,22 @@ import javax.servlet.http.HttpServletRequest; +import lombok.extern.slf4j.Slf4j; + import org.jboss.seam.ScopeType; import org.jboss.seam.annotations.Destroy; import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Observer; import org.jboss.seam.annotations.Scope; -import org.jboss.seam.annotations.Synchronized; import org.jboss.seam.core.Events; import org.jboss.seam.web.ServletContexts; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.zanata.ZanataInit; import org.zanata.action.ProjectHome; import org.zanata.action.ProjectIterationHome; import org.zanata.common.EntityStatus; import org.zanata.common.LocaleId; import org.zanata.dao.AccountDAO; -import org.zanata.dao.ProjectDAO; import org.zanata.dao.ProjectIterationDAO; import org.zanata.model.HAccount; import org.zanata.model.HIterationProject; @@ -52,7 +50,6 @@ import de.novanic.eventservice.service.registry.EventRegistry; import de.novanic.eventservice.service.registry.EventRegistryFactory; -import lombok.extern.slf4j.Slf4j; @Scope(ScopeType.APPLICATION) @Name("translationWorkspaceManager") @@ -254,6 +251,10 @@ private WorkspaceContext validateAndGetWorkspaceContext(WorkspaceId workspaceId) { throw new NoSuchWorkspaceException("Invalid Workspace Locale"); } + if (!locale.isActive()) + { + throw new NoSuchWorkspaceException("Locale '" + locale.retrieveDisplayName() + "' disabled in server"); + } String workspaceName = project.getName() + " (" + projectIteration.getSlug() + ")"; String localeDisplayName = ULocale.getDisplayName(workspaceId.getLocaleId().toJavaName(), ULocale.ENGLISH); diff --git a/zanata-war/src/main/resources/org/zanata/webtrans/public/Application.css b/zanata-war/src/main/resources/org/zanata/webtrans/public/Application.css index 83a218ece9..a2aca95e94 100644 --- a/zanata-war/src/main/resources/org/zanata/webtrans/public/Application.css +++ b/zanata-war/src/main/resources/org/zanata/webtrans/public/Application.css @@ -6,24 +6,11 @@ body { /* Styling for errors when webtrans fails to load */ -.AppLoadError { - margin-top: 20px; - margin-left: 30px; -} - div.AppLoadError { font-weight: bold; - font-size: 1.5em; - color: #ff2222; - margin-bottom: 15px; -} - -a.AppLoadError { - display: block; font-size: 1.3em; - font-weight: bold; - margin-left: 60px; - margin-bottom: 15px; + color: #ff2222; + padding: 25px; } /*