Martin Betak has uploaded a new change for review.

Change subject: frontend: Fix validation of UnitVmModel
......................................................................

frontend: Fix validation of UnitVmModel

Individual entity models were validated but the validate() method always
returned true since the validity of individual tabs was not taken into
account. This resulted in submitting invalid edits and subsequent
backend validation errors.

Change-Id: Iabba7f93a0541292a1a4c82b675ab0faf141b9b2
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1128444
Signed-off-by: Martin Betak <mbe...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
1 file changed, 18 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/94/32694/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
index 9178de6..dc83961 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
@@ -2686,10 +2686,10 @@
         boolean vmInitIsValid = getVmInitModel().validate();
         setIsFirstRunTabValid(vmInitIsValid);
 
-        boolean isValid = hwPartValid && vmInitIsValid && 
getDataCenterWithClustersList().getIsValid()
+        boolean isValid = hwPartValid && vmInitIsValid && allTabsValid()
                 && getDisksAllocationModel().getIsValid() && 
getTemplate().getIsValid() && getComment().getIsValid()
                 && getDefaultHost().getIsValid()
-                && getTimeZone().getIsValid() && getOSType().getIsValid() && 
getCdImage().getIsValid()
+                && getOSType().getIsValid()
                 && getKernel_path().getIsValid()
                 && getInitrd_path().getIsValid()
                 && getKernel_parameters().getIsValid()
@@ -2745,30 +2745,35 @@
         getRngPeriod().validateEntity(new IValidation[]{new 
IntegerValidation(0, Integer.MAX_VALUE)});
         setRngTabValid(getRngBytes().getIsValid() && 
getRngPeriod().getIsValid());
 
-        setIsSystemTabValid(getMemSize().getIsValid() &&
-                            getTotalCPUCores().getIsValid() &&
-                            
getSerialNumberPolicy().getCustomSerialNumber().getIsValid());
-
         // Minimum 'Physical Memory Guaranteed' is 1MB
         validateMemorySize(getMemSize(), Integer.MAX_VALUE, 1);
         if (!(getBehavior() instanceof TemplateVmModelBehavior) && 
getMemSize().getIsValid()) {
             validateMemorySize(getMinAllocatedMemory(), 
getMemSize().getEntity(), 1);
         }
 
+        setIsSystemTabValid(getMemSize().getIsValid() &&
+                            getTotalCPUCores().getIsValid() &&
+                            
getSerialNumberPolicy().getCustomSerialNumber().getIsValid());
 
 
-        boolean isValid = behaviorValid && customPropertySheetValid && 
getName().getIsValid() && getDescription().getIsValid()
-                && getMinAllocatedMemory().getIsValid()
-                && getNumOfMonitors().getIsValid() && 
getUsbPolicy().getIsValid()
-                && getMigrationDowntime().getIsValid()
-                && getRngBytes().getIsValid()
-                && getRngPeriod().getIsValid()
-                && getTotalCPUCores().getIsValid();
+        boolean isValid = behaviorValid && allTabsValid();
 
         getValid().setEntity(isValid);
         return isValid;
     }
 
+    private boolean allTabsValid() {
+        return getIsGeneralTabValid() &&
+                getIsSystemTabValid() &&
+                getIsFirstRunTabValid() &&
+                getIsDisplayTabValid() &&
+                getIsHostTabValid() &&
+                getIsAllocationTabValid() &&
+                getIsBootSequenceTabValid() &&
+                isRngTabValid() &&
+                getIsCustomPropertiesTabValid();
+    }
+
     private void resetTabsValidity() {
         setIsGeneralTabValid(true);
         setIsSystemTabValid(true);


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iabba7f93a0541292a1a4c82b675ab0faf141b9b2
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.5
Gerrit-Owner: Martin Betak <mbe...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to