Greg Sheremeta has uploaded a new change for review.

Change subject: webadmin: fix tabs shown when bookmark selected
......................................................................

webadmin: fix tabs shown when bookmark selected

The tabs that should appear when a bookmark is selected are
the exact same tabs that appear when System is selected in
the left-pane tree.

Change-Id: I0bef7ce59653750f69813ad8519055669e8a351f
Bug-Url: https://bugzilla.redhat.com/987889
Signed-off-by: Greg Sheremeta <gsher...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java
1 file changed, 105 insertions(+), 99 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/88/17988/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java
index 5ea6aba..6b4d728 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java
@@ -478,10 +478,10 @@
         getSystemTree().getResetCommand().execute();
         getSystemTree().getSelectedItemChangedEvent().addListener(this);
 
-        for (SearchableListModel item : getItems())
-        {
-            item.setIsAvailable(true);
-        }
+        // the main tabs that should appear when a bookmark is selected should
+        // be the exact same main tabs that are displayed when the "System" 
node
+        // in the system tree is selected.
+        updateAvailability(SystemTreeItemType.System, null);
 
         setSearchStringPrefix(""); //$NON-NLS-1$
         setSearchString(e.getBookmark().getbookmark_value());
@@ -507,101 +507,7 @@
             return;
         }
 
-        // Update items availability depending on system tree selection.
-        dataCenterList.setIsAvailable(model.getType() == 
SystemTreeItemType.DataCenter
-                || model.getType() == SystemTreeItemType.Storage || 
model.getType() == SystemTreeItemType.System
-                || model.getType() == SystemTreeItemType.DataCenters);
-
-        clusterList.setIsAvailable(model.getType() == 
SystemTreeItemType.DataCenter
-                || model.getType() == SystemTreeItemType.Clusters || 
model.getType() == SystemTreeItemType.Cluster
-                || model.getType() == SystemTreeItemType.Cluster_Gluster
-                || model.getType() == SystemTreeItemType.Storage || 
model.getType() == SystemTreeItemType.Network
-                || model.getType() == SystemTreeItemType.System);
-
-        hostList.setIsAvailable(model.getType() == 
SystemTreeItemType.DataCenter
-                || model.getType() == SystemTreeItemType.Cluster
-                || model.getType() == SystemTreeItemType.Cluster_Gluster || 
model.getType() == SystemTreeItemType.Hosts
-                || model.getType() == SystemTreeItemType.Host || 
model.getType() == SystemTreeItemType.Storage
-                || model.getType() == SystemTreeItemType.Network || 
model.getType() == SystemTreeItemType.System);
-
-        volumeList.setIsAvailable(model.getType() == 
SystemTreeItemType.Cluster_Gluster
-                || model.getType() == SystemTreeItemType.Volume
-                || model.getType() == SystemTreeItemType.Volumes
-                || model.getType() == SystemTreeItemType.System);
-
-        if (model.getType() == SystemTreeItemType.Cluster) {
-            volumeList.setIsAvailable(false);
-        }
-
-        storageList.setIsAvailable(model.getType() == 
SystemTreeItemType.DataCenter
-                || model.getType() == SystemTreeItemType.Cluster
-                || model.getType() == SystemTreeItemType.Cluster_Gluster || 
model.getType() == SystemTreeItemType.Host
-                || model.getType() == SystemTreeItemType.Storages || 
model.getType() == SystemTreeItemType.Storage
-                || model.getType() == SystemTreeItemType.System);
-
-        quotaList.setIsAvailable(model.getType() == 
SystemTreeItemType.DataCenter);
-
-        boolean isDataStorage = false;
-        if (model.getType() == SystemTreeItemType.Storage)
-        {
-            StorageDomain storage = (StorageDomain) model.getEntity();
-            isDataStorage =
-                    storage.getStorageDomainType() == StorageDomainType.Data
-                            || storage.getStorageDomainType() == 
StorageDomainType.Master;
-        }
-
-        diskList.setIsAvailable(model.getType() == 
SystemTreeItemType.DataCenter
-                || isDataStorage || model.getType() == 
SystemTreeItemType.System);
-
-        vmList.setIsAvailable(model.getType() == SystemTreeItemType.DataCenter
-                || model.getType() == SystemTreeItemType.Cluster
-                || model.getType() == SystemTreeItemType.Cluster_Gluster || 
model.getType() == SystemTreeItemType.Host
-                || model.getType() == SystemTreeItemType.Network || 
isDataStorage
-                || model.getType() == SystemTreeItemType.VMs
-                || model.getType() == SystemTreeItemType.System);
-
-        poolList.setIsAvailable(model.getType() == SystemTreeItemType.System
-                || model.getType() == SystemTreeItemType.DataCenter
-                || model.getType() == SystemTreeItemType.Cluster
-                || model.getType() == SystemTreeItemType.Cluster_Gluster);
-
-        templateList.setIsAvailable(model.getType() == 
SystemTreeItemType.DataCenter
-                || model.getType() == SystemTreeItemType.Cluster
-                || model.getType() == SystemTreeItemType.Cluster_Gluster || 
model.getType() == SystemTreeItemType.Host
-                || model.getType() == SystemTreeItemType.Network || 
isDataStorage
-                || model.getType() == SystemTreeItemType.Templates
-                || model.getType() == SystemTreeItemType.System);
-
-        if (model.getType() == SystemTreeItemType.Cluster_Gluster) {
-            VDSGroup cluster = (VDSGroup) model.getEntity();
-            if (!cluster.supportsVirtService()) {
-                vmList.setIsAvailable(false);
-                templateList.setIsAvailable(false);
-                storageList.setIsAvailable(false);
-                poolList.setIsAvailable(false);
-            }
-        }
-
-        userList.setIsAvailable(model.getType() == SystemTreeItemType.System);
-        eventList.setIsAvailable(model.getType() == 
SystemTreeItemType.DataCenter
-                || model.getType() == SystemTreeItemType.Cluster
-                || model.getType() == SystemTreeItemType.Cluster_Gluster || 
model.getType() == SystemTreeItemType.Host
-                || model.getType() == SystemTreeItemType.Storage || 
model.getType() == SystemTreeItemType.System
-                || model.getType() == SystemTreeItemType.Volume);
-
-        reportsList.setIsAvailable(ReportInit.getInstance().isReportsEnabled()
-                && 
ReportInit.getInstance().getDashboard(model.getType().toString()) != null);
-
-        networkList.setIsAvailable(model.getType() == 
SystemTreeItemType.Network
-                || model.getType() == SystemTreeItemType.Networks
-                || model.getType() == SystemTreeItemType.System || 
model.getType() == SystemTreeItemType.DataCenter
-                || model.getType() == SystemTreeItemType.Cluster || 
model.getType() == SystemTreeItemType.Host);
-
-        providerList.setIsAvailable(model.getType() == 
SystemTreeItemType.Providers
-                || model.getType() == SystemTreeItemType.Provider);
-
-        profileList.setIsAvailable(model.getType() == 
SystemTreeItemType.Network
-                || model.getType() == SystemTreeItemType.DataCenter);
+        updateAvailability(model.getType(), model.getEntity());
 
         // Select a default item depending on system tree selection.
         ListModel oldSelectedItem = getSelectedItem();
@@ -638,6 +544,106 @@
         }
     }
 
+    private void updateAvailability(SystemTreeItemType type, Object entity) {
+
+        // Update items availability depending on system tree selection
+
+        dataCenterList.setIsAvailable(type == SystemTreeItemType.DataCenter
+                || type == SystemTreeItemType.Storage || type == 
SystemTreeItemType.System
+                || type == SystemTreeItemType.DataCenters);
+
+        clusterList.setIsAvailable(type == SystemTreeItemType.DataCenter
+                || type == SystemTreeItemType.Clusters || type == 
SystemTreeItemType.Cluster
+                || type == SystemTreeItemType.Cluster_Gluster
+                || type == SystemTreeItemType.Storage || type == 
SystemTreeItemType.Network
+                || type == SystemTreeItemType.System);
+
+        hostList.setIsAvailable(type == SystemTreeItemType.DataCenter
+                || type == SystemTreeItemType.Cluster
+                || type == SystemTreeItemType.Cluster_Gluster || type == 
SystemTreeItemType.Hosts
+                || type == SystemTreeItemType.Host || type == 
SystemTreeItemType.Storage
+                || type == SystemTreeItemType.Network || type == 
SystemTreeItemType.System);
+
+        volumeList.setIsAvailable(type == SystemTreeItemType.Cluster_Gluster
+                || type == SystemTreeItemType.Volume
+                || type == SystemTreeItemType.Volumes
+                || type == SystemTreeItemType.System);
+
+        if (type == SystemTreeItemType.Cluster) {
+            volumeList.setIsAvailable(false);
+        }
+
+        storageList.setIsAvailable(type == SystemTreeItemType.DataCenter
+                || type == SystemTreeItemType.Cluster
+                || type == SystemTreeItemType.Cluster_Gluster || type == 
SystemTreeItemType.Host
+                || type == SystemTreeItemType.Storages || type == 
SystemTreeItemType.Storage
+                || type == SystemTreeItemType.System);
+
+        quotaList.setIsAvailable(type == SystemTreeItemType.DataCenter);
+
+        boolean isDataStorage = false;
+        if (type == SystemTreeItemType.Storage && entity != null)
+        {
+            StorageDomain storage = (StorageDomain) entity;
+            isDataStorage =
+                    storage.getStorageDomainType() == StorageDomainType.Data
+                            || storage.getStorageDomainType() == 
StorageDomainType.Master;
+        }
+
+        diskList.setIsAvailable(type == SystemTreeItemType.DataCenter
+                || isDataStorage || type == SystemTreeItemType.System);
+
+        vmList.setIsAvailable(type == SystemTreeItemType.DataCenter
+                || type == SystemTreeItemType.Cluster
+                || type == SystemTreeItemType.Cluster_Gluster || type == 
SystemTreeItemType.Host
+                || type == SystemTreeItemType.Network || isDataStorage
+                || type == SystemTreeItemType.VMs
+                || type == SystemTreeItemType.System);
+
+        poolList.setIsAvailable(type == SystemTreeItemType.System
+                || type == SystemTreeItemType.DataCenter
+                || type == SystemTreeItemType.Cluster
+                || type == SystemTreeItemType.Cluster_Gluster);
+
+        templateList.setIsAvailable(type == SystemTreeItemType.DataCenter
+                || type == SystemTreeItemType.Cluster
+                || type == SystemTreeItemType.Cluster_Gluster || type == 
SystemTreeItemType.Host
+                || type == SystemTreeItemType.Network || isDataStorage
+                || type == SystemTreeItemType.Templates
+                || type == SystemTreeItemType.System);
+
+        if (type == SystemTreeItemType.Cluster_Gluster && entity != null) {
+            VDSGroup cluster = (VDSGroup) entity;
+            if (!cluster.supportsVirtService()) {
+                vmList.setIsAvailable(false);
+                templateList.setIsAvailable(false);
+                storageList.setIsAvailable(false);
+                poolList.setIsAvailable(false);
+            }
+        }
+
+        userList.setIsAvailable(type == SystemTreeItemType.System);
+        eventList.setIsAvailable(type == SystemTreeItemType.DataCenter
+                || type == SystemTreeItemType.Cluster
+                || type == SystemTreeItemType.Cluster_Gluster || type == 
SystemTreeItemType.Host
+                || type == SystemTreeItemType.Storage || type == 
SystemTreeItemType.System
+                || type == SystemTreeItemType.Volume);
+
+        reportsList.setIsAvailable(ReportInit.getInstance().isReportsEnabled()
+                && ReportInit.getInstance().getDashboard(type.toString()) != 
null);
+
+        networkList.setIsAvailable(type == SystemTreeItemType.Network
+                || type == SystemTreeItemType.Networks
+                || type == SystemTreeItemType.System || type == 
SystemTreeItemType.DataCenter
+                || type == SystemTreeItemType.Cluster || type == 
SystemTreeItemType.Host);
+
+        providerList.setIsAvailable(type == SystemTreeItemType.Providers
+                || type == SystemTreeItemType.Provider);
+
+        profileList.setIsAvailable(type == SystemTreeItemType.Network
+                || type == SystemTreeItemType.DataCenter);
+    }
+
     private void changeSelectedTabIfNeeded(SystemTreeItemModel model) {
         if (getSelectedItem() != null && getSelectedItem().getIsAvailable()) {
             // Do not change tab if we can show it


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0bef7ce59653750f69813ad8519055669e8a351f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Greg Sheremeta <gsher...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to