package scrum.client.project;
import ilarkesto.core.scope.Scope;
import scrum.client.common.TooltipBuilder;
import scrum.client.workspace.ProjectWorkspaceWidgets;
public class CreateRequirementAction extends GCreateRequirementAction {
@Override
public String getLabel() {
return "Create Story";
}
@Override
public boolean isExecutable() {
return true;
}
@Override
public String getTooltip() {
TooltipBuilder tb = new TooltipBuilder("Create a new Story.");
if (!getCurrentProject().isProductOwner(getCurrentUser())) tb.addRemark(TooltipBuilder.NOT_PRODUCT_OWNER);
return tb.getTooltip();
}
@Override
public boolean isPermitted() {
if (!getCurrentProject().isProductOwner(getCurrentUser())) return false;
return true;
}
@Override
protected void onExecute() {
Requirement requirement = getCurrentProject().createNewRequirement();
Scope.get().getComponent(ProjectWorkspaceWidgets.class).showProductBacklog(requirement);
// addUndo(new Undo(requirement));
}
// class Undo extends ALocalUndo {
//
// private Requirement requirement;
//
// public Undo(Requirement requirement) {
// this.requirement = requirement;
// }
//
// @Override
// public String getLabel() {
// return "Create " + requirement.getReferenceAndLabel();
// }
//
// @Override
// protected void onUndo() {
// requirement.getProject().deleteRequirement(requirement);
// }
//
// }
}