Yevgeny Zaspitsky has uploaded a new change for review. Change subject: webadmin: ClusterNetworkManageModel - add management column ......................................................................
webadmin: ClusterNetworkManageModel - add management column Add "management" column to manage networks popup. Change-Id: I3153d4aec549b847ef209ea28b36d0329e06a7a9 Signed-off-by: Yevgeny Zaspitsky <yzasp...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.ui.xml 3 files changed, 57 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/03/36403/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java index c283211..cf2de12 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java @@ -107,6 +107,29 @@ model.setMigrationNetwork(value); } + private ClusterNetworkModel getManagementNetwork() { + if (!isMultiCluster()) { + for (ClusterNetworkModel clusterNetworkManageModel : getItems()) { + if (clusterNetworkManageModel.isManagement()) { + return clusterNetworkManageModel; + } + } + } + return null; + } + + public void setManagementNetwork(ClusterNetworkModel model, boolean value) { + if (!isMultiCluster()) { + if (value) { + // Unset the old management network + if (getManagementNetwork() != null) { + getManagementNetwork().setManagement(false); + } + } + } + model.setManagement(value); + } + private void onManage() { Iterable<ClusterNetworkModel> manageList = getItems(); final List<NetworkCluster> toAttach = new ArrayList<>(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java index d0795fa..1d08e44 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java @@ -91,6 +91,10 @@ new VmNetworkImageSafeHtmlWithSafeHtmlTooltipColumn(constants), constants.vmNetwork(), "80px"); //$NON-NLS-1$ + networks.addColumn( + new ManagementNetworkIndicatorCheckboxColumn(multipleSelectionAllowed, new ManagementNetworkIndicatorFieldUpdater()), + constants.managementItemInfo(), "80px"); //$NON-NLS-1$ + final SafeHtml displayNetworkColumnHeader = templates.textWithTooltip( constants.displayNetwork(), constants.changeDisplayNetworkWarning()); @@ -340,6 +344,35 @@ networks.asEditor().flush().setMigrationNetwork(clusterNetworkModel, value); } + private static final class ManagementNetworkIndicatorCheckboxColumn extends CheckboxColumn<ClusterNetworkModel> { + private ManagementNetworkIndicatorCheckboxColumn(boolean multipleSelectionAllowed, + ManagementNetworkIndicatorFieldUpdater managementNetworkIndicatorFieldUpdater) { + super(multipleSelectionAllowed, managementNetworkIndicatorFieldUpdater); + } + + @Override + public Boolean getValue(ClusterNetworkModel clusterNetworkModel) { + return clusterNetworkModel.isManagement(); + } + + @Override + protected boolean canEdit(ClusterNetworkModel clusterNetworkModel) { // TODO + return clusterNetworkModel.isAttached() && !clusterNetworkModel.isExternal(); + } + } + + private final class ManagementNetworkIndicatorFieldUpdater implements FieldUpdater<ClusterNetworkModel, Boolean> { + @Override + public void update(int index, ClusterNetworkModel clusterNetworkModel, Boolean value) { + updateManagementNetwork(clusterNetworkModel, value); + refreshNetworksTable(); + } + } + + private void updateManagementNetwork(ClusterNetworkModel clusterNetworkModel, boolean value) { + networks.asEditor().flush().setManagementNetwork(clusterNetworkModel, value); + } + private final class DisplayNetworkIndicatorFieldUpdater implements FieldUpdater<ClusterNetworkModel, Boolean> { @Override public void update(int index, ClusterNetworkModel clusterNetworkModel, Boolean value) { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.ui.xml index 289da78..224627c 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.ui.xml @@ -16,7 +16,7 @@ } </ui:style> - <d:SimpleDialogPanel width="600px" height="400px"> + <d:SimpleDialogPanel width="670px" height="400px"> <d:content> <g:FlowPanel> <g:ScrollPanel addStyleNames="{style.dock}"> -- To view, visit http://gerrit.ovirt.org/36403 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I3153d4aec549b847ef209ea28b36d0329e06a7a9 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Yevgeny Zaspitsky <yzasp...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches