Alexander Wels has uploaded a new change for review.

Change subject: userportal,webadmin: multiple login messages
......................................................................

userportal,webadmin: multiple login messages

- When the backend would return multiple login failure
  messages (for instance with the password expired). All
  messages after the first would be discarded. This would
  lead to configured messages to not be displayed.

Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1157773

Change-Id: Idd3bc6b716797583d3fc69fc69746bc3362eb58d
Signed-off-by: Alexander Wels <aw...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/aaa/LoginBaseCommand.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/AbstractLoginPresenterWidget.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/AbstractLoginFormView.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/LoginModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalLoginModel.java
M 
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/login/view/LoginFormView.ui.xml
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/login/view/LoginFormView.ui.xml
7 files changed, 115 insertions(+), 86 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/22/40222/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/aaa/LoginBaseCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/aaa/LoginBaseCommand.java
index b9350f5..072d946 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/aaa/LoginBaseCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/aaa/LoginBaseCommand.java
@@ -436,13 +436,15 @@
 
             if (authResult == Authn.AuthResult.CREDENTIALS_EXPIRED) {
                 boolean addedUserPasswordExpiredCDA = false;
-                if (outputMap.<String> 
get(Authn.InvokeKeys.CREDENTIALS_CHANGE_URL) != null) {
+                if (outputMap.<String> 
get(Authn.InvokeKeys.CREDENTIALS_CHANGE_URL) != null
+                        && !outputMap.<String> 
get(Authn.InvokeKeys.CREDENTIALS_CHANGE_URL).trim().isEmpty()) {
                     
addCanDoActionMessage(VdcBllMessages.USER_PASSWORD_EXPIRED_CHANGE_URL_PROVIDED);
                     addCanDoActionMessageVariable("URL",
                             
outputMap.<String>get(Authn.InvokeKeys.CREDENTIALS_CHANGE_URL));
                     addedUserPasswordExpiredCDA = true;
                 }
-                if (outputMap.<String> get(Authn.InvokeKeys.USER_MESSAGE) != 
null) {
+                if (outputMap.<String> get(Authn.InvokeKeys.USER_MESSAGE) != 
null
+                        && !outputMap.<String> 
get(Authn.InvokeKeys.USER_MESSAGE).trim().isEmpty()) {
                     
addCanDoActionMessage(VdcBllMessages.USER_PASSWORD_EXPIRED_CHANGE_MSG_PROVIDED);
                     addCanDoActionMessageVariable("MSG",
                             
outputMap.<String>get(Authn.InvokeKeys.USER_MESSAGE));
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/AbstractLoginPresenterWidget.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/AbstractLoginPresenterWidget.java
index 02a5400..3e0c2f7 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/AbstractLoginPresenterWidget.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/AbstractLoginPresenterWidget.java
@@ -1,5 +1,7 @@
 package org.ovirt.engine.ui.common.presenter;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.logging.Logger;
 
 import org.ovirt.engine.ui.common.system.ClientStorage;
@@ -42,9 +44,9 @@
 
         void resetAndFocus();
 
-        void setErrorMessageHtml(SafeHtml text);
+        void setErrorMessages(List<SafeHtml> text);
 
-        void clearErrorMessage();
+        void clearErrorMessages();
 
         HasUiCommandClickHandlers getLoginButton();
 
@@ -100,7 +102,7 @@
             @Override
             public void eventRaised(Event ev, Object sender, EventArgs args) {
                 lockInteractionManager.hideLoadingIndicator();
-                formatAndSetErrorMessage(loginModel.getMessage());
+                formatAndSetErrorMessage(loginModel.getMessages());
                 logger.warning("Login failed for user [" + 
loginModel.getUserName().getEntity() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
             }
 
@@ -168,7 +170,7 @@
     protected abstract String getSelectedDomainKey();
 
     protected void onLoggedInEvent(T loginModel) {
-        getView().clearErrorMessage();
+        getView().clearErrorMessages();
         saveSelectedDomain(loginModel);
     }
 
@@ -181,29 +183,31 @@
         clientStorage.setLocalItem(getSelectedDomainKey(), selectedItem);
     }
 
-    private void formatAndSetErrorMessage(String message) {
-        SafeHtml safeMessage = null;
-        if (message != null) {
-            SafeHtmlBuilder builder = new SafeHtmlBuilder();
-            int urlIndex = message.indexOf("http"); //$NON-NLS-1$
-            if (urlIndex != -1) {
-                String beforeURL = message.substring(0, urlIndex);
-                int afterUrlMessageIndex = message.indexOf(" ", urlIndex); 
//$NON-NLS-1$
-                int endIndex = afterUrlMessageIndex > -1 ? 
afterUrlMessageIndex : message.length();
-                //Sanitize the URL, returns # if it is not safe.
-                String url = UriUtils.sanitizeUri(message.substring(urlIndex, 
endIndex));
-                String motdAnchor = getView().getMotdAnchorHtml(url);
-                
builder.appendEscaped(beforeURL).append(SafeHtmlUtils.fromTrustedString(motdAnchor));
-                if (endIndex < message.length()) {
-                    //There was a string after the URL append it as well.
-                    builder.appendEscaped(message.substring(endIndex));
+    private void formatAndSetErrorMessage(List<String> messages) {
+        List<SafeHtml> safeMessages = new ArrayList<SafeHtml>();
+        if (messages != null) {
+            for (String message: messages) {
+                SafeHtmlBuilder builder = new SafeHtmlBuilder();
+                int urlIndex = message.indexOf("http"); //$NON-NLS-1$
+                if (urlIndex != -1) {
+                    String beforeURL = message.substring(0, urlIndex);
+                    int afterUrlMessageIndex = message.indexOf(" ", urlIndex); 
//$NON-NLS-1$
+                    int endIndex = afterUrlMessageIndex > -1 ? 
afterUrlMessageIndex : message.length();
+                    //Sanitize the URL, returns # if it is not safe.
+                    String url = 
UriUtils.sanitizeUri(message.substring(urlIndex, endIndex));
+                    String motdAnchor = getView().getMotdAnchorHtml(url);
+                    
builder.appendEscaped(beforeURL).append(SafeHtmlUtils.fromTrustedString(motdAnchor));
+                    if (endIndex < message.length()) {
+                        //There was a string after the URL append it as well.
+                        builder.appendEscaped(message.substring(endIndex));
+                    }
+                } else {
+                    builder.appendEscaped(message);
                 }
-            } else {
-                builder.appendEscaped(message);
+                safeMessages.add(builder.toSafeHtml());
             }
-            safeMessage = builder.toSafeHtml();
         }
-        getView().setErrorMessageHtml(safeMessage);
+        getView().setErrorMessages(safeMessages);
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/AbstractLoginFormView.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/AbstractLoginFormView.java
index 239e7c8..1ac0e27 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/AbstractLoginFormView.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/AbstractLoginFormView.java
@@ -1,10 +1,11 @@
 package org.ovirt.engine.ui.common.view;
 
 import java.util.Arrays;
+import java.util.List;
 
+import org.gwtbootstrap3.client.ui.Alert;
 import org.gwtbootstrap3.client.ui.Label;
 import org.gwtbootstrap3.client.ui.ListBox;
-import org.gwtbootstrap3.client.ui.Well;
 import org.ovirt.engine.ui.common.CommonApplicationResources;
 import org.ovirt.engine.ui.common.idhandler.WithElementId;
 import org.ovirt.engine.ui.common.utils.VisibleLocalesInfoData;
@@ -23,11 +24,14 @@
 import com.google.gwt.event.dom.client.HasKeyPressHandlers;
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.i18n.client.LocaleInfo;
+import com.google.gwt.resources.client.CssResource;
 import com.google.gwt.safehtml.client.SafeHtmlTemplates;
 import com.google.gwt.safehtml.shared.SafeHtml;
 import com.google.gwt.uibinder.client.UiField;
 import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.FocusPanel;
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.IsWidget;
 import com.google.gwt.user.client.ui.Panel;
 
 /**
@@ -40,9 +44,16 @@
         SafeHtml anchor(String url, String text);
     }
 
+    public interface Style extends CssResource {
+        String loginMessageError();
+    }
+
     private static final String DEFAULT_LOCALE = "default"; //$NON-NLS-1$
 
     private static MotdAnchorTemplate template;
+
+    @UiField
+    public Style style;
 
     @UiField(provided = true)
     @Ignore
@@ -73,15 +84,11 @@
 
     @UiField
     @Ignore
-    public Label errorMessage;
-
-    @UiField
-    @Ignore
     public Label informationMessage;
 
     @UiField
     @Ignore
-    public Well errorMessagePanel;
+    public Alert errorMessagePanel;
 
     @UiField
     @Ignore
@@ -158,27 +165,24 @@
         return template;
     }
 
-    protected void setErrorMessageLabel(Label errorMessage, SafeHtml text) {
-        if (text != null) {
-            errorMessage.getElement().setInnerSafeHtml(text);
-        } else {
-            errorMessage.getElement().setInnerHTML(null);
-        }
-    }
-
     public String getMotdAnchorHtml(String url) {
         return getTemplate().anchor(url, url).asString();
     }
 
-    public void clearErrorMessage() {
-        setErrorMessageHtml(null);
+    public void clearErrorMessages() {
+        IsWidget errorIconWidget = errorMessagePanel.getWidget(0);
+        errorMessagePanel.clear();
+        errorMessagePanel.add(errorIconWidget);
         errorMessagePanel.setVisible(false);
     }
 
-    public void setErrorMessageHtml(SafeHtml text) {
-        setErrorMessageLabel(errorMessage, text);
-        errorMessage.setVisible(text != null);
-        if (errorMessage.isVisible()) {
+    public void setErrorMessages(List<SafeHtml> messages) {
+        clearErrorMessages();
+        for (SafeHtml message: messages) {
+            HTML messageLabel = new HTML();
+            messageLabel.setHTML(message.asString());
+            messageLabel.addStyleName(style.loginMessageError());
+            errorMessagePanel.add(messageLabel);
             errorMessagePanel.setVisible(true);
         }
     }
@@ -186,7 +190,7 @@
     public void resetAndFocus() {
         userNameEditor.asValueBox().selectAll();
         userNameEditor.asValueBox().setFocus(true);
-        clearErrorMessage();
+        clearErrorMessages();
     }
 
     public HasUiCommandClickHandlers getLoginButton() {
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/LoginModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/LoginModel.java
index 35a58bf..a742b19 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/LoginModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/LoginModel.java
@@ -1,14 +1,15 @@
 package org.ovirt.engine.ui.uicommonweb.models;
 
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
 import org.ovirt.engine.core.common.businessentities.aaa.DbUser;
+import org.ovirt.engine.core.common.utils.ObjectUtils;
 import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.Frontend;
 import org.ovirt.engine.ui.frontend.INewAsyncCallback;
-import org.ovirt.engine.ui.uicommonweb.Linq;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
 import org.ovirt.engine.ui.uicommonweb.validation.IValidation;
@@ -146,6 +147,21 @@
         loginFailedEventDefinition = new EventDefinition("LoginFailed", 
LoginModel.class); //$NON-NLS-1$
     }
 
+    private List<String> messages;
+
+    public List<String> getMessages() {
+        return messages;
+    }
+
+    public void setMessages(List<String> value)
+    {
+        if (!ObjectUtils.objectsEqual(messages, value))
+        {
+            messages = value;
+            onPropertyChanged(new PropertyChangedEventArgs("Message")); 
//$NON-NLS-1$
+        }
+    }
+
     public LoginModel()
     {
         setLoggedInEvent(new Event(loggedInEventDefinition));
@@ -182,9 +198,9 @@
                 LoginModel loginModel = (LoginModel) model;
                 if (ReturnValue == null)
                 {
-                    loginModel.setMessage(ConstantsManager.getInstance()
+                    
loginModel.setMessages(Arrays.asList(ConstantsManager.getInstance()
                             .getConstants()
-                            .couldNotConnectToOvirtEngineServiceMsg());
+                            .couldNotConnectToOvirtEngineServiceMsg()));
                     return;
                 }
 
@@ -237,7 +253,7 @@
                     if (user == null)
                     {
                         loginModel.getPassword().setEntity(""); //$NON-NLS-1$
-                        
loginModel.setMessage(Linq.firstOrDefault(returnValue.getCanDoActionMessages()));
+                        
loginModel.setMessages(returnValue.getCanDoActionMessages());
                         loginModel.getUserName().setIsChangable(true);
                         loginModel.getPassword().setIsChangable(true);
                         loginModel.getProfile().setIsChangable(true);
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalLoginModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalLoginModel.java
index 7b31f71..1a334c3 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalLoginModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalLoginModel.java
@@ -16,7 +16,6 @@
 import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.Frontend;
 import org.ovirt.engine.ui.frontend.INewAsyncCallback;
-import org.ovirt.engine.ui.uicommonweb.Linq;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.auth.ApplicationGuids;
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
@@ -206,7 +205,7 @@
                 } else {
                     loginModel.getPassword().setEntity(""); //$NON-NLS-1$
                     if (returnValue != null) {
-                        
loginModel.setMessage(Linq.firstOrDefault(returnValue.getCanDoActionMessages()));
+                        
loginModel.setMessages(returnValue.getCanDoActionMessages());
                     }
                     loginModel.getUserName().setIsChangable(true);
                     loginModel.getPassword().setIsChangable(true);
diff --git 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/login/view/LoginFormView.ui.xml
 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/login/view/LoginFormView.ui.xml
index 3c985fc..4de4281 100644
--- 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/login/view/LoginFormView.ui.xml
+++ 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/login/view/LoginFormView.ui.xml
@@ -7,7 +7,7 @@
 
     <ui:with field='resources' 
type='org.ovirt.engine.ui.userportal.ApplicationResources' />
 
-    <ui:style>
+    <ui:style 
type="org.ovirt.engine.ui.common.view.AbstractLoginFormView.Style">
         .loginForm:focus {
             outline: 0;
         }
@@ -29,20 +29,19 @@
             color: #0099d3;
         }
 
-        .login-error {
-            color: #b94a48;
-            background-color: inherit;
-            border-color: #b94a48;
+        .loginMessageError a {
+            color: #0099d3;
         }
 
-        .login-message-error {
-            color: #b94a48;
-            background-color: inherit;
+        .loginMessageError {
+            background-color: transparent;
             word-break: break-word;
             white-space: normal;
+            display: block;
+            text-align: left;
         }
 
-        .information-triangle {
+        .information-icon {
             font-size: 20px;
         }
 
@@ -78,9 +77,12 @@
                     </div>
                 </div>
 
-                <b:Well size="SMALL" addStyleNames="col-sm-11 
{style.login-error}" ui:field="errorMessagePanel">
-                    <b:Label ui:field="errorMessage" 
addStyleNames="{style.login-message-error} temp-link-color"/>
-                </b:Well>
+                <b:Alert type="DANGER" addStyleNames="col-sm-11" 
ui:field="errorMessagePanel">
+                    <g:HTMLPanel tag="span" addStyleNames="pficon-layered 
{style.information-icon}">
+                        <g:HTMLPanel tag="span" addStyleNames="pficon 
pficon-error-octagon"></g:HTMLPanel>
+                        <g:HTMLPanel tag="span" addStyleNames="pficon 
pficon-error-exclamation"></g:HTMLPanel>
+                    </g:HTMLPanel>
+                </b:Alert>
 
                 <div class="col-sm-7 col-md-6 col-lg-5 login">
                     <form class="form-horizontal" role="form">
@@ -111,10 +113,10 @@
 
                 <div class="col-sm-5 col-md-6 col-lg-7 details">
                     <g:HTMLPanel ui:field="informationMessagePanel">
-                        <span class="pficon-layered 
{style.information-triangle}">
-                            <span class="pficon 
pficon-warning-triangle"></span>
-                            <span class="pficon 
pficon-warning-exclamation"></span>
-                        </span>
+                        <g:HTMLPanel tag="span" addStyleNames="pficon-layered 
{style.information-icon}">
+                            <g:HTMLPanel tag="span" addStyleNames="pficon 
pficon-warning-triangle"></g:HTMLPanel>
+                            <g:HTMLPanel tag="span" addStyleNames="pficon 
pficon-warning-exclamation"></g:HTMLPanel>
+                        </g:HTMLPanel>
                         <b:Label ui:field="informationMessage" 
addStyleNames="{style.label-default} {style.information-message} 
temp-link-color"/>
                     </g:HTMLPanel>
                     <g:HTMLPanel ui:field="motdPanel" 
addStyleNames="{style.label-default}">
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/login/view/LoginFormView.ui.xml
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/login/view/LoginFormView.ui.xml
index 3ec6dd2..80f9844 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/login/view/LoginFormView.ui.xml
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/login/view/LoginFormView.ui.xml
@@ -7,7 +7,7 @@
 
     <ui:with field='resources' 
type='org.ovirt.engine.ui.webadmin.ApplicationResources' />
 
-    <ui:style>
+    <ui:style 
type="org.ovirt.engine.ui.common.view.AbstractLoginFormView.Style">
         .loginForm:focus {
             outline: 0;
         }
@@ -29,20 +29,19 @@
             color: #0099d3;
         }
 
-        .login-error {
-            color: #b94a48;
-            background-color: inherit;
-            border-color: #b94a48;
+        .loginMessageError a {
+            color: #0099d3;
         }
 
-        .login-message-error {
-            color: #b94a48;
-            background-color: inherit;
+        .loginMessageError {
+            background-color: transparent;
             word-break: break-word;
             white-space: normal;
+            display: block;
+            text-align: left;
         }
 
-        .information-triangle {
+        .information-icon {
             font-size: 16px;
         }
 
@@ -67,9 +66,12 @@
                     </div>
                 </div>
 
-                <b:Well size="SMALL" addStyleNames="col-sm-11 
{style.login-error}" ui:field="errorMessagePanel">
-                    <b:Label ui:field="errorMessage" 
addStyleNames="{style.login-message-error} temp-link-color"/>
-                </b:Well>
+                <b:Alert type="DANGER" addStyleNames="col-sm-11" 
ui:field="errorMessagePanel">
+                    <g:HTMLPanel tag="span" addStyleNames="pficon-layered 
{style.information-icon}">
+                        <g:HTMLPanel tag="span" addStyleNames="pficon 
pficon-error-octagon"></g:HTMLPanel>
+                        <g:HTMLPanel tag="span" addStyleNames="pficon 
pficon-error-exclamation"></g:HTMLPanel>
+                    </g:HTMLPanel>
+                </b:Alert>
 
                 <div class="col-sm-7 col-md-6 col-lg-5 login">
                     <form class="form-horizontal" role="form">
@@ -115,10 +117,10 @@
 
                 <div class="col-sm-5 col-md-6 col-lg-7 details">
                     <g:HTMLPanel ui:field="informationMessagePanel">
-                        <span class="pficon-layered 
{style.information-triangle}">
-                            <span class="pficon 
pficon-warning-triangle"></span>
-                            <span class="pficon 
pficon-warning-exclamation"></span>
-                        </span>
+                        <g:HTMLPanel tag="span" addStyleNames="pficon-layered 
{style.information-icon}">
+                            <g:HTMLPanel tag="span" addStyleNames="pficon 
pficon-warning-triangle"></g:HTMLPanel>
+                            <g:HTMLPanel tag="span" addStyleNames="pficon 
pficon-warning-exclamation"></g:HTMLPanel>
+                        </g:HTMLPanel>
                         <b:Label ui:field="informationMessage" 
addStyleNames="{style.label-default} {style.information-message} 
temp-link-color"/>
                     </g:HTMLPanel>
                 </div>
@@ -126,4 +128,4 @@
         </g:HTMLPanel>
     </g:FocusPanel>
 
-</ui:UiBinder>
+       </ui:UiBinder>


-- 
To view, visit https://gerrit.ovirt.org/40222
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idd3bc6b716797583d3fc69fc69746bc3362eb58d
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.5
Gerrit-Owner: Alexander Wels <aw...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to