package com.psddev.cms.tool.page; import java.io.IOException; import java.util.UUID; import javax.servlet.ServletException; import com.psddev.cms.db.ContentSection; import com.psddev.cms.db.Page; import com.psddev.cms.db.Section; 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 = "/content/editableSections.jsp") @SuppressWarnings("serial") public class ContentSections extends PageServlet { @Override protected String getPermissionId() { return null; } @Override @SuppressWarnings("deprecation") protected void doService(final ToolPageContext page) throws IOException, ServletException { Page mainObject = Query.findById(Page.class, page.param(UUID.class, "id")); page.writeHeader(); page.writeStart("div", "class", "widget"); page.writeStart("h1", "class", "icon icon-object-template").writeHtml("Editable Sections").writeEnd(); page.writeStart("ul", "class", "links"); page.writeStart("li"); page.writeStart("a", "href", page.returnUrl("sectionId", null), "target", "_top"); page.writeHtml("Layout"); page.writeEnd(); page.writeEnd(); if (mainObject != null) { for (Section section : mainObject.findSections()) { if (section instanceof ContentSection) { State content = State.getInstance(((ContentSection) section).getContent()); if (content != null) { page.writeStart("li"); page.writeStart("a", "href", page.returnUrl("sectionId", section.getId(), "contentId", content.getId()), "target", "_top"); page.writeHtml("Section: "); page.writeHtml(page.getObjectLabelOrDefault(section, "Unnamed")); page.writeHtml(" ("); page.writeHtml(page.getTypeLabel(content)); page.writeHtml(")"); page.writeEnd(); page.writeEnd(); } } } } page.writeEnd(); page.writeEnd(); page.writeFooter(); } }