/*
* Copyright (c) 2008 TouK.pl
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package pl.touk.wonderfulsecurity.gwt.client.ui;
import com.extjs.gxt.ui.client.mvc.Controller;
import com.extjs.gxt.ui.client.mvc.AppEvent;
import com.extjs.gxt.ui.client.mvc.Dispatcher;
import com.extjs.gxt.ui.client.event.EventType;
import com.google.gwt.http.client.RequestBuilder;
import pl.touk.wonderfulsecurity.gwt.client.rpc.OnlyLogCallback;
import pl.touk.wonderfulsecurity.gwt.client.rpc.ChainCommandCallback;
import pl.touk.wonderfulsecurity.gwt.client.rpc.ChainCommand;
import pl.touk.wonderfulsecurity.beans.WsecUser;
import pl.touk.wonderfulsecurity.beans.GroupView;
import pl.touk.wonderfulsecurity.beans.WsecGroup;
import pl.touk.wonderfulsecurity.beans.RoleView;
import static pl.touk.wonderfulsecurity.gwt.client.WsEvents.*;
import pl.touk.wonderfulsecurity.gwt.client.ui.user.CreateEditUserView;
import pl.touk.wonderfulsecurity.gwt.client.ui.group.CreateEditGroupView;
import pl.touk.wonderfulsecurity.gwt.client.ui.role.CreateEditRoleView;
import pl.touk.wonderfulsecurity.beans.PermissionView;
import pl.touk.wonderfulsecurity.beans.WsecRole;
import pl.touk.wonderfulsecurity.core.ClientSecurity;
import pl.touk.wonderfulsecurity.gwt.client.rpc.ISecurityManagerRpcAsync;
import pl.touk.wonderfulsecurity.gwt.client.rpc.RpcExecutor;
/**
* @author Lukasz Kucharski - lkc@touk.pl
*/
public final class SecurityManagerController extends Controller {
// ----------------------------- FIELDS ------------------------------
private ISecurityManagerRpcAsync securityManagerRpc;
private SecurityManagerView securityManagerView;
private CreateEditUserView createEditUserView;
private CreateEditGroupView createEditGroupView;
private CreateEditRoleView createEditRoleView;
// --------------------------- CONSTRUCTORS ---------------------------
public SecurityManagerController() {
securityManagerRpc = ClientSecurity.getAsyncSecurityManager();
securityManagerView = new SecurityManagerView(this);
createEditUserView = new CreateEditUserView(this);
createEditGroupView = new CreateEditGroupView(this);
createEditRoleView = new CreateEditRoleView(this);
this.registerEventTypes(USER_GRID_DOUBLE_CLICK,
START_USER_EDIT,
ASSIGN_GROUP_TO_USER,
DEASSIGN_GROUP_FROM_USER,
DEASSIGN_ROLE_FROM_GROUP,
ASSIGN_ROLE_TO_GROUP,
GROUP_GRID_DOUBLE_CLICK,
START_GROUP_EDIT,
ASSIGN_ROLE_TO_USER,
DEASSIGN_ROLE_FROM_USER,
CREATE_NEW_USER,
SAVE_NEW_USER,
INIT_SECURITY_CONSOLE,
ASSIGN_PERMISSION_TO_USER,
DEASSIGN_PERMISSION_FROM_USER,
ASSIGN_PERMISSION_TO_GROUP,
DEASSIGN_PERMISSION_FROM_GROUP,
ROLE_GRID_DOUBLE_CLICK,
START_ROLE_EDIT,
ASSIGN_PERMISSION_TO_ROLE,
DEASSIGN_PERMISSION_FROM_ROLE,
CREATE_NEW_GROUP,
SAVE_NEW_GROUP,
CREATE_NEW_ROLE,
SAVE_NEW_ROLE,
SAVE_EXISTING_GROUP,
SAVE_EXISTING_USER,
SAVE_EXISTING_ROLE);
}
// -------------------------- OTHER METHODS --------------------------
@SuppressWarnings("unchecked")
public void handleEvent(AppEvent event) {
EventType type = event.getType();
if(type == USER_GRID_DOUBLE_CLICK) {
doFetchUserById((AppEvent) event, new ChainCommand(event, "Nie można pobrać informacji o użytkowniku", "USER", "Pobrałem informacje o użytkowniku") {
public void execute(AppEvent event) {
dofetchAvailableGroupsMarkAssignedToUser(event, new ChainCommand(event, "Nie można pobrac informacji o grupach", "GROUPS") {
public void execute(AppEvent event) {
doFetchAllAvailableAndAssignedRolesForUser(event, new ChainCommand(event, "Nie można pobrać informacji o rolach użytkownika", "ROLES") {
public void execute(AppEvent event) {
dofetchInheritedRolesForUser(event, new ChainCommand(event, "Nie mozna pobrac ról odziedziczonych", "ROLES_INHERITED") {
public void execute(AppEvent event) {
doFetchAllAvailablePermissionsMarkAssignedToUser(event, new ChainCommand(event, "Nie mozna pobrac informacji o upawnieniach", "PERMISSIONS") {
public void execute(AppEvent event) {
doFetchInheritedPermissionsFromGroupForUser(event, new ChainCommand(event, "Nie mozna pobrac uprawnień odziedziczonych z grup", "PERMISSIONS_INHERITED_FROM_GROUPS") {
public void execute(AppEvent event) {
doFetchInheritedPermissionsFromRoleForUser(event, new ChainCommand(event, "Nie mozna pobrac uprawnień odziedziczonych z ról", "PERMISSIONS_INHERITED_FROM_ROLES") {
public void execute(AppEvent event) {
doFetchInheritedPermissionsFromInhetiredRolesForUser(event, new ChainCommand(event, "Nie mozna pobrac uprawnień odziedziczonych z odziedziczonych ról", "PERMISSIONS_INHERITED_FROM_INHERITED_ROLES") {
public void execute(AppEvent event) {
event.setType(START_USER_EDIT);
Dispatcher.get().dispatch(event);
}
});
}
});
}
});
}
});
}
});
}
});
}
});
}
});
}
if(type == GROUP_GRID_DOUBLE_CLICK){
doFetchGroupById((AppEvent) event, new ChainCommand(event, "Nie mozna pobrac informacji o grupie", "GROUP") {
public void execute(AppEvent event) {
doFetchAllAvailableRolesMarkAssignedToGroup(event, new ChainCommand(event, "Nie można pobrać informacji o rolach", "ROLES") {
public void execute(AppEvent event) {
doFetchAllAvailablePermissionsMarkAssignedToGroup(event, new ChainCommand(event, "Nie można pobrać informacji o uprawnieniach", "PERMISSIONS") {
public void execute(AppEvent event) {
doFetchInheritedPermissionsFromRoleForGroup(event, new ChainCommand(event, "Nie można pobrać informacji o uprawnieniach odziedziczonych z ról", "PERMISSIONS_INHERITED_FROM_ROLES") {
public void execute(AppEvent event) {
event.setType(START_GROUP_EDIT);
Dispatcher.get().dispatch(event);
}
});
}
});
}
});
}
});
}
if(type == ROLE_GRID_DOUBLE_CLICK){
doFetchRoleById((AppEvent) event, new ChainCommand(event, "Nie mozna pobrac informacji o roli", "ROLE") {
public void execute(AppEvent event) {
doFetchAllAvailablePermissionsMarkAssignedToRole(event, new ChainCommand(event, "Nie można pobrać informacji o uprawnieniach", "PERMISSIONS") {
public void execute(AppEvent event) {
event.setType(START_ROLE_EDIT);
Dispatcher.get().dispatch(event);
}
});
}
});
}
if(type == START_USER_EDIT){
doStartEditingUser(event);
}
if(type == START_GROUP_EDIT){
doStartEditingGroup(event);
}
if(type == START_ROLE_EDIT){
doStartEditingRole(event);
}
if(type == ASSIGN_GROUP_TO_USER){
doAssignGroupToUser((AppEvent) event, new ChainCommand(event, "Nie można dodac uzytkownika z grupy", null, "Dodano uzytkownika do grupy") {
public void execute(AppEvent event) {
event.setType(USER_GRID_DOUBLE_CLICK);
Dispatcher.get().dispatch(event);
}
});
}
if(type == ASSIGN_ROLE_TO_USER){
doAssignRoleToUser((AppEvent) event, new ChainCommand(event, "Nie można dodac roli do uzytkownika", null, "Dodano role do uzytkownika uzytkownika") {
public void execute(AppEvent event) {
event.setType(USER_GRID_DOUBLE_CLICK);
Dispatcher.get().dispatch(event);
}
});
}
if(type == DEASSIGN_ROLE_FROM_USER){
doDeassignRoleFromUser((AppEvent) event, new ChainCommand(event, "Nie można usunac roli z uzytkownika", null, "Usunieto role z uzytkownika uzytkownika") {
public void execute(AppEvent event) {
event.setType(USER_GRID_DOUBLE_CLICK);
Dispatcher.get().dispatch(event);
}
});
}
if(type == DEASSIGN_GROUP_FROM_USER){
doDeassignGroupFromUser((AppEvent) event, new ChainCommand(event, "Nie można usunąc uzytkownika z grupy", null, "Usunieto uzytkownika z grupy") {
public void execute(AppEvent event) {
event.setType(USER_GRID_DOUBLE_CLICK);
Dispatcher.get().dispatch(event);
}
});
}
if(type == ASSIGN_ROLE_TO_GROUP){
doAssignRoleToGroup((AppEvent) event, new ChainCommand(event, "Nie można dodać roli do grupy", null, "Dodano rolę do grupy") {
public void execute(AppEvent event) {
event.setType(GROUP_GRID_DOUBLE_CLICK);
Dispatcher.get().dispatch(event);
}
});
}
if(type == DEASSIGN_ROLE_FROM_GROUP){
doDeassignRoleFromGroup((AppEvent) event, new ChainCommand(event, "Nie można usunąć roli z grupy", null, "Usunięto rolę z grupy") {
public void execute(AppEvent event) {
event.setType(GROUP_GRID_DOUBLE_CLICK);
Dispatcher.get().dispatch(event);
}
});
}
if(type == CREATE_NEW_USER){
doCreateNewUser(
(AppEvent) event);
}
if(type == SAVE_NEW_USER){
doSaveUser(
(AppEvent) event, new ChainCommand(event, "Nie można zapisać użytkownika w bazie", "USER", "Zapisano użytkownika w bazie") {
public void execute(AppEvent event) {
createEditUserView.closeNewUserSetp1Tab();
event.setType(USER_GRID_DOUBLE_CLICK);
Dispatcher.get().dispatch(event);
}
});
}
if(type == INIT_SECURITY_CONSOLE){
forwardToView(securityManagerView, event);
}
if(type == ASSIGN_PERMISSION_TO_USER){
doAssignPermissionToUser((AppEvent) event, null);
}
if(type == DEASSIGN_PERMISSION_FROM_USER){
doDeassignPermissionFromUser((AppEvent) event, null);
}
if(type == ASSIGN_PERMISSION_TO_GROUP){
doAssignPermissionToGroup((AppEvent) event, null);
}
if(type == DEASSIGN_PERMISSION_FROM_GROUP){
doDeassignPermissionFromGroup((AppEvent) event, null);
}
if(type == ASSIGN_PERMISSION_TO_ROLE){
doAssignPermissionToRole((AppEvent) event, null);
}
if(type == DEASSIGN_PERMISSION_FROM_ROLE){
doDeassignPermissionFromRole((AppEvent) event, null);
}
if(type == CREATE_NEW_GROUP){
doCreateNewGroup((AppEvent) event);
}
if(type == SAVE_NEW_GROUP){
doSaveGroup((AppEvent) event, new ChainCommand(event, "Nie zapisałem nowej grupy", "GROUP", "Zapisałem nową grupę") {
@Override
public void execute(AppEvent event) {
createEditGroupView.closeNewGroupTab();
event.setType(GROUP_GRID_DOUBLE_CLICK);
Dispatcher.get().dispatch(event);
}
});
}
if(type == CREATE_NEW_ROLE){
doCreateNewRole((AppEvent) event);
}
if(type == SAVE_NEW_ROLE){
doSaveRole((AppEvent) event, new ChainCommand(event, "Nie zapisałem nowej roli", "ROLE", "Zapisałem nową rolę") {
@Override
public void execute(AppEvent event) {
createEditRoleView.closeNewRoleTab();
event.setType(ROLE_GRID_DOUBLE_CLICK);
Dispatcher.get().dispatch(event);
}
});
}
if(type == SAVE_EXISTING_GROUP){
doUpdateGroup((AppEvent) event, new ChainCommand(event, "Nie zapisałem edytowanej grupy", "GROUP", "Zapisałem edytowaną grupę") {
@Override
public void execute(AppEvent event) {
event.setType(GROUP_GRID_DOUBLE_CLICK);
Dispatcher.get().dispatch(event);
}
});
}
if(type == SAVE_EXISTING_USER){
doUpdateUser(
(AppEvent) event, new ChainCommand(event, "Nie można zapisać użytkownika w bazie", "USER", "Zapisano użytkownika w bazie") {
public void execute(AppEvent event) {
event.setType(USER_GRID_DOUBLE_CLICK);
Dispatcher.get().dispatch(event);
}
});
}
if(type == SAVE_EXISTING_ROLE){
doUpdateRole((AppEvent) event, new ChainCommand(event, "Nie zapisałem roli", "ROLE", "Zapisałem rolę") {
@Override
public void execute(AppEvent event) {
event.setType(ROLE_GRID_DOUBLE_CLICK);
Dispatcher.get().dispatch(event);
}
});
}
}
private void doCreateNewRole(AppEvent event) {
forwardToView(createEditRoleView, event);
}
private void doSaveRole(AppEvent event, ChainCommand command) {
WsecRole role = (WsecRole) event.getData("ROLE");
RequestBuilder rb = securityManagerRpc.saveRole("caller", role, new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doUpdateRole(AppEvent event, ChainCommand command) {
WsecRole role = (WsecRole) event.getData("ROLE");
RequestBuilder rb = securityManagerRpc.updateRole("caller", role, new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doSaveGroup(AppEvent event, ChainCommand command) {
WsecGroup group = event.getData("GROUP");
RequestBuilder rb = securityManagerRpc.saveGroup("caller", group, new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doUpdateGroup(AppEvent event, ChainCommand command) {
WsecGroup group = event.getData("GROUP");
RequestBuilder rb = securityManagerRpc.updateGroup("caller", group, new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doCreateNewGroup(AppEvent event) {
forwardToView(createEditGroupView, event);
}
private void doSaveUser(AppEvent event, ChainCommand chainCommand) {
WsecUser user = event.getData("USER");
RequestBuilder rb = securityManagerRpc.saveUser("caller", user, new ChainCommandCallback(chainCommand));
RpcExecutor.execute(rb);
}
private void doUpdateUser(AppEvent event, ChainCommand chainCommand) {
WsecUser user = event.getData("USER");
RequestBuilder rb = securityManagerRpc.updateUser("caller", user, new ChainCommandCallback(chainCommand));
RpcExecutor.execute(rb);
}
private void doCreateNewUser(AppEvent event) {
forwardToView(createEditUserView, event);
}
private void doFetchUserById(final AppEvent event, final ChainCommand onSuccessCommand) {
// TODO: user
WsecUser user = event.getData("USER");
RequestBuilder rb = securityManagerRpc.fetchDomainObjectById("User", user.getId(), "pl.touk.wonderfulsecurity.beans.WsecUser", new ChainCommandCallback(onSuccessCommand));
RpcExecutor.execute(rb);
}
private void dofetchAvailableGroupsMarkAssignedToUser(final AppEvent event, final ChainCommand command) {
WsecUser user = event.getData("USER");
RequestBuilder rb = securityManagerRpc.fetchAllAvailableGroupsMarkAssignedToUser("Caller", user.getId(), new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void dofetchInheritedRolesForUser(final AppEvent event, final ChainCommand command) {
WsecUser user = event.getData("USER");
// TODO: caller
RequestBuilder rb = securityManagerRpc.fetchInheritedRolesForUser("Caller", user.getId(), new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doFetchAllAvailableAndAssignedRolesForUser(AppEvent event, ChainCommand chainCommand) {
// TODO: user
WsecUser user = event.getData("USER");
RequestBuilder rb = securityManagerRpc.fetchAllAvailableRolesMarkAssignedToUser("User", user.getId(), new ChainCommandCallback(chainCommand));
RpcExecutor.execute(rb);
}
private void doFetchGroupById(AppEvent event, final ChainCommand command) {
// TODO: caller
WsecGroup group = event.getData("GROUP");
RequestBuilder rb = securityManagerRpc.fetchDomainObjectById("Caller", group.getId(), "pl.touk.wonderfulsecurity.beans.WsecGroup", new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doFetchAllAvailableRolesMarkAssignedToGroup(final AppEvent event, final ChainCommand command) {
WsecGroup group = event.getData("GROUP");
RequestBuilder rb = securityManagerRpc.fetchAllAvailableRolesMarkAssignedToGroup("Caller", group.getId(), new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doStartEditingUser(AppEvent event) {
forwardToView(createEditUserView, event);
}
private void doStartEditingGroup(AppEvent event) {
forwardToView(createEditGroupView, event);
}
private void doStartEditingRole(AppEvent event) {
forwardToView(createEditRoleView, event);
}
private void doAssignGroupToUser(AppEvent event, ChainCommand command) {
WsecUser user = event.getData("USER");
WsecGroup group = event.getData("GROUP");
RequestBuilder rb = securityManagerRpc.assignGroupToUser("Caller", group.getId(), user.getId(), new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doAssignRoleToUser(AppEvent event, ChainCommand command) {
RoleView rw = event.getData("ROLE");
WsecUser user = event.getData("USER");
// TODO: caller
RequestBuilder rb = securityManagerRpc.assignRoleToUser("Caller", rw.getId(), user.getId(), new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doDeassignRoleFromUser(AppEvent event, ChainCommand command) {
// TODO: caller
RoleView rw = event.getData("ROLE");
WsecUser user = event.getData("USER");
RequestBuilder rb = securityManagerRpc.deassignRoleFromUser("Caller", rw.getId(), user.getId(), new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
// TODO: caller
private void doDeassignGroupFromUser(AppEvent event, ChainCommand command) {
WsecUser user = event.getData("USER");
WsecGroup group = event.getData("GROUP");
RequestBuilder rb = securityManagerRpc.deassignGroupFromUser("Caller", group.getId(), user.getId(), new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doAssignRoleToGroup(AppEvent event, ChainCommand chainCommand) {
RequestBuilder rb = securityManagerRpc.assignRoleToGroup("Caller", ((RoleView)event.getData()).getId(), ((RoleView)event.getData()).getAssignedToGroupId(),
new ChainCommandCallback(chainCommand));
RpcExecutor.execute(rb);
}
private void doDeassignRoleFromGroup(AppEvent event, ChainCommand chainCommand) {
// TODO: caller
RequestBuilder rb = securityManagerRpc.deassignRoleFromGroup("Caller", ((RoleView)event.getData()).getId(), ((RoleView)event.getData()).getAssignedToGroupId(),
new ChainCommandCallback(chainCommand));
RpcExecutor.execute(rb);
}
private void doFetchAllAvailablePermissionsMarkAssignedToUser(AppEvent event, ChainCommand chainCommand) {
WsecUser user = event.getData("USER");
RequestBuilder rb = securityManagerRpc.fetchAllAvailablePermissionsMarkAssignedToUser("User", user.getId(), new ChainCommandCallback(chainCommand));
RpcExecutor.execute(rb);
}
private void doAssignPermissionToUser(AppEvent event, ChainCommand command) {
// TODO: caller
RequestBuilder rb = securityManagerRpc.assignPermissionToUser("Caller", ((PermissionView)event.getData()).getId(), ((PermissionView)event.getData()).getAssignedToUserId(),
new OnlyLogCallback("Nie mozna przypisac uprawnienia do użytkownika", "Przypisano uprawnienie do użytkownika"));
RpcExecutor.execute(rb);
}
private void doDeassignPermissionFromUser(AppEvent event, ChainCommand command) {
// TODO: caller
RequestBuilder rb = securityManagerRpc.deassignPermissionFromUser("Caller", ((PermissionView)event.getData()).getId(), ((PermissionView)event.getData()).getAssignedToUserId(),
new OnlyLogCallback("Nie mozna usunąć uprawnienia użytkownika", "Usunięto uprawnienie użytkownika"));
RpcExecutor.execute(rb);
}
private void doFetchInheritedPermissionsFromGroupForUser(final AppEvent event, final ChainCommand command) {
// TODO: caller
WsecUser user = event.getData("USER");
RequestBuilder rb = securityManagerRpc.fetchInheritedPermissionsFromGroupForUser("Caller", user.getId(), new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doFetchInheritedPermissionsFromRoleForUser(final AppEvent event, final ChainCommand command) {
// TODO: caller
WsecUser user = event.getData("USER");
RequestBuilder rb = securityManagerRpc.fetchInheritedPermissionsFromRoleForUser("Caller", user.getId(), new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doFetchInheritedPermissionsFromInhetiredRolesForUser(AppEvent event, ChainCommand chainCommand) {
WsecUser user = event.getData("USER");
RequestBuilder rb = securityManagerRpc.fetchInheritedPermissionsFromInhetiredRolesForUser("Caller", user.getId(), new ChainCommandCallback(chainCommand));
RpcExecutor.execute(rb);
}
private void doFetchAllAvailablePermissionsMarkAssignedToGroup(final AppEvent event, final ChainCommand command) {
WsecGroup group = event.getData("GROUP");
RequestBuilder rb = securityManagerRpc.fetchAllAvailablePermissionsMarkAssignedToGroup("Caller", group.getId(), new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doAssignPermissionToGroup(AppEvent event, ChainCommand command) {
RequestBuilder rb = securityManagerRpc.assignPermissionToGroup("Caller", ((PermissionView)event.getData()).getId(), ((PermissionView)event.getData()).getAssignedToGroupId(),
new OnlyLogCallback("Nie mozna przypisac uprawnienia do grupy", "Przypisano uprawnieni do grupy"));
RpcExecutor.execute(rb);
}
private void doDeassignPermissionFromGroup(AppEvent event, ChainCommand command) {
// TODO: caller
RequestBuilder rb = securityManagerRpc.deassignPermissionFromGroup("Caller", ((PermissionView)event.getData()).getId(), ((PermissionView)event.getData()).getAssignedToGroupId(),
new OnlyLogCallback("Nie mozna usunąć uprawnienia z grupy", "Usunięto uprawnienie z grupy"));
RpcExecutor.execute(rb);
}
private void doFetchRoleById(AppEvent event, final ChainCommand command) {
// TODO: caller
WsecRole role = event.getData("ROLE");
RequestBuilder rb = securityManagerRpc.fetchDomainObjectById("Caller", role.getId(), "pl.touk.wonderfulsecurity.beans.WsecRole", new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doFetchAllAvailablePermissionsMarkAssignedToRole(final AppEvent event, final ChainCommand command) {
WsecRole role = event.getData("ROLE");
RequestBuilder rb = securityManagerRpc.fetchAllAvailablePermissionsMarkAssignedToRole("Caller", role.getId(), new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
private void doAssignPermissionToRole(AppEvent event, ChainCommand command) {
RequestBuilder rb = securityManagerRpc.assignPermissionToRole("Caller", ((PermissionView)event.getData()).getId(), ((PermissionView)event.getData()).getAssignedToRoleId(),
new OnlyLogCallback("Nie mozna przypisac uprawnienia do roli", "Przypisano uprawnieni do roli"));
RpcExecutor.execute(rb);
}
private void doDeassignPermissionFromRole(AppEvent event, ChainCommand command) {
// TODO: caller
RequestBuilder rb = securityManagerRpc.deassignPermissionFromRole("Caller", ((PermissionView)event.getData()).getId(), ((PermissionView)event.getData()).getAssignedToRoleId(),
new OnlyLogCallback("Nie mozna usunąć uprawnienia z roli", "Usunięto uprawnienie z roli"));
RpcExecutor.execute(rb);
}
private void doFetchInheritedPermissionsFromRoleForGroup(final AppEvent event, final ChainCommand command) {
// TODO: caller
WsecGroup group = event.getData("GROUP");
RequestBuilder rb = securityManagerRpc.fetchInheritedPermissionsFromRoleForGroup("Caller", group.getId(), new ChainCommandCallback(command));
RpcExecutor.execute(rb);
}
}