public boolean canPerformOnAnyIssue(final BulkEditBean bulkEditBean, final ApplicationUser remoteUser) { final Collection<Issue> selectedIssues = bulkEditBean.getSelectedIssues(); for (final Issue issue : selectedIssues) { final Collection<ActionDescriptor> availableActions = issueWorkflowManager.getAvailableActions(issue, remoteUser); if (!availableActions.isEmpty()) { return true; } } return false; }
/** * Get available Workflow transitions for the current issue/current user * * @return a list containing all available actions for an issue. */ private List<AvailableAction> getAvailableActions() { Collection<ActionDescriptor> availableActions = issueWorkflowManager.getAvailableActions(getIssue(), authContext.getUser()); Map<Integer, ActionDescriptor> actions = new HashMap<Integer, ActionDescriptor>(); for (ActionDescriptor availableAction : availableActions) { actions.put(availableAction.getId(), availableAction); } final List<AvailableAction> returnList = new ArrayList<AvailableAction>(actions.size()); for (Map.Entry<Integer, ActionDescriptor> entry : actions.entrySet()) { returnList.add(new AvailableAction(entry.getKey().toString(), getWorkflowTransitionDisplayName(entry.getValue()), getWorkflowTransitionDescription(entry.getValue()))); } return returnList; }
try Collection<ActionDescriptor> descriptors = issueWorkflowManager.getAvailableActions(issueRetriever.retrieveIssue(issueKey, user).getIssue()); if (descriptors != null && !descriptors.isEmpty())
issueWorkflowManager.getAvailableActions(issue, applicationUser); if (!availableActions.contains(actionDescriptor))
issueWorkflowManager.getAvailableActions(issue, getLoggedInUser());