package scrum.client.files; import ilarkesto.gwt.client.Gwt; import scrum.client.common.TooltipBuilder; public class DeleteFileAction extends GDeleteFileAction { public DeleteFileAction(scrum.client.files.File file) { super(file); } @Override public String getLabel() { return "Delete"; } @Override public String getTooltip() { TooltipBuilder tb = new TooltipBuilder("Delete this File permanently."); if (!file.getProject().isScrumTeamMember(getCurrentUser())) tb.addRemark(TooltipBuilder.NOT_SCRUMTEAM); return tb.getTooltip(); } @Override public boolean isExecutable() { return true; } @Override public boolean isPermitted() { if (!getCurrentProject().isScrumTeamMember(getCurrentUser())) return false; return true; } @Override protected void onExecute() { if (!Gwt.confirm("Deleting a file is unrecoverable. Delete it anyway?")) return; getCurrentProject().deleteFile(file); } }