Lior Vernia has uploaded a new change for review. Change subject: webadmin: Fixed buggy profiles in edit network dialog ......................................................................
webadmin: Fixed buggy profiles in edit network dialog A recent careless bug fix introduced a couple of bugs to the profiles section of the edit network dialog, e.g. an attempt to create profiles is made every time a network is updated and it is impossible to approve the dialog when the list of profiles is empty. Hopefully this fixed everything. Change-Id: I20ed93c4b0a02118ce9732ce7db3c446b8a07803 Bug-Url: https://bugzilla.redhat.com/1043386 Signed-off-by: Lior Vernia <lver...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/AbstractNetworkPopupPresenterWidget.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditNetworkPopupView.java 4 files changed, 27 insertions(+), 28 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/07/22407/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java index 00e32d9..678e06a2 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/EditNetworkModel.java @@ -5,6 +5,7 @@ import org.ovirt.engine.core.common.action.VdcReturnValueBase; import org.ovirt.engine.core.common.businessentities.Provider; import org.ovirt.engine.core.common.businessentities.network.Network; +import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.ui.frontend.Frontend; import org.ovirt.engine.ui.uicommonweb.Linq; import org.ovirt.engine.ui.uicommonweb.models.ListModel; @@ -38,6 +39,7 @@ getExport().setIsChangable(false); getExternalProviders().setIsChangable(false); getNetworkLabel().setIsChangable(false); + toggleProfilesAvailability(); } @Override @@ -93,4 +95,9 @@ }, null); } + + @Override + protected void toggleProfilesAvailability() { + getProfiles().setIsAvailable((Boolean) getIsVmNetwork().getEntity() && !getNetwork().isVmNetwork()); + } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java index 031e8cd..4f4a371 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java @@ -124,6 +124,13 @@ EntityModel isVmNetwork = new EntityModel(); isVmNetwork.setEntity(true); setIsVmNetwork(isVmNetwork); + isVmNetwork.getEntityChangedEvent().addListener(new IEventListener() { + @Override + public void eventRaised(Event ev, Object sender, EventArgs args) { + toggleProfilesAvailability(); + } + }); + EntityModel publicUse = new EntityModel(); publicUse.setEntity(true); @@ -486,19 +493,15 @@ protected void postSaveAction(Guid networkGuid, boolean succeeded) { if (succeeded) { - if ((Boolean) getIsVmNetwork().getEntity()) { - performProfilesActions(networkGuid); - stopProgress(); - } else { - stopProgress(); - cancel(); - } + performProfilesActions(networkGuid); + stopProgress(); + cancel(); } } private void performProfilesActions(Guid networkGuid) { List<VnicProfileModel> profileModels = (List<VnicProfileModel>) getProfiles().getItems(); - if (profileModels.isEmpty()) { + if (profileModels.isEmpty() || !getProfiles().getIsAvailable()) { return; } @@ -514,15 +517,11 @@ paramlist.add(parameters); } } + Frontend.getInstance().runMultipleActions(VdcActionType.AddVnicProfile, paramlist); + } - IFrontendActionAsyncCallback callback = new IFrontendActionAsyncCallback() { - @Override - public void executed(FrontendActionAsyncResult result) { - stopProgress(); - cancel(); - } - }; - Frontend.getInstance().runMultipleActions(VdcActionType.AddVnicProfile, paramlist, callback); + protected void toggleProfilesAvailability() { + getProfiles().setIsAvailable((Boolean) getIsVmNetwork().getEntity()); } void cancel() { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/AbstractNetworkPopupPresenterWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/AbstractNetworkPopupPresenterWidget.java index c7f359f..8d84a44 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/AbstractNetworkPopupPresenterWidget.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/AbstractNetworkPopupPresenterWidget.java @@ -43,11 +43,13 @@ } }); - getView().toggleProfilesVisibility((Boolean) model.getIsVmNetwork().getEntity()); - model.getIsVmNetwork().getEntityChangedEvent().addListener(new IEventListener() { + getView().toggleProfilesVisibility(model.getProfiles().getIsAvailable()); + model.getProfiles().getPropertyChangedEvent().addListener(new IEventListener() { @Override public void eventRaised(Event ev, Object sender, EventArgs args) { - getView().toggleProfilesVisibility((Boolean) model.getIsVmNetwork().getEntity()); + if ("IsAvailable".equals(((PropertyChangedEventArgs) args).PropertyName)) { + getView().toggleProfilesVisibility(model.getProfiles().getIsAvailable()); + } } }); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditNetworkPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditNetworkPopupView.java index 58fd239..3e7974d 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditNetworkPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/datacenter/EditNetworkPopupView.java @@ -1,6 +1,5 @@ package org.ovirt.engine.ui.webadmin.section.main.view.popup.datacenter; -import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.ui.uicommonweb.models.datacenters.EditNetworkModel; import org.ovirt.engine.ui.webadmin.ApplicationConstants; import org.ovirt.engine.ui.webadmin.ApplicationResources; @@ -19,8 +18,6 @@ } private final Driver driver = GWT.create(Driver.class); - - private Network network; @Inject public EditNetworkPopupView(EventBus eventBus, @@ -42,7 +39,6 @@ public void edit(EditNetworkModel object) { super.edit(object); driver.edit(object); - network = object.getNetwork(); } @Override @@ -56,11 +52,6 @@ public EditNetworkModel flush() { super.flush(); return driver.flush(); - } - - @Override - public void toggleProfilesVisibility(boolean visible) { - super.toggleProfilesVisibility(visible && !network.isVmNetwork()); } } -- To view, visit http://gerrit.ovirt.org/22407 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I20ed93c4b0a02118ce9732ce7db3c446b8a07803 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Lior Vernia <lver...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches