Frank Kobzik has uploaded a new change for review.

Change subject: userportal: Information about console in use
......................................................................

userportal: Information about console in use

This patch adds a visual information whether some user is using a
console in basic userportal. This information is reflected in 2
places:
 - the background of a vm with occupied console is greyed-out when not
   selected (same colour as when the vm is not running).
 - text "console in use" is displayed in vm the status description for
   occupied vms.

Change-Id: Iab751373de21066ba5bfc41a73fab55e831bca69
Signed-off-by: Frantisek Kobzik <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalItemModel.java
M 
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/ApplicationConstants.java
M 
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/presenter/tab/basic/MainTabBasicListItemPresenterWidget.java
M 
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.java
M 
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.ui.xml
5 files changed, 37 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/84/36884/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalItemModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalItemModel.java
index 1c61935..6661615 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalItemModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalItemModel.java
@@ -11,7 +11,9 @@
 import org.ovirt.engine.core.common.businessentities.VmPool;
 import org.ovirt.engine.core.common.businessentities.VmPoolType;
 import org.ovirt.engine.core.common.utils.ObjectUtils;
+import org.ovirt.engine.core.common.utils.Pair;
 import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.compat.StringHelper;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
 import org.ovirt.engine.ui.uicommonweb.models.VmConsoles;
@@ -402,6 +404,15 @@
         return null;
     }
 
+    public Pair<VMStatus, Boolean> getStatusWithConsoleState() {
+        boolean consoleTaken = false;
+        if (getVM() != null) {
+            consoleTaken = 
!StringHelper.isNullOrEmpty(getVM().getConsoleCurentUserName());
+        }
+
+        return new Pair<> (getStatus(), consoleTaken);
+    }
+
     public VmConsoles getVmConsoles() {
         return vmConsoles;
     }
diff --git 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/ApplicationConstants.java
 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/ApplicationConstants.java
index c237674..eb3f537 100644
--- 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/ApplicationConstants.java
+++ 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/ApplicationConstants.java
@@ -352,4 +352,7 @@
 
     @DefaultStringValue("Exceeded")
     String exceededQuota();
+
+    @DefaultStringValue("Console in use")
+    String consoleInUse();
 }
diff --git 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/presenter/tab/basic/MainTabBasicListItemPresenterWidget.java
 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/presenter/tab/basic/MainTabBasicListItemPresenterWidget.java
index 8cde9a9..55ee034 100644
--- 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/presenter/tab/basic/MainTabBasicListItemPresenterWidget.java
+++ 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/presenter/tab/basic/MainTabBasicListItemPresenterWidget.java
@@ -48,7 +48,7 @@
 
         void setSelected();
 
-        void setNotSelected(boolean vmIsUp);
+        void setNotSelected(boolean vmIsUp, boolean consoleInUse);
 
         void showErrorDialog(String message);
 
@@ -98,7 +98,7 @@
             @Override
             public void eventRaised(Event<? extends EventArgs> ev, Object 
sender, EventArgs args) {
                 if (!sameEntity(listModel.getSelectedItem(), model)) {
-                    getView().setNotSelected(model.isVmUp());
+                    getView().setNotSelected(model.isVmUp(), consoleInUse());
                 } else {
                     getView().setSelected();
                 }
@@ -268,4 +268,8 @@
     boolean isSelected() {
         return sameEntity(listModel.getSelectedItem(), model);
     }
+
+    boolean consoleInUse() {
+        return model.getStatusWithConsoleState().getSecond();
+    }
 }
diff --git 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.java
 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.java
index 596f3b4..dc0cef6 100644
--- 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.java
+++ 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.java
@@ -1,6 +1,7 @@
 package org.ovirt.engine.ui.userportal.section.main.view.tab.basic;
 
 import org.ovirt.engine.core.common.businessentities.VMStatus;
+import org.ovirt.engine.core.common.utils.Pair;
 import org.ovirt.engine.ui.common.utils.ElementIdUtils;
 import org.ovirt.engine.ui.common.view.AbstractView;
 import org.ovirt.engine.ui.uicommonweb.ErrorPopupManager;
@@ -53,7 +54,7 @@
 
         String itemOverStyle();
 
-        String itemNotRunningStyle();
+        String itemNotRunningOrConsoleTakenStyle();
 
         String itemRunningStyle();
 
@@ -91,8 +92,8 @@
     VmPausedImage vmPausedImage;
 
     @UiField(provided = true)
-    @Path("status")
-    ValueLabel<VMStatus> vmStatus;
+    @Path("statusWithConsoleState")
+    ValueLabel<Pair<VMStatus, Boolean>> vmStatus;
 
     @UiField
     @Path("name")
@@ -133,10 +134,14 @@
         this.constants = constants;
         this.errorPopupManager = errorPopupManager;
 
-        vmStatus = new ValueLabel<VMStatus>(new AbstractRenderer<VMStatus>() {
+        final String consoleInUse = constants.consoleInUse();
+        vmStatus = new ValueLabel<>(new AbstractRenderer<Pair<VMStatus, 
Boolean>> () {
             @Override
-            public String render(VMStatus object) {
-                return translator.translate(object.name());
+            public String render(Pair<VMStatus, Boolean> object) {
+                if (object.getSecond()) {
+                    return consoleInUse;
+                }
+                return translator.translate(object.getFirst().name());
             }
         });
 
@@ -266,7 +271,7 @@
 
     @Override
     public void setVmDownStyle() {
-        mainContainer.setStyleName(style.itemNotRunningStyle());
+        mainContainer.setStyleName(style.itemNotRunningOrConsoleTakenStyle());
     }
 
     @Override
@@ -281,12 +286,12 @@
     }
 
     @Override
-    public void setNotSelected(boolean vmIsUp) {
+    public void setNotSelected(boolean vmIsUp, boolean consoleInUse) {
         vmStatus.setStyleName(style.machineStatusStyle());
-        if (vmIsUp) {
+        if (vmIsUp && !consoleInUse) {
             mainContainer.setStyleName(style.itemRunningStyle());
         } else {
-            mainContainer.setStyleName(style.itemNotRunningStyle());
+            
mainContainer.setStyleName(style.itemNotRunningOrConsoleTakenStyle());
         }
     }
 
diff --git 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.ui.xml
 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.ui.xml
index ae30436..f613054 100644
--- 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.ui.xml
+++ 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.ui.xml
@@ -80,7 +80,7 @@
             height: 210px;
         }
 
-        .basicVmViewBoxStyle, .itemSelectedStyle, .itemOverStyle, 
.itemNotRunningStyle, .itemRunningStyle {
+        .basicVmViewBoxStyle, .itemSelectedStyle, .itemOverStyle, 
.itemNotRunningOrConsoleTakenStyle, .itemRunningStyle {
             border-style: solid;
             border-width: 2px;
             border-radius: 9px;
@@ -99,7 +99,7 @@
               background-color: #B5C5D7;
         }
 
-        .itemNotRunningStyle {
+        .itemNotRunningOrConsoleTakenStyle {
              background-color: #E1E1E1;
         }
 


-- 
To view, visit http://gerrit.ovirt.org/36884
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iab751373de21066ba5bfc41a73fab55e831bca69
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Frank Kobzik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to