private void userSelectionChanged() { List<ProxyPentahoUser> selectedUsers = usersList.getSelectedObjects(); if (selectedUsers.size() == 1) { userDetailsPanel.setUser(selectedUsers.get(0)); List<ProxyPentahoRole> roleList = Arrays.asList(UserAndRoleMgmtService.instance().getRoles(selectedUsers.get(0))); assignedRolesList.setObjects(roleList); } else { userDetailsPanel.setUser(null); List<ProxyPentahoRole> emptyRoleList = Collections.emptyList(); assignedRolesList.setObjects(emptyRoleList); } userDetailsPanel.setEnabled(selectedUsers.size() == 1); updateUserBtn.setEnabled(selectedUsers.size() == 1); if (selectedUsers.size() > 0) { deleteUserBtn.setEnabled(true); } else { deleteUserBtn.setEnabled(false); } if (selectedUsers.size() == 1) { addRoleAssignmentBtn.setEnabled(true); } else { addRoleAssignmentBtn.setEnabled(false); } userDetailsPanel.getUserNameTextBox().setEnabled(false); assignedRoleSelectionChanged(); }
private void deleteSelectedUsers() { final List<ProxyPentahoUser> selectedUsers = usersList.getSelectedObjects(); if (selectedUsers.size() > 0) { AsyncCallback<Boolean> callback = new AsyncCallback<Boolean>() { public void onSuccess(Boolean result) { usersList.removeObjects(selectedUsers); userSelectionChanged(); } public void onFailure(Throwable caught) { MessageDialogBox messageDialog = new MessageDialogBox( ExceptionParser.getErrorHeader(caught.getMessage()), ExceptionParser.getErrorMessage( caught.getMessage(), Messages.getString("errorDeletingUsers")), false, false, true); //$NON-NLS-1$ messageDialog.center(); } }; UserAndRoleMgmtService.instance() .deleteUsers(selectedUsers.toArray(new ProxyPentahoUser[0]), callback); } }
private void unassignSelectedRoles() { List<ProxyPentahoUser> selectedUsers = usersList.getSelectedObjects(); if (selectedUsers.size() == 1) { ArrayList<ProxyPentahoRole> assignedRoles = new ArrayList<ProxyPentahoRole>(); assignedRoles.addAll( Arrays.asList(UserAndRoleMgmtService.instance().getRoles(selectedUsers.get(0)))); final List<ProxyPentahoRole> rolesToUnassign = assignedRolesList.getSelectedObjects(); assignedRoles.removeAll(rolesToUnassign); AsyncCallback<Object> callback = new AsyncCallback<Object>() { public void onSuccess(Object result) { assignedRolesList.removeObjects(rolesToUnassign); } public void onFailure(Throwable caught) { MessageDialogBox messageDialog = new MessageDialogBox( ExceptionParser.getErrorHeader(caught.getMessage()), ExceptionParser.getErrorMessage( caught.getMessage(), Messages.getString("errorUnassigningRoles")), false, false, true); //$NON-NLS-1$ messageDialog.center(); } }; UserAndRoleMgmtService.instance() .setRoles( selectedUsers.get(0), (ProxyPentahoRole[]) assignedRoles.toArray(new ProxyPentahoRole[0]), callback); } }
public void onClick(Widget sender) { if (sender == updateUserBtn) { updateUserDetails(sender); } else if (sender == deleteUserBtn) { if (usersList.getSelectedObjects().size() > 0) { confirmDeleteUsersDialog.center(); } } else if (sender == addUserBtn) { addNewUser(); } else if (sender == deleteRoleAssignmentBtn) { if (assignedRolesList.getSelectedObjects().size() > 0) { confirmRemoveRoleAssignmentDialog.center(); } } else if (sender == addRoleAssignmentBtn) { List<ProxyPentahoUser> selectedUsers = usersList.getSelectedObjects(); if (selectedUsers.size() == 1) { modifyRoleAssignments(selectedUsers.get(0)); } } }