package scrum.client.issues; import ilarkesto.core.scope.Scope; import scrum.client.workspace.ProjectWorkspaceWidgets; public class AcceptIssueAsIdeaAction extends GAcceptIssueAsIdeaAction { public AcceptIssueAsIdeaAction(scrum.client.issues.Issue issue) { super(issue); } @Override public String getLabel() { return "Accept as idea"; } @Override public String getTooltip() { return "Accept this issue as an idea for future stories."; } @Override public boolean isPermitted() { if (!issue.getProject().isProductOwner(getCurrentUser())) return false; return true; } @Override public boolean isExecutable() { if (!issue.isOpen()) return false; return true; } @Override protected void onExecute() { issue.acceptAsIdea(); Scope.get().getComponent(ProjectWorkspaceWidgets.class).showIssueList(issue); addUndo(new Undo()); } class Undo extends ALocalUndo { @Override public String getLabel() { return "Undo Accept idea " + issue.getReference() + " " + issue.getLabel(); } @Override protected void onUndo() { issue.reopen(); } } }