package com.psddev.cms.tool.page;
import java.io.IOException;
import javax.servlet.ServletException;
import com.psddev.cms.db.Workflow;
import com.psddev.cms.tool.PageServlet;
import com.psddev.cms.tool.ToolPageContext;
import com.psddev.dari.db.Query;
import com.psddev.dari.db.State;
import com.psddev.dari.util.RoutingFilter;
@RoutingFilter.Path(application = "cms", value = "/admin/workflows.jsp")
@SuppressWarnings("serial")
public class AdminWorkflows extends PageServlet {
@Override
protected String getPermissionId() {
return "area/admin/adminWorkflows";
}
@Override
protected void doService(ToolPageContext page) throws IOException, ServletException {
Object selected = page.findOrReserve(Workflow.class);
State selectedState = State.getInstance(selected);
if (page.tryStandardUpdate(selected)) {
return;
}
page.writeHeader();
page.writeStart("div", "class", "withLeftNav");
page.writeStart("div", "class", "leftNav");
page.writeStart("div", "class", "widget");
page.writeStart("h1", "class", "icon icon-object-workflow");
page.writeHtml(page.localize(AdminWorkflows.class, "title"));
page.writeEnd();
page.writeStart("ul", "class", "links");
page.writeStart("li", "class", "new " + (selectedState.isNew() ? "selected" : ""));
page.writeStart("a", "href", page.url(null));
page.writeHtml(page.localize(Workflow.class, "action.newType"));
page.writeEnd();
page.writeEnd();
for (Workflow workflow : Query
.from(Workflow.class)
.sortAscending("name")
.selectAll()) {
page.writeStart("li", "class", workflow.equals(selected) ? "selected" : null);
page.writeStart("a", "href", page.objectUrl(null, workflow));
page.writeObjectLabel(workflow);
page.writeEnd();
page.writeEnd();
}
page.writeEnd();
page.writeEnd();
page.writeEnd();
page.writeStart("div", "class", "main");
page.writeStart("div", "class", "widget");
page.writeStandardForm(selected);
page.writeEnd();
page.writeEnd();
page.writeEnd();
page.writeFooter();
}
}