Sergey Gotliv has uploaded a new change for review. Change subject: webadmin: Prevent selection of IDE disk as read-only in UI ......................................................................
webadmin: Prevent selection of IDE disk as read-only in UI Change-Id: I71856b447abc3bc3a48247c6df2d8e6083e8e783 Signed-off-by: Sergey Gotliv <sgot...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java 3 files changed, 35 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/98/23998/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java index 60dde15..479dabe 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java @@ -47,6 +47,7 @@ import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyQuotaValidation; import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyValidation; import org.ovirt.engine.ui.uicommonweb.validation.SpecialAsciiI18NOrNoneValidation; +import org.ovirt.engine.ui.uicommonweb.validation.ValidationResult; import org.ovirt.engine.ui.uicompat.ConstantsManager; import org.ovirt.engine.ui.uicompat.Event; import org.ovirt.engine.ui.uicompat.EventArgs; @@ -659,6 +660,15 @@ boolean isInternal = (Boolean) getIsInternal().getEntity(); DiskInterface diskInterface = (DiskInterface) getDiskInterface().getSelectedItem(); getIsSgIoUnfiltered().setIsAvailable(!isInternal && DiskInterface.VirtIO_SCSI.equals(diskInterface)); + + if (DiskInterface.IDE.equals(diskInterface) && !Boolean.TRUE.equals(getIsReadOnly().getEntity())) + { + getIsReadOnly().setIsChangable(false); + } + else if (isEditEnabled()) + { + getIsReadOnly().setIsChangable(true); + } } private void wipeAfterDelete_EntityChanged(EventArgs e) { @@ -746,7 +756,22 @@ getQuota().validateSelectedItem(new IValidation[] { new NotEmptyQuotaValidation() }); } - return getAlias().getIsValid() && getDescription().getIsValid() && getQuota().getIsValid(); + getDiskInterface().validateEntity(new IValidation[] { new IValidation() { + @Override + public ValidationResult validate(Object value) { + ValidationResult result = new ValidationResult(); + + if (getDiskInterface().getSelectedItem() == DiskInterface.IDE && (Boolean) getIsReadOnly().getEntity()) + { + result.setSuccess(false); + result.getReasons().add(ConstantsManager.getInstance().getConstants().cannotEnableIdeInterfaceForReadOnlyDisk()); + } + + return result; + } + }}); + + return getAlias().getIsValid() && getDescription().getIsValid() && getQuota().getIsValid() && getDiskInterface().getIsValid(); } protected void forceCreationWarning(ArrayList<String> usedLunsMessages) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java index e2ba125..17276aa 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java @@ -5,6 +5,7 @@ import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.Disk.DiskStorageType; import org.ovirt.engine.core.common.businessentities.DiskImage; +import org.ovirt.engine.core.common.businessentities.DiskInterface; import org.ovirt.engine.core.common.businessentities.LunDisk; import org.ovirt.engine.core.common.businessentities.ScsiGenericIO; import org.ovirt.engine.core.common.businessentities.StorageDomain; @@ -68,6 +69,11 @@ getIsInternal().setEntity(false); getSizeExtend().setIsAvailable(false); } + + if (getDisk().getDiskInterface() == DiskInterface.IDE) + { + getIsReadOnly().setIsChangable(false); + } } @Override diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java index 96ad995..0f82171 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java @@ -2173,5 +2173,8 @@ @DefaultStringValue("VirtIO-SCSI is not supported for the selected OS") String cannotEnableVirtioScsiForOs(); + + @DefaultStringValue("IDE disk can't be read-only.") + String cannotEnableIdeInterfaceForReadOnlyDisk(); } -- To view, visit http://gerrit.ovirt.org/23998 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I71856b447abc3bc3a48247c6df2d8e6083e8e783 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Sergey Gotliv <sgot...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches