Martin Betak has uploaded a new change for review.

Change subject: webadmin: Preselect current CD in ChangeCD dialog
......................................................................

webadmin: Preselect current CD in ChangeCD dialog

Utilize the new vmDynamic#currentCd field and show the user what CD is
currently inserted in the ChangeCD dialog.

Change-Id: Iff90a0ccd8119c3db36cd2eecbfe0fa82ad0c051
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1025376
Signed-off-by: Martin Betak <[email protected]>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmChangeCDPopupWidget.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/AttachCdModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
4 files changed, 26 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/52/25752/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmChangeCDPopupWidget.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmChangeCDPopupWidget.java
index 69a110e..5233253 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmChangeCDPopupWidget.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmChangeCDPopupWidget.java
@@ -38,7 +38,7 @@
     @UiField
     @Path(value = "isoImage.selectedItem")
     @WithElementId("isoImage")
-    ListModelListBoxEditor<Object> isoImageEditor;
+    ListModelListBoxEditor<String> isoImageEditor;
 
     private final Driver driver = GWT.create(Driver.class);
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/AttachCdModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/AttachCdModel.java
index f4fc0f8..4e72db5 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/AttachCdModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/AttachCdModel.java
@@ -7,20 +7,19 @@
 public class AttachCdModel extends Model
 {
 
-    private ListModel privateIsoImage;
+    private ListModel<String> privateIsoImage;
 
-    public ListModel getIsoImage()
+    public ListModel<String> getIsoImage()
     {
         return privateIsoImage;
     }
 
-    private void setIsoImage(ListModel value)
+    private void setIsoImage(ListModel<String> value)
     {
         privateIsoImage = value;
     }
 
-    public AttachCdModel()
-    {
-        setIsoImage(new ListModel());
+    public AttachCdModel() {
+        setIsoImage(new ListModel<String>());
     }
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
index 001cf1b..f1de82a 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
@@ -871,7 +871,7 @@
             return;
         }
 
-        VM vm = (VM) selectedItem.getEntity();
+        final VM vm = (VM) selectedItem.getEntity();
 
         AttachCdModel model = new AttachCdModel();
         setWindow(model);
@@ -900,7 +900,13 @@
                 _attachCdModel.getIsoImage().setItems(images);
                 if (_attachCdModel.getIsoImage().getIsChangable())
                 {
-                    
_attachCdModel.getIsoImage().setSelectedItem(Linq.firstOrDefault(images));
+                    String selectedIso = Linq.firstOrDefault(images, new 
Linq.IPredicate<String>() {
+                        @Override
+                        public boolean match(String s) {
+                            return vm.getCurrentCd().equals(s);
+                        }
+                    });
+                    _attachCdModel.getIsoImage().setSelectedItem(selectedIso 
== null ? ConsoleModel.getEjectLabel() : selectedIso);
                 }
             }
         };
@@ -930,8 +936,8 @@
         AttachCdModel model = (AttachCdModel) getWindow();
         model.startProgress(null);
         String isoName =
-                
(model.getIsoImage().getSelectedItem().toString().equals(ConsoleModel.getEjectLabel()))
 ? "" //$NON-NLS-1$
-                        : model.getIsoImage().getSelectedItem().toString();
+                
(model.getIsoImage().getSelectedItem().equals(ConsoleModel.getEjectLabel())) ? 
"" //$NON-NLS-1$
+                        : model.getIsoImage().getSelectedItem();
 
         Frontend.getInstance().runAction(VdcActionType.ChangeDisk, new 
ChangeDiskCommandParameters(vm.getId(), isoName),
                 new IFrontendActionAsyncCallback() {
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
index 15bee5e..180604f 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
@@ -1778,7 +1778,7 @@
 
     private void changeCD()
     {
-        VM vm = (VM) getSelectedItem();
+        final VM vm = (VM) getSelectedItem();
         if (vm == null)
         {
             return;
@@ -1812,7 +1812,13 @@
                 _attachCdModel.getIsoImage().setItems(images);
                 if (_attachCdModel.getIsoImage().getIsChangable())
                 {
-                    
_attachCdModel.getIsoImage().setSelectedItem(Linq.firstOrDefault(images));
+                    String selectedIso = Linq.firstOrDefault(images, new 
Linq.IPredicate<String>() {
+                        @Override
+                        public boolean match(String s) {
+                            return vm.getCurrentCd().equals(s);
+                        }
+                    });
+                    _attachCdModel.getIsoImage().setSelectedItem(selectedIso 
== null ? ConsoleModel.getEjectLabel() : selectedIso);
                 }
             }
         };
@@ -1844,8 +1850,8 @@
         }
 
         String isoName =
-                
(ObjectUtils.objectsEqual(model.getIsoImage().getSelectedItem().toString(), 
ConsoleModel.getEjectLabel())) ? "" //$NON-NLS-1$
-                        : model.getIsoImage().getSelectedItem().toString();
+                
(ObjectUtils.objectsEqual(model.getIsoImage().getSelectedItem(), 
ConsoleModel.getEjectLabel())) ? "" //$NON-NLS-1$
+                        : model.getIsoImage().getSelectedItem();
 
         model.startProgress(null);
 


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

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

Reply via email to