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/Model.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java 2 files changed, 11 insertions(+), 14 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/45/32645/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java index 4ec3ebc..30c0158 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java @@ -617,4 +617,8 @@ public boolean isValidTab(TabName tab) { return !invalidTabs.contains(tab); } + + public boolean allTabsValid() { + return invalidTabs.isEmpty(); + } } 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 f58e71d..80119eb 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 @@ -2553,7 +2553,7 @@ boolean vmInitIsValid = getVmInitModel().validate(); setValidTab(TabName.FIRST_RUN, vmInitIsValid); - boolean isValid = hwPartValid && vmInitIsValid && getDataCenterWithClustersList().getIsValid(); + boolean isValid = hwPartValid && vmInitIsValid && allTabsValid(); getValid().setEntity(isValid); ValidationCompleteEvent.fire(getEventBus(), this); return isValid; @@ -2599,32 +2599,25 @@ setValidTab(TabName.CONSOLE_TAB, getUsbPolicy().getIsValid() && getNumOfMonitors().getIsValid() && getSpiceProxy().getIsValid()); setValidTab(TabName.HOST_TAB, getMigrationDowntime().getIsValid()); - setValidTab(TabName.RESOURCE_ALLOCATION_TAB, getMinAllocatedMemory().getIsValid()); getRngBytes().validateEntity(new IValidation[]{new IntegerValidation(0, Integer.MAX_VALUE), new RngDevValidation()}); getRngPeriod().validateEntity(new IValidation[]{new IntegerValidation(0, Integer.MAX_VALUE)}); setValidTab(TabName.TAB_RNG, getRngBytes().getIsValid() && getRngPeriod().getIsValid()); - setValidTab(TabName.SYSTEM_TAB, 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); } + setValidTab(TabName.RESOURCE_ALLOCATION_TAB, getMinAllocatedMemory().getIsValid()); + + setValidTab(TabName.SYSTEM_TAB, 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); ValidationCompleteEvent.fire(getEventBus(), this); -- To view, visit http://gerrit.ovirt.org/32645 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iabba7f93a0541292a1a4c82b675ab0faf141b9b2 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Martin Betak <mbe...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches