Gilad Chaplik has uploaded a new change for review.

Change subject: webadmin: allow import and clone
......................................................................

webadmin: allow import and clone

Adding a static checkbox to the import dialog,
That allows importing and cloning a vm/template, even if
if doesn't exist in the system (which wasn't available till now,
you were able to clone iff the vm/template existed)

Change-Id: If395c2659b5fa578effba29c102461dd7d269ead
Bug-Url: https://bugzilla.redhat.com/862303
Signed-off-by: Gilad Chaplik <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.ui.xml
8 files changed, 42 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/56/8456/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java
index db2ef60..b4c47a3 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java
@@ -213,7 +213,8 @@
 
             improtVmTemplateParameters.setImageToDestinationDomainMap(map);
 
-            if (importModel.isObjectInSetup(template)) {
+            if (importModel.isObjectInSetup(template) ||
+                    (Boolean) importModel.getCloneAll().getEntity()) {
                 if (!cloneObjectMap.containsKey(template.getId())) {
                     continue;
                 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java
index 7b50e5c..79e2bd0 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java
@@ -212,7 +212,7 @@
 
         objectsInSetupMap = new HashMap<Guid, Object>();
         for (Object object : (ArrayList<Object>) importModel.getItems()) {
-            if (importModel.isObjectInSetup(object)) {
+            if (importModel.isObjectInSetup(object) || (Boolean) 
importModel.getCloneAll().getEntity()) {
                 objectsInSetupMap.put((Guid) ((IVdcQueryable) 
object).getQueryableId(), object);
             }
         }
@@ -228,7 +228,7 @@
         ImportCloneModel entity = new ImportCloneModel();
         Object object = objectsInSetupMap.values().toArray()[0];
         entity.setEntity(object);
-        entity.setTitle("Import Conflict"); //$NON-NLS-1$
+        
entity.setTitle(ConstantsManager.getInstance().getConstants().importConflictTitle());
         entity.setHashName("import_conflict"); //$NON-NLS-1$
         UICommand command = new UICommand("onClone", this); //$NON-NLS-1$
         command.setTitle(ConstantsManager.getInstance().getConstants().ok());
@@ -375,7 +375,8 @@
 
             prm.setImageToDestinationDomainMap(map);
 
-            if (importModel.isObjectInSetup(vm)) {
+            if (importModel.isObjectInSetup(vm) ||
+                    (Boolean) importModel.getCloneAll().getEntity()) {
                 if (!cloneObjectMap.containsKey(vm.getId())) {
                     continue;
                 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java
index 687926d..c3a65be 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java
@@ -78,7 +78,10 @@
                         for (VmTemplate template : vmtList) {
                             alreadyInSystem.put(template.getId(), template);
                         }
-
+                        if (vmtList.size() == list.size()) {
+                            getCloneAll().setEntity(true);
+                            getCloneAll().setIsChangable(false);
+                        }
                         ImportTemplateModel.super.setSuperItems(value);
                     }
                 }));
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java
index 64d47a0..0e100ec 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java
@@ -64,6 +64,16 @@
     private final Map<Guid, List<Disk>> templateDiskMap = new HashMap<Guid, 
List<Disk>>();
     private final Map<Guid, ImportData> diskImportDataMap = new HashMap<Guid, 
ImportData>();
 
+    private EntityModel cloneAll;
+
+    public EntityModel getCloneAll() {
+        return cloneAll;
+    }
+
+    public void setCloneAll(EntityModel cloneAll) {
+        this.cloneAll = cloneAll;
+    }
+
     public storage_pool getStoragePool() {
         return storagePool;
     }
@@ -173,6 +183,8 @@
         setCluster(new ListModel());
         setClusterQuota(new ListModel());
         getClusterQuota().setIsAvailable(false);
+        setCloneAll(new EntityModel());
+        getCloneAll().setEntity(false);
     }
 
     public void init(Guid storageDomainId) {
@@ -574,7 +586,10 @@
                         for (VM vm : vmList) {
                             alreadyInSystemVmMap.put(vm.getId(), vm);
                         }
-
+                        if (vmList.size() == list.size()) {
+                            getCloneAll().setEntity(true);
+                            getCloneAll().setIsChangable(false);
+                        }
                         ImportVmModel.super.setItems(value);
                     }
                 }));
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
index 17ef8ee..e8bf700 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
@@ -1548,4 +1548,7 @@
 
     @DefaultStringValue("Missing Quota for the selected Cluster, Please define 
proper Quota")
     String missingQuotaClusterEnforceMode();
+
+    @DefaultStringValue("Import Conflict")
+    String importConflictTitle();
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
index ba52f40..973d1c1 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
@@ -725,6 +725,9 @@
     @DefaultStringValue("Collapse All Snapshots")
     String importVm_collapseSnapshots();
 
+    @DefaultStringValue("Clone All")
+    String importVm_CloneAll();
+
     @DefaultStringValue("Expand All")
     String treeExpandAll();
 
@@ -2210,10 +2213,10 @@
     @DefaultStringValue("Clone")
     String clone();
 
-    @DefaultStringValue("There is already a VM(s) with the same name")
+    @DefaultStringValue("Please select a name for the cloned VM(s)")
     String sameVmNameExists();
 
-    @DefaultStringValue("There is already a Template(s) with the same name")
+    @DefaultStringValue("Please select a name for the cloned Template(s)")
     String sameTemplateNameExists();
 
     @DefaultStringValue("[No jobs available]")
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java
index 2232d85..8c46619 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.java
@@ -97,6 +97,10 @@
     @Path(value = "collapseSnapshots.entity")
     EntityModelCheckBoxEditor collapseSnapshotEditor;
 
+    @UiField(provided = true)
+    @Path(value = "cloneAll.entity")
+    EntityModelCheckBoxEditor cloneAllEditor;
+
     @UiField
     SplitLayoutPanel splitLayoutPanel;
 
@@ -166,6 +170,7 @@
 
     private void addStyles() {
         
collapseSnapshotEditor.addContentWidgetStyleName(style.collapseEditor());
+        cloneAllEditor.addContentWidgetStyleName(style.collapseEditor());
     }
 
     private void initSubTabLayoutPanel() {
@@ -541,6 +546,7 @@
 
     private void initCheckboxes() {
         collapseSnapshotEditor = new EntityModelCheckBoxEditor(Align.RIGHT);
+        cloneAllEditor = new EntityModelCheckBoxEditor(Align.RIGHT);
     }
 
     private void localize(ApplicationConstants constants) {
@@ -548,6 +554,7 @@
         destClusterQuotaEditor.setLabel(constants.importVm_destClusterQuota());
         destStorageEditor.setLabel(constants.defaultStorage());
         
collapseSnapshotEditor.setLabel(constants.importVm_collapseSnapshots());
+        cloneAllEditor.setLabel(constants.importVm_CloneAll());
     }
 
     @SuppressWarnings("unchecked")
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.ui.xml
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.ui.xml
index 752896c..3bd21b7 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.ui.xml
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/backup/ImportVmPopupView.ui.xml
@@ -88,6 +88,7 @@
                                                        <g:Image 
ui:field="image" resource='{resources.alertImage}'     
addStyleNames="{style.imageStyle}" />
                                                        
<e:EntityModelCheckBoxEditor ui:field="collapseSnapshotEditor" />
                                                </g:HorizontalPanel>
+                                               <e:EntityModelCheckBoxEditor 
ui:field="cloneAllEditor" />
                                        </g:VerticalPanel>
                                </g:HorizontalPanel>
                                <g:Label ui:field="message" 
addStyleNames="{style.labelStyle}" />


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

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

Reply via email to