package com.psddev.cms.tool.search; import java.io.IOException; import java.util.Map; import com.psddev.cms.db.WorkStream; import com.psddev.cms.tool.Search; import com.psddev.cms.tool.SearchResultAction; import com.psddev.cms.tool.SearchResultSelection; import com.psddev.cms.tool.ToolPageContext; import com.psddev.cms.tool.page.CreateWorkStream; import com.psddev.dari.util.ObjectUtils; public class WorkStreamSearchResultAction implements SearchResultAction { @Override public void writeHtml( ToolPageContext page, Search search, SearchResultSelection selection) throws IOException { if (selection != null && selection.createItemsQuery().hasMoreThan(0)) { page.writeStart("div", "class", "searchResult-action-simple"); page.writeStart("a", "class", "button", "href", page.cmsUrl(CreateWorkStream.PATH, "query", ObjectUtils.toJson(selection.createItemsQuery().getState().getSimpleValues()), "selectionId", selection.getId()), "target", "newWorkStream"); page.writeHtml(page.localize(WorkStream.class, "action.newType")); page.writeEnd(); page.writeEnd(); return; } boolean hasMissing = false; for (Map<String, String> value : search.getFieldFilters().values()) { if (ObjectUtils.to(boolean.class, value.get("m"))) { hasMissing = true; break; } } page.writeStart("div", "class", "searchResult-action-simple"); page.writeStart("a", "class", "button", "href", page.cmsUrl(CreateWorkStream.PATH, "search", ObjectUtils.toJson(search.getState().getSimpleValues()), "incompleteIfMatching", hasMissing), "target", "newWorkStream"); page.writeHtml(page.localize(WorkStream.class, "action.newType")); page.writeEnd(); page.writeEnd(); } }