From 5f5d7199b780aed3a524e59d87099eba0b325873 Mon Sep 17 00:00:00 2001 From: JiriOndrusek Date: Mon, 10 Jul 2017 15:56:14 +0200 Subject: [PATCH] [JBEAP-12001] - [7.0] Unnecessary add and remove button for main-administrator role --- .../client/domain/hosts/ColumnHostView.java | 276 ++++++++++-------- 1 file changed, 152 insertions(+), 124 deletions(-) diff --git a/gui/src/main/java/org/jboss/as/console/client/domain/hosts/ColumnHostView.java b/gui/src/main/java/org/jboss/as/console/client/domain/hosts/ColumnHostView.java index 32760c59f..aea73f2d4 100644 --- a/gui/src/main/java/org/jboss/as/console/client/domain/hosts/ColumnHostView.java +++ b/gui/src/main/java/org/jboss/as/console/client/domain/hosts/ColumnHostView.java @@ -17,6 +17,7 @@ import com.gwtplatform.mvp.client.proxy.PlaceManager; import com.gwtplatform.mvp.shared.proxy.PlaceRequest; import org.jboss.as.console.client.Console; +import org.jboss.as.console.client.core.BootstrapContext; import org.jboss.as.console.client.core.NameTokens; import org.jboss.as.console.client.core.SuspendableViewImpl; import org.jboss.as.console.client.domain.model.ServerGroupRecord; @@ -43,6 +44,7 @@ import javax.inject.Inject; import java.util.ArrayList; import java.util.Collections; +import java.util.LinkedList; import java.util.List; import java.util.Set; @@ -85,7 +87,7 @@ interface StatusTemplate extends SafeHtmlTemplates { @Inject public ColumnHostView(final HostStore hostStore, final ServerStore serverStore, - final PreviewContentFactory contentFactory) { + final PreviewContentFactory contentFactory, final BootstrapContext bootstrapContext) { super(); this.contentFactory = contentFactory; @@ -172,15 +174,16 @@ public Object getKey(ServerGroupRecord item) { return item.getName().contains(token); }); - groups.setTopMenuItems(new MenuDelegate("Add", - new ContextualCommand() { - @Override - public void executeOn(ServerGroupRecord group) { - // TODO "/server-group=*", "add" permission - presenter.launchNewGroupDialog(); - } - }, MenuDelegate.Role.Operation) - ); + if (bootstrapContext.isAdmin() || bootstrapContext.isSuperUser()) { + groups.setTopMenuItems(new MenuDelegate("Add", + new ContextualCommand() { + @Override + public void executeOn(ServerGroupRecord group) { + // TODO "/server-group=*", "add" permission + presenter.launchNewGroupDialog(); + } + }, MenuDelegate.Role.Operation)); + } groups.setPreviewFactory((data, callback) -> contentFactory .createContent(PreviewContent.INSTANCE.runtime_server_group(), callback)); @@ -372,46 +375,56 @@ public void execute() { } }); - groups.setMenuItems( + List> menuList = new LinkedList<>(); + + menuList.add( new MenuDelegate( // TODO permissions - Console.CONSTANTS.common_label_view(), new ContextualCommand() { - @Override - public void executeOn(final ServerGroupRecord group) { + Console.CONSTANTS.common_label_view(), new ContextualCommand() { + @Override + public void executeOn(final ServerGroupRecord group) { + + //groups.selectByKey(group.getName()); + Console.getCircuit().dispatch(new GroupSelection(group.getName())); + + Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() { + @Override + public void execute() { + Console.getPlaceManager().revealRelativePlace( + new PlaceRequest(NameTokens.ServerGroupPresenter).with("action", "edit") + ); + } + }); - //groups.selectByKey(group.getName()); - Console.getCircuit().dispatch(new GroupSelection(group.getName())); + } + }) + ); - Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() { - @Override - public void execute() { - Console.getPlaceManager().revealRelativePlace( - new PlaceRequest(NameTokens.ServerGroupPresenter).with("action", "edit") - ); - } - }); + if(bootstrapContext.isAdmin() || bootstrapContext.isSuperUser()) { + menuList.add( + new MenuDelegate( // TODO permissions "/server-group=*", "remove" + Console.CONSTANTS.common_label_delete(), + new ContextualCommand() { + @Override + public void executeOn(final ServerGroupRecord group) { + + Console.getCircuit().dispatch(new GroupSelection(group.getName())); + + Feedback.confirm( + Console.MESSAGES.deleteServerGroup(), + Console.MESSAGES.deleteServerGroupConfirm(group.getName()), + new Feedback.ConfirmationHandler() { + @Override + public void onConfirmation(boolean isConfirmed) { + if (isConfirmed) + presenter.onDeleteGroup(group); + } + }); + } + }, MenuDelegate.Role.Operation) + ); + } - } - }), - new MenuDelegate( // TODO permissions "/server-group=*", "remove" - Console.CONSTANTS.common_label_delete(), - new ContextualCommand() { - @Override - public void executeOn(final ServerGroupRecord group) { - - Console.getCircuit().dispatch(new GroupSelection(group.getName())); - - Feedback.confirm( - Console.MESSAGES.deleteServerGroup(), - Console.MESSAGES.deleteServerGroupConfirm(group.getName()), - new Feedback.ConfirmationHandler() { - @Override - public void onConfirmation(boolean isConfirmed) { - if (isConfirmed) - presenter.onDeleteGroup(group); - } - }); - } - }, MenuDelegate.Role.Operation), + menuList.add( new MenuDelegate( // TODO permissions "/server-group=*", "add" Console.CONSTANTS.common_label_copy(), new ContextualCommand() { @Override @@ -419,7 +432,10 @@ public void executeOn(final ServerGroupRecord group) { Console.getCircuit().dispatch(new GroupSelection(group.getName())); presenter.launchCopyWizard(group); } - }, MenuDelegate.Role.Operation), + }, MenuDelegate.Role.Operation) + ); + + menuList.add( new MenuDelegate( Console.CONSTANTS.common_label_start(), new ContextualCommand() { @Override @@ -439,104 +455,116 @@ public void onConfirmation(boolean isConfirmed) { ); } }, MenuDelegate.Role.Operation) - .setOperationAddress("/server-group=*", "start-servers"), + .setOperationAddress("/server-group=*", "start-servers") + ); + menuList.add( new MenuDelegate( - Console.CONSTANTS.common_label_stop(), new ContextualCommand() { - @Override - public void executeOn(final ServerGroupRecord group) { - - Feedback.confirm( - Console.CONSTANTS.stopServerGroup(), - Console.MESSAGES.wantToStopServerGroup(group.getName()), - new Feedback.ConfirmationHandler() { - @Override - public void onConfirmation(boolean isConfirmed) { - if (isConfirmed) - presenter.onGroupLifecycle(group.getName(), LifecycleOperation.STOP); - } + Console.CONSTANTS.common_label_stop(), new ContextualCommand() { + @Override + public void executeOn(final ServerGroupRecord group) { + + Feedback.confirm( + Console.CONSTANTS.stopServerGroup(), + Console.MESSAGES.wantToStopServerGroup(group.getName()), + new Feedback.ConfirmationHandler() { + @Override + public void onConfirmation(boolean isConfirmed) { + if (isConfirmed) + presenter.onGroupLifecycle(group.getName(), LifecycleOperation.STOP); } - ); + } + ); - } - }, MenuDelegate.Role.Operation) - .setOperationAddress("/server-group=*", "stop-servers"), + } + }, MenuDelegate.Role.Operation) + .setOperationAddress("/server-group=*", "stop-servers") + ); - new MenuDelegate( - Console.CONSTANTS.suspend(), new ContextualCommand() { - @Override - public void executeOn(final ServerGroupRecord group) { + menuList.add( + new MenuDelegate( + Console.CONSTANTS.suspend(), new ContextualCommand() { + @Override + public void executeOn(final ServerGroupRecord group) { - presenter.onLaunchSuspendDialogue(group); + presenter.onLaunchSuspendDialogue(group); - } - }, MenuDelegate.Role.Operation) - .setOperationAddress("/server-group=*", "suspend-servers"), + } + }, MenuDelegate.Role.Operation) + .setOperationAddress("/server-group=*", "suspend-servers") + ); - new MenuDelegate( - Console.CONSTANTS.resume(), new ContextualCommand() { - @Override - public void executeOn(final ServerGroupRecord group) { - Feedback.confirm( - Console.CONSTANTS.resumeServerGroup(), - Console.MESSAGES.wantToResumeServerGroup(group.getName()), - new Feedback.ConfirmationHandler() { - @Override - public void onConfirmation(boolean isConfirmed) { - if (isConfirmed) - presenter.onGroupLifecycle(group.getName(), LifecycleOperation.RESUME); - } + menuList.add( + new MenuDelegate( + Console.CONSTANTS.resume(), new ContextualCommand() { + @Override + public void executeOn(final ServerGroupRecord group) { + + Feedback.confirm( + Console.CONSTANTS.resumeServerGroup(), + Console.MESSAGES.wantToResumeServerGroup(group.getName()), + new Feedback.ConfirmationHandler() { + @Override + public void onConfirmation(boolean isConfirmed) { + if (isConfirmed) + presenter.onGroupLifecycle(group.getName(), LifecycleOperation.RESUME); } - ); + } + ); - } - }, MenuDelegate.Role.Operation) - .setOperationAddress("/server-group=*","resume-servers"), + } + }, MenuDelegate.Role.Operation) + .setOperationAddress("/server-group=*","resume-servers") + ); - new MenuDelegate( - Console.CONSTANTS.common_label_restart(), new ContextualCommand() { - @Override - public void executeOn(final ServerGroupRecord group) { + menuList.add( + new MenuDelegate( + Console.CONSTANTS.common_label_restart(), new ContextualCommand() { + @Override + public void executeOn(final ServerGroupRecord group) { - Feedback.confirm( - Console.CONSTANTS.restartServerGroup(), - Console.MESSAGES.wantToRestartServerGroup(group.getName()), - new Feedback.ConfirmationHandler() { - @Override - public void onConfirmation(boolean isConfirmed) { - if (isConfirmed) - presenter.onGroupLifecycle(group.getName(), LifecycleOperation.RESTART); - } + Feedback.confirm( + Console.CONSTANTS.restartServerGroup(), + Console.MESSAGES.wantToRestartServerGroup(group.getName()), + new Feedback.ConfirmationHandler() { + @Override + public void onConfirmation(boolean isConfirmed) { + if (isConfirmed) + presenter.onGroupLifecycle(group.getName(), LifecycleOperation.RESTART); } - ); + } + ); - } - }, MenuDelegate.Role.Operation) - .setOperationAddress("/server-group=*","restart-servers"), + } + }, MenuDelegate.Role.Operation) + .setOperationAddress("/server-group=*","restart-servers") + ); - new MenuDelegate( - Console.CONSTANTS.common_label_reload(), new ContextualCommand() { - @Override - public void executeOn(final ServerGroupRecord group) { + menuList.add( + new MenuDelegate( + Console.CONSTANTS.common_label_reload(), new ContextualCommand() { + @Override + public void executeOn(final ServerGroupRecord group) { - Feedback.confirm( - Console.CONSTANTS.reloadServerGroup(), - Console.MESSAGES.wantToReloadServerGroup(group.getName()), - new Feedback.ConfirmationHandler() { - @Override - public void onConfirmation(boolean isConfirmed) { - if (isConfirmed) - presenter.onGroupLifecycle(group.getName(), LifecycleOperation.RELOAD); - } + Feedback.confirm( + Console.CONSTANTS.reloadServerGroup(), + Console.MESSAGES.wantToReloadServerGroup(group.getName()), + new Feedback.ConfirmationHandler() { + @Override + public void onConfirmation(boolean isConfirmed) { + if (isConfirmed) + presenter.onGroupLifecycle(group.getName(), LifecycleOperation.RELOAD); } - ); + } + ); - } - }, MenuDelegate.Role.Operation) - .setOperationAddress("/server-group=*","reload-servers") + } + }, MenuDelegate.Role.Operation) + .setOperationAddress("/server-group=*","reload-servers") ); + groups.setMenuItems(menuList.toArray(new MenuDelegate[menuList.size()])); } public void updateBrowseItems() {