Vojtech Szocs has uploaded a new change for review.

Change subject: webadmin,userportal: Fix popups after engine restart & relogin
......................................................................

webadmin,userportal: Fix popups after engine restart & relogin

This patch ensures that all model-bound popups can be shown
again after engine restart (causing automatic user logout in
UI) and subsequent re-login, without reloading WebAdmin page.

Change-Id: Icd934c9ec6129b0b45224ddb08a5c41b070a60bc
Bug-Url: https://bugzilla.redhat.com/968362
Signed-off-by: Vojtech Szocs <vsz...@redhat.com>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/ModelBoundPopupHandler.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/TabModelProvider.java
2 files changed, 20 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/18729/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/ModelBoundPopupHandler.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/ModelBoundPopupHandler.java
index 5be640a..3075d0c 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/ModelBoundPopupHandler.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/ModelBoundPopupHandler.java
@@ -50,6 +50,7 @@
      * Adds a property change listener to the given source model that handles 
its dialog models.
      */
     public void addDialogModelListener(final M source) {
+        hideAndClearAllPopups();
         source.getPropertyChangedEvent().addListener(new IEventListener() {
             @Override
             public void eventRaised(Event ev, Object sender, EventArgs args) {
@@ -179,4 +180,16 @@
         }
     }
 
+    /**
+     * Hides all model-bound popups and clears their references.
+     */
+    void hideAndClearAllPopups() {
+        if (confirmWindowPopup != null) {
+            hideAndClearPopup(confirmWindowPopup, true);
+        }
+        if (windowPopup != null) {
+            hideAndClearPopup(windowPopup, false);
+        }
+    }
+
 }
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/TabModelProvider.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/TabModelProvider.java
index 8981301..d2bef8b 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/TabModelProvider.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/TabModelProvider.java
@@ -140,10 +140,13 @@
     }
 
     void forceRefresh(M model) {
-        if (model instanceof SearchableListModel && 
!model.getLastExecutedCommand().getIsCancel()) {
-            // Refresh the grid using ForceRefresh command
-            SearchableListModel searchableList = (SearchableListModel) model;
-            searchableList.getForceRefreshCommand().execute();
+        if (model instanceof SearchableListModel) {
+            UICommand lastExecutedCommand = model.getLastExecutedCommand();
+            if (lastExecutedCommand != null && 
!lastExecutedCommand.getIsCancel()) {
+                // Refresh the grid using ForceRefresh command
+                SearchableListModel searchableList = (SearchableListModel) 
model;
+                searchableList.getForceRefreshCommand().execute();
+            }
         }
     }
 


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

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

Reply via email to