package scrum.client.issues; import ilarkesto.core.scope.Scope; import scrum.client.workspace.ProjectWorkspaceWidgets; public class CreateIssueAction extends GCreateIssueAction { @Override public String getLabel() { return "Create Issue"; } @Override public boolean isExecutable() { return true; } @Override protected void onExecute() { Issue issue = getCurrentProject().createNewIssue(); Scope.get().getComponent(ProjectWorkspaceWidgets.class).showIssueList(issue); addUndo(new Undo(issue)); } class Undo extends ALocalUndo { private Issue issue; public Undo(Issue issue) { this.issue = issue; } @Override public String getLabel() { return "Undo Create " + issue.getReference() + " " + issue.getLabel(); } @Override protected void onUndo() { issue.getProject().deleteIssue(issue); } } }