private List<TransitionBean> createTransitionBeans(final Issue issue) { final List<ActionDescriptor> sortedAvailableActions = issueWorkflowManager.getSortedAvailableActions(issue, authContext.getUser()); return ImmutableList.copyOf(transform(sortedAvailableActions, new Function<ActionDescriptor, TransitionBean>() { @Override public TransitionBean apply(final ActionDescriptor action) { return beanBuilderFactory.newTransitionMetaBeanBuilder() .issue(issue) .action(action) .build(); } })); }
List<ActionDescriptor> actions = issueWorkflowManager.getSortedAvailableActions(issue, authContext.getUser());
/** * Get available Workflow transitions for the current issue/current user * * @return a list containing all available actions for an issue. */ private List<WebItem> getAvailableActions(final Issue issue) { final VelocityRequestContext requestContext = requestContextFactory.getJiraVelocityRequestContext(); final List<ActionDescriptor> actions = issueWorkflowManager.getSortedAvailableActions(issue, authenticationContext.getUser()); final List<WebItem> returnList = new ArrayList<WebItem>(actions.size()); int weight = 0; for (final ActionDescriptor action : actions) { final String url = requestContext.getBaseUrl() + "/secure/WorkflowUIDispatcher.jspa?" + "id=" + issue.getId() + "" + "&action=" + action.getId() + "&atl_token=" + getXsrfToken(); final String transitionDisplayName = getWorkflowTransitionDisplayName(action); final String description = getWorkflowTransitionDescription(action); returnList.add(new WebFragmentBuilder(weight += 10). styleClass("issueaction-workflow-transition"). id("action_id_" + action.getId()). label(transitionDisplayName). title((StringUtils.isBlank(description) ? null : transitionDisplayName + " - " + description)). webItem("transitions-all"). url(url).build()); } return returnList; }